@b3dotfun/sdk 0.0.51-alpha.1 → 0.0.51-alpha.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/dist/cjs/anyspend/abis/upsideStaking.d.ts +2058 -0
  2. package/dist/cjs/anyspend/abis/upsideStaking.js +1139 -0
  3. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.d.ts +11 -0
  4. package/dist/cjs/anyspend/react/components/AnySpendStakeUpside.js +44 -0
  5. package/dist/cjs/anyspend/types/chain.d.ts +1 -0
  6. package/dist/cjs/anyspend/utils/chain.js +56 -47
  7. package/dist/cjs/global-account/react/components/B3DynamicModal.js +5 -0
  8. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +21 -1
  9. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +9 -3
  10. package/dist/cjs/shared/utils/simplehash.d.ts +1 -1
  11. package/dist/esm/anyspend/abis/upsideStaking.d.ts +2058 -0
  12. package/dist/esm/anyspend/abis/upsideStaking.js +1136 -0
  13. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.d.ts +11 -0
  14. package/dist/esm/anyspend/react/components/AnySpendStakeUpside.js +38 -0
  15. package/dist/esm/anyspend/types/chain.d.ts +1 -0
  16. package/dist/esm/anyspend/utils/chain.js +57 -48
  17. package/dist/esm/global-account/react/components/B3DynamicModal.js +5 -0
  18. package/dist/esm/global-account/react/stores/useModalStore.d.ts +21 -1
  19. package/dist/esm/shared/constants/chains/b3Chain.d.ts +9 -3
  20. package/dist/esm/shared/utils/simplehash.d.ts +1 -1
  21. package/dist/styles/index.css +1 -1
  22. package/dist/types/anyspend/abis/upsideStaking.d.ts +2058 -0
  23. package/dist/types/anyspend/react/components/AnySpendStakeUpside.d.ts +11 -0
  24. package/dist/types/anyspend/types/chain.d.ts +1 -0
  25. package/dist/types/global-account/react/stores/useModalStore.d.ts +21 -1
  26. package/dist/types/shared/constants/chains/b3Chain.d.ts +9 -3
  27. package/dist/types/shared/utils/simplehash.d.ts +1 -1
  28. package/package.json +1 -1
  29. package/src/anyspend/abis/upsideStaking.ts +1137 -0
  30. package/src/anyspend/react/components/AnySpendStakeUpside.tsx +96 -0
  31. package/src/anyspend/types/chain.ts +1 -0
  32. package/src/anyspend/utils/chain.ts +49 -53
  33. package/src/global-account/react/components/B3DynamicModal.tsx +5 -0
  34. package/src/global-account/react/stores/useModalStore.ts +22 -0
