@velora-dex/widget 0.1.0-rc.0 → 0.1.0-rc.2

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 (153) hide show
  1. package/dist/components/ui/drawer.js +1 -1
  2. package/dist/components/ui/drawer.js.map +1 -1
  3. package/dist/components/web3/providers.d.ts +3 -0
  4. package/dist/components/web3/providers.d.ts.map +1 -1
  5. package/dist/components/web3/providers.js +18 -1
  6. package/dist/components/web3/providers.js.map +1 -1
  7. package/dist/components/widget/Details/DetailWithValueList.d.ts.map +1 -1
  8. package/dist/components/widget/Details/DetailWithValueList.js +38 -28
  9. package/dist/components/widget/Details/DetailWithValueList.js.map +1 -1
  10. package/dist/components/widget/Details/types.d.ts +1 -1
  11. package/dist/components/widget/Details/types.d.ts.map +1 -1
  12. package/dist/components/widget/DexesList/DexItem.d.ts +3 -0
  13. package/dist/components/widget/DexesList/DexItem.d.ts.map +1 -0
  14. package/dist/components/widget/DexesList/DexItem.js +366 -0
  15. package/dist/components/widget/DexesList/DexItem.js.map +1 -0
  16. package/dist/components/widget/DexesList/DexesList.d.ts +10 -0
  17. package/dist/components/widget/DexesList/DexesList.d.ts.map +1 -0
  18. package/dist/components/widget/DexesList/DexesList.js +71 -0
  19. package/dist/components/widget/DexesList/DexesList.js.map +1 -0
  20. package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js +4 -0
  21. package/dist/components/widget/DexesList/assets/exchanges/biswap.png.js.map +1 -0
  22. package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js +4 -0
  23. package/dist/components/widget/DexesList/assets/exchanges/cheeseswap.png.js.map +1 -0
  24. package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js +4 -0
  25. package/dist/components/widget/DexesList/assets/exchanges/complusswap.png.js.map +1 -0
  26. package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js +4 -0
  27. package/dist/components/widget/DexesList/assets/exchanges/hashflow.png.js.map +1 -0
  28. package/dist/components/widget/DexesList/assets/exchanges/icons.json.d.ts +82 -0
  29. package/dist/components/widget/DexesList/assets/exchanges/icons.json.js +159 -0
  30. package/dist/components/widget/DexesList/assets/exchanges/icons.json.js.map +1 -0
  31. package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js +4 -0
  32. package/dist/components/widget/DexesList/assets/exchanges/quickswap.png.js.map +1 -0
  33. package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js +4 -0
  34. package/dist/components/widget/DexesList/assets/exchanges/shibaswap.png.js.map +1 -0
  35. package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js +4 -0
  36. package/dist/components/widget/DexesList/assets/exchanges/uniswap.svg.js.map +1 -0
  37. package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js +4 -0
  38. package/dist/components/widget/DexesList/assets/exchanges/velora-dark.svg.js.map +1 -0
  39. package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js +4 -0
  40. package/dist/components/widget/DexesList/assets/exchanges/velora-light.svg.js.map +1 -0
  41. package/dist/components/widget/DexesList/assets/gas.svg.js +12 -0
  42. package/dist/components/widget/DexesList/assets/gas.svg.js.map +1 -0
  43. package/dist/components/widget/DexesList/assets/unknown-dex.svg.js +4 -0
  44. package/dist/components/widget/DexesList/assets/unknown-dex.svg.js.map +1 -0
  45. package/dist/components/widget/DexesList/constants.d.ts +2 -0
  46. package/dist/components/widget/DexesList/constants.d.ts.map +1 -0
  47. package/dist/components/widget/DexesList/constants.js +4 -0
  48. package/dist/components/widget/DexesList/constants.js.map +1 -0
  49. package/dist/components/widget/DexesList/getDexProps.d.ts +11 -0
  50. package/dist/components/widget/DexesList/getDexProps.d.ts.map +1 -0
  51. package/dist/components/widget/DexesList/getDexProps.js +94 -0
  52. package/dist/components/widget/DexesList/getDexProps.js.map +1 -0
  53. package/dist/components/widget/DexesList/types.d.ts +15 -0
  54. package/dist/components/widget/DexesList/types.d.ts.map +1 -0
  55. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js +1 -1
  56. package/dist/components/widget/Dialog/SelectTokenDialog/TokenListBody/TokenCloud/tokens.js.map +1 -1
  57. package/dist/components/widget/Drawer/Overlay.d.ts +9 -0
  58. package/dist/components/widget/Drawer/Overlay.d.ts.map +1 -0
  59. package/dist/components/widget/Drawer/Overlay.js +62 -0
  60. package/dist/components/widget/Drawer/Overlay.js.map +1 -0
  61. package/dist/components/widget/Drawer/index.d.ts.map +1 -1
  62. package/dist/components/widget/Drawer/index.js +2 -1
  63. package/dist/components/widget/Drawer/index.js.map +1 -1
  64. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts +3 -0
  65. package/dist/components/widget/Drawer/state/useDrawerControls.d.ts.map +1 -1
  66. package/dist/components/widget/Drawer/state/useDrawerControls.js +1 -1
  67. package/dist/components/widget/Drawer/state/useDrawerControls.js.map +1 -1
  68. package/dist/components/widget/ReceiverAddress/state/subscriptions.d.ts.map +1 -1
  69. package/dist/components/widget/ReceiverAddress/state/subscriptions.js +1 -2
  70. package/dist/components/widget/ReceiverAddress/state/subscriptions.js.map +1 -1
  71. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.d.ts.map +1 -1
  72. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js +44 -4
  73. package/dist/components/widget/SwapModeSwitcher/SwapModeSwitcherExpandable.js.map +1 -1
  74. package/dist/components/widget/TradeOverview/TradeComplete/utils.js +1 -1
  75. package/dist/components/widget/TradeOverview/TradeComplete/utils.js.map +1 -1
  76. package/dist/core/across/utils.d.ts.map +1 -1
  77. package/dist/core/across/utils.js +1 -2
  78. package/dist/core/across/utils.js.map +1 -1
  79. package/dist/core/index.d.ts.map +1 -1
  80. package/dist/core/index.js +93 -85
  81. package/dist/core/index.js.map +1 -1
  82. package/dist/core/inputs/hooks/useTokenToInputProps.js +1 -4
  83. package/dist/core/inputs/hooks/useTokenToInputProps.js.map +1 -1
  84. package/dist/core/inputs/state/selectedTokenActionsAtom.d.ts.map +1 -1
  85. package/dist/core/inputs/state/selectedTokenActionsAtom.js +2 -2
  86. package/dist/core/inputs/state/selectedTokenActionsAtom.js.map +1 -1
  87. package/dist/core/inputs/state/store.d.ts +6 -0
  88. package/dist/core/inputs/state/store.d.ts.map +1 -0
  89. package/dist/core/inputs/state/store.js +6 -0
  90. package/dist/core/inputs/state/store.js.map +1 -0
  91. package/dist/core/logger.d.ts.map +1 -1
  92. package/dist/core/logger.js +4 -5
  93. package/dist/core/logger.js.map +1 -1
  94. package/dist/core/swapDetails/useSwapDetailsListProps.d.ts.map +1 -1
  95. package/dist/core/swapDetails/useSwapDetailsListProps.js +0 -1
  96. package/dist/core/swapDetails/useSwapDetailsListProps.js.map +1 -1
  97. package/dist/core/swapDetails/youGet.d.ts +1 -3
  98. package/dist/core/swapDetails/youGet.d.ts.map +1 -1
  99. package/dist/core/swapDetails/youGet.js +1 -3
  100. package/dist/core/swapDetails/youGet.js.map +1 -1
  101. package/dist/crosschain_token_list.json +3230 -0
  102. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts +3 -2
  103. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.d.ts.map +1 -1
  104. package/dist/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.js.map +1 -1
  105. package/dist/hooks/swap/prices/delta/orders/utils.d.ts +6 -6
  106. package/dist/hooks/swap/prices/delta/orders/utils.d.ts.map +1 -1
  107. package/dist/hooks/swap/prices/delta/orders/utils.js +3 -3
  108. package/dist/hooks/swap/prices/delta/orders/utils.js.map +1 -1
  109. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts +2 -1
  110. package/dist/hooks/swap/prices/delta/queries/useDeltaOrders.d.ts.map +1 -1
  111. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts +2 -1
  112. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.d.ts.map +1 -1
  113. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js +5 -2
  114. package/dist/hooks/swap/prices/delta/queries/useDeltaPriceQuery.js.map +1 -1
  115. package/dist/hooks/swap/prices/usePricesParams.d.ts +1 -1
  116. package/dist/hooks/swap/prices/usePricesParams.d.ts.map +1 -1
  117. package/dist/hooks/swap/prices/usePricesParams.js +2 -1
  118. package/dist/hooks/swap/prices/usePricesParams.js.map +1 -1
  119. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts +4 -4
  120. package/dist/hooks/swap/tradeFlow/useDeltaFlow.d.ts.map +1 -1
  121. package/dist/hooks/swap/tradeFlow/useDeltaFlow.js.map +1 -1
  122. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.d.ts.map +1 -1
  123. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js +1 -1
  124. package/dist/hooks/swap/tradeFlow/useDeltaSwapStep.js.map +1 -1
  125. package/dist/lib/constants/index.d.ts +1 -1
  126. package/dist/lib/constants/index.d.ts.map +1 -1
  127. package/dist/lib/constants/index.js +1 -1
  128. package/dist/lib/constants/index.js.map +1 -1
  129. package/dist/lib/utils/index.d.ts +2 -0
  130. package/dist/lib/utils/index.d.ts.map +1 -1
  131. package/dist/lib/utils/index.js +4 -1
  132. package/dist/lib/utils/index.js.map +1 -1
  133. package/dist/lib/utils/price.d.ts +2 -6
  134. package/dist/lib/utils/price.d.ts.map +1 -1
  135. package/dist/lib/utils/price.js +6 -13
  136. package/dist/lib/utils/price.js.map +1 -1
  137. package/dist/lib/utils/savedAmountUSD.d.ts +3 -0
  138. package/dist/lib/utils/savedAmountUSD.d.ts.map +1 -0
  139. package/dist/lib/utils/savedAmountUSD.js +57 -0
  140. package/dist/lib/utils/savedAmountUSD.js.map +1 -0
  141. package/dist/lib/utils/toasts.d.ts +2 -2
  142. package/dist/lib/utils/toasts.d.ts.map +1 -1
  143. package/dist/lib/utils/toasts.js.map +1 -1
  144. package/dist/lib/web3/privy/config.js +1 -1
  145. package/dist/lib/web3/wagmi/config.js +1 -1
  146. package/dist/styles.css +23 -8
  147. package/dist/tokens/lists/lists.json.d.ts +84 -2
  148. package/dist/tokens/lists/lists.json.js +104 -2
  149. package/dist/tokens/lists/lists.json.js.map +1 -1
  150. package/dist/tokens/lists/state/observer.js +2 -2
  151. package/dist/tokens/lists/state/observer.js.map +1 -1
  152. package/dist/tokens/lists/utils.js +1 -1
  153. package/package.json +3 -2
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"sourcesContent":["import type {\n DeltaOrderStep,\n DeltaOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useDeltaFlow,\n type SubmitDeltaOrderResult,\n type UseDeltaFlowInput,\n type UseDeltaFlowResult,\n} from \"./useDeltaFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseDeltaSwapStepResult = {\n startDeltaSwap: UseDeltaFlowResult[\"runDeltaOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseDeltaFlowResult[\"reset\"];\n cancelFlow: UseDeltaFlowResult[\"cancelFlow\"];\n retryFlow: UseDeltaFlowResult[\"retryFlow\"];\n isCancellable: boolean;\n step?: DeltaOrderStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: DeltaOrderStepKey;\n result?: SubmitDeltaOrderResult;\n usedPrice: UseDeltaFlowResult[\"usedPrice\"];\n};\n\nexport function useDeltaSwapStep(\n options: UseDeltaFlowInput\n): UseDeltaSwapStepResult {\n const logger = useLogger(\"DeltaSwapStep\");\n const deltaFlow = useDeltaFlow(options);\n\n const startDeltaSwap = deltaFlow.runDeltaOrderFlow;\n const reset = deltaFlow.reset;\n const cancelFlow = deltaFlow.cancelFlow;\n const retryFlow = deltaFlow.retryFlow;\n\n let step: DeltaOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n deltaFlow.signPermit.isPending || !deltaFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n deltaFlow.approval.isPending || !deltaFlow.approval.isSuccess;\n\n const willUsePermit =\n deltaFlow.approval.needsApproval &&\n deltaFlow.signPermit.isPermitSupported &&\n deltaFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n deltaFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (deltaFlow.deltaOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n deltaFlow.approval.txHash || deltaFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (deltaFlow.deltaOrderExecution.isPending) {\n const orderStatus = deltaFlow.deltaOrderExecution.lastOrderState?.status;\n const notYetRunning =\n !orderStatus || orderStatus === \"NOT_STARTED\" || orderStatus === \"POSTED\";\n step = {\n key: notYetRunning ? \"auction\" : \"order-execution\",\n };\n } else if (deltaFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n deltaFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const orderId = deltaFlow.deltaOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n logger.once.log(\"step\", step, deltaFlow, {\n isCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(deltaFlow.error) ? null : deltaFlow.error;\n\n let erroredStep: DeltaOrderStepKey | undefined;\n\n if (deltaFlow.isError) {\n if (deltaFlow.approval.isError || deltaFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (deltaFlow.deltaOrderSubmission.isError) {\n erroredStep = \"auction\";\n } else if (deltaFlow.deltaOrderExecution.isError) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n usedPrice: deltaFlow.usedPrice,\n startDeltaSwap,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: deltaFlow.result,\n };\n}\n"],"names":["useDeltaSwapStep","options","$","_c","logger","useLogger","deltaFlow","useDeltaFlow","startDeltaSwap","runDeltaOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","deltaOrderSubmission","permitOrApprovalHappened","txHash","signature","deltaOrderExecution","orderStatus","lastOrderState","status","notYetRunning","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","orderId","order","id","constructExplorerOrderDetailsLink","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","t1","result","usedPrice"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaSwapStep.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"sourcesContent":["import type {\n DeltaOrderStep,\n DeltaOrderStepKey,\n} from \"@/components/widget/TradeOverview/steps\";\nimport {\n useDeltaFlow,\n type SubmitDeltaOrderResult,\n type UseDeltaFlowInput,\n type UseDeltaFlowResult,\n} from \"./useDeltaFlow\";\nimport { useLogger } from \"@/core/logger\";\nimport { constructExplorerOrderDetailsLink } from \"@/lib/utils/explorer\";\nimport { isUserCancelledError } from \"./common/errors\";\n\ntype UseDeltaSwapStepResult = {\n startDeltaSwap: UseDeltaFlowResult[\"runDeltaOrderFlow\"];\n // @TODO check if resetting is necessary on error, maybe not if submit on click works as a reset\n reset: UseDeltaFlowResult[\"reset\"];\n cancelFlow: UseDeltaFlowResult[\"cancelFlow\"];\n retryFlow: UseDeltaFlowResult[\"retryFlow\"];\n isCancellable: boolean;\n step?: DeltaOrderStep;\n explorerLink?: string;\n error: Error | null;\n erroredStep?: DeltaOrderStepKey;\n result?: SubmitDeltaOrderResult;\n usedPrice: UseDeltaFlowResult[\"usedPrice\"];\n};\n\nexport function useDeltaSwapStep(\n options: UseDeltaFlowInput\n): UseDeltaSwapStepResult {\n const logger = useLogger(\"DeltaSwapStep\");\n const deltaFlow = useDeltaFlow(options);\n\n const startDeltaSwap = deltaFlow.runDeltaOrderFlow;\n const reset = deltaFlow.reset;\n const cancelFlow = deltaFlow.cancelFlow;\n const retryFlow = deltaFlow.retryFlow;\n\n let step: DeltaOrderStep | undefined;\n\n const permitSigningHappeningOrNeverHappened =\n // isPending starts as false,\n // so we can use !isPermitSigned to detect if Permit signing is happening or never happened\n deltaFlow.signPermit.isPending || !deltaFlow.signPermit.isPermitSigned;\n\n const approvalHappeningOrNeverHappened =\n // isPending starts as false,\n // needsApproval && !isSuccess allows to detect approve step right away even then\n deltaFlow.approval.isPending || !deltaFlow.approval.isSuccess;\n\n const willUsePermit =\n deltaFlow.approval.needsApproval &&\n deltaFlow.signPermit.isPermitSupported &&\n deltaFlow.signPermit.isPermitReadyToSign;\n\n const permitOrApprovalHappeningOrNeverHappened = willUsePermit\n ? permitSigningHappeningOrNeverHappened\n : approvalHappeningOrNeverHappened;\n\n if (\n deltaFlow.approval.needsApproval &&\n permitOrApprovalHappeningOrNeverHappened\n ) {\n step = { key: \"signature\", subStep: \"approval-signature\" };\n } else if (deltaFlow.deltaOrderSubmission.isPending) {\n const permitOrApprovalHappened = !!(\n deltaFlow.approval.txHash || deltaFlow.signPermit.signature\n );\n\n step = {\n key: \"signature\",\n subStep: permitOrApprovalHappened\n ? \"order-signature\"\n : \"standalone-order-signature\",\n };\n } else if (deltaFlow.deltaOrderExecution.isPending) {\n const orderStatus = deltaFlow.deltaOrderExecution.lastOrderState?.status;\n const notYetRunning = !orderStatus || orderStatus === \"NOT_STARTED\";\n step = {\n key: notYetRunning ? \"auction\" : \"order-execution\",\n };\n } else if (deltaFlow.isPending) {\n // if something is between steps but not clear step,\n // then assume we're at the standalone signature sub-step\n step = { key: \"signature\", subStep: \"standalone-order-signature\" };\n }\n\n const approvalIsStarted =\n step?.key === \"signature\" &&\n step.subStep === \"approval-signature\" &&\n deltaFlow.approval.isTxPending;\n\n const isOrderBeingSigned =\n step?.key === \"signature\" &&\n (step.subStep === \"order-signature\" ||\n step.subStep === \"standalone-order-signature\");\n\n const isCancellable =\n // final Order is not yet submitted, there's something to cancel;\n // but some steps are already started so we can't simply dismiss\n approvalIsStarted || isOrderBeingSigned;\n\n const orderId = deltaFlow.deltaOrderSubmission.order?.id;\n const explorerLink = orderId\n ? constructExplorerOrderDetailsLink(orderId)\n : undefined;\n\n logger.once.log(\"step\", step, deltaFlow, {\n isCancellable,\n explorerLink,\n orderId,\n });\n\n // intentional cancellation is handled separately\n const error = isUserCancelledError(deltaFlow.error) ? null : deltaFlow.error;\n\n let erroredStep: DeltaOrderStepKey | undefined;\n\n if (deltaFlow.isError) {\n if (deltaFlow.approval.isError || deltaFlow.signPermit.isError) {\n erroredStep = \"signature\";\n } else if (deltaFlow.deltaOrderSubmission.isError) {\n erroredStep = \"auction\";\n } else if (deltaFlow.deltaOrderExecution.isError) {\n erroredStep = \"order-execution\";\n }\n }\n\n return {\n usedPrice: deltaFlow.usedPrice,\n startDeltaSwap,\n reset, // @TODO it maybe makes sense to reset mutation data when TradeOverflow drawer is closed\n // if we ever depend on mutation.result when Drawer is not closed,\n // otherwise the result sticks around until remount or next mutation start\n cancelFlow,\n retryFlow,\n isCancellable,\n step,\n explorerLink,\n error,\n erroredStep,\n result: deltaFlow.result,\n };\n}\n"],"names":["useDeltaSwapStep","options","$","_c","logger","useLogger","deltaFlow","useDeltaFlow","startDeltaSwap","runDeltaOrderFlow","reset","cancelFlow","retryFlow","explorerLink","isCancellable","step","once","permitSigningHappeningOrNeverHappened","signPermit","isPending","isPermitSigned","approvalHappeningOrNeverHappened","approval","isSuccess","willUsePermit","needsApproval","isPermitSupported","isPermitReadyToSign","permitOrApprovalHappeningOrNeverHappened","deltaOrderSubmission","permitOrApprovalHappened","txHash","signature","deltaOrderExecution","orderStatus","lastOrderState","status","notYetRunning","approvalIsStarted","key","subStep","isTxPending","isOrderBeingSigned","orderId","order","id","constructExplorerOrderDetailsLink","undefined","log","t0","error","isUserCancelledError","erroredStep","isError","t1","result","usedPrice"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- export declare const API_URL = "https://api.paraswap.io";
1
+ export declare const API_URL: any;
2
2
  export declare const emptyArray: never[];
3
3
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,4BAA4B,CAAC;AAEjD,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/constants/index.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,OAAO,KACuC,CAAC;AAE5D,eAAO,MAAM,UAAU,EAAE,KAAK,EAAO,CAAC"}
@@ -1,4 +1,4 @@
1
- const API_URL = "https://api.paraswap.io";
1
+ const API_URL = "https://api.staging.paraswap.io";
2
2
  const emptyArray = [];
3
3
 
4
4
  export { API_URL, emptyArray };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL = \"https://api.paraswap.io\";\n\nexport const emptyArray: never[] = [];\n"],"names":["API_URL","emptyArray"],"mappings":"AAAO,MAAMA,OAAAA,GAAU;AAEhB,MAAMC,aAAsB;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/constants/index.ts"],"sourcesContent":["export const API_URL =\n import.meta.env.VITE_API_URL ?? \"https://api.paraswap.io\";\n\nexport const emptyArray: never[] = [];\n"],"names":["API_URL","import","emptyArray"],"mappings":"AAAO,MAAMA,OAAAA,GACXC;AAEK,MAAMC,aAAsB;;;;"}
