@b3dotfun/sdk 0.0.29 → 0.0.30-alpha.0

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 (99) hide show
  1. package/dist/cjs/anyspend/constants/index.d.ts +1 -0
  2. package/dist/cjs/anyspend/constants/index.js +2 -1
  3. package/dist/cjs/anyspend/react/components/AnySpend.js +1 -1
  4. package/dist/cjs/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  5. package/dist/cjs/anyspend/react/components/AnySpendBondKit.js +23 -24
  6. package/dist/cjs/anyspend/react/components/AnySpendCustom.js +1 -1
  7. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.d.ts +4 -2
  8. package/dist/cjs/anyspend/react/components/AnyspendDepositHype.js +17 -10
  9. package/dist/cjs/anyspend/react/components/common/ConnectWalletPayment.js +9 -1
  10. package/dist/cjs/anyspend/react/components/common/CryptoPaymentMethod.js +130 -41
  11. package/dist/cjs/anyspend/react/components/common/OrderDetails.js +6 -3
  12. package/dist/cjs/anyspend/react/components/common/OrderDetailsCollapsible.js +6 -4
  13. package/dist/cjs/anyspend/react/components/common/OrderStatus.d.ts +2 -0
  14. package/dist/cjs/anyspend/react/components/common/OrderStatus.js +2 -2
  15. package/dist/cjs/anyspend/react/components/common/PaySection.js +6 -4
  16. package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -1
  17. package/dist/cjs/anyspend/react/hooks/useAnyspendFlow.js +34 -3
  18. package/dist/cjs/anyspend/react/hooks/useSigMint.d.ts +1 -1
  19. package/dist/cjs/bondkit/abis/BondkitTokenABI.d.ts +62 -17
  20. package/dist/cjs/bondkit/abis/BondkitTokenABI.js +41 -9
  21. package/dist/cjs/bondkit/abis/BondkitTokenFactoryABI.d.ts +0 -25
  22. package/dist/cjs/bondkit/abis/BondkitTokenFactoryABI.js +0 -9
  23. package/dist/cjs/bondkit/constants.js +1 -1
  24. package/dist/cjs/global-account/react/components/LinkAccount/LinkAccount.js +28 -15
  25. package/dist/cjs/global-account/react/components/ManageAccount/ManageAccount.js +1 -1
  26. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  27. package/dist/cjs/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +1 -0
  28. package/dist/cjs/global-account/react/stores/useModalStore.d.ts +4 -2
  29. package/dist/cjs/shared/constants/chains/b3Chain.d.ts +2 -2
  30. package/dist/cjs/shared/constants/chains/supported.d.ts +4 -4
  31. package/dist/esm/anyspend/constants/index.d.ts +1 -0
  32. package/dist/esm/anyspend/constants/index.js +1 -0
  33. package/dist/esm/anyspend/react/components/AnySpend.js +1 -1
  34. package/dist/esm/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  35. package/dist/esm/anyspend/react/components/AnySpendBondKit.js +23 -24
  36. package/dist/esm/anyspend/react/components/AnySpendCustom.js +1 -1
  37. package/dist/esm/anyspend/react/components/AnyspendDepositHype.d.ts +4 -2
  38. package/dist/esm/anyspend/react/components/AnyspendDepositHype.js +19 -12
  39. package/dist/esm/anyspend/react/components/common/ConnectWalletPayment.js +6 -1
  40. package/dist/esm/anyspend/react/components/common/CryptoPaymentMethod.js +133 -44
  41. package/dist/esm/anyspend/react/components/common/OrderDetails.js +7 -4
  42. package/dist/esm/anyspend/react/components/common/OrderDetailsCollapsible.js +7 -5
  43. package/dist/esm/anyspend/react/components/common/OrderStatus.d.ts +2 -0
  44. package/dist/esm/anyspend/react/components/common/OrderStatus.js +2 -2
  45. package/dist/esm/anyspend/react/components/common/PaySection.js +7 -5
  46. package/dist/esm/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -1
  47. package/dist/esm/anyspend/react/hooks/useAnyspendFlow.js +35 -4
  48. package/dist/esm/anyspend/react/hooks/useSigMint.d.ts +1 -1
  49. package/dist/esm/bondkit/abis/BondkitTokenABI.d.ts +62 -17
  50. package/dist/esm/bondkit/abis/BondkitTokenABI.js +41 -9
  51. package/dist/esm/bondkit/abis/BondkitTokenFactoryABI.d.ts +0 -25
  52. package/dist/esm/bondkit/abis/BondkitTokenFactoryABI.js +0 -9
  53. package/dist/esm/bondkit/constants.js +1 -1
  54. package/dist/esm/global-account/react/components/LinkAccount/LinkAccount.js +28 -15
  55. package/dist/esm/global-account/react/components/ManageAccount/ManageAccount.js +1 -1
  56. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  57. package/dist/esm/global-account/react/hooks/useUnifiedChainSwitchAndExecute.js +1 -0
  58. package/dist/esm/global-account/react/stores/useModalStore.d.ts +4 -2
  59. package/dist/esm/shared/constants/chains/b3Chain.d.ts +2 -2
  60. package/dist/esm/shared/constants/chains/supported.d.ts +4 -4
  61. package/dist/styles/index.css +1 -1
  62. package/dist/types/anyspend/constants/index.d.ts +1 -0
  63. package/dist/types/anyspend/react/components/AnySpendBondKit.d.ts +1 -1
  64. package/dist/types/anyspend/react/components/AnyspendDepositHype.d.ts +4 -2
  65. package/dist/types/anyspend/react/components/common/OrderStatus.d.ts +2 -0
  66. package/dist/types/anyspend/react/hooks/useAnyspendFlow.d.ts +2 -1
  67. package/dist/types/anyspend/react/hooks/useSigMint.d.ts +1 -1
  68. package/dist/types/bondkit/abis/BondkitTokenABI.d.ts +62 -17
  69. package/dist/types/bondkit/abis/BondkitTokenFactoryABI.d.ts +0 -25
  70. package/dist/types/global-account/react/hooks/useUnifiedChainSwitchAndExecute.d.ts +1 -0
  71. package/dist/types/global-account/react/stores/useModalStore.d.ts +4 -2
  72. package/dist/types/shared/constants/chains/b3Chain.d.ts +2 -2
  73. package/dist/types/shared/constants/chains/supported.d.ts +4 -4
  74. package/package.json +1 -1
  75. package/src/anyspend/constants/index.ts +2 -0
  76. package/src/anyspend/react/components/AnySpend.tsx +1 -1
  77. package/src/anyspend/react/components/AnySpendBondKit.tsx +28 -28
  78. package/src/anyspend/react/components/AnySpendCustom.tsx +1 -1
  79. package/src/anyspend/react/components/AnyspendDepositHype.tsx +142 -130
  80. package/src/anyspend/react/components/common/ConnectWalletPayment.tsx +9 -0
  81. package/src/anyspend/react/components/common/CryptoPaymentMethod.tsx +289 -103
  82. package/src/anyspend/react/components/common/OrderDetails.tsx +7 -3
  83. package/src/anyspend/react/components/common/OrderDetailsCollapsible.tsx +10 -4
  84. package/src/anyspend/react/components/common/OrderStatus.tsx +9 -2
  85. package/src/anyspend/react/components/common/PaySection.tsx +9 -7
  86. package/src/anyspend/react/hooks/useAnyspendFlow.ts +41 -3
  87. package/src/bondkit/abis/BondkitTokenABI.ts +41 -9
  88. package/src/bondkit/abis/BondkitTokenFactoryABI.ts +0 -9
  89. package/src/bondkit/constants.ts +1 -1
  90. package/src/global-account/react/components/LinkAccount/LinkAccount.tsx +26 -10
  91. package/src/global-account/react/components/ManageAccount/ManageAccount.tsx +5 -1
  92. package/src/global-account/react/hooks/useUnifiedChainSwitchAndExecute.ts +1 -0
  93. package/src/global-account/react/stores/useModalStore.ts +4 -2
  94. package/dist/cjs/anyspend/abis/bondKit.d.ts +0 -35
  95. package/dist/cjs/anyspend/abis/bondKit.js +0 -29
  96. package/dist/esm/anyspend/abis/bondKit.d.ts +0 -35
  97. package/dist/esm/anyspend/abis/bondKit.js +0 -26
  98. package/dist/types/anyspend/abis/bondKit.d.ts +0 -35
  99. package/src/anyspend/abis/bondKit.ts +0 -26
