@velora-dex/widget 0.6.1-dev.2 → 0.6.1-dev.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (39) hide show
  1. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js +1 -1
  2. package/dist/components/widget/Dialog/SelectTokenDialog/SelectTokenDialog.js.map +1 -1
  3. package/dist/components/widget/Duration/Duration.d.ts.map +1 -1
  4. package/dist/components/widget/Duration/Duration.js +10 -17
  5. package/dist/components/widget/Duration/Duration.js.map +1 -1
  6. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +10 -10
  7. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  8. package/dist/components/widget/Twap/CustomDurationDrawer.d.ts +2 -2
  9. package/dist/components/widget/Twap/CustomDurationDrawer.d.ts.map +1 -1
  10. package/dist/components/widget/Twap/CustomDurationDrawer.js +109 -102
  11. package/dist/components/widget/Twap/CustomDurationDrawer.js.map +1 -1
  12. package/dist/components/widget/Twap/OrderDuration.js +2 -2
  13. package/dist/components/widget/Twap/OrderDuration.js.map +1 -1
  14. package/dist/core/Warnings.js +2 -2
  15. package/dist/core/Warnings.js.map +1 -1
  16. package/dist/core/across/isCrosschainPossible.d.ts.map +1 -1
  17. package/dist/core/across/isCrosschainPossible.js +1 -1
  18. package/dist/core/across/isCrosschainPossible.js.map +1 -1
  19. package/dist/core/index.d.ts.map +1 -1
  20. package/dist/core/index.js +0 -1
  21. package/dist/core/index.js.map +1 -1
  22. package/dist/core/inputs/state/common.d.ts.map +1 -1
  23. package/dist/core/inputs/state/common.js +28 -28
  24. package/dist/core/inputs/state/common.js.map +1 -1
  25. package/dist/core/twap/state/constants.d.ts +2 -2
  26. package/dist/core/twap/state/constants.d.ts.map +1 -1
  27. package/dist/core/twap/state/constants.js.map +1 -1
  28. package/dist/core/twap/state/selectedTokenActionsAtom.d.ts.map +1 -1
  29. package/dist/core/twap/state/selectedTokenActionsAtom.js +1 -1
  30. package/dist/core/twap/state/selectedTokenActionsAtom.js.map +1 -1
  31. package/dist/core/twap/state/twapParamsAtom.js +2 -2
  32. package/dist/core/twap/state/twapParamsAtom.js.map +1 -1
  33. package/dist/core/twap/useTwapTokenToInputProps.d.ts.map +1 -1
  34. package/dist/core/twap/useTwapTokenToInputProps.js +15 -15
  35. package/dist/core/twap/useTwapTokenToInputProps.js.map +1 -1
  36. package/dist/hooks/swap/prices/delta/mutations/useCancelOrWithdrawAndCancelDeltaOrder.js.map +1 -1
  37. package/dist/hooks/swap/prices/delta/orders/utils.js +2 -2
  38. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  39. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","names":["BridgeStatus","DeltaAuction","DeltaAuctionOrder","DeltaAuctionStatus","DeltaPrice","ExternalDeltaOrder","SwapSideUnion","TWAPBuyDeltaOrder","TWAPDeltaOrder","DeltaAuctionTransaction","DeltaAuctionWithTwapOrder","ExecutedDeltaAuction","FailedDeltaAuction","TwapSellOrBuyOrder","replaceUnderscoresWithSpaces","Big","millisecondsToSeconds","scaleByFactor","isTwapSellDeltaOrder","order","isTwapBuyDeltaOrder","isOrderCrosschain","bridge","destinationChainId","isDeltaAuctionData","data","isCrosschainAuctionExecuted","auction","isTwapAuction","transactions","length","numSlices","bridgeStatus","isExecutedDeltaAuction","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","active","success","completed","cancellable","BridgeStatusChecker","VisualOrderStatus","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getAuctionDestChainId","chainId","Pick","getOverallOrderStatus","getDisplayedOrderStatus","onChainOrderType","isTwapOrder","getTotalTwapSrcAmount","totalSrcAmount","maxSrcAmount","getTotalTwapDestAmount","destAmount","destAmountPerSlice","times","totalDestAmount","scalingFactor","toFixed","getTotalTwapOrderAmounts","srcAmount","getTwapAuctionAmounts","twapAuction","isExecuted","getTransactionAmounts","getTwapOrderDeadlineFromSlices","createdAt","Math","floor","Date","getTime","interval","UnifiedDeltaOrderData","srcChainId","destChainId","srcToken","destToken","swapSide","getUnifiedDeltaOrderData","getOrderTokenAddresses","getAuctionAmounts","getAuctionSwapSide","outputToken","reduce","acc","spentAmount","receivedAmount","bridgeMetadata","BigInt","outputAmount","toString","isTwap","expectedAmount","getSwapSideFromTwapOrderType","getSwapSideFromDeltaOrder","getSwapSideFromDeltaPrice","price","srcAmountBeforeFee","OrderKindToSwapSide","const","kind","TwapTypeToSwapSide","TWAPOrder","TWAPBuyOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n DeltaAuctionStatus,\n DeltaPrice,\n ExternalDeltaOrder,\n SwapSideUnion,\n TWAPBuyDeltaOrder,\n TWAPDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport type {\n DeltaAuctionTransaction,\n DeltaAuctionWithTwapOrder,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n TwapSellOrBuyOrder,\n} from \"./types\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds } from \"@/lib/utils/time\";\nimport { scaleByFactor } from \"@/lib/utils/scaleFactor\";\n\nexport function isTwapSellDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPDeltaOrder {\n return \"destAmountPerSlice\" in order && \"totalSrcAmount\" in order;\n}\n\nexport function isTwapBuyDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPBuyDeltaOrder {\n return \"totalDestAmount\" in order && \"maxSrcAmount\" in order;\n}\n\nexport function isOrderCrosschain(\n order: DeltaAuction[\"order\"]\n): order is DeltaAuctionOrder | TwapSellOrBuyOrder {\n return (\n \"bridge\" in order && order.bridge && order.bridge.destinationChainId !== 0\n );\n}\n\nexport function isDeltaAuctionData(data: unknown): data is DeltaAuction {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nfunction isCrosschainAuctionExecuted(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n // crosschain TWAP order is executed when all slices are executed on source chain\n if (isTwapAuction(auction)) {\n return auction.transactions.length === auction.order.numSlices;\n }\n\n // crosschain Order is executed if bridgeStatus is filled\n return auction.bridgeStatus === \"filled\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n if (isOrderCrosschain(auction.order)) {\n return isCrosschainAuctionExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: DeltaAuction\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (auction.status === \"EXECUTED\" && isOrderCrosschain(auction.order)) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getAuctionDestChainId({\n order,\n chainId,\n}: Pick<DeltaAuction, \"order\" | \"chainId\">) {\n return isOrderCrosschain(order) ? order.bridge.destinationChainId : chainId;\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? // TWAP orders don't have order.bridgeStatus, instead\n // each slice has its own bridgeStatus in transactions[].bridgeMetadata,\n // and some slices could have been bridged while others not yet, or refunded\n // @TODO display \"partially executed\" for TWAP?\n getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n// -------------------- TWAP -------------------\n\nexport function isTwapAuction(\n order: DeltaAuction\n): order is DeltaAuctionWithTwapOrder {\n return (\n order.onChainOrderType === \"TWAPOrder\" ||\n order.onChainOrderType === \"TWAPBuyOrder\"\n );\n}\n\nexport function isTwapOrder(\n order: DeltaAuction[\"order\"]\n): order is TwapSellOrBuyOrder {\n return \"numSlices\" in order && typeof order.numSlices === \"number\";\n}\n\nfunction getTotalTwapSrcAmount(order: TwapSellOrBuyOrder) {\n return \"totalSrcAmount\" in order ? order.totalSrcAmount : order.maxSrcAmount;\n}\n\nfunction getTotalTwapDestAmount(order: TwapSellOrBuyOrder) {\n const destAmount =\n \"destAmountPerSlice\" in order\n ? Big(order.destAmountPerSlice).times(order.numSlices) // SELL\n : Big(order.totalDestAmount); // BUY\n\n if (isOrderCrosschain(order)) {\n return scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(0);\n }\n\n return destAmount.toFixed(0);\n}\n\nexport function getTotalTwapOrderAmounts(order: TwapSellOrBuyOrder) {\n const srcAmount = getTotalTwapSrcAmount(order);\n const destAmount = getTotalTwapDestAmount(order);\n return { srcAmount, destAmount };\n}\n\nfunction getTwapAuctionAmounts(twapAuction: DeltaAuctionWithTwapOrder) {\n const isExecuted =\n twapAuction.status === \"EXECUTED\" &&\n twapAuction.transactions.length === twapAuction.order.numSlices;\n\n if (isExecuted) {\n return getTransactionAmounts(\n twapAuction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n return getTotalTwapOrderAmounts(twapAuction.order);\n}\n\n/** Returns the order deadline based on slices and interval */\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n order.numSlices * order.interval // order.interval is in seconds\n );\n}\n\n// -------------------- Auction Unified Data --------------------\n\ntype UnifiedDeltaOrderData = {\n /** @description source chain id */\n srcChainId: number;\n /** @description destination chain id (same as source chain id for single chain orders) */\n destChainId: number;\n /** @description input token amount */\n srcAmount: string;\n /** @description output token amount (expected amount for pending orders, actual received amount for executed orders) */\n destAmount: string;\n /** @description input token address */\n srcToken: string;\n /** @description output token address */\n destToken: string;\n /** @description swap side of the order */\n swapSide: SwapSideUnion;\n};\n\nexport function getUnifiedDeltaOrderData(\n auction: DeltaAuction\n): UnifiedDeltaOrderData {\n const { order, chainId } = auction;\n\n const { srcToken, destToken } = getOrderTokenAddresses(order);\n const { srcAmount, destAmount } = getAuctionAmounts(auction);\n\n const srcChainId = chainId;\n const destChainId = getAuctionDestChainId({ order, chainId });\n\n const swapSide = getAuctionSwapSide(auction);\n\n return {\n srcChainId,\n destChainId,\n srcAmount,\n destAmount,\n srcToken,\n destToken,\n swapSide,\n };\n}\n\nexport function getOrderTokenAddresses(order: DeltaAuction[\"order\"]) {\n const srcToken = order.srcToken;\n const destToken = isOrderCrosschain(order)\n ? order.bridge.outputToken\n : order.destToken;\n return {\n srcToken,\n destToken,\n };\n}\n\nfunction getTransactionAmounts(transactions: DeltaAuctionTransaction[]) {\n const { srcAmount, destAmount } = transactions.reduce(\n (acc, { spentAmount, receivedAmount, bridgeMetadata }) => {\n return {\n srcAmount: BigInt(acc.srcAmount) + BigInt(spentAmount),\n destAmount:\n BigInt(acc.destAmount) +\n BigInt(bridgeMetadata ? bridgeMetadata.outputAmount : receivedAmount),\n };\n },\n {\n srcAmount: 0n,\n destAmount: 0n,\n }\n );\n\n return {\n srcAmount: srcAmount.toString(),\n destAmount: destAmount.toString(),\n };\n}\n\nfunction getAuctionAmounts(auction: DeltaAuction) {\n const isTwap = isTwapAuction(auction);\n if (isTwap) {\n return getTwapAuctionAmounts(auction);\n }\n\n const isExecuted = isExecutedDeltaAuction(auction);\n if (isExecuted) {\n return getTransactionAmounts(\n auction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n const order = auction.order;\n\n const srcAmount = order.srcAmount;\n const destAmount = order.expectedAmount || order.destAmount;\n\n if (isOrderCrosschain(order)) {\n return {\n srcAmount,\n destAmount: scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(\n 0\n ),\n };\n }\n\n return {\n srcAmount,\n destAmount,\n };\n}\n\n// -------------------- SwapSide --------------------\n\nexport function getAuctionSwapSide(auction: DeltaAuction): SwapSideUnion {\n if (isTwapAuction(auction)) {\n // TWAP orders have onChainOrderType instead of kind\n return getSwapSideFromTwapOrderType(auction.onChainOrderType);\n }\n return getSwapSideFromDeltaOrder(auction.order);\n}\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n\nconst OrderKindToSwapSide = {\n 0: \"SELL\",\n 1: \"BUY\",\n} as const;\n\nexport function getSwapSideFromDeltaOrder(\n order: DeltaAuctionOrder | ExternalDeltaOrder\n): SwapSideUnion {\n return OrderKindToSwapSide[order.kind];\n}\n\nconst TwapTypeToSwapSide = {\n TWAPOrder: \"SELL\",\n TWAPBuyOrder: \"BUY\",\n} as const;\n\nexport function getSwapSideFromTwapOrderType(\n onChainOrderType: \"TWAPOrder\" | \"TWAPBuyOrder\"\n): SwapSideUnion {\n return TwapTypeToSwapSide[onChainOrderType];\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","names":["BridgeStatus","DeltaAuction","DeltaAuctionOrder","DeltaAuctionStatus","DeltaPrice","ExternalDeltaOrder","SwapSideUnion","TWAPBuyDeltaOrder","TWAPDeltaOrder","DeltaAuctionTransaction","DeltaAuctionWithTwapOrder","ExecutedDeltaAuction","FailedDeltaAuction","TwapSellOrBuyOrder","replaceUnderscoresWithSpaces","Big","millisecondsToSeconds","scaleByFactor","isTwapSellDeltaOrder","order","isTwapBuyDeltaOrder","isOrderCrosschain","bridge","destinationChainId","isDeltaAuctionData","data","isCrosschainAuctionExecuted","auction","isTwapAuction","transactions","length","numSlices","bridgeStatus","isExecutedDeltaAuction","status","isFailedDeltaAuction","DeltaOrderStatusChecker","failed","has","isCanceledDeltaAuction","isDeltaAuctionExpired","pending","Set","executing","active","success","completed","cancellable","BridgeStatusChecker","VisualOrderStatus","getSingleChainOrderStatus","orderStatus","getCrossChainOrderStatus","getAuctionDestChainId","chainId","Pick","getOverallOrderStatus","getDisplayedOrderStatus","onChainOrderType","isTwapOrder","getTotalTwapSrcAmount","totalSrcAmount","maxSrcAmount","getTotalTwapDestAmount","destAmount","destAmountPerSlice","times","totalDestAmount","scalingFactor","toFixed","getTotalTwapOrderAmounts","srcAmount","getTwapAuctionAmounts","twapAuction","isExecuted","getTransactionAmounts","getTwapOrderDeadlineFromSlices","createdAt","Math","floor","Date","getTime","interval","UnifiedDeltaOrderData","srcChainId","destChainId","srcToken","destToken","swapSide","getUnifiedDeltaOrderData","getOrderTokenAddresses","getAuctionAmounts","getAuctionSwapSide","outputToken","reduce","acc","spentAmount","receivedAmount","bridgeMetadata","BigInt","outputAmount","toString","isTwap","expectedAmount","getSwapSideFromTwapOrderType","getSwapSideFromDeltaOrder","getSwapSideFromDeltaPrice","price","srcAmountBeforeFee","OrderKindToSwapSide","const","kind","TwapTypeToSwapSide","TWAPOrder","TWAPBuyOrder"],"sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n DeltaAuctionStatus,\n DeltaPrice,\n ExternalDeltaOrder,\n SwapSideUnion,\n TWAPBuyDeltaOrder,\n TWAPDeltaOrder,\n} from \"@velora-dex/sdk\";\nimport type {\n DeltaAuctionTransaction,\n DeltaAuctionWithTwapOrder,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n TwapSellOrBuyOrder,\n} from \"./types\";\nimport { replaceUnderscoresWithSpaces } from \"@/lib/utils\";\nimport Big from \"big.js\";\nimport { millisecondsToSeconds } from \"@/lib/utils/time\";\nimport { scaleByFactor } from \"@/lib/utils/scaleFactor\";\n\nexport function isTwapSellDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPDeltaOrder {\n return \"destAmountPerSlice\" in order && \"totalSrcAmount\" in order;\n}\n\nexport function isTwapBuyDeltaOrder(\n order: DeltaAuction[\"order\"]\n): order is TWAPBuyDeltaOrder {\n return \"totalDestAmount\" in order && \"maxSrcAmount\" in order;\n}\n\nexport function isOrderCrosschain(\n order: DeltaAuction[\"order\"]\n): order is DeltaAuctionOrder | TwapSellOrBuyOrder {\n return (\n \"bridge\" in order && order.bridge && order.bridge.destinationChainId !== 0\n );\n}\n\nexport function isDeltaAuctionData(data: unknown): data is DeltaAuction {\n return (\n typeof data === \"object\" &&\n data !== null &&\n \"id\" in data &&\n \"chainId\" in data &&\n \"status\" in data &&\n \"order\" in data &&\n \"orderHash\" in data\n );\n}\n\nfunction isCrosschainAuctionExecuted(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n // crosschain TWAP order is executed when all slices are executed on source chain\n if (isTwapAuction(auction)) {\n return auction.transactions.length === auction.order.numSlices;\n }\n\n // crosschain Order is executed if bridgeStatus is filled\n return auction.bridgeStatus === \"filled\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: DeltaAuction\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n if (isOrderCrosschain(auction.order)) {\n return isCrosschainAuctionExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: DeltaAuction\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (DeltaOrderStatusChecker.failed.has(auction.status)) return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (auction.status === \"EXECUTED\" && isOrderCrosschain(auction.order)) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return false;\n}\n\nexport function isCanceledDeltaAuction(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"CANCELLED\";\n} {\n return auction.status === \"CANCELLED\";\n}\n\nexport function isDeltaAuctionExpired(\n auction: DeltaAuction\n): auction is DeltaAuction & {\n status: \"EXPIRED\";\n} {\n return auction.status === \"EXPIRED\";\n}\n\n/// ------------------- Order status checks -------------------\n\n// specific to submit DeltaOrder substep\nexport const DeltaOrderStatusChecker = {\n pending: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"CANCELLING\",\n ]), // adjust for when we want to show Pending state\n executing: new Set<DeltaAuctionStatus>([\"EXECUTING\"]),\n active: new Set<DeltaAuctionStatus>([\n \"EXECUTING\",\n \"NOT_STARTED\",\n \"AWAITING_PRE_SIGNATURE\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"CANCELLING\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n failed: new Set<DeltaAuctionStatus>([\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\n \"REFUNDED\",\n ]),\n cancellable: new Set<DeltaAuctionStatus>([\n \"NOT_STARTED\",\n \"RUNNING\",\n \"AWAITING_PRE_SIGNATURE\",\n \"EXECUTING\",\n \"SUSPENDED\",\n ]),\n};\n\nexport const BridgeStatusChecker = {\n pending: new Set<BridgeStatus>([\"pending\"]),\n completed: new Set<BridgeStatus>([\"filled\", \"expired\", \"refunded\"]),\n failed: new Set<BridgeStatus>([\"expired\", \"refunded\"]),\n};\n\n// visually we show only \"In progress\", \"Executing\" and separate components for success and failure\nexport type VisualOrderStatus =\n | \"pending\"\n | \"executing\"\n | \"failed\"\n | \"confirmed\";\n\nexport function getSingleChainOrderStatus(\n orderStatus: DeltaAuctionStatus\n): VisualOrderStatus {\n if (DeltaOrderStatusChecker.pending.has(orderStatus)) return \"pending\";\n\n if (DeltaOrderStatusChecker.executing.has(orderStatus)) return \"executing\";\n\n if (DeltaOrderStatusChecker.failed.has(orderStatus)) return \"failed\";\n\n return \"confirmed\";\n}\n\nexport function getCrossChainOrderStatus(\n status: DeltaAuctionStatus,\n bridgeStatus: BridgeStatus | null\n): VisualOrderStatus {\n if (\n DeltaOrderStatusChecker.failed.has(status) ||\n (bridgeStatus && BridgeStatusChecker.failed.has(bridgeStatus))\n )\n return \"failed\";\n\n if (bridgeStatus === \"filled\") return \"confirmed\";\n\n // Order awaiting signature can't be already executing no matter the bridge status\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"pending\";\n\n return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getAuctionDestChainId({\n order,\n chainId,\n}: Pick<DeltaAuction, \"order\" | \"chainId\">) {\n return isOrderCrosschain(order) ? order.bridge.destinationChainId : chainId;\n}\n\n/**\n * For Delta Orders in the Trade Flow to switch between flow steps based on the order status\n */\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? // TWAP orders don't have order.bridgeStatus, instead\n // each slice has its own bridgeStatus in transactions[].bridgeMetadata,\n // and some slices could have been bridged while others not yet, or refunded\n // @TODO display \"partially executed\" for TWAP?\n getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n\n/**\n * For displaying order status to users.\n */\nexport function getDisplayedOrderStatus(status: DeltaAuctionStatus): string {\n if (status === \"AWAITING_PRE_SIGNATURE\") return \"UNSIGNED\";\n return replaceUnderscoresWithSpaces(status);\n}\n\n// -------------------- TWAP -------------------\n\nexport function isTwapAuction(\n order: DeltaAuction\n): order is DeltaAuctionWithTwapOrder {\n return (\n order.onChainOrderType === \"TWAPOrder\" ||\n order.onChainOrderType === \"TWAPBuyOrder\"\n );\n}\n\nexport function isTwapOrder(\n order: DeltaAuction[\"order\"]\n): order is TwapSellOrBuyOrder {\n return \"numSlices\" in order && typeof order.numSlices === \"number\";\n}\n\nfunction getTotalTwapSrcAmount(order: TwapSellOrBuyOrder) {\n return \"totalSrcAmount\" in order ? order.totalSrcAmount : order.maxSrcAmount;\n}\n\nfunction getTotalTwapDestAmount(order: TwapSellOrBuyOrder) {\n const destAmount =\n \"destAmountPerSlice\" in order\n ? Big(order.destAmountPerSlice).times(order.numSlices) // SELL\n : Big(order.totalDestAmount); // BUY\n\n if (isOrderCrosschain(order)) {\n return scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(0);\n }\n\n return destAmount.toFixed(0);\n}\n\nexport function getTotalTwapOrderAmounts(order: TwapSellOrBuyOrder) {\n const srcAmount = getTotalTwapSrcAmount(order);\n const destAmount = getTotalTwapDestAmount(order);\n return { srcAmount, destAmount };\n}\n\nfunction getTwapAuctionAmounts(twapAuction: DeltaAuctionWithTwapOrder) {\n const isExecuted =\n twapAuction.status === \"EXECUTED\" &&\n twapAuction.transactions.length === twapAuction.order.numSlices;\n\n if (isExecuted) {\n return getTransactionAmounts(\n twapAuction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n return getTotalTwapOrderAmounts(twapAuction.order);\n}\n\n/** Returns the order deadline based on slices and interval */\nexport function getTwapOrderDeadlineFromSlices(\n order: TwapSellOrBuyOrder,\n createdAt: string\n) {\n return Math.floor(\n millisecondsToSeconds(new Date(createdAt).getTime()) +\n order.numSlices * order.interval // order.interval is in seconds\n );\n}\n\n// -------------------- Auction Unified Data --------------------\n\ntype UnifiedDeltaOrderData = {\n /** @description source chain id */\n srcChainId: number;\n /** @description destination chain id (same as source chain id for single chain orders) */\n destChainId: number;\n /** @description input token amount */\n srcAmount: string;\n /** @description output token amount (expected amount for pending orders, actual received amount for executed orders) */\n destAmount: string;\n /** @description input token address */\n srcToken: string;\n /** @description output token address */\n destToken: string;\n /** @description swap side of the order */\n swapSide: SwapSideUnion;\n};\n\nexport function getUnifiedDeltaOrderData(\n auction: DeltaAuction\n): UnifiedDeltaOrderData {\n const { order, chainId } = auction;\n\n const { srcToken, destToken } = getOrderTokenAddresses(order);\n const { srcAmount, destAmount } = getAuctionAmounts(auction);\n\n const srcChainId = chainId;\n const destChainId = getAuctionDestChainId({ order, chainId });\n\n const swapSide = getAuctionSwapSide(auction);\n\n return {\n srcChainId,\n destChainId,\n srcAmount,\n destAmount,\n srcToken,\n destToken,\n swapSide,\n };\n}\n\nexport function getOrderTokenAddresses(order: DeltaAuction[\"order\"]) {\n const srcToken = order.srcToken;\n const destToken = isOrderCrosschain(order)\n ? order.bridge.outputToken\n : order.destToken;\n return {\n srcToken,\n destToken,\n };\n}\n\nfunction getTransactionAmounts(transactions: DeltaAuctionTransaction[]) {\n const { srcAmount, destAmount } = transactions.reduce(\n (acc, { spentAmount, receivedAmount, bridgeMetadata }) => {\n return {\n srcAmount: acc.srcAmount + BigInt(spentAmount),\n destAmount:\n acc.destAmount +\n BigInt(bridgeMetadata ? bridgeMetadata.outputAmount : receivedAmount),\n };\n },\n {\n srcAmount: 0n,\n destAmount: 0n,\n }\n );\n\n return {\n srcAmount: srcAmount.toString(),\n destAmount: destAmount.toString(),\n };\n}\n\nfunction getAuctionAmounts(auction: DeltaAuction) {\n const isTwap = isTwapAuction(auction);\n if (isTwap) {\n return getTwapAuctionAmounts(auction);\n }\n\n const isExecuted = isExecutedDeltaAuction(auction);\n if (isExecuted) {\n return getTransactionAmounts(\n auction.transactions as DeltaAuctionTransaction[]\n );\n }\n\n const order = auction.order;\n\n const srcAmount = order.srcAmount;\n const destAmount = order.expectedAmount || order.destAmount;\n\n if (isOrderCrosschain(order)) {\n return {\n srcAmount,\n destAmount: scaleByFactor(destAmount, order.bridge.scalingFactor).toFixed(\n 0\n ),\n };\n }\n\n return {\n srcAmount,\n destAmount,\n };\n}\n\n// -------------------- SwapSide --------------------\n\nexport function getAuctionSwapSide(auction: DeltaAuction): SwapSideUnion {\n if (isTwapAuction(auction)) {\n // TWAP orders have onChainOrderType instead of kind\n return getSwapSideFromTwapOrderType(auction.onChainOrderType);\n }\n return getSwapSideFromDeltaOrder(auction.order);\n}\n\nexport function getSwapSideFromDeltaPrice(price: DeltaPrice): SwapSideUnion {\n if (price.srcAmountBeforeFee) {\n // srcAmountBeforeFee is only available for BUY side\n return \"BUY\";\n }\n return \"SELL\";\n}\n\nconst OrderKindToSwapSide = {\n 0: \"SELL\",\n 1: \"BUY\",\n} as const;\n\nexport function getSwapSideFromDeltaOrder(\n order: DeltaAuctionOrder | ExternalDeltaOrder\n): SwapSideUnion {\n return OrderKindToSwapSide[order.kind];\n}\n\nconst TwapTypeToSwapSide = {\n TWAPOrder: \"SELL\",\n TWAPBuyOrder: \"BUY\",\n} as const;\n\nexport function getSwapSideFromTwapOrderType(\n onChainOrderType: \"TWAPOrder\" | \"TWAPBuyOrder\"\n): SwapSideUnion {\n return TwapTypeToSwapSide[onChainOrderType];\n}\n"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@velora-dex/widget",
3
- "version": "0.6.1-dev.2",
3
+ "version": "0.6.1-dev.4",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "files": [