@@ -1,5 +1,6 @@
1
1
  import { Token } from '../../tokens/state/types';
2
2
  import { ClassValue } from 'clsx';
3
+ import { NonEmptyArray } from 'ts-essentials';
3
4
  export declare function cn(...inputs: ClassValue[]): string;
4
5
  export declare function gatherObjectsByProp<T>(elements: T[], pickProp: (elem: T) => string): Record<string, T>;
5
6
  export declare function gatherObjectsByProp<T, U>(elements: T[], pickProp: (elem: T) => string, transform: (elem: T, accumElem?: U) => U): Record<string, U>;
@@ -18,4 +19,5 @@ export declare const stringIncludes: (a: string, b: string) => boolean;
18
19
  */
19
20
  export declare const shortenText: (str: string, start: number, end?: number) => string;
20
21
  export declare function shortenAddress(address: string, slashIndex?: number, rightCutLength?: number): string;
22
+ export declare const isNonEmptyArray: <T>(array: T[]) => array is NonEmptyArray<T>;
21
23
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAG7C,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAwBrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAEb,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GACvC,CAAC,EAAE,CAWL;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,CAAC,IAAI,CACvE,CAAC;AAEN,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,eAAO,MAAM,yBAAyB,GAAI,cAEvC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,YAAqC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAErD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,MAAK,MAAU,KACd,MAGF,CAAC;AAEF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,EACd,cAAc,SAAI,GACjB,MAAM,CAGR"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAClD,OAAO,EAAQ,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AAE7C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAEnD,wBAAgB,EAAE,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAEzC;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EACnC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,GAC5B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AACrB,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,EACtC,QAAQ,EAAE,CAAC,EAAE,EACb,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,EAC7B,SAAS,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,KAAK,CAAC,GACvC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAwBrB,wBAAgB,YAAY,CAAC,CAAC,EAAE,CAAC,EAC/B,QAAQ,EAAE,CAAC,EAAE,EAEb,mBAAmB,EAAE,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,EAAE,GACvC,CAAC,EAAE,CAWL;AAED,eAAO,MAAM,QAAQ,GAAI,CAAC,EAAE,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,GAAG,SAAS,KAAG,CAAC,IAAI,CACvE,CAAC;AAEN,wBAAgB,uBAAuB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAErE;AAED,eAAO,MAAM,yBAAyB,GAAI,cAEvC,IAAI,CAAC,KAAK,EAAE,SAAS,CAAC,YAAqC,CAAC;AAE/D,eAAO,MAAM,cAAc,GAAI,GAAG,MAAM,EAAE,GAAG,MAAM,KAAG,OAErD,CAAC;AAEF;;;;;;;GAOG;AACH,eAAO,MAAM,WAAW,GACtB,KAAK,MAAM,EACX,OAAO,MAAM,EACb,MAAK,MAAU,KACd,MAGF,CAAC;AAEF,wBAAgB,cAAc,CAC5B,OAAO,EAAE,MAAM,EACf,UAAU,SAAI,EACd,cAAc,SAAI,GACjB,MAAM,CAGR;AAED,eAAO,MAAM,eAAe,GAAI,CAAC,EAAE,OAAO,CAAC,EAAE,KAAG,KAAK,IAAI,aAAa,CAAC,CAAC,CAEvE,CAAC"}
@@ -43,6 +43,9 @@ const shortenText = (str, start, end = 0) => {
43
43
  function shortenAddress(address, slashIndex = 6, rightCutLength = 4) {
44
44
  return shortenText(address, slashIndex, rightCutLength);
45
45
  }
46
+ const isNonEmptyArray = (array) => {
47
+ return array.length > 0;
48
+ };
46
49
 
47
- export { cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isTruthy, shortenAddress, shortenText, stringIncludes };
50
+ export { cn, filterInvalidTokenAddress, filterUnique, gatherObjectsByProp, hasCorrectAddressLength, isNonEmptyArray, isTruthy, shortenAddress, shortenText, stringIncludes };
48
51
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength"],"mappings":";;;AAIO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,EACT,CAAA,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CAAIC,CAAAA,KAC1B,CAAC,CAACA;AAEG,SAASC,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAaZ,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMa,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;;;;"}
1
+ {"version":3,"file":"index.js","sources":["../../../src/lib/utils/index.ts"],"sourcesContent":["import type { Token } from \"@/tokens/state/types\";\nimport { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\nimport type { NonEmptyArray } from \"ts-essentials\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n// reduce element[] to Object{key: prop, val?: element}\n// for example\n// gatherObjectsByProp(Token[], token => token.address) => Record<address, Token|undefined>\nexport function gatherObjectsByProp<T>(\n elements: T[],\n pickProp: (elem: T) => string\n): Record<string, T>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform: (elem: T, accumElem?: U) => U\n): Record<string, U>;\nexport function gatherObjectsByProp<T, U>(\n elements: T[],\n pickProp: (elem: T) => string,\n transform?: (elem: T, accumElem?: U) => U\n): Record<string, T> | Record<string, U> {\n return elements.reduce<Record<string, T> | Record<string, U>>(\n (accum, element) => {\n const key = pickProp(element);\n\n const accumElem: T | U | undefined = accum[key];\n const transformedElement = transform\n ? // if transform is available, can only be U | undefined\n transform(element, accumElem as U | undefined)\n : element;\n\n accum[key] = transformedElement;\n\n return accum;\n },\n {}\n );\n}\n\nexport function filterUnique<T, U>(\n elements: T[],\n // supports multikey filtering, if only one key required return [U]\n constructUniqueKeys: (element: T) => U[]\n): T[] {\n if (elements.length <= 1) return elements;\n const hasSeen = new Set<U>();\n\n return elements.filter((element) => {\n const keys = constructUniqueKeys(element);\n if (keys.some((key) => hasSeen.has(key))) return false;\n\n keys.forEach((key) => hasSeen.add(key));\n return true;\n });\n}\n\nexport const isTruthy = <T>(x: T | false | 0 | \"\" | null | undefined): x is T =>\n !!x;\n\nexport function hasCorrectAddressLength(maybeAddress: string): boolean {\n return maybeAddress.length === 42;\n}\n\nexport const filterInvalidTokenAddress = ({\n address,\n}: Pick<Token, \"address\">) => hasCorrectAddressLength(address);\n\nexport const stringIncludes = (a: string, b: string): boolean => {\n return a.toLowerCase().includes(b.toLowerCase());\n};\n\n/**\n * Shorten any string with more than 6 characters (included) by inserting ellipsis placeholder in between\n *\n * @param {string} str the string to shorten\n * @param {number} start how much to leave off the start\n * @param {number} [end=0] how much to leave off the end\n * @returns {string} shortened text\n */\nexport const shortenText = (\n str: string,\n start: number,\n end: number = 0\n): string => {\n const regexp = new RegExp(`(.{${start}}).{3,}(.{${end}})`);\n return str.replace(regexp, \"$1...$2\");\n};\n\nexport function shortenAddress(\n address: string,\n slashIndex = 6,\n rightCutLength = 4\n): string {\n // An ethereum address has 42 characters\n return shortenText(address, slashIndex, rightCutLength);\n}\n\nexport const isNonEmptyArray = <T>(array: T[]): array is NonEmptyArray<T> => {\n return array.length > 0;\n};\n"],"names":["cn","inputs","twMerge","clsx","gatherObjectsByProp","elements","pickProp","transform","reduce","accum","element","key","accumElem","transformedElement","filterUnique","constructUniqueKeys","length","hasSeen","Set","filter","keys","some","has","forEach","add","isTruthy","x","hasCorrectAddressLength","maybeAddress","filterInvalidTokenAddress","address","stringIncludes","a","b","toLowerCase","includes","shortenText","str","start","end","regexp","RegExp","replace","shortenAddress","slashIndex","rightCutLength","isNonEmptyArray","array"],"mappings":";;;AAKO,SAASA,MAAMC,MAAAA,EAAsB;AAC1C,EAAA,OAAOC,OAAAA,CAAQC,IAAAA,CAAKF,MAAM,CAAC,CAAA;AAC7B;AAcO,SAASG,mBAAAA,CACdC,QAAAA,EACAC,QAAAA,EACAC,SAAAA,EACuC;AACvC,EAAA,OAAOF,QAAAA,CAASG,MAAAA,CACd,CAACC,KAAAA,EAAOC,OAAAA,KAAY;AAClB,IAAA,MAAMC,GAAAA,GAAML,SAASI,OAAO,CAAA;AAE5B,IAAA,MAAME,SAAAA,GAA+BH,MAAME,GAAG,CAAA;AAC9C,IAAA,MAAME,kBAAAA,GAAqBN,SAAAA;AAAAA;AAAAA,MAEvBA,SAAAA,CAAUG,SAASE,SAA0B;AAAA,QAC7CF,OAAAA;AAEJD,IAAAA,KAAAA,CAAME,GAAG,CAAA,GAAIE,kBAAAA;AAEb,IAAA,OAAOJ,KAAAA;AAAAA,EACT,CAAA,EACA,EACF,CAAA;AACF;AAEO,SAASK,YAAAA,CACdT,UAEAU,mBAAAA,EACK;AACL,EAAA,IAAIV,QAAAA,CAASW,MAAAA,IAAU,CAAA,EAAG,OAAOX,QAAAA;AACjC,EAAA,MAAMY,OAAAA,uBAAcC,GAAAA,EAAO;AAE3B,EAAA,OAAOb,QAAAA,CAASc,OAAQT,CAAAA,OAAAA,KAAY;AAClC,IAAA,MAAMU,IAAAA,GAAOL,oBAAoBL,OAAO,CAAA;AACxC,IAAA,IAAIU,IAAAA,CAAKC,KAAMV,CAAAA,GAAAA,KAAQM,OAAAA,CAAQK,IAAIX,GAAG,CAAC,GAAG,OAAO,KAAA;AAEjDS,IAAAA,IAAAA,CAAKG,OAAAA,CAASZ,CAAAA,GAAAA,KAAQM,OAAAA,CAAQO,GAAAA,CAAIb,GAAG,CAAC,CAAA;AACtC,IAAA,OAAO,IAAA;AAAA,EACT,CAAC,CAAA;AACH;AAEO,MAAMc,QAAAA,GAAW,CAAIC,CAAAA,KAC1B,CAAC,CAACA;AAEG,SAASC,wBAAwBC,YAAAA,EAA+B;AACrE,EAAA,OAAOA,aAAaZ,MAAAA,KAAW,EAAA;AACjC;AAEO,MAAMa,4BAA4BA,CAAC;AAAA,EACxCC;AACsB,CAAA,KAAMH,wBAAwBG,OAAO;AAEtD,MAAMC,cAAAA,GAAiBA,CAACC,CAAAA,EAAWC,CAAAA,KAAuB;AAC/D,EAAA,OAAOD,EAAEE,WAAAA,EAAY,CAAEC,QAAAA,CAASF,CAAAA,CAAEC,aAAa,CAAA;AACjD;AAUO,MAAME,WAAAA,GAAcA,CACzBC,GAAAA,EACAC,KAAAA,EACAC,MAAc,CAAA,KACH;AACX,EAAA,MAAMC,SAAS,IAAIC,MAAAA,CAAO,MAAMH,KAAK,CAAA,UAAA,EAAaC,GAAG,CAAA,EAAA,CAAI,CAAA;AACzD,EAAA,OAAOF,GAAAA,CAAIK,OAAAA,CAAQF,MAAAA,EAAQ,SAAS,CAAA;AACtC;AAEO,SAASG,cAAAA,CACdb,OAAAA,EACAc,UAAAA,GAAa,CAAA,EACbC,iBAAiB,CAAA,EACT;AAER,EAAA,OAAOT,WAAAA,CAAYN,OAAAA,EAASc,UAAAA,EAAYC,cAAc,CAAA;AACxD;AAEO,MAAMC,eAAAA,GAAkB,CAAIC,KAAAA,KAA0C;AAC3E,EAAA,OAAOA,MAAM/B,MAAAA,GAAS,CAAA;AACxB;;;;"}
@@ -19,10 +19,7 @@ export declare function applySlippage({ srcAmount, destAmount, }: Pick<DeltaOrMa
19
19
  * @param priceMode - The mode of the price, either "delta" or "market".
20
20
  * @returns The destination amount after applying partner fee.
21
21
  */
22
- export declare function getDestAmountAfterFee({ price, priceMode, }: {
23
- price: DeltaOrMarketPrice;
24
- priceMode: "delta" | "market";
25
- }): string;
22
+ export declare function getDestAmountAfterFee(price: DeltaOrMarketPrice): string;
26
23
  /**
27
24
  * Calculates the destination amount after applying partner fee and slippage.
28
25
  *
@@ -31,9 +28,8 @@ export declare function getDestAmountAfterFee({ price, priceMode, }: {
31
28
  * @param priceMode - The mode of the price, either "delta" or "market".
32
29
  * @returns The destination amount after applying partner fee and slippage.
33
30
  */
34
- export declare function getDestAmountAfterFeeAndSlippage({ price, slippagePercent, priceMode, }: {
31
+ export declare function getDestAmountAfterFeeAndSlippage({ price, slippagePercent, }: {
35
32
  price: DeltaOrMarketPrice;
36
33
  slippagePercent: number;
37
- priceMode: "delta" | "market";
38
34
  }): string;
39
35
  //# sourceMappingURL=price.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EACE,SAAS,EACT,UAAU,GACX,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,CAAC,EACvD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM;;;EAyBrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,KAAK,EACL,SAAS,GACV,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,UAWA;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,eAAe,EACf,SAAS,GACV,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC/B,UAGA"}
1
+ {"version":3,"file":"price.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/price.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAQpE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAC3B,EACE,SAAS,EACT,UAAU,GACX,EAAE,IAAI,CAAC,kBAAkB,EAAE,WAAW,GAAG,YAAY,CAAC,EACvD,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,KAAK,GAAG,MAAM;;;EAyBrB;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,kBAAkB,UAU9D;AAED;;;;;;;GAOG;AACH,wBAAgB,gCAAgC,CAAC,EAC/C,KAAK,EACL,eAAe,GAChB,EAAE;IACD,KAAK,EAAE,kBAAkB,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;CACzB,UAGA"}
@@ -1,5 +1,6 @@
1
1
  import { subtractSlippage, amountAfterSlippage } from './slippage.js';
2
2
  import { subtractFee } from './fee.js';
3
+ import { isDeltaPrice, isBridgePrice } from '../../hooks/swap/prices/delta/queries/useDeltaPriceQuery.js';
3
4
 
4
5
  function applySlippage({
5
6
  srcAmount,
@@ -18,25 +19,17 @@ function applySlippage({
18
19
  destAmount: destAmountAfterSlippage
19
20
  };
20
21
  }
21
- function getDestAmountAfterFee({
22
- price,
23
- priceMode
24
- }) {
25
- const isDelta = priceMode === "delta";
26
- if (isDelta) {
27
- return "destAmountAfterBridge" in price ? price.destAmountAfterBridge : price.destAmount;
22
+ function getDestAmountAfterFee(price) {
23
+ if (isDeltaPrice(price)) {
24
+ return isBridgePrice(price) ? price.bridgeInfo.destAmountAfterBridge : price.destAmount;
28
25
  }
29
26
  return subtractFee(price.destAmount, price.partnerFee);
30
27
  }
31
28
  function getDestAmountAfterFeeAndSlippage({
32
29
  price,
33
- slippagePercent,
34
- priceMode
30
+ slippagePercent
35
31
  }) {
36
- const destAmountAfterFee = getDestAmountAfterFee({
37
- price,
38
- priceMode
39
- });
32
+ const destAmountAfterFee = getDestAmountAfterFee(price);
40
33
  return subtractSlippage(destAmountAfterFee, slippagePercent);
41
34
  }
42
35
 
@@ -1 +1 @@
1
- {"version":3,"file":"price.js","sources":["../../../src/lib/utils/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage, subtractSlippage } from \"./slippage\";\nimport { subtractFee } from \"./fee\";\n\n/**\n * Applies slippage to the srcAmount and destAmount of a DeltaOrMarketPrice.\n *\n * @param srcAmount - The source amount of the trade.\n * @param destAmount - The destination amount of the trade.\n * @param slippage - The slippage percentage to apply (e.g., 0.5 for 0.5%).\n * @param side - The side of the trade, either \"BUY\" or \"SELL\".\n * @returns An object containing the adjusted srcAmount and destAmount after applying slippage.\n */\nexport function applySlippage(\n {\n srcAmount,\n destAmount,\n }: Pick<DeltaOrMarketPrice, \"srcAmount\" | \"destAmount\">,\n slippage: number,\n side: \"BUY\" | \"SELL\"\n) {\n if (side === \"BUY\") {\n const srcAmountAfterSlippage = amountAfterSlippage(\n srcAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount: srcAmountAfterSlippage,\n destAmount,\n };\n }\n\n const destAmountAfterSlippage = amountAfterSlippage(\n destAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount,\n destAmount: destAmountAfterSlippage,\n };\n}\n\n/**\n * Calculates the destination amount after applying partner fee.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee.\n */\nexport function getDestAmountAfterFee({\n price,\n priceMode,\n}: {\n price: DeltaOrMarketPrice;\n priceMode: \"delta\" | \"market\";\n}) {\n const isDelta = priceMode === \"delta\";\n if (isDelta) {\n // For Delta: price.destAmount | price.destAmountAfterBridge are amounts after fee\n return \"destAmountAfterBridge\" in price\n ? price.destAmountAfterBridge\n : price.destAmount;\n }\n\n // For Market: price.destAmount is amount before fee\n return subtractFee(price.destAmount, price.partnerFee);\n}\n\n/**\n * Calculates the destination amount after applying partner fee and slippage.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param slippagePercent - The slippage percentage to apply.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee and slippage.\n */\nexport function getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n priceMode,\n}: {\n price: DeltaOrMarketPrice;\n slippagePercent: number;\n priceMode: \"delta\" | \"market\";\n}) {\n const destAmountAfterFee = getDestAmountAfterFee({ price, priceMode });\n return subtractSlippage(destAmountAfterFee, slippagePercent);\n}\n"],"names":["applySlippage","srcAmount","destAmount","slippage","side","srcAmountAfterSlippage","amountAfterSlippage","toFixed","destAmountAfterSlippage","getDestAmountAfterFee","price","priceMode","isDelta","destAmountAfterBridge","subtractFee","partnerFee","getDestAmountAfterFeeAndSlippage","slippagePercent","destAmountAfterFee","subtractSlippage"],"mappings":";;;AAaO,SAASA,aAAAA,CACd;AAAA,EACEC,SAAAA;AAAAA,EACAC;AACoD,CAAA,EACtDC,UACAC,IAAAA,EACA;AACA,EAAA,IAAIA,SAAS,KAAA,EAAO;AAClB,IAAA,MAAMC,yBAAyBC,mBAAAA,CAC7BL,SAAAA,EACAE,UACAC,IACF,CAAA,CAAEG,QAAQ,CAAC,CAAA;AAEX,IAAA,OAAO;AAAA,MACLN,SAAAA,EAAWI,sBAAAA;AAAAA,MACXH;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMM,0BAA0BF,mBAAAA,CAC9BJ,UAAAA,EACAC,UACAC,IACF,CAAA,CAAEG,QAAQ,CAAC,CAAA;AAEX,EAAA,OAAO;AAAA,IACLN,SAAAA;AAAAA,IACAC,UAAAA,EAAYM;AAAAA,GACd;AACF;AASO,SAASC,qBAAAA,CAAsB;AAAA,EACpCC,KAAAA;AAAAA,EACAC;AAIF,CAAA,EAAG;AACD,EAAA,MAAMC,UAAUD,SAAAA,KAAc,OAAA;AAC9B,EAAA,IAAIC,OAAAA,EAAS;AAEX,IAAA,OAAO,uBAAA,IAA2BF,KAAAA,GAC9BA,KAAAA,CAAMG,qBAAAA,GACNH,KAAAA,CAAMR,UAAAA;AAAAA,EACZ;AAGA,EAAA,OAAOY,WAAAA,CAAYJ,KAAAA,CAAMR,UAAAA,EAAYQ,KAAAA,CAAMK,UAAU,CAAA;AACvD;AAUO,SAASC,gCAAAA,CAAiC;AAAA,EAC/CN,KAAAA;AAAAA,EACAO,eAAAA;AAAAA,EACAN;AAKF,CAAA,EAAG;AACD,EAAA,MAAMO,qBAAqBT,qBAAAA,CAAsB;AAAA,IAAEC,KAAAA;AAAAA,IAAOC;AAAAA,GAAW,CAAA;AACrE,EAAA,OAAOQ,gBAAAA,CAAiBD,oBAAoBD,eAAe,CAAA;AAC7D;;;;"}
1
+ {"version":3,"file":"price.js","sources":["../../../src/lib/utils/price.ts"],"sourcesContent":["import type { DeltaOrMarketPrice } from \"@/hooks/swap/prices/types\";\nimport { amountAfterSlippage, subtractSlippage } from \"./slippage\";\nimport { subtractFee } from \"./fee\";\nimport {\n isBridgePrice,\n isDeltaPrice,\n} from \"@/hooks/swap/prices/delta/queries/useDeltaPriceQuery\";\n\n/**\n * Applies slippage to the srcAmount and destAmount of a DeltaOrMarketPrice.\n *\n * @param srcAmount - The source amount of the trade.\n * @param destAmount - The destination amount of the trade.\n * @param slippage - The slippage percentage to apply (e.g., 0.5 for 0.5%).\n * @param side - The side of the trade, either \"BUY\" or \"SELL\".\n * @returns An object containing the adjusted srcAmount and destAmount after applying slippage.\n */\nexport function applySlippage(\n {\n srcAmount,\n destAmount,\n }: Pick<DeltaOrMarketPrice, \"srcAmount\" | \"destAmount\">,\n slippage: number,\n side: \"BUY\" | \"SELL\"\n) {\n if (side === \"BUY\") {\n const srcAmountAfterSlippage = amountAfterSlippage(\n srcAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount: srcAmountAfterSlippage,\n destAmount,\n };\n }\n\n const destAmountAfterSlippage = amountAfterSlippage(\n destAmount,\n slippage,\n side\n ).toFixed(0);\n\n return {\n srcAmount,\n destAmount: destAmountAfterSlippage,\n };\n}\n\n/**\n * Calculates the destination amount after applying partner fee.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee.\n */\nexport function getDestAmountAfterFee(price: DeltaOrMarketPrice) {\n if (isDeltaPrice(price)) {\n // For Delta: price.destAmount | price.bridgeInfo.destAmountAfterBridge are amounts after fee\n return isBridgePrice(price)\n ? price.bridgeInfo.destAmountAfterBridge\n : price.destAmount;\n }\n\n // For Market: price.destAmount is amount before fee\n return subtractFee(price.destAmount, price.partnerFee);\n}\n\n/**\n * Calculates the destination amount after applying partner fee and slippage.\n *\n * @param price - The DeltaOrMarketPrice object containing destAmounts and partnerFee.\n * @param slippagePercent - The slippage percentage to apply.\n * @param priceMode - The mode of the price, either \"delta\" or \"market\".\n * @returns The destination amount after applying partner fee and slippage.\n */\nexport function getDestAmountAfterFeeAndSlippage({\n price,\n slippagePercent,\n}: {\n price: DeltaOrMarketPrice;\n slippagePercent: number;\n}) {\n const destAmountAfterFee = getDestAmountAfterFee(price);\n return subtractSlippage(destAmountAfterFee, slippagePercent);\n}\n"],"names":["applySlippage","srcAmount","destAmount","slippage","side","srcAmountAfterSlippage","amountAfterSlippage","toFixed","destAmountAfterSlippage","getDestAmountAfterFee","price","isDeltaPrice","isBridgePrice","bridgeInfo","destAmountAfterBridge","subtractFee","partnerFee","getDestAmountAfterFeeAndSlippage","slippagePercent","destAmountAfterFee","subtractSlippage"],"mappings":";;;;AAiBO,SAASA,aAAAA,CACd;AAAA,EACEC,SAAAA;AAAAA,EACAC;AACoD,CAAA,EACtDC,UACAC,IAAAA,EACA;AACA,EAAA,IAAIA,SAAS,KAAA,EAAO;AAClB,IAAA,MAAMC,yBAAyBC,mBAAAA,CAC7BL,SAAAA,EACAE,UACAC,IACF,CAAA,CAAEG,QAAQ,CAAC,CAAA;AAEX,IAAA,OAAO;AAAA,MACLN,SAAAA,EAAWI,sBAAAA;AAAAA,MACXH;AAAAA,KACF;AAAA,EACF;AAEA,EAAA,MAAMM,0BAA0BF,mBAAAA,CAC9BJ,UAAAA,EACAC,UACAC,IACF,CAAA,CAAEG,QAAQ,CAAC,CAAA;AAEX,EAAA,OAAO;AAAA,IACLN,SAAAA;AAAAA,IACAC,UAAAA,EAAYM;AAAAA,GACd;AACF;AASO,SAASC,sBAAsBC,KAAAA,EAA2B;AAC/D,EAAA,IAAIC,YAAAA,CAAaD,KAAK,CAAA,EAAG;AAEvB,IAAA,OAAOE,cAAcF,KAAK,CAAA,GACtBA,KAAAA,CAAMG,UAAAA,CAAWC,wBACjBJ,KAAAA,CAAMR,UAAAA;AAAAA,EACZ;AAGA,EAAA,OAAOa,WAAAA,CAAYL,KAAAA,CAAMR,UAAAA,EAAYQ,KAAAA,CAAMM,UAAU,CAAA;AACvD;AAUO,SAASC,gCAAAA,CAAiC;AAAA,EAC/CP,KAAAA;AAAAA,EACAQ;AAIF,CAAA,EAAG;AACD,EAAA,MAAMC,kBAAAA,GAAqBV,sBAAsBC,KAAK,CAAA;AACtD,EAAA,OAAOU,gBAAAA,CAAiBD,oBAAoBD,eAAe,CAAA;AAC7D;;;;"}
@@ -0,0 +1,3 @@
1
+ import { OptimalRate } from '@velora-dex/sdk';
2
+ export declare const getSavedAmountUSD: (priceRoute: Pick<OptimalRate, "others" | "destUSD" | "gasCostUSD" | "destAmount" | "partnerFee">) => number | undefined;
3
+ //# sourceMappingURL=savedAmountUSD.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savedAmountUSD.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/savedAmountUSD.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAOnD,eAAO,MAAM,iBAAiB,GAC5B,YAAY,IAAI,CACd,WAAW,EACX,QAAQ,GAAG,SAAS,GAAG,YAAY,GAAG,YAAY,GAAG,YAAY,CAClE,KACA,MAAM,GAAG,SAkEX,CAAC"}
@@ -0,0 +1,57 @@
1
+ import { isNonEmptyArray } from './index.js';
2
+ import { subtractFee } from './fee.js';
3
+ import Big from 'big.js';
4
+
5
+ const DEST_AMOUNT_THRESHOLD = 0.5;
6
+ const getSavedAmountUSD = (priceRoute) => {
7
+ const {
8
+ others,
9
+ destAmount,
10
+ destUSD,
11
+ gasCostUSD,
12
+ partnerFee
13
+ } = priceRoute;
14
+ if (!destUSD || !others || !isNonEmptyArray(others)) return;
15
+ const veloraDestAmount = new Big(destAmount);
16
+ if (veloraDestAmount.eq(0)) return;
17
+ const dollarsPerUnit = new Big(destUSD).div(veloraDestAmount);
18
+ const {
19
+ totalUSD: bestOthersDexTotalUsd,
20
+ destAmount: bestOthersDexDestAmount
21
+ } = others.reduce((maxTotal, exchange) => {
22
+ if (!exchange?.data?.gasUSD) return maxTotal;
23
+ const destAmount2 = subtractFee(exchange.destAmount, partnerFee);
24
+ const {
25
+ data: {
26
+ gasUSD
27
+ }
28
+ } = exchange;
29
+ const destAmountBN = new Big(destAmount2);
30
+ const destUSD2 = destAmountBN.mul(dollarsPerUnit);
31
+ const totalUSD = destUSD2.minus(gasUSD);
32
+ if (totalUSD.gt(maxTotal.totalUSD)) {
33
+ return {
34
+ totalUSD,
35
+ destAmount: destAmountBN
36
+ };
37
+ }
38
+ return maxTotal;
39
+ }, {
40
+ totalUSD: new Big(0),
41
+ destAmount: new Big(0)
42
+ });
43
+ if (bestOthersDexTotalUsd.eq(0)) return;
44
+ if (
45
+ // destAmount of the best Other DEX is < DEST_AMOUNT_THRESHOLD of Velora destAmount
46
+ // means that that DEX alone can't cover the whole srcAmount
47
+ // so You Save would be a large number not representative of reality
48
+ bestOthersDexDestAmount.div(veloraDestAmount).lte(DEST_AMOUNT_THRESHOLD)
49
+ ) return;
50
+ const veloraTotalUsd = new Big(subtractFee(destUSD, partnerFee)).minus(gasCostUSD);
51
+ const youSaveUsd = veloraTotalUsd.minus(bestOthersDexTotalUsd);
52
+ if (youSaveUsd.lte(0.01)) return;
53
+ return youSaveUsd.toNumber();
54
+ };
55
+
56
+ export { getSavedAmountUSD };
57
+ //# sourceMappingURL=savedAmountUSD.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"savedAmountUSD.js","sources":["../../../src/lib/utils/savedAmountUSD.ts"],"sourcesContent":["import { isNonEmptyArray } from \"@/lib/utils\";\nimport { subtractFee } from \"@/lib/utils/fee\";\nimport type { OptimalRate } from \"@velora-dex/sdk\";\nimport Big from \"big.js\";\n\n// if other DEXs have less than destAmount\n// don't count in `You save`\nconst DEST_AMOUNT_THRESHOLD = 0.5; // 50%\n\nexport const getSavedAmountUSD = (\n priceRoute: Pick<\n OptimalRate,\n \"others\" | \"destUSD\" | \"gasCostUSD\" | \"destAmount\" | \"partnerFee\"\n >\n): number | undefined => {\n const { others, destAmount, destUSD, gasCostUSD, partnerFee } = priceRoute;\n\n // missing arguments required for calc - early return\n if (\n !destUSD ||\n !others ||\n !isNonEmptyArray(others) // others must have at least one dex to compare to\n )\n return;\n\n const veloraDestAmount = new Big(destAmount);\n\n if (veloraDestAmount.eq(0)) return;\n\n const dollarsPerUnit = new Big(destUSD).div(veloraDestAmount);\n\n const {\n totalUSD: bestOthersDexTotalUsd,\n destAmount: bestOthersDexDestAmount,\n } = others.reduce<Record<\"totalUSD\" | \"destAmount\", Big>>(\n (maxTotal, exchange) => {\n // don't have data for this exchange -> skip it from calculation of the best of others\n if (!exchange?.data?.gasUSD) return maxTotal;\n\n const destAmount = subtractFee(exchange.destAmount, partnerFee);\n const {\n data: { gasUSD },\n } = exchange;\n\n const destAmountBN = new Big(destAmount);\n const destUSD = destAmountBN.mul(dollarsPerUnit);\n const totalUSD = destUSD.minus(gasUSD);\n\n if (totalUSD.gt(maxTotal.totalUSD)) {\n return {\n totalUSD,\n destAmount: destAmountBN,\n };\n }\n\n return maxTotal;\n },\n { totalUSD: new Big(0), destAmount: new Big(0) }\n );\n\n // no exchange from priceRoute.others had `gasUSD`\n if (bestOthersDexTotalUsd.eq(0)) return;\n\n if (\n // destAmount of the best Other DEX is < DEST_AMOUNT_THRESHOLD of Velora destAmount\n // means that that DEX alone can't cover the whole srcAmount\n // so You Save would be a large number not representative of reality\n bestOthersDexDestAmount.div(veloraDestAmount).lte(DEST_AMOUNT_THRESHOLD)\n )\n return;\n\n const veloraTotalUsd = new Big(subtractFee(destUSD, partnerFee)).minus(\n gasCostUSD\n );\n\n const youSaveUsd = veloraTotalUsd.minus(bestOthersDexTotalUsd);\n // very small amount or negative\n if (youSaveUsd.lte(0.01)) return;\n\n return youSaveUsd.toNumber();\n};\n"],"names":["DEST_AMOUNT_THRESHOLD","getSavedAmountUSD","priceRoute","others","destAmount","destUSD","gasCostUSD","partnerFee","isNonEmptyArray","veloraDestAmount","Big","eq","dollarsPerUnit","div","totalUSD","bestOthersDexTotalUsd","bestOthersDexDestAmount","reduce","maxTotal","exchange","data","gasUSD","subtractFee","destAmountBN","mul","minus","gt","lte","veloraTotalUsd","youSaveUsd","toNumber"],"mappings":";;;;AAOA,MAAMA,qBAAAA,GAAwB,GAAA;AAEvB,MAAMC,iBAAAA,GAAoBA,CAC/BC,UAAAA,KAIuB;AACvB,EAAA,MAAM;AAAA,IAAEC,MAAAA;AAAAA,IAAQC,UAAAA;AAAAA,IAAYC,OAAAA;AAAAA,IAASC,UAAAA;AAAAA,IAAYC;AAAAA,GAAW,GAAIL,UAAAA;AAGhE,EAAA,IACE,CAACG,OAAAA,IACD,CAACF,UACD,CAACK,eAAAA,CAAgBL,MAAM,CAAA,EAEvB;AAEF,EAAA,MAAMM,gBAAAA,GAAmB,IAAIC,GAAAA,CAAIN,UAAU,CAAA;AAE3C,EAAA,IAAIK,gBAAAA,CAAiBE,EAAAA,CAAG,CAAC,CAAA,EAAG;AAE5B,EAAA,MAAMC,iBAAiB,IAAIF,GAAAA,CAAIL,OAAO,CAAA,CAAEQ,IAAIJ,gBAAgB,CAAA;AAE5D,EAAA,MAAM;AAAA,IACJK,QAAAA,EAAUC,qBAAAA;AAAAA,IACVX,UAAAA,EAAYY;AAAAA,GACd,GAAIb,MAAAA,CAAOc,MAAAA,CACT,CAACC,UAAUC,QAAAA,KAAa;AAEtB,IAAA,IAAI,CAACA,QAAAA,EAAUC,IAAAA,EAAMC,MAAAA,EAAQ,OAAOH,QAAAA;AAEpC,IAAA,MAAMd,WAAAA,GAAakB,WAAAA,CAAYH,QAAAA,CAASf,UAAAA,EAAYG,UAAU,CAAA;AAC9D,IAAA,MAAM;AAAA,MACJa,IAAAA,EAAM;AAAA,QAAEC;AAAAA;AAAO,KACjB,GAAIF,QAAAA;AAEJ,IAAA,MAAMI,YAAAA,GAAe,IAAIb,GAAAA,CAAIN,WAAU,CAAA;AACvC,IAAA,MAAMC,QAAAA,GAAUkB,YAAAA,CAAaC,GAAAA,CAAIZ,cAAc,CAAA;AAC/C,IAAA,MAAME,QAAAA,GAAWT,QAAAA,CAAQoB,KAAAA,CAAMJ,MAAM,CAAA;AAErC,IAAA,IAAIP,QAAAA,CAASY,EAAAA,CAAGR,QAAAA,CAASJ,QAAQ,CAAA,EAAG;AAClC,MAAA,OAAO;AAAA,QACLA,QAAAA;AAAAA,QACAV,UAAAA,EAAYmB;AAAAA,OACd;AAAA,IACF;AAEA,IAAA,OAAOL,QAAAA;AAAAA,EACT,CAAA,EACA;AAAA,IAAEJ,QAAAA,EAAU,IAAIJ,GAAAA,CAAI,CAAC,CAAA;AAAA,IAAGN,UAAAA,EAAY,IAAIM,GAAAA,CAAI,CAAC;AAAA,GAC/C,CAAA;AAGA,EAAA,IAAIK,qBAAAA,CAAsBJ,EAAAA,CAAG,CAAC,CAAA,EAAG;AAEjC,EAAA;AAAA;AAAA;AAAA;AAAA,IAIEK,uBAAAA,CAAwBH,GAAAA,CAAIJ,gBAAgB,CAAA,CAAEkB,IAAI3B,qBAAqB;AAAA,IAEvE;AAEF,EAAA,MAAM4B,cAAAA,GAAiB,IAAIlB,GAAAA,CAAIY,WAAAA,CAAYjB,SAASE,UAAU,CAAC,CAAA,CAAEkB,KAAAA,CAC/DnB,UACF,CAAA;AAEA,EAAA,MAAMuB,UAAAA,GAAaD,cAAAA,CAAeH,KAAAA,CAAMV,qBAAqB,CAAA;AAE7D,EAAA,IAAIc,UAAAA,CAAWF,GAAAA,CAAI,IAAI,CAAA,EAAG;AAE1B,EAAA,OAAOE,WAAWC,QAAAA,EAAS;AAC7B;;;;"}
@@ -1,4 +1,4 @@
1
- import { DeltaOrderFromAPI } from '../../hooks/swap/prices/delta/queries/useDeltaOrders';
1
+ import { SubmittedDeltaOrderFromAPI } from '../../hooks/swap/prices/delta/queries/useDeltaOrders';
2
2
  import { MaybeVeloraDeltaAuction } from '../../hooks/swap/prices/delta/queries/useWatchDeltaOrder';
3
3
  import { Hash, TransactionReceipt } from 'viem';
4
4
  import { SupportedChainId } from '../web3/wagmi/types';
@@ -9,7 +9,7 @@ export type TxSentObject = {
9
9
  receiptPromise: Promise<TransactionReceipt>;
10
10
  };
11
11
  export type OrderSentObject = {
12
- order: DeltaOrderFromAPI;
12
+ order: SubmittedDeltaOrderFromAPI;
13
13
  lastOrderState: Promise<MaybeVeloraDeltaAuction>;
14
14
  };
15
15
  export declare function handleTxSent(txSent: TxSentObject): void;
@@ -1 +1 @@
1
- {"version":3,"file":"toasts.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toasts.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,kDAAkD,CAAC;AAC1F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAEpG,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,iBAAiB,CAAC;IACzB,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmCvD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CA4BhE"}
1
+ {"version":3,"file":"toasts.d.ts","sourceRoot":"","sources":["../../../src/lib/utils/toasts.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,kDAAkD,CAAC;AACnG,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,sDAAsD,CAAC;AAEpG,OAAO,KAAK,EAAE,IAAI,EAAE,kBAAkB,EAAE,MAAM,MAAM,CAAC;AACrD,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D,MAAM,MAAM,YAAY,GAAG;IACzB,MAAM,EAAE,IAAI,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC;IAC1B,UAAU,EAAE,SAAS,GAAG,MAAM,GAAG,SAAS,CAAC;IAC3C,cAAc,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC7C,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG;IAC5B,KAAK,EAAE,0BAA0B,CAAC;IAClC,cAAc,EAAE,OAAO,CAAC,uBAAuB,CAAC,CAAC;CAClD,CAAC;AAEF,wBAAgB,YAAY,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAmCvD;AAED,wBAAgB,eAAe,CAAC,SAAS,EAAE,eAAe,GAAG,IAAI,CA4BhE"}
@@ -1 +1 @@
1
- {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport type { DeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { toast } from \"sonner\";\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\n\nexport type TxSentObject = {\n txHash: Hash;\n chainId: SupportedChainId;\n actionType: \"approve\" | \"swap\" | \"wrapETH\"; // not used anymore\n receiptPromise: Promise<TransactionReceipt>;\n};\n\nexport type OrderSentObject = {\n order: DeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function handleTxSent(txSent: TxSentObject): void {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructTxLinkForChain({\n chainId: txSent.chainId,\n txHash: txSent.txHash,\n }),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n {...customToastProps}\n />\n ),\n };\n\n toast.promise(txSent.receiptPromise, toastOptions);\n}\n\nexport function handleOrderSent(orderSent: OrderSentObject): void {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["handleTxSent","txSent","customToastProps","toastId","crypto","randomUUID","detailsLink","constructTxLinkForChain","chainId","txHash","toastOptions","id","loading","success","error","toast","promise","receiptPromise","handleOrderSent","orderSent","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;AAuBO,SAASA,aAAaC,MAAAA,EAA4B;AACvD,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBC,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BC,aAAaC,uBAAAA,CAAwB;AAAA,MACnCC,SAASP,MAAAA,CAAOO,OAAAA;AAAAA,MAChBC,QAAQR,MAAAA,CAAOQ;AAAAA,KAChB;AAAA,GACH;AAEA,EAAA,MAAMC,YAAAA,GAAe;AAAA,IACnBC,IAAIT,gBAAAA,CAAiBC,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,GAAIV,gBAAAA,EAAiB,CAAA;AAAA,IAGzBW,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,GAAIX,gBAAAA,EAAiB,CAAA;AAAA,IAGzBY,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,GAAIZ,gBAAAA,EAAiB;AAAA,GAG3B;AAEAa,EAAAA,KAAAA,CAAMC,OAAAA,CAAQf,MAAAA,CAAOgB,cAAAA,EAAgBP,YAAY,CAAA;AACnD;AAEO,SAASQ,gBAAgBC,SAAAA,EAAkC;AAChE,EAAA,MAAMjB,gBAAAA,GAAmB;AAAA,IACvBC,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BC,WAAAA,EAAac,iCAAAA,CAAkCD,SAAAA,CAAUE,KAAAA,CAAMV,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIT,gBAAAA,CAAiBC,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIV,gBAAAA,EAAiB,CAAA;AAAA,IAGzBW,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIX,gBAAAA,EAAiB,CAAA;AAAA,IAGzBY,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIZ,gBAAAA,EAAiB;AAAA,GAE3E;AAEAa,EAAAA,KAAAA,CAAMC,OAAAA,CAAQG,SAAAA,CAAUG,cAAAA,EAAgBZ,YAAY,CAAA;AACtD;;;;"}
1
+ {"version":3,"file":"toasts.js","sources":["../../../src/lib/utils/toasts.tsx"],"sourcesContent":["import { CustomToast } from \"@/components/widget/Toasts/CustomToast\";\nimport type { SubmittedDeltaOrderFromAPI } from \"@/hooks/swap/prices/delta/queries/useDeltaOrders\";\nimport type { MaybeVeloraDeltaAuction } from \"@/hooks/swap/prices/delta/queries/useWatchDeltaOrder\";\nimport { toast } from \"sonner\";\nimport type { Hash, TransactionReceipt } from \"viem\";\nimport type { SupportedChainId } from \"../web3/wagmi/types\";\nimport {\n constructExplorerOrderDetailsLink,\n constructTxLinkForChain,\n} from \"./explorer\";\n\nexport type TxSentObject = {\n txHash: Hash;\n chainId: SupportedChainId;\n actionType: \"approve\" | \"swap\" | \"wrapETH\"; // not used anymore\n receiptPromise: Promise<TransactionReceipt>;\n};\n\nexport type OrderSentObject = {\n order: SubmittedDeltaOrderFromAPI;\n lastOrderState: Promise<MaybeVeloraDeltaAuction>;\n};\n\nexport function handleTxSent(txSent: TxSentObject): void {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructTxLinkForChain({\n chainId: txSent.chainId,\n txHash: txSent.txHash,\n }),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Transaction\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Transaction Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast\n variant=\"error\"\n label=\"Transaction Failed\"\n {...customToastProps}\n />\n ),\n };\n\n toast.promise(txSent.receiptPromise, toastOptions);\n}\n\nexport function handleOrderSent(orderSent: OrderSentObject): void {\n const customToastProps = {\n toastId: crypto.randomUUID(),\n detailsLink: constructExplorerOrderDetailsLink(orderSent.order.id),\n };\n\n const toastOptions = {\n id: customToastProps.toastId,\n loading: (\n <CustomToast\n variant=\"loading\"\n label=\"Pending Order\"\n {...customToastProps}\n />\n ),\n success: (\n <CustomToast\n variant=\"success\"\n label=\"Order Confirmed\"\n {...customToastProps}\n />\n ),\n error: (\n <CustomToast variant=\"error\" label=\"Order Failed\" {...customToastProps} />\n ),\n };\n\n toast.promise(orderSent.lastOrderState, toastOptions);\n}\n"],"names":["handleTxSent","txSent","customToastProps","toastId","crypto","randomUUID","detailsLink","constructTxLinkForChain","chainId","txHash","toastOptions","id","loading","success","error","toast","promise","receiptPromise","handleOrderSent","orderSent","constructExplorerOrderDetailsLink","order","lastOrderState"],"mappings":";;;;;AAuBO,SAASA,aAAaC,MAAAA,EAA4B;AACvD,EAAA,MAAMC,gBAAAA,GAAmB;AAAA,IACvBC,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BC,aAAaC,uBAAAA,CAAwB;AAAA,MACnCC,SAASP,MAAAA,CAAOO,OAAAA;AAAAA,MAChBC,QAAQR,MAAAA,CAAOQ;AAAAA,KAChB;AAAA,GACH;AAEA,EAAA,MAAMC,YAAAA,GAAe;AAAA,IACnBC,IAAIT,gBAAAA,CAAiBC,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,qBAAA,EACN,GAAIV,gBAAAA,EAAiB,CAAA;AAAA,IAGzBW,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,uBAAA,EACN,GAAIX,gBAAAA,EAAiB,CAAA;AAAA,IAGzBY,KAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,SACR,KAAA,EAAM,oBAAA,EACN,GAAIZ,gBAAAA,EAAiB;AAAA,GAG3B;AAEAa,EAAAA,KAAAA,CAAMC,OAAAA,CAAQf,MAAAA,CAAOgB,cAAAA,EAAgBP,YAAY,CAAA;AACnD;AAEO,SAASQ,gBAAgBC,SAAAA,EAAkC;AAChE,EAAA,MAAMjB,gBAAAA,GAAmB;AAAA,IACvBC,OAAAA,EAASC,OAAOC,UAAAA,EAAW;AAAA,IAC3BC,WAAAA,EAAac,iCAAAA,CAAkCD,SAAAA,CAAUE,KAAAA,CAAMV,EAAE;AAAA,GACnE;AAEA,EAAA,MAAMD,YAAAA,GAAe;AAAA,IACnBC,IAAIT,gBAAAA,CAAiBC,OAAAA;AAAAA,IACrBS,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,eAAA,EACN,GAAIV,gBAAAA,EAAiB,CAAA;AAAA,IAGzBW,OAAAA,sBACG,WAAA,EAAA,EACC,OAAA,EAAQ,WACR,KAAA,EAAM,iBAAA,EACN,GAAIX,gBAAAA,EAAiB,CAAA;AAAA,IAGzBY,KAAAA,sBACG,WAAA,EAAA,EAAY,OAAA,EAAQ,SAAQ,KAAA,EAAM,cAAA,EAAe,GAAIZ,gBAAAA,EAAiB;AAAA,GAE3E;AAEAa,EAAAA,KAAAA,CAAMC,OAAAA,CAAQG,SAAAA,CAAUG,cAAAA,EAAgBZ,YAAY,CAAA;AACtD;;;;"}
@@ -28,7 +28,7 @@ const privyConfig = {
28
28
  },
29
29
  // another option is to give an invalid ID,
30
30
  // but then it retries indefinitely
31
- walletConnectCloudProjectId: "7535ce67d223b89670980f2442899904",
31
+ walletConnectCloudProjectId: "9796e40630a6bea7605ac281b0deb939",
32
32
  // Privy doesn't accept const Chain[]
33
33
  supportedChains: chains
34
34
  // defaultChain: chains[0], @TODO set to App's selected chain
@@ -11,7 +11,7 @@ const connectors = [
11
11
  // metaMask() as CreateConnectorFn, // injected() detects metamask already
12
12
  coinbaseWallet(),
13
13
  walletConnect({
14
- projectId: "7535ce67d223b89670980f2442899904"
14
+ projectId: "9796e40630a6bea7605ac281b0deb939"
15
15
  })
16
16
  // getPrivyWalletConnector(), // only CorssApp Privy connector is available, not our use case
17
17
  ];
package/dist/styles.css CHANGED
@@ -67,7 +67,7 @@
67
67
  }
68
68
  }
69
69
  }
70
- .velora-widget {
70
+ :root, :host {
71
71
  --font-sans: ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
72
72
  --font-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
73
73
  --color-red-800: oklch(44.4% .177 26.899);
@@ -791,6 +791,9 @@
791
791
  .velora-widget.velora-widget .min-w-\[160px\] {
792
792
  min-width: 160px;
793
793
  }
794
+ .velora-widget.velora-widget .min-w-\[200px\] {
795
+ min-width: 200px;
796
+ }
794
797
  .velora-widget.velora-widget .min-w-\[220px\] {
795
798
  min-width: 220px;
796
799
  }
@@ -1009,9 +1012,6 @@
1009
1012
  .velora-widget.velora-widget .rounded-\[4px\] {
1010
1013
  border-radius: 4px;
1011
1014
  }
1012
- .velora-widget.velora-widget .rounded-\[10px\] {
1013
- border-radius: 10px;
1014
- }
1015
1015
  .velora-widget.velora-widget .rounded-\[12px\] {
1016
1016
  border-radius: 12px;
1017
1017
  }
@@ -1344,6 +1344,9 @@
1344
1344
  .velora-widget.velora-widget .pt-\[24px\] {
1345
1345
  padding-top: 24px;
1346
1346
  }
1347
+ .velora-widget.velora-widget .pr-0\.5 {
1348
+ padding-right: calc(var(--spacing) * .5);
1349
+ }
1347
1350
  .velora-widget.velora-widget .pr-2 {
1348
1351
  padding-right: calc(var(--spacing) * 2);
1349
1352
  }
@@ -1410,6 +1413,9 @@
1410
1413
  .velora-widget.velora-widget .text-center {
1411
1414
  text-align: center;
1412
1415
  }
1416
+ .velora-widget.velora-widget .text-end {
1417
+ text-align: end;
1418
+ }
1413
1419
  .velora-widget.velora-widget .text-left {
1414
1420
  text-align: left;
1415
1421
  }
@@ -1448,6 +1454,9 @@
1448
1454
  .velora-widget.velora-widget .text-\[10px\] {
1449
1455
  font-size: 10px;
1450
1456
  }
1457
+ .velora-widget.velora-widget .text-\[11px\] {
1458
+ font-size: 11px;
1459
+ }
1451
1460
  .velora-widget.velora-widget .text-\[18px\] {
1452
1461
  font-size: 18px;
1453
1462
  }
@@ -1483,6 +1492,9 @@
1483
1492
  .velora-widget.velora-widget .text-wrap {
1484
1493
  text-wrap: wrap;
1485
1494
  }
1495
+ .velora-widget.velora-widget .wrap-anywhere {
1496
+ overflow-wrap: anywhere;
1497
+ }
1486
1498
  .velora-widget.velora-widget .text-ellipsis {
1487
1499
  text-overflow: ellipsis;
1488
1500
  }
@@ -2164,8 +2176,8 @@
2164
2176
  .velora-widget.velora-widget .data-\[vaul-drawer-direction\=bottom\]\:mt-24[data-vaul-drawer-direction="bottom"] {
2165
2177
  margin-top: calc(var(--spacing) * 24);
2166
2178
  }
2167
- .velora-widget.velora-widget .data-\[vaul-drawer-direction\=bottom\]\:max-h-\[80vh\][data-vaul-drawer-direction="bottom"] {
2168
- max-height: 80vh;
2179
+ .velora-widget.velora-widget .data-\[vaul-drawer-direction\=bottom\]\:max-h-\[100\%\][data-vaul-drawer-direction="bottom"] {
2180
+ max-height: 100%;
2169
2181
  }
2170
2182
  .velora-widget.velora-widget .data-\[vaul-drawer-direction\=bottom\]\:rounded-xxl[data-vaul-drawer-direction="bottom"] {
2171
2183
  border-radius: calc(var(--radius) + 10px);
@@ -2209,8 +2221,8 @@
2209
2221
  .velora-widget.velora-widget .data-\[vaul-drawer-direction\=top\]\:mb-24[data-vaul-drawer-direction="top"] {
2210
2222
  margin-bottom: calc(var(--spacing) * 24);
2211
2223
  }
2212
- .velora-widget.velora-widget .data-\[vaul-drawer-direction\=top\]\:max-h-\[80vh\][data-vaul-drawer-direction="top"] {
2213
- max-height: 80vh;
2224
+ .velora-widget.velora-widget .data-\[vaul-drawer-direction\=top\]\:max-h-\[100\%\][data-vaul-drawer-direction="top"] {
2225
+ max-height: 100%;
2214
2226
  }
2215
2227
  .velora-widget.velora-widget .data-\[vaul-drawer-direction\=top\]\:rounded-b-lg[data-vaul-drawer-direction="top"] {
2216
2228
  border-bottom-right-radius: calc(var(--radius) + 2px);
@@ -2328,6 +2340,9 @@
2328
2340
  .velora-widget.velora-widget .dark\:stroke-contrast-7:is(.velora-widget.dark *) {
2329
2341
  stroke: var(--contrast-7);
2330
2342
  }
2343
+ .velora-widget.velora-widget .dark\:text-contrast-3:is(.velora-widget.dark *) {
2344
+ color: var(--contrast-3);
2345
+ }
2331
2346
  .velora-widget.velora-widget .dark\:text-contrast-4:is(.velora-widget.dark *) {
2332
2347
  color: var(--contrast-4);
2333
2348
  }
@@ -10,7 +10,8 @@ declare const _default: [
10
10
  "url": "https://tokens.coingecko.com/ethereum/all.json",
11
11
  "filename": "coingecko",
12
12
  "chainId": 1,
13
- "listName": "CoinGecko"
13
+ "listName": "CoinGecko",
14
+ "onByDefault": true
14
15
  },
15
16
  {
16
17
  "url": "https://tokens.uniswap.org",
@@ -84,7 +85,8 @@ declare const _default: [
84
85
  "url": "https://tokens.coingecko.com/binance-smart-chain/all.json",
85
86
  "filename": "coingecko_bsc",
86
87
  "chainId": 56,
87
- "listName": "Coingecko"
88
+ "listName": "Coingecko",
89
+ "onByDefault": true
88
90
  },
89
91
  {
90
92
  "url": "https://raw.githubusercontent.com/bgd-labs/aave-address-book/main/tokenlist.json",
@@ -246,6 +248,86 @@ declare const _default: [
246
248
  "chainId": 130,
247
249
  "listName": "Coingecko",
248
250
  "onByDefault": true
251
+ },
252
+ {
253
+ "url": "./crosschain_token_list.json",
254
+ "filename": "crosschain_token_list",
255
+ "chainId": 1,
256
+ "listName": "Crosschain Token List",
257
+ "onByDefault": false,
258
+ "tags": ["crosschain_swap"]
259
+ },
260
+ {
261
+ "url": "./crosschain_token_list.json",
262
+ "filename": "crosschain_token_list",
263
+ "chainId": 10,
264
+ "listName": "Crosschain Token List",
265
+ "onByDefault": false,
266
+ "tags": ["crosschain_swap"]
267
+ },
268
+ {
269
+ "url": "./crosschain_token_list.json",
270
+ "filename": "crosschain_token_list",
271
+ "chainId": 137,
272
+ "listName": "Crosschain Token List",
273
+ "onByDefault": false,
274
+ "tags": ["crosschain_swap"]
275
+ },
276
+ {
277
+ "url": "./crosschain_token_list.json",
278
+ "filename": "crosschain_token_list",
279
+ "chainId": 56,
280
+ "listName": "Crosschain Token List",
281
+ "onByDefault": false,
282
+ "tags": ["crosschain_swap"]
283
+ },
284
+ {
285
+ "url": "./crosschain_token_list.json",
286
+ "filename": "crosschain_token_list",
287
+ "chainId": 43114,
288
+ "listName": "Crosschain Token List",
289
+ "onByDefault": false,
290
+ "tags": ["crosschain_swap"]
291
+ },
292
+ {
293
+ "url": "./crosschain_token_list.json",
294
+ "filename": "crosschain_token_list",
295
+ "chainId": 42161,
296
+ "listName": "Crosschain Token List",
297
+ "onByDefault": false,
298
+ "tags": ["crosschain_swap"]
299
+ },
300
+ {
301
+ "url": "./crosschain_token_list.json",
302
+ "filename": "crosschain_token_list",
303
+ "chainId": 100,
304
+ "listName": "Crosschain Token List",
305
+ "onByDefault": false,
306
+ "tags": ["crosschain_swap"]
307
+ },
308
+ {
309
+ "url": "./crosschain_token_list.json",
310
+ "filename": "crosschain_token_list",
311
+ "chainId": 130,
312
+ "listName": "Crosschain Token List",
313
+ "onByDefault": false,
314
+ "tags": ["crosschain_swap"]
315
+ },
316
+ {
317
+ "url": "./crosschain_token_list.json",
318
+ "filename": "crosschain_token_list",
319
+ "chainId": 146,
320
+ "listName": "Crosschain Token List",
321
+ "onByDefault": false,
322
+ "tags": ["crosschain_swap"]
323
+ },
324
+ {
325
+ "url": "./crosschain_token_list.json",
326
+ "filename": "crosschain_token_list",
327
+ "chainId": 8453,
328
+ "listName": "Crosschain Token List",
329
+ "onByDefault": false,
330
+ "tags": ["crosschain_swap"]
249
331
  }
250
332
  ]
251
333
  ;