diagonal line support
This commit is contained in:
@@ -3,24 +3,27 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import {useStore} from "@/store/store";
|
||||
import {useOrderStore, useStore} from "@/store/store";
|
||||
import {subPrices, unsubPrices, WIDE_PRICE_FORMAT} from "@/blockchain/prices.js";
|
||||
import {computed, onBeforeUnmount} from "vue";
|
||||
import {FixedNumber} from "ethers";
|
||||
import {routeInverted} from "@/misc.js";
|
||||
|
||||
const s = useStore()
|
||||
const os = useOrderStore()
|
||||
|
||||
const props = defineProps({
|
||||
route: {type: Object, required:true},
|
||||
inverted: {type: Boolean, required:true},
|
||||
route: {type: Object, required:false},
|
||||
inverted: {type: Boolean, required:false},
|
||||
precision: {type: Number, default:5, required:false},
|
||||
})
|
||||
|
||||
const route = computed(()=>props.route ? props.route : os.route)
|
||||
|
||||
const price = computed(()=>{
|
||||
const route = props.route;
|
||||
if( !route )
|
||||
if( !route.value )
|
||||
return ''
|
||||
const routeKey = [route.chainId, route.pool]
|
||||
const routeKey = [route.value.chainId, route.value.pool]
|
||||
if( !(routeKey in s.poolPrices) )
|
||||
return ''
|
||||
let p = s.poolPrices[routeKey]
|
||||
@@ -28,19 +31,20 @@ const price = computed(()=>{
|
||||
if( !p )
|
||||
return ''
|
||||
p = FixedNumber.fromString(p, WIDE_PRICE_FORMAT).toUnsafeFloat()
|
||||
if( props.inverted )
|
||||
const inverted = props.inverted === undefined ? routeInverted(route.value) : props.inverted;
|
||||
if( inverted )
|
||||
p = 1/p
|
||||
return p.toPrecision(props.precision)
|
||||
})
|
||||
|
||||
if( props.route )
|
||||
subPrices([props.route])
|
||||
if( route.value )
|
||||
subPrices([route.value])
|
||||
else
|
||||
console.log('route is empty: no price')
|
||||
|
||||
onBeforeUnmount(() => {
|
||||
if( props.route )
|
||||
unsubPrices([props.route])
|
||||
if( route.value )
|
||||
unsubPrices([route.value])
|
||||
})
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user