@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,8 +1,9 @@
1
1
  import { UseMutationOptions, UseMutationResult } from '@tanstack/react-query';
2
- import { BuildDeltaOrderDataParams, DeltaAuction, MinViemClient } from '@velora-dex/sdk';
2
+ import { BuildDeltaOrderDataParams, MinViemClient } from '@velora-dex/sdk';
3
3
  import { Address } from 'viem';
4
+ import { SubmittedDeltaOrderFromAPI } from '../queries/useDeltaOrders';
4
5
  type CreateDeltaOrderParams = BuildDeltaOrderDataParams;
5
- type CreateDeltaOrderReturn = DeltaAuction;
6
+ type CreateDeltaOrderReturn = SubmittedDeltaOrderFromAPI;
6
7
  type CreateDeltaOrderInput = {
7
8
  orderInput: CreateDeltaOrderParams;
8
9
  referrerAddress?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EACV,yBAAyB,EACzB,YAAY,EACZ,aAAa,EACd,MAAM,iBAAiB,CAAC;AAEzB,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAEpC,KAAK,sBAAsB,GAAG,yBAAyB,CAAC;AACxD,KAAK,sBAAsB,GAAG,YAAY,CAAC;AAE3C,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,KAAK,+BAA+B,GAAG,IAAI,CACzC,kBAAkB,CAAC,sBAAsB,EAAE,KAAK,EAAE,qBAAqB,CAAC,EACxE,YAAY,CACb,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,eAAe,CAAC,EAAE,+BAA+B,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAE3D,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,wBAAwB,GAAG,iBAAiB,CAC7C,sBAAsB,EACtB,KAAK,EACL,qBAAqB,CACtB,CA6CA"}
1
+ {"version":3,"file":"useCreateDeltaOrder.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,kBAAkB,EACvB,KAAK,iBAAiB,EACvB,MAAM,uBAAuB,CAAC;AAC/B,OAAO,KAAK,EAAE,yBAAyB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhF,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE5E,KAAK,sBAAsB,GAAG,yBAAyB,CAAC;AACxD,KAAK,sBAAsB,GAAG,0BAA0B,CAAC;AAEzD,KAAK,qBAAqB,GAAG;IAC3B,UAAU,EAAE,sBAAsB,CAAC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,WAAW,CAAC;CACtB,CAAC;AAEF,KAAK,+BAA+B,GAAG,IAAI,CACzC,kBAAkB,CAAC,sBAAsB,EAAE,KAAK,EAAE,qBAAqB,CAAC,EACxE,YAAY,CACb,CAAC;AAEF,KAAK,wBAAwB,GAAG;IAC9B,eAAe,CAAC,EAAE,+BAA+B,CAAC;IAClD,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,aAAa,CAAC;CACxB,CAAC;AAEF,eAAO,MAAM,wBAAwB,qBAAqB,CAAC;AAE3D,wBAAgB,mBAAmB,CAAC,EAClC,eAAe,EACf,OAAO,EACP,OAAO,EACP,MAAM,GACP,EAAE,wBAAwB,GAAG,iBAAiB,CAC7C,sBAAsB,EACtB,KAAK,EACL,qBAAqB,CACtB,CA6CA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useCreateDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type {\n BuildDeltaOrderDataParams,\n DeltaAuction,\n MinViemClient,\n} from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address } from \"viem\";\n\ntype CreateDeltaOrderParams = BuildDeltaOrderDataParams;\ntype CreateDeltaOrderReturn = DeltaAuction;\n\ntype CreateDeltaOrderInput = {\n orderInput: CreateDeltaOrderParams;\n referrerAddress?: string;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CreateDeltaOrderMutationOptions = Omit<\n UseMutationOptions<CreateDeltaOrderReturn, Error, CreateDeltaOrderInput>,\n \"mutationFn\"\n>;\n\ntype CreateDeltaOrderMutInput = {\n mutationOptions?: CreateDeltaOrderMutationOptions;\n chainId: number;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const DELTA_ORDER_MUTATION_KEY = \"createDeltaOrder\";\n\nexport function useCreateDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateDeltaOrderMutInput): UseMutationResult<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput\n> {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n\n return useMutation<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput,\n unknown\n >({\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, referrerAddress, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signDeltaOrder\" in sdk,\n \"signDeltaOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signDeltaOrder functionality\n\n // Step 1: Build the Delta order\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Delta order (only available on full DeltaSDK, not ReadOnlyDeltaSDK)\n const signature = await sdk.signDeltaOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Delta order to the API\n const orderFromAPI = await sdk.postDeltaOrder({\n signature,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n });\n\n return orderFromAPI;\n },\n ...mutationOptions,\n });\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useCreateDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","t2","Symbol","for","t3","t4","orderInput","referrerAddress","signal","throwIfAborted","assert","signableTypedData","buildDeltaOrder","signature","signDeltaOrder","orderFromAPI","postDeltaOrder","order","data","partner","mutationKey","mutationFn","useMutation"],"mappings":"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"}
1
+ {"version":3,"file":"useCreateDeltaOrder.js","sources":["../../../../../../src/hooks/swap/prices/delta/mutations/useCreateDeltaOrder.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n useMutation,\n type UseMutationOptions,\n type UseMutationResult,\n} from \"@tanstack/react-query\";\nimport type { BuildDeltaOrderDataParams, MinViemClient } from \"@velora-dex/sdk\";\nimport { assert } from \"ts-essentials\";\nimport type { Address } from \"viem\";\nimport type { SubmittedDeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\ntype CreateDeltaOrderParams = BuildDeltaOrderDataParams;\ntype CreateDeltaOrderReturn = SubmittedDeltaOrderFromAPI;\n\ntype CreateDeltaOrderInput = {\n orderInput: CreateDeltaOrderParams;\n referrerAddress?: string;\n signal?: AbortSignal; // since we have separate actions, we can abort in-between\n};\n\ntype CreateDeltaOrderMutationOptions = Omit<\n UseMutationOptions<CreateDeltaOrderReturn, Error, CreateDeltaOrderInput>,\n \"mutationFn\"\n>;\n\ntype CreateDeltaOrderMutInput = {\n mutationOptions?: CreateDeltaOrderMutationOptions;\n chainId: number;\n account?: Address;\n client?: MinViemClient;\n};\n\nexport const DELTA_ORDER_MUTATION_KEY = \"createDeltaOrder\";\n\nexport function useCreateDeltaOrder({\n mutationOptions,\n chainId,\n account,\n client,\n}: CreateDeltaOrderMutInput): UseMutationResult<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput\n> {\n const { sdk } = useDeltaSDK({ chainId, account, client });\n\n return useMutation<\n CreateDeltaOrderReturn,\n Error,\n CreateDeltaOrderInput,\n unknown\n >({\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n mutationFn: async ({ orderInput, referrerAddress, signal }) => {\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n assert(\n \"signDeltaOrder\" in sdk,\n \"signDeltaOrder is not available on this SDK\"\n );\n // Note: This mutation requires the SDK to be initialized with account and client\n // to access signDeltaOrder functionality\n\n // Step 1: Build the Delta order\n const signableTypedData = await sdk.buildDeltaOrder(orderInput);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 2: Sign the Delta order (only available on full DeltaSDK, not ReadOnlyDeltaSDK)\n const signature = await sdk.signDeltaOrder(signableTypedData);\n\n // if aborted by this point, throw an error\n signal?.throwIfAborted();\n\n // Step 3: Submit the Delta order to the API\n const orderFromAPI = await sdk.postDeltaOrder({\n signature,\n order: signableTypedData.data,\n partner: orderInput.partner,\n referrerAddress,\n });\n\n return orderFromAPI;\n },\n ...mutationOptions,\n });\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useCreateDeltaOrder","t0","$","_c","mutationOptions","chainId","account","client","t1","sdk","useDeltaSDK","t2","Symbol","for","t3","t4","orderInput","referrerAddress","signal","throwIfAborted","assert","signableTypedData","buildDeltaOrder","signature","signDeltaOrder","orderFromAPI","postDeltaOrder","order","data","partner","mutationKey","mutationFn","useMutation"],"mappings":"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"}
@@ -16,12 +16,12 @@ export declare function isOrderExpired(auction: MarkOptional<DeltaAuction, "sign
16
16
  status: "EXPIRED";
17
17
  };
18
18
  export declare const DeltaOrderStatusChecker: {
19
- pending: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
20
- executing: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
21
- active: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
22
- success: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
23
- completed: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
24
- failed: Set<"NOT_STARTED" | "POSTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED">;
19
+ pending: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
20
+ executing: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
21
+ active: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
22
+ success: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
23
+ completed: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
24
+ failed: Set<"NOT_STARTED" | "RUNNING" | "EXECUTING" | "EXECUTED" | "FAILED" | "EXPIRED" | "CANCELLED">;
25
25
  };
