@stridge/kit 0.1.0-alpha.61 → 0.1.0-alpha.63

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 (170) hide show
  1. package/dist/_internal/deposit/driver/index.d.ts +2 -2
  2. package/dist/deposit/compound/index.d.ts +10 -2
  3. package/dist/deposit/compound/index.js +1 -1
  4. package/dist/deposit/widgets/index.d.ts +3 -1
  5. package/dist/deposit/widgets/index.js +1 -1
  6. package/dist/drivers/stridge/createStridgeDepositDriver.js +1 -1
  7. package/dist/drivers/stridge-mock/createStridgeMockDriver.js +1 -1
  8. package/dist/drivers/stridge-mock/fixtures.d.ts +1 -1
  9. package/dist/drivers/stridge-mock/fixtures.js +1 -1
  10. package/dist/flows/deposit/dialog/DepositDialog.js +1 -1
  11. package/dist/flows/deposit/driver/payloads.d.ts +136 -7
  12. package/dist/flows/deposit/driver/types.d.ts +44 -2
  13. package/dist/flows/deposit/orchestrator/controller.js +1 -1
  14. package/dist/flows/deposit/orchestrator/reducer.js +1 -1
  15. package/dist/flows/deposit/orchestrator/types.d.ts +105 -12
  16. package/dist/flows/deposit/shared/onramp.js +1 -1
  17. package/dist/flows/deposit/shared/onrampError.js +1 -0
  18. package/dist/flows/deposit/widgets/deposit/Deposit.js +1 -1
  19. package/dist/flows/deposit/widgets/error-state/ErrorState.js +1 -1
  20. package/dist/flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.d.ts +12 -8
  21. package/dist/flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.js +1 -1
  22. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.d.ts +4 -0
  23. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.js +1 -1
  24. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.d.ts +7 -0
  25. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.js +1 -1
  26. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.styles.js +1 -1
  27. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/CurrencyChip.d.ts +12 -0
  28. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/CurrencyChip.js +1 -0
  29. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ProviderCard.d.ts +12 -0
  30. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ProviderCard.js +1 -0
  31. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/components/ReceiveChip.js +1 -1
  32. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/context.d.ts +14 -0
  33. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/index.d.ts +1 -0
  34. package/dist/flows/deposit/widgets/onramp-amount-entry/compound/types.d.ts +12 -1
  35. package/dist/flows/deposit/widgets/onramp-confirm/OnrampConfirm.d.ts +2 -0
  36. package/dist/flows/deposit/widgets/onramp-confirm/OnrampConfirm.js +1 -1
  37. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.d.ts +2 -0
  38. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.js +1 -1
  39. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.d.ts +7 -0
  40. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.js +1 -1
  41. package/dist/flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.styles.js +1 -1
  42. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Body.js +1 -1
  43. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Disclaimer.d.ts +21 -0
  44. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Disclaimer.js +1 -0
  45. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Summary.d.ts +2 -2
  46. package/dist/flows/deposit/widgets/onramp-confirm/compound/components/Summary.js +1 -1
  47. package/dist/flows/deposit/widgets/onramp-confirm/compound/context.d.ts +28 -7
  48. package/dist/flows/deposit/widgets/onramp-confirm/compound/index.d.ts +1 -1
  49. package/dist/flows/deposit/widgets/onramp-confirm/compound/types.d.ts +7 -2
  50. package/dist/flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.d.ts +39 -0
  51. package/dist/flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.js +1 -0
  52. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.d.ts +37 -0
  53. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.js +1 -0
  54. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.d.ts +17 -0
  55. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.js +1 -0
  56. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.styles.js +1 -0
  57. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Body.d.ts +6 -0
  58. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Body.js +1 -0
  59. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/CurrencyRow.d.ts +12 -0
  60. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/CurrencyRow.js +1 -0
  61. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Empty.js +1 -0
  62. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Header.d.ts +10 -0
  63. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Header.js +1 -0
  64. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Search.d.ts +6 -0
  65. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/components/Search.js +1 -0
  66. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/context.js +1 -0
  67. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/index.d.ts +3 -0
  68. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/index.js +1 -0
  69. package/dist/flows/deposit/widgets/onramp-currency-picker/compound/types.d.ts +48 -0
  70. package/dist/flows/deposit/widgets/onramp-currency-picker/index.d.ts +1 -0
  71. package/dist/flows/deposit/widgets/onramp-currency-picker/index.js +1 -0
  72. package/dist/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.d.ts +2 -0
  73. package/dist/flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.js +1 -1
  74. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.d.ts +6 -1
  75. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.js +1 -1
  76. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.d.ts +3 -0
  77. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.js +1 -1
  78. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.d.ts +13 -0
  79. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.js +1 -0
  80. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/components/Flow.styles.js +1 -0
  81. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/context.d.ts +32 -0
  82. package/dist/flows/deposit/widgets/onramp-payment-pending/compound/index.d.ts +1 -0
  83. package/dist/flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.d.ts +38 -0
  84. package/dist/flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.js +1 -0
  85. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.d.ts +35 -0
  86. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.js +1 -0
  87. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.d.ts +19 -0
  88. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.js +1 -0
  89. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.styles.js +1 -0
  90. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Body.d.ts +6 -0
  91. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Body.js +1 -0
  92. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Header.d.ts +10 -0
  93. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/Header.js +1 -0
  94. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/ProviderRow.d.ts +15 -0
  95. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/components/ProviderRow.js +1 -0
  96. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/context.js +1 -0
  97. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/index.d.ts +3 -0
  98. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/index.js +1 -0
  99. package/dist/flows/deposit/widgets/onramp-provider-picker/compound/types.d.ts +50 -0
  100. package/dist/flows/deposit/widgets/onramp-provider-picker/index.d.ts +1 -0
  101. package/dist/flows/deposit/widgets/onramp-provider-picker/index.js +1 -0
  102. package/dist/flows/deposit/widgets/success-state/SuccessState.js +1 -1
  103. package/dist/flows/withdraw/widgets/withdraw-form/compound/components/RecipientField.js +1 -1
  104. package/dist/format/index.d.ts +2 -1
  105. package/dist/format/index.js +1 -1
  106. package/dist/i18n/locales/ar.js +1 -1
  107. package/dist/i18n/locales/es.js +1 -1
  108. package/dist/i18n/locales/source-keys.d.ts +1 -1
  109. package/dist/icons/index.d.ts +4 -1
  110. package/dist/icons/index.js +1 -1
  111. package/dist/package.js +1 -1
  112. package/dist/shared/attribution/Attribution.js +1 -1
  113. package/dist/shared/attribution/Attribution.styles.js +1 -1
  114. package/dist/shared/dialog/Frame.js +1 -1
  115. package/dist/shared/format/formatFiat.d.ts +31 -0
  116. package/dist/shared/format/formatFiat.js +1 -0
  117. package/dist/shared/icons/BellIcon.d.ts +7 -0
  118. package/dist/shared/icons/BellIcon.js +1 -0
  119. package/dist/shared/icons/DirhamSignIcon.d.ts +16 -0
  120. package/dist/shared/icons/DirhamSignIcon.js +1 -0
  121. package/dist/shared/icons/SearchIcon.d.ts +7 -0
  122. package/dist/shared/icons/SearchIcon.js +1 -0
  123. package/dist/shared/ui/AmountInput/useAutoShrinkFontSize.js +1 -1
  124. package/dist/shared/ui/Checkbox/Checkbox.d.ts +47 -0
  125. package/dist/shared/ui/Checkbox/Checkbox.js +1 -0
  126. package/dist/shared/ui/Checkbox/Checkbox.slots.d.ts +12 -0
  127. package/dist/shared/ui/Checkbox/Checkbox.slots.js +1 -0
  128. package/dist/shared/ui/Checkbox/Checkbox.styles.js +1 -0
  129. package/dist/shared/ui/Checkbox/index.d.ts +2 -0
  130. package/dist/shared/ui/Checkbox/index.js +1 -0
  131. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.d.ts +36 -0
  132. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.js +1 -0
  133. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.slots.d.ts +12 -0
  134. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.slots.js +1 -0
  135. package/dist/shared/ui/CurrencyGlyph/CurrencyGlyph.styles.js +1 -0
  136. package/dist/shared/ui/CurrencyGlyph/flags.js +1 -0
  137. package/dist/shared/ui/CurrencyGlyph/index.d.ts +2 -0
  138. package/dist/shared/ui/CurrencyGlyph/index.js +1 -0
  139. package/dist/shared/ui/DisclosureRow/DisclosureRow.d.ts +56 -0
  140. package/dist/shared/ui/DisclosureRow/DisclosureRow.js +1 -0
  141. package/dist/shared/ui/DisclosureRow/DisclosureRow.slots.d.ts +8 -0
  142. package/dist/shared/ui/DisclosureRow/DisclosureRow.slots.js +1 -0
  143. package/dist/shared/ui/DisclosureRow/DisclosureRow.styles.js +1 -0
  144. package/dist/shared/ui/DisclosureRow/index.d.ts +2 -0
  145. package/dist/shared/ui/DisclosureRow/index.js +1 -0
  146. package/dist/shared/ui/FiatSymbol/FiatAmount.d.ts +32 -0
  147. package/dist/shared/ui/FiatSymbol/FiatAmount.js +1 -0
  148. package/dist/shared/ui/FiatSymbol/FiatSymbol.d.ts +30 -0
  149. package/dist/shared/ui/FiatSymbol/FiatSymbol.js +1 -0
  150. package/dist/shared/ui/FiatSymbol/index.d.ts +2 -0
  151. package/dist/shared/ui/FiatSymbol/index.js +1 -0
  152. package/dist/shared/utils/logos/resolveLogoSrc.js +1 -1
  153. package/dist/shared/widgets/amount-entry/compound/AmountEntry.js +1 -1
  154. package/dist/shared/widgets/amount-entry/compound/AmountEntry.styles.js +1 -1
  155. package/dist/shared/widgets/amount-entry/compound/components/Hero/Hero.d.ts +2 -1
  156. package/dist/shared/widgets/amount-entry/compound/components/Hero/Hero.js +1 -1
  157. package/dist/shared/widgets/amount-entry/compound/components/Hero/StaticBand.js +1 -1
  158. package/dist/shared/widgets/amount-entry/compound/types.d.ts +10 -0
  159. package/dist/shared/widgets/confirm-transfer/compound/components/Breakdown.js +1 -1
  160. package/dist/shared/widgets/error-state/compound/ErrorState.styles.js +1 -1
  161. package/dist/shared/widgets/error-state/compound/components/MoreDetails.d.ts +3 -3
  162. package/dist/shared/widgets/error-state/compound/components/MoreDetails.js +1 -1
  163. package/dist/shared/widgets/success-state/compound/SuccessState.styles.js +1 -1
  164. package/dist/shared/widgets/success-state/compound/components/MoreDetails.d.ts +2 -3
  165. package/dist/shared/widgets/success-state/compound/components/MoreDetails.js +1 -1
  166. package/dist/styles/index.css +118 -0
  167. package/dist/ui/index.d.ts +9 -1
  168. package/dist/ui/index.js +1 -1
  169. package/dist/version.js +1 -1
  170. package/package.json +2 -2
@@ -1,5 +1,5 @@
1
1
  import { Entity, SettlementFailureKind, TxRef } from "../../../shared/driver/types.js";
2
- import { AcceptedAssetPayload, AddressItemPayload, AssetPayload, BalanceItemPayload, BrandPayload, ChainPayload, OnrampMethodCapability, OnrampMethodsPayload, OnrampQuotePayload, OnrampReceiveAssetPayload, OnrampSessionPayload, OnrampSessionStateName, QuoteBreakdownPayload, QuotePayload, QuoteRoutePayload, SettlementFailurePayload, SettlementPayload, SettlementPendingPayload, SettlementSuccessPayload, SourceWalletPayload, TargetPayload, WalletInfo, WalletPayload } from "../../../flows/deposit/driver/payloads.js";
2
+ import { AcceptedAssetPayload, AddressItemPayload, AssetPayload, BalanceItemPayload, BrandPayload, ChainPayload, OnrampCurrenciesPayload, OnrampCurrencyPayload, OnrampMethodCapability, OnrampMethodsPayload, OnrampProviderDisclaimer, OnrampProviderPayload, OnrampProviderStatus, OnrampProvidersPayload, OnrampQuotePayload, OnrampReceiveAssetPayload, OnrampSessionPayload, OnrampSessionStateName, QuoteBreakdownPayload, QuotePayload, QuoteRoutePayload, SettlementFailurePayload, SettlementPayload, SettlementPendingPayload, SettlementSuccessPayload, SourceWalletPayload, TargetPayload, WalletInfo, WalletPayload } from "../../../flows/deposit/driver/payloads.js";
3
3
  import { CreateOnrampSessionInput, DepositDriver, DepositSnapshot, FetchActiveSettlementInput, RequestOnrampQuoteInput, RequestQuoteInput, SettlementSnapshot, SubmitDepositInput, WatchOnrampSessionInput, WatchSettlementInput, WatchSourceTxInput } from "../../../flows/deposit/driver/types.js";
4
4
  import { DepositDriverProvider, KitDriverContext, useDepositDriverInstance, useDepositSnapshot } from "../../../flows/deposit/driver/context.js";
5
- export { type AcceptedAssetPayload, type AddressItemPayload, type AssetPayload, type BalanceItemPayload, type BrandPayload, type ChainPayload, type CreateOnrampSessionInput, type DepositDriver, DepositDriverProvider, type DepositSnapshot, type Entity, type FetchActiveSettlementInput, KitDriverContext, type OnrampMethodCapability, type OnrampMethodsPayload, type OnrampQuotePayload, type OnrampReceiveAssetPayload, type OnrampSessionPayload, type OnrampSessionStateName, type QuoteBreakdownPayload, type QuotePayload, type QuoteRoutePayload, type RequestOnrampQuoteInput, type RequestQuoteInput, type SettlementFailureKind, type SettlementFailurePayload, type SettlementPayload, type SettlementPendingPayload, type SettlementSnapshot, type SettlementSuccessPayload, type SourceWalletPayload, type SubmitDepositInput, type TargetPayload, type TxRef, type WalletInfo, type WalletPayload, type WatchOnrampSessionInput, type WatchSettlementInput, type WatchSourceTxInput, useDepositDriverInstance, useDepositSnapshot };
5
+ export { type AcceptedAssetPayload, type AddressItemPayload, type AssetPayload, type BalanceItemPayload, type BrandPayload, type ChainPayload, type CreateOnrampSessionInput, type DepositDriver, DepositDriverProvider, type DepositSnapshot, type Entity, type FetchActiveSettlementInput, KitDriverContext, type OnrampCurrenciesPayload, type OnrampCurrencyPayload, type OnrampMethodCapability, type OnrampMethodsPayload, type OnrampProviderDisclaimer, type OnrampProviderPayload, type OnrampProviderStatus, type OnrampProvidersPayload, type OnrampQuotePayload, type OnrampReceiveAssetPayload, type OnrampSessionPayload, type OnrampSessionStateName, type QuoteBreakdownPayload, type QuotePayload, type QuoteRoutePayload, type RequestOnrampQuoteInput, type RequestQuoteInput, type SettlementFailureKind, type SettlementFailurePayload, type SettlementPayload, type SettlementPendingPayload, type SettlementSnapshot, type SettlementSuccessPayload, type SourceWalletPayload, type SubmitDepositInput, type TargetPayload, type TxRef, type WalletInfo, type WalletPayload, type WatchOnrampSessionInput, type WatchSettlementInput, type WatchSourceTxInput, useDepositDriverInstance, useDepositSnapshot };
@@ -21,18 +21,26 @@ import { DEPOSIT_STATUS_BANNER_SLOTS, DepositStatusBannerSlot } from "../../flow
21
21
  import { AmountEntryBodyProps, AmountEntryDetailsProps, AmountEntryDetailsRowProps, AmountEntryDialogProps, AmountEntryFlowProps, AmountEntryFooterProps, AmountEntryHeaderProps, AmountEntryHeroProps, AmountEntryNoticeProps, AmountEntryPercentPreset, AmountEntryPillsProps, AmountEntryProps, AmountEntryToken } from "../../shared/widgets/amount-entry/compound/types.js";
22
22
  import { AmountEntry } from "../../shared/widgets/amount-entry/compound/AmountEntry.js";
23
23
  import { AMOUNT_ENTRY_SLOTS, AmountEntrySlot } from "../../shared/widgets/amount-entry/compound/AmountEntry.slots.js";
24
+ import { OnrampAmountEntryProviderInfo } from "../../flows/deposit/widgets/onramp-amount-entry/compound/context.js";
24
25
  import { OnrampAmountEntryDialogProps, OnrampAmountEntryHeroLabelProps, OnrampAmountEntryProps } from "../../flows/deposit/widgets/onramp-amount-entry/compound/types.js";
25
26
  import { OnrampAmountEntry } from "../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.js";
26
27
  import { ONRAMP_AMOUNT_ENTRY_SLOTS, OnrampAmountEntrySlot } from "../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.js";
27
- import { OnrampConfirmSummary } from "../../flows/deposit/widgets/onramp-confirm/compound/context.js";
28
+ import { OnrampConfirmDisclaimer, OnrampConfirmSummary } from "../../flows/deposit/widgets/onramp-confirm/compound/context.js";
28
29
  import { OnrampConfirmBodyProps, OnrampConfirmDialogProps, OnrampConfirmHeaderProps, OnrampConfirmProps, OnrampConfirmSummaryProps } from "../../flows/deposit/widgets/onramp-confirm/compound/types.js";
29
30
  import { OnrampConfirm } from "../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.js";
30
31
  import { ONRAMP_CONFIRM_SLOTS, OnrampConfirmSlot } from "../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.js";
32
+ import { CurrencyOption, OnrampCurrencyPickerBodyProps, OnrampCurrencyPickerDialogProps, OnrampCurrencyPickerHeaderProps, OnrampCurrencyPickerProps, OnrampCurrencyPickerRowProps } from "../../flows/deposit/widgets/onramp-currency-picker/compound/types.js";
33
+ import { OnrampCurrencyPicker } from "../../flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.js";
34
+ import { ONRAMP_CURRENCY_PICKER_SLOTS, OnrampCurrencyPickerSlot } from "../../flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.js";
35
+ import { OnrampFlowLeg, OnrampFlowSummary } from "../../flows/deposit/widgets/onramp-payment-pending/compound/context.js";
31
36
  import { OnrampPaymentPending, OnrampPaymentPendingProps } from "../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.js";
32
37
  import { ONRAMP_PAYMENT_PENDING_SLOTS, OnrampPaymentPendingSlot } from "../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.js";
38
+ import { OnrampProviderPickerBodyProps, OnrampProviderPickerDialogProps, OnrampProviderPickerHeaderProps, OnrampProviderPickerProps, OnrampProviderPickerRowProps, ProviderOption } from "../../flows/deposit/widgets/onramp-provider-picker/compound/types.js";
39
+ import { OnrampProviderPicker } from "../../flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.js";
40
+ import { ONRAMP_PROVIDER_PICKER_SLOTS, OnrampProviderPickerSlot } from "../../flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.js";
33
41
  import { TransferCrypto } from "../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.js";
34
42
  import { TRANSFER_CRYPTO_SLOTS, TransferCryptoSlot } from "../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.slots.js";
35
43
  import { AssetOption, AssetPickerAssetProps, AssetPickerBodyProps, AssetPickerDialogProps, AssetPickerFooterProps, AssetPickerHeaderProps, AssetPickerListProps, AssetPickerProps, AssetPickerToken } from "../../shared/widgets/asset-picker/compound/types.js";
36
44
  import { AssetPicker } from "../../shared/widgets/asset-picker/compound/AssetPicker.js";
37
45
  import { ASSET_PICKER_SLOTS, AssetPickerSlot } from "../../shared/widgets/asset-picker/compound/AssetPicker.slots.js";