@@ -0,0 +1,11 @@
1
+ import { components } from "../../../anyspend/types/api";
2
+ export declare function AnySpendStakeUpside({ loadOrder, mode, beneficiaryAddress, stakeAmount, stakingContractAddress, token, poolType, onSuccess, }: {
3
+ loadOrder?: string;
4
+ mode?: "modal" | "page";
5
+ beneficiaryAddress: string;
6
+ stakeAmount: string;
7
+ stakingContractAddress: string;
8
+ token: components["schemas"]["Token"];
9
+ poolType: "b3" | "weth";
10
+ onSuccess?: () => void;
11
+ }): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,38 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { StyleRoot } from "../../../global-account/react/index.js";
3
+ import { formatTokenAmount } from "../../../shared/utils/number.js";
4
+ import invariant from "invariant";
5
+ import { encodeFunctionData } from "viem";
6
+ import { base } from "viem/chains";
7
+ import { B3_STAKING_CONTRACT, WETH_STAKING_CONTRACT } from "../../abis/upsideStaking.js";
8
+ import { AnySpendCustom } from "./AnySpendCustom.js";
9
+ function generateEncodedDataForStaking(amount, beneficiary, poolType) {
10
+ invariant(BigInt(amount) > 0, "Amount must be greater than zero");
11
+ if (poolType === "weth") {
12
+ return encodeFunctionData({
13
+ abi: WETH_STAKING_CONTRACT,
14
+ functionName: "stakeFor",
15
+ args: [beneficiary, BigInt(amount)],
16
+ });
17
+ }
18
+ else if (poolType === "b3") {
19
+ return encodeFunctionData({
20
+ abi: B3_STAKING_CONTRACT,
21
+ functionName: "stakeFor",
22
+ args: [beneficiary, BigInt(amount)],
23
+ });
24
+ }
25
+ throw new Error("Unsupported pool type");
26
+ }
27
+ export function AnySpendStakeUpside({ loadOrder, mode = "modal", beneficiaryAddress, stakeAmount, stakingContractAddress, token, poolType, onSuccess, }) {
28
+ const header = () => (_jsxs(_Fragment, { children: [_jsx("div", { className: "relative mx-auto size-32", children: _jsx("img", { alt: "token", className: "size-full", src: token.metadata.logoURI || "https://cdn.b3.fun/b3-coin-3d.png" }) }), _jsxs("div", { className: "from-b3-react-background to-as-on-surface-1 mt-[-60px] w-full rounded-t-lg bg-gradient-to-t", children: [_jsx("div", { className: "h-[60px] w-full" }), _jsx("div", { className: "mb-1 flex w-full flex-col items-center gap-2 p-5", children: _jsxs("span", { className: "font-sf-rounded text-2xl font-semibold", children: ["Swap & Stake ", stakeAmount ? formatTokenAmount(BigInt(stakeAmount), token.decimals) : "", " ", token.symbol] }) })] })] }));
29
+ // Only generate encoded data if we have a valid beneficiary address
30
+ // This is used for the AnySpendCustom swap & stake flow
31
+ if (!beneficiaryAddress || beneficiaryAddress === "") {
32
+ return (_jsx(StyleRoot, { children: _jsx("div", { className: "bg-b3-react-background flex w-full flex-col items-center justify-center p-8", children: _jsx("p", { className: "font-medium text-yellow-600 dark:text-yellow-400", children: "\u26A0\uFE0F Please connect your wallet to continue." }) }) }));
33
+ }
34
+ const encodedData = generateEncodedDataForStaking(stakeAmount, beneficiaryAddress, poolType);
35
+ return (_jsx(AnySpendCustom, { loadOrder: loadOrder, mode: mode, recipientAddress: beneficiaryAddress, orderType: "custom", dstChainId: base.id, dstToken: token, dstAmount: stakeAmount, contractAddress: stakingContractAddress, encodedData: encodedData, metadata: {
36
+ action: `stake ${token.symbol}`,
37
+ }, header: header, onSuccess: onSuccess, showRecipient: true }));
38
+ }
@@ -19,6 +19,7 @@ export interface IEVMChain extends IBaseChain {
19
19
  type: ChainType.EVM;
20
20
  viem: Chain;
21
21
  pollingInterval: number;
22
+ wethAddress: string;
22
23
  zapperEnum?: string;
23
24
  }
