@b3dotfun/sdk 0.1.70-alpha.2 → 0.1.70-alpha.21
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/README.md +3 -3
- package/constants/chains/b3Chain.js +3 -1
- package/dist/cjs/anyspend/constants/rpc.d.ts +3 -1
- package/dist/cjs/anyspend/constants/rpc.js +6 -2
- package/dist/cjs/anyspend/react/components/AnySpend.d.ts +9 -1
- package/dist/cjs/anyspend/react/components/AnySpend.js +123 -46
- package/dist/cjs/anyspend/react/components/AnySpendCustomExactIn.js +8 -10
- package/dist/cjs/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
- package/dist/cjs/anyspend/react/components/AnySpendDeposit.js +78 -25
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3.js +32 -13
- package/dist/cjs/anyspend/react/components/AnySpendStakeB3ExactIn.js +32 -10
- package/dist/cjs/anyspend/react/components/QRDeposit.d.ts +22 -3
- package/dist/cjs/anyspend/react/components/QRDeposit.js +25 -16
- package/dist/cjs/anyspend/react/components/checkout/CryptoPayPanel.js +18 -11
- package/dist/cjs/anyspend/react/components/common/PureTransferView.d.ts +30 -0
- package/dist/cjs/anyspend/react/components/common/PureTransferView.js +64 -0
- package/dist/cjs/anyspend/react/components/common/TokenBalance.js +4 -5
- package/dist/cjs/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/cjs/anyspend/utils/address.d.ts +2 -1
- package/dist/cjs/anyspend/utils/address.js +12 -9
- package/dist/cjs/anyspend/utils/chain.d.ts +84 -1
- package/dist/cjs/anyspend/utils/chain.js +73 -3
- 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 +51 -4
- package/dist/cjs/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +11 -0
- package/dist/cjs/global-account/react/components/B3Provider/B3ConfigProvider.js +12 -0
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
- package/dist/cjs/global-account/react/components/B3Provider/B3Provider.js +25 -3
- package/dist/cjs/global-account/react/components/B3Provider/BetterAuthProvider.js +45 -4
- package/dist/cjs/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
- package/dist/cjs/global-account/react/components/B3Provider/RelayKitProviderWrapper.js +11 -5
- package/dist/cjs/global-account/react/components/ManageAccount/ContentTokens.js +23 -15
- package/dist/cjs/global-account/react/components/ManageAccount/NFTContent.js +2 -2
- package/dist/cjs/global-account/react/components/ManageAccount/ProfileSection.js +8 -6
- package/dist/cjs/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
- package/dist/cjs/global-account/react/components/ManageAccount/TokenContent.js +17 -8
- package/dist/cjs/global-account/react/components/Send/Send.js +15 -11
- package/dist/cjs/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +3 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
- package/dist/cjs/global-account/react/components/SignInWithB3/components/AuthButton.js +2 -1
- package/dist/cjs/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +1 -0
- 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 +3 -3
- package/dist/cjs/global-account/react/components/index.d.ts +1 -1
- package/dist/cjs/global-account/react/components/index.js +3 -3
- package/dist/cjs/global-account/react/hooks/index.d.ts +2 -3
- package/dist/cjs/global-account/react/hooks/index.js +7 -10
- package/dist/cjs/global-account/react/hooks/useAuth.d.ts +5 -4
- package/dist/cjs/global-account/react/hooks/useAuth.js +1 -0
- package/dist/cjs/global-account/react/hooks/useAuthentication.d.ts +3 -2
- package/dist/cjs/global-account/react/hooks/useAuthentication.js +2 -1
- package/dist/cjs/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
- package/dist/cjs/global-account/react/hooks/useBetterAuth.js +7 -7
- package/dist/cjs/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/cjs/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
- package/dist/cjs/global-account/react/hooks/useFirstEOA.js +1 -0
- package/dist/cjs/global-account/react/hooks/useNativeBalance.js +2 -2
- package/dist/cjs/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
- package/dist/cjs/global-account/react/hooks/usePortfolioBalance.js +76 -0
- package/dist/cjs/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
- package/dist/cjs/global-account/react/hooks/usePortfolioCollectibles.js +178 -0
- 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.d.ts +1 -0
- package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +37 -27
- package/dist/cjs/global-account/react/stores/useModalStore.d.ts +14 -2
- 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 +30 -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/constants/index.d.ts +4 -0
- 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/cjs/shared/utils/zerionPositions.d.ts +96 -0
- package/dist/cjs/shared/utils/zerionPositions.js +188 -0
- package/dist/esm/anyspend/constants/rpc.d.ts +3 -1
- package/dist/esm/anyspend/constants/rpc.js +5 -1
- package/dist/esm/anyspend/react/components/AnySpend.d.ts +9 -1
- package/dist/esm/anyspend/react/components/AnySpend.js +124 -47
- package/dist/esm/anyspend/react/components/AnySpendCustomExactIn.js +9 -11
- package/dist/esm/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
- package/dist/esm/anyspend/react/components/AnySpendDeposit.js +80 -27
- package/dist/esm/anyspend/react/components/AnySpendStakeB3.js +33 -14
- package/dist/esm/anyspend/react/components/AnySpendStakeB3ExactIn.js +33 -11
- package/dist/esm/anyspend/react/components/QRDeposit.d.ts +22 -3
- package/dist/esm/anyspend/react/components/QRDeposit.js +27 -18
- package/dist/esm/anyspend/react/components/checkout/CryptoPayPanel.js +21 -14
- package/dist/esm/anyspend/react/components/common/PureTransferView.d.ts +30 -0
- package/dist/esm/anyspend/react/components/common/PureTransferView.js +61 -0
- package/dist/esm/anyspend/react/components/common/TokenBalance.js +6 -7
- package/dist/esm/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/esm/anyspend/utils/address.d.ts +2 -1
- package/dist/esm/anyspend/utils/address.js +9 -6
- package/dist/esm/anyspend/utils/chain.d.ts +84 -1
- package/dist/esm/anyspend/utils/chain.js +73 -5
- 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 +51 -5
- package/dist/esm/global-account/react/components/AvatarEditor/AvatarEditor.js +6 -11
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.d.ts +11 -0
- package/dist/esm/global-account/react/components/B3Provider/B3ConfigProvider.js +11 -0
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
- package/dist/esm/global-account/react/components/B3Provider/B3Provider.js +26 -4
- package/dist/esm/global-account/react/components/B3Provider/BetterAuthProvider.js +46 -5
- package/dist/esm/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
- package/dist/esm/global-account/react/components/B3Provider/RelayKitProviderWrapper.js +11 -5
- package/dist/esm/global-account/react/components/ManageAccount/ContentTokens.js +24 -16
- package/dist/esm/global-account/react/components/ManageAccount/NFTContent.js +3 -3
- package/dist/esm/global-account/react/components/ManageAccount/ProfileSection.js +9 -7
- package/dist/esm/global-account/react/components/ManageAccount/SettingsProfileCard.js +1 -1
- package/dist/esm/global-account/react/components/ManageAccount/TokenContent.js +18 -9
- package/dist/esm/global-account/react/components/Send/Send.js +16 -12
- package/dist/esm/global-account/react/components/SignInWithB3/BetterAuthSignIn.js +3 -1
- package/dist/esm/global-account/react/components/SignInWithB3/SignInWithB3Flow.js +1 -5
- package/dist/esm/global-account/react/components/SignInWithB3/components/AuthButton.js +2 -1
- package/dist/esm/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.js +1 -0
- 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 +3 -3
- package/dist/esm/global-account/react/components/index.d.ts +1 -1
- package/dist/esm/global-account/react/components/index.js +1 -1
- package/dist/esm/global-account/react/hooks/index.d.ts +2 -3
- package/dist/esm/global-account/react/hooks/index.js +2 -3
- package/dist/esm/global-account/react/hooks/useAuth.d.ts +5 -4
- package/dist/esm/global-account/react/hooks/useAuth.js +1 -0
- package/dist/esm/global-account/react/hooks/useAuthentication.d.ts +3 -2
- package/dist/esm/global-account/react/hooks/useAuthentication.js +2 -1
- package/dist/esm/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
- package/dist/esm/global-account/react/hooks/useBetterAuth.js +8 -8
- package/dist/esm/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/esm/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
- package/dist/esm/global-account/react/hooks/useFirstEOA.js +1 -0
- package/dist/esm/global-account/react/hooks/useNativeBalance.js +1 -1
- package/dist/esm/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
- package/dist/esm/global-account/react/hooks/usePortfolioBalance.js +72 -0
- package/dist/esm/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
- package/dist/esm/global-account/react/hooks/usePortfolioCollectibles.js +175 -0
- 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.d.ts +1 -0
- package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +37 -27
- package/dist/esm/global-account/react/stores/useModalStore.d.ts +14 -2
- 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 +30 -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/constants/index.d.ts +4 -0
- 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/esm/shared/utils/zerionPositions.d.ts +96 -0
- package/dist/esm/shared/utils/zerionPositions.js +180 -0
- package/dist/styles/index.css +1 -1
- package/dist/types/anyspend/constants/rpc.d.ts +3 -1
- package/dist/types/anyspend/react/components/AnySpend.d.ts +9 -1
- package/dist/types/anyspend/react/components/AnySpendDeposit.d.ts +15 -3
- package/dist/types/anyspend/react/components/QRDeposit.d.ts +22 -3
- package/dist/types/anyspend/react/components/common/PureTransferView.d.ts +30 -0
- package/dist/types/anyspend/react/hooks/useCreateDepositFirstOrder.d.ts +3 -3
- package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
- package/dist/types/anyspend/utils/address.d.ts +2 -1
- package/dist/types/anyspend/utils/chain.d.ts +84 -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 +11 -0
- package/dist/types/global-account/react/components/B3Provider/B3Provider.d.ts +12 -2
- package/dist/types/global-account/react/components/B3Provider/RelayKitProviderWrapper.d.ts +1 -2
- package/dist/types/global-account/react/components/SignInWithB3/utils/signInUtils.d.ts +3 -2
- package/dist/types/global-account/react/components/index.d.ts +1 -1
- package/dist/types/global-account/react/hooks/index.d.ts +2 -3
- package/dist/types/global-account/react/hooks/useAuth.d.ts +5 -4
- package/dist/types/global-account/react/hooks/useAuthentication.d.ts +3 -2
- package/dist/types/global-account/react/hooks/useBetterAuth.d.ts +1657 -22
- package/dist/types/global-account/react/hooks/useClient.d.ts +3 -3
- package/dist/types/global-account/react/hooks/useFirstEOA.d.ts +4 -7666
- package/dist/types/global-account/react/hooks/usePortfolioBalance.d.ts +15 -0
- package/dist/types/global-account/react/hooks/usePortfolioCollectibles.d.ts +12 -0
- 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/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
- package/dist/types/global-account/react/stores/useModalStore.d.ts +14 -2
- 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 +30 -54
- package/dist/types/shared/constants/chains/supported.d.ts +1 -49
- package/dist/types/shared/constants/index.d.ts +4 -0
- package/dist/types/shared/utils/chain-transformers.d.ts +4 -4
- package/dist/types/shared/utils/upload.d.ts +9 -0
- package/dist/types/shared/utils/zerionPositions.d.ts +96 -0
- package/node_modules/@b3/chain-registry/chains.json +1225 -0
- package/node_modules/@b3/chain-registry/dist/chains.json +1225 -0
- package/node_modules/@b3/chain-registry/dist/index.cjs +1676 -0
- package/node_modules/@b3/chain-registry/dist/index.d.cts +195 -0
- package/node_modules/@b3/chain-registry/dist/index.d.ts +195 -0
- package/node_modules/@b3/chain-registry/dist/index.mjs +1604 -0
- package/node_modules/@b3/chain-registry/dist/src/index.d.ts +193 -0
- package/node_modules/@b3/chain-registry/dist/src/index.js +408 -0
- package/node_modules/@b3/chain-registry/package.json +66 -0
- package/node_modules/@b3/chain-registry/src/index.test.ts +432 -0
- package/node_modules/@b3/chain-registry/src/index.ts +672 -0
- package/package.json +81 -30
- package/src/anyspend/README.md +2 -2
- package/src/anyspend/constants/rpc.ts +5 -2
- package/src/anyspend/docs/components.md +6 -6
- package/src/anyspend/docs/contributing.md +1 -1
- package/src/anyspend/docs/hooks.md +3 -3
- package/src/anyspend/docs/installation.md +2 -2
- package/src/anyspend/react/components/AnySpend.tsx +163 -47
- package/src/anyspend/react/components/AnySpendCustomExactIn.tsx +10 -11
- package/src/anyspend/react/components/AnySpendDeposit.tsx +130 -31
- package/src/anyspend/react/components/AnySpendStakeB3.tsx +55 -14
- package/src/anyspend/react/components/AnySpendStakeB3ExactIn.tsx +55 -11
- package/src/anyspend/react/components/QRDeposit.tsx +101 -22
- package/src/anyspend/react/components/__tests__/QRDeposit.test.tsx +331 -0
- package/src/anyspend/react/components/checkout/CryptoPayPanel.tsx +38 -16
- package/src/anyspend/react/components/common/PureTransferView.tsx +212 -0
- package/src/anyspend/react/components/common/TokenBalance.tsx +10 -7
- package/src/anyspend/react/hooks/useAnyspendQuote.ts +13 -13
- package/src/anyspend/react/hooks/useCreateDepositFirstOrder.ts +4 -4
- package/src/anyspend/services/gas.test.ts +95 -18
- package/src/anyspend/types/api_req_res.ts +10 -5
- package/src/anyspend/utils/__tests__/address.test.ts +39 -0
- package/src/anyspend/utils/__tests__/deprecatedChains.test.ts +44 -0
- package/src/anyspend/utils/__tests__/toRegistryChainId.test.ts +17 -0
- package/src/anyspend/utils/address.ts +8 -6
- package/src/anyspend/utils/chain.ts +79 -3
- 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 +74 -9
- package/src/global-account/react/components/AvatarEditor/AvatarEditor.tsx +6 -11
- package/src/global-account/react/components/B3Provider/B3ConfigProvider.tsx +12 -0
- package/src/global-account/react/components/B3Provider/B3Provider.tsx +40 -4
- package/src/global-account/react/components/B3Provider/BetterAuthProvider.tsx +51 -5
- package/src/global-account/react/components/B3Provider/RelayKitProviderWrapper.tsx +11 -11
- package/src/global-account/react/components/ManageAccount/ContentTokens.tsx +50 -21
- package/src/global-account/react/components/ManageAccount/NFTContent.tsx +5 -3
- package/src/global-account/react/components/ManageAccount/ProfileSection.tsx +10 -6
- package/src/global-account/react/components/ManageAccount/SettingsProfileCard.tsx +1 -1
- package/src/global-account/react/components/ManageAccount/TokenContent.tsx +22 -9
- package/src/global-account/react/components/Send/Send.tsx +39 -15
- package/src/global-account/react/components/SignInWithB3/BetterAuthSignIn.tsx +12 -1
- package/src/global-account/react/components/SignInWithB3/SignInWithB3Flow.tsx +1 -4
- package/src/global-account/react/components/SignInWithB3/components/AuthButton.tsx +9 -1
- package/src/global-account/react/components/SignInWithB3/steps/LoginStepBetterAuth.tsx +1 -0
- package/src/global-account/react/components/SignInWithB3/utils/signInUtils.ts +4 -4
- package/src/global-account/react/components/index.ts +1 -1
- package/src/global-account/react/components/ui/button.tsx +1 -2
- package/src/global-account/react/hooks/__tests__/useUnifiedChainSwitchAndExecute.test.tsx +156 -0
- package/src/global-account/react/hooks/index.ts +2 -3
- package/src/global-account/react/hooks/useAuth.ts +5 -4
- package/src/global-account/react/hooks/useAuthentication.ts +5 -4
- package/src/global-account/react/hooks/useBetterAuth.ts +10 -10
- package/src/global-account/react/hooks/useClient.ts +11 -2
- package/src/global-account/react/hooks/useFirstEOA.tsx +9 -2
- package/src/global-account/react/hooks/useNativeBalance.tsx +1 -1
- package/src/global-account/react/hooks/usePortfolioBalance.ts +89 -0
- package/src/global-account/react/hooks/usePortfolioCollectibles.ts +212 -0
- 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 +47 -31
- package/src/global-account/react/stores/useModalStore.ts +14 -2
- 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/constants/index.ts +8 -0
- package/src/shared/react/hooks/__tests__/useCurrencyConversion.test.ts +54 -43
- package/src/shared/utils/__tests__/zerionPositions.test.ts +248 -0
- 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/shared/utils/zerionPositions.ts +247 -0
- package/src/styles/index.css +27 -0
- 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/react/hooks/useSimBalance.d.ts +0 -59
- package/dist/cjs/global-account/react/hooks/useSimBalance.js +0 -98
- package/dist/cjs/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
- package/dist/cjs/global-account/react/hooks/useSimCollectibles.js +0 -190
- package/dist/cjs/global-account/react/utils/simdune.d.ts +0 -7
- package/dist/cjs/global-account/react/utils/simdune.js +0 -21
- 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/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/react/hooks/useSimBalance.d.ts +0 -59
- package/dist/esm/global-account/react/hooks/useSimBalance.js +0 -93
- package/dist/esm/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
- package/dist/esm/global-account/react/hooks/useSimCollectibles.js +0 -187
- package/dist/esm/global-account/react/utils/simdune.d.ts +0 -7
- package/dist/esm/global-account/react/utils/simdune.js +0 -17
- 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/SignInWithB3/SignInWithB3Privy.d.ts +0 -10
- package/dist/types/global-account/react/hooks/useHandleConnectWithPrivy.d.ts +0 -11
- package/dist/types/global-account/react/hooks/useSimBalance.d.ts +0 -59
- package/dist/types/global-account/react/hooks/useSimCollectibles.d.ts +0 -45
- package/dist/types/global-account/react/utils/simdune.d.ts +0 -7
- package/dist/types/global-account/types/chain-networks.d.ts +0 -44
- 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/react/hooks/useSimBalance.ts +0 -164
- package/src/global-account/react/hooks/useSimCollectibles.ts +0 -238
- package/src/global-account/react/utils/simdune.ts +0 -20
- package/src/global-account/types/chain-networks.ts +0 -54
- package/src/shared/generated/chain-networks.json +0 -684
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
interface ManualToken {
|
|
2
|
+
address: `0x${string}`;
|
|
3
|
+
symbol: string;
|
|
4
|
+
decimals: number;
|
|
5
|
+
name: string;
|
|
6
|
+
logoUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Known integration tags that can appear in `ChainDefinition.integrations`.
|
|
10
|
+
* Adding a new integration → extend this union. Consumers calling
|
|
11
|
+
* `chainsByIntegration("foo")` get autocomplete + typo safety.
|
|
12
|
+
*/
|
|
13
|
+
type KnownIntegration = "aerodrome" | "anyspend" | "cow-swap" | "evm-log" | "morpho" | "railgun" | "x402" | "zerodev";
|
|
14
|
+
/** A chain's canonical/hub stablecoin(s). Bounded (1–3 per chain), not a general token registry —
|
|
15
|
+
* the first entry is the chain's primary quote stablecoin. */
|
|
16
|
+
interface StablecoinRef {
|
|
17
|
+
symbol: string;
|
|
18
|
+
address: string;
|
|
19
|
+
}
|
|
20
|
+
interface ChainDefinition {
|
|
21
|
+
chainId: number;
|
|
22
|
+
key: string;
|
|
23
|
+
name: string;
|
|
24
|
+
network: string;
|
|
25
|
+
/**
|
|
26
|
+
* DexScreener API chain id. Set explicitly for every registry chain known to
|
|
27
|
+
* be supported, even when equal to `network`; absence leaves provider routing
|
|
28
|
+
* opaque instead of guessing a slug.
|
|
29
|
+
*/
|
|
30
|
+
dexscreenerNetwork?: string;
|
|
31
|
+
type: "evm" | "solana";
|
|
32
|
+
isTestnet: boolean;
|
|
33
|
+
integrations: KnownIntegration[];
|
|
34
|
+
/** Canonical stablecoins on this chain; `stablecoins[0]` is the hub. Optional — filled per chain
|
|
35
|
+
* as needed (Robinhood/4663 → USDG for B3-5081). TS-only; Go does not consume it. */
|
|
36
|
+
stablecoins?: StablecoinRef[];
|
|
37
|
+
nativeCurrency: {
|
|
38
|
+
name: string;
|
|
39
|
+
symbol: string;
|
|
40
|
+
decimals: number;
|
|
41
|
+
};
|
|
42
|
+
explorer: string;
|
|
43
|
+
rpcEnvKey: string | null;
|
|
44
|
+
fallbackRpc: string | null;
|
|
45
|
+
quicknodeSlug: string | null;
|
|
46
|
+
quicknodeRpcPath?: string;
|
|
47
|
+
coingecko: {
|
|
48
|
+
platform: string;
|
|
49
|
+
nativeCoinId: string;
|
|
50
|
+
} | null;
|
|
51
|
+
/**
|
|
52
|
+
* GeckoTerminal network slug (differs from `coingecko.platform`: GT uses
|
|
53
|
+
* "eth", CoinGecko uses "ethereum"). Used for on-chain pool lookups and
|
|
54
|
+
* OHLCV charts. Null when GeckoTerminal does not index this chain.
|
|
55
|
+
*/
|
|
56
|
+
geckoTerminalNetwork?: string | null;
|
|
57
|
+
trustwalletSlug: string | null;
|
|
58
|
+
logoUrl: string | null;
|
|
59
|
+
tags: string[];
|
|
60
|
+
manualTokens?: ManualToken[];
|
|
61
|
+
/**
|
|
62
|
+
* Wrapped-native token address (ERC-20 or SPL).
|
|
63
|
+
* Used for market lookups on the native coin and for DEX routing that needs
|
|
64
|
+
* a wrapped form of the gas token.
|
|
65
|
+
*/
|
|
66
|
+
wrappedNative?: string;
|
|
67
|
+
wrappedNativeCurrency?: {
|
|
68
|
+
name: string;
|
|
69
|
+
symbol: string;
|
|
70
|
+
decimals: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
type TokenIdentityKind = "native" | "wrapped-native" | "contract";
|
|
74
|
+
type TokenIdentityMatch = "canonical" | "exact" | "ranked";
|
|
75
|
+
type PairTokenSide = "base" | "quote";
|
|
76
|
+
declare const TOKEN_RESOLVER_SCHEMA_VERSION: 1;
|
|
77
|
+
interface TokenResolverContractEnvelope {
|
|
78
|
+
schemaVersion: typeof TOKEN_RESOLVER_SCHEMA_VERSION;
|
|
79
|
+
}
|
|
80
|
+
interface ResolvedTokenIdentity {
|
|
81
|
+
kind: TokenIdentityKind;
|
|
82
|
+
matchedBy: TokenIdentityMatch;
|
|
83
|
+
chainId: string;
|
|
84
|
+
address: string | null;
|
|
85
|
+
marketAddress: string;
|
|
86
|
+
name: string;
|
|
87
|
+
symbol: string;
|
|
88
|
+
nativeSymbol: string | null;
|
|
89
|
+
}
|
|
90
|
+
interface TokenIdentityCandidate {
|
|
91
|
+
chainId: string;
|
|
92
|
+
/** DexScreener provider chain id used for follow-up market/detail requests. */
|
|
93
|
+
providerChainId?: string;
|
|
94
|
+
tokenAddress: string;
|
|
95
|
+
name: string;
|
|
96
|
+
symbol: string;
|
|
97
|
+
pairSide: PairTokenSide;
|
|
98
|
+
identity: ResolvedTokenIdentity;
|
|
99
|
+
}
|
|
100
|
+
interface NativeAssetDefinition {
|
|
101
|
+
chainId: number;
|
|
102
|
+
chain: string;
|
|
103
|
+
dexscreenerChain: string;
|
|
104
|
+
name: string;
|
|
105
|
+
symbol: string;
|
|
106
|
+
decimals: number;
|
|
107
|
+
wrapped: {
|
|
108
|
+
address: string;
|
|
109
|
+
name: string;
|
|
110
|
+
symbol: string;
|
|
111
|
+
decimals: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
declare const chains: ChainDefinition[];
|
|
115
|
+
interface DexScreenerChainIdentity {
|
|
116
|
+
/** Canonical B3 chain id for known chains; opaque provider id otherwise. */
|
|
117
|
+
identityChainId: string;
|
|
118
|
+
/** Exact DexScreener path/query chain id. */
|
|
119
|
+
providerChainId: string;
|
|
120
|
+
chainType: ChainDefinition["type"] | null;
|
|
121
|
+
registryChainId: number | null;
|
|
122
|
+
}
|
|
123
|
+
declare function resolveChainIdentifier(value: string): ChainDefinition | null;
|
|
124
|
+
declare function chainTypeForIdentifier(value: string): ChainDefinition["type"] | null;
|
|
125
|
+
/**
|
|
126
|
+
* Translate any registry alias to its DexScreener id while preserving valid
|
|
127
|
+
* provider-native ids for chains the local registry does not know.
|
|
128
|
+
*/
|
|
129
|
+
declare function resolveDexScreenerChainIdentifier(value: string): DexScreenerChainIdentity | null;
|
|
130
|
+
declare function validateChainDefinitions(definitions: readonly ChainDefinition[]): ReadonlyMap<string, ChainDefinition>;
|
|
131
|
+
declare function isSolanaAddress(value: string): boolean;
|
|
132
|
+
declare function isEvmTokenAddress(value: string): boolean;
|
|
133
|
+
declare function tokenAddressFamily(value: string): ChainDefinition["type"] | null;
|
|
134
|
+
/** Address/coin identifier accepted from a bounded DexScreener provider row. */
|
|
135
|
+
declare function isProviderTokenAddress(value: string): boolean;
|
|
136
|
+
declare const nativeAssets: readonly NativeAssetDefinition[];
|
|
137
|
+
/** Solana asset identities whose ticker/name may short-circuit text search.
|
|
138
|
+
* Deliberately narrower than `nativeAssets`: B3-5071 must not change EVM
|
|
139
|
+
* ticker routing while establishing canonical SOL/wSOL resolution. */
|
|
140
|
+
declare const CANONICAL_NAME_ASSETS: readonly NativeAssetDefinition[];
|
|
141
|
+
declare function matchCanonicalNativeAssetText(asset: NativeAssetDefinition, value: string): "native" | "wrapped-native" | null;
|
|
142
|
+
declare const SOLANA_NATIVE_ASSET: NativeAssetDefinition;
|
|
143
|
+
declare function createNativeTokenIdentity(asset: NativeAssetDefinition): ResolvedTokenIdentity;
|
|
144
|
+
declare function createWrappedNativeTokenIdentity(asset: NativeAssetDefinition, matchedBy: "canonical" | "exact"): ResolvedTokenIdentity;
|
|
145
|
+
declare function looksLikeTokenAddress(value: string): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* User input likely to be a provider token address. Canonical EVM/Solana
|
|
148
|
+
* formats and explicit namespaced coin types qualify; arbitrary long labels do not.
|
|
149
|
+
*/
|
|
150
|
+
declare function looksLikeProviderTokenAddress(value: string): boolean;
|
|
151
|
+
declare function isTokenAddressForChain(chainId: string, value: string): boolean;
|
|
152
|
+
declare function tokenAddressKey(chainId: string, value: string): string;
|
|
153
|
+
declare function isResolvedTokenIdentity(value: unknown): value is ResolvedTokenIdentity;
|
|
154
|
+
declare function isRegistryResolvedTokenIdentity(value: unknown): value is ResolvedTokenIdentity;
|
|
155
|
+
declare function isTokenIdentityCandidate(value: unknown): value is TokenIdentityCandidate;
|
|
156
|
+
declare function isRegistryTokenIdentityCandidate(value: unknown): value is TokenIdentityCandidate;
|
|
157
|
+
declare const evmChains: ChainDefinition[];
|
|
158
|
+
declare const chainById: Map<number, ChainDefinition>;
|
|
159
|
+
declare const CHAIN_IDS: Record<string, number>;
|
|
160
|
+
declare const CHAIN_NAMES: Record<number, string>;
|
|
161
|
+
declare const CHAIN_ID_TO_NETWORK: Record<number, string>;
|
|
162
|
+
declare const FALLBACK_RPC_URLS: Record<number, string>;
|
|
163
|
+
declare const BLOCK_EXPLORERS: Record<number, string>;
|
|
164
|
+
declare const COINGECKO_MAPPINGS: Record<number, {
|
|
165
|
+
platform: string;
|
|
166
|
+
nativeCoinId: string;
|
|
167
|
+
}>;
|
|
168
|
+
declare const TRUSTWALLET_SLUGS: Record<number, string>;
|
|
169
|
+
declare const CHAIN_TAG_MAP: Record<string, number>;
|
|
170
|
+
declare const LOGO_URLS: Record<number, string>;
|
|
171
|
+
declare function buildQuicknodeUrl(subdomain: string, key: string, chain: ChainDefinition): string | null;
|
|
172
|
+
declare function buildQuicknodeRpcMap(subdomain: string, key: string): Record<number, string>;
|
|
173
|
+
declare function chainsByIntegration(integration: KnownIntegration): ChainDefinition[];
|
|
174
|
+
declare function chainIdsByIntegration(integration: KnownIntegration): number[];
|
|
175
|
+
declare function chainNamesByIntegration(integration: KnownIntegration): Record<number, string>;
|
|
176
|
+
declare const ZERODEV_SUPPORTED_CHAINS: ChainDefinition[];
|
|
177
|
+
/**
|
|
178
|
+
* Chains tagged with the "anyspend" integration AND of EVM type — the set
|
|
179
|
+
* consumed by SDK `supportedChains` / `supportedChainsTW` for AnySpend's
|
|
180
|
+
* wallet-switch gate (`useUnifiedChainSwitchAndExecute`). Solana (also tagged
|
|
181
|
+
* anyspend) is excluded here because it's handled by Phantom-based flows that
|
|
182
|
+
* key off `RELAY_SOLANA_MAINNET_CHAIN_ID`, not viem.
|
|
183
|
+
*/
|
|
184
|
+
declare const ANYSPEND_EVM_CHAINS: ChainDefinition[];
|
|
185
|
+
/**
|
|
186
|
+
* Chain IDs that declare `manualTokens` — their holdings must be enumerated
|
|
187
|
+
* from that list rather than discovered, so balance/metadata for them comes
|
|
188
|
+
* from RPC + CoinGecko instead of a portfolio indexer.
|
|
189
|
+
*/
|
|
190
|
+
declare const MANUAL_CHAIN_IDS: ReadonlySet<number>;
|
|
191
|
+
declare function hasManualTokens(chainId: number): boolean;
|
|
192
|
+
declare function getManualTokens(chainId: number): ManualToken[];
|
|
193
|
+
declare function findManualToken(chainId: number, address: string): ManualToken | null;
|
|
194
|
+
|
|
195
|
+
export { ANYSPEND_EVM_CHAINS, BLOCK_EXPLORERS, CANONICAL_NAME_ASSETS, CHAIN_IDS, CHAIN_ID_TO_NETWORK, CHAIN_NAMES, CHAIN_TAG_MAP, COINGECKO_MAPPINGS, type ChainDefinition, type DexScreenerChainIdentity, FALLBACK_RPC_URLS, type KnownIntegration, LOGO_URLS, MANUAL_CHAIN_IDS, type ManualToken, type NativeAssetDefinition, type PairTokenSide, type ResolvedTokenIdentity, SOLANA_NATIVE_ASSET, type StablecoinRef, TOKEN_RESOLVER_SCHEMA_VERSION, TRUSTWALLET_SLUGS, type TokenIdentityCandidate, type TokenIdentityKind, type TokenIdentityMatch, type TokenResolverContractEnvelope, ZERODEV_SUPPORTED_CHAINS, buildQuicknodeRpcMap, buildQuicknodeUrl, chainById, chainIdsByIntegration, chainNamesByIntegration, chainTypeForIdentifier, chains, chainsByIntegration, createNativeTokenIdentity, createWrappedNativeTokenIdentity, evmChains, findManualToken, getManualTokens, hasManualTokens, isEvmTokenAddress, isProviderTokenAddress, isRegistryResolvedTokenIdentity, isRegistryTokenIdentityCandidate, isResolvedTokenIdentity, isSolanaAddress, isTokenAddressForChain, isTokenIdentityCandidate, looksLikeProviderTokenAddress, looksLikeTokenAddress, matchCanonicalNativeAssetText, nativeAssets, resolveChainIdentifier, resolveDexScreenerChainIdentifier, tokenAddressFamily, tokenAddressKey, validateChainDefinitions };
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
interface ManualToken {
|
|
2
|
+
address: `0x${string}`;
|
|
3
|
+
symbol: string;
|
|
4
|
+
decimals: number;
|
|
5
|
+
name: string;
|
|
6
|
+
logoUrl?: string;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Known integration tags that can appear in `ChainDefinition.integrations`.
|
|
10
|
+
* Adding a new integration → extend this union. Consumers calling
|
|
11
|
+
* `chainsByIntegration("foo")` get autocomplete + typo safety.
|
|
12
|
+
*/
|
|
13
|
+
type KnownIntegration = "aerodrome" | "anyspend" | "cow-swap" | "evm-log" | "morpho" | "railgun" | "x402" | "zerodev";
|
|
14
|
+
/** A chain's canonical/hub stablecoin(s). Bounded (1–3 per chain), not a general token registry —
|
|
15
|
+
* the first entry is the chain's primary quote stablecoin. */
|
|
16
|
+
interface StablecoinRef {
|
|
17
|
+
symbol: string;
|
|
18
|
+
address: string;
|
|
19
|
+
}
|
|
20
|
+
interface ChainDefinition {
|
|
21
|
+
chainId: number;
|
|
22
|
+
key: string;
|
|
23
|
+
name: string;
|
|
24
|
+
network: string;
|
|
25
|
+
/**
|
|
26
|
+
* DexScreener API chain id. Set explicitly for every registry chain known to
|
|
27
|
+
* be supported, even when equal to `network`; absence leaves provider routing
|
|
28
|
+
* opaque instead of guessing a slug.
|
|
29
|
+
*/
|
|
30
|
+
dexscreenerNetwork?: string;
|
|
31
|
+
type: "evm" | "solana";
|
|
32
|
+
isTestnet: boolean;
|
|
33
|
+
integrations: KnownIntegration[];
|
|
34
|
+
/** Canonical stablecoins on this chain; `stablecoins[0]` is the hub. Optional — filled per chain
|
|
35
|
+
* as needed (Robinhood/4663 → USDG for B3-5081). TS-only; Go does not consume it. */
|
|
36
|
+
stablecoins?: StablecoinRef[];
|
|
37
|
+
nativeCurrency: {
|
|
38
|
+
name: string;
|
|
39
|
+
symbol: string;
|
|
40
|
+
decimals: number;
|
|
41
|
+
};
|
|
42
|
+
explorer: string;
|
|
43
|
+
rpcEnvKey: string | null;
|
|
44
|
+
fallbackRpc: string | null;
|
|
45
|
+
quicknodeSlug: string | null;
|
|
46
|
+
quicknodeRpcPath?: string;
|
|
47
|
+
coingecko: {
|
|
48
|
+
platform: string;
|
|
49
|
+
nativeCoinId: string;
|
|
50
|
+
} | null;
|
|
51
|
+
/**
|
|
52
|
+
* GeckoTerminal network slug (differs from `coingecko.platform`: GT uses
|
|
53
|
+
* "eth", CoinGecko uses "ethereum"). Used for on-chain pool lookups and
|
|
54
|
+
* OHLCV charts. Null when GeckoTerminal does not index this chain.
|
|
55
|
+
*/
|
|
56
|
+
geckoTerminalNetwork?: string | null;
|
|
57
|
+
trustwalletSlug: string | null;
|
|
58
|
+
logoUrl: string | null;
|
|
59
|
+
tags: string[];
|
|
60
|
+
manualTokens?: ManualToken[];
|
|
61
|
+
/**
|
|
62
|
+
* Wrapped-native token address (ERC-20 or SPL).
|
|
63
|
+
* Used for market lookups on the native coin and for DEX routing that needs
|
|
64
|
+
* a wrapped form of the gas token.
|
|
65
|
+
*/
|
|
66
|
+
wrappedNative?: string;
|
|
67
|
+
wrappedNativeCurrency?: {
|
|
68
|
+
name: string;
|
|
69
|
+
symbol: string;
|
|
70
|
+
decimals: number;
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
type TokenIdentityKind = "native" | "wrapped-native" | "contract";
|
|
74
|
+
type TokenIdentityMatch = "canonical" | "exact" | "ranked";
|
|
75
|
+
type PairTokenSide = "base" | "quote";
|
|
76
|
+
declare const TOKEN_RESOLVER_SCHEMA_VERSION: 1;
|
|
77
|
+
interface TokenResolverContractEnvelope {
|
|
78
|
+
schemaVersion: typeof TOKEN_RESOLVER_SCHEMA_VERSION;
|
|
79
|
+
}
|
|
80
|
+
interface ResolvedTokenIdentity {
|
|
81
|
+
kind: TokenIdentityKind;
|
|
82
|
+
matchedBy: TokenIdentityMatch;
|
|
83
|
+
chainId: string;
|
|
84
|
+
address: string | null;
|
|
85
|
+
marketAddress: string;
|
|
86
|
+
name: string;
|
|
87
|
+
symbol: string;
|
|
88
|
+
nativeSymbol: string | null;
|
|
89
|
+
}
|
|
90
|
+
interface TokenIdentityCandidate {
|
|
91
|
+
chainId: string;
|
|
92
|
+
/** DexScreener provider chain id used for follow-up market/detail requests. */
|
|
93
|
+
providerChainId?: string;
|
|
94
|
+
tokenAddress: string;
|
|
95
|
+
name: string;
|
|
96
|
+
symbol: string;
|
|
97
|
+
pairSide: PairTokenSide;
|
|
98
|
+
identity: ResolvedTokenIdentity;
|
|
99
|
+
}
|
|
100
|
+
interface NativeAssetDefinition {
|
|
101
|
+
chainId: number;
|
|
102
|
+
chain: string;
|
|
103
|
+
dexscreenerChain: string;
|
|
104
|
+
name: string;
|
|
105
|
+
symbol: string;
|
|
106
|
+
decimals: number;
|
|
107
|
+
wrapped: {
|
|
108
|
+
address: string;
|
|
109
|
+
name: string;
|
|
110
|
+
symbol: string;
|
|
111
|
+
decimals: number;
|
|
112
|
+
};
|
|
113
|
+
}
|
|
114
|
+
declare const chains: ChainDefinition[];
|
|
115
|
+
interface DexScreenerChainIdentity {
|
|
116
|
+
/** Canonical B3 chain id for known chains; opaque provider id otherwise. */
|
|
117
|
+
identityChainId: string;
|
|
118
|
+
/** Exact DexScreener path/query chain id. */
|
|
119
|
+
providerChainId: string;
|
|
120
|
+
chainType: ChainDefinition["type"] | null;
|
|
121
|
+
registryChainId: number | null;
|
|
122
|
+
}
|
|
123
|
+
declare function resolveChainIdentifier(value: string): ChainDefinition | null;
|
|
124
|
+
declare function chainTypeForIdentifier(value: string): ChainDefinition["type"] | null;
|
|
125
|
+
/**
|
|
126
|
+
* Translate any registry alias to its DexScreener id while preserving valid
|
|
127
|
+
* provider-native ids for chains the local registry does not know.
|
|
128
|
+
*/
|
|
129
|
+
declare function resolveDexScreenerChainIdentifier(value: string): DexScreenerChainIdentity | null;
|
|
130
|
+
declare function validateChainDefinitions(definitions: readonly ChainDefinition[]): ReadonlyMap<string, ChainDefinition>;
|
|
131
|
+
declare function isSolanaAddress(value: string): boolean;
|
|
132
|
+
declare function isEvmTokenAddress(value: string): boolean;
|
|
133
|
+
declare function tokenAddressFamily(value: string): ChainDefinition["type"] | null;
|
|
134
|
+
/** Address/coin identifier accepted from a bounded DexScreener provider row. */
|
|
135
|
+
declare function isProviderTokenAddress(value: string): boolean;
|
|
136
|
+
declare const nativeAssets: readonly NativeAssetDefinition[];
|
|
137
|
+
/** Solana asset identities whose ticker/name may short-circuit text search.
|
|
138
|
+
* Deliberately narrower than `nativeAssets`: B3-5071 must not change EVM
|
|
139
|
+
* ticker routing while establishing canonical SOL/wSOL resolution. */
|
|
140
|
+
declare const CANONICAL_NAME_ASSETS: readonly NativeAssetDefinition[];
|
|
141
|
+
declare function matchCanonicalNativeAssetText(asset: NativeAssetDefinition, value: string): "native" | "wrapped-native" | null;
|
|
142
|
+
declare const SOLANA_NATIVE_ASSET: NativeAssetDefinition;
|
|
143
|
+
declare function createNativeTokenIdentity(asset: NativeAssetDefinition): ResolvedTokenIdentity;
|
|
144
|
+
declare function createWrappedNativeTokenIdentity(asset: NativeAssetDefinition, matchedBy: "canonical" | "exact"): ResolvedTokenIdentity;
|
|
145
|
+
declare function looksLikeTokenAddress(value: string): boolean;
|
|
146
|
+
/**
|
|
147
|
+
* User input likely to be a provider token address. Canonical EVM/Solana
|
|
148
|
+
* formats and explicit namespaced coin types qualify; arbitrary long labels do not.
|
|
149
|
+
*/
|
|
150
|
+
declare function looksLikeProviderTokenAddress(value: string): boolean;
|
|
151
|
+
declare function isTokenAddressForChain(chainId: string, value: string): boolean;
|
|
152
|
+
declare function tokenAddressKey(chainId: string, value: string): string;
|
|
153
|
+
declare function isResolvedTokenIdentity(value: unknown): value is ResolvedTokenIdentity;
|
|
154
|
+
declare function isRegistryResolvedTokenIdentity(value: unknown): value is ResolvedTokenIdentity;
|
|
155
|
+
declare function isTokenIdentityCandidate(value: unknown): value is TokenIdentityCandidate;
|
|
156
|
+
declare function isRegistryTokenIdentityCandidate(value: unknown): value is TokenIdentityCandidate;
|
|
157
|
+
declare const evmChains: ChainDefinition[];
|
|
158
|
+
declare const chainById: Map<number, ChainDefinition>;
|
|
159
|
+
declare const CHAIN_IDS: Record<string, number>;
|
|
160
|
+
declare const CHAIN_NAMES: Record<number, string>;
|
|
161
|
+
declare const CHAIN_ID_TO_NETWORK: Record<number, string>;
|
|
162
|
+
declare const FALLBACK_RPC_URLS: Record<number, string>;
|
|
163
|
+
declare const BLOCK_EXPLORERS: Record<number, string>;
|
|
164
|
+
declare const COINGECKO_MAPPINGS: Record<number, {
|
|
165
|
+
platform: string;
|
|
166
|
+
nativeCoinId: string;
|
|
167
|
+
}>;
|
|
168
|
+
declare const TRUSTWALLET_SLUGS: Record<number, string>;
|
|
169
|
+
declare const CHAIN_TAG_MAP: Record<string, number>;
|
|
170
|
+
declare const LOGO_URLS: Record<number, string>;
|
|
171
|
+
declare function buildQuicknodeUrl(subdomain: string, key: string, chain: ChainDefinition): string | null;
|
|
172
|
+
declare function buildQuicknodeRpcMap(subdomain: string, key: string): Record<number, string>;
|
|
173
|
+
declare function chainsByIntegration(integration: KnownIntegration): ChainDefinition[];
|
|
174
|
+
declare function chainIdsByIntegration(integration: KnownIntegration): number[];
|
|
175
|
+
declare function chainNamesByIntegration(integration: KnownIntegration): Record<number, string>;
|
|
176
|
+
declare const ZERODEV_SUPPORTED_CHAINS: ChainDefinition[];
|
|
177
|
+
/**
|
|
178
|
+
* Chains tagged with the "anyspend" integration AND of EVM type — the set
|
|
179
|
+
* consumed by SDK `supportedChains` / `supportedChainsTW` for AnySpend's
|
|
180
|
+
* wallet-switch gate (`useUnifiedChainSwitchAndExecute`). Solana (also tagged
|
|
181
|
+
* anyspend) is excluded here because it's handled by Phantom-based flows that
|
|
182
|
+
* key off `RELAY_SOLANA_MAINNET_CHAIN_ID`, not viem.
|
|
183
|
+
*/
|
|
184
|
+
declare const ANYSPEND_EVM_CHAINS: ChainDefinition[];
|
|
185
|
+
/**
|
|
186
|
+
* Chain IDs that declare `manualTokens` — their holdings must be enumerated
|
|
187
|
+
* from that list rather than discovered, so balance/metadata for them comes
|
|
188
|
+
* from RPC + CoinGecko instead of a portfolio indexer.
|
|
189
|
+
*/
|
|
190
|
+
declare const MANUAL_CHAIN_IDS: ReadonlySet<number>;
|
|
191
|
+
declare function hasManualTokens(chainId: number): boolean;
|
|
192
|
+
declare function getManualTokens(chainId: number): ManualToken[];
|
|
193
|
+
declare function findManualToken(chainId: number, address: string): ManualToken | null;
|
|
194
|
+
|
|
195
|
+
export { ANYSPEND_EVM_CHAINS, BLOCK_EXPLORERS, CANONICAL_NAME_ASSETS, CHAIN_IDS, CHAIN_ID_TO_NETWORK, CHAIN_NAMES, CHAIN_TAG_MAP, COINGECKO_MAPPINGS, type ChainDefinition, type DexScreenerChainIdentity, FALLBACK_RPC_URLS, type KnownIntegration, LOGO_URLS, MANUAL_CHAIN_IDS, type ManualToken, type NativeAssetDefinition, type PairTokenSide, type ResolvedTokenIdentity, SOLANA_NATIVE_ASSET, type StablecoinRef, TOKEN_RESOLVER_SCHEMA_VERSION, TRUSTWALLET_SLUGS, type TokenIdentityCandidate, type TokenIdentityKind, type TokenIdentityMatch, type TokenResolverContractEnvelope, ZERODEV_SUPPORTED_CHAINS, buildQuicknodeRpcMap, buildQuicknodeUrl, chainById, chainIdsByIntegration, chainNamesByIntegration, chainTypeForIdentifier, chains, chainsByIntegration, createNativeTokenIdentity, createWrappedNativeTokenIdentity, evmChains, findManualToken, getManualTokens, hasManualTokens, isEvmTokenAddress, isProviderTokenAddress, isRegistryResolvedTokenIdentity, isRegistryTokenIdentityCandidate, isResolvedTokenIdentity, isSolanaAddress, isTokenAddressForChain, isTokenIdentityCandidate, looksLikeProviderTokenAddress, looksLikeTokenAddress, matchCanonicalNativeAssetText, nativeAssets, resolveChainIdentifier, resolveDexScreenerChainIdentifier, tokenAddressFamily, tokenAddressKey, validateChainDefinitions };
|