@crossmint/client-sdk-smart-wallet 0.2.0 → 0.3.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 (48) hide show
  1. package/dist/{apiService-Dum8A8_6.d.cts → apiService-BYpt1gEl.d.cts} +12 -3
  2. package/dist/{apiService-D4DIxjMr.d.ts → apiService-D1sqTI5D.d.ts} +12 -3
  3. package/dist/apiService.cjs +1 -1
  4. package/dist/apiService.d.cts +2 -1
  5. package/dist/apiService.d.ts +2 -1
  6. package/dist/apiService.js +1 -1
  7. package/dist/{chunk-T5PL4ATW.js → chunk-2LM65VO3.js} +1 -1
  8. package/dist/chunk-2ZE5TIKL.cjs +1 -0
  9. package/dist/{chunk-BCWZIVSQ.js → chunk-6EKMVDH4.js} +1 -1
  10. package/dist/{chunk-LJ43A5BN.js → chunk-BF7L4FS4.js} +1 -1
  11. package/dist/chunk-F7ZYVWUR.cjs +1 -0
  12. package/dist/chunk-HQHK4WTT.js +1 -0
  13. package/dist/{chunk-5T3HB4Y6.js → chunk-JPF3ZY6Z.js} +1 -1
  14. package/dist/{chunk-EMZ5NAG2.cjs → chunk-MOCVP6AE.cjs} +1 -1
  15. package/dist/chunk-NRMCCERQ.cjs +1 -0
  16. package/dist/chunk-QIY34WEL.js +1 -0
  17. package/dist/{chunk-D33JIUOQ.cjs → chunk-XVJ4PII4.cjs} +1 -1
  18. package/dist/{chunk-SVGKSKZD.cjs → chunk-XYN5AGKO.cjs} +1 -1
  19. package/dist/error/processor.cjs +1 -1
  20. package/dist/error/processor.js +1 -1
  21. package/dist/evm/smartWalletClient.d.cts +7 -2
  22. package/dist/evm/smartWalletClient.d.ts +7 -2
  23. package/dist/evm/wallet.d.cts +2 -1
  24. package/dist/evm/wallet.d.ts +2 -1
  25. package/dist/index.cjs +1 -1
  26. package/dist/index.d.cts +3 -3
  27. package/dist/index.d.ts +3 -3
  28. package/dist/index.js +1 -1
  29. package/dist/sdk.cjs +1 -1
  30. package/dist/sdk.d.cts +6 -5
  31. package/dist/sdk.d.ts +6 -5
  32. package/dist/sdk.js +1 -1
  33. package/dist/services/index.cjs +1 -1
  34. package/dist/services/index.js +1 -1
  35. package/dist/services/logger.cjs +1 -1
  36. package/dist/services/logger.js +1 -1
  37. package/dist/smartWalletService.cjs +1 -1
  38. package/dist/smartWalletService.d.cts +3 -2
  39. package/dist/smartWalletService.d.ts +3 -2
  40. package/dist/smartWalletService.js +1 -1
  41. package/dist/utils/constants.cjs +1 -1
  42. package/dist/utils/constants.js +1 -1
  43. package/package.json +1 -1
  44. package/dist/chunk-OWZ3LXVG.js +0 -1
  45. package/dist/chunk-Q23CHZRT.cjs +0 -1
  46. package/dist/chunk-Q6YGAHDR.cjs +0 -1
  47. package/dist/chunk-U2JMKBCC.cjs +0 -1
  48. package/dist/chunk-Z3KARJF5.js +0 -1
@@ -5,7 +5,8 @@ import { WebAuthnP256 } from 'ox';
5
5
  import { NftResponse, CreateWalletParams, CreateWalletResponse, CreateTransactionParams, TransactionResponse, ApproveTransactionParams, CreateSignatureParams, SignatureResponse, ApproveSignatureParams } from './types/api.cjs';
6
6
  import { SmartWalletChain } from './evm/chains/index.cjs';
7
7
  import { TransferType } from './types/transfer.cjs';
8
- import { SmartWalletClient } from './evm/smartWalletClient.cjs';
8
+ import { SmartWalletClient, Transaction } from './evm/smartWalletClient.cjs';
9
+ import { SmartWalletError } from './error/index.cjs';
9
10
 