26
26
  export declare const BridgeStatusChecker: {
27
27
  pending: Set<BridgeStatus>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAU5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,QAAQ,CAAC;CACxB,CAEA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,UAAU,CAAC;CAC1B,CAEA;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,oBAAoB,CASjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,kBAAkB,CAgB/B;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,SAAS,CAAC;CACnB,CAEA;AAKD,eAAO,MAAM,uBAAuB;;;;;;;CAenC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,iBAAiB,CAQnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,iBAAiB,CAWnB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,GAC7D,iBAAiB,CAInB"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,YAAY,EACZ,iBAAiB,EAClB,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAChE,OAAO,KAAK,EACV,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EACnB,MAAM,SAAS,CAAC;AACjB,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,IAAI,CAAC,iBAAiB,EAAE,QAAQ,CAAC,GACvC,OAAO,CAET;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,OAAO,GAAG,IAAI,IAAI,iBAAiB,CAU5E;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,QAAQ,CAAC;CACxB,CAEA;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,cAAc,GAAG,gBAAgB,CAAC,GAC3D,KAAK,IAAI,YAAY,CAAC,YAAY,EAAE,gBAAgB,CAAC,GAAG;IACzD,YAAY,EAAE,UAAU,CAAC;CAC1B,CAEA;AAED,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,oBAAoB,CASjC;AAED,wBAAgB,oBAAoB,CAClC,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,EAChD,iBAAiB,UAAO,GACvB,OAAO,IAAI,kBAAkB,CAgB/B;AAED,wBAAgB,cAAc,CAC5B,OAAO,EAAE,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAC/C,OAAO,IAAI,YAAY,CAAC,YAAY,EAAE,WAAW,CAAC,GAAG;IACtD,MAAM,EAAE,SAAS,CAAC;CACnB,CAEA;AAKD,eAAO,MAAM,uBAAuB;;;;;;;CAoBnC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;CAI/B,CAAC;AAGF,MAAM,MAAM,iBAAiB,GACzB,SAAS,GACT,WAAW,GACX,QAAQ,GACR,WAAW,CAAC;AAEhB,wBAAgB,yBAAyB,CACvC,WAAW,EAAE,kBAAkB,GAC9B,iBAAiB,CAQnB;AAED,wBAAgB,wBAAwB,CACtC,MAAM,EAAE,kBAAkB,EAC1B,YAAY,EAAE,YAAY,GAAG,IAAI,GAChC,iBAAiB,CAWnB;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,QAAQ,GAAG,cAAc,GAAG,OAAO,CAAC,GAC7D,iBAAiB,CAInB"}
@@ -25,11 +25,11 @@ function isOrderExpired(auction) {
25
25
  return auction.status === "EXPIRED";
26
26
  }
27
27
  const DeltaOrderStatusChecker = {
28
- pending: /* @__PURE__ */ new Set(["NOT_STARTED", "POSTED", "RUNNING"]),
28
+ pending: /* @__PURE__ */ new Set(["NOT_STARTED", "RUNNING"]),
29
29
  // adjust for when we want to show Pending state
30
30
  executing: /* @__PURE__ */ new Set(["EXECUTING"]),
31
- completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED"]),
32
- failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED"])
31
+ completed: /* @__PURE__ */ new Set(["EXECUTED", "FAILED", "EXPIRED", "CANCELLED"]),
32
+ failed: /* @__PURE__ */ new Set(["FAILED", "EXPIRED", "CANCELLED"])
33
33
  };