38
- export { AMOUNT_ENTRY_SLOTS, ASSET_PICKER_SLOTS, AmountEntry, AmountEntryBodyProps, AmountEntryDetailsProps, AmountEntryDetailsRowProps, AmountEntryDialogProps, AmountEntryFlowProps, AmountEntryFooterProps, AmountEntryHeaderProps, AmountEntryHeroProps, AmountEntryNoticeProps, AmountEntryPercentPreset, AmountEntryPillsProps, AmountEntryProps, AmountEntrySlot, AmountEntryToken, AssetOption, AssetPicker, AssetPickerAssetProps, AssetPickerBodyProps, AssetPickerDialogProps, AssetPickerFooterProps, AssetPickerHeaderProps, AssetPickerListProps, AssetPickerProps, AssetPickerSlot, AssetPickerToken, CONFIRM_TRANSFER_SLOTS, ConfirmTransfer, ConfirmTransferAmountsProps, ConfirmTransferBodyProps, ConfirmTransferBreakdown, ConfirmTransferBreakdownPercentRow, ConfirmTransferBreakdownProps, ConfirmTransferBreakdownTextRow, ConfirmTransferBreakdownUsdRow, ConfirmTransferDialogProps, ConfirmTransferDisclaimerProps, ConfirmTransferFooterProps, ConfirmTransferHeaderProps, ConfirmTransferHeroProps, ConfirmTransferMetaProps, ConfirmTransferProps, ConfirmTransferSlot, ConfirmTransferToken, ConfirmTransferTransfer, DEPOSIT_SLOTS, DEPOSIT_STATUS_BANNER_SLOTS, Deposit, DepositBodyProps, DepositDialogProps, DepositHeaderProps, DepositMethodInput, DepositMethodOption, DepositMethodProps, DepositMethodSectionProps, DepositMethodsProps, DepositProps, DepositRail, DepositRailDescriptor, DepositRailPickerProps, DepositRailProps, DepositSlot, DepositStatusBanner, DepositStatusBannerAsset, DepositStatusBannerBodyProps, DepositStatusBannerCloseProps, DepositStatusBannerDetailProps, DepositStatusBannerDetailsProps, DepositStatusBannerFooterProps, DepositStatusBannerHeroProps, DepositStatusBannerKind, DepositStatusBannerPrimaryActionProps, DepositStatusBannerProps, DepositStatusBannerRowProps, DepositStatusBannerSlot, DepositStatusBannerToggleProps, DepositStatusBannerTxRef, DepositStepsProps, ERROR_STATE_SLOTS, ErrorState, ErrorStateActionsProps, ErrorStateAsset, ErrorStateAssetValueProps, ErrorStateBodyProps, ErrorStateDestination, ErrorStateDetailProps, ErrorStateDetailsProps, ErrorStateDialogProps, ErrorStateDisclosureChevronProps, ErrorStateHeaderProps, ErrorStateHelp, ErrorStateHelpInfoProps, ErrorStateHeroProps, ErrorStateMoreDetailsProps, ErrorStateProps, ErrorStateRowProps, ErrorStateSlot, ErrorStateSourceWallet, ErrorStateStatusValueProps, ErrorStateTxRef, ONRAMP_AMOUNT_ENTRY_SLOTS, ONRAMP_CONFIRM_SLOTS, ONRAMP_PAYMENT_PENDING_SLOTS, OnrampAmountEntry, OnrampAmountEntryDialogProps, OnrampAmountEntryHeroLabelProps, OnrampAmountEntryProps, OnrampAmountEntrySlot, OnrampConfirm, OnrampConfirmBodyProps, OnrampConfirmDialogProps, OnrampConfirmHeaderProps, OnrampConfirmProps, OnrampConfirmSlot, OnrampConfirmSummary, OnrampConfirmSummaryProps, OnrampPaymentPending, OnrampPaymentPendingProps, OnrampPaymentPendingSlot, PROCESSING_STATE_SLOTS, ProcessingState, ProcessingStateAsset, ProcessingStateBodyProps, ProcessingStateDetailProps, ProcessingStateDetailsProps, ProcessingStateDialogProps, ProcessingStateHeaderProps, ProcessingStateHeroProps, ProcessingStateProps, ProcessingStateRowProps, ProcessingStateSlot, ProcessingStateSourceWallet, ProcessingStateStatusPillProps, ProcessingStateTxRef, SUCCESS_STATE_SLOTS, SuccessState, SuccessStateActionsProps, SuccessStateAsset, SuccessStateAssetValueProps, SuccessStateBodyProps, SuccessStateDetailProps, SuccessStateDetailsProps, SuccessStateDialogProps, SuccessStateExplorer, SuccessStateHeaderProps, SuccessStateHeadlineProps, SuccessStateMoreDetailsProps, SuccessStateProps, SuccessStateRouteValueProps, SuccessStateRowProps, SuccessStateSlot, SuccessStateSourceWallet, SuccessStateStatusPillProps, SuccessStateTxRef, TRANSFER_CRYPTO_SLOTS, TransferCrypto, TransferCryptoAsset, TransferCryptoBodyProps, TransferCryptoChain, TransferCryptoDialogProps, TransferCryptoDisclosureProps, TransferCryptoHeaderProps, TransferCryptoProps, TransferCryptoSlot, TransferCryptoToken };
46
+ export { AMOUNT_ENTRY_SLOTS, ASSET_PICKER_SLOTS, AmountEntry, AmountEntryBodyProps, AmountEntryDetailsProps, AmountEntryDetailsRowProps, AmountEntryDialogProps, AmountEntryFlowProps, AmountEntryFooterProps, AmountEntryHeaderProps, AmountEntryHeroProps, AmountEntryNoticeProps, AmountEntryPercentPreset, AmountEntryPillsProps, AmountEntryProps, AmountEntrySlot, AmountEntryToken, AssetOption, AssetPicker, AssetPickerAssetProps, AssetPickerBodyProps, AssetPickerDialogProps, AssetPickerFooterProps, AssetPickerHeaderProps, AssetPickerListProps, AssetPickerProps, AssetPickerSlot, AssetPickerToken, CONFIRM_TRANSFER_SLOTS, ConfirmTransfer, ConfirmTransferAmountsProps, ConfirmTransferBodyProps, ConfirmTransferBreakdown, ConfirmTransferBreakdownPercentRow, ConfirmTransferBreakdownProps, ConfirmTransferBreakdownTextRow, ConfirmTransferBreakdownUsdRow, ConfirmTransferDialogProps, ConfirmTransferDisclaimerProps, ConfirmTransferFooterProps, ConfirmTransferHeaderProps, ConfirmTransferHeroProps, ConfirmTransferMetaProps, ConfirmTransferProps, ConfirmTransferSlot, ConfirmTransferToken, ConfirmTransferTransfer, CurrencyOption, DEPOSIT_SLOTS, DEPOSIT_STATUS_BANNER_SLOTS, Deposit, DepositBodyProps, DepositDialogProps, DepositHeaderProps, DepositMethodInput, DepositMethodOption, DepositMethodProps, DepositMethodSectionProps, DepositMethodsProps, DepositProps, DepositRail, DepositRailDescriptor, DepositRailPickerProps, DepositRailProps, DepositSlot, DepositStatusBanner, DepositStatusBannerAsset, DepositStatusBannerBodyProps, DepositStatusBannerCloseProps, DepositStatusBannerDetailProps, DepositStatusBannerDetailsProps, DepositStatusBannerFooterProps, DepositStatusBannerHeroProps, DepositStatusBannerKind, DepositStatusBannerPrimaryActionProps, DepositStatusBannerProps, DepositStatusBannerRowProps, DepositStatusBannerSlot, DepositStatusBannerToggleProps, DepositStatusBannerTxRef, DepositStepsProps, ERROR_STATE_SLOTS, ErrorState, ErrorStateActionsProps, ErrorStateAsset, ErrorStateAssetValueProps, ErrorStateBodyProps, ErrorStateDestination, ErrorStateDetailProps, ErrorStateDetailsProps, ErrorStateDialogProps, ErrorStateDisclosureChevronProps, ErrorStateHeaderProps, ErrorStateHelp, ErrorStateHelpInfoProps, ErrorStateHeroProps, ErrorStateMoreDetailsProps, ErrorStateProps, ErrorStateRowProps, ErrorStateSlot, ErrorStateSourceWallet, ErrorStateStatusValueProps, ErrorStateTxRef, ONRAMP_AMOUNT_ENTRY_SLOTS, ONRAMP_CONFIRM_SLOTS, ONRAMP_CURRENCY_PICKER_SLOTS, ONRAMP_PAYMENT_PENDING_SLOTS, ONRAMP_PROVIDER_PICKER_SLOTS, OnrampAmountEntry, OnrampAmountEntryDialogProps, OnrampAmountEntryHeroLabelProps, OnrampAmountEntryProps, OnrampAmountEntryProviderInfo, OnrampAmountEntrySlot, OnrampConfirm, OnrampConfirmBodyProps, OnrampConfirmDialogProps, OnrampConfirmDisclaimer, OnrampConfirmHeaderProps, OnrampConfirmProps, OnrampConfirmSlot, OnrampConfirmSummary, OnrampConfirmSummaryProps, OnrampCurrencyPicker, OnrampCurrencyPickerBodyProps, OnrampCurrencyPickerDialogProps, OnrampCurrencyPickerHeaderProps, OnrampCurrencyPickerProps, OnrampCurrencyPickerRowProps, OnrampCurrencyPickerSlot, OnrampFlowLeg, OnrampFlowSummary, OnrampPaymentPending, OnrampPaymentPendingProps, OnrampPaymentPendingSlot, OnrampProviderPicker, OnrampProviderPickerBodyProps, OnrampProviderPickerDialogProps, OnrampProviderPickerHeaderProps, OnrampProviderPickerProps, OnrampProviderPickerRowProps, OnrampProviderPickerSlot, PROCESSING_STATE_SLOTS, ProcessingState, ProcessingStateAsset, ProcessingStateBodyProps, ProcessingStateDetailProps, ProcessingStateDetailsProps, ProcessingStateDialogProps, ProcessingStateHeaderProps, ProcessingStateHeroProps, ProcessingStateProps, ProcessingStateRowProps, ProcessingStateSlot, ProcessingStateSourceWallet, ProcessingStateStatusPillProps, ProcessingStateTxRef, ProviderOption, SUCCESS_STATE_SLOTS, SuccessState, SuccessStateActionsProps, SuccessStateAsset, SuccessStateAssetValueProps, SuccessStateBodyProps, SuccessStateDetailProps, SuccessStateDetailsProps, SuccessStateDialogProps, SuccessStateExplorer, SuccessStateHeaderProps, SuccessStateHeadlineProps, SuccessStateMoreDetailsProps, SuccessStateProps, SuccessStateRouteValueProps, SuccessStateRowProps, SuccessStateSlot, SuccessStateSourceWallet, SuccessStateStatusPillProps, SuccessStateTxRef, TRANSFER_CRYPTO_SLOTS, TransferCrypto, TransferCryptoAsset, TransferCryptoBodyProps, TransferCryptoChain, TransferCryptoDialogProps, TransferCryptoDisclosureProps, TransferCryptoHeaderProps, TransferCryptoProps, TransferCryptoSlot, TransferCryptoToken };
@@ -1 +1 @@
1
- import{DEPOSIT_SLOTS as e}from"../../flows/deposit/widgets/deposit/compound/Deposit.slots.js";import{Deposit as t}from"../../flows/deposit/widgets/deposit/compound/Deposit.js";import"../../flows/deposit/widgets/deposit/compound/index.js";import{DEPOSIT_STATUS_BANNER_SLOTS as n}from"../../flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.slots.js";import{DepositStatusBanner as r}from"../../flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.js";import"../../flows/deposit/widgets/deposit-status-banner/compound/index.js";import{AMOUNT_ENTRY_SLOTS as i}from"../../shared/widgets/amount-entry/compound/AmountEntry.slots.js";import{AmountEntry as a}from"../../shared/widgets/amount-entry/compound/AmountEntry.js";import"../../shared/widgets/amount-entry/compound/index.js";import{ONRAMP_AMOUNT_ENTRY_SLOTS as o}from"../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.js";import{OnrampAmountEntry as s}from"../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.js";import"../../flows/deposit/widgets/onramp-amount-entry/compound/index.js";import{ONRAMP_CONFIRM_SLOTS as c}from"../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.js";import{OnrampConfirm as l}from"../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.js";import"../../flows/deposit/widgets/onramp-confirm/compound/index.js";import{PROCESSING_STATE_SLOTS as u}from"../../shared/widgets/processing-state/compound/ProcessingState.slots.js";import{ProcessingState as d}from"../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../shared/widgets/processing-state/compound/index.js";import{ONRAMP_PAYMENT_PENDING_SLOTS as f}from"../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.js";import{OnrampPaymentPending as p}from"../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.js";import"../../flows/deposit/widgets/onramp-payment-pending/compound/index.js";import{TRANSFER_CRYPTO_SLOTS as m}from"../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.slots.js";import{TransferCrypto as h}from"../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.js";import"../../flows/deposit/widgets/transfer-crypto/compound/index.js";import{ASSET_PICKER_SLOTS as g}from"../../shared/widgets/asset-picker/compound/AssetPicker.slots.js";import{AssetPicker as _}from"../../shared/widgets/asset-picker/compound/AssetPicker.js";import"../../shared/widgets/asset-picker/compound/index.js";import{CONFIRM_TRANSFER_SLOTS as v}from"../../shared/widgets/confirm-transfer/compound/ConfirmTransfer.slots.js";import{ConfirmTransfer as y}from"../../shared/widgets/confirm-transfer/compound/ConfirmTransfer.js";import"../../shared/widgets/confirm-transfer/compound/index.js";import{ERROR_STATE_SLOTS as b}from"../../shared/widgets/error-state/compound/ErrorState.slots.js";import{ErrorState as x}from"../../shared/widgets/error-state/compound/ErrorState.js";import"../../shared/widgets/error-state/compound/index.js";import{SUCCESS_STATE_SLOTS as S}from"../../shared/widgets/success-state/compound/SuccessState.slots.js";import{SuccessState as C}from"../../shared/widgets/success-state/compound/SuccessState.js";import"../../shared/widgets/success-state/compound/index.js";export{i as AMOUNT_ENTRY_SLOTS,g as ASSET_PICKER_SLOTS,a as AmountEntry,_ as AssetPicker,v as CONFIRM_TRANSFER_SLOTS,y as ConfirmTransfer,e as DEPOSIT_SLOTS,n as DEPOSIT_STATUS_BANNER_SLOTS,t as Deposit,r as DepositStatusBanner,b as ERROR_STATE_SLOTS,x as ErrorState,o as ONRAMP_AMOUNT_ENTRY_SLOTS,c as ONRAMP_CONFIRM_SLOTS,f as ONRAMP_PAYMENT_PENDING_SLOTS,s as OnrampAmountEntry,l as OnrampConfirm,p as OnrampPaymentPending,u as PROCESSING_STATE_SLOTS,d as ProcessingState,S as SUCCESS_STATE_SLOTS,C as SuccessState,m as TRANSFER_CRYPTO_SLOTS,h as TransferCrypto};
1
+ import{DEPOSIT_SLOTS as e}from"../../flows/deposit/widgets/deposit/compound/Deposit.slots.js";import{Deposit as t}from"../../flows/deposit/widgets/deposit/compound/Deposit.js";import"../../flows/deposit/widgets/deposit/compound/index.js";import{DEPOSIT_STATUS_BANNER_SLOTS as n}from"../../flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.slots.js";import{DepositStatusBanner as r}from"../../flows/deposit/widgets/deposit-status-banner/compound/DepositStatusBanner.js";import"../../flows/deposit/widgets/deposit-status-banner/compound/index.js";import{AMOUNT_ENTRY_SLOTS as i}from"../../shared/widgets/amount-entry/compound/AmountEntry.slots.js";import{AmountEntry as a}from"../../shared/widgets/amount-entry/compound/AmountEntry.js";import"../../shared/widgets/amount-entry/compound/index.js";import{ONRAMP_AMOUNT_ENTRY_SLOTS as o}from"../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.slots.js";import{OnrampAmountEntry as s}from"../../flows/deposit/widgets/onramp-amount-entry/compound/OnrampAmountEntry.js";import"../../flows/deposit/widgets/onramp-amount-entry/compound/index.js";import{ONRAMP_CONFIRM_SLOTS as c}from"../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.slots.js";import{OnrampConfirm as l}from"../../flows/deposit/widgets/onramp-confirm/compound/OnrampConfirm.js";import"../../flows/deposit/widgets/onramp-confirm/compound/index.js";import{ONRAMP_CURRENCY_PICKER_SLOTS as u}from"../../flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.slots.js";import{OnrampCurrencyPicker as d}from"../../flows/deposit/widgets/onramp-currency-picker/compound/OnrampCurrencyPicker.js";import"../../flows/deposit/widgets/onramp-currency-picker/compound/index.js";import{PROCESSING_STATE_SLOTS as f}from"../../shared/widgets/processing-state/compound/ProcessingState.slots.js";import{ProcessingState as p}from"../../shared/widgets/processing-state/compound/ProcessingState.js";import"../../shared/widgets/processing-state/compound/index.js";import{ONRAMP_PAYMENT_PENDING_SLOTS as m}from"../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.slots.js";import{OnrampPaymentPending as h}from"../../flows/deposit/widgets/onramp-payment-pending/compound/OnrampPaymentPending.js";import"../../flows/deposit/widgets/onramp-payment-pending/compound/index.js";import{ONRAMP_PROVIDER_PICKER_SLOTS as g}from"../../flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.slots.js";import{OnrampProviderPicker as _}from"../../flows/deposit/widgets/onramp-provider-picker/compound/OnrampProviderPicker.js";import"../../flows/deposit/widgets/onramp-provider-picker/compound/index.js";import{TRANSFER_CRYPTO_SLOTS as v}from"../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.slots.js";import{TransferCrypto as y}from"../../flows/deposit/widgets/transfer-crypto/compound/TransferCrypto.js";import"../../flows/deposit/widgets/transfer-crypto/compound/index.js";import{ASSET_PICKER_SLOTS as b}from"../../shared/widgets/asset-picker/compound/AssetPicker.slots.js";import{AssetPicker as x}from"../../shared/widgets/asset-picker/compound/AssetPicker.js";import"../../shared/widgets/asset-picker/compound/index.js";import{CONFIRM_TRANSFER_SLOTS as S}from"../../shared/widgets/confirm-transfer/compound/ConfirmTransfer.slots.js";import{ConfirmTransfer as C}from"../../shared/widgets/confirm-transfer/compound/ConfirmTransfer.js";import"../../shared/widgets/confirm-transfer/compound/index.js";import{ERROR_STATE_SLOTS as w}from"../../shared/widgets/error-state/compound/ErrorState.slots.js";import{ErrorState as T}from"../../shared/widgets/error-state/compound/ErrorState.js";import"../../shared/widgets/error-state/compound/index.js";import{SUCCESS_STATE_SLOTS as E}from"../../shared/widgets/success-state/compound/SuccessState.slots.js";import{SuccessState as D}from"../../shared/widgets/success-state/compound/SuccessState.js";import"../../shared/widgets/success-state/compound/index.js";export{i as AMOUNT_ENTRY_SLOTS,b as ASSET_PICKER_SLOTS,a as AmountEntry,x as AssetPicker,S as CONFIRM_TRANSFER_SLOTS,C as ConfirmTransfer,e as DEPOSIT_SLOTS,n as DEPOSIT_STATUS_BANNER_SLOTS,t as Deposit,r as DepositStatusBanner,w as ERROR_STATE_SLOTS,T as ErrorState,o as ONRAMP_AMOUNT_ENTRY_SLOTS,c as ONRAMP_CONFIRM_SLOTS,u as ONRAMP_CURRENCY_PICKER_SLOTS,m as ONRAMP_PAYMENT_PENDING_SLOTS,g as ONRAMP_PROVIDER_PICKER_SLOTS,s as OnrampAmountEntry,l as OnrampConfirm,d as OnrampCurrencyPicker,h as OnrampPaymentPending,_ as OnrampProviderPicker,f as PROCESSING_STATE_SLOTS,p as ProcessingState,E as SUCCESS_STATE_SLOTS,D as SuccessState,v as TRANSFER_CRYPTO_SLOTS,y as TransferCrypto};
@@ -10,8 +10,10 @@ import { DepositStatusBanner } from "../../flows/deposit/widgets/deposit-status-
10
10
  import { ErrorState } from "../../flows/deposit/widgets/error-state/ErrorState.js";
11
11
  import { OnrampAmountEntry } from "../../flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.js";
12
12
  import { OnrampConfirm } from "../../flows/deposit/widgets/onramp-confirm/OnrampConfirm.js";
13
+ import { OnrampCurrencyPicker } from "../../flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.js";
13
14
  import { OnrampPaymentPending } from "../../flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.js";
15
+ import { OnrampProviderPicker } from "../../flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.js";
14
16
  import { ProcessingState } from "../../flows/deposit/widgets/processing-state/ProcessingState.js";
15
17
  import { SuccessState } from "../../flows/deposit/widgets/success-state/SuccessState.js";
16
18
  import { TransferCrypto } from "../../flows/deposit/widgets/transfer-crypto/TransferCrypto.js";
