USD marks

This commit is contained in:
tim
2025-03-29 15:27:13 -04:00
parent a6bce1613b
commit 0392e70b78
5 changed files with 18 additions and 1 deletions

View File

@@ -56,6 +56,7 @@ export const useWalletStore = defineStore('wallet', ()=>{
export function onChainChanged(chainId) {
console.log('onChainChanged', chainId)
chainId = Number(chainId)
socket.emit('chain', chainId)
const store = useStore()
const ws = useWalletStore()
if( chainId !== ws.chainId ) {

View File

@@ -1,3 +1,5 @@
export const NATIVE_TOKEN = '0x0000000000000000000000000000000000000001'
export function mixin(child, ...parents) {
// child is modified directly, assigning fields from parents that are missing in child. parents fields are
// assigned by parents order, highest priority first

View File

@@ -59,6 +59,7 @@ import Color from "color";
import OrderAmount from "@/components/chart/OrderAmount.vue";
import {MAX_FRACTION, newTranche} from "@/blockchain/orderlib.js";
import {getFeeSchedule} from "@/fees.js";
import {NATIVE_TOKEN} from "@/common.js";
const s = useStore()
const co = useChartOrderStore()
@@ -126,7 +127,12 @@ const partsGasHint = computed(()=>{
schedFetcher.invoke(s.vault)
return null
}
return toPrecision(Number(sched.value.gasFee) * parts.value / 1e18) + ' ETH gas fee'
const ethFee = Number(sched.value.gasFee) * parts.value / 1e18;
const mark = s.markPrice(NATIVE_TOKEN)
if (mark)
return '$' + Number(ethFee*mark).toFixed(2) + ' gas fee'
else
return toPrecision(ethFee) + ' ETH gas fee'
})
const intervalIsTotal = ref(false)

View File

@@ -73,6 +73,11 @@ socket.on('vaults', (chainId, owner, vaults)=>{
}
})
socket.on('mark.usd', (chainId, token, value)=>{
const s = useStore()
s.markPrices[`${chainId}|${token}`] = Number(value)
// console.log('mark.usd', token, value)
})
function handleOrderStatus(chainId, vault, orderIndex, status) {
const s = useStore()

View File

@@ -107,6 +107,8 @@ export const useStore = defineStore('app', ()=> {
const balances = computed( () => vault.value === null ? {} : vaultBalances.value[vault.value] || {} )
const vaultOrders = computed(()=> vault.value === null || (!vault.value in orders.value) ? {} : orders.value[vault.value] ? orders.value[vault.value] : [] )
const tokens = computed(getTokens)
const markPrices = ref({}) // key: `${chainId}|${tokenAddr}` value: USD value
function markPrice(token) { return markPrices.value[`${chainId.value}|${token}`] }
const factory = computed(() => !chain.value ? null : chain.value.factory)
const helper = computed(() => {console.log('chain helper', chain.value); return !chain.value ? null : chain.value.helper})
const mockenv = computed(() => !chain.value ? null : chain.value.mockenv)
@@ -147,6 +149,7 @@ export const useStore = defineStore('app', ()=> {
removeTransactionSender, error, closeError, addToken, clock, balances,
approved, regionApproved, walletApproved,
getBalance, creatingVault,
markPrices, markPrice,
}
})