34
34
  const BridgeStatusChecker = {
35
35
  failed: /* @__PURE__ */ new Set(["expired", "refunded"])
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\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\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (auction.status === \"FAILED\") return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (\n waitForCrosschain &&\n auction.status === \"EXECUTED\" &&\n auction.order.bridge.destinationChainId !== 0\n ) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return true;\n}\n\nexport function isOrderExpired(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\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>([\"NOT_STARTED\", \"POSTED\", \"RUNNING\"]), // 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 \"POSTED\",\n \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n ]), // order always active, unless actual submission breaks\n success: new Set<DeltaAuctionStatus>([\"EXECUTED\"]),\n completed: new Set<DeltaAuctionStatus>([\"EXECUTED\", \"FAILED\", \"EXPIRED\"]),\n failed: new Set<DeltaAuctionStatus>([\"FAILED\", \"EXPIRED\"]),\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 return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","isOrderExpired","DeltaOrderStatusChecker","pending","Set","executing","completed","failed","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","has","getCrossChainOrderStatus","getOverallOrderStatus"],"mappings":"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"}
1
+ {"version":3,"file":"utils.js","sources":["../../../../../../src/hooks/swap/prices/delta/orders/utils.ts"],"sourcesContent":["import type {\n BridgeStatus,\n DeltaAuction,\n DeltaAuctionOrder,\n} from \"@velora-dex/sdk\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport type {\n DeltaAuctionStatus,\n ExecutedDeltaAuction,\n FailedDeltaAuction,\n} from \"./types\";\nimport type { DeltaOrderFromAPI } from \"../queries/useDeltaOrders\";\n\nexport function isOrderCrosschain(\n order: Pick<DeltaAuctionOrder, \"bridge\">\n): boolean {\n return order.bridge && order.bridge.destinationChainId !== 0;\n}\n\nexport function isDeltaOrderFromApi(data: unknown): data is DeltaOrderFromAPI {\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\nexport function isBridgedOrderExecuted(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"filled\";\n} {\n return order.bridgeStatus === \"filled\";\n}\n\nexport function isBridgedOrderFailed(\n order: Pick<DeltaAuction, \"bridgeStatus\" | \"bridgeMetadata\">\n): order is MarkRequired<DeltaAuction, \"bridgeMetadata\"> & {\n bridgeStatus: \"refunded\";\n} {\n return order.bridgeStatus === \"refunded\";\n}\n\nexport function isExecutedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is ExecutedDeltaAuction {\n if (auction.status !== \"EXECUTED\") return false;\n\n // crosschain Order is executed on destChain if bridgeStatus is filled\n if (waitForCrosschain && isOrderCrosschain(auction.order)) {\n return isBridgedOrderExecuted(auction);\n }\n\n return true;\n}\n\nexport function isFailedDeltaAuction(\n auction: MarkOptional<DeltaAuction, \"signature\">,\n waitForCrosschain = true // only consider executed when destChain work is done\n): auction is FailedDeltaAuction {\n // already failed on srcChain, whether Order is crosschain or not\n if (auction.status === \"FAILED\") return true;\n\n // crosschain Order is executed on srcChain, but failed on destChain\n if (\n waitForCrosschain &&\n auction.status === \"EXECUTED\" &&\n auction.order.bridge.destinationChainId !== 0\n ) {\n return (\n auction.bridgeStatus === \"expired\" || auction.bridgeStatus === \"refunded\"\n );\n }\n\n return true;\n}\n\nexport function isOrderExpired(\n auction: MarkOptional<DeltaAuction, \"signature\">\n): auction is MarkRequired<DeltaAuction, \"signature\"> & {\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>([\"NOT_STARTED\", \"RUNNING\"]), // 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 \"RUNNING\",\n \"EXECUTED\",\n \"FAILED\",\n \"EXPIRED\",\n \"CANCELLED\",\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 ]),\n failed: new Set<DeltaAuctionStatus>([\"FAILED\", \"EXPIRED\", \"CANCELLED\"]),\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 return \"executing\"; // executed already on source chain, but not yet on destination chain,\n // visually we show \"executing\"\n}\n\nexport function getOverallOrderStatus(\n order: Pick<DeltaAuction, \"status\" | \"bridgeStatus\" | \"order\">\n): VisualOrderStatus {\n return isOrderCrosschain(order.order)\n ? getCrossChainOrderStatus(order.status, order.bridgeStatus)\n : getSingleChainOrderStatus(order.status);\n}\n"],"names":["isOrderCrosschain","order","bridge","destinationChainId","isDeltaOrderFromApi","data","isBridgedOrderExecuted","bridgeStatus","isExecutedDeltaAuction","auction","waitForCrosschain","status","isFailedDeltaAuction","isOrderExpired","DeltaOrderStatusChecker","pending","Set","executing","completed","failed","BridgeStatusChecker","getSingleChainOrderStatus","orderStatus","has","getCrossChainOrderStatus","getOverallOrderStatus"],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { GetDeltaOrdersFunctions } from '@velora-dex/sdk';
2
+ import { GetDeltaOrdersFunctions, PostDeltaOrderFunctions } from '@velora-dex/sdk';
3
+ export type SubmittedDeltaOrderFromAPI = Awaited<ReturnType<PostDeltaOrderFunctions["postDeltaOrder"]>>;
3
4
  export type DeltaOrderFromAPI = Awaited<ReturnType<GetDeltaOrdersFunctions["getDeltaOrderById"]>>;
4
5
  type DeltaOrderByHashParams = string;
5
6
  type DeltaOrderByHashReturn = DeltaOrderFromAPI;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaOrders.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaOrders.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { Query, UseQueryOptions, UseQueryResult } from '@tanstack/react-query';
2
- import { DeltaPrice, BridgePrice, DeltaPriceParams as DParams } from '@velora-dex/sdk';
2
+ import { DeltaPrice, BridgePrice, DeltaPriceParams as DParams, OptimalRate } from '@velora-dex/sdk';
3
3
  import { MarkOptional } from 'ts-essentials';
4
4
  type RequiredDeltaPriceParams = Omit<DParams, "destChainId">;
5
5
  type DeltaPriceParams = MarkOptional<RequiredDeltaPriceParams, "destToken" | "destDecimals">;
@@ -32,6 +32,7 @@ export declare function useDeltaPriceQuery<TData = DeltaPrice>({ priceParams, qu
32
32
  export declare function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({ priceParams, query, chainId, timeout, }: DeltaPriceQueryInput<TData> & {
33
33
  destChainId?: number;
34
34
  }): DeltaQueryResult<TData>;
35
+ export declare function isDeltaPrice(price: OptimalRate | DeltaPrice): price is DeltaPrice;
35
36
  export declare function isBridgePrice(price: DeltaPrice | BridgePrice): price is BridgePrice;
36
37
  type GetDeltaPriceQueryForPriceInput = {
37
38
  price: DeltaPrice | BridgePrice;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.d.ts","sourceRoot":"","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"names":[],"mappings":"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"}
@@ -71,9 +71,12 @@ function useDeltaPriceQuery(t0) {
71
71
  function isPriceParamsValid(priceParams) {
72
72
  return !!priceParams.destToken && !!priceParams.destDecimals && Number(priceParams.amount) > 0;
73
73
  }
74
- function isBridgePrice(price) {
74
+ function isDeltaPrice(price) {
75
75
  return "bridge" in price;
76
76
  }
77
+ function isBridgePrice(price) {
78
+ return price.bridge.destinationChainId !== 0;
79
+ }
77
80
  function useDeltaPriceQueryForPrice() {
78
81
  const $ = distExports.c(2);
79
82
  const queryClient = useQueryClient();
@@ -133,5 +136,5 @@ function useSubscribeToDeltaPrice() {
133
136
  return t0;
134
137
  }
135
138
 
136
- export { isBridgePrice, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useSubscribeToDeltaPrice };
139
+ export { isBridgePrice, isDeltaPrice, useDeltaPriceQuery, useDeltaPriceQueryForPrice, useSubscribeToDeltaPrice };
137
140
  //# sourceMappingURL=useDeltaPriceQuery.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\ntype DeltaPriceQueryKey = [\n base: \"swap/prices/delta\",\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): DeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n\n const priceParams: DeltaPriceParams & { destChainId?: number } = {\n ..._priceParams,\n destChainId,\n };\n\n const queryEnabled = query?.enabled ?? true;\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & { destChainId?: number } = {\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n amount: debouncedAmount,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n partner: priceParams.partner,\n destChainId: priceParams.destChainId,\n };\n\n return useQuery<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>({\n queryKey: [\"swap/prices/delta\", chainId, sanitizedPriceParams],\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n !!priceParams.destDecimals &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return \"bridge\" in price;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n \"swap/prices/delta\",\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n"],"names":["useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","Symbol","for","wait","debouncedAmount","useDebouncedValue","amount","sanitizedPriceParams","srcToken","destToken","srcDecimals","destDecimals","userAddress","partner","useQuery","queryKey","queryFn","t3","signal","assert","isPriceParamsValid","price","getDeltaPrice","Number","isBridgePrice","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","result","error"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaPriceQuery.js","sources":["../../../../../../src/hooks/swap/prices/delta/queries/useDeltaPriceQuery.ts"],"sourcesContent":["import { useDeltaSDK } from \"@/hooks/useSDK\";\nimport {\n Query,\n QueryObserver,\n useQuery,\n useQueryClient,\n type UseQueryOptions,\n type UseQueryResult,\n} from \"@tanstack/react-query\";\nimport { useDebouncedValue } from \"@tanstack/react-pacer/debouncer\";\nimport type {\n DeltaPrice,\n BridgePrice,\n DeltaPriceParams as DParams,\n OptimalRate,\n} from \"@velora-dex/sdk\";\nimport { assert, type MarkOptional } from \"ts-essentials\";\n\n// overload is easier with input.destChainId\ntype RequiredDeltaPriceParams = Omit<DParams, \"destChainId\">;\ntype DeltaPriceParams = MarkOptional<\n RequiredDeltaPriceParams,\n \"destToken\" | \"destDecimals\" // destToken is not available in SwapForm initially\n>;\n\ntype DeltaQueryParams<TData = DeltaPrice | BridgePrice> = Omit<\n UseQueryOptions<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>,\n \"queryKey\" | \"queryFn\"\n>;\ntype DeltaQueryResult<TData = DeltaPrice> = UseQueryResult<TData, Error>;\n\ntype DeltaPriceQueryInput<TData = DeltaPrice> = {\n priceParams: DeltaPriceParams;\n query?: DeltaQueryParams<TData>;\n chainId: number;\n timeout?: number;\n};\n\ntype DeltaPriceQueryKey = [\n base: \"swap/prices/delta\",\n chainId: number,\n priceParams: DeltaPriceParams & {\n destChainId?: number;\n },\n];\n\n/**\n * 1. With destChainId: number -> returns BridgePrice\n * 2. With destChainId?: undefined -> returns DeltaPrice\n * 3. With destChainId?: number -> returns DeltaPrice | BridgePrice\n */\nexport function useDeltaPriceQuery<TData = BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId: number;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: undefined;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams,\n query,\n chainId,\n timeout,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): DeltaQueryResult<TData>;\nexport function useDeltaPriceQuery<TData = DeltaPrice | BridgePrice>({\n priceParams: _priceParams,\n query,\n chainId,\n timeout,\n destChainId,\n}: DeltaPriceQueryInput<TData> & {\n destChainId?: number;\n}): DeltaQueryResult<TData> {\n const { sdk } = useDeltaSDK({ chainId });\n\n const priceParams: DeltaPriceParams & { destChainId?: number } = {\n ..._priceParams,\n destChainId,\n };\n\n const queryEnabled = query?.enabled ?? true;\n\n // amount tends to change fast during input\n const [debouncedAmount] = useDebouncedValue(priceParams.amount, {\n wait: 500,\n });\n\n // avoid passing unnecessary params to url?search and queryKey\n const sanitizedPriceParams: DeltaPriceParams & { destChainId?: number } = {\n srcToken: priceParams.srcToken,\n destToken: priceParams.destToken,\n amount: debouncedAmount,\n srcDecimals: priceParams.srcDecimals,\n destDecimals: priceParams.destDecimals,\n userAddress: priceParams.userAddress,\n partner: priceParams.partner,\n destChainId: priceParams.destChainId,\n };\n\n return useQuery<DeltaPrice | BridgePrice, Error, TData, DeltaPriceQueryKey>({\n queryKey: [\"swap/prices/delta\", chainId, sanitizedPriceParams],\n queryFn: ({ signal }) => {\n assert(isPriceParamsValid(sanitizedPriceParams), \"destToken is required\");\n const price = sdk.getDeltaPrice(sanitizedPriceParams, {\n signal,\n timeout,\n });\n return price;\n },\n ...query,\n enabled: queryEnabled && isPriceParamsValid(sanitizedPriceParams),\n });\n}\n\nfunction isPriceParamsValid(\n priceParams: DeltaPriceParams\n): priceParams is RequiredDeltaPriceParams {\n return (\n !!priceParams.destToken &&\n !!priceParams.destDecimals &&\n Number(priceParams.amount) > 0\n );\n}\n\nexport function isDeltaPrice(\n price: OptimalRate | DeltaPrice\n): price is DeltaPrice {\n return \"bridge\" in price;\n}\n\nexport function isBridgePrice(\n price: DeltaPrice | BridgePrice\n): price is BridgePrice {\n return price.bridge.destinationChainId !== 0;\n}\n\ntype GetDeltaPriceQueryForPriceInput = {\n price: DeltaPrice | BridgePrice;\n chainId: number;\n};\n\ntype DeltaPriceQuery = Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n>;\n\ntype GetDeltaPriceQueryForPrice = (\n input: GetDeltaPriceQueryForPriceInput\n) =>\n | Query<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >\n | undefined;\n\n// get query for a given deltaPrice\nexport function useDeltaPriceQueryForPrice(): GetDeltaPriceQueryForPrice {\n const queryClient = useQueryClient();\n\n return ({ chainId, price }) => {\n const queryKey: [DeltaPriceQueryKey[0], DeltaPriceQueryKey[1]] = [\n \"swap/prices/delta\",\n chainId,\n ];\n const queryCache = queryClient.getQueryCache();\n const query = queryCache.find<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice\n >({\n queryKey,\n exact: false,\n predicate: (query) => {\n return query.state.data === price;\n },\n });\n\n return query as DeltaPriceQuery | undefined;\n };\n}\n\ntype SubscribeToDeltaPriceInput = {\n queryKey: DeltaPriceQueryKey;\n onData?: (data: DeltaPrice | BridgePrice) => void;\n onError?: (error: Error) => void;\n};\n\ntype SubscribeToDeltaPriceResult = (\n input: SubscribeToDeltaPriceInput\n) => () => void;\n\n// independently subscribe to a price query\nexport function useSubscribeToDeltaPrice(): SubscribeToDeltaPriceResult {\n const queryClient = useQueryClient();\n\n return ({ queryKey, onData, onError }) => {\n const observer = new QueryObserver<\n DeltaPrice | BridgePrice,\n Error,\n DeltaPrice | BridgePrice,\n DeltaPrice | BridgePrice,\n DeltaPriceQueryKey\n >(queryClient, {\n queryKey,\n // only receive updates from existing subscriptions\n enabled: false,\n });\n\n // return unsubscribe function\n return observer.subscribe((result) => {\n if (result.error) {\n onError?.(result.error);\n return;\n }\n if (result.data) {\n onData?.(result.data);\n }\n });\n };\n}\n"],"names":["useDeltaPriceQuery","t0","$","_c","priceParams","_priceParams","query","chainId","timeout","destChainId","t1","sdk","useDeltaSDK","queryEnabled","enabled","t2","Symbol","for","wait","debouncedAmount","useDebouncedValue","amount","sanitizedPriceParams","srcToken","destToken","srcDecimals","destDecimals","userAddress","partner","useQuery","queryKey","queryFn","t3","signal","assert","isPriceParamsValid","price","getDeltaPrice","Number","isDeltaPrice","isBridgePrice","bridge","destinationChainId","useDeltaPriceQueryForPrice","queryClient","useQueryClient","queryCache","getQueryCache","query_0","find","exact","predicate","state","data","useSubscribeToDeltaPrice","onData","onError","observer","QueryObserver","subscribe","result","error"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { RateParamsInput } from './market/queries/useMarketPriceQuery';
2
2
  import { MarkOptional, MarkRequired } from 'ts-essentials';
3
3
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
4
- type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee">, "destToken">, "srcDecimals" | "side">;
4
+ type FetchPriceParams = MarkRequired<MarkOptional<Pick<RateParamsInput, "srcToken" | "destToken" | "amount" | "userAddress" | "side" | "srcDecimals" | "destDecimals" | "partner" | "ignoreBadUsdPrice" | "srcTokenDexTransferFee" | "destTokenDexTransferFee" | "otherExchangePrices">, "destToken">, "srcDecimals" | "side">;
5
5
  export declare function usePricesParams(): {
6
6
  priceParams: FetchPriceParams;
7
7
  isCrossChain: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAW5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,KAAK,gBAAgB,GAAG,YAAY,CAClC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,CAC5B,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAmDA"}
1
+ {"version":3,"file":"usePricesParams.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,sCAAsC,CAAC;AAW5E,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAEhE,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAK/D,KAAK,gBAAgB,GAAG,YAAY,CAClC,YAAY,CACV,IAAI,CACF,eAAe,EACb,UAAU,GACV,WAAW,GACX,QAAQ,GACR,aAAa,GACb,MAAM,GACN,aAAa,GACb,cAAc,GACd,SAAS,GACT,mBAAmB,GACnB,wBAAwB,GACxB,yBAAyB,GACzB,qBAAqB,CACxB,EACD,WAAW,CACZ,EACD,aAAa,GAAG,MAAM,CACvB,CAAC;AAIF,wBAAgB,eAAe,IAAI;IACjC,WAAW,EAAE,gBAAgB,CAAC;IAC9B,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,gBAAgB,CAAC;IAC1B,WAAW,CAAC,EAAE,gBAAgB,CAAC;CAChC,CAoDA"}
@@ -87,7 +87,8 @@ function usePricesParams() {
87
87
  partner,
88
88
  ignoreBadUsdPrice: false,
89
89
  srcTokenDexTransferFee,
90
- destTokenDexTransferFee
90
+ destTokenDexTransferFee,
91
+ otherExchangePrices: true
91
92
  };
92
93
  $[10] = address;
93
94
  $[11] = amount;
@@ -1 +1 @@
1
- {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t6","t7","decimals","t8","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","priceParams","t9","undefined","t10","destChainId"],"mappings":";;;;;;;;;;AAyCO,SAAAA,eAAAA,GAAA;AAAA,EAAA,MAAAC,CAAAA,GAAAC,cAAA,EAAA,CAAA;AAML,EAAA,MAAAC,SAAAA,GAAkBC,aAAAC,aAA0B,CAAA;AAC5C,EAAA,MAAAC,OAAAA,GAAgBF,aAAAG,WAAwB,CAAA;AAExC,EAAA,MAAAC,YAAAA,GAAqBJ,aAAAK,qBAAkC,CAAA;AACvD,EAAA,MAAAC,gBAAAA,GAAyBN,YAAAA,CAAAO,yBAAsC,CAAA,IAAK,GAAA;AAAI,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAAX,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,CAAAU,WAAAZ,CAAAA,CAAA,CAAA,CAAA,KAAAE,SAAAA,CAAAW,OAAAA,EAAA;AAEvBF,IAAAA,EAAAA,GAAA;AAAA,MAAAG,cACjCZ,SAAAA,CAASU,OAAAA;AAAAA,MAAAG,SACdb,SAAAA,CAASW;AAAAA,KAAA;AACnBb,IAAAA,CAAAA,CAAA,CAAA,IAAAE,SAAAA,CAAAU,OAAAA;AAAAZ,IAAAA,CAAAA,CAAA,CAAA,IAAAE,SAAAA,CAAAW,OAAAA;AAAAb,IAAAA,CAAAA,MAAAW,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAX,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAgB,IAAAA,EAAAC;AAAAA,GAAA,GAAkCC,eAAeP,EAGhD,CAAA;AAGe,EAAA,MAAAQ,KAAAd,OAAAA,EAAOO,OAAAA;AACZ,EAAA,MAAAQ,KAAAf,OAAAA,EAAOQ,OAAAA;AAAS,EAAA,IAAAQ,EAAAA;AAAA,EAAA,IAAArB,EAAA,CAAA,CAAA,KAAAmB,MAAAnB,CAAAA,QAAAoB,EAAAA,EAAA;AAFoBC,IAAAA,EAAAA,GAAA;AAAA,MAAAP,YAAAA,EAC/BK,EAAAA;AAAAA,MAAgBJ,OAAAA,EACrBK;AAAAA,KAAgB;AAC1BpB,IAAAA,CAAAA,MAAAmB,EAAAA;AAAAnB,IAAAA,CAAAA,MAAAoB,EAAAA;AAAApB,IAAAA,CAAAA,MAAAqB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAArB,EAAA,CAAA,CAAA;AAAA,EAAA;AAHD,EAAA,MAAA;AAAA,IAAAgB,IAAAA,EAAAM;AAAAA,GAAA,GAAgCJ,eAAeG,EAG9C,CAAA;AAAE,EAAA,IAAAE,EAAAA;AAAA,EAAA,IAAAvB,CAAAA,CAAA,CAAA,CAAA,KAAAiB,eAAAA,EAAAO,OAAAA,EAAA;AAE4BD,IAAAA,EAAAA,GAAAN,eAAAA,EAAeO,SAAAC,QAAAA,EAAA;AAAqBzB,IAAAA,CAAAA,CAAA,CAAA,IAAAiB,eAAAA,EAAAO,OAAAA;AAAAxB,IAAAA,CAAAA,MAAAuB,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAAvB,EAAA,CAAA,CAAA;AAAA,EAAA;AAAnE,EAAA,MAAA0B,sBAAAA,GAA+BH,EAAAA;AAAqC,EAAA,IAAAI,EAAAA;AAAA,EAAA,IAAA3B,CAAAA,CAAA,CAAA,CAAA,KAAAsB,aAAAA,EAAAM,MAAAA,EAAA;AACpCD,IAAAA,EAAAA,GAAAL,aAAAA,EAAaM,QAAAH,QAAAA,EAAA;AAAoBzB,IAAAA,CAAAA,CAAA,CAAA,IAAAsB,aAAAA,EAAAM,MAAAA;AAAA5B,IAAAA,CAAAA,MAAA2B,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA3B,EAAA,CAAA,CAAA;AAAA,EAAA;AAAjE,EAAA,MAAA6B,uBAAAA,GAAgCF,EAAAA;AAEhC,EAAA,MAAA;AAAA,IAAAf;AAAAA,MAAoBkB,UAAAA,EAAW;AAE/B,EAAA,MAAAC,eAAqBC,eAAAA,EAAgB;AAErC,EAAA,MAAAC,UAAgBF,YAAAA,CAAYE,OAAAA;AAE5B,EAAA,MAAAC,eAAqBC,eAAAA,EAAgB;AAErC,EAAA,MAAAC,OAAaC,WAAAA,EAAY;AACzB,EAAA,MAAAC,MAAAA,GAAeF,IAAAA,KAAS,MAAA,GAAS7B,YAAAA,GAAeE,gBAAAA;AAInC,EAAA,MAAA8B,KAAAlC,OAAAA,EAAOO,OAAAA;AAEJ,EAAA,MAAA4B,KAAAnC,OAAAA,EAAOoC,QAAAA;AAAU,EAAA,IAAAC,EAAAA;AAAA,EAAA,IAAA1C,EAAA,EAAA,CAAA,KAAAY,WAAAZ,CAAAA,CAAA,EAAA,MAAAsC,MAAAA,IAAAtC,CAAAA,SAAA6B,2BAAA7B,CAAAA,CAAA,EAAA,MAAAE,SAAAA,CAAAU,OAAAA,IAAAZ,EAAA,EAAA,CAAA,KAAAE,SAAAA,CAAAuC,QAAAA,IAAAzC,EAAA,EAAA,CAAA,KAAAiC,WAAAjC,CAAAA,SAAAoC,IAAAA,IAAApC,CAAAA,CAAA,EAAA,CAAA,KAAA0B,sBAAAA,IAAA1B,EAAA,EAAA,CAAA,KAAAuC,MAAAvC,CAAAA,SAAAwC,EAAAA,EAAA;AAJKE,IAAAA,EAAAA,GAAA;AAAA,MAAAC,UAC1BzC,SAAAA,CAASU,OAAAA;AAAAA,MAAAgC,SAAAA,EACRL,EAAAA;AAAAA,MAAgBM,aACd3C,SAAAA,CAASuC,QAAAA;AAAAA,MAAAK,YAAAA,EACRN,EAAAA;AAAAA,MAAiBJ,IAAAA;AAAAA,MAAAE,MAAAA;AAAAA,MAAAS,WAAAA,EAGlBnC,OAAAA;AAAAA,MAAOqB,OAAAA;AAAAA,MAAAe,iBAAAA,EAAA,KAAA;AAAA,MAAAtB,sBAAAA;AAAAA,MAAAG;AAAAA,KAAA;AAKrB7B,IAAAA,CAAAA,OAAAY,OAAAA;AAAAZ,IAAAA,CAAAA,OAAAsC,MAAAA;AAAAtC,IAAAA,CAAAA,OAAA6B,uBAAAA;AAAA7B,IAAAA,CAAAA,CAAA,EAAA,IAAAE,SAAAA,CAAAU,OAAAA;AAAAZ,IAAAA,CAAAA,CAAA,EAAA,IAAAE,SAAAA,CAAAuC,QAAAA;AAAAzC,IAAAA,CAAAA,OAAAiC,OAAAA;AAAAjC,IAAAA,CAAAA,OAAAoC,IAAAA;AAAApC,IAAAA,CAAAA,OAAA0B,sBAAAA;AAAA1B,IAAAA,CAAAA,OAAAuC,EAAAA;AAAAvC,IAAAA,CAAAA,OAAAwC,EAAAA;AAAAxC,IAAAA,CAAAA,OAAA0C,EAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,EAAAA,GAAA1C,EAAA,EAAA,CAAA;AAAA,EAAA;AAZD,EAAA,MAAAiD,WAAAA,GAAsCP,EAAAA;AAkBvB,EAAA,MAAAQ,EAAAA,GAAAhB,YAAAA,GAAe7B,OAAAA,EAAOQ,OAAAA,GAAAsC,MAAAA;AAAqB,EAAA,IAAAC,GAAAA;AAAA,EAAA,IAAApD,EAAA,EAAA,CAAA,KAAAE,SAAAA,CAAAW,OAAAA,IAAAb,EAAA,EAAA,CAAA,KAAAkC,YAAAA,IAAAlC,CAAAA,CAAA,EAAA,CAAA,KAAAiD,WAAAA,IAAAjD,CAAAA,SAAAkD,EAAAA,EAAA;AAJnDE,IAAAA,GAAAA,GAAA;AAAA,MAAAH,WAAAA;AAAAA,MAAAf,YAAAA;AAAAA,MAAAnB,SAGIb,SAAAA,CAASW,OAAAA;AAAAA,MAAAwC,WAAAA,EACLH;AAAAA,KAA2C;AACzDlD,IAAAA,CAAAA,CAAA,EAAA,IAAAE,SAAAA,CAAAW,OAAAA;AAAAb,IAAAA,CAAAA,OAAAkC,YAAAA;AAAAlC,IAAAA,CAAAA,OAAAiD,WAAAA;AAAAjD,IAAAA,CAAAA,OAAAkD,EAAAA;AAAAlD,IAAAA,CAAAA,OAAAoD,GAAAA;AAAAA,EAAA,CAAA,MAAA;AAAAA,IAAAA,GAAAA,GAAApD,EAAA,EAAA,CAAA;AAAA,EAAA;AAAA,EAAA,OALMoD,GAAAA;AAKN;;;;"}
1
+ {"version":3,"file":"usePricesParams.js","sources":["../../../../src/hooks/swap/prices/usePricesParams.ts"],"sourcesContent":["import { type RateParamsInput } from \"./market/queries/useMarketPriceQuery\";\nimport {\n payInputAmountWeiAtom,\n receiveInputAmountWeiAtom,\n} from \"@/core/inputs/state/inputAmountAtom\";\nimport {\n tokenFromAtom,\n tokenToAtom,\n} from \"@/core/inputs/state/selectedTokenAtom\";\nimport { useAtomValue } from \"jotai\";\nimport { useAccount } from \"wagmi\";\nimport type { MarkOptional, MarkRequired } from \"ts-essentials\";\nimport { useSwapSide } from \"@/components/widget/SwapModeSwitcher/state/swapSideAtom\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { useIsCrossChain } from \"@/core/state/isCrosschainAtom\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { useTokenTaxFee } from \"@/hooks/tokens/useTokenTaxFee\";\n\ntype FetchPriceParams = MarkRequired<\n MarkOptional<\n Pick<\n RateParamsInput,\n | \"srcToken\"\n | \"destToken\"\n | \"amount\"\n | \"userAddress\"\n | \"side\"\n | \"srcDecimals\"\n | \"destDecimals\"\n | \"partner\"\n | \"ignoreBadUsdPrice\"\n | \"srcTokenDexTransferFee\"\n | \"destTokenDexTransferFee\"\n | \"otherExchangePrices\"\n >,\n \"destToken\"\n >,\n \"srcDecimals\" | \"side\"\n>;\n// @TODO add other params from options:\n// exclude* for Safe if still needed, or if we want to allow exluding DEXs like in UI\n\nexport function usePricesParams(): {\n priceParams: FetchPriceParams;\n isCrossChain: boolean;\n chainId: SupportedChainId;\n destChainId?: SupportedChainId;\n} {\n const fromToken = useAtomValue(tokenFromAtom);\n const toToken = useAtomValue(tokenToAtom);\n\n const payAmountWei = useAtomValue(payInputAmountWeiAtom);\n const receiveAmountWei = useAtomValue(receiveInputAmountWeiAtom) ?? \"0\";\n\n const { data: fromTokenTaxFee } = useTokenTaxFee({\n tokenAddress: fromToken.address,\n chainId: fromToken.network,\n });\n\n const { data: toTokenTaxFee } = useTokenTaxFee({\n tokenAddress: toToken?.address,\n chainId: toToken?.network,\n });\n\n const srcTokenDexTransferFee = fromTokenTaxFee?.sellTax?.toString();\n const destTokenDexTransferFee = toTokenTaxFee?.buyTax?.toString();\n\n const { address } = useAccount();\n\n const widgetConfig = useWidgetConfig();\n\n const partner = widgetConfig.partner;\n\n const isCrossChain = useIsCrossChain();\n\n const side = useSwapSide();\n const amount = side === \"SELL\" ? payAmountWei : receiveAmountWei;\n\n const priceParams: FetchPriceParams = {\n srcToken: fromToken.address,\n destToken: toToken?.address,\n srcDecimals: fromToken.decimals,\n destDecimals: toToken?.decimals,\n side,\n amount,\n userAddress: address,\n partner,\n ignoreBadUsdPrice: false, // safer to ignore for all tokens to allow those without USD price\n srcTokenDexTransferFee,\n destTokenDexTransferFee,\n otherExchangePrices: true,\n };\n\n return {\n priceParams,\n isCrossChain,\n chainId: fromToken.network,\n destChainId: isCrossChain ? toToken?.network : undefined,\n };\n}\n"],"names":["usePricesParams","$","_c","fromToken","useAtomValue","tokenFromAtom","toToken","tokenToAtom","payAmountWei","payInputAmountWeiAtom","receiveAmountWei","receiveInputAmountWeiAtom","t0","address","network","tokenAddress","chainId","data","fromTokenTaxFee","useTokenTaxFee","t1","t2","t3","toTokenTaxFee","t4","sellTax","toString","srcTokenDexTransferFee","t5","buyTax","destTokenDexTransferFee","useAccount","widgetConfig","useWidgetConfig","partner","isCrossChain","useIsCrossChain","side","useSwapSide","amount","t6","t7","decimals","t8","srcToken","destToken","srcDecimals","destDecimals","userAddress","ignoreBadUsdPrice","otherExchangePrices","priceParams","t9","undefined","t10","destChainId"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { BridgePrice, DeltaPrice } from '@velora-dex/sdk';
2
2
  import { Address } from 'viem';
3
- import { DeltaOrderFromAPI } from '../prices/delta/queries/useDeltaOrders';
3
+ import { SubmittedDeltaOrderFromAPI } from '../prices/delta/queries/useDeltaOrders';
4
4
  import { ApprovalFlowResult, SignPermitFlowResult, SubmitTxResult } from './common/types';
5
5
  import { MaybeVeloraDeltaAuction } from '../prices/delta/queries/useWatchDeltaOrder';
6
6
  import { SupportedChainId } from '../../../lib/web3/wagmi/types';
@@ -12,7 +12,7 @@ export type SubmitDeltaOrderResult = {
12
12
  tradeFlowType: "deltaOrder";
13
13
  approve: SubmitTxResult;
14
14
  deltaOrder: {
15
- sentOrder: DeltaOrderFromAPI;
15
+ sentOrder: SubmittedDeltaOrderFromAPI;
16
16
  lastOrderState: MaybeVeloraDeltaAuction;
17
17
  };
18
18
  deltaPrice: DeltaPrice | BridgePrice;
@@ -34,7 +34,7 @@ export type UseDeltaFlowResult = {
34
34
  approval: ApprovalFlowResult;
35
35
  signPermit: SignPermitFlowResult;
36
36
  deltaOrderSubmission: {
37
- order?: DeltaOrderFromAPI;
37
+ order?: SubmittedDeltaOrderFromAPI;
38
38
  isCreatingOrder: boolean;
39
39
  isOrderSent: boolean;
40
40
  isPending: boolean;
@@ -43,7 +43,7 @@ export type UseDeltaFlowResult = {
43
43
  error: Error | null;
44
44
  };
45
45
  deltaOrderExecution: {
46
- sentOrder?: DeltaOrderFromAPI;
46
+ sentOrder?: SubmittedDeltaOrderFromAPI;
47
47
  lastOrderState?: MaybeVeloraDeltaAuction;
48
48
  isOrderPending: boolean;
49
49
  isOrderExecuting: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaFlow.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { DeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useDeltaPriceQueryForPrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: DeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: DeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: DeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const chainId = useChainId();\n const { resolvedSlippage } = useSlippage();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: deltaPrice?.srcToken,\n srcAmount: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\", // @TODO add BUY support for Delta when available\n });\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useReceiverAddressValue();\n\n const destChainId =\n deltaPrice && isBridgePrice(deltaPrice)\n ? deltaPrice.bridge.destinationChainId\n : chainId;\n\n const isContractAtAddress = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n }).data?.isContract;\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const partner = useWidgetConfig().partner;\n\n const getQueryForPrice = useDeltaPriceQueryForPrice();\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(deltaPrice, \"Delta price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n // we use this allowance as a max allowance we will accept new prices for\n\n // deltaPrice here is the starting price, available before async code and waiting\n let freshPrice = deltaPrice;\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n try {\n if (approval.needsApproval && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const queryKey = getQueryForPrice({\n chainId,\n price: freshPrice,\n })?.queryKey;\n\n // should always be available\n if (queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey,\n onData: (newPrice) => {\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n // slightly higher amount if BUY with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: orderDeadline,\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const deltaPriceToUse = freshPrice;\n usingPriceRef.current = deltaPriceToUse;\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n // @TODO if necessary to support add more params\n partner,\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled\");\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n reset();\n return runDeltaOrderFlow(options);\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof deltaPrice = usingPriceRef.current || deltaPrice;\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n usedPrice,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","deltaPrice","logger","useLogger","chainId","useChainId","resolvedSlippage","useSlippage","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","address","account","useAccount","minClient","useMinViemClient","createOrderMut","useCreateDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","deltaOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","deltaOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useReceiverAddressValue","destChainId","isBridgePrice","bridge","destinationChainId","isContractAtAddress","useIsContractAtAddress","isContract","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","useWidgetConfig","getQueryForPrice","useDeltaPriceQueryForPrice","subscribeToPrice","useSubscribeToDeltaPrice","submitDeltaOrder","onTxSent","onOrderSent","reset","assert","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","freshPrice","unsubscribeFromPrice","needsApproval","queryKey","price","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","applySlippage","destAmount","BigInt","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","txHash","actionType","receiptPromise","signPermitAsync","deadline","value","deltaPriceToUse","beneficiaryType","permit","permitEncodedArgs","signedPermitData","type","variant","encodePermit2TransferFromSigDataForDelta","nonce","signature","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","Number","lastOrderStatePromise","tradeFlowType","approve","receipt","deltaOrder","deltaOrderMut","useMutation","mutationFn","mutationKey","onSettled","runDeltaOrderFlow","retryFlow","options","usedPrice","result"],"mappings":"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"}
1
+ {"version":3,"file":"useDeltaFlow.js","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaFlow.ts"],"sourcesContent":["import type { BridgePrice, DeltaPrice } from \"@velora-dex/sdk\";\nimport { useAccount, useChainId } from \"wagmi\";\nimport { assert } from \"ts-essentials\";\nimport { useEnsureTxReceipt } from \"@/hooks/txs/queries/useAwaitTx\";\nimport type { Address, Hash, TransactionReceipt } from \"viem\";\nimport type { SubmittedDeltaOrderFromAPI } from \"../prices/delta/queries/useDeltaOrders\";\nimport type {\n ApprovalFlowResult,\n SignPermitFlowResult,\n SubmitTxResult,\n} from \"./common/types\";\nimport { useCreateDeltaOrder } from \"../prices/delta/mutations/useCreateDeltaOrder\";\nimport { useMinViemClient } from \"@/hooks/useMinViemClient\";\nimport {\n useEnsureDeltaOrderExecuted,\n useWatchDeltaAuction,\n type MaybeVeloraDeltaAuction,\n} from \"../prices/delta/queries/useWatchDeltaOrder\";\nimport { getOverallOrderStatus } from \"../prices/delta/orders/utils\";\nimport { applySlippage } from \"@/lib/utils/price\";\nimport { useSlippage } from \"@/hooks/useSlippage\";\nimport { useMutation } from \"@tanstack/react-query\";\nimport { useRef } from \"react\";\nimport type { SupportedChainId } from \"@/lib/web3/wagmi/types\";\nimport { UserCancelledError } from \"./common/errors\";\nimport { useReceiverAddressValue } from \"@/components/widget/ReceiverAddress/state/receiverAddressAtom\";\nimport { useIsContractAtAddress } from \"@/hooks/getCode/useIsContractAtAddress\";\nimport type { OrderSentObject, TxSentObject } from \"@/lib/utils/toasts\";\nimport { useApproveOrPermit } from \"./common/useApproveOrPermit\";\nimport {\n useMarkPermit1Or2NonceAsUsed,\n type SignedPermitResult,\n} from \"./common/useSignPermit1Or2\";\nimport { produceDeltaOrderDeadline } from \"@/hooks/permit/utils/deadlines\";\nimport { useWidgetConfig } from \"@/core/state/configAtom\";\nimport { encodePermit2TransferFromSigDataForDelta } from \"@/hooks/permit/utils/encodeArgs\";\nimport { useLogger } from \"@/core/logger\";\nimport {\n isBridgePrice,\n useDeltaPriceQueryForPrice,\n useSubscribeToDeltaPrice,\n} from \"../prices/delta/queries/useDeltaPriceQuery\";\n\nexport type UseDeltaFlowInput = {\n deltaPrice?: DeltaPrice | BridgePrice;\n};\n\nexport type SubmitDeltaOrderResult = {\n tradeFlowType: \"deltaOrder\";\n approve: SubmitTxResult;\n deltaOrder: {\n sentOrder: SubmittedDeltaOrderFromAPI;\n lastOrderState: MaybeVeloraDeltaAuction;\n };\n deltaPrice: DeltaPrice | BridgePrice;\n account: Address;\n receiverAddress?: Address;\n};\n\ntype OnTxSent = (txSent: TxSentObject) => void;\n\ntype OnOrderSent = (orderSent: OrderSentObject) => void;\n\n// @TODO instead add global onTxSent subscription to\n// MutationCache({onSuccess: txHash}) when sent\n// and QueryCache({onSuccess: txReceipt|Order executed}) when mined,\n// maybe??\ntype RunDeltaOrderOptions = {\n onTxSent?: OnTxSent;\n onOrderSent?: OnOrderSent;\n};\n\nexport type UseDeltaFlowResult = {\n chainId: SupportedChainId;\n runDeltaOrderFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>;\n reset: () => void; // reset on Error to retry\n cancelFlow: () => void; // cancel flow\n retryFlow: (\n options?: RunDeltaOrderOptions\n ) => Promise<SubmitDeltaOrderResult>; // reset and retry flow\n approval: ApprovalFlowResult;\n signPermit: SignPermitFlowResult;\n deltaOrderSubmission: {\n order?: SubmittedDeltaOrderFromAPI;\n isCreatingOrder: boolean;\n isOrderSent: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n deltaOrderExecution: {\n sentOrder?: SubmittedDeltaOrderFromAPI;\n lastOrderState?: MaybeVeloraDeltaAuction;\n isOrderPending: boolean;\n isOrderExecuting: boolean;\n isOrderExecuted: boolean;\n isPending: boolean;\n isError: boolean;\n isSuccess: boolean;\n error: Error | null;\n };\n isPending: boolean;\n isSuccess: boolean;\n isError: boolean;\n error: Error | null;\n result?: SubmitDeltaOrderResult;\n usedPrice?: DeltaPrice | BridgePrice;\n};\n\nconst DELTA_ORDER_MUTATION_KEY = \"runDeltaOrderFlow\";\n\nexport function useDeltaFlow({\n deltaPrice,\n}: UseDeltaFlowInput): UseDeltaFlowResult {\n const logger = useLogger(\"DeltaFlow\");\n const chainId = useChainId();\n const { resolvedSlippage } = useSlippage();\n\n /* Inside useApproveOrPermit:\n 1. Get allowance for tokenFrom \n 2.1. submit Approve tx if necessary \n\n 2.2. sign Permit1 \n\n 3. await Approve tx (if not using Permit) \n */\n\n const { approval, signPermit, approveTxMut, signPermitMut } =\n useApproveOrPermit({\n srcToken: deltaPrice?.srcToken,\n srcAmount: deltaPrice?.srcAmount,\n spenderContractType: \"ParaswapDelta\",\n swapSide: \"SELL\", // @TODO add BUY support for Delta when available\n });\n\n /* 4. Build and Submit Delta Order */\n\n const { address: account } = useAccount();\n\n const { minClient } = useMinViemClient({\n chainId,\n account,\n });\n\n const createOrderMut = useCreateDeltaOrder({\n chainId,\n account,\n client: minClient,\n mutationOptions: {\n onSuccess: (order) => {\n logger.log(\"Create Delta Order success\", order);\n },\n onError: (error) => {\n logger.error(\"Create Delta Order error\", error);\n },\n },\n });\n\n const deltaOrderSubmission: UseDeltaFlowResult[\"deltaOrderSubmission\"] = {\n order: createOrderMut.data,\n isCreatingOrder: createOrderMut.isPending,\n isOrderSent: createOrderMut.isSuccess,\n isPending: createOrderMut.isPending,\n isError: createOrderMut.isError,\n isSuccess: createOrderMut.isSuccess,\n error: createOrderMut.error,\n };\n\n /* 5. await Order execution */\n\n const watchOrderExecution = useWatchDeltaAuction({\n orderId: createOrderMut.data?.id,\n onAuctionSuccess: (order) => {\n logger.log(\"Delta Order success\", order);\n },\n onAuctionFailure: (order) => {\n logger.log(\"Delta Order failure\", order);\n },\n onUpdatedAuction: (order) => {\n logger.log(\"Delta Order updated\", order);\n },\n onTimeoutGettingOrder: (order) => {\n logger.log(\"Delta Order timeout\", order);\n },\n });\n\n const orderStatus = watchOrderExecution.data\n ? getOverallOrderStatus(watchOrderExecution.data)\n : null;\n\n // refetching stops after one minute of not finding an order (order==null)\n const neverFetchedFinishedOrder =\n watchOrderExecution.data === null && watchOrderExecution.isSuccess;\n\n const deltaOrderExecution: UseDeltaFlowResult[\"deltaOrderExecution\"] = {\n sentOrder: createOrderMut.data,\n lastOrderState: watchOrderExecution.data,\n isOrderPending: orderStatus === \"pending\",\n isOrderExecuting: orderStatus === \"executing\",\n isOrderExecuted: orderStatus === \"confirmed\",\n isPending:\n watchOrderExecution.isLoading ||\n watchOrderExecution.isRefetching ||\n orderStatus === \"pending\" ||\n orderStatus === \"executing\",\n isError:\n watchOrderExecution.isError ||\n orderStatus === \"failed\" ||\n neverFetchedFinishedOrder,\n isSuccess: orderStatus === \"confirmed\",\n error: watchOrderExecution.error,\n };\n\n const ensureOrderExecuted = useEnsureDeltaOrderExecuted();\n const ensureTxReceipt = useEnsureTxReceipt();\n\n const currentAbortControllerRef = useRef<AbortController | null>(null);\n const usingPriceRef = useRef<DeltaPrice | BridgePrice | null>(null);\n\n const cancelFlow = () => {\n currentAbortControllerRef.current?.abort(new UserCancelledError());\n currentAbortControllerRef.current = null;\n\n usingPriceRef.current = null;\n };\n\n const receiverAddress = useReceiverAddressValue();\n\n const destChainId =\n deltaPrice && isBridgePrice(deltaPrice)\n ? deltaPrice.bridge.destinationChainId\n : chainId;\n\n const isContractAtAddress = useIsContractAtAddress({\n address: receiverAddress,\n chainId: destChainId as SupportedChainId,\n }).data?.isContract;\n\n const { markNonceAsUsed, clearNonce } = useMarkPermit1Or2NonceAsUsed({\n chainId,\n });\n\n const partner = useWidgetConfig().partner;\n\n const getQueryForPrice = useDeltaPriceQueryForPrice();\n const subscribeToPrice = useSubscribeToDeltaPrice();\n\n const submitDeltaOrder = async ({\n onTxSent,\n onOrderSent,\n }: RunDeltaOrderOptions = {}): Promise<SubmitDeltaOrderResult> => {\n // reset all mutations except the current one,\n // otherwise we'll have previous data (txs) as mutation results\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n\n // no sense in starting flow without a price,\n // which may be unavailable only if we are retrying and deltaPrice response now returns an error.\n // Otherwise this flow will be stopped by disabling Swap button in the first place\n assert(deltaPrice, \"Delta price is not available\");\n\n const abortController = new AbortController();\n currentAbortControllerRef.current = abortController;\n\n const signal = abortController.signal;\n\n // on Delta the order.deadline must exactly match permit2.deadline\n const orderDeadline = produceDeltaOrderDeadline();\n\n let signedPermitResult: SignedPermitResult | undefined;\n\n let approveTxHash: Hash | undefined;\n let approveTxReceipt: TransactionReceipt | undefined;\n\n // at this point this is the syncronously available price\n const allowanceToSet = approval.allowanceToSet;\n // we use this allowance as a max allowance we will accept new prices for\n\n // deltaPrice here is the starting price, available before async code and waiting\n let freshPrice = deltaPrice;\n let unsubscribeFromPrice: (() => void) | undefined;\n // this also resets previous usingPriceRef\n usingPriceRef.current = freshPrice;\n\n try {\n if (approval.needsApproval && allowanceToSet) {\n // queryKey used to fetch the current price,\n // it will be used for the subsequent price refetches as long as price params not changed\n const queryKey = getQueryForPrice({\n chainId,\n price: freshPrice,\n })?.queryKey;\n\n // should always be available\n if (queryKey) {\n // freeze allowanceToSet\n const approvedAmount = allowanceToSet;\n\n // subscribe to price updates to keep track of new prices for the same price params,\n // independently of the hook itself\n unsubscribeFromPrice = subscribeToPrice({\n queryKey,\n onData: (newPrice) => {\n if (signal.aborted) {\n // just in case unsubscribe in finally is not yet called\n // for the queued update with the price from an already cancelled flow\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n return;\n }\n\n // slightly higher amount if BUY with slippage\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: newPrice.srcAmount,\n destAmount: newPrice.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n // if new price fits into allowance, update it\n if (approvedAmount >= BigInt(amountsAfterSlippage.srcAmount)) {\n logger.log(\"~ fresh price ~\", newPrice);\n freshPrice = newPrice;\n usingPriceRef.current = freshPrice;\n }\n },\n });\n }\n\n if (!signPermit.isPermitSupported || !signPermit.isPermitReadyToSign) {\n approveTxHash = await approveTxMut.approveAsync({\n allowanceData: {\n allowanceToSet,\n },\n });\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n const approveTxReceiptPromise = ensureTxReceipt({\n hash: approveTxHash,\n chainId,\n onReplaced: (data) => {\n logger.log(\"onReplaced:approveTx\", approveTxHash, data);\n },\n });\n\n if (onTxSent) {\n onTxSent({\n chainId,\n txHash: approveTxHash,\n actionType: \"approve\",\n receiptPromise: approveTxReceiptPromise,\n });\n }\n\n approveTxReceipt = await approveTxReceiptPromise;\n\n logger.log(\"~ approveTx ~ receipt:\", approveTxReceipt);\n // @TODO check if we need to see if receipt.status === \"reverted\" and throw,\n // or if waitForTransactionReceipt already throws on such receipts\n } else {\n // sign Permit\n signedPermitResult = await signPermitMut.signPermitAsync({\n deadline: orderDeadline,\n value: allowanceToSet,\n });\n }\n }\n\n // if aborted by this point, throw an error\n signal.throwIfAborted();\n\n assert(account, \"Account is not connected\");\n\n // as long as we had set approvedAmount, we will only get new prices that satisfy the allowance\n const deltaPriceToUse = freshPrice;\n usingPriceRef.current = deltaPriceToUse;\n // no longer need updates, unsubscribe\n unsubscribeFromPrice?.();\n unsubscribeFromPrice = undefined;\n\n assert(deltaPriceToUse, \"Delta price is not available\");\n\n const beneficiaryType = receiverAddress\n ? isContractAtAddress\n ? \"SmartContract\"\n : \"EOA\"\n : undefined;\n\n const amountsAfterSlippage = applySlippage(\n {\n srcAmount: deltaPriceToUse.srcAmount,\n destAmount: deltaPriceToUse.destAmount,\n },\n resolvedSlippage,\n \"SELL\" // @TODO add BUY support for Delta when available\n );\n\n let permit = signedPermitResult?.permitEncodedArgs;\n if (\n signedPermitResult?.signedPermitData.type === \"permit2\" &&\n signedPermitResult.signedPermitData.variant === \"transferFrom\"\n ) {\n // In the Delta Contract, specifically for Permit2 transferFrom, we have signature consisting of\n // bytes32(permit2nonce) + bytes64(signature) = bytes96 Permit2 Transfer format\n permit = encodePermit2TransferFromSigDataForDelta({\n nonce: signedPermitResult.signedPermitData.nonce,\n signature: signedPermitResult.signature,\n });\n }\n\n const destChainId = isBridgePrice(deltaPriceToUse)\n ? deltaPriceToUse.bridge.destinationChainId\n : chainId;\n\n const orderFromAPI = await createOrderMut.mutateAsync({\n signal,\n orderInput: {\n owner: account,\n beneficiary: receiverAddress,\n beneficiaryType,\n srcToken: deltaPriceToUse.srcToken,\n destToken: deltaPriceToUse.destToken,\n permit,\n destChainId,\n deltaPrice: deltaPriceToUse,\n // @TODO if necessary to support add more params\n partner,\n ...amountsAfterSlippage,\n deadline: Number(orderDeadline),\n },\n });\n\n // Order is sent, consider Token nonce as used\n if (signedPermitResult) {\n markNonceAsUsed(signedPermitResult.signedPermitData);\n }\n // will refetch Order on interval until completed.\n // in parallel with useWatchDeltaAuction but independently if useWatchDeltaAuction is unmounted\n const lastOrderStatePromise = ensureOrderExecuted({\n orderId: orderFromAPI.id,\n // signal, // fails the toast if aborted, don't use\n });\n\n if (onOrderSent) {\n onOrderSent({\n order: orderFromAPI,\n lastOrderState: lastOrderStatePromise,\n });\n }\n\n const lastOrderState = await lastOrderStatePromise;\n\n // no use aborting past this point, Order is already being processed\n\n // @TODO check if we need to see if receipt.status === \"reverted\" and trhow,\n // or if waitForTransactionReceipt already throws on such receipts\n\n // @TODO try catch, handle errors, refetch allowance and balance in finally\n\n return {\n tradeFlowType: \"deltaOrder\",\n approve: {\n txHash: approveTxHash,\n receipt: approveTxReceipt,\n },\n deltaOrder: {\n sentOrder: orderFromAPI,\n lastOrderState,\n },\n deltaPrice: deltaPriceToUse,\n // @TODO add whatever else may be relevant\n account,\n receiverAddress,\n };\n } catch (error) {\n // Order failed, we can't be sure if nonce can be reused or it was incremented in a different Order\n // or even a Market swap tx in the meantime\n if (signedPermitResult) {\n clearNonce(signedPermitResult.signedPermitData);\n }\n throw error;\n } finally {\n // always unsubscribe if subscribed previously\n unsubscribeFromPrice?.();\n }\n };\n\n const deltaOrderMut = useMutation({\n mutationFn: submitDeltaOrder,\n mutationKey: [DELTA_ORDER_MUTATION_KEY],\n onSuccess: (data) => {\n logger.log(\"Delta Order success\", data);\n },\n onError: (error) => {\n logger.error(\"Delta Order error\", error);\n },\n onSettled: () => {\n logger.log(\"Delta Order settled\");\n },\n });\n\n const runDeltaOrderFlow = deltaOrderMut.mutateAsync;\n\n const reset = () => {\n usingPriceRef.current = null;\n\n approveTxMut.reset();\n signPermitMut.reset();\n createOrderMut.reset();\n deltaOrderMut.reset();\n };\n\n const retryFlow = (\n options?: RunDeltaOrderOptions\n ): Promise<SubmitDeltaOrderResult> => {\n reset();\n return runDeltaOrderFlow(options);\n };\n\n // finalPrice if we reached that point, or usable price (based on allowance given)\n const usedPrice: typeof deltaPrice = usingPriceRef.current || deltaPrice;\n\n /* 7. return result */\n return {\n chainId,\n runDeltaOrderFlow,\n reset,\n cancelFlow,\n retryFlow,\n approval,\n signPermit,\n deltaOrderSubmission,\n deltaOrderExecution,\n // deltaOrderMut includes all steps' queries and mutations and returns more precise errors (including cancellation)\n isPending: deltaOrderMut.isPending,\n isSuccess: deltaOrderSubmission.isSuccess && deltaOrderExecution.isSuccess, // approval is an optional step\n isError: deltaOrderMut.isError,\n error: deltaOrderMut.error,\n result: deltaOrderMut.data,\n usedPrice,\n };\n}\n"],"names":["DELTA_ORDER_MUTATION_KEY","useDeltaFlow","deltaPrice","logger","useLogger","chainId","useChainId","resolvedSlippage","useSlippage","approval","signPermit","approveTxMut","signPermitMut","useApproveOrPermit","srcToken","srcAmount","spenderContractType","swapSide","address","account","useAccount","minClient","useMinViemClient","createOrderMut","useCreateDeltaOrder","client","mutationOptions","onSuccess","order","log","onError","error","deltaOrderSubmission","data","isCreatingOrder","isPending","isOrderSent","isSuccess","isError","watchOrderExecution","useWatchDeltaAuction","orderId","id","onAuctionSuccess","onAuctionFailure","onUpdatedAuction","onTimeoutGettingOrder","orderStatus","getOverallOrderStatus","neverFetchedFinishedOrder","deltaOrderExecution","sentOrder","lastOrderState","isOrderPending","isOrderExecuting","isOrderExecuted","isLoading","isRefetching","ensureOrderExecuted","useEnsureDeltaOrderExecuted","ensureTxReceipt","useEnsureTxReceipt","currentAbortControllerRef","useRef","usingPriceRef","cancelFlow","current","abort","UserCancelledError","receiverAddress","useReceiverAddressValue","destChainId","isBridgePrice","bridge","destinationChainId","isContractAtAddress","useIsContractAtAddress","isContract","markNonceAsUsed","clearNonce","useMarkPermit1Or2NonceAsUsed","partner","useWidgetConfig","getQueryForPrice","useDeltaPriceQueryForPrice","subscribeToPrice","useSubscribeToDeltaPrice","submitDeltaOrder","onTxSent","onOrderSent","reset","assert","abortController","AbortController","signal","orderDeadline","produceDeltaOrderDeadline","signedPermitResult","approveTxHash","approveTxReceipt","allowanceToSet","freshPrice","unsubscribeFromPrice","needsApproval","queryKey","price","approvedAmount","onData","newPrice","aborted","undefined","amountsAfterSlippage","applySlippage","destAmount","BigInt","isPermitSupported","isPermitReadyToSign","approveAsync","allowanceData","throwIfAborted","approveTxReceiptPromise","hash","onReplaced","txHash","actionType","receiptPromise","signPermitAsync","deadline","value","deltaPriceToUse","beneficiaryType","permit","permitEncodedArgs","signedPermitData","type","variant","encodePermit2TransferFromSigDataForDelta","nonce","signature","orderFromAPI","mutateAsync","orderInput","owner","beneficiary","destToken","Number","lastOrderStatePromise","tradeFlowType","approve","receipt","deltaOrder","deltaOrderMut","useMutation","mutationFn","mutationKey","onSettled","runDeltaOrderFlow","retryFlow","options","usedPrice","result"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"useDeltaSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAKxB,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAExD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC5C,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,GACzB,sBAAsB,CAmHxB"}
1
+ {"version":3,"file":"useDeltaSwapStep.d.ts","sourceRoot":"","sources":["../../../../src/hooks/swap/tradeFlow/useDeltaSwapStep.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,iBAAiB,EAClB,MAAM,yCAAyC,CAAC;AACjD,OAAO,EAEL,KAAK,sBAAsB,EAC3B,KAAK,iBAAiB,EACtB,KAAK,kBAAkB,EACxB,MAAM,gBAAgB,CAAC;AAKxB,KAAK,sBAAsB,GAAG;IAC5B,cAAc,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAC;IAExD,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAC;IACnC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAC;IAC7C,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;IAC3C,aAAa,EAAE,OAAO,CAAC;IACvB,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IACpB,WAAW,CAAC,EAAE,iBAAiB,CAAC;IAChC,MAAM,CAAC,EAAE,sBAAsB,CAAC;IAChC,SAAS,EAAE,kBAAkB,CAAC,WAAW,CAAC,CAAC;CAC5C,CAAC;AAEF,wBAAgB,gBAAgB,CAC9B,OAAO,EAAE,iBAAiB,GACzB,sBAAsB,CAkHxB"}
@@ -35,7 +35,7 @@ function useDeltaSwapStep(options) {
35
35
  } else {
36
36
  if (deltaFlow.deltaOrderExecution.isPending) {
37
37
  const orderStatus = deltaFlow.deltaOrderExecution.lastOrderState?.status;
38
- const notYetRunning = !orderStatus || orderStatus === "NOT_STARTED" || orderStatus === "POSTED";
38
+ const notYetRunning = !orderStatus || orderStatus === "NOT_STARTED";
39
39
  step = {
40
40
  key: notYetRunning ? "auction" : "order-execution"
41
41
  };