@@ -158,11 +158,6 @@ export const BondkitTokenABI = [
158
158
  name: "ValidationInvalidLPSplitRatio",
159
159
  type: "error",
160
160
  },
161
- {
162
- inputs: [{ internalType: "address", name: "providedAddress", type: "address" }],
163
- name: "ValidationInvalidMigrationAdminAddress",
164
- type: "error",
165
- },
166
161
  {
167
162
  inputs: [{ internalType: "uint24", name: "value", type: "uint24" }],
168
163
  name: "ValidationInvalidV4PoolFee",
@@ -183,6 +178,15 @@ export const BondkitTokenABI = [
183
178
  name: "Approval",
184
179
  type: "event",
185
180
  },
181
+ {
182
+ anonymous: false,
183
+ inputs: [
184
+ { indexed: true, internalType: "address", name: "previousAdmin", type: "address" },
185
+ { indexed: true, internalType: "address", name: "newAdmin", type: "address" },
186
+ ],
187
+ name: "B3AdminUpdated",
188
+ type: "event",
189
+ },
186
190
  {
187
191
  anonymous: false,
188
192
  inputs: [
@@ -234,6 +238,15 @@ export const BondkitTokenABI = [
234
238
  name: "BondkitTokenMigrated",
235
239
  type: "event",
236
240
  },
241
+ {
242
+ anonymous: false,
243
+ inputs: [
244
+ { indexed: false, internalType: "uint256", name: "totalRaisedBonding", type: "uint256" },
245
+ { indexed: false, internalType: "uint256", name: "targetAmount", type: "uint256" },
246
+ ],
247
+ name: "DexTriggerThresholdMet",
248
+ type: "event",
249
+ },
237
250
  {
238
251
  anonymous: false,
239
252
  inputs: [
@@ -302,6 +315,13 @@ export const BondkitTokenABI = [
302
315
  stateMutability: "nonpayable",
303
316
  type: "function",
304
317
  },
318
+ {
319
+ inputs: [],
320
+ name: "b3Admin",
321
+ outputs: [{ internalType: "address", name: "", type: "address" }],
322
+ stateMutability: "view",
323
+ type: "function",
324
+ },
305
325
  {
306
326
  inputs: [{ internalType: "address", name: "account", type: "address" }],
307
327
  name: "balanceOf",
@@ -323,7 +343,7 @@ export const BondkitTokenABI = [
323
343
  ],
324
344
  name: "buy",
325
345
  outputs: [],
326
- stateMutability: "payable",
346
+ stateMutability: "nonpayable",
327
347
  type: "function",
328
348
  },
329
349
  {
@@ -334,7 +354,7 @@ export const BondkitTokenABI = [
334
354
  ],
335
355
  name: "buyFor",
336
356
  outputs: [],
337
- stateMutability: "payable",
357
+ stateMutability: "nonpayable",
338
358
  type: "function",
339
359
  },
340
360
  {
@@ -397,6 +417,13 @@ export const BondkitTokenABI = [
397
417
  stateMutability: "view",
398
418
  type: "function",
399
419
  },
420
+ {
421
+ inputs: [],
422
+ name: "getB3Admin",
423
+ outputs: [{ internalType: "address", name: "", type: "address" }],
424
+ stateMutability: "view",
425
+ type: "function",
426
+ },
400
427
  {
401
428
  inputs: [],
402
429
  name: "getBondingCurveConfig",
@@ -539,7 +566,6 @@ export const BondkitTokenABI = [
539
566
  { internalType: "uint256", name: "lpSplitRatioFeeRecipientBps", type: "uint256" },
540
567
  { internalType: "uint256", name: "targetAmount", type: "uint256" },
541
568
  { internalType: "address", name: "tradingToken", type: "address" },
542
- { internalType: "address", name: "migrationAdminAddress", type: "address" },
543
569
  { internalType: "address", name: "bondingPhaseSplitter", type: "address" },
544
570
  { internalType: "address", name: "v4PoolManager", type: "address" },
545
571
  { internalType: "address", name: "v4Hook", type: "address" },
@@ -659,6 +685,13 @@ export const BondkitTokenABI = [
659
685
  stateMutability: "nonpayable",
660
686
  type: "function",
661
687
  },
688
+ {
689
+ inputs: [{ internalType: "address", name: "_newAdmin", type: "address" }],
690
+ name: "updateB3Admin",
691
+ outputs: [],
692
+ stateMutability: "nonpayable",
693
+ type: "function",
694
+ },
662
695
  {
663
696
  inputs: [{ internalType: "address", name: "_bondingPhaseSplitter", type: "address" }],
664
697
  name: "updateSplitter",
@@ -701,5 +734,4 @@ export const BondkitTokenABI = [
701
734
  stateMutability: "view",
702
735
  type: "function",
703
736
  },
704
- { stateMutability: "payable", type: "receive" },
705
737
  ];
@@ -106,14 +106,6 @@ export declare const BondkitTokenFactoryABI: readonly [{
106
106
  }];
107
107
  readonly name: "ValidationInvalidLPSplitRatio";
108
108
  readonly type: "error";
109
- }, {
110
- readonly inputs: readonly [{
111
- readonly internalType: "address";
112
- readonly name: "providedAddress";
113
- readonly type: "address";
114
- }];
115
- readonly name: "ValidationInvalidMigrationAdminAddress";
116
- readonly type: "error";
117
109
  }, {
118
110
  readonly inputs: readonly [{
119
111
  readonly internalType: "uint24";
@@ -157,11 +149,6 @@ export declare const BondkitTokenFactoryABI: readonly [{
157
149
  readonly internalType: "address";
158
150
  readonly name: "feeRecipient";
159
151
  readonly type: "address";
160
- }, {
161
- readonly indexed: false;
162
- readonly internalType: "address";
163
- readonly name: "migrationAdmin";
164
- readonly type: "address";
165
152
  }];
166
153
  readonly name: "BondkitTokenCreated";
167
154
  readonly type: "event";
@@ -259,10 +246,6 @@ export declare const BondkitTokenFactoryABI: readonly [{
259
246
  readonly internalType: "address";
260
247
  readonly name: "tradingToken";
261
248
  readonly type: "address";
262
- }, {
263
- readonly internalType: "address";
264
- readonly name: "migrationAdminAddress";
265
- readonly type: "address";
266
249
  }, {
267
250
  readonly internalType: "address";
268
251
  readonly name: "bondingPhaseSplitter";
@@ -350,10 +333,6 @@ export declare const BondkitTokenFactoryABI: readonly [{
350
333
  readonly internalType: "address";
351
334
  readonly name: "tradingToken";
352
335
  readonly type: "address";
353
- }, {
354
- readonly internalType: "address";
355
- readonly name: "migrationAdminAddress";
356
- readonly type: "address";
357
336
  }, {
358
337
  readonly internalType: "address";
359
338
  readonly name: "bondingPhaseSplitter";
@@ -461,10 +440,6 @@ export declare const BondkitTokenFactoryABI: readonly [{
461
440
  readonly internalType: "address";
462
441
  readonly name: "tradingToken";
463
442
  readonly type: "address";
464
- }, {
465
- readonly internalType: "address";
466
- readonly name: "migrationAdminAddress";
467
- readonly type: "address";
468
443
  }, {
469
444
  readonly internalType: "address";
470
445
  readonly name: "bondingPhaseSplitter";
@@ -57,11 +57,6 @@ export const BondkitTokenFactoryABI = [
57
57
  name: "ValidationInvalidLPSplitRatio",
58
58
  type: "error",
59
59
  },
60
- {
61
- inputs: [{ internalType: "address", name: "providedAddress", type: "address" }],
62
- name: "ValidationInvalidMigrationAdminAddress",
63
- type: "error",
64
- },
65
60
  {
66
61
  inputs: [{ internalType: "uint24", name: "value", type: "uint24" }],
67
62
  name: "ValidationInvalidV4PoolFee",
@@ -80,7 +75,6 @@ export const BondkitTokenFactoryABI = [
80
75
  { indexed: false, internalType: "string", name: "name", type: "string" },
81
76
  { indexed: false, internalType: "string", name: "symbol", type: "string" },
82
77
  { indexed: true, internalType: "address", name: "feeRecipient", type: "address" },
83
- { indexed: false, internalType: "address", name: "migrationAdmin", type: "address" },
84
78
  ],
85
79
  name: "BondkitTokenCreated",
86
80
  type: "event",
@@ -132,7 +126,6 @@ export const BondkitTokenFactoryABI = [
132
126
  { internalType: "uint256", name: "lpSplitRatioFeeRecipientBps", type: "uint256" },
133
127
  { internalType: "uint256", name: "targetAmount", type: "uint256" },
134
128
  { internalType: "address", name: "tradingToken", type: "address" },
135
- { internalType: "address", name: "migrationAdminAddress", type: "address" },
136
129
  { internalType: "address", name: "bondingPhaseSplitter", type: "address" },
137
130
  { internalType: "address", name: "v4PoolManager", type: "address" },
138
131
  { internalType: "address", name: "v4Hook", type: "address" },
@@ -175,7 +168,6 @@ export const BondkitTokenFactoryABI = [
175
168
  { internalType: "uint256", name: "lpSplitRatioFeeRecipientBps", type: "uint256" },
176
169
  { internalType: "uint256", name: "targetAmount", type: "uint256" },
177
170
  { internalType: "address", name: "tradingToken", type: "address" },
178
- { internalType: "address", name: "migrationAdminAddress", type: "address" },
179
171
  { internalType: "address", name: "bondingPhaseSplitter", type: "address" },
180
172
  { internalType: "address", name: "v4PoolManager", type: "address" },
181
173
  { internalType: "address", name: "v4Hook", type: "address" },
@@ -227,7 +219,6 @@ export const BondkitTokenFactoryABI = [
227
219
  { internalType: "uint256", name: "lpSplitRatioFeeRecipientBps", type: "uint256" },
228
220
  { internalType: "uint256", name: "targetAmount", type: "uint256" },
229
221
  { internalType: "address", name: "tradingToken", type: "address" },
230
- { internalType: "address", name: "migrationAdminAddress", type: "address" },
231
222
  { internalType: "address", name: "bondingPhaseSplitter", type: "address" },
232
223
  { internalType: "address", name: "v4PoolManager", type: "address" },
233
224
  { internalType: "address", name: "v4Hook", type: "address" },
@@ -1,2 +1,2 @@
1
- export const BaseBondkitTokenFactoryContractAddress = "0x0ccA36e9BE8Fdf456dE4BC20b378B1560Aeb6653";
1
+ export const BaseBondkitTokenFactoryContractAddress = "0x5d641bbB206d4B5585eCCd919F36270200A9A2Ad";
2
2
  export const BaseMainnetRpcUrl = "https://base-rpc.publicnode.com";
@@ -1,4 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { ecosystemWalletId } from "../../../../shared/constants/index.js";
2
3
  import { client } from "../../../../shared/utils/thirdweb.js";
3
4
  import { Loader2 } from "lucide-react";
4
5
  import { useCallback, useEffect, useState } from "react";
@@ -94,6 +95,10 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
94
95
  client,
95
96
  strategy: "email",
96
97
  email,
98
+ ecosystem: {
99
+ id: ecosystemWalletId,
100
+ partnerId: partnerId,
101
+ },
97
102
  });
98
103
  }
99
104
  else if (selectedMethod === "phone") {
@@ -101,6 +106,10 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
101
106
  client,
102
107
  strategy: "phone",
103
108
  phoneNumber: phone,
109
+ ecosystem: {
110
+ id: ecosystemWalletId,
111
+ partnerId: partnerId,
112
+ },
104
113
  });
105
114
  }
106
115
  setOtpSent(true);
@@ -114,10 +123,12 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
114
123
  };
115
124
  const handleLinkAccount = async () => {
116
125
  if (!otp) {
126
+ console.error("No OTP entered");
117
127
  setError("Please enter the verification code");
118
128
  return;
119
129
  }
120
130
  try {
131
+ setOtpSent(false);
121
132
  setLinkingState(true, selectedMethod);
122
133
  setError(null);
123
134
  if (selectedMethod === "email") {
@@ -136,17 +147,12 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
136
147
  verificationCode: otp,
137
148
  }, mutationOptions);
138
149
  }
139
- onSuccess?.();
140
- onClose?.();
141
150
  }
142
151
  catch (error) {
143
152
  console.error("Error linking account:", error);
144
153
  setError(error instanceof Error ? error.message : "Failed to link account");
145
154
  onError?.(error);
146
155
  }
147
- finally {
148
- setLinkingState(false);
149
- }
150
156
  };
151
157
  const handleSocialLink = async (strategy) => {
152
158
  try {
@@ -197,17 +203,24 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
197
203
  setError(null);
198
204
  setLinkingState(false);
199
205
  }, [isLinking, setSelectedMethod, setEmail, setPhone, setOtp, setOtpSent, setError, setLinkingState]);
206
+ const handleFinishedLinking = useCallback((success) => {
207
+ if (success) {
208
+ onSuccess?.();
209
+ onClose?.();
210
+ }
211
+ setLinkingState(false);
212
+ navigateBack();
213
+ setB3ModalContentType({
214
+ type: "manageAccount",
215
+ activeTab: "settings",
216
+ setActiveTab: () => { },
217
+ chain,
218
+ partnerId,
219
+ });
220
+ }, [chain, navigateBack, partnerId, setB3ModalContentType, setLinkingState, onSuccess, onClose]);
200
221
  useEffect(() => {
201
222
  if (isLinking) {
202
- setLinkingState(false);
203
- navigateBack();
204
- setB3ModalContentType({
205
- type: "manageAccount",
206
- activeTab: "settings",
207
- setActiveTab: () => { },
208
- chain,
209
- partnerId,
210
- });
223
+ handleFinishedLinking(true);
211
224
  }
212
225
  // eslint-disable-next-line react-hooks/exhaustive-deps
213
226
  }, [profiles.length]);
@@ -221,5 +234,5 @@ export function LinkAccount({ onSuccess: onSuccessCallback, onError, onClose, ch
221
234
  else {
222
235
  handleSocialLink(method.id);
223
236
  }
224
- }, disabled: linkingMethod === method.id, children: isLinking && linkingMethod === method.id ? _jsx(Loader2, { className: "animate-spin" }) : method.label }, method.id))), availableAuthMethods.length === 0 && (_jsx("div", { className: "text-b3-foreground-muted py-8 text-center", children: "All available authentication methods have been connected" }))] })) : (_jsxs("div", { className: "space-y-4", children: [selectedMethod === "email" && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Email Address" }), _jsx("input", { type: "email", placeholder: "Enter your email", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: email, onChange: e => setEmail(e.target.value), disabled: otpSent || (isLinking && linkingMethod === "email") })] })), selectedMethod === "phone" && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Phone Number" }), _jsx("input", { type: "tel", placeholder: "Enter your phone number", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: phone, onChange: e => setPhone(e.target.value), disabled: otpSent || (isLinking && linkingMethod === "phone") }), _jsx("p", { className: "text-b3-foreground-muted font-neue-montreal-medium text-sm", children: "Include country code (e.g., +1 for US)" })] })), error && _jsx("div", { className: "text-b3-negative font-neue-montreal-medium py-2 text-sm", children: error }), otpSent ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Verification Code" }), _jsx("input", { type: "text", placeholder: "Enter verification code", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: otp, onChange: e => setOtp(e.target.value), disabled: isLinking && linkingMethod === selectedMethod })] }), _jsx(Button, { className: "bg-b3-primary-blue hover:bg-b3-primary-blue/90 font-neue-montreal-semibold h-12 w-full text-white", onClick: handleLinkAccount, disabled: !otp || (isLinking && linkingMethod === selectedMethod), children: isLinking && linkingMethod === selectedMethod ? _jsx(Loader2, { className: "animate-spin" }) : "Link Account" })] })) : (_jsx(Button, { className: "bg-b3-primary-blue hover:bg-b3-primary-blue/90 font-neue-montreal-semibold h-12 w-full text-white", onClick: handleSendOTP, disabled: (!email && !phone) || (isLinking && linkingMethod === selectedMethod), children: isLinking && linkingMethod === selectedMethod ? (_jsx(Loader2, { className: "animate-spin" })) : ("Send Verification Code") }))] }))] }));
237
+ }, disabled: linkingMethod === method.id, children: isLinking && linkingMethod === method.id ? _jsx(Loader2, { className: "animate-spin" }) : method.label }, method.id))), availableAuthMethods.length === 0 && (_jsx("div", { className: "text-b3-foreground-muted py-8 text-center", children: "All available authentication methods have been connected" }))] })) : (_jsxs("div", { className: "space-y-4", children: [selectedMethod === "email" && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Email Address" }), _jsx("input", { type: "email", placeholder: "Enter your email", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: email, onChange: e => setEmail(e.target.value), disabled: otpSent || (isLinking && linkingMethod === "email") })] })), selectedMethod === "phone" && (_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Phone Number" }), _jsx("input", { type: "tel", placeholder: "Enter your phone number", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: phone, onChange: e => setPhone(e.target.value), disabled: otpSent || (isLinking && linkingMethod === "phone") }), _jsx("p", { className: "text-b3-foreground-muted font-neue-montreal-medium text-sm", children: "Include country code (e.g., +1 for US)" })] })), error && _jsx("div", { className: "text-b3-negative font-neue-montreal-medium py-2 text-sm", children: error }), otpSent ? (_jsxs("div", { className: "space-y-4", children: [_jsxs("div", { className: "space-y-2", children: [_jsx("label", { className: "text-b3-grey font-neue-montreal-medium text-sm", children: "Verification Code" }), _jsx("input", { type: "text", placeholder: "Enter verification code", className: "bg-b3-line text-b3-grey font-neue-montreal-medium focus:ring-b3-primary-blue/20 w-full rounded-xl p-4 focus:outline-none focus:ring-2", value: otp, onChange: e => setOtp(e.target.value) })] }), _jsx(Button, { className: "bg-b3-primary-blue hover:bg-b3-primary-blue/90 font-neue-montreal-semibold h-12 w-full text-white", onClick: handleLinkAccount, children: "Link Account" })] })) : (_jsx(Button, { className: "bg-b3-primary-blue hover:bg-b3-primary-blue/90 font-neue-montreal-semibold h-12 w-full text-white", onClick: handleSendOTP, disabled: (!email && !phone) || (isLinking && linkingMethod === selectedMethod), children: isLinking && linkingMethod === selectedMethod ? (_jsx(Loader2, { className: "animate-spin" })) : ("Send Verification Code") }))] }))] }));
225
238
  }
