@b3dotfun/sdk 0.1.70-alpha.1 → 0.1.70-alpha.11
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.
- package/constants/chains/b3Chain.js +3 -1
- package/dist/cjs/anyspend/constants/rpc.d.ts +2 -1
- package/dist/cjs/anyspend/constants/rpc.js +4 -2
- package/dist/cjs/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/cjs/anyspend/react/components/AnySpendBondKit.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendBuySpin.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
- package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +9 -3
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendDepositUpside.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
- package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/cjs/anyspend/react/components/AnyspendSignatureMint.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckout.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
- package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/cjs/anyspend/react/components/checkout/CheckoutPaymentPanel.js +13 -3
- package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/cjs/anyspend/utils/chain.d.ts +39 -1
- package/dist/cjs/anyspend/utils/chain.js +23 -2
- package/dist/cjs/anyspend/utils/token.d.ts +2 -0
- package/dist/cjs/anyspend/utils/token.js +15 -1
- package/dist/cjs/app.shared.d.ts +9 -1
- package/dist/cjs/app.shared.js +19 -0
- package/dist/cjs/global-account/app.native.d.ts +1 -1
- package/dist/cjs/global-account/better-auth-client.d.ts +3314 -36
- package/dist/cjs/global-account/better-auth-client.js +28 -3
- package/dist/cjs/global-account/bsmnt.d.ts +2 -2
- package/dist/cjs/global-account/bsmnt.native.d.ts +1 -1
- package/dist/cjs/global-account/client-manager.d.ts +7 -5
- package/dist/cjs/global-account/client-manager.js +19 -4
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +1 -2
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +24 -3
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +48 -8
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
- package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
- package/dist/cjs/global-account/react/components/SignInWithB3/utils/signInUtils.js +1 -3
- package/dist/cjs/global-account/react/components/index.d.ts +0 -2
- package/dist/cjs/global-account/react/components/index.js +3 -7
- package/dist/cjs/global-account/react/hooks/index.d.ts +0 -1
- package/dist/cjs/global-account/react/hooks/index.js +2 -4
- package/dist/cjs/global-account/react/hooks/useAuth.d.ts +3 -3
- package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useAuthentication.js +1 -1
- package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
- package/dist/cjs/global-account/react/hooks/useBetterAuth.js +13 -14
- package/dist/cjs/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/cjs/global-account/react/hooks/useNativeBalance.js +2 -2
- package/dist/cjs/global-account/react/hooks/useSiwe.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useSiwe.native.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useTWAuth.d.ts +1 -1
- package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +28 -0
- package/dist/cjs/global-account/types/b3-api.types.d.ts +5 -0
- package/dist/cjs/global-account/types/feature-flags.d.ts +5 -5
- package/dist/cjs/notifications/services/api.js +1 -0
- package/dist/cjs/shared/constants/chains/b3Chain.d.ts +6 -54
- package/dist/cjs/shared/constants/chains/b3Chain.js +5 -41
- package/dist/cjs/shared/constants/chains/supported.d.ts +1 -49
- package/dist/cjs/shared/constants/chains/supported.js +8 -36
- package/dist/cjs/shared/utils/chain-transformers.d.ts +4 -4
- package/dist/cjs/shared/utils/chain-transformers.js +38 -37
- package/dist/cjs/shared/utils/thirdweb-insights.js +2 -2
- package/dist/cjs/shared/utils/upload.d.ts +9 -0
- package/dist/cjs/shared/utils/upload.js +34 -0
- package/dist/esm/anyspend/constants/rpc.d.ts +2 -1
- package/dist/esm/anyspend/constants/rpc.js +3 -1
- package/dist/esm/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/esm/anyspend/react/components/AnySpendBondKit.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendBuySpin.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +21 -14
- package/dist/esm/anyspend/react/components/AnySpendDeposit.js +10 -4
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendDepositUpside.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnySpendStakeUpsideExactIn.js +2 -2
- package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/esm/anyspend/react/components/AnySpendWorkflowTrigger.js +2 -2
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +2 -2
- package/dist/esm/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/esm/anyspend/react/components/AnyspendSignatureMint.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckout.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/AnySpendCheckoutTrigger.js +2 -2
- package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/esm/anyspend/react/components/checkout/CheckoutPaymentPanel.js +14 -4
- package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/esm/anyspend/utils/chain.d.ts +39 -1
- package/dist/esm/anyspend/utils/chain.js +24 -3
- package/dist/esm/anyspend/utils/token.d.ts +2 -0
- package/dist/esm/anyspend/utils/token.js +13 -0
- package/dist/esm/app.shared.d.ts +9 -1
- package/dist/esm/app.shared.js +17 -0
- package/dist/esm/global-account/app.native.d.ts +1 -1
- package/dist/esm/global-account/better-auth-client.d.ts +3314 -36
- package/dist/esm/global-account/better-auth-client.js +27 -4
- package/dist/esm/global-account/bsmnt.d.ts +2 -2
- package/dist/esm/global-account/bsmnt.native.d.ts +1 -1
- package/dist/esm/global-account/client-manager.d.ts +7 -5
- package/dist/esm/global-account/client-manager.js +19 -5
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +1 -2
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +25 -4
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +48 -8
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
- package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
- package/dist/esm/global-account/react/components/SignInWithB3/utils/signInUtils.js +1 -3
- package/dist/esm/global-account/react/components/index.d.ts +0 -2
- package/dist/esm/global-account/react/components/index.js +0 -2
- package/dist/esm/global-account/react/hooks/index.d.ts +0 -1
- package/dist/esm/global-account/react/hooks/index.js +0 -1
- package/dist/esm/global-account/react/hooks/useAuth.d.ts +3 -3
- package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useAuthentication.js +1 -1
- package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
- package/dist/esm/global-account/react/hooks/useBetterAuth.js +13 -14
- package/dist/esm/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/esm/global-account/react/hooks/useNativeBalance.js +1 -1
- package/dist/esm/global-account/react/hooks/useSiwe.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useSiwe.native.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useTWAuth.d.ts +1 -1
- package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +20 -17
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +28 -0
- package/dist/esm/global-account/types/b3-api.types.d.ts +5 -0
- package/dist/esm/global-account/types/feature-flags.d.ts +5 -5
- package/dist/esm/notifications/services/api.js +1 -0
- package/dist/esm/shared/constants/chains/b3Chain.d.ts +6 -54
- package/dist/esm/shared/constants/chains/b3Chain.js +4 -38
- package/dist/esm/shared/constants/chains/supported.d.ts +1 -49
- package/dist/esm/shared/constants/chains/supported.js +7 -35
- package/dist/esm/shared/utils/chain-transformers.d.ts +4 -4
- package/dist/esm/shared/utils/chain-transformers.js +38 -37
- package/dist/esm/shared/utils/thirdweb-insights.js +2 -2
- package/dist/esm/shared/utils/upload.d.ts +9 -0
- package/dist/esm/shared/utils/upload.js +31 -0
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/constants/rpc.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
- package/dist/types/anyspend/react/components/AnySpendBuySpin.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendCustomExactIn.d.ts +2 -0
- package/dist/types/anyspend/react/components/AnySpendDepositUpside.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendStakeB3.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendStakeB3ExactIn.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendStakeUpsideExactIn.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnySpendWorkflowTrigger.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +2 -1
- package/dist/types/anyspend/react/components/AnyspendSignatureMint.d.ts +2 -1
- package/dist/types/anyspend/react/components/checkout/AnySpendCheckout.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/AnySpendCheckoutTrigger.d.ts +3 -1
- package/dist/types/anyspend/react/components/checkout/CheckoutPaymentPanel.d.ts +3 -1
- package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/types/anyspend/utils/chain.d.ts +39 -1
- package/dist/types/anyspend/utils/token.d.ts +2 -0
- package/dist/types/app.shared.d.ts +9 -1
- package/dist/types/global-account/app.native.d.ts +1 -1
- package/dist/types/global-account/better-auth-client.d.ts +3314 -36
- package/dist/types/global-account/bsmnt.d.ts +2 -2
- package/dist/types/global-account/bsmnt.native.d.ts +1 -1
- package/dist/types/global-account/client-manager.d.ts +7 -5
- package/dist/types/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +1 -5
- package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +8 -13
- package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
- package/dist/types/global-account/react/components/index.d.ts +0 -2
- package/dist/types/global-account/react/hooks/index.d.ts +0 -1
- package/dist/types/global-account/react/hooks/useAuth.d.ts +3 -3
- package/dist/types/global-account/react/hooks/useAuthentication.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +1656 -21
- package/dist/types/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/types/global-account/react/hooks/useSiwe.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useSiwe.native.d.ts +1 -1
- package/dist/types/global-account/react/hooks/useTWAuth.d.ts +1 -1
- package/dist/types/global-account/react/stores/useModalStore.d.ts +28 -0
- package/dist/types/global-account/types/b3-api.types.d.ts +5 -0
- package/dist/types/global-account/types/feature-flags.d.ts +5 -5
- package/dist/types/shared/constants/chains/b3Chain.d.ts +6 -54
- package/dist/types/shared/constants/chains/supported.d.ts +1 -49
- package/dist/types/shared/utils/chain-transformers.d.ts +4 -4
- package/dist/types/shared/utils/upload.d.ts +9 -0
- package/node_modules/@b3/chain-registry/chains.json +1160 -0
- package/node_modules/@b3/chain-registry/package.json +14 -0
- package/node_modules/@b3/chain-registry/src/index.ts +169 -0
- package/node_modules/@b3/chain-registry/tsconfig.json +16 -0
- package/package.json +76 -28
- package/src/anyspend/constants/rpc.ts +3 -2
- package/src/anyspend/react/components/AnySpendBondKit.tsx +2 -0
- package/src/anyspend/react/components/AnySpendBuySpin.tsx +3 -0
- package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +29 -14
- package/src/anyspend/react/components/AnySpendDeposit.tsx +13 -3
- package/src/anyspend/react/components/AnySpendDepositUpside.tsx +3 -0
- package/src/anyspend/react/components/AnySpendStakeB3.tsx +3 -0
- package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +3 -0
- package/src/anyspend/react/components/AnySpendStakeUpsideExactIn.tsx +3 -0
- package/src/anyspend/react/components/AnySpendWorkflowTrigger.tsx +4 -0
- package/src/anyspend/react/components/AnyspendDepositHype.tsx +3 -0
- package/src/anyspend/react/components/AnyspendSignatureMint.tsx +3 -0
- package/src/anyspend/react/components/checkout/AnySpendCheckout.tsx +4 -0
- package/src/anyspend/react/components/checkout/AnySpendCheckoutTrigger.tsx +4 -0
- package/src/anyspend/react/components/checkout/CheckoutPaymentPanel.tsx +97 -79
- package/src/anyspend/react/hooks/useAnyspendQuote.ts +13 -13
- package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +4 -4
- package/src/anyspend/types/api_req_res.ts +10 -5
- package/src/anyspend/utils/chain.ts +26 -1
- package/src/anyspend/utils/token.ts +14 -0
- package/src/app.shared.ts +21 -1
- package/src/global-account/app.native.ts +5 -1
- package/src/global-account/better-auth-client.ts +30 -4
- package/src/global-account/bsmnt.native.ts +5 -1
- package/src/global-account/bsmnt.ts +9 -2
- package/src/global-account/client-manager.ts +41 -9
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +6 -11
- package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +0 -6
- package/src/global-account/react/components/B3Provider/B3Provider.tsx +49 -32
- package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +53 -8
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +1 -1
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -4
- package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +2 -4
- package/src/global-account/react/components/index.ts +0 -2
- package/src/global-account/react/components/ui/button.tsx +1 -2
- package/src/global-account/react/hooks/index.ts +0 -1
- package/src/global-account/react/hooks/useAuth.ts +2 -2
- package/src/global-account/react/hooks/useAuthentication.ts +2 -2
- package/src/global-account/react/hooks/useBetterAuth.ts +14 -15
- package/src/global-account/react/hooks/useClient.ts +11 -2
- package/src/global-account/react/hooks/useNativeBalance.tsx +1 -1
- package/src/global-account/react/hooks/useSiwe.native.tsx +1 -1
- package/src/global-account/react/hooks/useSiwe.tsx +1 -1
- package/src/global-account/react/hooks/useTWAuth.tsx +1 -1
- package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +22 -20
- package/src/global-account/react/stores/useModalStore.ts +28 -0
- package/src/global-account/types/b3-api.types.ts +5 -1
- package/src/notifications/services/api.ts +1 -0
- package/src/shared/constants/chains/b3Chain.ts +4 -43
- package/src/shared/constants/chains/supported.ts +9 -48
- package/src/shared/utils/chain-transformers.ts +41 -39
- package/src/shared/utils/thirdweb-insights.ts +2 -2
- package/src/shared/utils/upload.ts +48 -0
- package/src/styles/index.css +27 -0
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthClientProvider.js +0 -31
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -46
- package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
- package/dist/cjs/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -70
- package/dist/cjs/global-account/types/chain-networks.d.ts +0 -44
- package/dist/cjs/global-account/types/chain-networks.js +0 -48
- package/dist/cjs/shared/generated/chain-networks.json +0 -684
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthClientProvider.js +0 -27
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Privy.js +0 -43
- package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
- package/dist/esm/global-account/react/hooks/useHandleConnectWithPrivy.js +0 -67
- package/dist/esm/global-account/types/chain-networks.d.ts +0 -44
- package/dist/esm/global-account/types/chain-networks.js +0 -45
- package/dist/esm/shared/generated/chain-networks.json +0 -684
- package/dist/types/global-account/react/components/B3Provider/BetterAuthClientProvider.d.ts +0 -17
- package/dist/types/global-account/react/components/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
- package/dist/types/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
- package/dist/types/global-account/types/chain-networks.d.ts +0 -44
- package/src/global-account/react/components/B3Provider/BetterAuthClientProvider.tsx +0 -40
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Privy.tsx +0 -63
- package/src/global-account/react/hooks/useHandleConnectWithPrivy.tsx +0 -79
- package/src/global-account/types/chain-networks.ts +0 -54
- package/src/shared/generated/chain-networks.json +0 -684
|
@@ -3,60 +3,32 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.baseMainnet = exports.
|
|
6
|
+
exports.baseMainnet = exports.b3Mainnet = exports.b3MainnetThirdWeb = exports.coingeckoChains = exports.supportedChainNetworks = exports.supportedChainsTW = exports.supportedChains = void 0;
|
|
7
7
|
exports.getCoingeckoChainInfo = getCoingeckoChainInfo;
|
|
8
8
|
exports.getThirdwebChain = getThirdwebChain;
|
|
9
9
|
exports.getChainLogo = getChainLogo;
|
|
10
|
+
const chain_registry_1 = require("@b3/chain-registry");
|
|
10
11
|
const chain_transformers_1 = require("../../../shared/utils/chain-transformers");
|
|
11
12
|
const invariant_1 = __importDefault(require("invariant"));
|
|
12
|
-
// Import the JSON directly
|
|
13
|
-
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
14
|
-
// @ts-ignore
|
|
15
|
-
const chain_networks_json_1 = __importDefault(require("../../generated/chain-networks.json"));
|
|
16
13
|
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
|
|
17
14
|
// @ts-ignore
|
|
18
15
|
const coingecko_chains_json_1 = __importDefault(require("../../generated/coingecko-chains.json"));
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
// TODO: link to doc explaining why we don't support all chains and how to add more
|
|
23
|
-
// These are the chains that are supported for things such as bridging and fetching balances
|
|
24
|
-
exports.supportedChains = [...viemChains];
|
|
25
|
-
// ThirdWeb format chains
|
|
26
|
-
exports.supportedChainsTW = [
|
|
27
|
-
...chainNetworks
|
|
28
|
-
.map(chain => {
|
|
29
|
-
const networkData = chainNetworks.find(n => n.id === chain.id);
|
|
30
|
-
return networkData ? (0, chain_transformers_1.toThirdwebChain)(networkData) : undefined;
|
|
31
|
-
})
|
|
32
|
-
.filter((chain) => chain !== undefined),
|
|
33
|
-
];
|
|
34
|
-
// Original format from chain-networks.json
|
|
35
|
-
exports.supportedChainNetworks = chainNetworks;
|
|
36
|
-
// CoinGecko chain mapping
|
|
16
|
+
exports.supportedChains = chain_registry_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toViemChain);
|
|
17
|
+
exports.supportedChainsTW = chain_registry_1.ANYSPEND_EVM_CHAINS.map(chain_transformers_1.toThirdwebChain);
|
|
18
|
+
exports.supportedChainNetworks = chain_registry_1.ANYSPEND_EVM_CHAINS;
|
|
37
19
|
exports.coingeckoChains = coingecko_chains_json_1.default;
|
|
38
|
-
// Helper function to get CoinGecko chain info
|
|
39
20
|
function getCoingeckoChainInfo(chainId) {
|
|
40
21
|
return exports.coingeckoChains[chainId];
|
|
41
22
|
}
|
|
42
|
-
const _b3MainnetThirdWeb = exports.supportedChainsTW.find(
|
|
23
|
+
const _b3MainnetThirdWeb = exports.supportedChainsTW.find(c => c.id === 8333);
|
|
43
24
|
(0, invariant_1.default)(_b3MainnetThirdWeb, "B3 mainnet chain not found in supported chains TW");
|
|
44
25
|
exports.b3MainnetThirdWeb = _b3MainnetThirdWeb;
|
|
45
|
-
const
|
|
46
|
-
(0, invariant_1.default)(_b3TestnetThirdWeb, "B3 testnet chain not found in supported chains TW");
|
|
47
|
-
exports.b3TestnetThirdWeb = _b3TestnetThirdWeb;
|
|
48
|
-
const _b3Mainnet = exports.supportedChains.find(chain => chain.id === 8333);
|
|
26
|
+
const _b3Mainnet = exports.supportedChains.find(c => c.id === 8333);
|
|
49
27
|
(0, invariant_1.default)(_b3Mainnet, "B3 mainnet chain not found in supported chains");
|
|
50
28
|
exports.b3Mainnet = _b3Mainnet;
|
|
51
|
-
const
|
|
52
|
-
(0, invariant_1.default)(_b3Testnet, "B3 testnet chain not found in supported chains");
|
|
53
|
-
exports.b3Testnet = _b3Testnet;
|
|
54
|
-
const _baseMainnet = exports.supportedChains.find(chain => chain.id === 8453);
|
|
29
|
+
const _baseMainnet = exports.supportedChains.find(c => c.id === 8453);
|
|
55
30
|
(0, invariant_1.default)(_baseMainnet, "Base mainnet chain not found in supported chains");
|
|
56
31
|
exports.baseMainnet = _baseMainnet;
|
|
57
|
-
/**
|
|
58
|
-
* Get a Thirdweb chain by chain ID from supportedChainsTW
|
|
59
|
-
*/
|
|
60
32
|
function getThirdwebChain(chainId) {
|
|
61
33
|
const chain = exports.supportedChainsTW.find(c => c.id === chainId);
|
|
62
34
|
if (!chain) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { ChainDefinition } from "@b3/chain-registry";
|
|
2
2
|
import type { Chain as ThirdwebChain } from "thirdweb";
|
|
3
|
-
import { Chain } from "viem";
|
|
4
|
-
export declare function toViemChain(
|
|
5
|
-
export declare function toThirdwebChain(
|
|
3
|
+
import type { Chain } from "viem";
|
|
4
|
+
export declare function toViemChain(chain: ChainDefinition): Chain;
|
|
5
|
+
export declare function toThirdwebChain(chain: ChainDefinition): ThirdwebChain;
|
|
@@ -3,48 +3,49 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.toViemChain = toViemChain;
|
|
4
4
|
exports.toThirdwebChain = toThirdwebChain;
|
|
5
5
|
const thirdweb_1 = require("thirdweb");
|
|
6
|
-
|
|
6
|
+
// fallbackRpc is validated non-null at chain-registry module init for every
|
|
7
|
+
// anyspend EVM chain (see ANYSPEND_EVM_CHAINS in @b3/chain-registry). Callers
|
|
8
|
+
// outside the anyspend EVM set must ensure their own data shape.
|
|
9
|
+
// Derive icon format from URL extension. Thirdweb chain config carries an
|
|
10
|
+
// explicit `format` field; the old chain-networks.json had per-chain values
|
|
11
|
+
// (svg/png/etc.) but @b3/chain-registry only stores `logoUrl`. URL extension
|
|
12
|
+
// is reliable across our current chain set — 9/11 anyspend chains use .png
|
|
13
|
+
// (trustwallet/relay/coinmarketcap), 2 use .svg (Base, Plume from cdn.b3.fun).
|
|
14
|
+
function inferIconFormat(url) {
|
|
15
|
+
const match = url.toLowerCase().match(/\.([a-z0-9]+)(?:\?|#|$)/);
|
|
16
|
+
const ext = match?.[1];
|
|
17
|
+
if (ext === "png" || ext === "jpg" || ext === "jpeg" || ext === "gif" || ext === "webp")
|
|
18
|
+
return ext;
|
|
19
|
+
return "svg";
|
|
20
|
+
}
|
|
21
|
+
function toViemChain(chain) {
|
|
22
|
+
if (!chain.fallbackRpc) {
|
|
23
|
+
throw new Error(`toViemChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
|
|
24
|
+
}
|
|
7
25
|
return {
|
|
8
|
-
id:
|
|
9
|
-
name:
|
|
10
|
-
nativeCurrency:
|
|
11
|
-
rpcUrls: {
|
|
12
|
-
default: {
|
|
13
|
-
http: [network.rpcUrls.default.http],
|
|
14
|
-
webSocket: network.rpcUrls.default.ws ? [network.rpcUrls.default.ws] : undefined,
|
|
15
|
-
},
|
|
16
|
-
},
|
|
26
|
+
id: chain.chainId,
|
|
27
|
+
name: chain.name,
|
|
28
|
+
nativeCurrency: chain.nativeCurrency,
|
|
29
|
+
rpcUrls: { default: { http: [chain.fallbackRpc] } },
|
|
17
30
|
blockExplorers: {
|
|
18
|
-
default: {
|
|
19
|
-
name: network.blockExplorers.explorerTitle,
|
|
20
|
-
url: network.blockExplorers.default,
|
|
21
|
-
},
|
|
31
|
+
default: { name: `${chain.name} Explorer`, url: chain.explorer },
|
|
22
32
|
},
|
|
23
|
-
|
|
24
|
-
testnet: network.testnet,
|
|
25
|
-
sourceId: network.sourceId,
|
|
26
|
-
formatters: network.formatters,
|
|
27
|
-
fees: network.fees,
|
|
33
|
+
testnet: chain.isTestnet,
|
|
28
34
|
};
|
|
29
35
|
}
|
|
30
|
-
function toThirdwebChain(
|
|
36
|
+
function toThirdwebChain(chain) {
|
|
37
|
+
if (!chain.fallbackRpc) {
|
|
38
|
+
throw new Error(`toThirdwebChain: chain ${chain.chainId} (${chain.key}) has no fallbackRpc`);
|
|
39
|
+
}
|
|
31
40
|
return (0, thirdweb_1.defineChain)({
|
|
32
|
-
id:
|
|
33
|
-
name:
|
|
34
|
-
nativeCurrency:
|
|
35
|
-
rpc:
|
|
36
|
-
icon:
|
|
37
|
-
url:
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
},
|
|
42
|
-
blockExplorers: [
|
|
43
|
-
{
|
|
44
|
-
name: network.blockExplorers.explorerTitle,
|
|
45
|
-
url: network.blockExplorers.default,
|
|
46
|
-
},
|
|
47
|
-
],
|
|
48
|
-
testnet: network.testnet ? true : undefined,
|
|
41
|
+
id: chain.chainId,
|
|
42
|
+
name: chain.name,
|
|
43
|
+
nativeCurrency: chain.nativeCurrency,
|
|
44
|
+
rpc: chain.fallbackRpc,
|
|
45
|
+
icon: chain.logoUrl
|
|
46
|
+
? { url: chain.logoUrl, width: 32, height: 32, format: inferIconFormat(chain.logoUrl) }
|
|
47
|
+
: undefined,
|
|
48
|
+
blockExplorers: [{ name: `${chain.name} Explorer`, url: chain.explorer }],
|
|
49
|
+
testnet: chain.isTestnet ? true : undefined,
|
|
49
50
|
});
|
|
50
51
|
}
|
|
@@ -156,7 +156,7 @@ async function getNativeTokenBalance(address, chainId) {
|
|
|
156
156
|
}
|
|
157
157
|
try {
|
|
158
158
|
// Find chain info from supported chains
|
|
159
|
-
const chainInfo = supported_1.supportedChainNetworks.find(chain => chain.
|
|
159
|
+
const chainInfo = supported_1.supportedChainNetworks.find(chain => chain.chainId === chainId);
|
|
160
160
|
// Create a chain object from the chainId
|
|
161
161
|
const chain = (0, thirdweb_1.defineChain)({
|
|
162
162
|
id: chainId,
|
|
@@ -184,7 +184,7 @@ async function getNativeTokenBalance(address, chainId) {
|
|
|
184
184
|
decimals: balance.decimals,
|
|
185
185
|
balance: balance.value.toString(),
|
|
186
186
|
metadata: {
|
|
187
|
-
logoURI: chainInfo?.
|
|
187
|
+
logoURI: chainInfo?.logoUrl ||
|
|
188
188
|
"https://raw.githubusercontent.com/trustwallet/assets/master/blockchains/ethereum/info/logo.png",
|
|
189
189
|
},
|
|
190
190
|
// Add native token info in extra_metadata
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface UploadOptions {
|
|
2
|
+
baseUrl?: string;
|
|
3
|
+
}
|
|
4
|
+
/**
|
|
5
|
+
* Upload a file to the B3 uploads service (Cloudflare R2).
|
|
6
|
+
* Returns the public URL of the uploaded asset.
|
|
7
|
+
*/
|
|
8
|
+
export declare function uploadFile(file: File, options?: UploadOptions): Promise<string>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uploadFile = uploadFile;
|
|
4
|
+
const DEFAULT_UPLOADS_URL = "https://uploads.b3.fun";
|
|
5
|
+
const ALLOWED_TYPES = ["image/jpeg", "image/png", "image/gif", "image/webp"];
|
|
6
|
+
const MAX_FILE_SIZE = 5 * 1024 * 1024; // 5MB
|
|
7
|
+
/**
|
|
8
|
+
* Upload a file to the B3 uploads service (Cloudflare R2).
|
|
9
|
+
* Returns the public URL of the uploaded asset.
|
|
10
|
+
*/
|
|
11
|
+
async function uploadFile(file, options) {
|
|
12
|
+
if (!ALLOWED_TYPES.includes(file.type)) {
|
|
13
|
+
throw new Error(`Invalid file type. Allowed: ${ALLOWED_TYPES.join(", ")}`);
|
|
14
|
+
}
|
|
15
|
+
if (file.size > MAX_FILE_SIZE) {
|
|
16
|
+
throw new Error(`File too large. Maximum size: ${MAX_FILE_SIZE / 1024 / 1024}MB`);
|
|
17
|
+
}
|
|
18
|
+
const uploadsUrl = options?.baseUrl || DEFAULT_UPLOADS_URL;
|
|
19
|
+
const formData = new FormData();
|
|
20
|
+
formData.append("file", file);
|
|
21
|
+
const res = await fetch(`${uploadsUrl}/upload/image`, {
|
|
22
|
+
method: "POST",
|
|
23
|
+
body: formData,
|
|
24
|
+
});
|
|
25
|
+
if (!res.ok) {
|
|
26
|
+
const body = await res.json().catch(() => ({ success: false, error: "Upload failed" }));
|
|
27
|
+
throw new Error(body.error || `Upload failed (${res.status})`);
|
|
28
|
+
}
|
|
29
|
+
const body = await res.json().catch(() => ({ success: false, error: "Invalid response" }));
|
|
30
|
+
if (!body.success || !body.data) {
|
|
31
|
+
throw new Error(body.error || "Upload failed");
|
|
32
|
+
}
|
|
33
|
+
return body.data.url;
|
|
34
|
+
}
|
|
@@ -13,9 +13,10 @@ export declare const OPTIMISM_PUBLIC_RPC = "https://optimism-rpc.publicnode.com"
|
|
|
13
13
|
export declare const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
|
|
14
14
|
export declare const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
|
|
15
15
|
export declare const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
|
|
16
|
-
export declare const B3_PUBLIC_RPC = "https://
|
|
16
|
+
export declare const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun";
|
|
17
17
|
export declare const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
|
|
18
18
|
export declare const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
|
|
19
|
+
export declare const PLUME_PUBLIC_RPC = "https://rpc.plume.org";
|
|
19
20
|
/**
|
|
20
21
|
* Map of chain IDs to their default public RPC URLs.
|
|
21
22
|
*/
|
|
@@ -15,9 +15,10 @@ export const POLYGON_PUBLIC_RPC = "https://polygon-bor-rpc.publicnode.com";
|
|
|
15
15
|
export const AVALANCHE_PUBLIC_RPC = "https://avalanche-c-chain-rpc.publicnode.com";
|
|
16
16
|
export const BSC_PUBLIC_RPC = "https://bsc-rpc.publicnode.com";
|
|
17
17
|
// Chain-specific public endpoints
|
|
18
|
-
export const B3_PUBLIC_RPC = "https://
|
|
18
|
+
export const B3_PUBLIC_RPC = "https://mainnet-rpc.b3.fun";
|
|
19
19
|
export const ABSTRACT_PUBLIC_RPC = "https://api.mainnet.abs.xyz";
|
|
20
20
|
export const HYPEREVM_PUBLIC_RPC = "https://rpc.hyperliquid.xyz/evm";
|
|
21
|
+
export const PLUME_PUBLIC_RPC = "https://rpc.plume.org";
|
|
21
22
|
/**
|
|
22
23
|
* Map of chain IDs to their default public RPC URLs.
|
|
23
24
|
*/
|
|
@@ -32,4 +33,5 @@ export const PUBLIC_RPC_URLS = {
|
|
|
32
33
|
8333: B3_PUBLIC_RPC, // B3
|
|
33
34
|
2741: ABSTRACT_PUBLIC_RPC, // Abstract
|
|
34
35
|
999: HYPEREVM_PUBLIC_RPC, // HyperEVM
|
|
36
|
+
98866: PLUME_PUBLIC_RPC, // Plume Network
|
|
35
37
|
};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { AnySpendBondKitProps } from "../../../global-account/react/stores/useModalStore";
|
|
2
2
|
import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
|
|
3
|
-
export declare function AnySpendBondKit({ mode, recipientAddress, contractAddress, minTokensOut, imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, }: AnySpendBondKitProps & {
|
|
3
|
+
export declare function AnySpendBondKit({ mode, recipientAddress, contractAddress, minTokensOut, imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, showFiatOption, }: AnySpendBondKitProps & {
|
|
4
4
|
slots?: AnySpendSlots;
|
|
5
5
|
content?: AnySpendContent;
|
|
6
6
|
theme?: AnySpendTheme;
|
|
@@ -20,7 +20,7 @@ function formatNumberWithCommas(x) {
|
|
|
20
20
|
parts[0] = parts[0].replace(/\B(?=(\d{3})+(?!\d))/g, ",");
|
|
21
21
|
return parts.join(".");
|
|
22
22
|
}
|
|
23
|
-
export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddress, minTokensOut = "0", imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, }) {
|
|
23
|
+
export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddress, minTokensOut = "0", imageUrl, b3Amount: initialB3Amount, onSuccess, slots, content, theme, showFiatOption, }) {
|
|
24
24
|
const hasMounted = useHasMounted();
|
|
25
25
|
const [showAmountPrompt, setShowAmountPrompt] = useState(!initialB3Amount);
|
|
26
26
|
const [b3Amount, setB3Amount] = useState(initialB3Amount || "");
|
|
@@ -200,5 +200,5 @@ export function AnySpendBondKit({ mode = "modal", recipientAddress, contractAddr
|
|
|
200
200
|
});
|
|
201
201
|
return (_jsx(AnySpendCustom, { mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: baseMainnet.id, dstToken: dstToken, dstAmount: parseEther(b3Amount).toString(), contractAddress: contractAddress, encodedData: encodedData, metadata: {
|
|
202
202
|
action: "BondKit Buy",
|
|
203
|
-
}, header: header, onSuccess: onSuccess, showRecipient: true, slots: slots, content: content, theme: theme }));
|
|
203
|
+
}, header: header, onSuccess: onSuccess, showRecipient: true, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
|
|
204
204
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
|
|
2
|
-
export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, }: {
|
|
2
|
+
export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, showFiatOption, }: {
|
|
3
3
|
loadOrder?: string;
|
|
4
4
|
mode?: "modal" | "page";
|
|
5
5
|
spinwheelContractAddress: string;
|
|
@@ -12,4 +12,5 @@ export declare function AnySpendBuySpin({ loadOrder, mode, spinwheelContractAddr
|
|
|
12
12
|
slots?: AnySpendSlots;
|
|
13
13
|
content?: AnySpendContent;
|
|
14
14
|
theme?: AnySpendTheme;
|
|
15
|
+
showFiatOption?: boolean;
|
|
15
16
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -84,7 +84,7 @@ const basePublicClient = createPublicClient({
|
|
|
84
84
|
chain: baseMainnet,
|
|
85
85
|
transport: http(PUBLIC_BASE_RPC_URL),
|
|
86
86
|
});
|
|
87
|
-
export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, }) {
|
|
87
|
+
export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAddress, chainId, recipientAddress, prefillQuantity, onSuccess, senderAddress, slots, content, theme, showFiatOption, }) {
|
|
88
88
|
const hasMounted = useHasMounted();
|
|
89
89
|
const { setB3ModalOpen } = useModalStore();
|
|
90
90
|
// Payment config state
|
|
@@ -390,5 +390,5 @@ export function AnySpendBuySpin({ loadOrder, mode = "modal", spinwheelContractAd
|
|
|
390
390
|
const encodedData = generateEncodedDataForBuyEntriesAndSpin(address || "", userSpinQuantity);
|
|
391
391
|
return (_jsx(AnySpendCustom, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: chainId, dstToken: B3_TOKEN, dstAmount: totalCost.toString(), contractAddress: spinwheelContractAddress, spenderAddress: paymentConfig.entryModule, encodedData: encodedData, metadata: {
|
|
392
392
|
action: `buy ${userSpinQuantity} spin${userSpinQuantity !== "1" ? "s" : ""}`,
|
|
393
|
-
}, header: header, onSuccess: txHash => onSuccess?.(txHash), showRecipient: false, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
|
|
393
|
+
}, header: header, onSuccess: txHash => onSuccess?.(txHash), showRecipient: false, senderAddress: senderAddress, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
|
|
394
394
|
}
|
|
@@ -55,6 +55,8 @@ export interface AnySpendCustomExactInProps {
|
|
|
55
55
|
content?: AnySpendContent;
|
|
56
56
|
/** Structured color/theme configuration */
|
|
57
57
|
theme?: AnySpendTheme;
|
|
58
|
+
/** Whether to show fiat payment option. Defaults to true. When false, paymentType is forced to "crypto". */
|
|
59
|
+
showFiatOption?: boolean;
|
|
58
60
|
}
|
|
59
61
|
export declare function AnySpendCustomExactIn(props: AnySpendCustomExactInProps): import("react/jsx-runtime").JSX.Element;
|
|
60
62
|
export {};
|
|
@@ -31,8 +31,9 @@ export function AnySpendCustomExactIn(props) {
|
|
|
31
31
|
const fingerprintConfig = getFingerprintConfig();
|
|
32
32
|
return (_jsx(AnySpendFingerprintWrapper, { fingerprint: fingerprintConfig, children: _jsx(AnySpendCustomizationProvider, { slots: props.slots, content: props.content, theme: props.theme, children: _jsx(AnySpendCustomExactInInner, { ...props }) }) }));
|
|
33
33
|
}
|
|
34
|
-
function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddress, paymentType = "crypto", sourceTokenAddress, sourceTokenChainId, destinationToken, destinationChainId, onSuccess, onOpenCustomModal, mainFooter, onTokenSelect, customUsdInputValues, preferEoa, customExactInConfig, destinationTokenAmount, orderType = "custom_exact_in", minDestinationAmount, header, returnToHomeUrl, customRecipientLabel, returnHomeLabel, classes, allowDirectTransfer = false, callbackMetadata, senderAddress, }) {
|
|
34
|
+
function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddress, paymentType = "crypto", sourceTokenAddress, sourceTokenChainId, destinationToken, destinationChainId, onSuccess, onOpenCustomModal, mainFooter, onTokenSelect, customUsdInputValues, preferEoa, customExactInConfig, destinationTokenAmount, orderType = "custom_exact_in", minDestinationAmount, header, returnToHomeUrl, customRecipientLabel, returnHomeLabel, classes, allowDirectTransfer = false, callbackMetadata, senderAddress, showFiatOption = true, }) {
|
|
35
35
|
const { slots, content } = useAnySpendCustomization();
|
|
36
|
+
const effectivePaymentType = showFiatOption ? paymentType : "crypto";
|
|
36
37
|
const actionLabel = customExactInConfig?.action ?? "Custom Execution";
|
|
37
38
|
const setB3ModalOpen = useModalStore(state => state.setB3ModalOpen);
|
|
38
39
|
const DESTINATION_TOKEN_DETAILS = {
|
|
@@ -40,7 +41,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
40
41
|
LOGO_URI: destinationToken.metadata?.logoURI ?? "",
|
|
41
42
|
};
|
|
42
43
|
const { activePanel, setActivePanel, orderId, setOrderId, oat, selectedSrcChainId, setSelectedSrcChainId, selectedSrcToken, setSelectedSrcToken, selectedDstToken, selectedDstChainId, srcAmount, setSrcAmount, dstAmount, dstAmountInput, setDstAmountInput, isSrcInputDirty, setIsSrcInputDirty, tradeType, selectedCryptoPaymentMethod, effectiveCryptoPaymentMethod, setSelectedCryptoPaymentMethod, selectedFiatPaymentMethod, setSelectedFiatPaymentMethod, selectedRecipientAddress, setSelectedRecipientAddress, recipientName, globalAddress, hasEnoughBalance, isBalanceLoading, anyspendQuote, isLoadingAnyspendQuote, isQuoteLoading, activeInputAmountInWei, activeOutputAmountInWei, geoData, coinbaseAvailablePaymentMethods, stripeWeb2Support, createOrder, isCreatingOrder, createOnrampOrder, isCreatingOnrampOrder, } = useAnyspendFlow({
|
|
43
|
-
paymentType,
|
|
44
|
+
paymentType: effectivePaymentType,
|
|
44
45
|
recipientAddress,
|
|
45
46
|
loadOrder,
|
|
46
47
|
onTransactionSuccess: onSuccess,
|
|
@@ -59,10 +60,16 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
59
60
|
const { executeDirectTransfer, isTransferring: isSwitchingOrExecuting } = useDirectTransfer();
|
|
60
61
|
// Check if source and destination are the same token on the same chain
|
|
61
62
|
const isSameChainSameToken = useMemo(() => {
|
|
62
|
-
return (
|
|
63
|
+
return (effectivePaymentType === "crypto" &&
|
|
63
64
|
selectedSrcChainId === selectedDstChainId &&
|
|
64
65
|
selectedSrcToken?.address?.toLowerCase() === selectedDstToken?.address?.toLowerCase());
|
|
65
|
-
}, [
|
|
66
|
+
}, [
|
|
67
|
+
effectivePaymentType,
|
|
68
|
+
selectedSrcChainId,
|
|
69
|
+
selectedDstChainId,
|
|
70
|
+
selectedSrcToken?.address,
|
|
71
|
+
selectedDstToken?.address,
|
|
72
|
+
]);
|
|
66
73
|
// Check if this is a direct transfer
|
|
67
74
|
const isDirectTransfer = isSameChainSameToken && allowDirectTransfer;
|
|
68
75
|
// State for direct transfer success
|
|
@@ -151,7 +158,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
151
158
|
};
|
|
152
159
|
}
|
|
153
160
|
}
|
|
154
|
-
if (
|
|
161
|
+
if (effectivePaymentType === "crypto") {
|
|
155
162
|
if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
|
|
156
163
|
return { text: "Choose payment method", disable: false, error: false, loading: false };
|
|
157
164
|
}
|
|
@@ -168,7 +175,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
168
175
|
: `Execute ${actionLabel}`;
|
|
169
176
|
return { text: buttonText, disable: false, error: false, loading: false };
|
|
170
177
|
}
|
|
171
|
-
if (
|
|
178
|
+
if (effectivePaymentType === "fiat") {
|
|
172
179
|
if (selectedFiatPaymentMethod === FiatPaymentMethod.NONE) {
|
|
173
180
|
return { text: "Select payment method", disable: false, error: false, loading: false };
|
|
174
181
|
}
|
|
@@ -183,7 +190,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
183
190
|
isSwitchingOrExecuting,
|
|
184
191
|
selectedRecipientOrDefault,
|
|
185
192
|
anyspendQuote,
|
|
186
|
-
|
|
193
|
+
effectivePaymentType,
|
|
187
194
|
effectiveCryptoPaymentMethod,
|
|
188
195
|
selectedFiatPaymentMethod,
|
|
189
196
|
hasEnoughBalance,
|
|
@@ -209,14 +216,14 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
209
216
|
setActivePanel(PanelView.RECIPIENT_SELECTION);
|
|
210
217
|
return;
|
|
211
218
|
}
|
|
212
|
-
if (
|
|
219
|
+
if (effectivePaymentType === "crypto") {
|
|
213
220
|
if (effectiveCryptoPaymentMethod === CryptoPaymentMethodType.NONE) {
|
|
214
221
|
setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD);
|
|
215
222
|
return;
|
|
216
223
|
}
|
|
217
224
|
await handleCryptoOrder();
|
|
218
225
|
}
|
|
219
|
-
else if (
|
|
226
|
+
else if (effectivePaymentType === "fiat") {
|
|
220
227
|
if (selectedFiatPaymentMethod === FiatPaymentMethod.NONE) {
|
|
221
228
|
setActivePanel(PanelView.FIAT_PAYMENT_METHOD);
|
|
222
229
|
return;
|
|
@@ -226,8 +233,8 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
226
233
|
};
|
|
227
234
|
const headerContent = header ? (header({ anyspendPrice: anyspendQuote, isLoadingAnyspendPrice: isLoadingAnyspendQuote })) : (_jsx("div", { className: "mb-4 flex flex-col items-center gap-3 text-center", children: _jsxs("div", { children: [_jsx("h1", { className: "text-as-primary text-xl font-bold", children: actionLabel }), _jsx("p", { className: "text-as-secondary text-sm", children: "Pay from any token to execute a custom exact-in transaction." })] }) }));
|
|
228
235
|
const mainView = (_jsxs("div", { className: classes?.container ||
|
|
229
|
-
"anyspend-custom-exact-in-container mx-auto flex w-full max-w-[460px] flex-col items-center gap-2", children: [headerContent, _jsx("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [
|
|
230
|
-
"swap-direction-button border-as-stroke bg-as-surface-primary z-10 h-10 w-10 cursor-default rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }) }),
|
|
236
|
+
"anyspend-custom-exact-in-container mx-auto flex w-full max-w-[460px] flex-col items-center gap-2", children: [headerContent, _jsx("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: _jsxs("div", { className: "relative flex w-full max-w-[calc(100vw-32px)] flex-col gap-2", children: [effectivePaymentType === "crypto" ? (_jsx(CryptoPaySection, { selectedSrcChainId: selectedSrcChainId, setSelectedSrcChainId: setSelectedSrcChainId, selectedSrcToken: selectedSrcToken, setSelectedSrcToken: setSelectedSrcToken, srcAmount: srcAmount, setSrcAmount: setSrcAmount, isSrcInputDirty: isSrcInputDirty, setIsSrcInputDirty: setIsSrcInputDirty, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onSelectCryptoPaymentMethod: () => setActivePanel(PanelView.CRYPTO_PAYMENT_METHOD), anyspendQuote: anyspendQuote, onTokenSelect: onTokenSelect })) : (_jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0, ease: "easeInOut" }, children: _jsx(PanelOnramp, { srcAmountOnRamp: srcAmount, setSrcAmountOnRamp: setSrcAmount, selectedPaymentMethod: selectedFiatPaymentMethod, setActivePanel: setActivePanel, _recipientAddress: selectedRecipientOrDefault, destinationToken: selectedDstToken, destinationChainId: selectedDstChainId, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, hideDstToken: true, destinationAmount: dstAmount, onDestinationTokenChange: () => { }, onDestinationChainChange: () => { }, fiatPaymentMethodIndex: PanelView.FIAT_PAYMENT_METHOD, recipientSelectionPanelIndex: PanelView.RECIPIENT_SELECTION, anyspendQuote: anyspendQuote, onShowPointsDetail: () => setActivePanel(PanelView.POINTS_DETAIL), onShowFeeDetail: () => setActivePanel(PanelView.FEE_DETAIL), customUsdInputValues: customUsdInputValues, customRecipientLabel: customRecipientLabel }) })), _jsx("div", { className: cn("relative -my-1 flex h-0 items-center justify-center", effectivePaymentType === "fiat" && "hidden"), children: _jsx(Button, { variant: "ghost", className: classes?.swapDirectionButton ||
|
|
237
|
+
"swap-direction-button border-as-stroke bg-as-surface-primary z-10 h-10 w-10 cursor-default rounded-xl border-2 sm:h-8 sm:w-8 sm:rounded-xl", children: _jsx("div", { className: "relative flex items-center justify-center transition-opacity", children: _jsx(ArrowDown, { className: "text-as-primary/50 h-5 w-5" }) }) }) }), effectivePaymentType === "crypto" && (_jsx(CryptoReceiveSection, { isDepositMode: false, isBuyMode: false, effectiveRecipientAddress: selectedRecipientOrDefault, recipientName: recipientName || undefined, customRecipientLabel: customRecipientLabel, onSelectRecipient: () => setActivePanel(PanelView.RECIPIENT_SELECTION), dstAmount: isSrcInputDirty && !destinationTokenAmount ? dstAmount : dstAmountInput, dstToken: selectedDstToken, dstTokenSymbol: DESTINATION_TOKEN_DETAILS.SYMBOL, dstTokenLogoURI: DESTINATION_TOKEN_DETAILS.LOGO_URI, selectedDstChainId: selectedDstChainId, setSelectedDstChainId: () => { }, setSelectedDstToken: () => { }, isSrcInputDirty: isSrcInputDirty, onChangeDstAmount: value => {
|
|
231
238
|
setIsSrcInputDirty(false);
|
|
232
239
|
setDstAmountInput(value);
|
|
233
240
|
}, disableAmountInput: !!destinationTokenAmount, anyspendQuote: isDirectTransfer ? undefined : anyspendQuote, onShowPointsDetail: isDirectTransfer ? undefined : () => setActivePanel(PanelView.POINTS_DETAIL), onShowFeeDetail: isDirectTransfer ? undefined : () => setActivePanel(PanelView.FEE_DETAIL) }))] }) }), _jsx(motion.div, { initial: { opacity: 0, y: 20, filter: "blur(10px)" }, animate: { opacity: 1, y: 0, filter: "blur(0px)" }, transition: { duration: 0.3, delay: 0.2, ease: "easeInOut" }, className: cn("mt-4 flex w-full max-w-[460px] flex-col gap-2"), children: slots.actionButton ? (slots.actionButton({
|
|
@@ -238,7 +245,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
238
245
|
})) : (_jsx(ShinyButton, { accentColor: "hsl(var(--as-brand))", disabled: btnInfo.disable, onClick: onMainButtonClick, className: (btnInfo.error && classes?.mainButtonError) ||
|
|
239
246
|
(btnInfo.disable && classes?.mainButtonDisabled) ||
|
|
240
247
|
classes?.mainButton ||
|
|
241
|
-
cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) })) }), gasPriceData && !isLoadingGas &&
|
|
248
|
+
cn("as-main-button relative w-full", btnInfo.error ? "!bg-as-red" : btnInfo.disable ? "!bg-as-on-surface-2" : "!bg-as-brand"), textClassName: cn(btnInfo.error ? "text-white" : btnInfo.disable ? "text-as-secondary" : "text-white"), children: _jsxs("div", { className: "flex items-center justify-center gap-2", children: [btnInfo.loading && _jsx(Loader2, { className: "h-4 w-4 animate-spin" }), btnInfo.text] }) })) }), gasPriceData && !isLoadingGas && effectivePaymentType === "crypto" && !isDirectTransfer && (_jsx(GasIndicator, { gasPrice: gasPriceData, className: classes?.gasIndicator || "mt-2 w-full" })), mainFooter ? mainFooter : null] }));
|
|
242
249
|
const handleCryptoOrder = async () => {
|
|
243
250
|
try {
|
|
244
251
|
const isDirectTransfer = isSameChainSameToken && allowDirectTransfer;
|
|
@@ -393,7 +400,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
393
400
|
toast.error("Failed to create order: " + err.message);
|
|
394
401
|
}
|
|
395
402
|
};
|
|
396
|
-
const orderDetailsView = (_jsx("div", { className: "mx-auto w-full max-w-[460px]", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod:
|
|
403
|
+
const orderDetailsView = (_jsx("div", { className: "mx-auto w-full max-w-[460px]", children: _jsx("div", { className: "relative flex flex-col gap-4", children: oat && (_jsx(OrderDetails, { mode: mode, order: oat.data.order, depositTxs: oat.data.depositTxs, relayTxs: oat.data.relayTxs, executeTx: oat.data.executeTx, refundTxs: oat.data.refundTxs, cryptoPaymentMethod: effectivePaymentType === "fiat" ? CryptoPaymentMethodType.NONE : effectiveCryptoPaymentMethod, selectedCryptoPaymentMethod: effectiveCryptoPaymentMethod, onPaymentMethodChange: setSelectedCryptoPaymentMethod, onBack: () => {
|
|
397
404
|
setOrderId(undefined);
|
|
398
405
|
setActivePanel(PanelView.MAIN);
|
|
399
406
|
}, disableUrlParamManagement: true, points: oat.data.points || undefined, returnToHomeUrl: returnToHomeUrl, returnHomeLabel: returnHomeLabel })) }) }));
|
|
@@ -411,7 +418,7 @@ function AnySpendCustomExactInInner({ loadOrder, mode = "modal", recipientAddres
|
|
|
411
418
|
setActivePanel(PanelView.MAIN);
|
|
412
419
|
}, srcAmountOnRamp: srcAmount }));
|
|
413
420
|
const pointsDetailView = (_jsx(PointsDetailPanel, { pointsAmount: anyspendQuote?.data?.pointsAmount || 0, onBack: () => setActivePanel(PanelView.MAIN) }));
|
|
414
|
-
const feeDetailView = anyspendQuote?.data?.fee ? (_jsx(FeeDetailPanel, { fee: anyspendQuote.data.fee, transactionAmountUsd:
|
|
421
|
+
const feeDetailView = anyspendQuote?.data?.fee ? (_jsx(FeeDetailPanel, { fee: anyspendQuote.data.fee, transactionAmountUsd: effectivePaymentType === "fiat"
|
|
415
422
|
? parseFloat(srcAmount)
|
|
416
423
|
: anyspendQuote.data.currencyIn?.amountUsd
|
|
417
424
|
? Number(anyspendQuote.data.currencyIn.amountUsd)
|
|
@@ -3,7 +3,7 @@ import { Skeleton, useAccountWallet, useSimBalance, useTokenData } from "../../.
|
|
|
3
3
|
import { cn } from "../../../shared/utils/cn.js";
|
|
4
4
|
import { NetworkArbitrumOne, NetworkBase, NetworkBinanceSmartChain, NetworkEthereum, NetworkOptimism, NetworkPolygonPos, } from "@web3icons/react";
|
|
5
5
|
import { ChevronRight } from "lucide-react";
|
|
6
|
-
import { useMemo, useState } from "react";
|
|
6
|
+
import { useEffect, useMemo, useState } from "react";
|
|
7
7
|
import { AnySpend } from "./AnySpend.js";
|
|
8
8
|
import { AnySpendCustomExactIn } from "./AnySpendCustomExactIn.js";
|
|
9
9
|
import { ChainWarningText } from "./common/WarningText.js";
|
|
@@ -99,11 +99,17 @@ export function AnySpendDeposit({ loadOrder, mode = "modal", recipientAddress, p
|
|
|
99
99
|
const depositClasses = classes?.deposit;
|
|
100
100
|
const { connectedEOAWallet } = useAccountWallet();
|
|
101
101
|
const eoaAddress = connectedEOAWallet?.getAccount()?.address;
|
|
102
|
+
const effectiveInitialPaymentType = !showFiatOption && initialPaymentType === "fiat" ? "crypto" : initialPaymentType;
|
|
102
103
|
// Determine if we should show chain selection
|
|
103
|
-
const shouldShowChainSelection = showChainSelection ?? (!initialSourceChainId && !
|
|
104
|
+
const shouldShowChainSelection = showChainSelection ?? (!initialSourceChainId && !effectiveInitialPaymentType);
|
|
104
105
|
const [step, setStep] = useState(shouldShowChainSelection ? "select-chain" : "deposit");
|
|
105
106
|
const [selectedChainId, setSelectedChainId] = useState(initialSourceChainId);
|
|
106
|
-
const [paymentType, setPaymentType] = useState(
|
|
107
|
+
const [paymentType, setPaymentType] = useState(effectiveInitialPaymentType ?? "crypto");
|
|
108
|
+
useEffect(() => {
|
|
109
|
+
if (!showFiatOption && paymentType === "fiat") {
|
|
110
|
+
setPaymentType("crypto");
|
|
111
|
+
}
|
|
112
|
+
}, [showFiatOption, paymentType]);
|
|
107
113
|
// Fetch destination token data
|
|
108
114
|
const { data: destinationTokenData } = useTokenData(destinationTokenChainId, destinationTokenAddress);
|
|
109
115
|
// Construct full destination token object
|
|
@@ -207,5 +213,5 @@ export function AnySpendDeposit({ loadOrder, mode = "modal", recipientAddress, p
|
|
|
207
213
|
// Deposit view
|
|
208
214
|
return (_jsxs("div", { className: depositClasses?.form || "anyspend-deposit anyspend-deposit-form relative", children: [shouldShowChainSelection && (_jsxs("button", { onClick: handleBack, className: depositClasses?.backButton ||
|
|
209
215
|
"anyspend-deposit-back-button text-as-secondary hover:text-as-primary absolute left-4 top-4 z-10 flex items-center gap-1", children: [_jsx("svg", { className: depositClasses?.backIcon || "anyspend-deposit-back-icon h-5 w-5", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M15 19l-7-7 7-7" }) }), _jsx("span", { className: depositClasses?.backText || "anyspend-deposit-back-text text-sm", children: "Back" })] })), onClose && (_jsx("button", { onClick: onClose, className: depositClasses?.closeButton ||
|
|
210
|
-
"anyspend-deposit-close-button text-as-secondary hover:text-as-primary absolute right-4 top-4 z-10", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: depositClasses?.formContent || cn("anyspend-deposit-form-content", shouldShowChainSelection && "pt-8"), children: isCustomDeposit ? (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, paymentType: paymentType, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: selectedChainId, destinationToken: destinationToken, destinationChainId: destinationTokenChainId, orderType: effectiveOrderType, minDestinationAmount: minDestinationAmount, header: header ?? defaultHeader, onSuccess: onSuccess, onOpenCustomModal: onOpenCustomModal, mainFooter: mainFooter, onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, preferEoa: preferEoa, customExactInConfig: depositContractConfig, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.customExactIn, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, slots: slots, content: content, theme: theme }, selectedChainId)) : (_jsx(AnySpend, { loadOrder: loadOrder, mode: mode, defaultActiveTab: paymentType, recipientAddress: recipientAddress, sourceChainId: selectedChainId, destinationTokenAddress: destinationTokenAddress, destinationTokenChainId: destinationTokenChainId, onSuccess: txHash => onSuccess?.(txHash ?? ""), onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, hideHeader: true, hideBottomNavigation: true, disableUrlParamManagement: true, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.anySpend, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, slots: slots, content: content, theme: theme }, selectedChainId)) }), _jsx(ChainWarningText, { chainId: destinationTokenChainId, classes: classes?.chainWarningText || { root: "px-4 pb-4" } })] }));
|
|
216
|
+
"anyspend-deposit-close-button text-as-secondary hover:text-as-primary absolute right-4 top-4 z-10", children: _jsx("svg", { className: "h-6 w-6", fill: "none", viewBox: "0 0 24 24", stroke: "currentColor", children: _jsx("path", { strokeLinecap: "round", strokeLinejoin: "round", strokeWidth: 2, d: "M6 18L18 6M6 6l12 12" }) }) })), _jsx("div", { className: depositClasses?.formContent || cn("anyspend-deposit-form-content", shouldShowChainSelection && "pt-8"), children: isCustomDeposit ? (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, paymentType: paymentType, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: selectedChainId, destinationToken: destinationToken, destinationChainId: destinationTokenChainId, orderType: effectiveOrderType, minDestinationAmount: minDestinationAmount, header: header ?? defaultHeader, onSuccess: onSuccess, onOpenCustomModal: onOpenCustomModal, mainFooter: mainFooter, onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, preferEoa: preferEoa, customExactInConfig: depositContractConfig, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.customExactIn, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }, selectedChainId)) : (_jsx(AnySpend, { loadOrder: loadOrder, mode: mode, defaultActiveTab: paymentType, recipientAddress: recipientAddress, sourceChainId: selectedChainId, destinationTokenAddress: destinationTokenAddress, destinationTokenChainId: destinationTokenChainId, onSuccess: txHash => onSuccess?.(txHash ?? ""), onTokenSelect: onTokenSelect, customUsdInputValues: customUsdInputValues, hideHeader: true, hideBottomNavigation: true, disableUrlParamManagement: true, returnToHomeUrl: returnToHomeUrl, customRecipientLabel: customRecipientLabel, returnHomeLabel: returnHomeLabel, classes: classes?.anySpend, allowDirectTransfer: allowDirectTransfer, destinationTokenAmount: destinationTokenAmount, callbackMetadata: callbackMetadata, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }, selectedChainId)) }), _jsx(ChainWarningText, { chainId: destinationTokenChainId, classes: classes?.chainWarningText || { root: "px-4 pb-4" } })] }));
|
|
211
217
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { components } from "../../../anyspend/types/api";
|
|
2
2
|
import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
|
|
3
|
-
export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, slots, content, theme, }: {
|
|
3
|
+
export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, showFiatOption, slots, content, theme, }: {
|
|
4
4
|
loadOrder?: string;
|
|
5
5
|
mode?: "modal" | "page";
|
|
6
6
|
recipientAddress: string;
|
|
@@ -11,6 +11,7 @@ export declare function AnySpendDepositUpside({ loadOrder, mode, recipientAddres
|
|
|
11
11
|
onSuccess?: (amount: string) => void;
|
|
12
12
|
/** Optional sender (payer) address — pre-fills token balances when the user address is known ahead of time */
|
|
13
13
|
senderAddress?: string;
|
|
14
|
+
showFiatOption?: boolean;
|
|
14
15
|
slots?: AnySpendSlots;
|
|
15
16
|
content?: AnySpendContent;
|
|
16
17
|
theme?: AnySpendTheme;
|
|
@@ -22,7 +22,7 @@ const DEPOSIT_FOR_FUNCTION_ABI = JSON.stringify([
|
|
|
22
22
|
type: "function",
|
|
23
23
|
},
|
|
24
24
|
]);
|
|
25
|
-
export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, slots, content, theme, }) {
|
|
25
|
+
export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddress, sourceTokenAddress, sourceTokenChainId, depositContractAddress, token, onSuccess, senderAddress, showFiatOption, slots, content, theme, }) {
|
|
26
26
|
if (!recipientAddress)
|
|
27
27
|
return null;
|
|
28
28
|
const header = () => (_jsx(_Fragment, { children: _jsx("div", { className: "from-b3-react-background to-as-on-surface-1 w-full rounded-t-lg bg-gradient-to-t", children: _jsx("div", { className: "mb-1 flex w-full flex-col items-center gap-2", children: _jsxs("span", { className: "font-sf-rounded text-2xl font-semibold", children: ["Swap & Deposit ", token.symbol] }) }) }) }));
|
|
@@ -34,5 +34,5 @@ export function AnySpendDepositUpside({ loadOrder, mode = "modal", recipientAddr
|
|
|
34
34
|
spenderAddress: depositContractAddress,
|
|
35
35
|
action: `deposit ${token.symbol}`,
|
|
36
36
|
};
|
|
37
|
-
return (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: sourceTokenChainId, destinationToken: token, destinationChainId: base.id, customExactInConfig: customExactInConfig, header: header, onSuccess: onSuccess, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
|
|
37
|
+
return (_jsx(AnySpendCustomExactIn, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, sourceTokenAddress: sourceTokenAddress, sourceTokenChainId: sourceTokenChainId, destinationToken: token, destinationChainId: base.id, customExactInConfig: customExactInConfig, header: header, onSuccess: onSuccess, senderAddress: senderAddress, showFiatOption: showFiatOption, slots: slots, content: content, theme: theme }));
|
|
38
38
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
|
|
2
|
-
export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }: {
|
|
2
|
+
export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, showFiatOption, }: {
|
|
3
3
|
loadOrder?: string;
|
|
4
4
|
mode?: "modal" | "page";
|
|
5
5
|
recipientAddress: string;
|
|
@@ -10,4 +10,5 @@ export declare function AnySpendStakeB3({ loadOrder, mode, recipientAddress, sta
|
|
|
10
10
|
slots?: AnySpendSlots;
|
|
11
11
|
content?: AnySpendContent;
|
|
12
12
|
theme?: AnySpendTheme;
|
|
13
|
+
showFiatOption?: boolean;
|
|
13
14
|
}): import("react/jsx-runtime").JSX.Element;
|
|
@@ -28,7 +28,7 @@ function generateEncodedDataForStakingB3(amount, beneficiary) {
|
|
|
28
28
|
});
|
|
29
29
|
return encodedData;
|
|
30
30
|
}
|
|
31
|
-
export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }) {
|
|
31
|
+
export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, showFiatOption, }) {
|
|
32
32
|
const hasMounted = useHasMounted();
|
|
33
33
|
const { setB3ModalOpen } = useModalStore();
|
|
34
34
|
// Wagmi hooks for direct staking
|
|
@@ -270,5 +270,5 @@ export function AnySpendStakeB3({ loadOrder, mode = "modal", recipientAddress, s
|
|
|
270
270
|
const encodedData = generateEncodedDataForStakingB3(userStakeAmount, recipientAddress);
|
|
271
271
|
return (_jsx(AnySpendCustom, { loadOrder: loadOrder, mode: mode, recipientAddress: recipientAddress, orderType: "custom", dstChainId: base.id, dstToken: B3_TOKEN, dstAmount: userStakeAmount, contractAddress: ERC20Staking, encodedData: encodedData, metadata: {
|
|
272
272
|
action: "stake B3",
|
|
273
|
-
}, header: header, onSuccess: onSuccess, showRecipient: true, senderAddress: senderAddress, slots: slots, content: content, theme: theme }));
|
|
273
|
+
}, header: header, onSuccess: onSuccess, showRecipient: true, senderAddress: senderAddress, slots: slots, content: content, theme: theme, showFiatOption: showFiatOption }));
|
|
274
274
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AnySpendContent, AnySpendSlots, AnySpendTheme } from "./types/customization";
|
|
2
|
-
export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAddress, sourceTokenChainId, recipientAddress, stakeAmount, onSuccess, senderAddress, slots, content, theme, }: {
|
|
2
|
+
export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAddress, sourceTokenChainId, recipientAddress, stakeAmount, onSuccess, senderAddress, showFiatOption, slots, content, theme, }: {
|
|
3
3
|
loadOrder?: string;
|
|
4
4
|
mode?: "modal" | "page";
|
|
5
5
|
sourceTokenAddress?: string;
|
|
@@ -9,6 +9,7 @@ export declare function AnySpendStakeB3ExactIn({ loadOrder, mode, sourceTokenAdd
|
|
|
9
9
|
onSuccess?: (amount: string) => void;
|
|
10
10
|
/** Optional sender (payer) address — pre-fills token balances when the user address is known ahead of time */
|
|
11
11
|
senderAddress?: string;
|
|
12
|
+
showFiatOption?: boolean;
|
|
12
13
|
slots?: AnySpendSlots;
|
|
13
14
|
content?: AnySpendContent;
|
|
14
15
|
theme?: AnySpendTheme;
|