updated SwapOrderStatus with Andrew's changes

This commit is contained in:
tim
2024-08-25 21:02:29 -04:00
parent 2cf5f14b0d
commit e0f42f80e7
5 changed files with 35 additions and 24 deletions

View File

@@ -90,10 +90,12 @@ export function newTranche({
maxIntercept = encodeIEE754(maxIntercept)
maxSlope = encodeIEE754(maxSlope)
}
const minLine = {intercept: minIntercept, slope: minSlope}
const maxLine = {intercept: maxIntercept, slope: maxSlope}
return {
fraction: Math.min(MAX_FRACTION, Math.round(fraction)), marketOrder,
startTimeIsRelative, startTime, endTimeIsRelative, endTime,
minIsBarrier, minIntercept, minSlope, maxIsBarrier, maxIntercept, maxSlope,
minIsBarrier, minLine, maxIsBarrier, maxLine,
minIsRatio, maxIsRatio, _reserved7: false, rateLimitFraction, rateLimitPeriod,
}
}
@@ -137,22 +139,24 @@ export function parseOrderStatus(chainId, status) {
ocoGroup,
filledIn,
filledOut,
trancheFilledIn,
trancheFilledOut,
trancheActivationTime,
trancheStatus,
] = status
order = parseOrder(order)
filledIn = BigInt(filledIn)
filledOut = BigInt(filledOut)
trancheFilledIn = trancheFilledIn.map((f)=>BigInt(f))
trancheFilledOut = trancheFilledOut.map((f)=>BigInt(f))
trancheActivationTime = trancheActivationTime.map((v)=>Number(v))
trancheStatus = trancheStatus.map((obj)=>parseTrancheStatus(obj))
return {
chainId, order, fillFeeHalfBps, state, startTime, startPrice, ocoGroup,
filledIn, filledOut, trancheFilledIn, trancheFilledOut, trancheActivationTime
filledIn, filledOut, trancheStatus,
}
}
function parseTrancheStatus(obj) {
let [filledIn, filledOut, activationTime, startTime, endTime,] = obj
filledIn = BigInt(filledIn)
filledOut = BigInt(filledOut)
return {filledIn, filledOut, activationTime, startTime, endTime}
}
export function parseOrder(order) {
let [

View File

@@ -276,7 +276,7 @@ export const PendingOrderState = {
Sent: -102, // tx is awaiting blockchain mining
}
const placementFeeSelector = 'placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,uint32,uint32,uint32,uint32)[]),(uint8,uint8,uint8,uint8,uint8))'
const placementFeeSelector = 'placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[]),(uint8,uint8,uint8,uint8,uint8))'
export async function placementFee(vault, order, window=300) {
// If the fees are about to change within `window` seconds of now, we send the higher native amount of the two fees.