@@ -134,5 +134,5 @@ export function ManageAccount({ onLogout, onSwap: _onSwap, onDeposit: _onDeposit
134
134
  if (["balance", "assets", "apps", "settings"].includes(tab)) {
135
135
  setActiveTab?.(tab);
136
136
  }
137
- }, children: [_jsxs(TabsListPrimitive, { className: "font-neue-montreal-semibold text-b3-grey flex h-8 w-full items-start justify-start gap-8 border-0 text-xl md:p-4", children: [_jsx(TabTriggerPrimitive, { value: "balance", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Overview" }), _jsx(TabTriggerPrimitive, { value: "assets", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Mints" }), _jsx(TabTriggerPrimitive, { value: "apps", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Apps" }), _jsx(TabTriggerPrimitive, { value: "settings", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Settings" })] }), _jsx(TabsContentPrimitive, { value: "balance", className: "pt-4 md:p-4", children: _jsx(BalanceContent, {}) }), _jsx(TabsContentPrimitive, { value: "assets", className: "pt-4 md:p-4", children: _jsx(AssetsContent, {}) }), _jsx(TabsContentPrimitive, { value: "apps", className: "pt-4 md:p-4", children: _jsx(AppsContent, {}) }), _jsx(TabsContentPrimitive, { value: "settings", className: "pt-4 md:p-4", children: _jsx(SettingsContent, {}) })] }) }) }));
137
+ }, children: [_jsxs(TabsListPrimitive, { className: "font-neue-montreal-semibold text-b3-grey flex h-8 w-full items-start justify-start gap-8 border-0 text-xl md:p-4", children: [_jsx(TabTriggerPrimitive, { value: "balance", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Overview" }), _jsx(TabTriggerPrimitive, { value: "assets", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Mints" }), _jsx(TabTriggerPrimitive, { value: "settings", className: "data-[state=active]:text-b3-primary-blue data-[state=active]:border-b-b3-primary-blue flex-none rounded-none border-0 p-0 pb-1 text-xl leading-none tracking-wide transition-colors data-[state=active]:border-b data-[state=active]:bg-white md:pb-4", children: "Settings" })] }), _jsx(TabsContentPrimitive, { value: "balance", className: "pt-4 md:p-4", children: _jsx(BalanceContent, {}) }), _jsx(TabsContentPrimitive, { value: "assets", className: "pt-4 md:p-4", children: _jsx(AssetsContent, {}) }), _jsx(TabsContentPrimitive, { value: "apps", className: "pt-4 md:p-4", children: _jsx(AppsContent, {}) }), _jsx(TabsContentPrimitive, { value: "settings", className: "pt-4 md:p-4", children: _jsx(SettingsContent, {}) })] }) }) }));
138
138
  }
