buy/sell color change fix

This commit is contained in:
tim
2024-11-04 14:39:43 -04:00
parent 61101fcf0a
commit cfcba95445
5 changed files with 31 additions and 18 deletions

View File

@@ -61,21 +61,28 @@ export async function addExtraToken(chainId, addr) {
} }
else { else {
if( provider===null ) { if( provider===null ) {
console.log('warning: token lookup cancelled due to null provider', addr) console.warn('warning: token lookup cancelled due to null provider', addr)
resolve(null) resolve(null)
} }
else { else {
const token = await newContract(addr, 'IERC20Metadata', provider) for( let tries=1; tries<=5; tries++ ) {
Promise.all( [token.name(), token.symbol(), token.decimals()] ).then((name,symbol,decimals)=>{ try {
info = { const token = await newContract(addr, 'IERC20Metadata', provider)
a: addr, const [name, symbol, decimals] = await Promise.all([token.name(), token.symbol(), token.decimals()])
n: name, info = {
s: symbol, a: addr,
d: decimals, n: name,
s: symbol,
d: decimals,
}
s.addToken(chainId, info)
resolve(info)
break
} }
s.addToken(chainId, info) catch (e) {
resolve(info) console.warn(`Could not lookup token ${addr}`, e)
}) }
}
} }
} }
}) })

View File

@@ -75,8 +75,7 @@ import {useTheme} from "vuetify";
import RowBar from "@/components/chart/RowBar.vue"; import RowBar from "@/components/chart/RowBar.vue";
import ColorBand from "@/components/chart/ColorBand.vue"; import ColorBand from "@/components/chart/ColorBand.vue";
import Color from "color"; import Color from "color";
import {Exchange, newOrder} from "@/blockchain/orderlib.js"; import {newOrder} from "@/blockchain/orderlib.js";
import {lookupSymbol} from "@/charts/datafeed.js";
const props = defineProps(['order']) const props = defineProps(['order'])
const s = useStore() const s = useStore()

View File

@@ -42,7 +42,6 @@
import {builderDefaults, DEFAULT_SLIPPAGE, MIN_EXECUTION_TIME, useChartOrderStore} from "@/orderbuild.js"; import {builderDefaults, DEFAULT_SLIPPAGE, MIN_EXECUTION_TIME, useChartOrderStore} from "@/orderbuild.js";
import {allocationText, VLine} from "@/charts/shape.js"; import {allocationText, VLine} from "@/charts/shape.js";
import {sideColor} from "@/misc.js"; import {sideColor} from "@/misc.js";
import {useTheme} from "vuetify";
import {useOrderStore, useStore} from "@/store/store.js"; import {useOrderStore, useStore} from "@/store/store.js";
import {DISTANT_FUTURE, MAX_FRACTION, newTranche} from "@/blockchain/orderlib.js"; import {DISTANT_FUTURE, MAX_FRACTION, newTranche} from "@/blockchain/orderlib.js";
import RungBuilder from "@/components/chart/RungBuilder.vue"; import RungBuilder from "@/components/chart/RungBuilder.vue";
@@ -54,7 +53,6 @@ import {DateTime} from "luxon";
const s = useStore() const s = useStore()
const os = useOrderStore() const os = useOrderStore()
const co = useChartOrderStore() const co = useChartOrderStore()
const theme = useTheme().current
const props = defineProps(['order', 'builder']) const props = defineProps(['order', 'builder'])
const emit = defineEmits(['update:builder']) const emit = defineEmits(['update:builder'])

View File

@@ -112,7 +112,6 @@ function computeDefaultColor() {
} }
const defaultColor = computeDefaultColor() const defaultColor = computeDefaultColor()
const color = computed(()=>props.builder.color ? props.builder.color : defaultColor) const color = computed(()=>props.builder.color ? props.builder.color : defaultColor)
// Fields must be defined in order to be reactive // Fields must be defined in order to be reactive

View File

@@ -46,11 +46,13 @@ import {cancelDrawing} from "@/charts/chart.js";
import { import {
devectorize, devectorize,
vectorAdd, vectorAdd,
vectorDiv, vectorEquals, vectorDiv,
vectorEquals,
vectorIsNull, vectorIsNull,
vectorIsZero, vectorIsZero,
vectorize, vectorize,
vectorMul, vectorNeg, vectorMul,
vectorNeg,
vectorSub vectorSub
} from "@/vector.js"; } from "@/vector.js";
@@ -90,6 +92,14 @@ watchEffect(()=>{
// console.log('valid?', prev, props.builder.valid, rungs, valueA.value, valueB.value) // console.log('valid?', prev, props.builder.valid, rungs, valueA.value, valueB.value)
}) })
let lastBuy = null
watchEffect(()=>{
if (props.order.buy!==lastBuy) {
lastBuy = props.order.buy
console.log('updating colors')
props.builder.color=computeDefaultColor()
}
})
function setEndpoints(a, b) { function setEndpoints(a, b) {
// console.log('rb setting endpoints', devectorize(a), devectorize(b)) // console.log('rb setting endpoints', devectorize(a), devectorize(b))