@crossmint/client-sdk-smart-wallet 0.1.19 → 0.1.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.
Files changed (201) hide show
  1. package/dist/SmartWalletSDK.cjs +1 -0
  2. package/dist/SmartWalletSDK.d.cts +47 -0
  3. package/dist/SmartWalletSDK.d.ts +47 -0
  4. package/dist/SmartWalletSDK.js +1 -0
  5. package/dist/api/CrossmintWalletService.cjs +1 -0
  6. package/dist/api/CrossmintWalletService.d.cts +31 -0
  7. package/dist/api/CrossmintWalletService.d.ts +31 -0
  8. package/dist/api/CrossmintWalletService.js +1 -0
  9. package/dist/blockchain/chains.cjs +1 -0
  10. package/dist/blockchain/chains.d.cts +36 -0
  11. package/dist/blockchain/chains.d.ts +36 -0
  12. package/dist/blockchain/chains.js +1 -0
  13. package/dist/blockchain/rpc.cjs +1 -0
  14. package/dist/blockchain/rpc.d.cts +9 -0
  15. package/dist/blockchain/rpc.d.ts +9 -0
  16. package/dist/blockchain/rpc.js +1 -0
  17. package/dist/blockchain/transfer.cjs +1 -0
  18. package/dist/blockchain/transfer.d.cts +23 -0
  19. package/dist/blockchain/transfer.d.ts +23 -0
  20. package/dist/blockchain/transfer.js +1 -0
  21. package/dist/blockchain/wallets/EVMSmartWallet.cjs +1 -0
  22. package/dist/blockchain/wallets/EVMSmartWallet.d.cts +102 -0
  23. package/dist/blockchain/wallets/EVMSmartWallet.d.ts +102 -0
  24. package/dist/blockchain/wallets/EVMSmartWallet.js +1 -0
  25. package/dist/blockchain/wallets/SendTransactionService.cjs +1 -0
  26. package/dist/blockchain/wallets/SendTransactionService.d.cts +84 -0
  27. package/dist/blockchain/wallets/SendTransactionService.d.ts +84 -0
  28. package/dist/blockchain/wallets/SendTransactionService.js +1 -0
  29. package/dist/blockchain/wallets/account/cache.cjs +1 -0
  30. package/dist/blockchain/wallets/account/cache.d.cts +25 -0
  31. package/dist/blockchain/wallets/account/cache.d.ts +25 -0
  32. package/dist/blockchain/wallets/account/cache.js +1 -0
  33. package/dist/blockchain/wallets/account/config.cjs +1 -0
  34. package/dist/blockchain/wallets/account/config.d.cts +47 -0
  35. package/dist/blockchain/wallets/account/config.d.ts +47 -0
  36. package/dist/blockchain/wallets/account/config.js +1 -0
  37. package/dist/blockchain/wallets/account/creator.cjs +1 -0
  38. package/dist/blockchain/wallets/account/creator.d.cts +26 -0
  39. package/dist/blockchain/wallets/account/creator.d.ts +26 -0
  40. package/dist/blockchain/wallets/account/creator.js +1 -0
  41. package/dist/blockchain/wallets/account/eoa.cjs +1 -0
  42. package/dist/blockchain/wallets/account/eoa.d.cts +21 -0
  43. package/dist/blockchain/wallets/account/eoa.d.ts +21 -0
  44. package/dist/blockchain/wallets/account/eoa.js +1 -0
  45. package/dist/blockchain/wallets/account/passkey.cjs +1 -0
  46. package/dist/blockchain/wallets/account/passkey.d.cts +29 -0
  47. package/dist/blockchain/wallets/account/passkey.d.ts +29 -0
  48. package/dist/blockchain/wallets/account/passkey.js +1 -0
  49. package/dist/blockchain/wallets/account/signer.cjs +1 -0
  50. package/dist/blockchain/wallets/account/signer.d.cts +14 -0
  51. package/dist/blockchain/wallets/account/signer.d.ts +14 -0
  52. package/dist/blockchain/wallets/account/signer.js +1 -0
  53. package/dist/blockchain/wallets/account/strategy.cjs +1 -0
  54. package/dist/blockchain/wallets/account/strategy.d.cts +20 -0
  55. package/dist/blockchain/wallets/account/strategy.d.ts +20 -0
  56. package/dist/blockchain/wallets/account/strategy.js +0 -0
  57. package/dist/blockchain/wallets/clientDecorator.cjs +1 -0
  58. package/dist/blockchain/wallets/clientDecorator.d.cts +38 -0
  59. package/dist/blockchain/wallets/clientDecorator.d.ts +38 -0
  60. package/dist/blockchain/wallets/clientDecorator.js +1 -0
  61. package/dist/blockchain/wallets/index.cjs +1 -0
  62. package/dist/blockchain/wallets/index.d.cts +20 -0
  63. package/dist/blockchain/wallets/index.d.ts +20 -0
  64. package/dist/blockchain/wallets/index.js +1 -0
  65. package/dist/blockchain/wallets/paymaster.cjs +1 -0
  66. package/dist/blockchain/wallets/paymaster.d.cts +29 -0
  67. package/dist/blockchain/wallets/paymaster.d.ts +29 -0
  68. package/dist/blockchain/wallets/paymaster.js +1 -0
  69. package/dist/blockchain/wallets/service.cjs +1 -0
  70. package/dist/blockchain/wallets/service.d.cts +41 -0
  71. package/dist/blockchain/wallets/service.d.ts +41 -0
  72. package/dist/blockchain/wallets/service.js +1 -0
  73. package/dist/chunk-27US7ZBX.js +1 -0
  74. package/dist/chunk-2GS5TXEY.cjs +1 -0
  75. package/dist/chunk-2R6HK64N.cjs +1 -0
  76. package/dist/chunk-3F6P4HUZ.js +1 -0
  77. package/dist/chunk-4SPA557P.js +0 -0
  78. package/dist/chunk-5M3MSPHK.cjs +1 -0
  79. package/dist/chunk-6DE5YEO5.cjs +1 -0
  80. package/dist/chunk-7AVDZZGD.cjs +1 -0
  81. package/dist/chunk-7FXFOOQU.cjs +1 -0
  82. package/dist/chunk-7JAT6GQU.js +1 -0
  83. package/dist/chunk-ATQ4WGCW.js +1 -0
  84. package/dist/chunk-B3LJJZXD.cjs +2 -0
  85. package/dist/chunk-BJZQA5VC.js +1 -0
  86. package/dist/chunk-BXXREMNR.cjs +1 -0
  87. package/dist/chunk-C3VZY7VJ.js +1 -0
  88. package/dist/chunk-CPYNP4XI.js +1 -0
  89. package/dist/chunk-CUTQYF3F.js +1 -0
  90. package/dist/chunk-D4NDUT36.js +1 -0
  91. package/dist/chunk-DIDKPOO2.cjs +1 -0
  92. package/dist/chunk-ETVJGLNY.js +1 -0
  93. package/dist/chunk-FHNNZVNU.js +1 -0
  94. package/dist/chunk-FIJ3CBJ4.js +3 -0
  95. package/dist/chunk-G57LROTD.js +1 -0
  96. package/dist/chunk-GB35YMN4.cjs +1 -0
  97. package/dist/chunk-H4CMXNVK.js +1 -0
  98. package/dist/chunk-IQTGPM2U.cjs +1 -0
  99. package/dist/chunk-KYPTGHC6.cjs +1 -0
  100. package/dist/chunk-LMVY4C4Y.js +1 -0
  101. package/dist/chunk-M4K3IZTT.cjs +1 -0
  102. package/dist/chunk-NLGILHJS.js +1 -0
  103. package/dist/chunk-O2ACORII.cjs +1 -0
  104. package/dist/chunk-OCJYX5QF.cjs +1 -0
  105. package/dist/chunk-ODAUWGUU.cjs +1 -0
  106. package/dist/chunk-PBUJXVQT.js +1 -0
  107. package/dist/chunk-PLRQBDYS.cjs +1 -0
  108. package/dist/chunk-PPTSNCSQ.cjs +1 -0
  109. package/dist/chunk-PZ6Q22YJ.js +1 -0
  110. package/dist/chunk-Q44P7MO7.cjs +1 -0
  111. package/dist/chunk-QVB3HE6Q.js +2 -0
  112. package/dist/chunk-S2XBSAGM.js +1 -0
  113. package/dist/chunk-SCXFZMLR.cjs +1 -0
  114. package/dist/chunk-STH2LE35.cjs +1 -0
  115. package/dist/chunk-SWWOVT47.cjs +1 -0
  116. package/dist/chunk-TZG6MROQ.js +1 -0
  117. package/dist/chunk-UG47CBKR.js +1 -0
  118. package/dist/chunk-UPURFW46.js +1 -0
  119. package/dist/chunk-WDM7PN4O.js +1 -0
  120. package/dist/chunk-WJ6XJMRD.cjs +1 -0
  121. package/dist/chunk-WTPE2I2Q.cjs +1 -0
  122. package/dist/chunk-XHSA4YTO.cjs +3 -0
  123. package/dist/chunk-XJGFG3RT.cjs +1 -0
  124. package/dist/chunk-XP6ESWVJ.js +1 -0
  125. package/dist/chunk-XQ2K2K23.cjs +1 -0
  126. package/dist/chunk-YBHSEZMB.js +1 -0
  127. package/dist/chunk-YZQJV2KA.cjs +1 -0
  128. package/dist/chunk-Z22H3MJS.js +1 -0
  129. package/dist/error/index.cjs +1 -0
  130. package/dist/error/index.d.cts +58 -0
  131. package/dist/error/index.d.ts +58 -0
  132. package/dist/error/index.js +1 -0
  133. package/dist/error/processor.cjs +1 -0
  134. package/dist/error/processor.d.cts +25 -0
  135. package/dist/error/processor.d.ts +25 -0
  136. package/dist/error/processor.js +1 -0
  137. package/dist/index.cjs +1 -5
  138. package/dist/index.d.cts +20 -559
  139. package/dist/index.d.ts +20 -559
  140. package/dist/index.js +1 -5
  141. package/dist/service-DqYCir8s.d.ts +103 -0
  142. package/dist/service-Ir-Qho-9.d.cts +103 -0
  143. package/dist/services/index.cjs +1 -0
  144. package/dist/services/index.d.cts +2 -0
  145. package/dist/services/index.d.ts +2 -0
  146. package/dist/services/index.js +1 -0
  147. package/dist/services/logger.cjs +1 -0
  148. package/dist/services/logger.d.cts +6 -0
  149. package/dist/services/logger.d.ts +6 -0
  150. package/dist/services/logger.js +1 -0
  151. package/dist/types/internal.cjs +1 -0
  152. package/dist/types/internal.d.cts +14 -0
  153. package/dist/types/internal.d.ts +14 -0
  154. package/dist/types/internal.js +1 -0
  155. package/dist/types/params.cjs +1 -0
  156. package/dist/types/params.d.cts +33 -0
  157. package/dist/types/params.d.ts +33 -0
  158. package/dist/types/params.js +0 -0
  159. package/dist/types/schema.cjs +1 -0
  160. package/dist/types/schema.d.cts +241 -0
  161. package/dist/types/schema.d.ts +241 -0
  162. package/dist/types/schema.js +1 -0
  163. package/dist/types/service.cjs +1 -0
  164. package/dist/types/service.d.cts +14 -0
  165. package/dist/types/service.d.ts +14 -0
  166. package/dist/types/service.js +0 -0
  167. package/dist/types/token.cjs +1 -0
  168. package/dist/types/token.d.cts +35 -0
  169. package/dist/types/token.d.ts +35 -0
  170. package/dist/types/token.js +0 -0
  171. package/dist/utils/api.cjs +1 -0
  172. package/dist/utils/api.d.cts +4 -0
  173. package/dist/utils/api.d.ts +4 -0
  174. package/dist/utils/api.js +1 -0
  175. package/dist/utils/blockchain.cjs +1 -0
  176. package/dist/utils/blockchain.d.cts +7 -0
  177. package/dist/utils/blockchain.d.ts +7 -0
  178. package/dist/utils/blockchain.js +1 -0
  179. package/dist/utils/constants.cjs +1 -0
  180. package/dist/utils/constants.d.cts +9 -0
  181. package/dist/utils/constants.d.ts +9 -0
  182. package/dist/utils/constants.js +1 -0
  183. package/dist/utils/environment.cjs +1 -0
  184. package/dist/utils/environment.d.cts +3 -0
  185. package/dist/utils/environment.d.ts +3 -0
  186. package/dist/utils/environment.js +1 -0
  187. package/dist/utils/helpers.cjs +1 -0
  188. package/dist/utils/helpers.d.cts +4 -0
  189. package/dist/utils/helpers.d.ts +4 -0
  190. package/dist/utils/helpers.js +1 -0
  191. package/dist/utils/signer.cjs +1 -0
  192. package/dist/utils/signer.d.cts +15 -0
  193. package/dist/utils/signer.d.ts +15 -0
  194. package/dist/utils/signer.js +1 -0
  195. package/dist/utils/test.cjs +1 -0
  196. package/dist/utils/test.d.cts +18 -0
  197. package/dist/utils/test.d.ts +18 -0
  198. package/dist/utils/test.js +1 -0
  199. package/package.json +4 -5
  200. package/dist/index.cjs.map +0 -1
  201. package/dist/index.js.map +0 -1
