From 754fd383013bc8cf5a927a91198d10393a5bef64 Mon Sep 17 00:00:00 2001
From: Tim Olson <>
Date: Mon, 6 Nov 2023 23:49:08 -0400
Subject: [PATCH] order status subscriptions
---
src/components/Orders.vue | 27 +++++++++++++++++++++++++++
src/layouts/default/AppBar.vue | 3 ++-
src/router/index.js | 8 ++++++++
src/socket.js | 26 +++++++++++++++++++++++---
src/views/OrdersView.vue | 4 ++--
src/views/TwapView.vue | 11 +++++++++++
6 files changed, 73 insertions(+), 6 deletions(-)
create mode 100644 src/components/Orders.vue
create mode 100644 src/views/TwapView.vue
diff --git a/src/components/Orders.vue b/src/components/Orders.vue
new file mode 100644
index 0000000..da757f2
--- /dev/null
+++ b/src/components/Orders.vue
@@ -0,0 +1,27 @@
+
+
+
+
+ |
+
+
+
+
+ |
+
+
+
+
+
+
+
+
diff --git a/src/layouts/default/AppBar.vue b/src/layouts/default/AppBar.vue
index d379ea6..18a1601 100644
--- a/src/layouts/default/AppBar.vue
+++ b/src/layouts/default/AppBar.vue
@@ -9,7 +9,8 @@
-
+
+
diff --git a/src/router/index.js b/src/router/index.js
index 6e4dbc8..fb534b4 100644
--- a/src/router/index.js
+++ b/src/router/index.js
@@ -22,6 +22,14 @@ const routes = [
// which is lazy-loaded when the route is visited.
component: () => import(/* webpackChunkName: "ordersview" */ '@/views/OrdersView.vue'),
},
+ {
+ path: '/twap',
+ name: 'TWAP',
+ // route level code-splitting
+ // this generates a separate chunk (about.[hash].js) for this route
+ // which is lazy-loaded when the route is visited.
+ component: () => import(/* webpackChunkName: "ordersview" */ '@/views/TwapView.vue'),
+ },
{
path: '/vault',
name: 'Vault',
diff --git a/src/socket.js b/src/socket.js
index 30a65f5..d1e10e2 100644
--- a/src/socket.js
+++ b/src/socket.js
@@ -24,8 +24,10 @@ socket.on('welcome', async (data) => {
onChainChanged(network.chainId)
})
-socket.on('p', async (pool, price) => {
+socket.on('p', async (chainId, pool, price) => {
const s = useStore()
+ if( s.chainId !== chainId )
+ return
const prices = {}
prices[pool] = price
console.log('pool price', pool, price)
@@ -34,8 +36,10 @@ socket.on('p', async (pool, price) => {
s.poolPrices = poolPrices
})
-socket.on('vb', async (vault, balances) => {
+socket.on('vb', async (chainId, vault, balances) => {
const s = useStore()
+ if( s.chainId !== chainId )
+ return
console.log('vb', vault, balances)
const vb = {}
vb[vault] = JSON.parse(balances)
@@ -43,8 +47,10 @@ socket.on('vb', async (vault, balances) => {
console.log('vault balances', vault, vb)
})
-socket.on('vaults', (vaults)=>{
+socket.on('vaults', (chainId, owner, vaults)=>{
const s = useStore()
+ if( s.chainId !== chainId || s.account !== owner )
+ return
console.log('vaults', vaults)
s.vaults = vaults
if( vaults.length ) {
@@ -52,3 +58,17 @@ socket.on('vaults', (vaults)=>{
flushOrders(vault)
}
})
+
+socket.on( 'o', (chainId, vault, orderIndex, status)=>{
+ const s = useStore()
+ if( s.chainId !== chainId )
+ return
+ console.log('o', chainId, vault, orderIndex, status)
+})
+
+socket.on( 'of', (chainId, vault, orderIndex, fills)=>{
+ const s = useStore()
+ if( s.chainId !== chainId )
+ return
+ console.log('of', chainId, vault, orderIndex, fills)
+})
diff --git a/src/views/OrdersView.vue b/src/views/OrdersView.vue
index 253c6aa..62fed4c 100644
--- a/src/views/OrdersView.vue
+++ b/src/views/OrdersView.vue
@@ -1,9 +1,9 @@
-
+