24
25
  export interface ISolanaChain extends IBaseChain {
@@ -1,7 +1,7 @@
1
1
  import { RELAY_SOLANA_MAINNET_CHAIN_ID } from "../../anyspend/constants/index.js";
2
2
  import invariant from "invariant";
3
3
  import { createPublicClient, createWalletClient, defineChain, http, parseEther, } from "viem";
4
- import { abstract, arbitrum, avalanche, b3, b3Sepolia, base, baseSepolia, bsc, mainnet, optimism, polygon, sepolia, } from "viem/chains";
4
+ import { abstract, arbitrum, avalanche, b3, base, bsc, mainnet, optimism, polygon } from "viem/chains";
5
5
  import { ChainType } from "../types/chain.js";
6
6
  import { getAvaxToken, getBnbToken, getEthToken, getPolToken, getSolanaToken } from "./token.js";
7
7
  function getCustomEvmChain(chain, rpcUrl) {
@@ -28,6 +28,7 @@ export const EVM_MAINNET = {
28
28
  pollingInterval: 4000, // 4 seconds for Ethereum mainnet
29
29
  zapperEnum: "ETHEREUM_MAINNET",
30
30
  coingeckoName: "eth",
31
+ wethAddress: "0xc02aaa39b223fe8d0a0e5c4f27ead9083c756cc2",
31
32
  },
32
33
  [arbitrum.id]: {
33
34
  id: arbitrum.id,
@@ -42,6 +43,7 @@ export const EVM_MAINNET = {
42
43
  pollingInterval: 500, // 500ms for Arbitrum's fast blocks
43
44
  zapperEnum: "ARBITRUM_MAINNET",
44
45
  coingeckoName: "arbitrum",
46
+ wethAddress: "0x82af49447d8a07e3bd95bd0d56f35241523fbab1",
45
47
  },
46
48
  [base.id]: {
47
49
  id: base.id,
@@ -56,6 +58,7 @@ export const EVM_MAINNET = {
56
58
  pollingInterval: 1000, // 1 second for Base
57
59
  zapperEnum: "BASE_MAINNET",
58
60
  coingeckoName: "base",
61
+ wethAddress: "0x4200000000000000000000000000000000000006",
59
62
  },
60
63
  [optimism.id]: {
61
64
  id: optimism.id,
@@ -70,6 +73,7 @@ export const EVM_MAINNET = {
70
73
  pollingInterval: 1000, // 1 second for Optimism
71
74
  zapperEnum: "OPTIMISM_MAINNET",
72
75
  coingeckoName: "optimism",
76
+ wethAddress: "0x4200000000000000000000000000000000000006",
73
77
  },
74
78
  [polygon.id]: {
75
79
  id: polygon.id,
@@ -84,6 +88,7 @@ export const EVM_MAINNET = {
84
88
  pollingInterval: 1000, // 1 second for Polygon
85
89
  zapperEnum: "POLYGON_MAINNET",
86
90
  coingeckoName: "polygon_pos",
91
+ wethAddress: "0x0d500b1d8e8ef31e21c99d1db9a6444d3adf1270",
87
92
  },
88
93
  [avalanche.id]: {
89
94
  id: avalanche.id,
@@ -98,6 +103,7 @@ export const EVM_MAINNET = {
98
103
  pollingInterval: 1000, // 1 second for Avalanche
99
104
  zapperEnum: "AVALANCHE_MAINNET",
100
105
  coingeckoName: "avax",
106
+ wethAddress: "0xb31f66aa3c1e785363f0875a1b74e27b85fd66c7",
101
107
  },
102
108
  [bsc.id]: {
103
109
  id: bsc.id,
@@ -112,6 +118,7 @@ export const EVM_MAINNET = {
112
118
  pollingInterval: 1000, // 1 second for BSC
113
119
  zapperEnum: "BSC_MAINNET",
114
120
  coingeckoName: "bsc",
121
+ wethAddress: "0xbb4cdb9cbd36b01bd1cbaebf2de08d9173bc095c",
115
122
  },
116
123
  [b3.id]: {
117
124
  id: b3.id,
@@ -126,6 +133,7 @@ export const EVM_MAINNET = {
126
133
  pollingInterval: 1000, // 1 second for B3
127
134
  zapperEnum: "B3_MAINNET",
128
135
  coingeckoName: "b3",
136
+ wethAddress: "0x4200000000000000000000000000000000000006",
129
137
  },
130
138
  [abstract.id]: {
131
139
  id: abstract.id,
@@ -140,56 +148,57 @@ export const EVM_MAINNET = {
140
148
  pollingInterval: 3000, // 3 seconds for Abstract
141
149
  zapperEnum: "ABSTRACT_MAINNET",
142
150
  coingeckoName: "abstract",
151
+ wethAddress: "0x3439153eb7af838ad19d56e1571fbd09333c2809",
143
152
  },
144
153
  };
145
154
  export const EVM_TESTNET = {
146
- [sepolia.id]: {
147
- id: sepolia.id,
148
- name: sepolia.name,
149
- logoUrl: "https://assets.relay.link/icons/square/1/light.png",
150
- type: ChainType.EVM,
151
- nativeRequired: parseEther("0.00001"),
152
- canDepositNative: true,
153
- defaultToken: getEthToken(sepolia.id),
154
- nativeToken: getEthToken(sepolia.id),
155
- viem: sepolia,
156
- pollingInterval: 1000, // 1 second for Sepolia
157
- coingeckoName: "sepolia-testnet",
158
- },
159
- [baseSepolia.id]: {
160
- id: baseSepolia.id,
161
- name: baseSepolia.name,
162
- logoUrl: "https://assets.relay.link/icons/square/8453/light.png",
163
- type: ChainType.EVM,
164
- nativeRequired: parseEther("0.00001"),
165
- canDepositNative: true,
166
- defaultToken: getEthToken(baseSepolia.id),
167
- nativeToken: getEthToken(baseSepolia.id),
168
- viem: baseSepolia,
169
- pollingInterval: 1000, // 1 second for Base Sepolia
170
- coingeckoName: null,
171
- },
172
- [b3Sepolia.id]: {
173
- id: b3Sepolia.id,
174
- name: b3Sepolia.name,
175
- logoUrl: "https://assets.relay.link/icons/square/8333/light.png",
176
- type: ChainType.EVM,
177
- nativeRequired: parseEther("0.00001"),
178
- canDepositNative: true,
179
- defaultToken: getEthToken(b3Sepolia.id),
180
- nativeToken: getEthToken(b3Sepolia.id),
181
- viem: b3Sepolia,
182
- pollingInterval: 1000, // 1 second for B3 Sepolia
183
- coingeckoName: null,
184
- },
185
- // [b4testnet.id]: {
186
- // id: b4testnet.id,
187
- // logoUrl: "https://cdn.b3.fun/b4-logo.png",
188
- // type: ChainType.EVM,
189
- // viem: b4testnet,
190
- // requireNativeBalance: parseEther("0.00001"),
191
- // supportDepositNative: true,
192
- // },
155
+ // [sepolia.id]: {
156
+ // id: sepolia.id,
157
+ // name: sepolia.name,
158
+ // logoUrl: "https://assets.relay.link/icons/square/1/light.png",
159
+ // type: ChainType.EVM,
160
+ // nativeRequired: parseEther("0.00001"),
161
+ // canDepositNative: true,
162
+ // defaultToken: getEthToken(sepolia.id),
163
+ // nativeToken: getEthToken(sepolia.id),
164
+ // viem: sepolia,
165
+ // pollingInterval: 1000, // 1 second for Sepolia
166
+ // coingeckoName: "sepolia-testnet",
167
+ // },
168
+ // [baseSepolia.id]: {
169
+ // id: baseSepolia.id,
170
+ // name: baseSepolia.name,
171
+ // logoUrl: "https://assets.relay.link/icons/square/8453/light.png",
172
+ // type: ChainType.EVM,
173
+ // nativeRequired: parseEther("0.00001"),
174
+ // canDepositNative: true,
175
+ // defaultToken: getEthToken(baseSepolia.id),
176
+ // nativeToken: getEthToken(baseSepolia.id),
177
+ // viem: baseSepolia,
178
+ // pollingInterval: 1000, // 1 second for Base Sepolia
179
+ // coingeckoName: null,
180
+ // },
181
+ // [b3Sepolia.id]: {
182
+ // id: b3Sepolia.id,
183
+ // name: b3Sepolia.name,
184
+ // logoUrl: "https://assets.relay.link/icons/square/8333/light.png",
185
+ // type: ChainType.EVM,
186
+ // nativeRequired: parseEther("0.00001"),
187
+ // canDepositNative: true,
188
+ // defaultToken: getEthToken(b3Sepolia.id),
189
+ // nativeToken: getEthToken(b3Sepolia.id),
190
+ // viem: b3Sepolia,
191
+ // pollingInterval: 1000, // 1 second for B3 Sepolia
192
+ // coingeckoName: null,
193
+ // },
194
+ // [b4testnet.id]: {
195
+ // id: b4testnet.id,
196
+ // logoUrl: "https://cdn.b3.fun/b4-logo.png",
197
+ // type: ChainType.EVM,
198
+ // viem: b4testnet,
199
+ // requireNativeBalance: parseEther("0.00001"),
200
+ // supportDepositNative: true,
201
+ // },
193
202
  };
194
203
  export const SOLANA_MAINNET = {
195
204
  id: RELAY_SOLANA_MAINNET_CHAIN_ID,
@@ -1,6 +1,7 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { AnySpend, AnySpendBondKit, AnySpendBuySpin, AnySpendNFT, AnyspendSignatureMint, AnySpendStakeB3, AnySpendTournament, OrderHistory, } from "../../../anyspend/react/index.js";
3
3
  import { AnySpendDepositHype } from "../../../anyspend/react/components/AnyspendDepositHype.js";
4
+ import { AnySpendStakeUpside } from "../../../anyspend/react/components/AnySpendStakeUpside.js";
4
5
  import { useIsMobile, useModalStore } from "../../../global-account/react/index.js";
5
6
  import { cn } from "../../../shared/utils/cn.js";
6
7
  import { debugB3React } from "../../../shared/utils/debug.js";
@@ -24,6 +25,7 @@ export function B3DynamicModal() {
24
25
  "anySpendJoinTournament",
25
26
  "anySpendFundTournament",
26
27
  "anySpendStakeB3",
28
+ "anySpendStakeUpside",
27
29
  "anySpendBuySpin",
28
30
  "anySpendOrderHistory",
29
31
  "signInWithB3",
@@ -37,6 +39,7 @@ export function B3DynamicModal() {
37
39
  "anySpendJoinTournament",
38
40
  "anySpendFundTournament",
39
41
  "anySpendStakeB3",
42
+ "anySpendStakeUpside",
40
43
  "anySpendBuySpin",
41
44
  "anySpendSignatureMint",
42
45
  "anySpendBondKit",
@@ -72,6 +75,8 @@ export function B3DynamicModal() {
72
75
  return _jsx(OrderHistory, { onBack: () => { }, mode: "modal" });
73
76
  case "anySpendStakeB3":
74
77
  return _jsx(AnySpendStakeB3, { ...contentType, mode: "modal" });
78
+ case "anySpendStakeUpside":
79
+ return _jsx(AnySpendStakeUpside, { ...contentType, mode: "modal" });
75
80
  case "anySpendBuySpin":
76
81
  return _jsx(AnySpendBuySpin, { ...contentType, mode: "modal" });
77
82
  case "anySpendSignatureMint":
@@ -210,6 +210,26 @@ export interface AnySpendStakeB3Props extends BaseModalProps {
210
210
  /** Callback function called when the stake is successful */
211
211
  onSuccess?: () => void;
212
212
  }
213
+ /**
214
+ * Props for the AnySpend Stake Contract modal
215
+ * Handles token staking operations to a given contract
216
+ */
217
+ export interface AnySpendStakeUpsideProps extends BaseModalProps {
218
+ /** Modal type identifier */
219
+ type: "anySpendStakeUpside";
220
+ /** Recipient address to stake B3 for */
221
+ beneficiaryAddress: string;
222
+ /** Stake amount */
223
+ stakeAmount: string;
224
+ /** Staking contract address */
225
+ stakingContractAddress: string;
226
+ /** Pool type for staking */
227
+ poolType: "b3" | "weth";
228
+ /** Token address to stake */
229
+ token: components["schemas"]["Token"];
230
+ /** Callback function called when the stake is successful */
231
+ onSuccess?: () => void;
232
+ }
213
233
  /**
214
234
  * Props for the AnySpend Buy Spin modal
215
235
  * Handles spin wheel entry purchases
@@ -302,7 +322,7 @@ export interface AvatarEditorModalProps extends BaseModalProps {
302
322
  /**
303
323
  * Union type of all possible modal content types
304
324
  */
305
- export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps;
325
+ export type ModalContentType = SignInWithB3ModalProps | RequestPermissionsModalProps | ManageAccountModalProps | AnySpendModalProps | AnyspendOrderDetailsProps | AnySpendNftProps | AnySpendJoinTournamentProps | AnySpendFundTournamentProps | AnySpendOrderHistoryProps | AnySpendStakeB3Props | AnySpendStakeUpsideProps | AnySpendBuySpinProps | AnySpendSignatureMintProps | AnySpendBondKitProps | LinkAccountModalProps | AnySpendDepositHypeProps | AvatarEditorModalProps;
306
326
  /**
307
327
  * State interface for the modal store
308
328
  */
@@ -12,6 +12,7 @@ export declare const b3Mainnet: {
12
12
  readonly url: "https://explorer.b3.fun";
13
13
  };
14
14
  };
15
+ blockTime?: number | undefined | undefined;
15
16
  contracts?: {
16
17
  [x: string]: import("viem").ChainContract | {
17
18
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -19,7 +20,7 @@ export declare const b3Mainnet: {
19
20
  ensRegistry?: import("viem").ChainContract | undefined;
20
21
  ensUniversalResolver?: import("viem").ChainContract | undefined;
21
22
  multicall3?: import("viem").ChainContract | undefined;
22
- universalSignatureVerifier?: import("viem").ChainContract | undefined;
23
+ erc6492Verifier?: import("viem").ChainContract | undefined;
23
24
  } | undefined;
24
25
  ensTlds?: readonly string[] | undefined;
25
26
  id: 8333;
@@ -29,6 +30,7 @@ export declare const b3Mainnet: {
29
30
  readonly symbol: "ETH";
30
31
  readonly decimals: 18;
31
32
  };
33
+ experimental_preconfirmationTime?: number | undefined | undefined;
32
34
  rpcUrls: {
33
35
  readonly default: {
34
36
  readonly http: readonly ["https://mainnet-rpc.b3.fun"];
@@ -56,6 +58,7 @@ export declare const getViemChainConfig: (config: ChainNetworks) => {
56
58
  readonly url: string;
57
59
  };
58
60
  };
61
+ blockTime?: number | undefined | undefined;
59
62
  contracts?: {
60
63
  [x: string]: import("viem").ChainContract | {
61
64
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -63,7 +66,7 @@ export declare const getViemChainConfig: (config: ChainNetworks) => {
63
66
  ensRegistry?: import("viem").ChainContract | undefined;
64
67
  ensUniversalResolver?: import("viem").ChainContract | undefined;
65
68
  multicall3?: import("viem").ChainContract | undefined;
66
- universalSignatureVerifier?: import("viem").ChainContract | undefined;
69
+ erc6492Verifier?: import("viem").ChainContract | undefined;
67
70
  } | undefined;
68
71
  ensTlds?: readonly string[] | undefined;
69
72
  id: number;
@@ -73,6 +76,7 @@ export declare const getViemChainConfig: (config: ChainNetworks) => {
73
76
  name: string;
74
77
  decimals: number;
75
78
  };
79
+ experimental_preconfirmationTime?: number | undefined | undefined;
76
80
  rpcUrls: {
77
81
  readonly default: {
78
82
  readonly http: readonly [string];
@@ -103,6 +107,7 @@ export declare const b3Chain: Chain | {
103
107
  readonly url: "https://explorer.b3.fun";
104
108
  };
105
109
  };
110
+ blockTime?: number | undefined | undefined;
106
111
  contracts?: {
107
112
  [x: string]: import("viem").ChainContract | {
108
113
  [sourceId: number]: import("viem").ChainContract | undefined;
@@ -110,7 +115,7 @@ export declare const b3Chain: Chain | {
110
115
  ensRegistry?: import("viem").ChainContract | undefined;
111
116
  ensUniversalResolver?: import("viem").ChainContract | undefined;
112
117
  multicall3?: import("viem").ChainContract | undefined;
113
- universalSignatureVerifier?: import("viem").ChainContract | undefined;
118
+ erc6492Verifier?: import("viem").ChainContract | undefined;
114
119
  } | undefined;
115
120
  ensTlds?: readonly string[] | undefined;
116
121
  id: 8333;
@@ -120,6 +125,7 @@ export declare const b3Chain: Chain | {
120
125
  readonly symbol: "ETH";
121
126
  readonly decimals: 18;
122
127
  };
128
+ experimental_preconfirmationTime?: number | undefined | undefined;
123
129
  rpcUrls: {
124
130
  readonly default: {
125
131
  readonly http: readonly ["https://mainnet-rpc.b3.fun"];
@@ -1,6 +1,6 @@
1
1
  import * as SimpleHashTypes from "../../global-account/types/simplehash.types";
2
2
  export * from "../../global-account/types/simplehash.types";
3
- export declare const simpleHashChainToChainId: (chain: string) => 8453 | 8333 | 84532 | 1993 | null;
3
+ export declare const simpleHashChainToChainId: (chain: string) => 8453 | 8333 | 1993 | 84532 | null;
4
4
  export declare const simpleHashChainToChainName: (chain: number) => "base" | "b3" | "b3-sepolia" | "base-sepolia" | null;
5
5
  type SimpleHashRoute = `/v0/nfts/${string}/${string}/${string}` | `/v0/nfts/${string}` | `/v0/nfts/collections/${string}/${string}` | `/v0/nfts/transfers/${string}/${string}` | `/v0/fungibles/assets` | `/v0/native_tokens/balances` | string;
6
6
  type RouteReturnType<T extends SimpleHashRoute> = T extends `/v0/nfts/collections/${string}/${string}` ? SimpleHashTypes.SimpleHashNFTResponse : T extends `/v0/nfts/transfers/${string}/${string}` ? {