17
- export { AmountEntry, AssetPicker, ConfirmDeposit, Deposit, DepositActivityDetail, DepositActivityList, DepositStatusBanner, DialogShell, type DialogShellControls, type DialogShellProps, ErrorState, OnrampAmountEntry, OnrampConfirm, OnrampPaymentPending, type Presentation, type PresentationConfig, type PresentationMode, ProcessingState, SuccessState, TransferCrypto };
19
+ export { AmountEntry, AssetPicker, ConfirmDeposit, Deposit, DepositActivityDetail, DepositActivityList, DepositStatusBanner, DialogShell, type DialogShellControls, type DialogShellProps, ErrorState, OnrampAmountEntry, OnrampConfirm, OnrampCurrencyPicker, OnrampPaymentPending, OnrampProviderPicker, type Presentation, type PresentationConfig, type PresentationMode, ProcessingState, SuccessState, TransferCrypto };
@@ -1 +1 @@
1
- import{DialogShell as e}from"../../shared/dialog/DialogShell.js";import{DepositActivityDetail as t}from"../../flows/deposit/widgets/activity/DepositActivityDetail.js";import{DepositActivityList as n}from"../../flows/deposit/widgets/activity/DepositActivityList.js";import"../../flows/deposit/widgets/activity/index.js";import{AmountEntry as r}from"../../flows/deposit/widgets/amount-entry/AmountEntry.js";import"../../flows/deposit/widgets/amount-entry/index.js";import{AssetPicker as i}from"../../flows/deposit/widgets/asset-picker/AssetPicker.js";import"../../flows/deposit/widgets/asset-picker/index.js";import{ConfirmDeposit as a}from"../../flows/deposit/widgets/confirm-deposit/ConfirmDeposit.js";import"../../flows/deposit/widgets/confirm-deposit/index.js";import{Deposit as o}from"../../flows/deposit/widgets/deposit/Deposit.js";import"../../flows/deposit/widgets/deposit/index.js";import{DepositStatusBanner as s}from"../../flows/deposit/widgets/deposit-status-banner/DepositStatusBanner.js";import"../../flows/deposit/widgets/deposit-status-banner/index.js";import{ErrorState as c}from"../../flows/deposit/widgets/error-state/ErrorState.js";import"../../flows/deposit/widgets/error-state/index.js";import{OnrampAmountEntry as l}from"../../flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.js";import"../../flows/deposit/widgets/onramp-amount-entry/index.js";import{OnrampConfirm as u}from"../../flows/deposit/widgets/onramp-confirm/OnrampConfirm.js";import"../../flows/deposit/widgets/onramp-confirm/index.js";import{OnrampPaymentPending as d}from"../../flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.js";import"../../flows/deposit/widgets/onramp-payment-pending/index.js";import{ProcessingState as f}from"../../flows/deposit/widgets/processing-state/ProcessingState.js";import"../../flows/deposit/widgets/processing-state/index.js";import{SuccessState as p}from"../../flows/deposit/widgets/success-state/SuccessState.js";import"../../flows/deposit/widgets/success-state/index.js";import{TransferCrypto as m}from"../../flows/deposit/widgets/transfer-crypto/TransferCrypto.js";import"../../flows/deposit/widgets/transfer-crypto/index.js";export{r as AmountEntry,i as AssetPicker,a as ConfirmDeposit,o as Deposit,t as DepositActivityDetail,n as DepositActivityList,s as DepositStatusBanner,e as DialogShell,c as ErrorState,l as OnrampAmountEntry,u as OnrampConfirm,d as OnrampPaymentPending,f as ProcessingState,p as SuccessState,m as TransferCrypto};
1
+ import{DialogShell as e}from"../../shared/dialog/DialogShell.js";import{DepositActivityDetail as t}from"../../flows/deposit/widgets/activity/DepositActivityDetail.js";import{DepositActivityList as n}from"../../flows/deposit/widgets/activity/DepositActivityList.js";import"../../flows/deposit/widgets/activity/index.js";import{AmountEntry as r}from"../../flows/deposit/widgets/amount-entry/AmountEntry.js";import"../../flows/deposit/widgets/amount-entry/index.js";import{AssetPicker as i}from"../../flows/deposit/widgets/asset-picker/AssetPicker.js";import"../../flows/deposit/widgets/asset-picker/index.js";import{ConfirmDeposit as a}from"../../flows/deposit/widgets/confirm-deposit/ConfirmDeposit.js";import"../../flows/deposit/widgets/confirm-deposit/index.js";import{Deposit as o}from"../../flows/deposit/widgets/deposit/Deposit.js";import"../../flows/deposit/widgets/deposit/index.js";import{DepositStatusBanner as s}from"../../flows/deposit/widgets/deposit-status-banner/DepositStatusBanner.js";import"../../flows/deposit/widgets/deposit-status-banner/index.js";import{ErrorState as c}from"../../flows/deposit/widgets/error-state/ErrorState.js";import"../../flows/deposit/widgets/error-state/index.js";import{OnrampAmountEntry as l}from"../../flows/deposit/widgets/onramp-amount-entry/OnrampAmountEntry.js";import"../../flows/deposit/widgets/onramp-amount-entry/index.js";import{OnrampConfirm as u}from"../../flows/deposit/widgets/onramp-confirm/OnrampConfirm.js";import"../../flows/deposit/widgets/onramp-confirm/index.js";import{OnrampCurrencyPicker as d}from"../../flows/deposit/widgets/onramp-currency-picker/OnrampCurrencyPicker.js";import"../../flows/deposit/widgets/onramp-currency-picker/index.js";import{OnrampPaymentPending as f}from"../../flows/deposit/widgets/onramp-payment-pending/OnrampPaymentPending.js";import"../../flows/deposit/widgets/onramp-payment-pending/index.js";import{OnrampProviderPicker as p}from"../../flows/deposit/widgets/onramp-provider-picker/OnrampProviderPicker.js";import"../../flows/deposit/widgets/onramp-provider-picker/index.js";import{ProcessingState as m}from"../../flows/deposit/widgets/processing-state/ProcessingState.js";import"../../flows/deposit/widgets/processing-state/index.js";import{SuccessState as h}from"../../flows/deposit/widgets/success-state/SuccessState.js";import"../../flows/deposit/widgets/success-state/index.js";import{TransferCrypto as g}from"../../flows/deposit/widgets/transfer-crypto/TransferCrypto.js";import"../../flows/deposit/widgets/transfer-crypto/index.js";export{r as AmountEntry,i as AssetPicker,a as ConfirmDeposit,o as Deposit,t as DepositActivityDetail,n as DepositActivityList,s as DepositStatusBanner,e as DialogShell,c as ErrorState,l as OnrampAmountEntry,u as OnrampConfirm,d as OnrampCurrencyPicker,f as OnrampPaymentPending,p as OnrampProviderPicker,m as ProcessingState,h as SuccessState,g as TransferCrypto};
@@ -1 +1 @@
1
- import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{NATIVE_QUOTE_ADDRESS as t,isStablecoinSymbol as n,toBaseUnits as r}from"./internal/encoding.js";import{resolveSdkEnv as i}from"./internal/env.js";import{buildKitMetadata as a}from"./internal/metadata.js";import{pollOnce as o}from"./internal/pollOnce.js";import{buildErc20OrNativeStep as s,signAndConfirm as c}from"./internal/signAndConfirm.js";import{buildEvmChainsParam as l}from"./internal/supportedChains.js";import{withOneShotRetry as u}from"./internal/retry.js";import{pickRelevantSettlement as d}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{createEntityStore as f}from"../stridge-mock/store.js";import{startPoll as p}from"./poll.js";import{formatTokenAmount as m}from"../../shared/format/formatTokenAmount.js";import{formatUsd as h}from"../../shared/format/formatUsd.js";import{balanceToBalancesPayload as g,buildRoutableAllowlist as ee}from"../../flows/deposit/driver/transformers/balanceToBalancesPayload.js";import{quoteToPayload as te}from"../../flows/deposit/driver/transformers/quoteToPayload.js";import{settlementToPayload as _}from"../../flows/deposit/driver/transformers/settlementToPayload.js";import{startToAddressesPayload as ne}from"../../flows/deposit/driver/transformers/startToAddressesPayload.js";import{startToBrandPayload as v}from"../../flows/deposit/driver/transformers/startToBrandPayload.js";import{startToTargetPayload as y}from"../../flows/deposit/driver/transformers/startToTargetPayload.js";import{walletAddressToWalletPayload as b}from"../../flows/deposit/driver/transformers/walletAddressToWalletPayload.js";import{defaultBlockExplorers as x}from"../../shared/utils/explorers.js";import{createStridgeRpc as S}from"./rpc.js";import{createWagmiSigner as re}from"./wagmiSigner.js";import{createApiClient as ie,isOnrampTerminalState as ae}from"@stridge/sdk";function oe(e,t,n){let r=Number(e.fiatAmount),i=Number(e.assetAmount),a=Number(e.rate),o=Number(e.fees.total),s=e.fees.provider===void 0?void 0:Number(e.fees.provider),c=e.fees.network===void 0?void 0:Number(e.fees.network);return{amountUsd:{value:r,formatted:h(r,n)},receiveAmount:{value:i,formatted:m(i,n)},receiveAsset:{symbol:e.assetName||t.destination.asset_symbol,decimals:t.destination.asset_decimals,address:t.destination.asset_address,isNative:!t.destination.asset_address,chainId:Number(t.destination.eip155_id)},rate:{value:a,formatted:m(a,n)},...s===void 0?{}:{processingFeeUsd:{value:s,formatted:h(s,n)}},...c===void 0?{}:{networkFeeUsd:{value:c,formatted:h(c,n)}},totalFeeUsd:{value:o,formatted:h(o,n)},provider:e.provider}}function C(e,t){let n=Number(e.flow.destination.amount);return{sessionId:e.sessionId,state:e.state,...e.checkoutUrl?{checkoutUrl:e.checkoutUrl}:{},...e.providerOrderId?{providerOrderId:e.providerOrderId}:{},...Number.isFinite(n)&&n>0?{receiveAmount:{value:n,formatted:m(n,t)}}:{},...e.expiresAt?{expiresAt:Date.parse(e.expiresAt)}:{}}}function se(e,t){let n,r;for(let t of e.paymentMethods){let e=t.maxFiat===void 0?NaN:Number.parseFloat(t.maxFiat);Number.isFinite(e)&&(n===void 0||e>n)&&(n=e);let i=t.processingTime?.trim();!r&&i&&(r=i)}if(n!==void 0)return{limit:{value:n,formatted:h(n,t)},...r?{processingTime:{value:0,formatted:r}}:{}}}function w(m){let w=ie({projectKey:m.projectKey,env:i(m.environment)}),D=m.pollIntervals??{},de=D.detectionMs??2e3,fe=D.processingMs??2e3,pe=D.terminalMs??1e4,me=D.balancesMs??6e4,O=m.minAmountUsd,k=m.maxAmountUsd,A=m.getI18n??(()=>e),j={...x(),...m.explorers??{}},M=m.destination.network_id,N=m.destination.asset_symbol,P=m.destination.to_address??m.userAddress,F=m.rpc??S(),I={address:m.userAddress},L=f({brand:{status:`idle`},target:{status:`idle`},addresses:{status:`idle`},balances:{status:`idle`},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:b(I),raw:I,response:I},onrampMethods:{status:`idle`},onrampQuote:{status:`idle`},onrampSession:{status:`idle`}}),R,z,B,V,H=m.wagmiConfig?re({wagmiConfig:m.wagmiConfig,getSupportedAssets:()=>z,explorers:j}):void 0;function U(){if(z)return B??=ee(z),B}let W=!1,G=Promise.resolve(),K=!1,q=Promise.resolve(null),J=null;function Y(){W||(W=!0,G=he(),q=ge(),_e())}let X;async function Z(e){try{if(await G,e.aborted)return null;let t=l(z),n=await w.balance.onchain(m.userAddress,{signal:e,includeSpam:!1,includeZero:!1,...t?{chains:t}:{}});if(e.aborted)return null;J=Date.now();let r=U();if(!r)return L.update({balances:{status:`ready`,payload:[],raw:n,response:n}}),null;let i=g(n,{i18n:A(),routable:r,minAmountUsd:O,...m.resolveTokenIcon?{resolveTokenIcon:m.resolveTokenIcon}:{}});return L.update({balances:{status:`ready`,payload:i,raw:n,response:n},wallet:Q(i,A())}),n}catch{return null}}async function he(){L.update({brand:{status:`loading`},target:{status:`loading`},addresses:{status:`loading`},balances:{status:`loading`}});try{let[e,t]=await Promise.all([u(()=>w.gateway.start({owner:m.userAddress,destination:{network_id:M,to_address:P,asset_symbol:N},metadata:a({flow:`deposit`,...m.metadata?{hostMetadata:m.metadata}:{},extras:{destination:{networkId:M,assetSymbol:N}}})})),m.catalog?m.catalog.getSupportedAssets():u(()=>w.gateway.assets()).catch(()=>null)]);R=e;let n=e.metadata?.brand_name;typeof n==`string`&&n.trim().length>0&&(V=n.trim());let r=A();if(t&&(z=t,B=void 0),L.update({brand:{status:`ready`,payload:v(e.metadata),raw:e.metadata,response:e},addresses:{status:`ready`,payload:ne(e.deposit_addresses,{i18n:r,explorers:j,...t?{chainLogos:le(t)}:{},...t?{minAmountUsdByEip155Id:ue(t,O),nativeAssetByEip155Id:T(t),priceImpactByEip155Id:E(t)}:{}}),raw:e.deposit_addresses,response:e}}),t){let e=y(t,{i18n:r,networkId:M,assetSymbol:N,minAmountUsd:O,...k===void 0?{}:{maxAmountUsd:k}}),n=t.assets.find(e=>String(e.network_id)===M);e&&n?L.update({target:{status:`ready`,payload:e,raw:n,response:t}}):L.update({target:{status:`error`,error:Error(`Destination not found in supportedAssets catalog.`)}})}else L.update({target:{status:`error`,error:Error(`supportedAssets fetch failed.`)}})}catch(e){let t=e instanceof Error?e:Error(String(e));L.update({brand:{status:`error`,error:t},target:{status:`error`,error:t},addresses:{status:`error`,error:t}})}}async function ge(){try{await G;let e=l(z),t=await u(()=>w.balance.onchain(m.userAddress,{includeSpam:!1,includeZero:!1,...e?{chains:e}:{}}));J=Date.now();let n=U();if(!n)return L.update({balances:{status:`ready`,payload:[],raw:t,response:t}}),t;let r=g(t,{i18n:A(),routable:n,minAmountUsd:O,...m.resolveTokenIcon?{resolveTokenIcon:m.resolveTokenIcon}:{}});return L.update({balances:{status:`ready`,payload:r,raw:t,response:t},wallet:Q(r,A())}),t}catch(e){let t=e instanceof Error?e:Error(String(e));return L.update({balances:{status:`error`,error:t}}),null}}async function _e(){L.update({onrampMethods:{status:`loading`}});try{let e=se(await w.onramp.catalog({}),A());if(!e){L.update({onrampMethods:{status:`idle`}});return}L.update({onrampMethods:{status:`ready`,payload:e,raw:e,response:e}})}catch{L.update({onrampMethods:{status:`idle`}})}}function Q(e,t){let n=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{status:`ready`,payload:{...b(I),balanceTotalUsd:{value:n,formatted:h(n,t)}},raw:I,response:I}}return{getSnapshot(){return L.getSnapshot()},subscribe(e){return L.subscribe(e)},arm:Y,async requestQuote(e,i){if(Y(),L.update({quote:{status:`loading`}}),await G,i.aborted)return;let a=R;if(!a){L.update({quote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let o=e.sourceChainId,s=e.sourceIsNative?t:e.sourceTokenAddress,c=r(e.amount,e.sourceTokenDecimals),l=await w.uda.quote({fromNetworkId:o,fromAsset:s,toNetworkId:Number(a.destination.eip155_id),toAsset:a.destination.asset_address||`0x0000000000000000000000000000000000000000`,amount:c,fromAddress:m.userAddress,toAddress:P},{signal:i});if(i.aborted)return;let u=A(),d={chainId:o,networkName:ce(o),eip155Id:String(o),symbol:e.sourceTokenSymbol,decimals:e.sourceTokenDecimals,address:e.sourceTokenAddress,isNative:e.sourceIsNative},f={chainId:Number(a.destination.eip155_id),networkName:a.destination.network_name,eip155Id:a.destination.eip155_id,symbol:a.destination.asset_symbol,decimals:a.destination.asset_decimals,address:a.destination.asset_address,isNative:!a.destination.asset_address},p=n(a.destination.asset_symbol)?1:void 0,h=te(l,{i18n:u,sendSide:d,receiveSide:f,sourceAmount:e.amount,now:Date.now(),...e.sourcePriceUsd===void 0?{}:{sendPriceUsd:e.sourcePriceUsd},...p===void 0?{}:{receivePriceUsd:p}});L.update({quote:{status:`ready`,payload:h,raw:l,response:l}})}catch(e){if(i.aborted)return;let t=e instanceof Error?e:Error(String(e));L.update({quote:{status:`error`,error:t}})}},async requestOnrampQuote(e,t){if(Y(),L.update({onrampQuote:{status:`loading`}}),await G,t.aborted)return;let n=R;if(!n){L.update({onrampQuote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let r=await w.onramp.quote({fiatCurrency:`USD`,fiatAmount:String(e.amount)},{signal:t});if(t.aborted)return;let i=oe(r,n,A());L.update({onrampQuote:{status:`ready`,payload:i,raw:r,response:r}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));L.update({onrampQuote:{status:`error`,error:n}})}},async createOnrampSession(e,t){if(Y(),L.update({onrampSession:{status:`loading`}}),await G,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=R;if(!n)throw Error(`gateway/start not yet resolved.`);try{let r=await w.onramp.createSession({owner:m.userAddress,fiatCurrency:`USD`,fiatAmount:String(e.amount),destinationAsset:n.destination.asset_symbol,destinationNetwork:n.destination.network_id,destinationAddress:P},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let i=C(r,A());return L.update({onrampSession:{status:`ready`,payload:i,raw:r,response:r}}),i}catch(e){if(!t.aborted){let t=e instanceof Error?e:Error(String(e));L.update({onrampSession:{status:`error`,error:t}})}throw e}},watchOnrampSession(e,t,n){Y(),p({signal:n,fetch:async t=>{try{return await w.onramp.getSession(e.sessionId,{signal:t})}catch{return null}},nextIntervalMs:e=>e&&ae(e.state)?0:3e3,listener:e=>{if(!e)return;let n={status:`ready`,payload:C(e,A()),raw:e,response:e};L.update({onrampSession:n}),t(n)}})},async submitDeposit(e,t){if(!H)throw Error(`Connect a wallet to sign and submit the deposit.`);if(Y(),await G,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=R;if(!n)throw Error(`gateway/start not yet resolved.`);let r=n.deposit_addresses.find(t=>Number(t.eip155_id)===Number(e.sourceChainId));if(!r)throw Error(`No Stridge deposit address provisioned on chain ${e.sourceChainId}. Pick a supported source chain.`);return c({signer:H,rpc:F,step:s({chainId:e.sourceChainId,from:m.userAddress,udaDepositAddress:r.address,amount:e.amount,decimals:e.sourceTokenDecimals,isNative:e.sourceIsNative,...e.sourceIsNative?{}:{sourceTokenAddress:e.sourceTokenAddress}}),signal:t,explorers:j,...m.receiptConfirmations===void 0?{}:{receiptConfirmations:m.receiptConfirmations},...m.receiptPollingIntervalMs===void 0?{}:{receiptPollingIntervalMs:m.receiptPollingIntervalMs}})},watchBalances(e,t,n){Y(),p({signal:n,fetch:async e=>K?J!==null&&Date.now()-J<3e4?L.getSnapshot().balances:Z(e):(K=!0,q),listener:()=>{t(L.getSnapshot().balances)},nextIntervalMs:()=>me})},invalidateBalances(){J=null,X?.abort();let e=new AbortController;X=e,Z(e.signal).finally(()=>{X===e&&(X=void 0)})},watchSourceTx(e,t,n){Y();let r=new Set,i={current:!1},a=!1;p({signal:n,fetch:async e=>{let{matched:t}=await o(w,m.userAddress,$(),e);return t},listener:e=>{if(a||!e)return;let n=e.settlements??[];if(!i.current){for(let e of n)r.add(e.id);i.current=!0;return}let o=n.find(e=>!r.has(e.id));if(!o)return;a=!0;let s=Number(o.from?.eip155_id??`0`);t({hash:o.from?.tx_id??``,...j[s]&&o.from?.tx_id?{explorerUrl:`${j[s].replace(/\/+$/,``)}/tx/${o.from.tx_id}`}:{}})},nextIntervalMs:()=>a?0:de})},watchSettlement(e,t,n){let r=async e=>{let{matched:t}=await o(w,m.userAddress,$(),e);return t},i=!1;p({signal:n,fetch:r,listener:n=>{if(!n)return;let r=d(n,{txHash:e.tx.hash});if(!r)return;let a=_(r,n,{i18n:A(),sourceWallet:{name:`Wallet`,address:m.userAddress},explorers:j,...V?{brandName:V}:{}});a.kind!==`pending`&&(i=!0);let o={status:`ready`,payload:a,raw:r,response:n};L.update({settlement:o}),t(o)},nextIntervalMs:()=>i?pe:fe})},async fetchActiveSettlement(e,t){let{matched:n}=await o(w,m.userAddress,$(),t);if(!n)return null;let r=d(n);if(!r)return null;let i=_(r,n,{i18n:A(),sourceWallet:{name:`Wallet`,address:m.userAddress},explorers:j,...V?{brandName:V}:{}});return i.kind===`pending`?{payload:i,raw:r,response:n}:null}};function $(){return{network_id:M,asset_symbol:N,to_address:P}}}function ce(e){switch(e){case 1:return`Ethereum`;case 56:return`BSC`;case 137:return`Polygon`;case 42161:return`Arbitrum`;case 10:return`Optimism`;case 8453:return`Base`;default:return`Chain ${e}`}}function le(e){let t={};for(let n of e.assets){let e=String(n.eip155_id),r=n.native_currency?.logo;r&&(t[e]=r)}return t}function T(e){let t={};for(let n of e.assets){let e=n.native_currency;if(!e?.symbol)continue;let r=String(n.eip155_id),i=typeof e.price_impact==`string`?e.price_impact.trim():``;t[r]={symbol:e.symbol,address:``,decimals:typeof e.decimals==`number`?e.decimals:18,isNative:!0,...e.logo?{assetLogoUrl:e.logo}:{},...i?{priceImpact:i}:{}}}return t}function E(e){let t={};for(let n of e.assets){let e={};for(let t of n.assets??[]){let n=t.price_impact;typeof n==`string`&&n.trim().length>0&&t.address&&(e[t.address.toLowerCase()]=n.trim())}Object.keys(e).length>0&&(t[String(n.eip155_id)]=e)}return t}function ue(e,t){let n={};for(let r of e.assets){let e=String(r.eip155_id),i=r.native_currency?.min_deposit_usd,a=typeof i==`string`&&i.trim().length>0?Number.parseFloat(i):NaN;n[e]=Number.isFinite(a)?a:t}return n}export{w as createStridgeDepositDriver};
1
+ import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{NATIVE_QUOTE_ADDRESS as t,isStablecoinSymbol as n,toBaseUnits as r}from"./internal/encoding.js";import{resolveSdkEnv as i}from"./internal/env.js";import{buildKitMetadata as a}from"./internal/metadata.js";import{pollOnce as o}from"./internal/pollOnce.js";import{buildErc20OrNativeStep as s,signAndConfirm as c}from"./internal/signAndConfirm.js";import{buildEvmChainsParam as l}from"./internal/supportedChains.js";import{withOneShotRetry as u}from"./internal/retry.js";import{pickRelevantSettlement as d}from"../../flows/shared/transformers/pickRelevantSettlement.js";import{createEntityStore as f}from"../stridge-mock/store.js";import{startPoll as p}from"./poll.js";import{formatFiat as m}from"../../shared/format/formatFiat.js";import{formatTokenAmount as h}from"../../shared/format/formatTokenAmount.js";import{formatUsd as g}from"../../shared/format/formatUsd.js";import{shortenAddress as _}from"../../shared/format/shortenAddress.js";import{balanceToBalancesPayload as v,buildRoutableAllowlist as ee}from"../../flows/deposit/driver/transformers/balanceToBalancesPayload.js";import{quoteToPayload as te}from"../../flows/deposit/driver/transformers/quoteToPayload.js";import{settlementToPayload as y}from"../../flows/deposit/driver/transformers/settlementToPayload.js";import{startToAddressesPayload as ne}from"../../flows/deposit/driver/transformers/startToAddressesPayload.js";import{startToBrandPayload as re}from"../../flows/deposit/driver/transformers/startToBrandPayload.js";import{startToTargetPayload as ie}from"../../flows/deposit/driver/transformers/startToTargetPayload.js";import{walletAddressToWalletPayload as b}from"../../flows/deposit/driver/transformers/walletAddressToWalletPayload.js";import{BANXA_LOGO_DATA_URI as ae,ONRAMP_POPULAR_CURRENCIES as x}from"../../flows/deposit/shared/onramp.js";import{defaultBlockExplorers as oe}from"../../shared/utils/explorers.js";import{createStridgeRpc as se}from"./rpc.js";import{createWagmiSigner as ce}from"./wagmiSigner.js";import{createApiClient as le,isOnrampTerminalState as ue}from"@stridge/sdk";const S=`Banxa`,C=`primary`,de=[{kind:`terms`,url:`https://banxa.com/terms-of-use/`},{kind:`privacy`,url:`https://banxa.com/privacy-policy/`}];function w(e,t){try{return new Intl.NumberFormat(t.locale,{style:`currency`,currency:e,currencyDisplay:`narrowSymbol`}).formatToParts(0).find(e=>e.type===`currency`)?.value??e}catch{return e}}function fe(e,t,n){let r=e.fiat_currency||`USD`,i=Number(e.fiat_amount),a=Number(e.asset_amount),o=Number(e.rate),s=Number(e.fees.total),c=e.fees.provider===void 0?void 0:Number(e.fees.provider),l=e.fees.network===void 0?void 0:Number(e.fees.network);return{amountUsd:{value:i,formatted:m(i,n,r)},amountFiat:{value:i,formatted:m(i,n,r)},fiatCurrency:r,fiatSymbol:w(r,n),receiveAmount:{value:a,formatted:h(a,n)},receiveAsset:{symbol:e.asset_name||t.destination.asset_symbol,decimals:t.destination.asset_decimals,address:t.destination.asset_address,isNative:!t.destination.asset_address,chainId:Number(t.destination.eip155_id)},rate:{value:o,formatted:h(o,n)},...c===void 0?{}:{processingFeeUsd:{value:c,formatted:m(c,n,r)}},...l===void 0?{}:{networkFeeUsd:{value:l,formatted:m(l,n,r)}},totalFeeUsd:{value:s,formatted:m(s,n,r)},provider:e.provider}}function pe(e){let t=new Set(x);return{suggested:e.suggested||`USD`,currencies:e.fiats.map(e=>({code:e.code,name:e.name,symbol:e.symbol,popular:t.has(e.code)}))}}function T(e,t){let n=Number(e.flow.destination.amount),r=Number(e.flow.fiat.amount),i=e.flow.destination.address,a=e.flow.entry?.asset,o=e.flow.destination.asset,s=e.failure_code;return{sessionId:e.session_id,state:e.state,...e.checkout_url?{checkoutUrl:e.checkout_url}:{},...e.provider_order_id?{providerOrderId:e.provider_order_id}:{},...Number.isFinite(n)&&n>0?{receiveAmount:{value:n,formatted:h(n,t)}}:{},...Number.isFinite(r)&&r>0?{fiatAmount:{value:r,formatted:m(r,t,e.flow.fiat.currency)}}:{},...e.flow.fiat.currency?{fiatCurrency:e.flow.fiat.currency}:{},...a?{depositAsset:a}:{},...o?{destinationAsset:o}:{},...i?{destinationAddress:{value:i,formatted:_(i)}}:{},...s?{failureCode:s}:{},...e.expires_at?{expiresAt:Date.parse(e.expires_at)}:{}}}function me(e,t){if(e.payment_methods.length===0)return;let n,r;for(let t of e.payment_methods){let e=t.max_fiat===void 0?NaN:Number.parseFloat(t.max_fiat);Number.isFinite(e)&&(n===void 0||e>n)&&(n=e);let i=t.processing_time?.trim();!r&&i&&(r=i)}return{...n===void 0?{}:{limit:{value:n,formatted:g(n,t)}},...r?{processingTime:{value:0,formatted:r}}:{}}}function E(m){let h=le({projectKey:m.projectKey,env:i(m.environment)}),_=m.pollIntervals??{},x=_.detectionMs??2e3,w=_.processingMs??2e3,E=_.terminalMs??1e4,ye=_.balancesMs??6e4,O=m.minAmountUsd,k=m.maxAmountUsd,A=m.getI18n??(()=>e),j={...oe(),...m.explorers??{}},M=m.destination.network_id,N=m.destination.asset_symbol,P=m.destination.to_address??m.userAddress,F=m.rpc??se(),I={address:m.userAddress},L=f({brand:{status:`idle`},target:{status:`idle`},addresses:{status:`idle`},balances:{status:`idle`},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:b(I),raw:I,response:I},onrampMethods:{status:`idle`},onrampQuote:{status:`idle`},onrampSession:{status:`idle`}}),R,z,B,V,H=m.wagmiConfig?ce({wagmiConfig:m.wagmiConfig,getSupportedAssets:()=>z,explorers:j}):void 0;function U(){if(z)return B??=ee(z),B}let W=!1,G=Promise.resolve(),K=!1,q=Promise.resolve(null),J=null;function Y(){W||(W=!0,G=be(),q=xe())}let X;async function Z(e){try{if(await G,e.aborted)return null;let t=l(z),n=await h.balance.onchain(m.userAddress,{signal:e,includeSpam:!1,includeZero:!1,...t?{chains:t}:{}});if(e.aborted)return null;J=Date.now();let r=U();if(!r)return L.update({balances:{status:`ready`,payload:[],raw:n,response:n}}),null;let i=v(n,{i18n:A(),routable:r,minAmountUsd:O,...m.resolveTokenIcon?{resolveTokenIcon:m.resolveTokenIcon}:{}});return L.update({balances:{status:`ready`,payload:i,raw:n,response:n},wallet:Q(i,A())}),n}catch{return null}}async function be(){L.update({brand:{status:`loading`},target:{status:`loading`},addresses:{status:`loading`},balances:{status:`loading`}});try{let[e,t]=await Promise.all([u(()=>h.gateway.start({owner:m.userAddress,destination:{network_id:M,to_address:P,asset_symbol:N},metadata:a({flow:`deposit`,...m.metadata?{hostMetadata:m.metadata}:{},extras:{destination:{networkId:M,assetSymbol:N}}})})),m.catalog?m.catalog.getSupportedAssets():u(()=>h.gateway.assets()).catch(()=>null)]);R=e;let n=e.metadata?.brand_name;typeof n==`string`&&n.trim().length>0&&(V=n.trim());let r=A();if(t&&(z=t,B=void 0),L.update({brand:{status:`ready`,payload:re(e.metadata),raw:e.metadata,response:e},addresses:{status:`ready`,payload:ne(e.deposit_addresses,{i18n:r,explorers:j,...t?{chainLogos:he(t)}:{},...t?{minAmountUsdByEip155Id:ve(t,O),nativeAssetByEip155Id:ge(t),priceImpactByEip155Id:_e(t)}:{}}),raw:e.deposit_addresses,response:e}}),t){let e=ie(t,{i18n:r,networkId:M,assetSymbol:N,minAmountUsd:O,...k===void 0?{}:{maxAmountUsd:k}}),n=t.assets.find(e=>String(e.network_id)===M);e&&n?L.update({target:{status:`ready`,payload:e,raw:n,response:t}}):L.update({target:{status:`error`,error:Error(`Destination not found in supportedAssets catalog.`)}})}else L.update({target:{status:`error`,error:Error(`supportedAssets fetch failed.`)}})}catch(e){let t=e instanceof Error?e:Error(String(e));L.update({brand:{status:`error`,error:t},target:{status:`error`,error:t},addresses:{status:`error`,error:t}})}}async function xe(){try{await G;let e=l(z),t=await u(()=>h.balance.onchain(m.userAddress,{includeSpam:!1,includeZero:!1,...e?{chains:e}:{}}));J=Date.now();let n=U();if(!n)return L.update({balances:{status:`ready`,payload:[],raw:t,response:t}}),t;let r=v(t,{i18n:A(),routable:n,minAmountUsd:O,...m.resolveTokenIcon?{resolveTokenIcon:m.resolveTokenIcon}:{}});return L.update({balances:{status:`ready`,payload:r,raw:t,response:t},wallet:Q(r,A())}),t}catch(e){let t=e instanceof Error?e:Error(String(e));return L.update({balances:{status:`error`,error:t}}),null}}function Q(e,t){let n=e.reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{status:`ready`,payload:{...b(I),balanceTotalUsd:{value:n,formatted:g(n,t)}},raw:I,response:I}}return{getSnapshot(){return L.getSnapshot()},subscribe(e){return L.subscribe(e)},arm:Y,async requestQuote(e,i){if(Y(),L.update({quote:{status:`loading`}}),await G,i.aborted)return;let a=R;if(!a){L.update({quote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let o=e.sourceChainId,s=e.sourceIsNative?t:e.sourceTokenAddress,c=r(e.amount,e.sourceTokenDecimals),l=await h.uda.quote({fromNetworkId:o,fromAsset:s,toNetworkId:Number(a.destination.eip155_id),toAsset:a.destination.asset_address||`0x0000000000000000000000000000000000000000`,amount:c,fromAddress:m.userAddress,toAddress:P},{signal:i});if(i.aborted)return;let u=A(),d={chainId:o,networkName:D(o),eip155Id:String(o),symbol:e.sourceTokenSymbol,decimals:e.sourceTokenDecimals,address:e.sourceTokenAddress,isNative:e.sourceIsNative},f={chainId:Number(a.destination.eip155_id),networkName:a.destination.network_name,eip155Id:a.destination.eip155_id,symbol:a.destination.asset_symbol,decimals:a.destination.asset_decimals,address:a.destination.asset_address,isNative:!a.destination.asset_address},p=n(a.destination.asset_symbol)?1:void 0,g=te(l,{i18n:u,sendSide:d,receiveSide:f,sourceAmount:e.amount,now:Date.now(),...e.sourcePriceUsd===void 0?{}:{sendPriceUsd:e.sourcePriceUsd},...p===void 0?{}:{receivePriceUsd:p}});L.update({quote:{status:`ready`,payload:g,raw:l,response:l}})}catch(e){if(i.aborted)return;let t=e instanceof Error?e:Error(String(e));L.update({quote:{status:`error`,error:t}})}},async requestOnrampQuote(e,t){if(Y(),L.update({onrampQuote:{status:`loading`}}),await G,t.aborted)return;let n=R;if(!n){L.update({onrampQuote:{status:`error`,error:Error(`gateway/start not yet resolved.`)}});return}try{let r=await h.onramp.quote({fiat_currency:e.currency,fiat_amount:String(e.amount)},{signal:t});if(t.aborted)return;let i=fe(r,n,A());L.update({onrampQuote:{status:`ready`,payload:i,raw:r,response:r}})}catch(e){if(t.aborted)return;let n=e instanceof Error?e:Error(String(e));L.update({onrampQuote:{status:`error`,error:n}})}},async requestOnrampMethods(e){Y();let t=L.getSnapshot().onrampMethods;if(!(t?.status===`ready`||t?.status===`loading`)){L.update({onrampMethods:{status:`loading`}});try{let t=await h.onramp.catalog({signal:e});if(e.aborted){L.update({onrampMethods:{status:`idle`}});return}let n=me(t,A());if(!n){L.update({onrampMethods:{status:`idle`}});return}L.update({onrampMethods:{status:`ready`,payload:n,raw:n,response:n}})}catch{L.update({onrampMethods:{status:`idle`}})}}},async requestOnrampCurrencies(e){Y();let t=L.getSnapshot().onrampCurrencies;if(!(t?.status===`ready`||t?.status===`loading`)){L.update({onrampCurrencies:{status:`loading`}});try{let t=await h.onramp.fiats({signal:e});if(e.aborted){L.update({onrampCurrencies:{status:`idle`}});return}let n=pe(t);L.update({onrampCurrencies:{status:`ready`,payload:n,raw:t,response:t}})}catch{L.update({onrampCurrencies:{status:`idle`}})}}},async requestOnrampProviders(e){Y();let t=L.getSnapshot().onrampProviders;if(t?.status===`ready`||t?.status===`loading`)return;if(L.update({onrampProviders:{status:`loading`}}),await G,e.aborted){L.update({onrampProviders:{status:`idle`}});return}let n=R,r={activeId:C,providers:[{id:C,name:S,status:`active`,logoUrl:ae,...n?{receiveAsset:{symbol:n.destination.asset_symbol}}:{},disclaimer:{providerName:S,links:de}}]};L.update({onrampProviders:{status:`ready`,payload:r,raw:r,response:r}})},async createOnrampSession(e,t){if(Y(),L.update({onrampSession:{status:`loading`}}),await G,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=R;if(!n)throw Error(`gateway/start not yet resolved.`);let r=typeof window<`u`?window.location.href:void 0;try{let i=await h.onramp.createSession({owner:m.userAddress,fiat_currency:e.currency,fiat_amount:String(e.amount),destination_asset_symbol:n.destination.asset_symbol,destination_network_id:n.destination.network_id,destination_address:P,...r?{redirect_url:r}:{}},{signal:t});if(t.aborted)throw new DOMException(`Aborted`,`AbortError`);let a=T(i,A());return L.update({onrampSession:{status:`ready`,payload:a,raw:i,response:i}}),a}catch(e){if(!t.aborted){let t=e instanceof Error?e:Error(String(e));L.update({onrampSession:{status:`error`,error:t}})}throw e}},watchOnrampSession(e,t,n){Y(),p({signal:n,fetch:async t=>{try{return await h.onramp.getSession(e.sessionId,{signal:t})}catch{return null}},nextIntervalMs:e=>e&&ue(e.state)?0:3e3,listener:e=>{if(!e)return;let n={status:`ready`,payload:T(e,A()),raw:e,response:e};L.update({onrampSession:n}),t(n)}})},async submitDeposit(e,t){if(!H)throw Error(`Connect a wallet to sign and submit the deposit.`);if(Y(),await G,t.aborted)throw new DOMException(`Aborted`,`AbortError`);let n=R;if(!n)throw Error(`gateway/start not yet resolved.`);let r=n.deposit_addresses.find(t=>Number(t.eip155_id)===Number(e.sourceChainId));if(!r)throw Error(`No Stridge deposit address provisioned on chain ${e.sourceChainId}. Pick a supported source chain.`);return c({signer:H,rpc:F,step:s({chainId:e.sourceChainId,from:m.userAddress,udaDepositAddress:r.address,amount:e.amount,decimals:e.sourceTokenDecimals,isNative:e.sourceIsNative,...e.sourceIsNative?{}:{sourceTokenAddress:e.sourceTokenAddress}}),signal:t,explorers:j,...m.receiptConfirmations===void 0?{}:{receiptConfirmations:m.receiptConfirmations},...m.receiptPollingIntervalMs===void 0?{}:{receiptPollingIntervalMs:m.receiptPollingIntervalMs}})},watchBalances(e,t,n){Y(),p({signal:n,fetch:async e=>K?J!==null&&Date.now()-J<3e4?L.getSnapshot().balances:Z(e):(K=!0,q),listener:()=>{t(L.getSnapshot().balances)},nextIntervalMs:()=>ye})},invalidateBalances(){J=null,X?.abort();let e=new AbortController;X=e,Z(e.signal).finally(()=>{X===e&&(X=void 0)})},watchSourceTx(e,t,n){Y();let r=new Set,i={current:!1},a=!1;p({signal:n,fetch:async e=>{let{matched:t}=await o(h,m.userAddress,$(),e);return t},listener:e=>{if(a||!e)return;let n=e.settlements??[];if(!i.current){for(let e of n)r.add(e.id);i.current=!0;return}let o=n.find(e=>!r.has(e.id));if(!o)return;a=!0;let s=Number(o.from?.eip155_id??`0`);t({hash:o.from?.tx_id??``,...j[s]&&o.from?.tx_id?{explorerUrl:`${j[s].replace(/\/+$/,``)}/tx/${o.from.tx_id}`}:{}})},nextIntervalMs:()=>a?0:x})},watchSettlement(e,t,n){let r=async e=>{let{matched:t}=await o(h,m.userAddress,$(),e);return t},i=!1;p({signal:n,fetch:r,listener:n=>{if(!n)return;let r=d(n,{txHash:e.tx.hash});if(!r)return;let a=y(r,n,{i18n:A(),sourceWallet:{name:`Wallet`,address:m.userAddress},explorers:j,...V?{brandName:V}:{}});a.kind!==`pending`&&(i=!0);let o={status:`ready`,payload:a,raw:r,response:n};L.update({settlement:o}),t(o)},nextIntervalMs:()=>i?E:w})},async fetchActiveSettlement(e,t){let{matched:n}=await o(h,m.userAddress,$(),t);if(!n)return null;let r=d(n);if(!r)return null;let i=y(r,n,{i18n:A(),sourceWallet:{name:`Wallet`,address:m.userAddress},explorers:j,...V?{brandName:V}:{}});return i.kind===`pending`?{payload:i,raw:r,response:n}:null}};function $(){return{network_id:M,asset_symbol:N,to_address:P}}}function D(e){switch(e){case 1:return`Ethereum`;case 56:return`BSC`;case 137:return`Polygon`;case 42161:return`Arbitrum`;case 10:return`Optimism`;case 8453:return`Base`;default:return`Chain ${e}`}}function he(e){let t={};for(let n of e.assets){let e=String(n.eip155_id),r=n.native_currency?.logo;r&&(t[e]=r)}return t}function ge(e){let t={};for(let n of e.assets){let e=n.native_currency;if(!e?.symbol)continue;let r=String(n.eip155_id),i=typeof e.price_impact==`string`?e.price_impact.trim():``;t[r]={symbol:e.symbol,address:``,decimals:typeof e.decimals==`number`?e.decimals:18,isNative:!0,...e.logo?{assetLogoUrl:e.logo}:{},...i?{priceImpact:i}:{}}}return t}function _e(e){let t={};for(let n of e.assets){let e={};for(let t of n.assets??[]){let n=t.price_impact;typeof n==`string`&&n.trim().length>0&&t.address&&(e[t.address.toLowerCase()]=n.trim())}Object.keys(e).length>0&&(t[String(n.eip155_id)]=e)}return t}function ve(e,t){let n={};for(let r of e.assets){let e=String(r.eip155_id),i=r.native_currency?.min_deposit_usd,a=typeof i==`string`&&i.trim().length>0?Number.parseFloat(i):NaN;n[e]=Number.isFinite(a)?a:t}return n}export{E as createStridgeDepositDriver};
@@ -1 +1 @@
1
- import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{createEntityStore as t}from"./store.js";import{shortenAddress as n}from"../../shared/format/shortenAddress.js";import{MOCK_ONRAMP_CHECKOUT_CHANNEL as r,isMockOnrampCheckoutVerdict as i}from"./checkoutChannel.js";import{DEFAULT_BRAND_PAYLOAD as a,DEFAULT_WALLET_INFO as o,MOCK_ONRAMP_ORDER_ID as s,STUB_DEPOSIT_ADDRESSES_RAW as c,STUB_GATEWAY_POLL_RESPONSE as l,STUB_GATEWAY_SETTLEMENT_DTO as u,STUB_GATEWAY_START_RESPONSE as d,STUB_ONCHAIN_BALANCE_RESPONSE as f,STUB_ONRAMP_QUOTE_RESPONSE as p,STUB_ONRAMP_SESSION_RESPONSE as m,STUB_QUOTE_RESPONSE as h,STUB_SUPPORTED_ASSETS_RESPONSE as g,buildDefaultAddressesPayload as _,buildDefaultBalances as v,buildDefaultFailurePayload as y,buildDefaultOnrampMethodsPayload as b,buildDefaultPendingPayload as x,buildDefaultQuotePayload as S,buildDefaultSuccessPayload as C,buildDefaultTargetPayload as w,buildDefaultTargetRaw as T,buildDefaultWalletPayload as E,buildMockOnrampQuotePayload as D,buildMockOnrampSessionPayload as O,resolveMockAsset as k}from"./fixtures.js";const A={quote:1400,submit:4e3,processingPendingDelay:1500,processingTerminal:3e3,transferDetected:4e3,onrampSettle:7e3};function ee(e,t){try{let n=new URL(e);return n.searchParams.set(`orderId`,t),n.toString()}catch{return`${e}${e.includes(`?`)?`&`:`?`}orderId=${encodeURIComponent(t)}`}}function j(a={}){let c=a.getI18n??(()=>e),d=a.wallet??o,f=k(a.asset),g=t(M(c(),d,a.minAmountUsd,f,a.initialState)),_={...A,...a.latency??{}},v=a.autoSettleTo??`succeeded`,b=a.pendingTriggerToSuccessMs===void 0?3500:a.pendingTriggerToSuccessMs,w=a.onrampSettleMode??`auto`,T=a.onrampCheckoutUrl?ee(a.onrampCheckoutUrl,s):void 0,E=new Set,j=new Set,P=new Set,F=new Set;function I(e,t){let n=g.getSnapshot().onrampSession;if(!n||n.status!==`ready`)return;let r={status:`ready`,payload:{...n.payload,state:e,...t?{failureCode:t}:{}},raw:m,response:m};g.update({onrampSession:r});for(let e of F)e(r)}let L;function R(){L!==void 0&&(clearTimeout(L),L=void 0)}let z=null;function B(){z&&=(z.close(),null)}function V(){if(typeof BroadcastChannel>`u`)return;B();let e=new BroadcastChannel(r);e.onmessage=e=>{i(e.data)&&e.data.orderId===`mock-onramp-order-0001`&&(e.data.result===`success`?I(`SESSION_COMPLETED`):I(`SESSION_FAILED`,e.data.failureCode??`payment_declined`),B())},z=e}let H=!1,U,W;function G(){U!==void 0&&(clearTimeout(U),U=void 0),W!==void 0&&(clearTimeout(W),W=void 0),H=!1}function K(){if(H)return;H=!0;let e=c();U=setTimeout(()=>{U=void 0;let t={status:`ready`,payload:x(e,f),raw:u,response:l};g.update({settlement:t});for(let e of E)e(t);W=setTimeout(()=>{if(W=void 0,v===`succeeded`){let t={status:`ready`,payload:C(e,f),raw:u,response:l};g.update({settlement:t});for(let e of E)e(t)}else if(v===`failed`){let t={status:`ready`,payload:y(e,void 0,f),raw:u,response:l};g.update({settlement:t});for(let e of E)e(t)}H=!1},_.processingTerminal)},_.processingPendingDelay)}let q={getSnapshot(){return g.getSnapshot()},subscribe(e){return g.subscribe(e)},arm(){},async requestQuote(e,t){g.update({quote:{status:`loading`}}),await N(_.quote,t);let n=c(),r=Date.now()+3e4;g.update({quote:{status:`ready`,payload:S(n,r,f),raw:h,response:h}})},async requestOnrampQuote(e,t){g.update({onrampQuote:{status:`loading`}}),await N(_.quote,t);let n=D(c(),e.amount,f);g.update({onrampQuote:{status:`ready`,payload:n,raw:p,response:p}})},async createOnrampSession(e,t){g.update({onrampSession:{status:`loading`}}),await N(_.submit,t);let n=O(c(),e.amount,f,`SESSION_PENDING`,T);return g.update({onrampSession:{status:`ready`,payload:n,raw:m,response:m}}),w===`external`?(V(),n):(v!==`none`&&(R(),L=setTimeout(()=>{L=void 0,I(`SESSION_COMPLETED`)},_.onrampSettle)),n)},watchOnrampSession(e,t,n){F.add(t);let r=g.getSnapshot().onrampSession;queueMicrotask(()=>{n.aborted||r&&t(r)}),n.addEventListener(`abort`,()=>F.delete(t),{once:!0})},async submitDeposit(e,t){return await N(_.submit,t),v!==`none`&&K(),{hash:`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,explorerUrl:`https://etherscan.io/tx/0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`}},watchBalances(e,t,n){P.add(t);let r=g.getSnapshot().balances;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>P.delete(t),{once:!0})},invalidateBalances(){let e=g.getSnapshot().balances;for(let t of P)t(e)},watchSourceTx(e,t,n){j.add(t);let r=setTimeout(()=>{n.aborted||t({hash:`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,explorerUrl:`https://etherscan.io/tx/0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`})},_.transferDetected);n.addEventListener(`abort`,()=>{clearTimeout(r),j.delete(t)},{once:!0})},watchSettlement(e,t,n){E.add(t);let r=g.getSnapshot().settlement;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>E.delete(t),{once:!0})},async fetchActiveSettlement(e,t){let n=g.getSnapshot().settlement;return n.status!==`ready`||n.payload.kind!==`pending`?null:{payload:n.payload,raw:n.raw,response:n.response}}},J=0,Y=null;function X(){Y!==null&&(clearTimeout(Y),Y=null)}function Z(e){J+=1;let t=`0x${J.toString(16).padStart(8,`0`)}${e.value.length>10?e.value.slice(10):`0`.repeat(56)}`;return{value:t,formatted:n(t)}}function Q(e,t){if(e)return e.replace(/(\/tx\/|\/address\/)(0x[0-9a-fA-F]+)/,(e,n)=>`${n}${t}`)}let $={triggerSettlementPending(e){let t=x(c(),f),n=t.txHash?Z(t.txHash):void 0,r=n?Q(t.txExplorerUrl,n.value):void 0,i={status:`ready`,payload:{...t,...n?{txHash:n}:{},...r?{txExplorerUrl:r}:{},...e},raw:u,response:l};X(),g.update({settlement:i});for(let e of E)e(i);b!==null&&b>=0&&(Y=setTimeout(()=>{Y=null,$.triggerSettlementSuccess()},b))},triggerSettlementSuccess(e){X();let t=C(c(),f),n=Z(t.depositTx.hash),r=Q(t.depositTx.explorerUrl,n.value),i={status:`ready`,payload:{...t,depositTx:{...t.depositTx,hash:n,...r?{explorerUrl:r}:{}},...e},raw:u,response:l};g.update({settlement:i});for(let e of E)e(i)},triggerSettlementFailure(e,t){X();let n=y(c(),e,f),r=Z(n.txHash),i=Q(n.txExplorerUrl,r.value),a={status:`ready`,payload:{...n,txHash:r,...i?{txExplorerUrl:i}:{},...t},raw:u,response:l};g.update({settlement:a});for(let e of E)e(a)},triggerQuoteFailure(e){g.update({quote:{status:`error`,error:e}})},triggerOnrampSessionCompleted(){R(),B(),I(`SESSION_COMPLETED`)},triggerOnrampSessionFailed(e){R(),B(),I(`SESSION_FAILED`,e??`payment_declined`)},reset(){X(),G(),R(),B(),g.replace(M(c(),d,a.minAmountUsd,f,a.initialState))}};return{driver:q,triggers:$}}function M(e,t,n,r,i){let o={brand:{status:`ready`,payload:a,raw:d.metadata,response:d},target:{status:`ready`,payload:w(e,n,r),raw:T(r),response:g},addresses:{status:`ready`,payload:_(e,n),raw:c,response:d},balances:{status:`ready`,payload:v(e),raw:f,response:f},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:E(e,t),raw:t,response:t},onrampMethods:(()=>{let t=b(e);return{status:`ready`,payload:t,raw:t,response:t}})(),onrampQuote:{status:`idle`},onrampSession:{status:`idle`}};return i?{...o,...i}:o}function N(e,t){return new Promise((n,r)=>{if(t.aborted){r(P());return}let i=setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),r(P())};t.addEventListener(`abort`,a,{once:!0})})}function P(){if(typeof DOMException==`function`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}export{j as createStridgeMockDriver};
1
+ import{defaultI18n as e}from"../../shared/i18n/defaultI18n.js";import{createEntityStore as t}from"./store.js";import{shortenAddress as n}from"../../shared/format/shortenAddress.js";import{MOCK_ONRAMP_CHECKOUT_CHANNEL as r,isMockOnrampCheckoutVerdict as i}from"./checkoutChannel.js";import{DEFAULT_BRAND_PAYLOAD as a,DEFAULT_WALLET_INFO as o,MOCK_ONRAMP_ORDER_ID as s,STUB_DEPOSIT_ADDRESSES_RAW as c,STUB_GATEWAY_POLL_RESPONSE as l,STUB_GATEWAY_SETTLEMENT_DTO as u,STUB_GATEWAY_START_RESPONSE as d,STUB_ONCHAIN_BALANCE_RESPONSE as f,STUB_ONRAMP_FIATS_RESPONSE as p,STUB_ONRAMP_QUOTE_RESPONSE as m,STUB_ONRAMP_SESSION_RESPONSE as h,STUB_QUOTE_RESPONSE as g,STUB_SUPPORTED_ASSETS_RESPONSE as _,buildDefaultAddressesPayload as v,buildDefaultBalances as y,buildDefaultFailurePayload as b,buildDefaultOnrampMethodsPayload as x,buildDefaultPendingPayload as S,buildDefaultQuotePayload as C,buildDefaultSuccessPayload as w,buildDefaultTargetPayload as T,buildDefaultTargetRaw as E,buildDefaultWalletPayload as D,buildMockOnrampCurrenciesPayload as O,buildMockOnrampProvidersPayload as k,buildMockOnrampQuotePayload as ee,buildMockOnrampSessionPayload as te,resolveMockAsset as ne}from"./fixtures.js";const re={quote:1400,submit:4e3,processingPendingDelay:1500,processingTerminal:3e3,transferDetected:4e3,onrampSettle:7e3};function A(e,t){try{let n=new URL(e);return n.searchParams.set(`orderId`,t),n.toString()}catch{return`${e}${e.includes(`?`)?`&`:`?`}orderId=${encodeURIComponent(t)}`}}function j(a={}){let c=a.getI18n??(()=>e),d=a.wallet??o,f=ne(a.asset),_=t(M(c(),d,a.minAmountUsd,f,a.initialState)),v={...re,...a.latency??{}},y=a.autoSettleTo??`succeeded`,T=a.pendingTriggerToSuccessMs===void 0?3500:a.pendingTriggerToSuccessMs,E=a.onrampSettleMode??`auto`,D=a.onrampCheckoutUrl?A(a.onrampCheckoutUrl,s):void 0,j=new Set,P=new Set,F=new Set,I=new Set;function L(e,t){let n=_.getSnapshot().onrampSession;if(!n||n.status!==`ready`)return;let r={status:`ready`,payload:{...n.payload,state:e,...t?{failureCode:t}:{}},raw:h,response:h};_.update({onrampSession:r});for(let e of I)e(r)}let R;function z(){R!==void 0&&(clearTimeout(R),R=void 0)}let B=null;function V(){B&&=(B.close(),null)}function ie(){if(typeof BroadcastChannel>`u`)return;V();let e=new BroadcastChannel(r);e.onmessage=e=>{i(e.data)&&e.data.orderId===`mock-onramp-order-0001`&&(e.data.result===`success`?L(`SESSION_COMPLETED`):L(`SESSION_FAILED`,e.data.failureCode??`payment_declined`),V())},B=e}let H=!1,U,W;function G(){U!==void 0&&(clearTimeout(U),U=void 0),W!==void 0&&(clearTimeout(W),W=void 0),H=!1}function K(){if(H)return;H=!0;let e=c();U=setTimeout(()=>{U=void 0;let t={status:`ready`,payload:S(e,f),raw:u,response:l};_.update({settlement:t});for(let e of j)e(t);W=setTimeout(()=>{if(W=void 0,y===`succeeded`){let t={status:`ready`,payload:w(e,f),raw:u,response:l};_.update({settlement:t});for(let e of j)e(t)}else if(y===`failed`){let t={status:`ready`,payload:b(e,void 0,f),raw:u,response:l};_.update({settlement:t});for(let e of j)e(t)}H=!1},v.processingTerminal)},v.processingPendingDelay)}let q={getSnapshot(){return _.getSnapshot()},subscribe(e){return _.subscribe(e)},arm(){},async requestQuote(e,t){_.update({quote:{status:`loading`}}),await N(v.quote,t);let n=c(),r=Date.now()+3e4;_.update({quote:{status:`ready`,payload:C(n,r,f),raw:g,response:g}})},async requestOnrampQuote(e,t){_.update({onrampQuote:{status:`loading`}}),await N(v.quote,t);let n=ee(c(),e.amount,f,e.currency);_.update({onrampQuote:{status:`ready`,payload:n,raw:m,response:m}})},async requestOnrampMethods(e){let t=_.getSnapshot().onrampMethods;if(t?.status===`ready`||t?.status===`loading`)return;_.update({onrampMethods:{status:`loading`}}),await N(v.quote,e);let n=x(c());_.update({onrampMethods:{status:`ready`,payload:n,raw:n,response:n}})},async requestOnrampCurrencies(e){let t=_.getSnapshot().onrampCurrencies;if(t?.status===`ready`||t?.status===`loading`)return;_.update({onrampCurrencies:{status:`loading`}}),await N(v.quote,e);let n=O();_.update({onrampCurrencies:{status:`ready`,payload:n,raw:p,response:p}})},async requestOnrampProviders(e){let t=_.getSnapshot().onrampProviders;if(t?.status===`ready`||t?.status===`loading`)return;_.update({onrampProviders:{status:`loading`}}),await N(v.quote,e);let n=k(f);_.update({onrampProviders:{status:`ready`,payload:n,raw:n,response:n}})},async createOnrampSession(e,t){_.update({onrampSession:{status:`loading`}}),await N(v.submit,t);let n=te(c(),e.amount,f,`SESSION_PENDING`,D);return _.update({onrampSession:{status:`ready`,payload:n,raw:h,response:h}}),E===`external`?(ie(),n):(y!==`none`&&(z(),R=setTimeout(()=>{R=void 0,L(`SESSION_COMPLETED`)},v.onrampSettle)),n)},watchOnrampSession(e,t,n){I.add(t);let r=_.getSnapshot().onrampSession;queueMicrotask(()=>{n.aborted||r&&t(r)}),n.addEventListener(`abort`,()=>I.delete(t),{once:!0})},async submitDeposit(e,t){return await N(v.submit,t),y!==`none`&&K(),{hash:`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,explorerUrl:`https://etherscan.io/tx/0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`}},watchBalances(e,t,n){F.add(t);let r=_.getSnapshot().balances;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>F.delete(t),{once:!0})},invalidateBalances(){let e=_.getSnapshot().balances;for(let t of F)t(e)},watchSourceTx(e,t,n){P.add(t);let r=setTimeout(()=>{n.aborted||t({hash:`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,explorerUrl:`https://etherscan.io/tx/0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`})},v.transferDetected);n.addEventListener(`abort`,()=>{clearTimeout(r),P.delete(t)},{once:!0})},watchSettlement(e,t,n){j.add(t);let r=_.getSnapshot().settlement;queueMicrotask(()=>{n.aborted||t(r)}),n.addEventListener(`abort`,()=>j.delete(t),{once:!0})},async fetchActiveSettlement(e,t){let n=_.getSnapshot().settlement;return n.status!==`ready`||n.payload.kind!==`pending`?null:{payload:n.payload,raw:n.raw,response:n.response}}},J=0,Y=null;function X(){Y!==null&&(clearTimeout(Y),Y=null)}function Z(e){J+=1;let t=`0x${J.toString(16).padStart(8,`0`)}${e.value.length>10?e.value.slice(10):`0`.repeat(56)}`;return{value:t,formatted:n(t)}}function Q(e,t){if(e)return e.replace(/(\/tx\/|\/address\/)(0x[0-9a-fA-F]+)/,(e,n)=>`${n}${t}`)}let $={triggerSettlementPending(e){let t=S(c(),f),n=t.txHash?Z(t.txHash):void 0,r=n?Q(t.txExplorerUrl,n.value):void 0,i={status:`ready`,payload:{...t,...n?{txHash:n}:{},...r?{txExplorerUrl:r}:{},...e},raw:u,response:l};X(),_.update({settlement:i});for(let e of j)e(i);T!==null&&T>=0&&(Y=setTimeout(()=>{Y=null,$.triggerSettlementSuccess()},T))},triggerSettlementSuccess(e){X();let t=w(c(),f),n=Z(t.depositTx.hash),r=Q(t.depositTx.explorerUrl,n.value),i={status:`ready`,payload:{...t,depositTx:{...t.depositTx,hash:n,...r?{explorerUrl:r}:{}},...e},raw:u,response:l};_.update({settlement:i});for(let e of j)e(i)},triggerSettlementFailure(e,t){X();let n=b(c(),e,f),r=Z(n.txHash),i=Q(n.txExplorerUrl,r.value),a={status:`ready`,payload:{...n,txHash:r,...i?{txExplorerUrl:i}:{},...t},raw:u,response:l};_.update({settlement:a});for(let e of j)e(a)},triggerQuoteFailure(e){_.update({quote:{status:`error`,error:e}})},triggerOnrampSessionCompleted(){z(),V(),L(`SESSION_COMPLETED`)},triggerOnrampSessionFailed(e){z(),V(),L(`SESSION_FAILED`,e??`payment_declined`)},reset(){X(),G(),z(),V(),_.replace(M(c(),d,a.minAmountUsd,f,a.initialState))}};return{driver:q,triggers:$}}function M(e,t,n,r,i){let o={brand:{status:`ready`,payload:a,raw:d.metadata,response:d},target:{status:`ready`,payload:T(e,n,r),raw:E(r),response:_},addresses:{status:`ready`,payload:v(e,n),raw:c,response:d},balances:{status:`ready`,payload:y(e),raw:f,response:f},quote:{status:`idle`},settlement:{status:`idle`},wallet:{status:`ready`,payload:D(e,t),raw:t,response:t},onrampMethods:(()=>{let t=x(e);return{status:`ready`,payload:t,raw:t,response:t}})(),onrampCurrencies:{status:`ready`,payload:O(),raw:p,response:p},onrampProviders:(()=>{let e=k(r);return{status:`ready`,payload:e,raw:e,response:e}})(),onrampQuote:{status:`idle`},onrampSession:{status:`idle`}};return i?{...o,...i}:o}function N(e,t){return new Promise((n,r)=>{if(t.aborted){r(P());return}let i=setTimeout(()=>{t.removeEventListener(`abort`,a),n()},e),a=()=>{clearTimeout(i),r(P())};t.addEventListener(`abort`,a,{once:!0})})}function P(){if(typeof DOMException==`function`)return new DOMException(`Aborted`,`AbortError`);let e=Error(`Aborted`);return e.name=`AbortError`,e}export{j as createStridgeMockDriver};
@@ -1,7 +1,7 @@
1
1
  import { SettlementFailureKind } from "../../shared/driver/types.js";
2
2
  import { AddressItemPayload, BalanceItemPayload, BrandPayload, QuotePayload, SettlementFailurePayload, SettlementPayload, SettlementPendingPayload, SettlementSuccessPayload, TargetPayload, WalletInfo, WalletPayload } from "../../flows/deposit/driver/payloads.js";
3
3
  import { I18n } from "@lingui/core";
4
- import { DepositAddressDto, GatewayPollResponse, GatewaySettlementDto, GatewayStartResponse, GatewayUdaDto, OnchainBalanceResponse, OnrampQuoteResponse, OnrampSessionResponse, QuoteResponse, SupportedAssetDto, SupportedAssetsResponse } from "@stridge/sdk";
4
+ import { DepositAddressDto, GatewayPollResponse, GatewaySettlementDto, GatewayStartResponse, GatewayUdaDto, OnchainBalanceResponse, OnrampFiatsResponse, OnrampQuoteResponse, OnrampSessionResponse, QuoteResponse, SupportedAssetDto, SupportedAssetsResponse } from "@stridge/sdk";
5
5
 
6
6
  //#region src/drivers/stridge-mock/fixtures.d.ts
7
7
  /**
@@ -1 +1 @@
1
- import{formatDurationCompact as e}from"../../shared/format/formatDurationCompact.js";import{formatPercent as t}from"../../shared/format/formatPercent.js";import{formatTimestamp as n}from"../../shared/format/formatTimestamp.js";import{formatTokenAmount as r}from"../../shared/format/formatTokenAmount.js";import{formatUsd as i}from"../../shared/format/formatUsd.js";import{shortenAddress as a}from"../../shared/format/shortenAddress.js";const o=`Stridge ACME`,s=`0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266`,c=`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,l=`0x268a11a1002eb7026e3a77999872695ee3a920e5c46172a43aa396da10ac5296`,u=`0xcae135e02df387bba14e231988126295a663c8d9f8e90c1ead5876cc2fee036d`,d=1778167499e3,f=1778169184e3,p=1778086787e3,m=1778087105e3,h=`0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d`,g=`https://cdn.stridge.com/assets/usdc.svg`,_=`https://cdn.stridge.com/assets/usdt.svg`,v={1:`https://cdn.stridge.com/networks/60.svg`,8453:`https://cdn.stridge.com/networks/8453.svg`,42161:`https://cdn.stridge.com/networks/9001.svg`},y=`https://cdn.stridge.com/networks/9006.svg`,b=`https://cdn.stridge.com/networks/966.svg`,x=`0x166872371d1EB43B62c25861Bb7B1be4d5f09F56`,S={address:s,chainId:56},C={name:o},w={networkId:`9006`,networkName:`BSC`,eip155IdString:`56`,eip155IdNumber:56,chainLogoUrl:y,explorerBase:`https://bscscan.com`,symbol:`USDC`,decimals:18,address:h,assetLogoUrl:g,isNative:!1,nativeSymbol:`BNB`};function ee(e){if(!e)return w;let t=e.networkId.toLowerCase(),n=D.find(n=>n.networkName.toLowerCase()===t||(k[n.eip155Id]??n.eip155Id)===e.networkId);if(!n)return w;let r=n.acceptedAssets.find(t=>t.symbol.toUpperCase()===e.symbol.toUpperCase());if(!r)return w;let i=n.acceptedAssets.find(e=>e.isNative);return{networkId:k[n.eip155Id]??n.eip155Id,networkName:n.networkName,eip155IdString:n.eip155Id,eip155IdNumber:Number(n.eip155Id),chainLogoUrl:n.chainLogoUrl,explorerBase:n.explorerBase,symbol:r.symbol,decimals:r.decimals,address:r.address,assetLogoUrl:r.assetLogoUrl??n.chainLogoUrl,isNative:r.isNative,nativeSymbol:i?.symbol??r.symbol}}function T(e=w){return{network_id:e.networkId,network_name:e.networkName,network_symbol:e.networkName.toLowerCase(),chain_type:`EVM`,eip155_id:e.eip155IdNumber,native_currency:{symbol:e.nativeSymbol,name:e.nativeSymbol,decimals:18,logo:e.chainLogoUrl},assets:[{symbol:e.symbol,decimals:e.decimals,address:e.address,logo:e.assetLogoUrl}]}}const E=T();function te(e,t,n=w){return{networkId:n.networkId,networkName:n.networkName,eip155Id:n.eip155IdString,chainLogoUrl:n.chainLogoUrl,symbol:n.symbol,decimals:n.decimals,address:n.address,assetLogoUrl:n.assetLogoUrl,isNative:n.isNative,...t===void 0?{}:{minAmountUsd:{value:t,formatted:i(t,e)}}}}const D=[{eip155Id:`1`,networkName:`Ethereum`,chainLogoUrl:v[1],explorerBase:`https://etherscan.io`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:v[1],priceImpact:`0.15`},{symbol:`TUSD`,address:`0x0000000000085d4780B73119b644AE5ecd22b376`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.18`},{symbol:`PAXG`,address:`0x45804880De22913dAFE09f4980848ECE6EcbAf78`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/paxg.svg`,priceImpact:`0.42`},{symbol:`DAI`,address:`0x6B175474E89094C44Da98b954EedeAC495271d0F`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.09`},{symbol:`PYUSD`,address:`0x6c3ea9036406852006290770BEdFcAbA0e23A0e8`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/pyusd.svg`,priceImpact:`0.21`},{symbol:`USDC`,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.05`},{symbol:`WETH`,address:`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.31`},{symbol:`USDT`,address:`0xdAC17F958D2ee523a2206206994597C13D831ec7`,decimals:6,isNative:!1,assetLogoUrl:_,priceImpact:`0.07`}]},{eip155Id:`56`,networkName:`BSC`,chainLogoUrl:y,explorerBase:`https://bscscan.com`,acceptedAssets:[{symbol:`BNB`,address:``,decimals:18,isNative:!0,assetLogoUrl:y,priceImpact:`0.21`},{symbol:`WETH`,address:`0x2170Ed0880ac9A755fd29B2688956BD959F933F8`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.34`},{symbol:`TUSD`,address:`0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.2`},{symbol:`USDT`,address:`0x55d398326f99059fF775485246999027B3197955`,decimals:18,isNative:!1,assetLogoUrl:_,priceImpact:`0.08`},{symbol:`USDC`,address:h,decimals:18,isNative:!1,assetLogoUrl:g,priceImpact:`0.06`}]},{eip155Id:`8453`,networkName:`Base`,chainLogoUrl:v[8453],explorerBase:`https://basescan.org`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:v[8453],priceImpact:`0.19`},{symbol:`WETH`,address:`0x4200000000000000000000000000000000000006`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.29`},{symbol:`DAI`,address:`0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.11`},{symbol:`USDC`,address:`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.04`},{symbol:`USDT`,address:`0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2`,decimals:6,isNative:!1,assetLogoUrl:_,priceImpact:`0.07`}]},{eip155Id:`42161`,networkName:`Arbitrum`,chainLogoUrl:v[42161],explorerBase:`https://arbiscan.io`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:v[42161],priceImpact:`0.17`},{symbol:`TUSD`,address:`0x4D15a3A2286D883AF0AA1B3f21367843FAc63E07`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.16`},{symbol:`WETH`,address:`0x82aF49447D8a07e3bd95BD0d56f35241523fBab1`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.27`},{symbol:`USDC`,address:`0xaf88d065e77c8cC2239327C5EDb3A432268e5831`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.05`},{symbol:`DAI`,address:`0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.1`},{symbol:`USDT`,address:`0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9`,decimals:6,isNative:!1,assetLogoUrl:_,priceImpact:`0.06`}]},{eip155Id:`137`,networkName:`Polygon`,chainLogoUrl:b,explorerBase:`https://polygonscan.com`,acceptedAssets:[{symbol:`POL`,address:``,decimals:18,isNative:!0,assetLogoUrl:b,priceImpact:`0.33`},{symbol:`TUSD`,address:`0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.22`},{symbol:`USDC`,address:`0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.08`},{symbol:`WETH`,address:`0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.36`},{symbol:`DAI`,address:`0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.13`},{symbol:`USDT`,address:`0xc2132D05D31c914a87C6611C10748AEb04B58e8F`,decimals:6,isNative:!1,assetLogoUrl:_,priceImpact:`0.09`}]}];function ne(e,t){let n=t===void 0?{}:{minAmountUsd:{value:t,formatted:i(t,e)}};return D.map(({eip155Id:e,networkName:t,chainLogoUrl:r,explorerBase:i,acceptedAssets:o})=>({eip155Id:e,networkName:t,chainLogoUrl:r,address:{value:x,formatted:a(x)},explorerUrl:`${i}/address/${x}`,acceptedAssets:o,...n}))}const O=D.map(({eip155Id:e,networkName:t,chainLogoUrl:n,explorerBase:r,acceptedAssets:i})=>({eip155Id:e,networkName:t,chainLogoUrl:n,address:{value:x,formatted:a(x)},explorerUrl:`${r}/address/${x}`,acceptedAssets:i})),k={1:`60`,56:`9006`,137:`966`,8453:`8453`,42161:`9001`};function A(){return{assets:D.map(e=>{let t=e.acceptedAssets.find(e=>e.isNative),n=e.acceptedAssets.filter(e=>!e.isNative);return{eip155_id:Number(e.eip155Id),network_id:k[e.eip155Id]??e.eip155Id,network_name:e.networkName.toLowerCase(),network_symbol:e.networkName.toLowerCase(),chain_type:`EVM`,assets:n.map(e=>({address:e.address,decimals:e.decimals,logo:e.assetLogoUrl??``,name:e.symbol,symbol:e.symbol,...e.priceImpact?{price_impact:e.priceImpact}:{}})),native_currency:{symbol:t?.symbol??``,name:t?.symbol??``,decimals:t?.decimals??18,logo:t?.assetLogoUrl??e.chainLogoUrl,...t?.priceImpact?{price_impact:t.priceImpact}:{}}}})}}function j(e){return[{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`USDC`,decimals:18,address:h,assetLogoUrl:g,chainLogoUrl:y,isNative:!1,amount:{value:42.805864,formatted:r(42.805864,e,{compact:!0})},amountUsd:{value:42.81,formatted:i(42.81,e)},priceUsd:1},{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`BNB`,decimals:18,address:``,assetLogoUrl:y,chainLogoUrl:y,isNative:!0,amount:{value:.016699,formatted:r(.016699,e,{compact:!0})},amountUsd:{value:10.86,formatted:i(10.86,e)},priceUsd:650.41},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`USDT`,decimals:6,address:`0xdAC17F958D2ee523a2206206994597C13D831ec7`,assetLogoUrl:_,chainLogoUrl:v[1],isNative:!1,amount:{value:.757479,formatted:r(.757479,e,{compact:!0})},amountUsd:{value:.76,formatted:i(.76,e)},priceUsd:1,lowBalance:!0,disabled:!0},{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`USDT`,decimals:18,address:`0x55d398326f99059fF775485246999027B3197955`,assetLogoUrl:_,chainLogoUrl:y,isNative:!1,amount:{value:.595218,formatted:r(.595218,e,{compact:!0})},amountUsd:{value:.6,formatted:i(.6,e)},priceUsd:1,lowBalance:!0,disabled:!0},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`ETH`,decimals:18,address:``,assetLogoUrl:v[1],chainLogoUrl:v[1],isNative:!0,amount:{value:167e-6,formatted:r(167e-6,e,{compact:!0})},amountUsd:{value:.39,formatted:i(.39,e)},priceUsd:2316.86,lowBalance:!0,disabled:!0},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`USDC`,decimals:6,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,chainLogoUrl:v[1],isNative:!1,amount:{value:.10408,formatted:r(.10408,e,{compact:!0})},amountUsd:{value:.1,formatted:i(.1,e)},priceUsd:1,lowBalance:!0,disabled:!0}]}function M(e,n,a=w){return{heroAmountUsd:{value:1.999758,formatted:i(1.999758,e)},sendAsset:{symbol:`USDC`,decimals:6,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,isNative:!1,chainId:1,networkName:`Ethereum`,eip155Id:`1`,chainLogoUrl:v[1]},sendAmount:{value:2,formatted:r(2,e)},receiveAsset:{symbol:a.symbol,decimals:a.decimals,address:a.address,assetLogoUrl:a.assetLogoUrl,isNative:a.isNative,chainId:a.eip155IdNumber,networkName:a.networkName,eip155Id:a.eip155IdString,chainLogoUrl:a.chainLogoUrl},receiveAmount:{value:1.9958,formatted:r(1.9958,e)},quoteTotalSeconds:30,expiresAt:n,etaSeconds:30,breakdown:{selectedRoute:{provider:`lifi`,scenario:`cross_chain_diff_token`,label:`LIFI · cross chain diff token`},networkCost:{value:.0042,formatted:i(.0042,e)},priceImpact:{value:.21,formatted:t(.21,e)}}}}function N(e,t=w){return{kind:`pending`,sourceWallet:{name:`Wallet`,address:{value:s,formatted:a(s)},explorerUrl:`https://etherscan.io/address/${s}`},creditedAsset:{symbol:t.symbol,decimals:t.decimals,address:t.address,assetLogoUrl:t.assetLogoUrl,isNative:t.isNative},creditedTo:o,txHash:{value:c,formatted:a(c)},txExplorerUrl:`https://etherscan.io/tx/${c}`,detectedAt:{value:d,formatted:n(d,e)},submittedAt:{value:d,formatted:n(d,e)},receiveAmount:{value:4.983615,formatted:r(4.983615,e)}}}function P(t,i=w){let u=f-d;return{kind:`succeeded`,sourceWallet:{name:`Wallet`,address:{value:s,formatted:a(s)},explorerUrl:`https://etherscan.io/address/${s}`},destination:{name:o,address:{value:s,formatted:a(s)}},creditedAsset:{symbol:i.symbol,decimals:i.decimals,address:i.address,assetLogoUrl:i.assetLogoUrl,isNative:i.isNative},receiveAmount:{value:4.983615,formatted:r(4.983615,t)},routeHops:[{provider:`LIFI`,chainId:1},{provider:`LIFI`,chainId:i.eip155IdNumber}],totalTime:{value:u,formatted:e(u,t)},depositTx:{hash:{value:c,formatted:a(c)},explorerUrl:`https://etherscan.io/tx/${c}`},completionTx:{hash:{value:l,formatted:a(l)},explorerUrl:`${i.explorerBase}/tx/${l}`},submittedAt:{value:d,formatted:n(d,t)},filledAt:{value:f,formatted:n(f,t)}}}function F(e,t=`execution-reverted`,i=w){return{kind:`failed`,failureKind:t,sourceWallet:{name:`Wallet`,address:{value:s,formatted:a(s)},explorerUrl:`https://etherscan.io/address/${s}`},destination:{name:o,address:{value:s,formatted:a(s)}},creditedAsset:{symbol:i.symbol,decimals:i.decimals,address:i.address,assetLogoUrl:i.assetLogoUrl,isNative:i.isNative},receiveAmount:{value:0,formatted:r(0,e)},txHash:{value:u,formatted:a(u)},txExplorerUrl:`https://etherscan.io/tx/${u}`,submittedAt:{value:p,formatted:n(p,e)},failedAt:{value:m,formatted:n(m,e)}}}function re(e,t=S){let n=j(e).reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{address:{value:t.address,formatted:a(t.address)},...t.chainId===void 0?{}:{chainId:t.chainId},balanceTotalUsd:{value:n,formatted:i(n,e)}}}const I=116e3,L={id:`D79cZK`,message:`Instant`};function R(e){return{limit:{value:I,formatted:i(I,e)},processingTime:{value:0,formatted:e._(L)}}}function z(e,t,n){let a=Number.isFinite(t)&&t>0?t:0,o=+(a*.019).toFixed(2),s=.4,c=+(o+s).toFixed(2),l=Math.max(0,a-c);return{amountUsd:{value:a,formatted:i(a,e)},receiveAmount:{value:l,formatted:r(l,e)},receiveAsset:{symbol:n.symbol,decimals:n.decimals,address:n.address,isNative:n.isNative,chainId:n.eip155IdNumber},rate:{value:1,formatted:r(1,e)},processingFeeUsd:{value:o,formatted:i(o,e)},networkFeeUsd:{value:s,formatted:i(s,e)},totalFeeUsd:{value:c,formatted:i(c,e)},provider:`mock-onramp-provider`}}const B=`mock-onramp-order-0001`,V=`https://checkout.mock-onramp-provider.example/?orderId=${B}`;function H(e,t,n,r=`SESSION_PENDING`,i=V){return{sessionId:`mock-onramp-session-0001`,state:r,checkoutUrl:i,providerOrderId:B,receiveAmount:z(e,t,n).receiveAmount}}const U={provider:`mock-onramp-provider`,fiatCurrency:`USD`,fiatAmount:`0`,assetName:`USDC`,assetAmount:`0`,rate:`1`,fees:{total:`0`}},W={sessionId:`mock-onramp-session-0001`,state:`SESSION_PENDING`,externalOrderId:`mock-onramp-session-0001`,flow:{fiat:{currency:`USD`,amount:`0`},udaEntry:{address:`0x0`,networkId:`60`,asset:`USDC`},destination:{address:`0x0`,networkId:`60`,asset:`USDC`,amount:`0`}},etag:`mock-0`},G={deposit_addresses:[],metadata:{brand_name:o}},K=[],q={assets:[]},J={chains:[]},Y={},ie={id:`mock-settlement`,status:`completed`,created_at:new Date(d).toISOString(),updated_at:new Date(f).toISOString()},ae={settlements:[],is_terminal:!1},X=`0x32995Fb47918BD37133dB46F21c5Ed906140Dd41`,Z=`https://cdn.stridge.com/assets/usdc.svg`;function oe(e,t=Date.now()){let n=6e4,r=60*n,i=24*r,a=[Q({id:`mock-activity-deposit-pending`,status:`routing`,updatedAtMs:t-12*n,createdAtMs:t-15*n,amountUsd:`25.00`,toAddress:e}),Q({id:`mock-activity-deposit-failed`,status:`failed`,updatedAtMs:t-2*r,createdAtMs:t-2*r-35e3,amountUsd:`18.40`,toAddress:e,error:`destination chain reverted`}),Q({id:`mock-activity-deposit-success-recent`,status:`completed`,updatedAtMs:t-6*r,createdAtMs:t-6*r-23e3,amountUsd:`42.50`,toAddress:e}),Q({id:`mock-activity-deposit-success-yesterday`,status:`completed`,updatedAtMs:t-i-2*r,createdAtMs:t-i-2*r-17e3,amountUsd:`8.20`,toAddress:e}),Q({id:`mock-activity-deposit-success-week`,status:`completed`,updatedAtMs:t-9*i,createdAtMs:t-9*i-14e3,amountUsd:`120.00`,toAddress:e})],o=[$({id:`mock-activity-withdraw-failed`,status:`failed`,updatedAtMs:t-3*i,createdAtMs:t-3*i-9e4,amountUsd:`15.00`,error:`transaction failed on chain`}),$({id:`mock-activity-withdraw-success-recent`,status:`completed`,updatedAtMs:t-18*r,createdAtMs:t-18*r-12e3,amountUsd:`60.00`}),$({id:`mock-activity-withdraw-success-week`,status:`completed`,updatedAtMs:t-11*i,createdAtMs:t-11*i-19e3,amountUsd:`200.00`})];return{owner:e,filter:{},udas:[{uda_id:`mock-uda-deposit`,owner:e,is_terminal:!1,status:`from_detected`,created_at:new Date(t-30*i).toISOString(),updated_at:new Date(t-12*n).toISOString(),destination:{address:e,asset_address:h,asset_symbol:`USDC`,asset_decimals:18,network_id:`9006`,network_name:`BSC`,eip155_id:`56`},settlements:a,metadata:{kit_flow:`deposit`}},{uda_id:`mock-uda-withdraw`,owner:e,is_terminal:!1,status:`completed`,created_at:new Date(t-25*i).toISOString(),updated_at:new Date(t-18*r).toISOString(),destination:{address:X,asset_address:``,asset_decimals:18,asset_symbol:`ETH`,network_id:`60`,network_name:`Ethereum`,eip155_id:`1`},settlements:o,metadata:{kit_flow:`withdraw`}}]}}function Q(e){return{id:e.id,status:e.status,created_at:new Date(e.createdAtMs).toISOString(),updated_at:new Date(e.updatedAtMs).toISOString(),events:[],fees:{},route:{provider:`lifi`},...e.error?{error:e.error}:{},from:{tx_id:`0x${e.id.padEnd(60,`0`)}`,asset_symbol:`USDC`,eip155_id:`1`,network_id:`60`,network_name:`Ethereum`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z},to:{address:e.toAddress,asset_address:h,asset_symbol:`USDC`,eip155_id:`56`,network_id:`9006`,network_name:`BSC`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z,tx_id:`0xto${e.id.padEnd(58,`0`)}`,settled_at:e.status===`completed`?new Date(e.updatedAtMs).toISOString():void 0}}}function $(e){return{id:e.id,status:e.status,created_at:new Date(e.createdAtMs).toISOString(),updated_at:new Date(e.updatedAtMs).toISOString(),events:[],fees:{},route:{provider:`lifi`},...e.error?{error:e.error}:{},from:{tx_id:`0x${e.id.padEnd(60,`0`)}`,asset_symbol:`USDC`,eip155_id:`56`,network_id:`9006`,network_name:`BSC`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z},to:{address:X,asset_address:``,asset_symbol:`ETH`,eip155_id:`1`,network_id:`60`,network_name:`Ethereum`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:`https://cdn.stridge.com/networks/60.svg`,tx_id:`0xto${e.id.padEnd(58,`0`)}`,settled_at:e.status===`completed`?new Date(e.updatedAtMs).toISOString():void 0}}}function se(e,t,n,r){return t===`pending`?N(e,n&&typeof n!=`string`?n:void 0):t===`succeeded`?P(e,n&&typeof n!=`string`?n:void 0):F(e,typeof n==`string`?n:void 0,r)}export{O as DEFAULT_ADDRESSES_PAYLOAD,C as DEFAULT_BRAND_PAYLOAD,w as DEFAULT_MOCK_ASSET,E as DEFAULT_TARGET_RAW,S as DEFAULT_WALLET_INFO,V as MOCK_ONRAMP_CHECKOUT_URL,B as MOCK_ONRAMP_ORDER_ID,K as STUB_DEPOSIT_ADDRESSES_RAW,ae as STUB_GATEWAY_POLL_RESPONSE,ie as STUB_GATEWAY_SETTLEMENT_DTO,G as STUB_GATEWAY_START_RESPONSE,J as STUB_ONCHAIN_BALANCE_RESPONSE,U as STUB_ONRAMP_QUOTE_RESPONSE,W as STUB_ONRAMP_SESSION_RESPONSE,Y as STUB_QUOTE_RESPONSE,q as STUB_SUPPORTED_ASSETS_RESPONSE,ne as buildDefaultAddressesPayload,j as buildDefaultBalances,F as buildDefaultFailurePayload,R as buildDefaultOnrampMethodsPayload,N as buildDefaultPendingPayload,M as buildDefaultQuotePayload,P as buildDefaultSuccessPayload,A as buildDefaultSupportedAssetsResponse,te as buildDefaultTargetPayload,T as buildDefaultTargetRaw,re as buildDefaultWalletPayload,oe as buildMockActivityResponse,z as buildMockOnrampQuotePayload,H as buildMockOnrampSessionPayload,se as buildSettlementPayload,ee as resolveMockAsset};
1
+ import{formatDurationCompact as e}from"../../shared/format/formatDurationCompact.js";import{formatFiat as t}from"../../shared/format/formatFiat.js";import{formatPercent as n}from"../../shared/format/formatPercent.js";import{formatTimestamp as r}from"../../shared/format/formatTimestamp.js";import{formatTokenAmount as i}from"../../shared/format/formatTokenAmount.js";import{formatUsd as a}from"../../shared/format/formatUsd.js";import{shortenAddress as o}from"../../shared/format/shortenAddress.js";import{BANXA_LOGO_DATA_URI as s}from"../../flows/deposit/shared/onramp.js";const c=`Stridge ACME`,l=`0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266`,u=`0x1d72b900dd9b4f9fb0e11c14978d9cbbff7b47db0b820911839aad7081f6b72a`,d=`0x268a11a1002eb7026e3a77999872695ee3a920e5c46172a43aa396da10ac5296`,f=`0xcae135e02df387bba14e231988126295a663c8d9f8e90c1ead5876cc2fee036d`,p=1778167499e3,m=1778169184e3,h=1778086787e3,g=1778087105e3,_=`0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d`,v=`https://cdn.stridge.com/assets/usdc.svg`,y=`https://cdn.stridge.com/assets/usdt.svg`,b={1:`https://cdn.stridge.com/networks/60.svg`,8453:`https://cdn.stridge.com/networks/8453.svg`,42161:`https://cdn.stridge.com/networks/9001.svg`},x=`https://cdn.stridge.com/networks/9006.svg`,S=`https://cdn.stridge.com/networks/966.svg`,C=`0x166872371d1EB43B62c25861Bb7B1be4d5f09F56`,w={address:l,chainId:56},T={name:c},E={networkId:`9006`,networkName:`BSC`,eip155IdString:`56`,eip155IdNumber:56,chainLogoUrl:x,explorerBase:`https://bscscan.com`,symbol:`USDC`,decimals:18,address:_,assetLogoUrl:v,isNative:!1,nativeSymbol:`BNB`};function ee(e){if(!e)return E;let t=e.networkId.toLowerCase(),n=k.find(n=>n.networkName.toLowerCase()===t||(M[n.eip155Id]??n.eip155Id)===e.networkId);if(!n)return E;let r=n.acceptedAssets.find(t=>t.symbol.toUpperCase()===e.symbol.toUpperCase());if(!r)return E;let i=n.acceptedAssets.find(e=>e.isNative);return{networkId:M[n.eip155Id]??n.eip155Id,networkName:n.networkName,eip155IdString:n.eip155Id,eip155IdNumber:Number(n.eip155Id),chainLogoUrl:n.chainLogoUrl,explorerBase:n.explorerBase,symbol:r.symbol,decimals:r.decimals,address:r.address,assetLogoUrl:r.assetLogoUrl??n.chainLogoUrl,isNative:r.isNative,nativeSymbol:i?.symbol??r.symbol}}function D(e=E){return{network_id:e.networkId,network_name:e.networkName,network_symbol:e.networkName.toLowerCase(),chain_type:`EVM`,eip155_id:e.eip155IdNumber,native_currency:{symbol:e.nativeSymbol,name:e.nativeSymbol,decimals:18,logo:e.chainLogoUrl},assets:[{symbol:e.symbol,decimals:e.decimals,address:e.address,logo:e.assetLogoUrl}]}}const te=D();function O(e,t,n=E){return{networkId:n.networkId,networkName:n.networkName,eip155Id:n.eip155IdString,chainLogoUrl:n.chainLogoUrl,symbol:n.symbol,decimals:n.decimals,address:n.address,assetLogoUrl:n.assetLogoUrl,isNative:n.isNative,...t===void 0?{}:{minAmountUsd:{value:t,formatted:a(t,e)}}}}const k=[{eip155Id:`1`,networkName:`Ethereum`,chainLogoUrl:b[1],explorerBase:`https://etherscan.io`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:b[1],priceImpact:`0.15`},{symbol:`TUSD`,address:`0x0000000000085d4780B73119b644AE5ecd22b376`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.18`},{symbol:`PAXG`,address:`0x45804880De22913dAFE09f4980848ECE6EcbAf78`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/paxg.svg`,priceImpact:`0.42`},{symbol:`DAI`,address:`0x6B175474E89094C44Da98b954EedeAC495271d0F`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.09`},{symbol:`PYUSD`,address:`0x6c3ea9036406852006290770BEdFcAbA0e23A0e8`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/pyusd.svg`,priceImpact:`0.21`},{symbol:`USDC`,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.05`},{symbol:`WETH`,address:`0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.31`},{symbol:`USDT`,address:`0xdAC17F958D2ee523a2206206994597C13D831ec7`,decimals:6,isNative:!1,assetLogoUrl:y,priceImpact:`0.07`}]},{eip155Id:`56`,networkName:`BSC`,chainLogoUrl:x,explorerBase:`https://bscscan.com`,acceptedAssets:[{symbol:`BNB`,address:``,decimals:18,isNative:!0,assetLogoUrl:x,priceImpact:`0.21`},{symbol:`WETH`,address:`0x2170Ed0880ac9A755fd29B2688956BD959F933F8`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.34`},{symbol:`TUSD`,address:`0x40af3827F39D0EAcBF4A168f8D4ee67c121D11c9`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.2`},{symbol:`USDT`,address:`0x55d398326f99059fF775485246999027B3197955`,decimals:18,isNative:!1,assetLogoUrl:y,priceImpact:`0.08`},{symbol:`USDC`,address:_,decimals:18,isNative:!1,assetLogoUrl:v,priceImpact:`0.06`}]},{eip155Id:`8453`,networkName:`Base`,chainLogoUrl:b[8453],explorerBase:`https://basescan.org`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:b[8453],priceImpact:`0.19`},{symbol:`WETH`,address:`0x4200000000000000000000000000000000000006`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.29`},{symbol:`DAI`,address:`0x50c5725949A6F0c72E6C4a641F24049A917DB0Cb`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.11`},{symbol:`USDC`,address:`0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.04`},{symbol:`USDT`,address:`0xfde4C96c8593536E31F229EA8f37b2ADa2699bb2`,decimals:6,isNative:!1,assetLogoUrl:y,priceImpact:`0.07`}]},{eip155Id:`42161`,networkName:`Arbitrum`,chainLogoUrl:b[42161],explorerBase:`https://arbiscan.io`,acceptedAssets:[{symbol:`ETH`,address:``,decimals:18,isNative:!0,assetLogoUrl:b[42161],priceImpact:`0.17`},{symbol:`TUSD`,address:`0x4D15a3A2286D883AF0AA1B3f21367843FAc63E07`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.16`},{symbol:`WETH`,address:`0x82aF49447D8a07e3bd95BD0d56f35241523fBab1`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.27`},{symbol:`USDC`,address:`0xaf88d065e77c8cC2239327C5EDb3A432268e5831`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.05`},{symbol:`DAI`,address:`0xDA10009cBd5D07dd0CeCc66161FC93D7c9000da1`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.1`},{symbol:`USDT`,address:`0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9`,decimals:6,isNative:!1,assetLogoUrl:y,priceImpact:`0.06`}]},{eip155Id:`137`,networkName:`Polygon`,chainLogoUrl:S,explorerBase:`https://polygonscan.com`,acceptedAssets:[{symbol:`POL`,address:``,decimals:18,isNative:!0,assetLogoUrl:S,priceImpact:`0.33`},{symbol:`TUSD`,address:`0x2e1AD108fF1D8C782fcBbB89AAd783aC49586756`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/tusd.svg`,priceImpact:`0.22`},{symbol:`USDC`,address:`0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359`,decimals:6,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,priceImpact:`0.08`},{symbol:`WETH`,address:`0x7ceB23fD6bC0adD59E62ac25578270cFf1b9f619`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/weth.svg`,priceImpact:`0.36`},{symbol:`DAI`,address:`0x8f3Cf7ad23Cd3CaDbD9735AFf958023239c6A063`,decimals:18,isNative:!1,assetLogoUrl:`https://cdn.stridge.com/assets/dai.svg`,priceImpact:`0.13`},{symbol:`USDT`,address:`0xc2132D05D31c914a87C6611C10748AEb04B58e8F`,decimals:6,isNative:!1,assetLogoUrl:y,priceImpact:`0.09`}]}];function A(e,t){let n=t===void 0?{}:{minAmountUsd:{value:t,formatted:a(t,e)}};return k.map(({eip155Id:e,networkName:t,chainLogoUrl:r,explorerBase:i,acceptedAssets:a})=>({eip155Id:e,networkName:t,chainLogoUrl:r,address:{value:C,formatted:o(C)},explorerUrl:`${i}/address/${C}`,acceptedAssets:a,...n}))}const j=k.map(({eip155Id:e,networkName:t,chainLogoUrl:n,explorerBase:r,acceptedAssets:i})=>({eip155Id:e,networkName:t,chainLogoUrl:n,address:{value:C,formatted:o(C)},explorerUrl:`${r}/address/${C}`,acceptedAssets:i})),M={1:`60`,56:`9006`,137:`966`,8453:`8453`,42161:`9001`};function N(){return{assets:k.map(e=>{let t=e.acceptedAssets.find(e=>e.isNative),n=e.acceptedAssets.filter(e=>!e.isNative);return{eip155_id:Number(e.eip155Id),network_id:M[e.eip155Id]??e.eip155Id,network_name:e.networkName.toLowerCase(),network_symbol:e.networkName.toLowerCase(),chain_type:`EVM`,assets:n.map(e=>({address:e.address,decimals:e.decimals,logo:e.assetLogoUrl??``,name:e.symbol,symbol:e.symbol,...e.priceImpact?{price_impact:e.priceImpact}:{}})),native_currency:{symbol:t?.symbol??``,name:t?.symbol??``,decimals:t?.decimals??18,logo:t?.assetLogoUrl??e.chainLogoUrl,...t?.priceImpact?{price_impact:t.priceImpact}:{}}}})}}function P(e){return[{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`USDC`,decimals:18,address:_,assetLogoUrl:v,chainLogoUrl:x,isNative:!1,amount:{value:42.805864,formatted:i(42.805864,e,{compact:!0})},amountUsd:{value:42.81,formatted:a(42.81,e)},priceUsd:1},{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`BNB`,decimals:18,address:``,assetLogoUrl:x,chainLogoUrl:x,isNative:!0,amount:{value:.016699,formatted:i(.016699,e,{compact:!0})},amountUsd:{value:10.86,formatted:a(10.86,e)},priceUsd:650.41},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`USDT`,decimals:6,address:`0xdAC17F958D2ee523a2206206994597C13D831ec7`,assetLogoUrl:y,chainLogoUrl:b[1],isNative:!1,amount:{value:.757479,formatted:i(.757479,e,{compact:!0})},amountUsd:{value:.76,formatted:a(.76,e)},priceUsd:1,lowBalance:!0,disabled:!0},{networkId:`9006`,networkName:`BSC`,eip155Id:`56`,symbol:`USDT`,decimals:18,address:`0x55d398326f99059fF775485246999027B3197955`,assetLogoUrl:y,chainLogoUrl:x,isNative:!1,amount:{value:.595218,formatted:i(.595218,e,{compact:!0})},amountUsd:{value:.6,formatted:a(.6,e)},priceUsd:1,lowBalance:!0,disabled:!0},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`ETH`,decimals:18,address:``,assetLogoUrl:b[1],chainLogoUrl:b[1],isNative:!0,amount:{value:167e-6,formatted:i(167e-6,e,{compact:!0})},amountUsd:{value:.39,formatted:a(.39,e)},priceUsd:2316.86,lowBalance:!0,disabled:!0},{networkId:`60`,networkName:`Ethereum`,eip155Id:`1`,symbol:`USDC`,decimals:6,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,chainLogoUrl:b[1],isNative:!1,amount:{value:.10408,formatted:i(.10408,e,{compact:!0})},amountUsd:{value:.1,formatted:a(.1,e)},priceUsd:1,lowBalance:!0,disabled:!0}]}function ne(e,t,r=E){return{heroAmountUsd:{value:1.999758,formatted:a(1.999758,e)},sendAsset:{symbol:`USDC`,decimals:6,address:`0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48`,assetLogoUrl:`https://cdn.stridge.com/assets/usdc.svg`,isNative:!1,chainId:1,networkName:`Ethereum`,eip155Id:`1`,chainLogoUrl:b[1]},sendAmount:{value:2,formatted:i(2,e)},receiveAsset:{symbol:r.symbol,decimals:r.decimals,address:r.address,assetLogoUrl:r.assetLogoUrl,isNative:r.isNative,chainId:r.eip155IdNumber,networkName:r.networkName,eip155Id:r.eip155IdString,chainLogoUrl:r.chainLogoUrl},receiveAmount:{value:1.9958,formatted:i(1.9958,e)},quoteTotalSeconds:30,expiresAt:t,etaSeconds:30,breakdown:{selectedRoute:{provider:`lifi`,scenario:`cross_chain_diff_token`,label:`LIFI · cross chain diff token`},networkCost:{value:.0042,formatted:a(.0042,e)},priceImpact:{value:.21,formatted:n(.21,e)}}}}function F(e,t=E){return{kind:`pending`,sourceWallet:{name:`Wallet`,address:{value:l,formatted:o(l)},explorerUrl:`https://etherscan.io/address/${l}`},creditedAsset:{symbol:t.symbol,decimals:t.decimals,address:t.address,assetLogoUrl:t.assetLogoUrl,isNative:t.isNative},creditedTo:c,txHash:{value:u,formatted:o(u)},txExplorerUrl:`https://etherscan.io/tx/${u}`,detectedAt:{value:p,formatted:r(p,e)},submittedAt:{value:p,formatted:r(p,e)},receiveAmount:{value:4.983615,formatted:i(4.983615,e)}}}function I(t,n=E){let a=m-p;return{kind:`succeeded`,sourceWallet:{name:`Wallet`,address:{value:l,formatted:o(l)},explorerUrl:`https://etherscan.io/address/${l}`},destination:{name:c,address:{value:l,formatted:o(l)}},creditedAsset:{symbol:n.symbol,decimals:n.decimals,address:n.address,assetLogoUrl:n.assetLogoUrl,isNative:n.isNative},receiveAmount:{value:4.983615,formatted:i(4.983615,t)},routeHops:[{provider:`LIFI`,chainId:1},{provider:`LIFI`,chainId:n.eip155IdNumber}],totalTime:{value:a,formatted:e(a,t)},depositTx:{hash:{value:u,formatted:o(u)},explorerUrl:`https://etherscan.io/tx/${u}`},completionTx:{hash:{value:d,formatted:o(d)},explorerUrl:`${n.explorerBase}/tx/${d}`},submittedAt:{value:p,formatted:r(p,t)},filledAt:{value:m,formatted:r(m,t)}}}function L(e,t=`execution-reverted`,n=E){return{kind:`failed`,failureKind:t,sourceWallet:{name:`Wallet`,address:{value:l,formatted:o(l)},explorerUrl:`https://etherscan.io/address/${l}`},destination:{name:c,address:{value:l,formatted:o(l)}},creditedAsset:{symbol:n.symbol,decimals:n.decimals,address:n.address,assetLogoUrl:n.assetLogoUrl,isNative:n.isNative},receiveAmount:{value:0,formatted:i(0,e)},txHash:{value:f,formatted:o(f)},txExplorerUrl:`https://etherscan.io/tx/${f}`,submittedAt:{value:h,formatted:r(h,e)},failedAt:{value:g,formatted:r(g,e)}}}function re(e,t=w){let n=P(e).reduce((e,t)=>e+(t.amountUsd?.value??0),0);return{address:{value:t.address,formatted:o(t.address)},...t.chainId===void 0?{}:{chainId:t.chainId},balanceTotalUsd:{value:n,formatted:a(n,e)}}}const R=116e3,z={id:`D79cZK`,message:`Instant`};function B(e){return{limit:{value:R,formatted:a(R,e)},processingTime:{value:0,formatted:e._(z)}}}const V=[{code:`USD`,name:`US Dollar`,symbol:`$`,popular:!0},{code:`EUR`,name:`Euro`,symbol:`€`,popular:!0},{code:`GBP`,name:`British Pound`,symbol:`£`,popular:!0},{code:`JPY`,name:`Japanese Yen`,symbol:`¥`,popular:!0},{code:`CNY`,name:`Chinese Yuan`,symbol:`¥`,popular:!0},{code:`AUD`,name:`Australian Dollar`,symbol:`A$`,popular:!0},{code:`CAD`,name:`Canadian Dollar`,symbol:`C$`,popular:!0},{code:`CHF`,name:`Swiss Franc`,symbol:`CHF`,popular:!0},{code:`AED`,name:`UAE Dirham`,symbol:`د.إ`,popular:!1},{code:`ARS`,name:`Argentine Peso`,symbol:`$`,popular:!1},{code:`BRL`,name:`Brazilian Real`,symbol:`R$`,popular:!1},{code:`INR`,name:`Indian Rupee`,symbol:`₹`,popular:!1},{code:`KRW`,name:`South Korean Won`,symbol:`₩`,popular:!1},{code:`MXN`,name:`Mexican Peso`,symbol:`$`,popular:!1},{code:`NGN`,name:`Nigerian Naira`,symbol:`₦`,popular:!1},{code:`SGD`,name:`Singapore Dollar`,symbol:`S$`,popular:!1},{code:`THB`,name:`Thai Baht`,symbol:`฿`,popular:!1},{code:`TRY`,name:`Turkish Lira`,symbol:`₺`,popular:!1},{code:`ZAR`,name:`South African Rand`,symbol:`R`,popular:!1}];function H(e){return V.find(t=>t.code===e)?.symbol??e}function U(){return{suggested:`USD`,currencies:V.map(e=>({code:e.code,name:e.name,symbol:e.symbol,popular:e.popular}))}}function W(e,n,r,a=`USD`){let o=Number.isFinite(n)&&n>0?n:0,s=+(o*.019).toFixed(2),c=.4,l=+(s+c).toFixed(2),u=Math.max(0,o-l),d=H(a);return{amountUsd:{value:o,formatted:t(o,e,a)},amountFiat:{value:o,formatted:t(o,e,a)},fiatCurrency:a,fiatSymbol:d,receiveAmount:{value:u,formatted:i(u,e)},receiveAsset:{symbol:r.symbol,decimals:r.decimals,address:r.address,isNative:r.isNative,chainId:r.eip155IdNumber},rate:{value:1,formatted:i(1,e)},processingFeeUsd:{value:s,formatted:t(s,e,a)},networkFeeUsd:{value:c,formatted:t(c,e,a)},totalFeeUsd:{value:l,formatted:t(l,e,a)},provider:`mock-onramp-provider`}}function G(e){return{activeId:`primary`,providers:[{id:`primary`,name:`Banxa`,status:`active`,logoUrl:s,receiveAsset:{symbol:e.symbol},disclaimer:{providerName:`Banxa`,links:[{kind:`terms`,url:`https://banxa.com/terms-of-use/`},{kind:`privacy`,url:`https://banxa.com/privacy-policy/`}]}}]}}const K=`mock-onramp-order-0001`,q=`https://checkout.mock-onramp-provider.example/?orderId=${K}`;function J(e,t,n,r=`SESSION_PENDING`,i=q){let a=W(e,t,n);return{sessionId:`mock-onramp-session-0001`,state:r,checkoutUrl:i,providerOrderId:K,receiveAmount:a.receiveAmount,fiatAmount:a.amountFiat,fiatCurrency:a.fiatCurrency,depositAsset:`ETH`,destinationAsset:a.receiveAsset.symbol,destinationAddress:{value:l,formatted:o(l)}}}const Y={provider:`mock-onramp-provider`,country:{code:`US`,source:`tenant`,confidence:`high`},suggested:`USD`,fiats:V.map(e=>({code:e.code,name:e.name,symbol:e.symbol}))},ie={provider:`mock-onramp-provider`,fiat_currency:`USD`,fiat_amount:`0`,asset_name:`USDC`,asset_amount:`0`,rate:`1`,fees:{total:`0`}},ae={session_id:`mock-onramp-session-0001`,state:`SESSION_PENDING`,external_order_id:`mock-onramp-session-0001`,flow:{fiat:{currency:`USD`,amount:`0`},entry:{address:`0x0`,network_id:`60`,asset:`USDC`,amount:`0`},destination:{address:`0x0`,network_id:`60`,asset:`USDC`,amount:`0`}},etag:`mock-0`},oe={deposit_addresses:[],metadata:{brand_name:c}},se=[],ce={assets:[]},le={chains:[]},ue={},de={id:`mock-settlement`,status:`completed`,created_at:new Date(p).toISOString(),updated_at:new Date(m).toISOString()},fe={settlements:[],is_terminal:!1},X=`0x32995Fb47918BD37133dB46F21c5Ed906140Dd41`,Z=`https://cdn.stridge.com/assets/usdc.svg`;function pe(e,t=Date.now()){let n=6e4,r=60*n,i=24*r,a=[Q({id:`mock-activity-deposit-pending`,status:`routing`,updatedAtMs:t-12*n,createdAtMs:t-15*n,amountUsd:`25.00`,toAddress:e}),Q({id:`mock-activity-deposit-failed`,status:`failed`,updatedAtMs:t-2*r,createdAtMs:t-2*r-35e3,amountUsd:`18.40`,toAddress:e,error:`destination chain reverted`}),Q({id:`mock-activity-deposit-success-recent`,status:`completed`,updatedAtMs:t-6*r,createdAtMs:t-6*r-23e3,amountUsd:`42.50`,toAddress:e}),Q({id:`mock-activity-deposit-success-yesterday`,status:`completed`,updatedAtMs:t-i-2*r,createdAtMs:t-i-2*r-17e3,amountUsd:`8.20`,toAddress:e}),Q({id:`mock-activity-deposit-success-week`,status:`completed`,updatedAtMs:t-9*i,createdAtMs:t-9*i-14e3,amountUsd:`120.00`,toAddress:e})],o=[$({id:`mock-activity-withdraw-failed`,status:`failed`,updatedAtMs:t-3*i,createdAtMs:t-3*i-9e4,amountUsd:`15.00`,error:`transaction failed on chain`}),$({id:`mock-activity-withdraw-success-recent`,status:`completed`,updatedAtMs:t-18*r,createdAtMs:t-18*r-12e3,amountUsd:`60.00`}),$({id:`mock-activity-withdraw-success-week`,status:`completed`,updatedAtMs:t-11*i,createdAtMs:t-11*i-19e3,amountUsd:`200.00`})];return{owner:e,filter:{},udas:[{uda_id:`mock-uda-deposit`,owner:e,is_terminal:!1,status:`from_detected`,created_at:new Date(t-30*i).toISOString(),updated_at:new Date(t-12*n).toISOString(),destination:{address:e,asset_address:_,asset_symbol:`USDC`,asset_decimals:18,network_id:`9006`,network_name:`BSC`,eip155_id:`56`},settlements:a,metadata:{kit_flow:`deposit`}},{uda_id:`mock-uda-withdraw`,owner:e,is_terminal:!1,status:`completed`,created_at:new Date(t-25*i).toISOString(),updated_at:new Date(t-18*r).toISOString(),destination:{address:X,asset_address:``,asset_decimals:18,asset_symbol:`ETH`,network_id:`60`,network_name:`Ethereum`,eip155_id:`1`},settlements:o,metadata:{kit_flow:`withdraw`}}]}}function Q(e){return{id:e.id,status:e.status,created_at:new Date(e.createdAtMs).toISOString(),updated_at:new Date(e.updatedAtMs).toISOString(),events:[],fees:{},route:{provider:`lifi`},...e.error?{error:e.error}:{},from:{tx_id:`0x${e.id.padEnd(60,`0`)}`,asset_symbol:`USDC`,eip155_id:`1`,network_id:`60`,network_name:`Ethereum`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z},to:{address:e.toAddress,asset_address:_,asset_symbol:`USDC`,eip155_id:`56`,network_id:`9006`,network_name:`BSC`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z,tx_id:`0xto${e.id.padEnd(58,`0`)}`,settled_at:e.status===`completed`?new Date(e.updatedAtMs).toISOString():void 0}}}function $(e){return{id:e.id,status:e.status,created_at:new Date(e.createdAtMs).toISOString(),updated_at:new Date(e.updatedAtMs).toISOString(),events:[],fees:{},route:{provider:`lifi`},...e.error?{error:e.error}:{},from:{tx_id:`0x${e.id.padEnd(60,`0`)}`,asset_symbol:`USDC`,eip155_id:`56`,network_id:`9006`,network_name:`BSC`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:Z},to:{address:X,asset_address:``,asset_symbol:`ETH`,eip155_id:`1`,network_id:`60`,network_name:`Ethereum`,raw_amount:`0`,amount:e.amountUsd,amount_usd:e.amountUsd,logo:`https://cdn.stridge.com/networks/60.svg`,tx_id:`0xto${e.id.padEnd(58,`0`)}`,settled_at:e.status===`completed`?new Date(e.updatedAtMs).toISOString():void 0}}}function me(e,t,n,r){return t===`pending`?F(e,n&&typeof n!=`string`?n:void 0):t===`succeeded`?I(e,n&&typeof n!=`string`?n:void 0):L(e,typeof n==`string`?n:void 0,r)}export{j as DEFAULT_ADDRESSES_PAYLOAD,T as DEFAULT_BRAND_PAYLOAD,E as DEFAULT_MOCK_ASSET,te as DEFAULT_TARGET_RAW,w as DEFAULT_WALLET_INFO,q as MOCK_ONRAMP_CHECKOUT_URL,K as MOCK_ONRAMP_ORDER_ID,se as STUB_DEPOSIT_ADDRESSES_RAW,fe as STUB_GATEWAY_POLL_RESPONSE,de as STUB_GATEWAY_SETTLEMENT_DTO,oe as STUB_GATEWAY_START_RESPONSE,le as STUB_ONCHAIN_BALANCE_RESPONSE,Y as STUB_ONRAMP_FIATS_RESPONSE,ie as STUB_ONRAMP_QUOTE_RESPONSE,ae as STUB_ONRAMP_SESSION_RESPONSE,ue as STUB_QUOTE_RESPONSE,ce as STUB_SUPPORTED_ASSETS_RESPONSE,A as buildDefaultAddressesPayload,P as buildDefaultBalances,L as buildDefaultFailurePayload,B as buildDefaultOnrampMethodsPayload,F as buildDefaultPendingPayload,ne as buildDefaultQuotePayload,I as buildDefaultSuccessPayload,N as buildDefaultSupportedAssetsResponse,O as buildDefaultTargetPayload,D as buildDefaultTargetRaw,re as buildDefaultWalletPayload,pe as buildMockActivityResponse,U as buildMockOnrampCurrenciesPayload,G as buildMockOnrampProvidersPayload,W as buildMockOnrampQuotePayload,J as buildMockOnrampSessionPayload,me as buildSettlementPayload,ee as resolveMockAsset};
@@ -1 +1 @@
1
- "use client";import{useDepositSnapshot as e}from"../driver/context.js";import{useControllerContext as t}from"../orchestrator/controller.js";import{useDepositEmissions as n}from"../../../events/emit/useDepositEmissions.js";import"../../../events/emit/index.js";import{useIntercomShutdownOnUnmount as r}from"../../../shared/support/useIntercomShutdownOnUnmount.js";import"../../../shared/support/index.js";import{AdaptiveSurface as i}from"../../../shared/ui/AdaptiveSurface/AdaptiveSurface.js";import"../../../shared/ui/AdaptiveSurface/index.js";import{Deposit as a}from"../widgets/deposit/compound/Deposit.js";import"../widgets/deposit/compound/index.js";import{DepositActivityDetail as o}from"../widgets/activity/DepositActivityDetail.js";import{DepositActivityList as s}from"../widgets/activity/DepositActivityList.js";import"../widgets/activity/index.js";import{AmountEntry as c}from"../widgets/amount-entry/AmountEntry.js";import"../widgets/amount-entry/index.js";import{AssetPicker as l}from"../widgets/asset-picker/AssetPicker.js";import"../widgets/asset-picker/index.js";import{ConfirmDeposit as u}from"../widgets/confirm-deposit/ConfirmDeposit.js";import"../widgets/confirm-deposit/index.js";import{Deposit as d}from"../widgets/deposit/Deposit.js";import"../widgets/deposit/index.js";import{DepositStatusBanner as f}from"../widgets/deposit-status-banner/DepositStatusBanner.js";import"../widgets/deposit-status-banner/index.js";import{ErrorState as p}from"../widgets/error-state/ErrorState.js";import"../widgets/error-state/index.js";import{OnrampAmountEntry as m}from"../widgets/onramp-amount-entry/OnrampAmountEntry.js";import"../widgets/onramp-amount-entry/index.js";import{OnrampConfirm as h}from"../widgets/onramp-confirm/OnrampConfirm.js";import"../widgets/onramp-confirm/index.js";import{OnrampPaymentPending as g}from"../widgets/onramp-payment-pending/OnrampPaymentPending.js";import"../widgets/onramp-payment-pending/index.js";import{ProcessingState as _}from"../widgets/processing-state/ProcessingState.js";import"../widgets/processing-state/index.js";import{SuccessState as v}from"../widgets/success-state/SuccessState.js";import"../widgets/success-state/index.js";import{TransferCrypto as y}from"../widgets/transfer-crypto/TransferCrypto.js";import"../widgets/transfer-crypto/index.js";import{jsx as b,jsxs as x}from"react/jsx-runtime";function S({container:S,metadata:C,onError:w,presentation:T}={}){let{state:E,controller:D}=t(),O=e(),k=E.name!==`closed`;return n({state:E,settlement:O.settlement,quote:O.quote,metadata:C}),r(),b(i,{open:k,onOpenChange:e=>{e||D.close()},container:S,...T?{presentation:T}:{},children:x(a.Boundary,{...w?{onError:w}:{},children:[b(a.Guards,{children:x(a.Steps,{children:[b(a.Step,{name:`deposit`,children:b(d,{})}),b(a.Step,{name:`assetPicker`,children:b(l,{})}),b(a.Step,{name:`amountEntry`,children:b(c,{})}),b(a.Step,{name:`onrampAmountEntry`,children:b(m,{})}),b(a.Step,{name:`onrampConfirm`,children:b(h,{})}),b(a.Step,{name:`onrampPaymentPending`,children:b(g,{})}),b(a.Step,{name:`confirmDeposit`,children:b(u,{})}),b(a.Step,{name:`transferCrypto`,children:b(y,{})}),b(a.Step,{name:`processing`,children:b(_,{})}),b(a.Step,{name:`success`,children:b(v,{})}),b(a.Step,{name:`error`,children:b(p,{})}),b(a.Step,{name:`activityList`,children:b(s,{})}),b(a.Step,{name:`activityDetail`,children:b(o,{})})]})}),b(f,{})]})})}export{S as DepositDialog};
1
+ "use client";import{useDepositSnapshot as e}from"../driver/context.js";import{useControllerContext as t}from"../orchestrator/controller.js";import{useDepositEmissions as n}from"../../../events/emit/useDepositEmissions.js";import"../../../events/emit/index.js";import{useIntercomShutdownOnUnmount as r}from"../../../shared/support/useIntercomShutdownOnUnmount.js";import"../../../shared/support/index.js";import{AdaptiveSurface as i}from"../../../shared/ui/AdaptiveSurface/AdaptiveSurface.js";import"../../../shared/ui/AdaptiveSurface/index.js";import{Deposit as a}from"../widgets/deposit/compound/Deposit.js";import"../widgets/deposit/compound/index.js";import{DepositActivityDetail as o}from"../widgets/activity/DepositActivityDetail.js";import{DepositActivityList as s}from"../widgets/activity/DepositActivityList.js";import"../widgets/activity/index.js";import{AmountEntry as c}from"../widgets/amount-entry/AmountEntry.js";import"../widgets/amount-entry/index.js";import{AssetPicker as l}from"../widgets/asset-picker/AssetPicker.js";import"../widgets/asset-picker/index.js";import{ConfirmDeposit as u}from"../widgets/confirm-deposit/ConfirmDeposit.js";import"../widgets/confirm-deposit/index.js";import{Deposit as d}from"../widgets/deposit/Deposit.js";import"../widgets/deposit/index.js";import{DepositStatusBanner as f}from"../widgets/deposit-status-banner/DepositStatusBanner.js";import"../widgets/deposit-status-banner/index.js";import{ErrorState as p}from"../widgets/error-state/ErrorState.js";import"../widgets/error-state/index.js";import{OnrampAmountEntry as m}from"../widgets/onramp-amount-entry/OnrampAmountEntry.js";import"../widgets/onramp-amount-entry/index.js";import{OnrampConfirm as h}from"../widgets/onramp-confirm/OnrampConfirm.js";import"../widgets/onramp-confirm/index.js";import{OnrampCurrencyPicker as g}from"../widgets/onramp-currency-picker/OnrampCurrencyPicker.js";import"../widgets/onramp-currency-picker/index.js";import{OnrampPaymentPending as _}from"../widgets/onramp-payment-pending/OnrampPaymentPending.js";import"../widgets/onramp-payment-pending/index.js";import{OnrampProviderPicker as v}from"../widgets/onramp-provider-picker/OnrampProviderPicker.js";import"../widgets/onramp-provider-picker/index.js";import{ProcessingState as y}from"../widgets/processing-state/ProcessingState.js";import"../widgets/processing-state/index.js";import{SuccessState as b}from"../widgets/success-state/SuccessState.js";import"../widgets/success-state/index.js";import{TransferCrypto as x}from"../widgets/transfer-crypto/TransferCrypto.js";import"../widgets/transfer-crypto/index.js";import{jsx as S,jsxs as C}from"react/jsx-runtime";function w({container:w,metadata:T,onError:E,presentation:D}={}){let{state:O,controller:k}=t(),A=e(),j=O.name!==`closed`;return n({state:O,settlement:A.settlement,quote:A.quote,metadata:T}),r(),S(i,{open:j,onOpenChange:e=>{e||k.close()},container:w,...D?{presentation:D}:{},children:C(a.Boundary,{...E?{onError:E}:{},children:[S(a.Guards,{children:C(a.Steps,{children:[S(a.Step,{name:`deposit`,children:S(d,{})}),S(a.Step,{name:`assetPicker`,children:S(l,{})}),S(a.Step,{name:`amountEntry`,children:S(c,{})}),S(a.Step,{name:`onrampAmountEntry`,children:S(m,{})}),S(a.Step,{name:`onrampCurrencyPicker`,children:S(g,{})}),S(a.Step,{name:`onrampProviderPicker`,children:S(v,{})}),S(a.Step,{name:`onrampConfirm`,children:S(h,{})}),S(a.Step,{name:`onrampPaymentPending`,children:S(_,{})}),S(a.Step,{name:`confirmDeposit`,children:S(u,{})}),S(a.Step,{name:`transferCrypto`,children:S(x,{})}),S(a.Step,{name:`processing`,children:S(y,{})}),S(a.Step,{name:`success`,children:S(b,{})}),S(a.Step,{name:`error`,children:S(p,{})}),S(a.Step,{name:`activityList`,children:S(s,{})}),S(a.Step,{name:`activityDetail`,children:S(o,{})})]})}),S(f,{})]})})}export{w as DepositDialog};
@@ -86,23 +86,138 @@ interface OnrampReceiveAssetPayload extends AssetPayload {
86
86
  * re-derive (e.g. net-of-fees) locally.
87
87
  */
88
88
  interface OnrampQuotePayload {
89
- /** Fiat amount the user pays (USD). */
89
+ /**
90
+ * Fiat amount the user pays, in the selected currency (not necessarily USD). Retained for
91
+ * back-compat with readers that predate multi-currency; new readers prefer {@link amountFiat},
92
+ * which is the same value carrying explicit currency metadata via {@link fiatCurrency} /
93
+ * {@link fiatSymbol}.
94
+ */
90
95
  amountUsd: FormattedField<number>;
96
+ /**
97
+ * Fiat amount the user pays, formatted in the selected currency via the currency-aware
98
+ * `formatFiat` helper (correct symbol placement + fraction digits per currency). Drives the
99
+ * hero / breakdown "Amount" row.
100
+ */
101
+ amountFiat: FormattedField<number>;
102
+ /** ISO-4217 code of the fiat currency this quote is priced in (e.g. `"USD"`, `"EUR"`, `"JPY"`). */
103
+ fiatCurrency: string;
104
+ /** Narrow currency symbol for `fiatCurrency` (e.g. `"$"`, `"€"`, `"¥"`). Drives the hero prefix. */
105
+ fiatSymbol: string;
91
106
  /** Crypto amount the user receives after fees. Drives the Receive chip + hero sub-line. */
92
107
  receiveAmount: FormattedField<number>;
93
108
  /** The crypto asset the user receives. */
94
109
  receiveAsset: OnrampReceiveAssetPayload;
95
- /** Crypto-per-fiat rate (e.g. USDC per USD). Drives the price row. */
110
+ /** Crypto-per-fiat rate (e.g. USDC per fiat unit). Drives the price row. */
96
111
  rate: FormattedField<number>;
97
- /** Provider processing fee (USD). Omitted when the provider doesn't surface it. */
112
+ /** Provider processing fee, in the selected currency. Omitted when the provider doesn't surface it. */
98
113
  processingFeeUsd?: FormattedField<number>;
99
- /** Network/settlement fee (USD). Omitted when zero / unknown. */
114
+ /** Network/settlement fee, in the selected currency. Omitted when zero / unknown. */
100
115
  networkFeeUsd?: FormattedField<number>;
101
- /** Total fee charged on top of the received crypto (USD). */
116
+ /** Total fee charged on top of the received crypto, in the selected currency. */
102
117
  totalFeeUsd: FormattedField<number>;
103
- /** Resolved hosted-checkout provider name. */
118
+ /**
119
+ * Resolved hosted-checkout provider — the raw BSP id the backend returns. NEVER rendered in the
120
+ * UI (Architectural Rule 2); provider display identity comes from the driver-shaped
121
+ * {@link OnrampProviderPayload} instead.
122
+ */
104
123
  provider?: string;
105
124
  }
125
+ /**
126
+ * One selectable fiat currency surfaced in the onramp currency picker. The backend supports any
127
+ * fiat the resolved BSP offers (`GET /gateway/onramp/fiats`); drivers map each `OnrampFiatDto` into
128
+ * this shape. `popular` is a UI-ordering hint (popular currencies sort to the top of the list); `iconUrl`
129
+ * is an OPTIONAL driver-supplied flag/emblem — the kit's default is the symbol/code
130
+ * {@link import("#/shared/ui").CurrencyGlyph}, never a bundled flag set.
131
+ */
132
+ interface OnrampCurrencyPayload {
133
+ /** ISO-4217 currency code (e.g. `"USD"`, `"EUR"`). Used as the row's stable id + hero symbol lookup. */
134
+ code: string;
135
+ /** Display name (e.g. `"US Dollar"`). Primary row label + search target. */
136
+ name: string;
137
+ /** Narrow currency symbol (e.g. `"$"`, `"€"`). Drives the {@link CurrencyGlyph} + hero prefix. */
138
+ symbol: string;
139
+ /** When true, the currency sorts to the top of the picker list ahead of the alphabetical rest. */
140
+ popular?: boolean;
141
+ /** Optional driver-supplied flag/emblem URL — rendered through the `Image` fallback when present. */
142
+ iconUrl?: string;
143
+ }
144
+ /**
145
+ * Currency catalog surfaced on `DepositSnapshot.onrampCurrencies` — the country-resolved default
146
+ * plus the full selectable list. The currency picker derives its Popular / All sections from each
147
+ * entry's `popular` flag; the amount-entry chip preselects {@link suggested} when the FSM has no
148
+ * persisted choice yet.
149
+ */
150
+ interface OnrampCurrenciesPayload {
151
+ /** Country-resolved default currency code to preselect (e.g. `"USD"`). Empty when unresolved. */
152
+ suggested: string;
153
+ /** Full list of selectable currencies (popular-first ordering handled in the UI via `popular`). */
154
+ currencies: OnrampCurrencyPayload[];
155
+ }
156
+ /**
157
+ * Lifecycle status of an onramp provider row.
158
+ *
159
+ * - `active` — the integrated provider that carries the one real quote; selectable + preselected.
160
+ * - `available` — a future selectable provider (reserved; not used while the backend resolves a
161
+ * single provider server-side).
162
+ * - `coming-soon` — a driver-curated teaser row; dimmed, badged, non-selectable, carries no amounts.
163
+ */
164
+ type OnrampProviderStatus = "active" | "available" | "coming-soon";
165
+ /**
166
+ * Legally-required third-party-consent content for the pre-redirect disclaimer gate. `providerName`
167
+ * + `links` are DRIVER-supplied — this is the single sanctioned surface where the integrated
168
+ * provider is named (Architectural Rule 2). The kit renders its own translated acknowledgement copy
169
+ * interpolating `providerName` and the `links`; `bodyOverride` lets the driver substitute exact
170
+ * legal wording when mandated.
171
+ */
172
+ interface OnrampProviderDisclaimer {
173
+ /** Neutral, driver-supplied provider name interpolated into the kit's acknowledgement copy. */
174
+ providerName: string;
175
+ /** Legal links rendered as inline anchors (open in a new tab with `rel="noopener noreferrer"`). */
176
+ links: ReadonlyArray<{
177
+ kind: "terms" | "privacy" | "support";
178
+ url: string;
179
+ }>;
180
+ /** When set, the kit renders this verbatim instead of its translated template (still with checkbox + links). */
181
+ bodyOverride?: string;
182
+ }
183
+ /**
184
+ * One onramp provider row. `name` / `logoUrl` are NEUTRAL, driver-supplied display identity — the
185
+ * kit NEVER hardcodes a BSP brand (Architectural Rule 2). `receive` is populated only for the
186
+ * `active` provider (we have one real quote); `coming-soon` rows carry no amounts. `disclaimer`,
187
+ * when present on the active provider, gates the pre-redirect consent panel on the confirm screen.
188
+ */
189
+ interface OnrampProviderPayload {
190
+ /** Stable internal id (e.g. `"primary"`) — NOT the raw BSP brand id. Drives selection + `activeId`. */
191
+ id: string;
192
+ /** Neutral, driver-supplied display name (e.g. `"Card & bank checkout"`). */
193
+ name: string;
194
+ /** Lifecycle status — see {@link OnrampProviderStatus}. */
195
+ status: OnrampProviderStatus;
196
+ /** Optional driver-supplied logo URL — rendered through the `Image` fallback; else a neutral monogram. */
197
+ logoUrl?: string;
198
+ /** Optional sub-line (e.g. a short capability note). Falls back to "Auto-picked for you" for the active row. */
199
+ note?: string;
200
+ /** Live receive amount — populated ONLY for the active provider (the one real quote). */
201
+ receive?: FormattedField<number>;
202
+ /** Symbol of the crypto the user receives (pairs with {@link receive}). */
203
+ receiveAsset?: {
204
+ symbol: string;
205
+ };
206
+ /** Pre-redirect third-party consent content. Present → the confirm screen gates the CTA on acknowledgement. */
207
+ disclaimer?: OnrampProviderDisclaimer;
208
+ }
209
+ /**
210
+ * Provider catalog surfaced on `DepositSnapshot.onrampProviders` — the active/default provider plus
211
+ * any driver-curated coming-soon rows. `activeId` preselects the amount-entry provider card and the
212
+ * provider picker's selected row. Driver-shaped (no single SDK response backs it); the backend
213
+ * resolves one provider server-side, so additional rows are pure driver data.
214
+ */
215
+ interface OnrampProvidersPayload {
216
+ /** Id of the active/default provider (matches one `providers[].id` with `status: "active"`). */
217
+ activeId: string;
218
+ /** All provider rows — the active one first, then any coming-soon teasers. */
219
+ providers: OnrampProviderPayload[];
220
+ }
106
221
  /**
107
222
  * Lifecycle state of an onramp checkout session, mirrored 1:1 from the SDK's
108
223
  * `OnrampSessionState`. The kit's reducer maps the three terminal values onto its shared
@@ -126,6 +241,20 @@ interface OnrampSessionPayload {
126
241
  providerOrderId?: string;
127
242
  /** Crypto amount the user receives, captured at create time (display units). */
128
243
  receiveAmount?: FormattedField<number>;
244
+ /** Fiat the user paid — currency-formatted (`"€100.00"`), from the session's fiat leg. */
245
+ fiatAmount?: FormattedField<number>;
246
+ /** Fiat currency code the user paid in (`"EUR"`), from the session's fiat leg. Drives the flow-strip glyph. */
247
+ fiatCurrency?: string;
248
+ /** Asset the provider buys + deposits at the UDA (`"ETH"`) — the bridged "buy" leg shown on the flow strip. */
249
+ depositAsset?: string;
250
+ /**
251
+ * Asset the user ultimately receives (`"USDC"`), from the session's destination leg. Authoritative
252
+ * over the quote's `receiveAsset` for the flow strip's "receive" node — the quote can drift from
253
+ * the created session, so the strip prefers this symbol for both the label and the token logo.
254
+ */
255
+ destinationAsset?: string;
256
+ /** The user's destination wallet address — `value` raw, `formatted` shortened — from the destination leg. */
257
+ destinationAddress?: FormattedField<string>;
129
258
  /** Failure code when `state === "SESSION_FAILED"` (e.g. `"payment_declined"`). */
130
259
  failureCode?: string;
131
260
  /** Session/checkout expiry timestamp (Unix-ms). */
@@ -443,4 +572,4 @@ interface SettlementFailurePayload {
443
572
  */
444
573
  type SettlementPayload = SettlementPendingPayload | SettlementSuccessPayload | SettlementFailurePayload;
445
574
  //#endregion
446
- export { AcceptedAssetPayload, AddressItemPayload, AssetPayload, BalanceItemPayload, BrandPayload, ChainPayload, OnrampMethodCapability, OnrampMethodsPayload, OnrampQuotePayload, OnrampReceiveAssetPayload, OnrampSessionPayload, OnrampSessionStateName, QuoteBreakdownPayload, QuotePayload, QuoteRoutePayload, SettlementFailurePayload, SettlementPayload, SettlementPendingPayload, SettlementSuccessPayload, SourceWalletPayload, TargetPayload, WalletInfo, WalletPayload };
575
+ export { AcceptedAssetPayload, AddressItemPayload, AssetPayload, BalanceItemPayload, BrandPayload, ChainPayload, OnrampCurrenciesPayload, OnrampCurrencyPayload, OnrampMethodCapability, OnrampMethodsPayload, OnrampProviderDisclaimer, OnrampProviderPayload, OnrampProviderStatus, OnrampProvidersPayload, OnrampQuotePayload, OnrampReceiveAssetPayload, OnrampSessionPayload, OnrampSessionStateName, QuoteBreakdownPayload, QuotePayload, QuoteRoutePayload, SettlementFailurePayload, SettlementPayload, SettlementPendingPayload, SettlementSuccessPayload, SourceWalletPayload, TargetPayload, WalletInfo, WalletPayload };