Skip to content

Commit 06553fd

Browse files
committed
Merge branch 'add_vanilla'
2 parents bc772d5 + c516f69 commit 06553fd

16 files changed

Lines changed: 1129 additions & 585 deletions

File tree

frontend/src/app.rs

Lines changed: 52 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,16 @@
11
use dioxus::prelude::*;
2+
use std::collections::BTreeMap;
23
use wasm_bindgen::JsValue;
34
use wasm_bindgen_futures::spawn_local;
45
use serde_wasm_bindgen::from_value;
56
use wasm_bindgen::closure::Closure;
7+
use crate::metamask::uniswap_v3::V3PoolState;
68
use crate::metamask::{connect_metamask, MetamaskInfo, js_on_chain_changed, js_on_accounts_changed};
7-
use crate::vanillaswap::swap_v2::Swap;
9+
use crate::vanillaswap::swap_v2::PoolV2Swap;
10+
use crate::vanillaswap::swap_v3::PoolV3Swap;
11+
use crate::vanillaswap::v3::{use_sync_v3_pools, V3PoolInfo, UniswapV3PoolContext};
12+
use crate::vanillaswap::v2::{use_sync_v2_pools, UniswapV2PoolContext};
13+
use crate::metamask::uniswap_v2::V2PairInfo;
814
use crate::wrapper::Wrapper;
915
use crate::vanillaswap::pools_v2::PoolV2Pairs;
1016
use crate::vanillaswap::pools_v3::PoolV3Pairs;
@@ -16,6 +22,7 @@ enum Tab {
1622
Wrap,
1723
SwapV2,
1824
PoolV2,
25+
SwapV3,
1926
PoolV3,
2027
}
2128

@@ -76,6 +83,41 @@ pub fn App() -> Element {
7683

7784
init_metamask_listeners();
7885

86+
// uniswap v3
87+
{
88+
let pairs = use_signal(|| Vec::<V3PoolInfo>::new());
89+
let pool_state = use_signal(|| BTreeMap::new());
90+
let is_loading = use_signal(|| false);
91+
let error = use_signal(|| None);
92+
let router_address = use_signal(|| "".to_string());
93+
94+
use_context_provider(|| UniswapV3PoolContext {
95+
pairs,
96+
pool_state,
97+
router_address,
98+
is_loading,
99+
error,
100+
});
101+
102+
use_sync_v3_pools();
103+
}
104+
105+
{
106+
let is_loading = use_signal(|| false);
107+
let pairs = use_signal(|| Vec::<V2PairInfo>::new());
108+
let error = use_signal(|| None::<String>);
109+
let router_address = use_signal(|| "".to_string());
110+
use_context_provider(|| UniswapV2PoolContext {
111+
pairs,
112+
router_address,
113+
is_loading,
114+
error,
115+
});
116+
117+
use_sync_v2_pools();
118+
}
119+
120+
79121
let on_connect = move |_| {
80122
let mut wallet = use_wallet();
81123
spawn_local(
@@ -135,12 +177,19 @@ pub fn App() -> Element {
135177
"PoolsV2"
136178
}
137179

180+
button {
181+
class: button_class(Tab::SwapV3, active_tab()),
182+
onclick: move |_| active_tab.set(Tab::SwapV3),
183+
"SwapV3"
184+
}
185+
138186
button {
139187
class: button_class(Tab::PoolV3, active_tab()),
140188
onclick: move |_| active_tab.set(Tab::PoolV3),
141189
"PoolsV3"
142190
}
143191

192+
144193
}
145194

146195
if !short.is_empty() {
@@ -165,8 +214,9 @@ pub fn App() -> Element {
165214

166215
match *active_tab.read() {
167216
Tab::Wrap => rsx!(Wrapper{}),
168-
Tab::SwapV2 => rsx!(Swap{}),
217+
Tab::SwapV2 => rsx!(PoolV2Swap{}),
169218
Tab::PoolV2 => rsx!(PoolV2Pairs{}),
219+
Tab::SwapV3 => rsx!(PoolV3Swap{}),
170220
Tab::PoolV3 => rsx!(PoolV3Pairs{}),
171221
}
172222
}

0 commit comments

Comments
 (0)