@@ -5,6 +5,7 @@ export interface UnifiedTransactionParams {
5
5
  }
6
6
  export declare function useUnifiedChainSwitchAndExecute(): {
7
7
  switchChainAndExecute: (targetChainId: number, params: UnifiedTransactionParams) => Promise<string | undefined>;
8
+ switchChainAndExecuteWithEOA: (targetChainId: number, params: UnifiedTransactionParams) => Promise<string | undefined>;
8
9
  isSwitchingOrExecuting: boolean;
9
10
  isActiveSmartWallet: boolean | undefined;
10
11
  isActiveEOAWallet: boolean | undefined;
@@ -158,6 +158,7 @@ export function useUnifiedChainSwitchAndExecute() {
158
158
  }, [isActiveSmartWallet, isActiveEOAWallet, handleAASendTransaction, handleEOASwitchChainAndSendTransaction]);
159
159
  return {
160
160
  switchChainAndExecute,
161
+ switchChainAndExecuteWithEOA: handleEOASwitchChainAndSendTransaction,
161
162
  isSwitchingOrExecuting,
162
163
  isActiveSmartWallet,
163
164
  isActiveEOAWallet,
@@ -273,8 +273,8 @@ export interface AnySpendBondKitProps extends BaseModalProps {
273
273
  imageUrl?: string;
274
274
  /** Token name to display */
275
275
  tokenName?: string;
276
- /** Optional pre-filled ETH amount */
277
- ethAmount?: string;
276
+ /** Optional pre-filled B3 amount */
277
+ b3Amount?: string;
278
278
  /** Callback function called when purchase is successful */
279
279
  onSuccess?: (txHash?: string) => void;
280
280
  }
@@ -300,6 +300,8 @@ export interface AnySpendDepositHypeProps extends BaseModalProps {
300
300
  paymentType?: "crypto" | "fiat";
301
301
  /** Deposit contract address */
302
302
  depositContractAddress: string;
303
+ /** Main footer */
304
+ mainFooter?: React.ReactNode;
303
305
  /** Callback function called when the deposit is successful */
304
306
  onSuccess?: () => void;
305
307
  }
@@ -88,9 +88,9 @@ export declare const getViemChainConfig: (config: ChainNetworks) => {
88
88
  readonly rpc: string;
89
89
  readonly icon: {
90
90
  format: string;
91
- url: string;
92
- width: number;
93
91
  height: number;
92
+ width: number;
93
+ url: string;
94
94
  };
95
95
  };
96
96
  export declare const thirdwebB3Testnet: ThirdwebChain;
@@ -10,9 +10,9 @@ export declare const supportedChainNetworks: {
10
10
  testnet?: boolean | undefined;
11
11
  fees?: Record<string, any> | undefined;
12
12
  formatters?: Record<string, any> | undefined;
13
+ color?: string | undefined;
13
14
  testnetConfigID?: number | undefined;
14
15
  badge?: string | undefined;
15
- color?: string | undefined;
16
16
  enabledFeatures?: string[] | undefined;
17
17
  blockExplorers: {
18
18
  default: string;
@@ -35,13 +35,13 @@ export declare const supportedChainNetworks: {
35
35
  uri: string;
36
36
  }[];
37
37
  };
38
- _id: string | {};
39
38
  icon: {
40
39
  format: string;
41
- url: string;
42
- width: number;
43
40
  height: number;
41
+ width: number;
42
+ url: string;
44
43
  };
44
+ _id: string | {};
45
45
  }[];
46
46
  export declare const coingeckoChains: Record<number, {
47
47
  coingecko_id: string;