diff --git a/src/blockchain/orderlib.js b/src/blockchain/orderlib.js
index fa18814..18d33ba 100644
--- a/src/blockchain/orderlib.js
+++ b/src/blockchain/orderlib.js
@@ -117,7 +117,7 @@ export function isOpen(state) {
return state >= 1 && state < 3
}
-export function parseOrderStatus(status) {
+export function parseOrderStatus(chainId, status) {
let [
order,
fillFeeBP,
@@ -135,7 +135,7 @@ export function parseOrderStatus(status) {
trancheFilledIn = trancheFilledIn.map((f)=>BigInt(f))
trancheFilledOut = trancheFilledOut.map((f)=>BigInt(f))
return {
- order, fillFeeBP, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut,
+ chainId, order, fillFeeBP, state, start, ocoGroup, filledIn, filledOut, trancheFilledIn, trancheFilledOut,
}
}
diff --git a/src/blockchain/wallet.js b/src/blockchain/wallet.js
index 0194421..0eedf98 100644
--- a/src/blockchain/wallet.js
+++ b/src/blockchain/wallet.js
@@ -6,8 +6,7 @@ import {vaultAbi} from "@/blockchain/abi.js";
import {SingletonCoroutine, uuid} from "@/misc.js";
import {defineStore} from "pinia";
import {ref} from "vue";
-import {metadata, metadataMap} from "@/version.js";
-import {OrderState} from "@/blockchain/orderlib.js";
+import {metadataMap} from "@/version.js";
export const useWalletStore = defineStore('wallet', ()=>{
@@ -36,13 +35,16 @@ export function onChainChanged(chainId) {
const store = useStore()
const ws = useWalletStore()
if( chainId !== ws.chainId ) {
- console.log('chain changed', chainId)
+ console.log('wallet chain changed', chainId)
ws.chainId = chainId
if (chainId.toString() in metadataMap) {
console.log('app chain changed', chainId)
store.chainId = chainId
store.account = null
}
+ else {
+ console.log('app chain NOT changed')
+ }
}
}
@@ -124,7 +126,7 @@ const errorHandlingProxy = {
export async function connectProvider(chainId) {
- console.log('connecting provider to chainId', chainId)
+ console.log('connectProvider', chainId)
try {
return new ethers.BrowserProvider(window.ethereum, chainId)
}
@@ -143,6 +145,7 @@ export async function connectWallet(chainId) {
const p = await connectProvider(chainId)
if (p!==null) {
try {
+ console.log('getSigner')
return await p.getSigner();
}
catch (e) {
@@ -195,7 +198,12 @@ async function _discoverVaults(owner) {
s.vaults = []
return
}
- const vault = new ethers.Contract(addr, vaultAbi, s.provider)
+ const provider = s.provider;
+ if (!provider) {
+ console.log('No provider')
+ return // do not change whatever was already found
+ }
+ const vault = new ethers.Contract(addr, vaultAbi, provider)
let version = -1
try {
version = await vault.version();
@@ -211,6 +219,7 @@ async function _discoverVaults(owner) {
console.log(`no vault ${num} at ${addr}`)
else
console.error(`discoverVaults failed`, e)
+ return // do not change what was already found todo is this correct?
}
if( s.account === owner ) { // double-check the account since it could have changed during our await
s.vaults = result
diff --git a/src/components/Faucet.vue b/src/components/Faucet.vue
index 5093727..8999137 100644
--- a/src/components/Faucet.vue
+++ b/src/components/Faucet.vue
@@ -28,6 +28,8 @@ import Btn from "@/components/Btn.vue";
import {socket} from "@/socket.js";
import {metadata} from "@/version.js";
+const DISABLED_DURATION = 60_000;
+
const props = defineProps({
text: {default:'GIB!'},
})
@@ -78,7 +80,7 @@ function gib() {
if (Object.keys(tokenAmounts).length>0) {
disabled.value = true
socket.emit('gib', s.chainId, s.account, s.vault, tokenAmounts )
- setTimeout(()=>disabled.value=false, 60_000)
+ setTimeout(()=>disabled.value=false, DISABLED_DURATION)
}
}
}
diff --git a/src/components/Pulse.vue b/src/components/Pulse.vue
index ef7283f..4e58711 100644
--- a/src/components/Pulse.vue
+++ b/src/components/Pulse.vue
@@ -14,20 +14,15 @@ let lastValue = props.touch
function pulse() {
if (props.touch === lastValue) return
- console.log(`value changed from ${lastValue} to ${props.touch}`)
lastValue = props.touch
const e = element.value;
- console.log('element', e)
if (!e.classList.contains('pulse')) {
// add class for the first time
- console.log('first pulse')
e.classList.add('pulse')
}
else {
// restart
- console.log('reset pulse')
e.getAnimations().forEach((a) => {
- console.log('animation', a)
a.cancel();
a.play();
})
diff --git a/src/components/Status.vue b/src/components/Status.vue
index 939734a..18da8ee 100644
--- a/src/components/Status.vue
+++ b/src/components/Status.vue
@@ -4,29 +4,37 @@
item-selectable="selectable" :show-select="false" :show-expand="true">
{{ dateString(value) }}
-
-
-
-
-
+
+
+
+
+
+
+
/
-
-
+
+
+
+
-
-
-
-
-
+
+
+
+
+
+
+
/
-
-
+
+
+
+
@@ -94,14 +102,14 @@
-
+
/
-
+
@@ -209,6 +217,7 @@ const orders = computed(()=>{
for (const pend of ws.pendingOrders) {
console.log('pended order', pend)
result.push({
+ chainId: pend.chainId,
id: pend.id,
start: pend.placementTime,
order: pend.order,
@@ -222,19 +231,23 @@ const orders = computed(()=>{
const vault = vaultAddr.value;
if( vault in s.orders ) {
for (const [index, status] of Object.entries(s.orders[vault]).reverse()) {
- const st = {...status}
- const o = {...st.order}
+ // const st = {...status}
+ // const o = {...st.order}
+ const st = status
+ const o = st.order
st.order = o
console.log('order status', st)
result.push(st)
st.id = `${vault}|${index}`
st.index = parseInt(index)
+/*
o.tranches = o.tranches.map((tranche)=>{
const t = {...tranche}
// t.startTime = t.startTimeIsRelative ? intervalString(t.startTime) : dateString(t.startTime)
// t.endTime = t.endTimeIsRelative ? intervalString(t.endTime) : dateString(t.endTime)
return t
})
+*/
const fmtX18 = {decimals: 18, width: 256, signed: false};
st.filled = o.amountIsInput ? st.filledIn : st.filledOut
if(BigInt(st.filled) === 0n)
diff --git a/src/components/TokenAmount.vue b/src/components/TokenAmount.vue
index 7b97e76..a32de9b 100644
--- a/src/components/TokenAmount.vue
+++ b/src/components/TokenAmount.vue
@@ -3,14 +3,12 @@