10
11
  declare class EVMSmartWallet {
11
12
  /**
@@ -104,10 +105,18 @@ interface WalletParams {
104
105
  interface UserParams {
105
106
  jwt: string;
106
107
  }
108
+ interface Callbacks {
109
+ onWalletCreationStarted?: () => Promise<void>;
110
+ onWalletCreationFailed?: (error: SmartWalletError) => Promise<void>;
111
+ onTransactionSigningStarted?: (transaction: Transaction) => Promise<void>;
112
+ onTransactionSigningFailed?: (error: SmartWalletError) => Promise<void>;
113
+ onTransactionCompleted?: (transaction: Transaction) => Promise<void>;
114
+ }
107
115
  declare class SmartWalletService {
108
116
  private readonly crossmintApiService;
117
+ private callbacks?;
109
118
  constructor(crossmintApiService: CrossmintApiService);
110
- getOrCreate(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams): Promise<EVMSmartWallet>;
119
+ getOrCreate(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams, callbacks?: Callbacks): Promise<EVMSmartWallet>;
111
120
  private smartAccountClient;
112
121
  private sendTransactionInternal;
113
122
  private createWallet;
@@ -133,4 +142,4 @@ declare class CrossmintApiService {
133
142
  getNfts(walletLocator: `${BlockchainIncludingTestnet}:${Address}`): Promise<NftResponse>;
134
143
  }
135
144
 
136
- export { CrossmintApiService as C, type ExternalSigner as E, type PasskeySigner as P, SmartWalletService as S, type UserParams as U, type ViemAccount as V, type WalletParams as W, EVMSmartWallet as a, scwLogger as s };
145
+ export { type Callbacks as C, EVMSmartWallet as E, type PasskeySigner as P, SmartWalletService as S, type UserParams as U, type ViemAccount as V, type WalletParams as W, type ExternalSigner as a, CrossmintApiService as b, scwLogger as s };
@@ -5,7 +5,8 @@ import { WebAuthnP256 } from 'ox';
5
5
  import { NftResponse, CreateWalletParams, CreateWalletResponse, CreateTransactionParams, TransactionResponse, ApproveTransactionParams, CreateSignatureParams, SignatureResponse, ApproveSignatureParams } from './types/api.js';
6
6
  import { SmartWalletChain } from './evm/chains/index.js';
7
7
  import { TransferType } from './types/transfer.js';
8
- import { SmartWalletClient } from './evm/smartWalletClient.js';
8
+ import { SmartWalletClient, Transaction } from './evm/smartWalletClient.js';
9
+ import { SmartWalletError } from './error/index.js';
9
10
 
10
11
  declare class EVMSmartWallet {
11
12
  /**
@@ -104,10 +105,18 @@ interface WalletParams {
104
105
  interface UserParams {
105
106
  jwt: string;
106
107
  }
108
+ interface Callbacks {
109
+ onWalletCreationStarted?: () => Promise<void>;
110
+ onWalletCreationFailed?: (error: SmartWalletError) => Promise<void>;
111
+ onTransactionSigningStarted?: (transaction: Transaction) => Promise<void>;
112
+ onTransactionSigningFailed?: (error: SmartWalletError) => Promise<void>;
113
+ onTransactionCompleted?: (transaction: Transaction) => Promise<void>;
114
+ }
107
115
  declare class SmartWalletService {
108
116
  private readonly crossmintApiService;
117
+ private callbacks?;
109
118
  constructor(crossmintApiService: CrossmintApiService);
110
- getOrCreate(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams): Promise<EVMSmartWallet>;
119
+ getOrCreate(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams, callbacks?: Callbacks): Promise<EVMSmartWallet>;
111
120
  private smartAccountClient;
112
121
  private sendTransactionInternal;
113
122
  private createWallet;
@@ -133,4 +142,4 @@ declare class CrossmintApiService {
133
142
  getNfts(walletLocator: `${BlockchainIncludingTestnet}:${Address}`): Promise<NftResponse>;
134
143
  }
135
144
 
136
- export { CrossmintApiService as C, type ExternalSigner as E, type PasskeySigner as P, SmartWalletService as S, type UserParams as U, type ViemAccount as V, type WalletParams as W, EVMSmartWallet as a, scwLogger as s };
145
+ export { type Callbacks as C, EVMSmartWallet as E, type PasskeySigner as P, SmartWalletService as S, type UserParams as U, type ViemAccount as V, type WalletParams as W, type ExternalSigner as a, CrossmintApiService as b, scwLogger as s };
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkSVGKSKZDcjs = require('./chunk-SVGKSKZD.cjs');require('./chunk-EMZ5NAG2.cjs');exports.CrossmintApiService = _chunkSVGKSKZDcjs.b; exports.scwLogger = _chunkSVGKSKZDcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXYN5AGKOcjs = require('./chunk-XYN5AGKO.cjs');require('./chunk-MOCVP6AE.cjs');exports.CrossmintApiService = _chunkXYN5AGKOcjs.b; exports.scwLogger = _chunkXYN5AGKOcjs.a;
@@ -1,9 +1,10 @@
1
1
  import '@crossmint/common-sdk-base';
2
2
  import '@crossmint/client-sdk-base';
3
3
  import 'viem';
4
- export { C as CrossmintApiService, s as scwLogger } from './apiService-Dum8A8_6.cjs';
4
+ export { b as CrossmintApiService, s as scwLogger } from './apiService-BYpt1gEl.cjs';
5
5
  import './types/api.cjs';
6
6
  import 'ox';
7
7
  import './evm/chains/index.cjs';
8
8
  import './types/transfer.cjs';
9
9
  import './evm/smartWalletClient.cjs';
10
+ import './error/index.cjs';
@@ -1,9 +1,10 @@
1
1
  import '@crossmint/common-sdk-base';
2
2
  import '@crossmint/client-sdk-base';
3
3
  import 'viem';
4
- export { C as CrossmintApiService, s as scwLogger } from './apiService-D4DIxjMr.js';
4
+ export { b as CrossmintApiService, s as scwLogger } from './apiService-D1sqTI5D.js';
5
5
  import './types/api.js';
6
6
  import 'ox';
7
7
  import './evm/chains/index.js';
8
8
  import './types/transfer.js';
9
9
  import './evm/smartWalletClient.js';
10
+ import './error/index.js';
@@ -1 +1 @@
1
- import{a,b}from"./chunk-BCWZIVSQ.js";import"./chunk-T5PL4ATW.js";export{b as CrossmintApiService,a as scwLogger};
1
+ import{a,b}from"./chunk-6EKMVDH4.js";import"./chunk-2LM65VO3.js";export{b as CrossmintApiService,a as scwLogger};
@@ -1 +1 @@
1
- var s="@crossmint/client-sdk-smart-wallet",t="0.2.0";var c="SCW_SDK",r=t,p=s,a="2022-06-09",m="0x0000000071727de22e5e9d8baf0edac6f37da032",l=1e3;export{c as a,r as b,p as c,a as d,m as e,l as f};
1
+ var s="@crossmint/client-sdk-smart-wallet",t="0.3.0";var c="SCW_SDK",r=t,p=s,a="2022-06-09",m="0x0000000071727de22e5e9d8baf0edac6f37da032",l=1e3;export{c as a,r as b,p as c,a as d,m as e,l as f};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkXVJ4PII4cjs = require('./chunk-XVJ4PII4.cjs');var _chunkF7ZYVWURcjs = require('./chunk-F7ZYVWUR.cjs');var _chunkXYN5AGKOcjs = require('./chunk-XYN5AGKO.cjs');var _chunkNRMCCERQcjs = require('./chunk-NRMCCERQ.cjs');var _chunkMLTT5BGDcjs = require('./chunk-MLTT5BGD.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _viem = require('viem');var _ox = require('ox');var _clientsdkbase = require('@crossmint/client-sdk-base');var d=class W{constructor(r,t,i,e=_chunkF7ZYVWURcjs.a){this.crossmintEnv=r;this.smartWalletService=t;this.errorProcessor=i;this.logger=e}static init(r){let{clientApiKey:t}=r,i=_commonsdkbase.validateAPIKey.call(void 0, t);if(!i.isValid)throw new (0, _chunk73LUJQGUcjs.b)("API key invalid");let e=new (0, _chunkXYN5AGKOcjs.b)({apiKey:t}),a=new (0, _chunkNRMCCERQcjs.a)(e),g=new (0, _chunkXVJ4PII4cjs.a)(_chunkF7ZYVWURcjs.b);return new W(i.environment,a,g)}async getOrCreateWallet(r,t,i,e){if(!_clientsdkbase.isClient.call(void 0, ))throw new (0, _chunk73LUJQGUcjs.a)("Smart Wallet SDK should only be used client side.");return this.assertValidChain(t),await this.logger.logPerformance("GET_OR_CREATE_WALLET",async()=>{try{return _optionalChain([e, 'optionalAccess', _ => _.onWalletCreationStarted])&&await e.onWalletCreationStarted(),await this.smartWalletService.getOrCreate(r,t,i,e)}catch(a){throw _optionalChain([e, 'optionalAccess', _2 => _2.onWalletCreationFailed])&&await e.onWalletCreationFailed(a),this.errorProcessor.map(a,new (0, _chunk73LUJQGUcjs.c)(`Wallet creation failed: ${a.message}.`,_viem.stringify.call(void 0, a)))}})}async createPasskeySigner(r){return{type:"PASSKEY",credential:await _ox.WebAuthnP256.createCredential({name:r})}}assertValidChain(r){if(!this.validChain(r))throw new (0, _chunk73LUJQGUcjs.d)(`The selected chain "${r}" 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(r){return this.crossmintEnv==="development"||this.crossmintEnv==="staging"?_chunkMLTT5BGDcjs.a.call(void 0, r):_chunkMLTT5BGDcjs.b.call(void 0, r)}};exports.a = d;
@@ -1 +1 @@
1
- import{a as r,b as n,c as o,d as a}from"./chunk-T5PL4ATW.js";import{CrossmintApiClient as l}from"@crossmint/common-sdk-base";import{APIErrorService as m,SDKLogger as c}from"@crossmint/client-sdk-base";var g=new c(r),i=class{constructor(e){this.logger=g;this.apiErrorService=new m({});this.apiClient=new l(e,{internalConfig:{sdkMetadata:{name:o,version:n}}})}async createWallet(e,s){return(await this.apiClient.post(`api/${a}/wallets/me`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async createTransaction(e,s){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/transactions`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveTransaction(e,s,t){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getTransaction(e,s){return(await this.apiClient.get(`api/${a}/wallets/me:evm-smart-wallet/transactions/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async createSignature(e,s){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/signatures`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveSignature(e,s,t){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getSignature(e,s){return(await this.apiClient.get(`api/${a}/wallets/me:evm-smart-wallet/signatures/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async getNfts(e){return(await this.apiClient.get(`api/${a}/wallets/${e}/nfts`,{})).json()}};export{g as a,i as b};
1
+ import{a as r,b as n,c as o,d as a}from"./chunk-2LM65VO3.js";import{CrossmintApiClient as l}from"@crossmint/common-sdk-base";import{APIErrorService as m,SDKLogger as c}from"@crossmint/client-sdk-base";var g=new c(r),i=class{constructor(e){this.logger=g;this.apiErrorService=new m({});this.apiClient=new l(e,{internalConfig:{sdkMetadata:{name:o,version:n}}})}async createWallet(e,s){return(await this.apiClient.post(`api/${a}/wallets/me`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async createTransaction(e,s){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/transactions`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveTransaction(e,s,t){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getTransaction(e,s){return(await this.apiClient.get(`api/${a}/wallets/me:evm-smart-wallet/transactions/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async createSignature(e,s){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/signatures`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveSignature(e,s,t){return(await this.apiClient.post(`api/${a}/wallets/me:evm-smart-wallet/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getSignature(e,s){return(await this.apiClient.get(`api/${a}/wallets/me:evm-smart-wallet/signatures/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async getNfts(e){return(await this.apiClient.get(`api/${a}/wallets/${e}/nfts`,{})).json()}};export{g as a,i as b};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-T5PL4ATW.js";import{SDKLogger as r,getBrowserLogger as e}from"@crossmint/client-sdk-base";var w=new r(o),a=new r(o,e(o,{onlyDatadog:!0}));export{w as a,a as b};
1
+ import{a as o}from"./chunk-2LM65VO3.js";import{SDKLogger as r,getBrowserLogger as e}from"@crossmint/client-sdk-base";var w=new r(o),a=new r(o,e(o,{onlyDatadog:!0}));export{w as a,a as b};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMOCVP6AEcjs = require('./chunk-MOCVP6AE.cjs');var _clientsdkbase = require('@crossmint/client-sdk-base');var s=new (0, _clientsdkbase.SDKLogger)(_chunkMOCVP6AEcjs.a),w= exports.b =new (0, _clientsdkbase.SDKLogger)(_chunkMOCVP6AEcjs.a,_clientsdkbase.getBrowserLogger.call(void 0, _chunkMOCVP6AEcjs.a,{onlyDatadog:!0}));exports.a = s; exports.b = w;
@@ -0,0 +1 @@
1
+ import{a as y}from"./chunk-2MQHIAJE.js";import{b as w}from"./chunk-75JNTS3U.js";import{a as C}from"./chunk-DB2QM3HB.js";import{f as h,g as u,h as T,i as v,j as f,k as b,l as P}from"./chunk-UBRUUSMF.js";import{e as A,f as m}from"./chunk-2LM65VO3.js";import{a as x}from"./chunk-GGKMZPIA.js";import{createPublicClient as k,concat as I,http as E,stringify as $,encodeFunctionData as N}from"viem";import{WebAuthnP256 as W}from"ox";var F=class{constructor(e){this.crossmintApiService=e}async getOrCreate(e,t,i,s){this.callbacks=s;let n=k({transport:E(w(t))}),{signer:a}=i,o=(await this.createWallet(e,a)).address;return new C({wallet:this.smartAccountClient(e,a,t,o),public:n},t,this.crossmintApiService)}smartAccountClient(e,t,i,s){return{getAddress:()=>s,getNonce:async n=>await k({transport:E(w(i))}).readContract({abi:x,address:A,functionName:"getNonce",args:[s,n?.key??0n]}),signMessage:async n=>{if(typeof n.message!="string")throw new h("Message must be a string");let a=await this.getSignerLocator(t),l=await this.crossmintApiService.createSignature(e,{type:"evm-message",params:{message:n.message,signer:a,chain:i}}),o=l.id,p=l.approvals.pending;if(p.length!==1)throw new u(`Expected 1 pending approval, got ${p.length}`);let c=p[0],g=await this.approveSignature(e,t,o,c.message),r=null;for(;r===null||r.status==="pending";)await y(m),r=await this.crossmintApiService.getSignature(e,o);if(r.status==="failed")throw new u("Message signing failed");return g},signTypedData:async n=>{let a=await this.getSignerLocator(t),{domain:l,message:o,primaryType:p,types:c}=n;if(!l||!o||!c)throw new T("Invalid typed data");let g=await this.crossmintApiService.createSignature(e,{type:"evm-typed-data",params:{typedData:{domain:l,message:o,primaryType:p,types:c},signer:a,chain:i,isSmartWalletSignature:!1}}),r=g.id,S=g.approvals.pending;if(S.length!==1)throw new v(`Expected 1 pending approval, got ${S.length}`);let D=S[0],R=await this.approveSignature(e,t,r,D.message),d=null;for(;d===null||d.status==="pending";)await y(m),d=await this.crossmintApiService.getSignature(e,r);if(d.status==="failed")throw new v("Typed data signing failed");return R},sendTransaction:async n=>await this.sendTransactionInternal(n,t,e,i),writeContract:async({address:n,abi:a,functionName:l,args:o,value:p})=>{let c=N({abi:a,functionName:l,args:o});return await this.sendTransactionInternal({to:n,data:c,value:p},t,e,i)}}}async sendTransactionInternal(e,t,i,s){this.callbacks?.onTransactionSigningStarted&&await this.callbacks.onTransactionSigningStarted(e);let n=await this.getSignerLocator(t),a=await this.crossmintApiService.createTransaction(i,{params:{signer:n,chain:s,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:e.data??"0x"}]}}),l=a.id,o=a.approvals.pending;if(o.length!==1){let r=new f(`Expected 1 pending approval, got ${o.length}`);throw this.callbacks?.onTransactionSigningFailed&&await this.callbacks.onTransactionSigningFailed(r),r}let p=o[0];await this.approveTransaction(i,t,l,p.message);let c=null;for(;c===null||c.status==="pending";)await y(m),c=await this.crossmintApiService.getTransaction(i,l);if(c.status==="failed"){let r=new b("Transaction sending failed",$(c.error));throw this.callbacks?.onTransactionSigningFailed&&await this.callbacks.onTransactionSigningFailed(r),r}let g=c.onChain.txId;if(g===void 0){let r=new P("Transaction hash not found");throw this.callbacks?.onTransactionSigningFailed&&await this.callbacks.onTransactionSigningFailed(r),r}return this.callbacks?.onTransactionCompleted&&await this.callbacks.onTransactionCompleted(e),g}async createWallet(e,t){if("type"in t&&t.type==="PASSKEY")return await this.crossmintApiService.createWallet(e,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-passkey",id:t.credential.id,name:"Default",publicKey:{x:`0x${t.credential.publicKey.x.toString(16)}`,y:`0x${t.credential.publicKey.y.toString(16)}`}}}});{let i=await this.getSignerAddress(t);return await this.crossmintApiService.createWallet(e,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-keypair",address:i}}})}}async getSignerLocator(e){return"type"in e&&e.type==="PASSKEY"?`evm-passkey:${e.credential.id}`:`evm-keypair:${await this.getSignerAddress(e)}`}async getSignerAddress(e){return"type"in e?e.account.address:(await e.request({method:"eth_requestAccounts"}))[0]}async approveTransaction(e,t,i,s){if("type"in t&&t.type==="PASSKEY"){let{metadata:n,signature:a}=await W.sign({credentialId:t.credential.id,challenge:s});await this.crossmintApiService.approveTransaction(e,i,{approvals:[{metadata:n,signature:{r:`0x${a.r.toString(16)}`,s:`0x${a.s.toString(16)}`},signer:`evm-passkey:${t.credential.id}`}]})}else{let n=await this.getSignerAddress(t),a="type"in t?await t.account.signMessage({message:{raw:s}}):await t.request({method:"personal_sign",params:[s,n]});await this.crossmintApiService.approveTransaction(e,i,{approvals:[{signature:a,signer:`evm-keypair:${n}`}]})}}async approveSignature(e,t,i,s){if("type"in t&&t.type==="PASSKEY"){let{metadata:n,signature:a}=await W.sign({credentialId:t.credential.id,challenge:s});return await this.crossmintApiService.approveSignature(e,i,{approvals:[{metadata:n,signature:{r:`0x${a.r.toString(16)}`,s:`0x${a.s.toString(16)}`},signer:`evm-passkey:${t.credential.id}`}]}),I([`0x${a.r.toString(16)}`,`0x${a.s.toString(16)}`])}else{let n=await this.getSignerAddress(t),a="type"in t?await t.account.signMessage({message:{raw:s}}):await t.request({method:"personal_sign",params:[s,n]});return await this.crossmintApiService.approveSignature(e,i,{approvals:[{signature:a,signer:`evm-keypair:${n}`}]}),a}}};export{F as a};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-UBRUUSMF.js";import{b as a}from"./chunk-T5PL4ATW.js";import{BaseError as e,stringify as i}from"viem";var r=class{constructor(n){this.logger=n}map(n,t){return this.record(n),n instanceof o||n instanceof e?n:t}record(n){let t=n instanceof Error?n.message:String(n);this.logger.error(`Smart Wallet SDK Error: ${t}`,{stack:n instanceof Error?n.stack:void 0,name:n instanceof Error?n.name:"UnknownError",details:i(n),domain:window.location.hostname,sdk_version:a})}};export{r as a};
1
+ import{a as o}from"./chunk-UBRUUSMF.js";import{b as a}from"./chunk-2LM65VO3.js";import{BaseError as e,stringify as i}from"viem";var r=class{constructor(n){this.logger=n}map(n,t){return this.record(n),n instanceof o||n instanceof e?n:t}record(n){let t=n instanceof Error?n.message:String(n);this.logger.error(`Smart Wallet SDK Error: ${t}`,{stack:n instanceof Error?n.stack:void 0,name:n instanceof Error?n.name:"UnknownError",details:i(n),domain:window.location.hostname,sdk_version:a})}};export{r as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/client-sdk-smart-wallet",t="0.2.0";var d="SCW_SDK",c= exports.b =t,r= exports.c =s,p= exports.d ="2022-06-09",a= exports.e ="0x0000000071727de22e5e9d8baf0edac6f37da032",m= exports.f =1e3;exports.a = d; exports.b = c; exports.c = r; exports.d = p; exports.e = a; exports.f = m;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/client-sdk-smart-wallet",t="0.3.0";var d="SCW_SDK",c= exports.b =t,r= exports.c =s,p= exports.d ="2022-06-09",a= exports.e ="0x0000000071727de22e5e9d8baf0edac6f37da032",m= exports.f =1e3;exports.a = d; exports.b = c; exports.c = r; exports.d = p; exports.e = a; exports.f = m;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkAS5VIM5Vcjs = require('./chunk-AS5VIM5V.cjs');var _chunk23IWY6XVcjs = require('./chunk-23IWY6XV.cjs');var _chunkLPLLPZFUcjs = require('./chunk-LPLLPZFU.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _chunkMOCVP6AEcjs = require('./chunk-MOCVP6AE.cjs');var _chunkKXYDJTZScjs = require('./chunk-KXYDJTZS.cjs');var _viem = require('viem');var _ox = require('ox');var F=class{constructor(e){this.crossmintApiService=e}async getOrCreate(e,t,i,s){this.callbacks=s;let n=_viem.createPublicClient.call(void 0, {transport:_viem.http.call(void 0, _chunk23IWY6XVcjs.b.call(void 0, t))}),{signer:a}=i,o=(await this.createWallet(e,a)).address;return new (0, _chunkLPLLPZFUcjs.a)({wallet:this.smartAccountClient(e,a,t,o),public:n},t,this.crossmintApiService)}smartAccountClient(e,t,i,s){return{getAddress:()=>s,getNonce:async n=>await _viem.createPublicClient.call(void 0, {transport:_viem.http.call(void 0, _chunk23IWY6XVcjs.b.call(void 0, i))}).readContract({abi:_chunkKXYDJTZScjs.a,address:_chunkMOCVP6AEcjs.e,functionName:"getNonce",args:[s,_nullishCoalesce(_optionalChain([n, 'optionalAccess', _ => _.key]), () => (0n))]}),signMessage:async n=>{if(typeof n.message!="string")throw new (0, _chunk73LUJQGUcjs.f)("Message must be a string");let a=await this.getSignerLocator(t),l=await this.crossmintApiService.createSignature(e,{type:"evm-message",params:{message:n.message,signer:a,chain:i}}),o=l.id,p=l.approvals.pending;if(p.length!==1)throw new (0, _chunk73LUJQGUcjs.g)(`Expected 1 pending approval, got ${p.length}`);let c=p[0],g=await this.approveSignature(e,t,o,c.message),r=null;for(;r===null||r.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkMOCVP6AEcjs.f),r=await this.crossmintApiService.getSignature(e,o);if(r.status==="failed")throw new (0, _chunk73LUJQGUcjs.g)("Message signing failed");return g},signTypedData:async n=>{let a=await this.getSignerLocator(t),{domain:l,message:o,primaryType:p,types:c}=n;if(!l||!o||!c)throw new (0, _chunk73LUJQGUcjs.h)("Invalid typed data");let g=await this.crossmintApiService.createSignature(e,{type:"evm-typed-data",params:{typedData:{domain:l,message:o,primaryType:p,types:c},signer:a,chain:i,isSmartWalletSignature:!1}}),r=g.id,S=g.approvals.pending;if(S.length!==1)throw new (0, _chunk73LUJQGUcjs.i)(`Expected 1 pending approval, got ${S.length}`);let D=S[0],R=await this.approveSignature(e,t,r,D.message),d=null;for(;d===null||d.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkMOCVP6AEcjs.f),d=await this.crossmintApiService.getSignature(e,r);if(d.status==="failed")throw new (0, _chunk73LUJQGUcjs.i)("Typed data signing failed");return R},sendTransaction:async n=>await this.sendTransactionInternal(n,t,e,i),writeContract:async({address:n,abi:a,functionName:l,args:o,value:p})=>{let c=_viem.encodeFunctionData.call(void 0, {abi:a,functionName:l,args:o});return await this.sendTransactionInternal({to:n,data:c,value:p},t,e,i)}}}async sendTransactionInternal(e,t,i,s){_optionalChain([this, 'access', _2 => _2.callbacks, 'optionalAccess', _3 => _3.onTransactionSigningStarted])&&await this.callbacks.onTransactionSigningStarted(e);let n=await this.getSignerLocator(t),a=await this.crossmintApiService.createTransaction(i,{params:{signer:n,chain:s,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:_nullishCoalesce(e.data, () => ("0x"))}]}}),l=a.id,o=a.approvals.pending;if(o.length!==1){let r=new (0, _chunk73LUJQGUcjs.j)(`Expected 1 pending approval, got ${o.length}`);throw _optionalChain([this, 'access', _4 => _4.callbacks, 'optionalAccess', _5 => _5.onTransactionSigningFailed])&&await this.callbacks.onTransactionSigningFailed(r),r}let p=o[0];await this.approveTransaction(i,t,l,p.message);let c=null;for(;c===null||c.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkMOCVP6AEcjs.f),c=await this.crossmintApiService.getTransaction(i,l);if(c.status==="failed"){let r=new (0, _chunk73LUJQGUcjs.k)("Transaction sending failed",_viem.stringify.call(void 0, c.error));throw _optionalChain([this, 'access', _6 => _6.callbacks, 'optionalAccess', _7 => _7.onTransactionSigningFailed])&&await this.callbacks.onTransactionSigningFailed(r),r}let g=c.onChain.txId;if(g===void 0){let r=new (0, _chunk73LUJQGUcjs.l)("Transaction hash not found");throw _optionalChain([this, 'access', _8 => _8.callbacks, 'optionalAccess', _9 => _9.onTransactionSigningFailed])&&await this.callbacks.onTransactionSigningFailed(r),r}return _optionalChain([this, 'access', _10 => _10.callbacks, 'optionalAccess', _11 => _11.onTransactionCompleted])&&await this.callbacks.onTransactionCompleted(e),g}async createWallet(e,t){if("type"in t&&t.type==="PASSKEY")return await this.crossmintApiService.createWallet(e,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-passkey",id:t.credential.id,name:"Default",publicKey:{x:`0x${t.credential.publicKey.x.toString(16)}`,y:`0x${t.credential.publicKey.y.toString(16)}`}}}});{let i=await this.getSignerAddress(t);return await this.crossmintApiService.createWallet(e,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-keypair",address:i}}})}}async getSignerLocator(e){return"type"in e&&e.type==="PASSKEY"?`evm-passkey:${e.credential.id}`:`evm-keypair:${await this.getSignerAddress(e)}`}async getSignerAddress(e){return"type"in e?e.account.address:(await e.request({method:"eth_requestAccounts"}))[0]}async approveTransaction(e,t,i,s){if("type"in t&&t.type==="PASSKEY"){let{metadata:n,signature:a}=await _ox.WebAuthnP256.sign({credentialId:t.credential.id,challenge:s});await this.crossmintApiService.approveTransaction(e,i,{approvals:[{metadata:n,signature:{r:`0x${a.r.toString(16)}`,s:`0x${a.s.toString(16)}`},signer:`evm-passkey:${t.credential.id}`}]})}else{let n=await this.getSignerAddress(t),a="type"in t?await t.account.signMessage({message:{raw:s}}):await t.request({method:"personal_sign",params:[s,n]});await this.crossmintApiService.approveTransaction(e,i,{approvals:[{signature:a,signer:`evm-keypair:${n}`}]})}}async approveSignature(e,t,i,s){if("type"in t&&t.type==="PASSKEY"){let{metadata:n,signature:a}=await _ox.WebAuthnP256.sign({credentialId:t.credential.id,challenge:s});return await this.crossmintApiService.approveSignature(e,i,{approvals:[{metadata:n,signature:{r:`0x${a.r.toString(16)}`,s:`0x${a.s.toString(16)}`},signer:`evm-passkey:${t.credential.id}`}]}),_viem.concat.call(void 0, [`0x${a.r.toString(16)}`,`0x${a.s.toString(16)}`])}else{let n=await this.getSignerAddress(t),a="type"in t?await t.account.signMessage({message:{raw:s}}):await t.request({method:"personal_sign",params:[s,n]});return await this.crossmintApiService.approveSignature(e,i,{approvals:[{signature:a,signer:`evm-keypair:${n}`}]}),a}}};exports.a = F;
@@ -0,0 +1 @@
1
+ import{a as h}from"./chunk-JPF3ZY6Z.js";import{a as v,b as y}from"./chunk-BF7L4FS4.js";import{b as n}from"./chunk-6EKMVDH4.js";import{a as S}from"./chunk-HQHK4WTT.js";import{a as c,b as p}from"./chunk-VEZ3PQGX.js";import{a as o,b as s,c as l,d as m}from"./chunk-UBRUUSMF.js";import{validateAPIKey as P}from"@crossmint/common-sdk-base";import{stringify as f}from"viem";import{WebAuthnP256 as C}from"ox";import{isClient as w}from"@crossmint/client-sdk-base";var d=class W{constructor(r,t,i,e=v){this.crossmintEnv=r;this.smartWalletService=t;this.errorProcessor=i;this.logger=e}static init(r){let{clientApiKey:t}=r,i=P(t);if(!i.isValid)throw new s("API key invalid");let e=new n({apiKey:t}),a=new S(e),g=new h(y);return new W(i.environment,a,g)}async getOrCreateWallet(r,t,i,e){if(!w())throw new o("Smart Wallet SDK should only be used client side.");return this.assertValidChain(t),await this.logger.logPerformance("GET_OR_CREATE_WALLET",async()=>{try{return e?.onWalletCreationStarted&&await e.onWalletCreationStarted(),await this.smartWalletService.getOrCreate(r,t,i,e)}catch(a){throw e?.onWalletCreationFailed&&await e.onWalletCreationFailed(a),this.errorProcessor.map(a,new l(`Wallet creation failed: ${a.message}.`,f(a)))}})}async createPasskeySigner(r){return{type:"PASSKEY",credential:await C.createCredential({name:r})}}assertValidChain(r){if(!this.validChain(r))throw new m(`The selected chain "${r}" 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(r){return this.crossmintEnv==="development"||this.crossmintEnv==="staging"?c(r):p(r)}};export{d as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _chunkEMZ5NAG2cjs = require('./chunk-EMZ5NAG2.cjs');var _viem = require('viem');var r=class{constructor(n){this.logger=n}map(n,t){return this.record(n),n instanceof _chunk73LUJQGUcjs.a||n instanceof _viem.BaseError?n:t}record(n){let t=n instanceof Error?n.message:String(n);this.logger.error(`Smart Wallet SDK Error: ${t}`,{stack:n instanceof Error?n.stack:void 0,name:n instanceof Error?n.name:"UnknownError",details:_viem.stringify.call(void 0, n),domain:window.location.hostname,sdk_version:_chunkEMZ5NAG2cjs.b})}};exports.a = r;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _chunkMOCVP6AEcjs = require('./chunk-MOCVP6AE.cjs');var _viem = require('viem');var r=class{constructor(n){this.logger=n}map(n,t){return this.record(n),n instanceof _chunk73LUJQGUcjs.a||n instanceof _viem.BaseError?n:t}record(n){let t=n instanceof Error?n.message:String(n);this.logger.error(`Smart Wallet SDK Error: ${t}`,{stack:n instanceof Error?n.stack:void 0,name:n instanceof Error?n.name:"UnknownError",details:_viem.stringify.call(void 0, n),domain:window.location.hostname,sdk_version:_chunkMOCVP6AEcjs.b})}};exports.a = r;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEMZ5NAG2cjs = require('./chunk-EMZ5NAG2.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkbase = require('@crossmint/client-sdk-base');var g=new (0, _clientsdkbase.SDKLogger)(_chunkEMZ5NAG2cjs.a),i= exports.b =class{constructor(e){this.logger=g;this.apiErrorService=new (0, _clientsdkbase.APIErrorService)({});this.apiClient=new (0, _commonsdkbase.CrossmintApiClient)(e,{internalConfig:{sdkMetadata:{name:_chunkEMZ5NAG2cjs.c,version:_chunkEMZ5NAG2cjs.b}}})}async createWallet(e,s){return(await this.apiClient.post(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async createTransaction(e,s){return(await this.apiClient.post(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/transactions`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveTransaction(e,s,t){return(await this.apiClient.post(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getTransaction(e,s){return(await this.apiClient.get(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/transactions/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async createSignature(e,s){return(await this.apiClient.post(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/signatures`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveSignature(e,s,t){return(await this.apiClient.post(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getSignature(e,s){return(await this.apiClient.get(`api/${_chunkEMZ5NAG2cjs.d}/wallets/me:evm-smart-wallet/signatures/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async getNfts(e){return(await this.apiClient.get(`api/${_chunkEMZ5NAG2cjs.d}/wallets/${e}/nfts`,{})).json()}};exports.a = g; exports.b = i;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMOCVP6AEcjs = require('./chunk-MOCVP6AE.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _clientsdkbase = require('@crossmint/client-sdk-base');var g=new (0, _clientsdkbase.SDKLogger)(_chunkMOCVP6AEcjs.a),i= exports.b =class{constructor(e){this.logger=g;this.apiErrorService=new (0, _clientsdkbase.APIErrorService)({});this.apiClient=new (0, _commonsdkbase.CrossmintApiClient)(e,{internalConfig:{sdkMetadata:{name:_chunkMOCVP6AEcjs.c,version:_chunkMOCVP6AEcjs.b}}})}async createWallet(e,s){return(await this.apiClient.post(`api/${_chunkMOCVP6AEcjs.d}/wallets/me`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async createTransaction(e,s){return(await this.apiClient.post(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/transactions`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveTransaction(e,s,t){return(await this.apiClient.post(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getTransaction(e,s){return(await this.apiClient.get(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/transactions/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async createSignature(e,s){return(await this.apiClient.post(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/signatures`,{body:JSON.stringify(s),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async approveSignature(e,s,t){return(await this.apiClient.post(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:{Authorization:`Bearer ${e.jwt}`,"Content-Type":"application/json"}})).json()}async getSignature(e,s){return(await this.apiClient.get(`api/${_chunkMOCVP6AEcjs.d}/wallets/me:evm-smart-wallet/signatures/${s}`,{headers:{Authorization:`Bearer ${e.jwt}`}})).json()}async getNfts(e){return(await this.apiClient.get(`api/${_chunkMOCVP6AEcjs.d}/wallets/${e}/nfts`,{})).json()}};exports.a = g; exports.b = i;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkD33JIUOQcjs = require('../chunk-D33JIUOQ.cjs');require('../chunk-73LUJQGU.cjs');require('../chunk-EMZ5NAG2.cjs');exports.ErrorProcessor = _chunkD33JIUOQcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXVJ4PII4cjs = require('../chunk-XVJ4PII4.cjs');require('../chunk-73LUJQGU.cjs');require('../chunk-MOCVP6AE.cjs');exports.ErrorProcessor = _chunkXVJ4PII4cjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-5T3HB4Y6.js";import"../chunk-UBRUUSMF.js";import"../chunk-T5PL4ATW.js";export{a as ErrorProcessor};
1
+ import{a}from"../chunk-JPF3ZY6Z.js";import"../chunk-UBRUUSMF.js";import"../chunk-2LM65VO3.js";export{a as ErrorProcessor};
@@ -1,5 +1,10 @@
1
- import { Address, SignableMessage, Hex, TypedData, TypedDataDefinition, Abi, ContractFunctionName, ContractFunctionArgs, WriteContractParameters } from 'viem';
1
+ import { Address, Hex, SignableMessage, TypedData, TypedDataDefinition, Abi, ContractFunctionName, ContractFunctionArgs, WriteContractParameters } from 'viem';
2
2
 
3
+ interface Transaction {
4
+ to: Address;
5
+ data?: Hex;
6
+ value?: bigint;
7
+ }
3
8
  interface SmartWalletClient {
4
9
  /**
5
10
  * Retrieves the address of the smart wallet.
@@ -56,4 +61,4 @@ interface SmartWalletClient {
56
61
  writeContract<const TAbi extends Abi | readonly unknown[], TFunctionName extends ContractFunctionName<TAbi, "nonpayable" | "payable"> = ContractFunctionName<TAbi, "nonpayable" | "payable">, TArgs extends ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName> = ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName>>({ address, abi, functionName, args, value, }: Omit<WriteContractParameters<TAbi, TFunctionName, TArgs>, "chain" | "account">): Promise<Hex>;
57
62
  }
58
63
 
59
- export type { SmartWalletClient };
64
+ export type { SmartWalletClient, Transaction };
@@ -1,5 +1,10 @@
1
- import { Address, SignableMessage, Hex, TypedData, TypedDataDefinition, Abi, ContractFunctionName, ContractFunctionArgs, WriteContractParameters } from 'viem';
1
+ import { Address, Hex, SignableMessage, TypedData, TypedDataDefinition, Abi, ContractFunctionName, ContractFunctionArgs, WriteContractParameters } from 'viem';
2
2
 
3
+ interface Transaction {
4
+ to: Address;
5
+ data?: Hex;
6
+ value?: bigint;
7
+ }
3
8
  interface SmartWalletClient {
4
9
  /**
5
10
  * Retrieves the address of the smart wallet.
@@ -56,4 +61,4 @@ interface SmartWalletClient {
56
61
  writeContract<const TAbi extends Abi | readonly unknown[], TFunctionName extends ContractFunctionName<TAbi, "nonpayable" | "payable"> = ContractFunctionName<TAbi, "nonpayable" | "payable">, TArgs extends ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName> = ContractFunctionArgs<TAbi, "nonpayable" | "payable", TFunctionName>>({ address, abi, functionName, args, value, }: Omit<WriteContractParameters<TAbi, TFunctionName, TArgs>, "chain" | "account">): Promise<Hex>;
57
62
  }
58
63
 
59
- export type { SmartWalletClient };
64
+ export type { SmartWalletClient, Transaction };
@@ -1,9 +1,10 @@
1
1
  import '../types/api.cjs';
2
2
  import 'viem';
3
- export { a as EVMSmartWallet } from '../apiService-Dum8A8_6.cjs';
3
+ export { E as EVMSmartWallet } from '../apiService-BYpt1gEl.cjs';
4
4
  import '../types/transfer.cjs';
5
5
  import './chains/index.cjs';
6
6
  import './smartWalletClient.cjs';
7
7
  import '@crossmint/common-sdk-base';
8
8
  import '@crossmint/client-sdk-base';
9
9
  import 'ox';
10
+ import '../error/index.cjs';
@@ -1,9 +1,10 @@
1
1
  import '../types/api.js';
2
2
  import 'viem';
3
- export { a as EVMSmartWallet } from '../apiService-D4DIxjMr.js';
3
+ export { E as EVMSmartWallet } from '../apiService-D1sqTI5D.js';
4
4
  import '../types/transfer.js';
5
5
  import './chains/index.js';
6
6
  import './smartWalletClient.js';
7
7
  import '@crossmint/common-sdk-base';
8
8
  import '@crossmint/client-sdk-base';
9
9
  import 'ox';
10
+ import '../error/index.js';
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQ6YGAHDRcjs = require('./chunk-Q6YGAHDR.cjs');require('./chunk-D33JIUOQ.cjs');require('./chunk-ODAUWGUU.cjs');require('./chunk-Q23CHZRT.cjs');require('./chunk-SVGKSKZD.cjs');require('./chunk-U2JMKBCC.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');var _chunkLPLLPZFUcjs = require('./chunk-LPLLPZFU.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-EMZ5NAG2.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');exports.Chain = _commonsdkbase.EVMBlockchainIncludingTestnet; exports.EVMSmartWallet = _chunkLPLLPZFUcjs.a; exports.InvalidApiKeyError = _chunk73LUJQGUcjs.b; exports.InvalidChainError = _chunk73LUJQGUcjs.d; exports.InvalidMessageFormatError = _chunk73LUJQGUcjs.f; exports.InvalidTransferChainError = _chunk73LUJQGUcjs.e; exports.InvalidTypedDataError = _chunk73LUJQGUcjs.h; exports.MessageSigningError = _chunk73LUJQGUcjs.g; exports.SmartWalletError = _chunk73LUJQGUcjs.a; exports.SmartWalletSDK = _chunkQ6YGAHDRcjs.a; exports.TransactionApprovalError = _chunk73LUJQGUcjs.j; exports.TransactionFailedError = _chunk73LUJQGUcjs.k; exports.TransactionNotFoundError = _chunk73LUJQGUcjs.l; exports.TypedDataSigningError = _chunk73LUJQGUcjs.i; exports.WalletCreationError = _chunk73LUJQGUcjs.c; exports.blockchainToChainId = _commonsdkbase.blockchainToChainId;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2ZE5TIKLcjs = require('./chunk-2ZE5TIKL.cjs');require('./chunk-XVJ4PII4.cjs');require('./chunk-ODAUWGUU.cjs');require('./chunk-F7ZYVWUR.cjs');require('./chunk-XYN5AGKO.cjs');require('./chunk-NRMCCERQ.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');var _chunkLPLLPZFUcjs = require('./chunk-LPLLPZFU.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-MOCVP6AE.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');exports.Chain = _commonsdkbase.EVMBlockchainIncludingTestnet; exports.EVMSmartWallet = _chunkLPLLPZFUcjs.a; exports.InvalidApiKeyError = _chunk73LUJQGUcjs.b; exports.InvalidChainError = _chunk73LUJQGUcjs.d; exports.InvalidMessageFormatError = _chunk73LUJQGUcjs.f; exports.InvalidTransferChainError = _chunk73LUJQGUcjs.e; exports.InvalidTypedDataError = _chunk73LUJQGUcjs.h; exports.MessageSigningError = _chunk73LUJQGUcjs.g; exports.SmartWalletError = _chunk73LUJQGUcjs.a; exports.SmartWalletSDK = _chunk2ZE5TIKLcjs.a; exports.TransactionApprovalError = _chunk73LUJQGUcjs.j; exports.TransactionFailedError = _chunk73LUJQGUcjs.k; exports.TransactionNotFoundError = _chunk73LUJQGUcjs.l; exports.TypedDataSigningError = _chunk73LUJQGUcjs.i; exports.WalletCreationError = _chunk73LUJQGUcjs.c; exports.blockchainToChainId = _commonsdkbase.blockchainToChainId;
package/dist/index.d.cts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { EVMBlockchainIncludingTestnet as Chain, blockchainToChainId } from '@crossmint/common-sdk-base';
2
- export { a as EVMSmartWallet, E as ExternalSigner, P as PasskeySigner, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-Dum8A8_6.cjs';
2
+ export { Transaction } from './evm/smartWalletClient.cjs';
3
+ export { C as Callbacks, E as EVMSmartWallet, a as ExternalSigner, P as PasskeySigner, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-BYpt1gEl.cjs';
3
4
  export { SmartWalletChain as EVMSmartWalletChain } from './evm/chains/index.cjs';
4
5
  export { ERC20TransferType, NFTTransferType, SFTTransferType, TransferType } from './types/transfer.cjs';
5
6
  export { SmartWalletSDK, SmartWalletSDKInitParams } from './sdk.cjs';
6
7
  export { InvalidApiKeyError, InvalidChainError, InvalidMessageFormatError, InvalidTransferChainError, InvalidTypedDataError, MessageSigningError, SmartWalletError, TransactionApprovalError, TransactionFailedError, TransactionNotFoundError, TypedDataSigningError, WalletCreationError } from './error/index.cjs';
7
- import '@crossmint/client-sdk-base';
8
8
  import 'viem';
9
+ import '@crossmint/client-sdk-base';
9
10
  import 'ox';
10
11
  import './types/api.cjs';
11
- import './evm/smartWalletClient.cjs';
package/dist/index.d.ts CHANGED
@@ -1,11 +1,11 @@
1
1
  export { EVMBlockchainIncludingTestnet as Chain, blockchainToChainId } from '@crossmint/common-sdk-base';
2
- export { a as EVMSmartWallet, E as ExternalSigner, P as PasskeySigner, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-D4DIxjMr.js';
2
+ export { Transaction } from './evm/smartWalletClient.js';
3
+ export { C as Callbacks, E as EVMSmartWallet, a as ExternalSigner, P as PasskeySigner, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-D1sqTI5D.js';
3
4
  export { SmartWalletChain as EVMSmartWalletChain } from './evm/chains/index.js';
4
5
  export { ERC20TransferType, NFTTransferType, SFTTransferType, TransferType } from './types/transfer.js';
5
6
  export { SmartWalletSDK, SmartWalletSDKInitParams } from './sdk.js';
6
7
  export { InvalidApiKeyError, InvalidChainError, InvalidMessageFormatError, InvalidTransferChainError, InvalidTypedDataError, MessageSigningError, SmartWalletError, TransactionApprovalError, TransactionFailedError, TransactionNotFoundError, TypedDataSigningError, WalletCreationError } from './error/index.js';
7
- import '@crossmint/client-sdk-base';
8
8
  import 'viem';
9
+ import '@crossmint/client-sdk-base';
9
10
  import 'ox';
10
11
  import './types/api.js';
11
- import './evm/smartWalletClient.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as f}from"./chunk-OWZ3LXVG.js";import"./chunk-5T3HB4Y6.js";import"./chunk-4SPA557P.js";import"./chunk-LJ43A5BN.js";import"./chunk-BCWZIVSQ.js";import"./chunk-Z3KARJF5.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import{a as E}from"./chunk-DB2QM3HB.js";import{a as r,b as a,c as e,d as t,e as n,f as o,g as i,h as l,i as s,j as p,k as m,l as T}from"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-T5PL4ATW.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";import{blockchainToChainId as h,EVMBlockchainIncludingTestnet as x}from"@crossmint/common-sdk-base";export{x as Chain,E as EVMSmartWallet,a as InvalidApiKeyError,t as InvalidChainError,o as InvalidMessageFormatError,n as InvalidTransferChainError,l as InvalidTypedDataError,i as MessageSigningError,r as SmartWalletError,f as SmartWalletSDK,p as TransactionApprovalError,m as TransactionFailedError,T as TransactionNotFoundError,s as TypedDataSigningError,e as WalletCreationError,h as blockchainToChainId};
1
+ import{a as f}from"./chunk-QIY34WEL.js";import"./chunk-JPF3ZY6Z.js";import"./chunk-4SPA557P.js";import"./chunk-BF7L4FS4.js";import"./chunk-6EKMVDH4.js";import"./chunk-HQHK4WTT.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import{a as E}from"./chunk-DB2QM3HB.js";import{a as r,b as a,c as e,d as t,e as n,f as o,g as l,h as i,i as s,j as m,k as p,l as T}from"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-2LM65VO3.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";import{blockchainToChainId as C,EVMBlockchainIncludingTestnet as W}from"@crossmint/common-sdk-base";export{W as Chain,E as EVMSmartWallet,a as InvalidApiKeyError,t as InvalidChainError,o as InvalidMessageFormatError,n as InvalidTransferChainError,i as InvalidTypedDataError,l as MessageSigningError,r as SmartWalletError,f as SmartWalletSDK,m as TransactionApprovalError,p as TransactionFailedError,T as TransactionNotFoundError,s as TypedDataSigningError,e as WalletCreationError,C as blockchainToChainId};
package/dist/sdk.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQ6YGAHDRcjs = require('./chunk-Q6YGAHDR.cjs');require('./chunk-D33JIUOQ.cjs');require('./chunk-ODAUWGUU.cjs');require('./chunk-Q23CHZRT.cjs');require('./chunk-SVGKSKZD.cjs');require('./chunk-U2JMKBCC.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-LPLLPZFU.cjs');require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-EMZ5NAG2.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');exports.SmartWalletSDK = _chunkQ6YGAHDRcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2ZE5TIKLcjs = require('./chunk-2ZE5TIKL.cjs');require('./chunk-XVJ4PII4.cjs');require('./chunk-ODAUWGUU.cjs');require('./chunk-F7ZYVWUR.cjs');require('./chunk-XYN5AGKO.cjs');require('./chunk-NRMCCERQ.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-LPLLPZFU.cjs');require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-MOCVP6AE.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');exports.SmartWalletSDK = _chunk2ZE5TIKLcjs.a;
package/dist/sdk.d.cts CHANGED
@@ -1,12 +1,13 @@
1
- import { SmartWalletChain } from './evm/chains/index.cjs';
2
- import { U as UserParams, W as WalletParams, a as EVMSmartWallet, P as PasskeySigner } from './apiService-Dum8A8_6.cjs';
3
1
  import '@crossmint/common-sdk-base';
2
+ import './evm/smartWalletClient.cjs';
3
+ import { U as UserParams, W as WalletParams, C as Callbacks, E as EVMSmartWallet, P as PasskeySigner } from './apiService-BYpt1gEl.cjs';
4
+ import { SmartWalletChain } from './evm/chains/index.cjs';
5
+ import './types/transfer.cjs';
6
+ import './error/index.cjs';
4
7
  import 'viem';
5
8
  import '@crossmint/client-sdk-base';
6
9
  import 'ox';
7
10
  import './types/api.cjs';
8
- import './types/transfer.cjs';
9
- import './evm/smartWalletClient.cjs';
10
11
 
11
12
  interface SmartWalletSDKInitParams {
12
13
  clientApiKey: string;
@@ -35,7 +36,7 @@ declare class SmartWalletSDK {
35
36
  * @throws {InvalidChainError} if the chain is not valid.
36
37
  * @throws {WalletCreationError} if the wallet creation fails.
37
38
  */
38
- getOrCreateWallet(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams): Promise<EVMSmartWallet>;
39
+ getOrCreateWallet(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams, callbacks?: Callbacks): Promise<EVMSmartWallet>;
39
40
  createPasskeySigner(name: string): Promise<PasskeySigner>;
40
41
  private assertValidChain;
41
42
  private validChain;
package/dist/sdk.d.ts CHANGED
@@ -1,12 +1,13 @@
1
- import { SmartWalletChain } from './evm/chains/index.js';
2
- import { U as UserParams, W as WalletParams, a as EVMSmartWallet, P as PasskeySigner } from './apiService-D4DIxjMr.js';
3
1
  import '@crossmint/common-sdk-base';
2
+ import './evm/smartWalletClient.js';
3
+ import { U as UserParams, W as WalletParams, C as Callbacks, E as EVMSmartWallet, P as PasskeySigner } from './apiService-D1sqTI5D.js';
4
+ import { SmartWalletChain } from './evm/chains/index.js';
5
+ import './types/transfer.js';
6
+ import './error/index.js';
4
7
  import 'viem';
5
8
  import '@crossmint/client-sdk-base';
6
9
  import 'ox';
7
10
  import './types/api.js';
8
- import './types/transfer.js';
9
- import './evm/smartWalletClient.js';
10
11
 
11
12
  interface SmartWalletSDKInitParams {
12
13
  clientApiKey: string;
@@ -35,7 +36,7 @@ declare class SmartWalletSDK {
35
36
  * @throws {InvalidChainError} if the chain is not valid.
36
37
  * @throws {WalletCreationError} if the wallet creation fails.
37
38
  */
38
- getOrCreateWallet(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams): Promise<EVMSmartWallet>;
39
+ getOrCreateWallet(user: UserParams, chain: SmartWalletChain, walletParams: WalletParams, callbacks?: Callbacks): Promise<EVMSmartWallet>;
39
40
  createPasskeySigner(name: string): Promise<PasskeySigner>;
40
41
  private assertValidChain;
41
42
  private validChain;
package/dist/sdk.js CHANGED
@@ -1 +1 @@
1
- import{a}from"./chunk-OWZ3LXVG.js";import"./chunk-5T3HB4Y6.js";import"./chunk-4SPA557P.js";import"./chunk-LJ43A5BN.js";import"./chunk-BCWZIVSQ.js";import"./chunk-Z3KARJF5.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import"./chunk-DB2QM3HB.js";import"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-T5PL4ATW.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";export{a as SmartWalletSDK};
1
+ import{a}from"./chunk-QIY34WEL.js";import"./chunk-JPF3ZY6Z.js";import"./chunk-4SPA557P.js";import"./chunk-BF7L4FS4.js";import"./chunk-6EKMVDH4.js";import"./chunk-HQHK4WTT.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import"./chunk-DB2QM3HB.js";import"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-2LM65VO3.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";export{a as SmartWalletSDK};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ODAUWGUU.cjs');var _chunkQ23CHZRTcjs = require('../chunk-Q23CHZRT.cjs');require('../chunk-EMZ5NAG2.cjs');exports.scwDatadogLogger = _chunkQ23CHZRTcjs.b; exports.scwLogger = _chunkQ23CHZRTcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-ODAUWGUU.cjs');var _chunkF7ZYVWURcjs = require('../chunk-F7ZYVWUR.cjs');require('../chunk-MOCVP6AE.cjs');exports.scwDatadogLogger = _chunkF7ZYVWURcjs.b; exports.scwLogger = _chunkF7ZYVWURcjs.a;
@@ -1 +1 @@
1
- import"../chunk-4SPA557P.js";import{a,b}from"../chunk-LJ43A5BN.js";import"../chunk-T5PL4ATW.js";export{b as scwDatadogLogger,a as scwLogger};
1
+ import"../chunk-4SPA557P.js";import{a,b}from"../chunk-BF7L4FS4.js";import"../chunk-2LM65VO3.js";export{b as scwDatadogLogger,a as scwLogger};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQ23CHZRTcjs = require('../chunk-Q23CHZRT.cjs');require('../chunk-EMZ5NAG2.cjs');exports.scwDatadogLogger = _chunkQ23CHZRTcjs.b; exports.scwLogger = _chunkQ23CHZRTcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkF7ZYVWURcjs = require('../chunk-F7ZYVWUR.cjs');require('../chunk-MOCVP6AE.cjs');exports.scwDatadogLogger = _chunkF7ZYVWURcjs.b; exports.scwLogger = _chunkF7ZYVWURcjs.a;
@@ -1 +1 @@
1
- import{a,b}from"../chunk-LJ43A5BN.js";import"../chunk-T5PL4ATW.js";export{b as scwDatadogLogger,a as scwLogger};
1
+ import{a,b}from"../chunk-BF7L4FS4.js";import"../chunk-2LM65VO3.js";export{b as scwDatadogLogger,a as scwLogger};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkU2JMKBCCcjs = require('./chunk-U2JMKBCC.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-LPLLPZFU.cjs');require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-EMZ5NAG2.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');exports.SmartWalletService = _chunkU2JMKBCCcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNRMCCERQcjs = require('./chunk-NRMCCERQ.cjs');require('./chunk-AS5VIM5V.cjs');require('./chunk-23IWY6XV.cjs');require('./chunk-MLTT5BGD.cjs');require('./chunk-5URY3C2T.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-LPLLPZFU.cjs');require('./chunk-73LUJQGU.cjs');require('./chunk-4PMBBA3O.cjs');require('./chunk-MOCVP6AE.cjs');require('./chunk-KXYDJTZS.cjs');require('./chunk-J5SRLI35.cjs');exports.SmartWalletService = _chunkNRMCCERQcjs.a;
@@ -1,9 +1,10 @@
1
1
  import 'viem';
2
2
  import 'ox';
3
- export { E as ExternalSigner, P as PasskeySigner, S as SmartWalletService, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-Dum8A8_6.cjs';
3
+ export { C as Callbacks, a as ExternalSigner, P as PasskeySigner, S as SmartWalletService, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-BYpt1gEl.cjs';
4
4
  import './evm/chains/index.cjs';
5
+ import './error/index.cjs';
6
+ import './evm/smartWalletClient.cjs';
5
7
  import '@crossmint/common-sdk-base';
6
8
  import '@crossmint/client-sdk-base';
7
9
  import './types/api.cjs';
8
10
  import './types/transfer.cjs';
9
- import './evm/smartWalletClient.cjs';
@@ -1,9 +1,10 @@
1
1
  import 'viem';
2
2
  import 'ox';
3
- export { E as ExternalSigner, P as PasskeySigner, S as SmartWalletService, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-D4DIxjMr.js';
3
+ export { C as Callbacks, a as ExternalSigner, P as PasskeySigner, S as SmartWalletService, U as UserParams, V as ViemAccount, W as WalletParams } from './apiService-D1sqTI5D.js';
4
4
  import './evm/chains/index.js';
5
+ import './error/index.js';
6
+ import './evm/smartWalletClient.js';
5
7
  import '@crossmint/common-sdk-base';
6
8
  import '@crossmint/client-sdk-base';
7
9
  import './types/api.js';
8
10
  import './types/transfer.js';
9
- import './evm/smartWalletClient.js';
@@ -1 +1 @@
1
- import{a}from"./chunk-Z3KARJF5.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import"./chunk-DB2QM3HB.js";import"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-T5PL4ATW.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";export{a as SmartWalletService};
1
+ import{a}from"./chunk-HQHK4WTT.js";import"./chunk-2MQHIAJE.js";import"./chunk-75JNTS3U.js";import"./chunk-VEZ3PQGX.js";import"./chunk-XLACPZJJ.js";import"./chunk-KVFFSUF4.js";import"./chunk-DB2QM3HB.js";import"./chunk-UBRUUSMF.js";import"./chunk-NXTHA2ZL.js";import"./chunk-2LM65VO3.js";import"./chunk-GGKMZPIA.js";import"./chunk-I5RZI2HB.js";export{a as SmartWalletService};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEMZ5NAG2cjs = require('../chunk-EMZ5NAG2.cjs');exports.API_VERSION = _chunkEMZ5NAG2cjs.d; exports.ENTRY_POINT_ADDRESS = _chunkEMZ5NAG2cjs.e; exports.SCW_SERVICE = _chunkEMZ5NAG2cjs.a; exports.SDK_NAME = _chunkEMZ5NAG2cjs.c; exports.SDK_VERSION = _chunkEMZ5NAG2cjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunkEMZ5NAG2cjs.f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMOCVP6AEcjs = require('../chunk-MOCVP6AE.cjs');exports.API_VERSION = _chunkMOCVP6AEcjs.d; exports.ENTRY_POINT_ADDRESS = _chunkMOCVP6AEcjs.e; exports.SCW_SERVICE = _chunkMOCVP6AEcjs.a; exports.SDK_NAME = _chunkMOCVP6AEcjs.c; exports.SDK_VERSION = _chunkMOCVP6AEcjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunkMOCVP6AEcjs.f;
@@ -1 +1 @@
1
- import{a,b,c,d,e,f}from"../chunk-T5PL4ATW.js";export{d as API_VERSION,e as ENTRY_POINT_ADDRESS,a as SCW_SERVICE,c as SDK_NAME,b as SDK_VERSION,f as STATUS_POLLING_INTERVAL_MS};
1
+ import{a,b,c,d,e,f}from"../chunk-2LM65VO3.js";export{d as API_VERSION,e as ENTRY_POINT_ADDRESS,a as SCW_SERVICE,c as SDK_NAME,b as SDK_VERSION,f as STATUS_POLLING_INTERVAL_MS};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/client-sdk-smart-wallet",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -1 +0,0 @@
1
- import{a as y}from"./chunk-5T3HB4Y6.js";import{a as p,b as v}from"./chunk-LJ43A5BN.js";import{b as i}from"./chunk-BCWZIVSQ.js";import{a as h}from"./chunk-Z3KARJF5.js";import{a as m,b as c}from"./chunk-VEZ3PQGX.js";import{a as n,b as o,c as s,d as l}from"./chunk-UBRUUSMF.js";import{validateAPIKey as f}from"@crossmint/common-sdk-base";import{stringify as W}from"viem";import{WebAuthnP256 as E}from"ox";import{isClient as w}from"@crossmint/client-sdk-base";var S=class g{constructor(r,e,a,t=p){this.crossmintEnv=r;this.smartWalletService=e;this.errorProcessor=a;this.logger=t}static init(r){let{clientApiKey:e}=r,a=f(e);if(!a.isValid)throw new o("API key invalid");let t=new i({apiKey:e}),P=new h(t),d=new y(v);return new g(a.environment,P,d)}async getOrCreateWallet(r,e,a){if(!w())throw new n("Smart Wallet SDK should only be used client side.");return this.assertValidChain(e),await this.logger.logPerformance("GET_OR_CREATE_WALLET",async()=>{try{return await this.smartWalletService.getOrCreate(r,e,a)}catch(t){throw this.errorProcessor.map(t,new s(`Wallet creation failed: ${t.message}.`,W(t)))}})}async createPasskeySigner(r){return{type:"PASSKEY",credential:await E.createCredential({name:r})}}assertValidChain(r){if(!this.validChain(r))throw new l(`The selected chain "${r}" 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(r){return this.crossmintEnv==="development"||this.crossmintEnv==="staging"?m(r):c(r)}};export{S as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkEMZ5NAG2cjs = require('./chunk-EMZ5NAG2.cjs');var _clientsdkbase = require('@crossmint/client-sdk-base');var s=new (0, _clientsdkbase.SDKLogger)(_chunkEMZ5NAG2cjs.a),w= exports.b =new (0, _clientsdkbase.SDKLogger)(_chunkEMZ5NAG2cjs.a,_clientsdkbase.getBrowserLogger.call(void 0, _chunkEMZ5NAG2cjs.a,{onlyDatadog:!0}));exports.a = s; exports.b = w;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkD33JIUOQcjs = require('./chunk-D33JIUOQ.cjs');var _chunkQ23CHZRTcjs = require('./chunk-Q23CHZRT.cjs');var _chunkSVGKSKZDcjs = require('./chunk-SVGKSKZD.cjs');var _chunkU2JMKBCCcjs = require('./chunk-U2JMKBCC.cjs');var _chunkMLTT5BGDcjs = require('./chunk-MLTT5BGD.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var _viem = require('viem');var _ox = require('ox');var _clientsdkbase = require('@crossmint/client-sdk-base');var S=class g{constructor(r,e,a,t=_chunkQ23CHZRTcjs.a){this.crossmintEnv=r;this.smartWalletService=e;this.errorProcessor=a;this.logger=t}static init(r){let{clientApiKey:e}=r,a=_commonsdkbase.validateAPIKey.call(void 0, e);if(!a.isValid)throw new (0, _chunk73LUJQGUcjs.b)("API key invalid");let t=new (0, _chunkSVGKSKZDcjs.b)({apiKey:e}),P=new (0, _chunkU2JMKBCCcjs.a)(t),d=new (0, _chunkD33JIUOQcjs.a)(_chunkQ23CHZRTcjs.b);return new g(a.environment,P,d)}async getOrCreateWallet(r,e,a){if(!_clientsdkbase.isClient.call(void 0, ))throw new (0, _chunk73LUJQGUcjs.a)("Smart Wallet SDK should only be used client side.");return this.assertValidChain(e),await this.logger.logPerformance("GET_OR_CREATE_WALLET",async()=>{try{return await this.smartWalletService.getOrCreate(r,e,a)}catch(t){throw this.errorProcessor.map(t,new (0, _chunk73LUJQGUcjs.c)(`Wallet creation failed: ${t.message}.`,_viem.stringify.call(void 0, t)))}})}async createPasskeySigner(r){return{type:"PASSKEY",credential:await _ox.WebAuthnP256.createCredential({name:r})}}assertValidChain(r){if(!this.validChain(r))throw new (0, _chunk73LUJQGUcjs.d)(`The selected chain "${r}" 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(r){return this.crossmintEnv==="development"||this.crossmintEnv==="staging"?_chunkMLTT5BGDcjs.a.call(void 0, r):_chunkMLTT5BGDcjs.b.call(void 0, r)}};exports.a = S;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _chunkAS5VIM5Vcjs = require('./chunk-AS5VIM5V.cjs');var _chunk23IWY6XVcjs = require('./chunk-23IWY6XV.cjs');var _chunkLPLLPZFUcjs = require('./chunk-LPLLPZFU.cjs');var _chunk73LUJQGUcjs = require('./chunk-73LUJQGU.cjs');var _chunkEMZ5NAG2cjs = require('./chunk-EMZ5NAG2.cjs');var _chunkKXYDJTZScjs = require('./chunk-KXYDJTZS.cjs');var _viem = require('viem');var _ox = require('ox');var D=class{constructor(t){this.crossmintApiService=t}async getOrCreate(t,e,r){let i=_viem.createPublicClient.call(void 0, {transport:_viem.http.call(void 0, _chunk23IWY6XVcjs.b.call(void 0, e))}),{signer:a}=r,s=(await this.createWallet(t,a)).address;return new (0, _chunkLPLLPZFUcjs.a)({wallet:this.smartAccountClient(t,a,e,s),public:i},e,this.crossmintApiService)}smartAccountClient(t,e,r,i){return{getAddress:()=>i,getNonce:async a=>await _viem.createPublicClient.call(void 0, {transport:_viem.http.call(void 0, _chunk23IWY6XVcjs.b.call(void 0, r))}).readContract({abi:_chunkKXYDJTZScjs.a,address:_chunkEMZ5NAG2cjs.e,functionName:"getNonce",args:[i,_nullishCoalesce(_optionalChain([a, 'optionalAccess', _ => _.key]), () => (0n))]}),signMessage:async a=>{if(typeof a.message!="string")throw new (0, _chunk73LUJQGUcjs.f)("Message must be a string");let n=await this.getSignerLocator(e),s=await this.crossmintApiService.createSignature(t,{type:"evm-message",params:{message:a.message,signer:n,chain:r}}),p=s.id,c=s.approvals.pending;if(c.length!==1)throw new (0, _chunk73LUJQGUcjs.g)(`Expected 1 pending approval, got ${c.length}`);let o=c[0],l=await this.approveSignature(t,e,p,o.message),g=null;for(;g===null||g.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkEMZ5NAG2cjs.f),g=await this.crossmintApiService.getSignature(t,p);if(g.status==="failed")throw new (0, _chunk73LUJQGUcjs.g)("Message signing failed");return l},signTypedData:async a=>{let n=await this.getSignerLocator(e),{domain:s,message:p,primaryType:c,types:o}=a;if(!s||!p||!o)throw new (0, _chunk73LUJQGUcjs.h)("Invalid typed data");let l=await this.crossmintApiService.createSignature(t,{type:"evm-typed-data",params:{typedData:{domain:s,message:p,primaryType:c,types:o},signer:n,chain:r,isSmartWalletSignature:!1}}),g=l.id,u=l.approvals.pending;if(u.length!==1)throw new (0, _chunk73LUJQGUcjs.i)(`Expected 1 pending approval, got ${u.length}`);let R=u[0],I=await this.approveSignature(t,e,g,R.message),d=null;for(;d===null||d.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkEMZ5NAG2cjs.f),d=await this.crossmintApiService.getSignature(t,g);if(d.status==="failed")throw new (0, _chunk73LUJQGUcjs.i)("Typed data signing failed");return I},sendTransaction:async a=>await this.sendTransactionInternal(a,e,t,r),writeContract:async({address:a,abi:n,functionName:s,args:p,value:c})=>{let o=_viem.encodeFunctionData.call(void 0, {abi:n,functionName:s,args:p});return await this.sendTransactionInternal({to:a,data:o,value:c},e,t,r)}}}async sendTransactionInternal(t,e,r,i){let a=await this.getSignerLocator(e),n=await this.crossmintApiService.createTransaction(r,{params:{signer:a,chain:i,calls:[{to:t.to,value:t.value?t.value.toString():"0",data:_nullishCoalesce(t.data, () => ("0x"))}]}}),s=n.id,p=n.approvals.pending;if(p.length!==1)throw new (0, _chunk73LUJQGUcjs.j)(`Expected 1 pending approval, got ${p.length}`);let c=p[0];await this.approveTransaction(r,e,s,c.message);let o=null;for(;o===null||o.status==="pending";)await _chunkAS5VIM5Vcjs.a.call(void 0, _chunkEMZ5NAG2cjs.f),o=await this.crossmintApiService.getTransaction(r,s);if(o.status==="failed")throw new (0, _chunk73LUJQGUcjs.k)("Transaction sending failed",_viem.stringify.call(void 0, o.error));let l=o.onChain.txId;if(l===void 0)throw new (0, _chunk73LUJQGUcjs.l)("Transaction hash not found");return l}async createWallet(t,e){if("type"in e&&e.type==="PASSKEY")return await this.crossmintApiService.createWallet(t,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-passkey",id:e.credential.id,name:"Default",publicKey:{x:`0x${e.credential.publicKey.x.toString(16)}`,y:`0x${e.credential.publicKey.y.toString(16)}`}}}});{let r=await this.getSignerAddress(e);return await this.crossmintApiService.createWallet(t,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-keypair",address:r}}})}}async getSignerLocator(t){return"type"in t&&t.type==="PASSKEY"?`evm-passkey:${t.credential.id}`:`evm-keypair:${await this.getSignerAddress(t)}`}async getSignerAddress(t){return"type"in t?t.account.address:(await t.request({method:"eth_requestAccounts"}))[0]}async approveTransaction(t,e,r,i){if("type"in e&&e.type==="PASSKEY"){let{metadata:a,signature:n}=await _ox.WebAuthnP256.sign({credentialId:e.credential.id,challenge:i});await this.crossmintApiService.approveTransaction(t,r,{approvals:[{metadata:a,signature:{r:`0x${n.r.toString(16)}`,s:`0x${n.s.toString(16)}`},signer:`evm-passkey:${e.credential.id}`}]})}else{let a=await this.getSignerAddress(e),n="type"in e?await e.account.signMessage({message:{raw:i}}):await e.request({method:"personal_sign",params:[i,a]});await this.crossmintApiService.approveTransaction(t,r,{approvals:[{signature:n,signer:`evm-keypair:${a}`}]})}}async approveSignature(t,e,r,i){if("type"in e&&e.type==="PASSKEY"){let{metadata:a,signature:n}=await _ox.WebAuthnP256.sign({credentialId:e.credential.id,challenge:i});return await this.crossmintApiService.approveSignature(t,r,{approvals:[{metadata:a,signature:{r:`0x${n.r.toString(16)}`,s:`0x${n.s.toString(16)}`},signer:`evm-passkey:${e.credential.id}`}]}),_viem.concat.call(void 0, [`0x${n.r.toString(16)}`,`0x${n.s.toString(16)}`])}else{let a=await this.getSignerAddress(e),n="type"in e?await e.account.signMessage({message:{raw:i}}):await e.request({method:"personal_sign",params:[i,a]});return await this.crossmintApiService.approveSignature(t,r,{approvals:[{signature:n,signer:`evm-keypair:${a}`}]}),n}}};exports.a = D;
@@ -1 +0,0 @@
1
- import{a as y}from"./chunk-2MQHIAJE.js";import{b as A}from"./chunk-75JNTS3U.js";import{a as C}from"./chunk-DB2QM3HB.js";import{f as h,g as S,h as T,i as v,j as f,k as P,l as x}from"./chunk-UBRUUSMF.js";import{e as w,f as m}from"./chunk-T5PL4ATW.js";import{a as b}from"./chunk-GGKMZPIA.js";import{createPublicClient as E,concat as $,http as k,stringify as N,encodeFunctionData as F}from"viem";import{WebAuthnP256 as W}from"ox";var D=class{constructor(t){this.crossmintApiService=t}async getOrCreate(t,e,r){let i=E({transport:k(A(e))}),{signer:a}=r,s=(await this.createWallet(t,a)).address;return new C({wallet:this.smartAccountClient(t,a,e,s),public:i},e,this.crossmintApiService)}smartAccountClient(t,e,r,i){return{getAddress:()=>i,getNonce:async a=>await E({transport:k(A(r))}).readContract({abi:b,address:w,functionName:"getNonce",args:[i,a?.key??0n]}),signMessage:async a=>{if(typeof a.message!="string")throw new h("Message must be a string");let n=await this.getSignerLocator(e),s=await this.crossmintApiService.createSignature(t,{type:"evm-message",params:{message:a.message,signer:n,chain:r}}),p=s.id,c=s.approvals.pending;if(c.length!==1)throw new S(`Expected 1 pending approval, got ${c.length}`);let o=c[0],l=await this.approveSignature(t,e,p,o.message),g=null;for(;g===null||g.status==="pending";)await y(m),g=await this.crossmintApiService.getSignature(t,p);if(g.status==="failed")throw new S("Message signing failed");return l},signTypedData:async a=>{let n=await this.getSignerLocator(e),{domain:s,message:p,primaryType:c,types:o}=a;if(!s||!p||!o)throw new T("Invalid typed data");let l=await this.crossmintApiService.createSignature(t,{type:"evm-typed-data",params:{typedData:{domain:s,message:p,primaryType:c,types:o},signer:n,chain:r,isSmartWalletSignature:!1}}),g=l.id,u=l.approvals.pending;if(u.length!==1)throw new v(`Expected 1 pending approval, got ${u.length}`);let R=u[0],I=await this.approveSignature(t,e,g,R.message),d=null;for(;d===null||d.status==="pending";)await y(m),d=await this.crossmintApiService.getSignature(t,g);if(d.status==="failed")throw new v("Typed data signing failed");return I},sendTransaction:async a=>await this.sendTransactionInternal(a,e,t,r),writeContract:async({address:a,abi:n,functionName:s,args:p,value:c})=>{let o=F({abi:n,functionName:s,args:p});return await this.sendTransactionInternal({to:a,data:o,value:c},e,t,r)}}}async sendTransactionInternal(t,e,r,i){let a=await this.getSignerLocator(e),n=await this.crossmintApiService.createTransaction(r,{params:{signer:a,chain:i,calls:[{to:t.to,value:t.value?t.value.toString():"0",data:t.data??"0x"}]}}),s=n.id,p=n.approvals.pending;if(p.length!==1)throw new f(`Expected 1 pending approval, got ${p.length}`);let c=p[0];await this.approveTransaction(r,e,s,c.message);let o=null;for(;o===null||o.status==="pending";)await y(m),o=await this.crossmintApiService.getTransaction(r,s);if(o.status==="failed")throw new P("Transaction sending failed",N(o.error));let l=o.onChain.txId;if(l===void 0)throw new x("Transaction hash not found");return l}async createWallet(t,e){if("type"in e&&e.type==="PASSKEY")return await this.crossmintApiService.createWallet(t,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-passkey",id:e.credential.id,name:"Default",publicKey:{x:`0x${e.credential.publicKey.x.toString(16)}`,y:`0x${e.credential.publicKey.y.toString(16)}`}}}});{let r=await this.getSignerAddress(e);return await this.crossmintApiService.createWallet(t,{type:"evm-smart-wallet",config:{adminSigner:{type:"evm-keypair",address:r}}})}}async getSignerLocator(t){return"type"in t&&t.type==="PASSKEY"?`evm-passkey:${t.credential.id}`:`evm-keypair:${await this.getSignerAddress(t)}`}async getSignerAddress(t){return"type"in t?t.account.address:(await t.request({method:"eth_requestAccounts"}))[0]}async approveTransaction(t,e,r,i){if("type"in e&&e.type==="PASSKEY"){let{metadata:a,signature:n}=await W.sign({credentialId:e.credential.id,challenge:i});await this.crossmintApiService.approveTransaction(t,r,{approvals:[{metadata:a,signature:{r:`0x${n.r.toString(16)}`,s:`0x${n.s.toString(16)}`},signer:`evm-passkey:${e.credential.id}`}]})}else{let a=await this.getSignerAddress(e),n="type"in e?await e.account.signMessage({message:{raw:i}}):await e.request({method:"personal_sign",params:[i,a]});await this.crossmintApiService.approveTransaction(t,r,{approvals:[{signature:n,signer:`evm-keypair:${a}`}]})}}async approveSignature(t,e,r,i){if("type"in e&&e.type==="PASSKEY"){let{metadata:a,signature:n}=await W.sign({credentialId:e.credential.id,challenge:i});return await this.crossmintApiService.approveSignature(t,r,{approvals:[{metadata:a,signature:{r:`0x${n.r.toString(16)}`,s:`0x${n.s.toString(16)}`},signer:`evm-passkey:${e.credential.id}`}]}),$([`0x${n.r.toString(16)}`,`0x${n.s.toString(16)}`])}else{let a=await this.getSignerAddress(e),n="type"in e?await e.account.signMessage({message:{raw:i}}):await e.request({method:"personal_sign",params:[i,a]});return await this.crossmintApiService.approveSignature(t,r,{approvals:[{signature:n,signer:`evm-keypair:${a}`}]}),n}}};export{D as a};