@@ -0,0 +1,58 @@
1
+ import { CrossmintSDKError, SmartWalletErrorCode } from '@crossmint/client-sdk-base';
2
+ import { a as SignerDisplay, P as PasskeyDisplay } from '../service-DqYCir8s.js';
3
+ import 'zod';
4
+ import '@zerodev/sdk';
5
+ import 'permissionless';
6
+ import 'permissionless/accounts';
7
+ import 'permissionless/types/entrypoint';
8
+ import 'viem';
9
+ import '../blockchain/chains.js';
10
+ import 'viem/chains';
11
+ import '@crossmint/common-sdk-base';
12
+ import '../types/schema.js';
13
+ import '@zerodev/passkey-validator';
14
+ import '../utils/constants.js';
15
+ import '../types/params.js';
16
+
17
+ declare class SmartWalletError extends CrossmintSDKError {
18
+ constructor(message: string, details?: string, code?: SmartWalletErrorCode);
19
+ }
20
+ declare class AdminMismatchError extends SmartWalletError {
21
+ readonly required: SignerDisplay;
22
+ readonly used?: SignerDisplay;
23
+ constructor(message: string, required: SignerDisplay, used?: SignerDisplay);
24
+ }
25
+ declare class PasskeyMismatchError extends SmartWalletError {
26
+ readonly required: PasskeyDisplay;
27
+ readonly used?: PasskeyDisplay;
28
+ constructor(message: string, required: PasskeyDisplay, used?: PasskeyDisplay);
29
+ }
30
+ declare class UserWalletAlreadyCreatedError extends SmartWalletError {
31
+ readonly code: "smart-wallet:user-wallet-already-created";
32
+ constructor(userId: string);
33
+ }
34
+ declare class PasskeyPromptError extends SmartWalletError {
35
+ passkeyName: string;
36
+ constructor(passkeyName: string);
37
+ }
38
+ declare class PasskeyRegistrationError extends SmartWalletError {
39
+ passkeyName: string;
40
+ constructor(passkeyName: string);
41
+ }
42
+ declare class PasskeyIncompatibleAuthenticatorError extends SmartWalletError {
43
+ passkeyName: string;
44
+ constructor(passkeyName: string);
45
+ }
46
+ declare class ConfigError extends SmartWalletError {
47
+ constructor(message: string);
48
+ }
49
+ declare class AdminAlreadyUsedError extends ConfigError {
50
+ readonly code: "smart-wallet:config.admin-signer-already-used";
51
+ constructor();
52
+ }
53
+ declare class SmartWalletsNotEnabledError extends ConfigError {
54
+ readonly code: "smart-wallet:not-enabled";
55
+ constructor();
56
+ }
57
+
58
+ export { AdminAlreadyUsedError, AdminMismatchError, ConfigError, PasskeyIncompatibleAuthenticatorError, PasskeyMismatchError, PasskeyPromptError, PasskeyRegistrationError, SmartWalletError, SmartWalletsNotEnabledError, UserWalletAlreadyCreatedError };
@@ -0,0 +1 @@
1
+ import{a,b,c,d,e,f,g,h,i,j}from"../chunk-UPURFW46.js";export{i as AdminAlreadyUsedError,b as AdminMismatchError,h as ConfigError,g as PasskeyIncompatibleAuthenticatorError,c as PasskeyMismatchError,e as PasskeyPromptError,f as PasskeyRegistrationError,a as SmartWalletError,j as SmartWalletsNotEnabledError,d as UserWalletAlreadyCreatedError};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOCJYX5QFcjs = require('../chunk-OCJYX5QF.cjs');require('../chunk-5M3MSPHK.cjs');require('../chunk-M4K3IZTT.cjs');exports.ErrorProcessor = _chunkOCJYX5QFcjs.a;
@@ -0,0 +1,25 @@
1
+ import { BaseError } from 'viem';
2
+ import { SDKLogger } from '@crossmint/client-sdk-base';
3
+ import { SmartWalletError } from './index.cjs';
4
+ import '../service-Ir-Qho-9.cjs';
5
+ import 'zod';
6
+ import '@zerodev/sdk';
7
+ import 'permissionless';
8
+ import 'permissionless/accounts';
9
+ import 'permissionless/types/entrypoint';
10
+ import '../blockchain/chains.cjs';
11
+ import 'viem/chains';
12
+ import '@crossmint/common-sdk-base';
13
+ import '../types/schema.cjs';
14
+ import '@zerodev/passkey-validator';
15
+ import '../utils/constants.cjs';
16
+ import '../types/params.cjs';
17
+
18
+ declare class ErrorProcessor {
19
+ private readonly logger;
20
+ constructor(logger: SDKLogger);
21
+ map(error: unknown, fallback: SmartWalletError): SmartWalletError | BaseError;
22
+ private record;
23
+ }
24
+
25
+ export { ErrorProcessor };
@@ -0,0 +1,25 @@
1
+ import { BaseError } from 'viem';
2
+ import { SDKLogger } from '@crossmint/client-sdk-base';
3
+ import { SmartWalletError } from './index.js';
4
+ import '../service-DqYCir8s.js';
5
+ import 'zod';
6
+ import '@zerodev/sdk';
7
+ import 'permissionless';
8
+ import 'permissionless/accounts';
9
+ import 'permissionless/types/entrypoint';
10
+ import '../blockchain/chains.js';
11
+ import 'viem/chains';
12
+ import '@crossmint/common-sdk-base';
13
+ import '../types/schema.js';
14
+ import '@zerodev/passkey-validator';
15
+ import '../utils/constants.js';
16
+ import '../types/params.js';
17
+
18
+ declare class ErrorProcessor {
19
+ private readonly logger;
20
+ constructor(logger: SDKLogger);
21
+ map(error: unknown, fallback: SmartWalletError): SmartWalletError | BaseError;
22
+ private record;
23
+ }
24
+
25
+ export { ErrorProcessor };
@@ -0,0 +1 @@
1
+ import{a}from"../chunk-7JAT6GQU.js";import"../chunk-WDM7PN4O.js";import"../chunk-UPURFW46.js";export{a as ErrorProcessor};
package/dist/index.cjs CHANGED
@@ -1,5 +1 @@
1
- "use strict";var ce=Object.defineProperty;var Xe=Object.getOwnPropertyDescriptor;var Ze=Object.getOwnPropertyNames;var Qe=Object.prototype.hasOwnProperty;var et=(r,e)=>{for(var t in e)ce(r,t,{get:e[t],enumerable:!0})},tt=(r,e,t,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of Ze(e))!Qe.call(r,a)&&a!==t&&ce(r,a,{get:()=>e[a],enumerable:!(n=Xe(e,a))||n.enumerable});return r};var rt=r=>tt(ce({},"__esModule",{value:!0}),r);var vt={};et(vt,{AdminAlreadyUsedError:()=>w,AdminMismatchError:()=>C,Chain:()=>le.EVMBlockchainIncludingTestnet,ConfigError:()=>P,CrossmintSDKError:()=>d.CrossmintSDKError,CrossmintServiceError:()=>d.CrossmintServiceError,EVMSendTransactionError:()=>E,EVMSendTransactionExecutionRevertedError:()=>k,EVMSmartWallet:()=>O,JWTDecryptionError:()=>d.JWTDecryptionError,JWTExpiredError:()=>d.JWTExpiredError,JWTIdentifierError:()=>d.JWTIdentifierError,JWTInvalidError:()=>d.JWTInvalidError,NotAuthorizedError:()=>d.NotAuthorizedError,PasskeyIncompatibleAuthenticatorError:()=>v,PasskeyMismatchError:()=>A,PasskeyPromptError:()=>b,PasskeyRegistrationError:()=>x,SmartWalletError:()=>l,SmartWalletErrorCode:()=>d.SmartWalletErrorCode,SmartWalletSDK:()=>oe,SmartWalletsNotEnabledError:()=>W,UserWalletAlreadyCreatedError:()=>T,blockchainToChainId:()=>le.blockchainToChainId});module.exports=rt(vt);var le=require("@crossmint/common-sdk-base");var u=require("@crossmint/client-sdk-base"),l=class extends u.CrossmintSDKError{constructor(e,t,n=u.SmartWalletErrorCode.UNCATEGORIZED){super(e,n,t)}},C=class extends l{constructor(e,t,n){super(e,u.SmartWalletErrorCode.ADMIN_MISMATCH),this.required=t,this.used=n}},A=class extends l{constructor(e,t,n){super(e,u.SmartWalletErrorCode.PASSKEY_MISMATCH),this.required=t,this.used=n}},T=class extends l{constructor(t){super(`The user with userId ${t.toString()} already has a wallet created for this project`);this.code=u.SmartWalletErrorCode.USER_WALLET_ALREADY_CREATED}},b=class extends l{constructor(e){super(`Prompt was either cancelled or timed out for passkey ${e}`,void 0,u.SmartWalletErrorCode.PASSKEY_PROMPT),this.passkeyName=e}},x=class extends l{constructor(e){super(`Registration for passkey ${e} failed, either the registration took too long, or passkey signature vaildation failed.`,void 0,u.SmartWalletErrorCode.PASSKEY_REGISTRATION),this.passkeyName=e}},v=class extends l{constructor(e){super(`User selected authenticator for passkey ${e} is not compatible with Crossmint's Smart Wallets.`,void 0,u.SmartWalletErrorCode.PASSKEY_INCOMPATIBLE_AUTHENTICATOR),this.passkeyName=e}},P=class extends l{constructor(e){super(e,void 0,u.SmartWalletErrorCode.WALLET_CONFIG)}},w=class extends P{constructor(){super("This signer was already used to create another wallet. Please use a different signer.");this.code=u.SmartWalletErrorCode.ADMIN_SIGNER_ALREADY_USED}},W=class extends P{constructor(){super("Smart wallets are not enabled for this project. They can be enabled on the project settings page in the developer console.");this.code=u.SmartWalletErrorCode.SMART_WALLETS_NOT_ENABLED}};var K=require("viem");var ge=[{inputs:[{internalType:"string",name:"uri_",type:"string"}],stateMutability:"nonpayable",type:"constructor"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"account",type:"address"},{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!1,internalType:"bool",name:"approved",type:"bool"}],name:"ApprovalForAll",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256[]",name:"ids",type:"uint256[]"},{indexed:!1,internalType:"uint256[]",name:"values",type:"uint256[]"}],name:"TransferBatch",type:"event"},{anonymous:!1,inputs:[{indexed:!0,internalType:"address",name:"operator",type:"address"},{indexed:!0,internalType:"address",name:"from",type:"address"},{indexed:!0,internalType:"address",name:"to",type:"address"},{indexed:!1,internalType:"uint256",name:"id",type:"uint256"},{indexed:!1,internalType:"uint256",name:"value",type:"uint256"}],name:"TransferSingle",type:"event"},{anonymous:!1,inputs:[{indexed:!1,internalType:"string",name:"value",type:"string"},{indexed:!0,internalType:"uint256",name:"id",type:"uint256"}],name:"URI",type:"event"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"uint256",name:"id",type:"uint256"}],name:"balanceOf",outputs:[{internalType:"uint256",name:"",type:"uint256"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address[]",name:"accounts",type:"address[]"},{internalType:"uint256[]",name:"ids",type:"uint256[]"}],name:"balanceOfBatch",outputs:[{internalType:"uint256[]",name:"",type:"uint256[]"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"account",type:"address"},{internalType:"address",name:"operator",type:"address"}],name:"isApprovedForAll",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256[]",name:"ids",type:"uint256[]"},{internalType:"uint256[]",name:"amounts",type:"uint256[]"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeBatchTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"from",type:"address"},{internalType:"address",name:"to",type:"address"},{internalType:"uint256",name:"id",type:"uint256"},{internalType:"uint256",name:"amount",type:"uint256"},{internalType:"bytes",name:"data",type:"bytes"}],name:"safeTransferFrom",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"address",name:"operator",type:"address"},{internalType:"bool",name:"approved",type:"bool"}],name:"setApprovalForAll",outputs:[],stateMutability:"nonpayable",type:"function"},{inputs:[{internalType:"bytes4",name:"interfaceId",type:"bytes4"}],name:"supportsInterface",outputs:[{internalType:"bool",name:"",type:"bool"}],stateMutability:"view",type:"function"},{inputs:[{internalType:"uint256",name:"",type:"uint256"}],name:"uri",outputs:[{internalType:"string",name:"",type:"string"}],stateMutability:"view",type:"function"}];function fe({contract:r,config:e,from:t,to:n}){switch(e.token.type){case"ft":return{account:t,address:r,abi:K.erc20Abi,functionName:"transfer",args:[n,e.amount]};case"sft":return{account:t,address:r,abi:ge,functionName:"safeTransferFrom",args:[t.address,n,e.token.tokenId,e.quantity,"0x00"],tokenId:e.token.tokenId};case"nft":return{account:t,address:r,abi:K.erc721Abi,functionName:"safeTransferFrom",args:[t.address,n,e.token.tokenId],tokenId:e.token.tokenId}}}var f=require("viem"),M=require("@crossmint/client-sdk-base"),E=class extends M.CrossmintSDKError{constructor(t,n,a,s=M.WalletErrorCode.SEND_TRANSACTION_FAILED){super(t,s);this.viemError=n;this.stage=a}},k=class extends E{constructor(t,n,a,s,i,o=a.data,c=a.reason){super(t,n,i,M.WalletErrorCode.SEND_TRANSACTION_EXECUTION_REVERTED);this.viemError=n;this.txId=s;this.stage=i;this.data=o;this.reason=c}},$=class{constructor(e,t={confirmations:2,transactionConfirmationTimeout:3e4}){this.client=e;this.defaultSendTransactionOptions=t}async sendTransaction(e,t={}){let{confirmations:n,transactionConfirmationTimeout:a}=this.getConfig(t);await this.simulateCall(e,void 0,"simulation");let s;try{s=await this.client.wallet.writeContract({...e,account:this.client.wallet.account,chain:this.client.wallet.chain})}catch(i){throw i instanceof f.BaseError?new E(i.message,i,"send"):i}try{let i=await this.client.public.waitForTransactionReceipt({hash:s,confirmations:n,timeout:a});return await this.handleReceipt(i,e)}catch(i){throw i instanceof f.BaseError?new E(i.message,i,"confirmation"):i}}getConfig(e){return{...this.defaultSendTransactionOptions,...e}}async handleReceipt(e,t){if(e.status==="reverted")throw await this.simulateCall(t,e.transactionHash,"execution"),new k("Transaction reverted but unable to detect the reason",new f.ContractFunctionRevertedError({abi:t.abi,functionName:t.functionName}),new f.ContractFunctionRevertedError({abi:t.abi,functionName:t.functionName}),e.transactionHash,"execution");return e.transactionHash}async simulateCall(e,t,n){try{await this.client.public.simulateContract({...e,account:this.client.wallet.account.address,chain:this.client.public.chain})}catch(a){if(a instanceof f.BaseError){let s=a.walk(i=>i instanceof f.ContractFunctionRevertedError);throw s instanceof f.ContractFunctionRevertedError?new k(s.message,a,s,t,n):new E(a.message,a,n)}throw a}}};var O=class{constructor(e,t,n,a=new $(e)){this.crossmintService=n;this.sendTransactionService=a;this.chain=t,this.client=e}get address(){return this.client.wallet.account.address}async transferToken(e,t){if(this.chain!==t.token.chain)throw new l(`Chain mismatch: Expected ${t.token.chain}, but got ${this.chain}. Ensure you are interacting with the correct blockchain.`);return this.executeContract(fe({contract:t.token.contractAddress,to:e,from:this.client.wallet.account,config:t}))}async nfts(){return this.crossmintService.fetchNFTs(this.address,this.chain)}async executeContract({address:e,abi:t,functionName:n,args:a,value:s,config:i}){return this.sendTransactionService.sendTransaction({address:e,abi:t,functionName:n,args:a,value:s},i)}};var d=require("@crossmint/client-sdk-base");var ze=require("viem"),Je=require("@crossmint/common-sdk-base");var R=require("@crossmint/client-sdk-base"),xe=require("@crossmint/common-sdk-base");var V=require("@crossmint/client-sdk-base");var Se="0.1.19";var he="ZeroDev",Ce=0,F="SCW_SDK",B=Se,Y="2024-06-09",pe=["0.3.1","0.3.0","0.2.4"],me=["v0.6","v0.7"];var I=new V.SDKLogger(F),Pe=new V.SDKLogger(F,(0,V.getBrowserLogger)(F,{onlyDatadog:!0}));var Ee=require("@zerodev/passkey-validator"),j=require("viem"),p=require("zod");var it=p.z.custom(r=>(0,j.isHex)(r),{message:"Invalid hex string"}),H=p.z.custom(r=>(0,j.isAddress)(r),{message:"Invalid evm address"}),st=p.z.object({eoaAddress:H,type:p.z.literal("eoa")}),ot=p.z.object({entryPoint:H,validatorAddress:H,pubKeyX:p.z.string(),pubKeyY:p.z.string(),authenticatorIdHash:it,authenticatorId:p.z.string()}),lt=ot.extend({passkeyName:p.z.string(),validatorContractVersion:p.z.nativeEnum(Ee.PasskeyValidatorContractVersion),domain:p.z.string(),type:p.z.literal("passkeys")}),ct=p.z.discriminatedUnion("type",[lt,st]),G=p.z.object({kernelVersion:p.z.enum(pe,{errorMap:(r,e)=>({message:`Unsupported kernel version. Supported versions: ${pe.join(", ")}. Version used: ${e.data}. Please contact support`})}),entryPointVersion:p.z.enum(me,{errorMap:(r,e)=>({message:`Unsupported entry point version. Supported versions: ${me.join(", ")}. Version used: ${e.data}. Please contact support`})}),userId:p.z.string().min(1),signers:p.z.array(p.z.object({signerData:ct})).min(0).max(1,"Invalid wallet signer configuration. Please contact support"),smartContractWalletAddress:H.optional()});var Ae=require("viem");function z(r,e){let t=e(r);return t.replace?t.value:Array.isArray(r)?r.map(n=>z(n,e)):r!==null&&typeof r=="object"?Object.fromEntries(Object.entries(r).map(([n,a])=>[n,z(a,e)])):t.value}function Te(r){return z(r,e=>typeof e=="bigint"?{value:(0,Ae.toHex)(e),replace:!0}:{value:e,replace:!1})}function be(r){return z(r,e=>e!=null&&typeof e=="object"&&"__xm_serializedType"in e&&"value"in e&&e.__xm_serializedType==="bigint"&&typeof e.value=="string"?{value:BigInt(e.value),replace:!0}:{value:e,replace:!1})}var J=class extends R.BaseCrossmintService{constructor(){super(...arguments);this.logger=I;this.apiErrorService=new R.APIErrorService({ERROR_USER_WALLET_ALREADY_CREATED:({userId:t})=>new T(t),ERROR_ADMIN_SIGNER_ALREADY_USED:()=>new w,ERROR_PROJECT_NONCUSTODIAL_WALLETS_NOT_ENABLED:()=>new W})}async idempotentCreateSmartWallet(t,n){await this.fetchCrossmintAPI(`${Y}/sdk/smart-wallet`,{method:"PUT",body:JSON.stringify(n)},"Error creating abstract wallet. Please contact support",t.jwt)}async sponsorUserOperation(t,n,a,s){let i=(0,xe.blockchainToChainId)(s),o=await this.fetchCrossmintAPI(`${Y}/sdk/paymaster`,{method:"POST",body:JSON.stringify({userOp:Te(n),entryPoint:a,chainId:i})},"Error sponsoring user operation. Please contact support",t.jwt);return be(o)}async getSmartWalletConfig(t,n){let a=await this.fetchCrossmintAPI(`${Y}/sdk/smart-wallet/config?chain=${n}`,{method:"GET"},"Error getting smart wallet version configuration. Please contact support",t.jwt),s=G.safeParse(a);if(!s.success)throw new R.CrossmintServiceError(`Invalid smart wallet config, please contact support. Details below:
2
- ${s.error.toString()}`);return s.data}async fetchNFTs(t,n){return this.fetchCrossmintAPI(`v1-alpha1/wallets/${n}:${t}/nfts`,{method:"GET"},`Error fetching NFTs for wallet: ${t}`)}getPasskeyServerUrl(){return this.crossmintBaseUrl+"api/internal/passkeys"}};var m=require("viem/chains"),y=require("@crossmint/common-sdk-base"),ve={BASE_SEPOLIA:y.BlockchainIncludingTestnet.BASE_SEPOLIA,POLYGON_AMOY:y.BlockchainIncludingTestnet.POLYGON_AMOY,OPTIMISM_SEPOLIA:y.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA,ARBITRUM_SEPOLIA:y.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA},pt=(0,y.objectValues)(ve),we={BASE:y.BlockchainIncludingTestnet.BASE,POLYGON:y.BlockchainIncludingTestnet.POLYGON,OPTIMISM:y.BlockchainIncludingTestnet.OPTIMISM,ARBITRUM:y.BlockchainIncludingTestnet.ARBITRUM},mt=(0,y.objectValues)(we),dt={...ve,...we},Xt=(0,y.objectValues)(dt);function We(r){return pt.includes(r)}function ke(r){return mt.includes(r)}var Oe={polygon:m.polygon,"polygon-amoy":m.polygonAmoy,base:m.base,"base-sepolia":m.baseSepolia,optimism:m.optimism,"optimism-sepolia":m.optimismSepolia,arbitrum:m.arbitrum,"arbitrum-sepolia":m.arbitrumSepolia};var X=require("viem");var q=class{constructor(e){this.keyPrefix=e}set(e,t){localStorage.setItem(this.key(e),JSON.stringify(t))}get(e){let t=this.key(e),n=localStorage.getItem(t);if(n==null)return null;let a=G.safeParse(JSON.parse(n));return a.success?a.data:(localStorage.removeItem(t),null)}clear(){for(let e=0;e<localStorage.length;e++){let t=localStorage.key(e);t&&t.startsWith(this.keyPrefix)&&(localStorage.removeItem(t),e--)}}key(e){return`${this.keyPrefix}-${(0,X.keccak256)((0,X.toHex)(e.jwt))}`}};var _=class{constructor(e){this.type="passkeys";this.data=e}display(){return{pubKeyX:this.data.pubKeyX,pubKeyY:this.data.pubKeyY,passkeyName:this.data.passkeyName,type:this.type}}},D=class{constructor(e){this.type="eoa";this.data=e}display(){return this.data}};var Z=class{constructor(e,t){this.crossmintService=e;this.configCache=t}async get(e,t){let n=this.configCache.get(e);if(n!=null)return{config:this.validateAndFormat(e,n),cached:!0};let a=await this.crossmintService.getSmartWalletConfig(e,t);return{config:this.validateAndFormat(e,a),cached:!1}}cache({entryPointVersion:e,kernelVersion:t,user:n,existing:a}){this.configCache.clear(),this.configCache.set(n,{entryPointVersion:e,kernelVersion:t,userId:n.id,signers:[{signerData:a.signerConfig.data}],smartContractWalletAddress:a.address})}validateAndFormat(e,{entryPointVersion:t,kernelVersion:n,signers:a,smartContractWalletAddress:s,userId:i}){if(t==="v0.7"&&n.startsWith("0.2")||t==="v0.6"&&n.startsWith("0.3"))throw new l(`Unsupported combination: entryPoint ${t} and kernel version ${n}. Please contact support`);let o=a.map(g=>g.signerData),c=this.getSigner(o);if(s!=null&&c==null||c!=null&&s==null)throw new l("Either both signer and address must be present, or both must be null");return c==null||s==null?{entryPointVersion:t,kernelVersion:n,userWithId:{...e,id:i}}:{entryPointVersion:t,kernelVersion:n,userWithId:{...e,id:i},existing:{signerConfig:c,address:s}}}getSigner(e){if(e.length===0)return;let t=e[0];if(t.type==="eoa")return new D(t);if(t.type==="passkeys")return new _(t)}};function de(r){return"signer"in r&&"type"in r.signer&&r.signer.type==="PASSKEY"}function Ie(r){let e=r.existing==null||r.existing.signerConfig.type==="passkeys";return de(r.walletParams)&&e}function ut(r){return"signer"in r&&("type"in r.signer&&r.signer.type==="VIEM_ACCOUNT"||"request"in r.signer&&typeof r.signer.request=="function")}function Re(r){let e=r.existing==null||r.existing.signerConfig.type==="eoa";return ut(r.walletParams)&&e}var Q=class{constructor(e,t){this.eoaStrategy=e;this.passkeyStrategy=t}get(e){if(Ie(e))return this.passkeyStrategy.create(e);if(Re(e))return this.eoaStrategy.create(e);if(e.existing==null)throw new P(`Unsupported wallet params:
3
- ${e.walletParams}`);let t=e.existing.signerConfig.display(),n=de(e.walletParams)?"passkey":"eoa";throw new C(`Cannot create wallet with ${n} signer for user ${e.user.id}', they already have a wallet with signer:
4
- '${JSON.stringify(t,null,2)}'`,t)}};var Ue=require("@zerodev/ecdsa-validator"),Me=require("@zerodev/sdk");function _e(r,e){return r?.toLowerCase()===e?.toLowerCase()}var De=require("permissionless");async function Ne({walletParams:r}){if(yt(r.signer))return await(0,De.providerToSmartAccountSigner)(r.signer);if(gt(r.signer))return r.signer.account;{let e=r.signer;throw new l(`The signer type ${e.type} is not supported`)}}function yt(r){return r&&typeof r.request=="function"}function gt(r){return r&&r.type==="VIEM_ACCOUNT"}var ee=class{async create({chain:e,publicClient:t,entryPoint:n,walletParams:a,kernelVersion:s,user:i,existing:o}){let c=await Ne({chain:e,walletParams:a});if(o!=null&&!_e(c.address,o.signerConfig.data.eoaAddress))throw new C(`User '${i.id}' has an existing wallet with an eoa signer '${o.signerConfig.data.eoaAddress}', this does not match input eoa signer '${c.address}'.`,o.signerConfig.display(),{type:"eoa",eoaAddress:o.signerConfig.data.eoaAddress});let g=await(0,Ue.signerToEcdsaValidator)(t,{signer:c,entryPoint:n,kernelVersion:s});return{account:await(0,Me.createKernelAccount)(t,{plugins:{sudo:g},index:0n,entryPoint:n,kernelVersion:s,deployedAccountAddress:o?.address}),signerConfig:new D({eoaAddress:c.address,type:"eoa"})}}};var N=require("@zerodev/passkey-validator"),Ve=require("@zerodev/sdk"),Le=require("@zerodev/webauthn-key");var te=class{constructor(e,t){this.passkeyServerUrl=e;this.apiKey=t}async create({user:e,publicClient:t,walletParams:n,entryPoint:a,kernelVersion:s,existing:i}){let o=n.signer.passkeyName??e.id;if(i!=null&&i.signerConfig.data.passkeyName!==o)throw new A(`User '${e.id}' has an existing wallet created with a passkey named '${i.signerConfig.data.passkeyName}', this does match input passkey name '${o}'.`,i.signerConfig.display());try{i==null&&n.signer.onPrePasskeyRegistration!=null&&await n.signer.onPrePasskeyRegistration();let c=await this.getPasskey(e,o,i?.signerConfig.data),g=N.PasskeyValidatorContractVersion.V0_0_2,S=i==null?g:i.signerConfig.data.validatorContractVersion,h=await(0,N.toPasskeyValidator)(t,{webAuthnKey:c,entryPoint:a,validatorContractVersion:S,kernelVersion:s}),qe=await(0,Ve.createKernelAccount)(t,{plugins:{sudo:h},entryPoint:a,kernelVersion:s,deployedAccountAddress:i?.address});return{signerConfig:this.getSignerConfig(h,S,o),account:this.decorate(qe,o,n)}}catch(c){throw n.signer.onPasskeyRegistrationError!=null&&n.signer.onPasskeyRegistrationError(c),this.mapError(c,o)}}async getPasskey(e,t,n){return n!=null?{pubX:BigInt(n.pubKeyX),pubY:BigInt(n.pubKeyY),authenticatorId:n.authenticatorId,authenticatorIdHash:n.authenticatorIdHash}:(0,Le.toWebAuthnKey)({passkeyName:t,passkeyServerUrl:this.passkeyServerUrl,mode:N.WebAuthnMode.Register,passkeyServerHeaders:this.createPasskeysServerHeaders(e)})}getSignerConfig(e,t,n){return new _({...ht(e.getSerializedData()),passkeyName:n,validatorContractVersion:t,domain:window.location.hostname,type:"passkeys"})}createPasskeysServerHeaders(e){return{"x-api-key":this.apiKey,Authorization:`Bearer ${e.jwt}`}}mapError(e,t){return e.code===0&&e.name==="DataError"?new v(t):e.message==="Registration not verified"?new x(t):e.code==="ERROR_PASSTHROUGH_SEE_CAUSE_PROPERTY"&&e.name==="NotAllowedError"?new b(t):e}decorate(e,t,n){return new Proxy(e,{get:(a,s,i)=>{let o=Reflect.get(a,s,i);if(typeof o!="function"||typeof s!="string"||!St(s))return o;let c=n.signer;return async(...g)=>{g?.[0]?.factoryData!=null&&s==="signUserOperation"&&c.type==="PASSKEY"&&c.onFirstTimePasskeySigning!=null&&await c.onFirstTimePasskeySigning();try{return await o.call(a,...g)}catch(h){throw c.onFirstTimePasskeySigningError!=null&&await c.onFirstTimePasskeySigningError(h),this.mapError(h,t)}}}})}},ft=["signMessage","signTypedData","signUserOperation","signTransaction"];function St(r){return ft.includes(r)}var ht=r=>{let e=Ct(r),t=new TextDecoder().decode(e);return JSON.parse(t)};function Ct(r){let e=atob(r);return Uint8Array.from(e,t=>t.codePointAt(0))}var ye=require("viem");function re(r){return!1}var Pt=["sendTransaction","writeContract","sendUserOperation"],Et=["signMessage","signTypedData"];function ue(r){return Pt.includes(r)}function At(r){return Et.includes(r)}var ne=class{constructor(e,t=I){this.errorProcessor=e;this.logger=t}decorate({crossmintChain:e,smartAccountClient:t}){return new Proxy(t,{get:(n,a,s)=>{let i=Reflect.get(n,a,s);return typeof i!="function"||typeof a!="string"||!(At(a)||ue(a))?i:(...o)=>this.logger.logPerformance(`CrossmintSmartWallet.${a}`,()=>this.execute(n,a,i,o,e))}})}async execute(e,t,n,a,s){try{this.logger.log(`[CrossmintSmartWallet.${t}] - params: ${(0,ye.stringify)(a)}`);let i=ue(t)?this.processTxnArgs(t,s,a):a;return await n.call(e,...i)}catch(i){let o=ue(t)?"signing":"sending transaction";throw this.errorProcessor.map(i,new l(`Error ${o}: ${i.message}`,(0,ye.stringify)(i)))}}processTxnArgs(e,t,n){if(e==="sendUserOperation"){let[{userOperation:s,middleware:i,account:o}]=n;return[{middleware:i,account:o,userOperation:this.addGelatoBundlerProperties(t,s)},...n.slice(1)]}let[a]=n;return[this.addGelatoBundlerProperties(t,a),...n.slice(1)]}addGelatoBundlerProperties(e,t){return re(e)?{...t,maxFeePerGas:"0x0",maxPriorityFeePerGas:"0x0"}:t}};var U=require("permissionless"),He=require("permissionless/clients/pimlico"),L=require("viem"),je=require("@crossmint/common-sdk-base");var Ke=require("@crossmint/common-sdk-base"),Tt="-7M6vRDBDknwvMxnqah_jbcieWg0qad9",bt="pim_9dKmQPxiTCvtbUNF7XFBbA",xt={polygon:"polygon-mainnet","polygon-amoy":"polygon-amoy",base:"base-mainnet","base-sepolia":"base-sepolia",optimism:"opt-mainnet","optimism-sepolia":"opt-sepolia",arbitrum:"arb-mainnet","arbitrum-sepolia":"arb-sepolia"};function $e(r){return`https://${xt[r]}.g.alchemy.com/v2/${Tt}`}function Fe(r){return`https://api.pimlico.io/v2/${(0,Ke.blockchainToChainId)(r)}/rpc?apikey=${bt}`}function Be(r){return!re(r)}function Ye({bundlerClient:r,entryPoint:e,chain:t,walletService:n,user:a}){return{middleware:{gasPrice:async()=>(await r.getUserOperationGasPrice()).fast,sponsorUserOperation:async({userOperation:s})=>{let{sponsorUserOpParams:i}=await n.sponsorUserOperation(a,s,e,t);return i}}}}var ae=class{constructor(e,t,n,a){this.crossmintService=e;this.accountConfigService=t;this.accountCreator=n;this.clientDecorator=a}async getOrCreate(e,t,n){let{config:{entryPointVersion:a,kernelVersion:s,existing:i,userWithId:o},cached:c}=await this.accountConfigService.get(e,t),g=(0,L.createPublicClient)({transport:(0,L.http)($e(t))}),{account:S,signerConfig:h}=await this.accountCreator.get({chain:t,walletParams:n,publicClient:g,user:o,entryPoint:a==="v0.6"?U.ENTRYPOINT_ADDRESS_V06:U.ENTRYPOINT_ADDRESS_V07,kernelVersion:s,existing:i});return i==null&&await this.crossmintService.idempotentCreateSmartWallet(e,{type:he,smartContractWalletAddress:S.address,signerData:h.data,version:Ce,baseLayer:"evm",chainId:(0,je.blockchainToChainId)(t),entryPointVersion:a,kernelVersion:s}),c||this.accountConfigService.cache({entryPointVersion:a,kernelVersion:s,user:o,existing:{address:S.address,signerConfig:h}}),new O({wallet:this.smartAccountClient(t,S,e),public:g},t,this.crossmintService)}smartAccountClient(e,t,n){let a=(0,L.http)(Fe(e)),s={chain:Oe[e],entryPoint:t.entryPoint},i=(0,He.createPimlicoBundlerClient)({...s,transport:a}),o=(0,U.createSmartAccountClient)({account:t,bundlerTransport:a,...s,...Be(e)&&Ye({bundlerClient:i,entryPoint:t.entryPoint,chain:e,walletService:this.crossmintService,user:n})});return this.clientDecorator.decorate({crossmintChain:e,smartAccountClient:o})}};var se=require("viem");var ie=class{constructor(e){this.logger=e}map(e,t){return this.record(e),e instanceof l||e instanceof se.BaseError?e:t}record(e){let t=e instanceof Error?e.message:String(e);this.logger.error(`Smart Wallet SDK Error: ${t}`,{stack:e instanceof Error?e.stack:void 0,name:e instanceof Error?e.name:"UnknownError",details:(0,se.stringify)(e),domain:window.location.hostname,sdk_version:B})}};function Ge(){return typeof window<"u"}var oe=class r{constructor(e,t,n,a=I){this.crossmintEnv=e;this.smartWalletService=t;this.errorProcessor=n;this.logger=a}static init({clientApiKey:e}){let t=(0,Je.validateAPIKey)(e);if(!t.isValid)throw new Error("API key invalid");let n=new J(e),a=new ie(Pe),s=new Q(new ee,new te(n.getPasskeyServerUrl(),e)),i=new q(`smart-wallet-${B}`),o=new ae(n,new Z(n,i),s,new ne(a));return new r(t.environment,o,a)}async getOrCreateWallet(e,t,n={signer:{type:"PASSKEY"}}){if(!Ge())throw new l("Smart Wallet SDK should only be used client side.");return this.assertValidChain(t),await this.logger.logPerformance("GET_OR_CREATE_WALLET",async()=>{try{return await this.smartWalletService.getOrCreate(e,t,n)}catch(a){throw this.errorProcessor.map(a,new l(`Wallet creation failed: ${a.message}.`,(0,ze.stringify)(a)))}})}assertValidChain(e){if(!this.validChain(e))throw new l(`The selected chain "${e}" is not available in "${this.crossmintEnv}". Either set a valid chain or check you're using an API key for the environment you're trying to target.`)}validChain(e){return this.crossmintEnv==="development"||this.crossmintEnv==="staging"?We(e):ke(e)}};0&&(module.exports={AdminAlreadyUsedError,AdminMismatchError,Chain,ConfigError,CrossmintSDKError,CrossmintServiceError,EVMSendTransactionError,EVMSendTransactionExecutionRevertedError,EVMSmartWallet,JWTDecryptionError,JWTExpiredError,JWTIdentifierError,JWTInvalidError,NotAuthorizedError,PasskeyIncompatibleAuthenticatorError,PasskeyMismatchError,PasskeyPromptError,PasskeyRegistrationError,SmartWalletError,SmartWalletErrorCode,SmartWalletSDK,SmartWalletsNotEnabledError,UserWalletAlreadyCreatedError,blockchainToChainId});
5
- //# sourceMappingURL=index.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYZQJV2KAcjs = require('./chunk-YZQJV2KA.cjs');require('./chunk-SCXFZMLR.cjs');require('./chunk-WTPE2I2Q.cjs');require('./chunk-PPTSNCSQ.cjs');require('./chunk-IQTGPM2U.cjs');require('./chunk-Q44P7MO7.cjs');require('./chunk-O2ACORII.cjs');require('./chunk-XHSA4YTO.cjs');require('./chunk-2R6HK64N.cjs');require('./chunk-GB35YMN4.cjs');require('./chunk-WJ6XJMRD.cjs');require('./chunk-STH2LE35.cjs');require('./chunk-XJGFG3RT.cjs');require('./chunk-DIDKPOO2.cjs');var _chunkSWWOVT47cjs = require('./chunk-SWWOVT47.cjs');var _chunk7AVDZZGDcjs = require('./chunk-7AVDZZGD.cjs');require('./chunk-6DE5YEO5.cjs');require('./chunk-B3LJJZXD.cjs');require('./chunk-ODAUWGUU.cjs');require('./chunk-PLRQBDYS.cjs');require('./chunk-BXXREMNR.cjs');require('./chunk-XQ2K2K23.cjs');require('./chunk-2GS5TXEY.cjs');require('./chunk-7FXFOOQU.cjs');require('./chunk-KYPTGHC6.cjs');require('./chunk-OCJYX5QF.cjs');require('./chunk-5M3MSPHK.cjs');var _chunkM4K3IZTTcjs = require('./chunk-M4K3IZTT.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkbase = require('@crossmint/client-sdk-base');exports.AdminAlreadyUsedError = _chunkM4K3IZTTcjs.i; exports.AdminMismatchError = _chunkM4K3IZTTcjs.b; exports.Chain = _commonsdkbase.EVMBlockchainIncludingTestnet; exports.ConfigError = _chunkM4K3IZTTcjs.h; exports.CrossmintSDKError = _clientsdkbase.CrossmintSDKError; exports.CrossmintServiceError = _clientsdkbase.CrossmintServiceError; exports.EVMSendTransactionError = _chunk7AVDZZGDcjs.a; exports.EVMSendTransactionExecutionRevertedError = _chunk7AVDZZGDcjs.b; exports.EVMSmartWallet = _chunkSWWOVT47cjs.a; exports.JWTDecryptionError = _clientsdkbase.JWTDecryptionError; exports.JWTExpiredError = _clientsdkbase.JWTExpiredError; exports.JWTIdentifierError = _clientsdkbase.JWTIdentifierError; exports.JWTInvalidError = _clientsdkbase.JWTInvalidError; exports.NotAuthorizedError = _clientsdkbase.NotAuthorizedError; exports.PasskeyIncompatibleAuthenticatorError = _chunkM4K3IZTTcjs.g; exports.PasskeyMismatchError = _chunkM4K3IZTTcjs.c; exports.PasskeyPromptError = _chunkM4K3IZTTcjs.e; exports.PasskeyRegistrationError = _chunkM4K3IZTTcjs.f; exports.SmartWalletError = _chunkM4K3IZTTcjs.a; exports.SmartWalletErrorCode = _clientsdkbase.SmartWalletErrorCode; exports.SmartWalletSDK = _chunkYZQJV2KAcjs.a; exports.SmartWalletsNotEnabledError = _chunkM4K3IZTTcjs.j; exports.UserWalletAlreadyCreatedError = _chunkM4K3IZTTcjs.d; exports.blockchainToChainId = _commonsdkbase.blockchainToChainId;