@crossmint/wallets-sdk 0.10.8 → 0.10.10

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 (154) hide show
  1. package/README.md +38 -114
  2. package/dist/api/client.cjs +1 -1
  3. package/dist/api/client.d.cts +2 -2
  4. package/dist/api/client.d.ts +2 -2
  5. package/dist/api/client.js +1 -1
  6. package/dist/api/gen/index.cjs +1 -1
  7. package/dist/api/gen/index.d.cts +2 -2
  8. package/dist/api/gen/index.d.ts +2 -2
  9. package/dist/api/gen/index.js +1 -1
  10. package/dist/api/gen/sdk.gen.cjs +1 -1
  11. package/dist/api/gen/sdk.gen.d.cts +201 -10
  12. package/dist/api/gen/sdk.gen.d.ts +201 -10
  13. package/dist/api/gen/sdk.gen.js +1 -1
  14. package/dist/api/gen/types.gen.d.cts +8130 -3074
  15. package/dist/api/gen/types.gen.d.ts +8130 -3074
  16. package/dist/api/index.cjs +1 -1
  17. package/dist/api/index.d.cts +1 -1
  18. package/dist/api/index.d.ts +1 -1
  19. package/dist/api/index.js +1 -1
  20. package/dist/api/types.d.cts +40 -28
  21. package/dist/api/types.d.ts +40 -28
  22. package/dist/chunk-2RYV526P.js +1 -0
  23. package/dist/chunk-3A5IGCCQ.js +1 -0
  24. package/dist/chunk-3VBHCOMA.cjs +1 -0
  25. package/dist/chunk-4KXOWU5E.cjs +1 -0
  26. package/dist/chunk-5S6YZJHE.js +1 -0
  27. package/dist/chunk-7F2XBOHW.js +1 -0
  28. package/dist/chunk-BM7YI7RZ.js +1 -0
  29. package/dist/chunk-BPUDXO56.js +1 -0
  30. package/dist/chunk-BULGM35W.cjs +1 -0
  31. package/dist/chunk-EXY25K62.cjs +1 -0
  32. package/dist/chunk-HTM5EELI.cjs +1 -0
  33. package/dist/chunk-IGBQEAD5.js +1 -0
  34. package/dist/chunk-IJMFCZIY.js +1 -0
  35. package/dist/chunk-IZPWMIWD.cjs +1 -0
  36. package/dist/chunk-JHLGQJW3.js +1 -0
  37. package/dist/chunk-KH5LXU3K.cjs +1 -0
  38. package/dist/chunk-KPWPRH6J.cjs +1 -0
  39. package/dist/chunk-LMDBWVPC.js +1 -0
  40. package/dist/chunk-LW6JSI4J.js +1 -0
  41. package/dist/{chunk-SN3LCVYC.js → chunk-NEEKQHR3.js} +1 -1
  42. package/dist/{chunk-3L6EVBXA.cjs → chunk-NIO5D63W.cjs} +1 -1
  43. package/dist/chunk-RFK6N7LC.cjs +1 -0
  44. package/dist/chunk-RMIMNREY.js +1 -0
  45. package/dist/chunk-RSISNAJJ.cjs +1 -0
  46. package/dist/chunk-SCS4UDW7.js +1 -0
  47. package/dist/chunk-SHDM6MXU.js +1 -0
  48. package/dist/chunk-SLEKIJXX.cjs +1 -0
  49. package/dist/{chunk-EV4AUN33.cjs → chunk-STUTWUOQ.cjs} +1 -1
  50. package/dist/chunk-TCTVRXRX.cjs +1 -0
  51. package/dist/chunk-UBOWSXW3.js +1 -0
  52. package/dist/{chunk-APQSPTH3.js → chunk-XVQ5TWFN.js} +1 -1
  53. package/dist/chunk-YTAW674L.cjs +1 -0
  54. package/dist/chunk-YWPTI2QO.cjs +1 -0
  55. package/dist/chunk-YZ4HRYSL.cjs +1 -0
  56. package/dist/index.cjs +1 -1
  57. package/dist/index.d.cts +7 -9
  58. package/dist/index.d.ts +7 -9
  59. package/dist/index.js +1 -1
  60. package/dist/sdk.cjs +1 -1
  61. package/dist/sdk.d.cts +7 -8
  62. package/dist/sdk.d.ts +7 -8
  63. package/dist/sdk.js +1 -1
  64. package/dist/signers/email/evm-email-signer.cjs +1 -1
  65. package/dist/signers/email/evm-email-signer.d.cts +1 -2
  66. package/dist/signers/email/evm-email-signer.d.ts +1 -2
  67. package/dist/signers/email/evm-email-signer.js +1 -1
  68. package/dist/signers/email/index.cjs +1 -1
  69. package/dist/signers/email/index.js +1 -1
  70. package/dist/signers/email/solana-email-signer.cjs +1 -1
  71. package/dist/signers/email/solana-email-signer.d.cts +1 -2
  72. package/dist/signers/email/solana-email-signer.d.ts +1 -2
  73. package/dist/signers/email/solana-email-signer.js +1 -1
  74. package/dist/signers/evm-api-key.cjs +1 -1
  75. package/dist/signers/evm-api-key.js +1 -1
  76. package/dist/signers/evm-external-wallet.cjs +1 -1
  77. package/dist/signers/evm-external-wallet.d.cts +5 -4
  78. package/dist/signers/evm-external-wallet.d.ts +5 -4
  79. package/dist/signers/evm-external-wallet.js +1 -1
  80. package/dist/signers/index.cjs +1 -1
  81. package/dist/signers/index.js +1 -1
  82. package/dist/signers/passkey.cjs +1 -1
  83. package/dist/signers/passkey.js +1 -1
  84. package/dist/signers/solana-api-key.cjs +1 -1
  85. package/dist/signers/solana-api-key.js +1 -1
  86. package/dist/signers/solana-external-wallet.cjs +1 -1
  87. package/dist/signers/solana-external-wallet.d.cts +5 -4
  88. package/dist/signers/solana-external-wallet.d.ts +5 -4
  89. package/dist/signers/solana-external-wallet.js +1 -1
  90. package/dist/signers/types.d.cts +6 -2
  91. package/dist/signers/types.d.ts +6 -2
  92. package/dist/utils/constants.cjs +1 -1
  93. package/dist/utils/constants.js +1 -1
  94. package/dist/utils/signer-validation.cjs +1 -1
  95. package/dist/utils/signer-validation.d.cts +2 -2
  96. package/dist/utils/signer-validation.d.ts +2 -2
  97. package/dist/utils/signer-validation.js +1 -1
  98. package/dist/wallets/evm.cjs +1 -1
  99. package/dist/wallets/evm.d.cts +1 -1
  100. package/dist/wallets/evm.d.ts +1 -1
  101. package/dist/wallets/evm.js +1 -1
  102. package/dist/wallets/solana.cjs +1 -1
  103. package/dist/wallets/solana.js +1 -1
  104. package/dist/wallets/types.cjs +1 -1
  105. package/dist/wallets/types.d.cts +13 -3
  106. package/dist/wallets/types.d.ts +13 -3
  107. package/dist/wallets/types.js +0 -1
  108. package/dist/wallets/wallet-factory.cjs +1 -1
  109. package/dist/wallets/wallet-factory.d.cts +6 -12
  110. package/dist/wallets/wallet-factory.d.ts +6 -12
  111. package/dist/wallets/wallet-factory.js +1 -1
  112. package/dist/wallets/wallet.cjs +1 -1
  113. package/dist/wallets/wallet.d.cts +11 -11
  114. package/dist/wallets/wallet.d.ts +11 -11
  115. package/dist/wallets/wallet.js +1 -1
  116. package/package.json +2 -2
  117. package/dist/chunk-2KK65AC6.js +0 -1
  118. package/dist/chunk-424EIRNB.js +0 -1
  119. package/dist/chunk-4BJMFWAY.cjs +0 -1
  120. package/dist/chunk-4UVSDKGY.cjs +0 -1
  121. package/dist/chunk-77QBSFHG.js +0 -1
  122. package/dist/chunk-7JAILZE2.cjs +0 -1
  123. package/dist/chunk-A6ZBW2VA.js +0 -1
  124. package/dist/chunk-AC4TCW3L.cjs +0 -1
  125. package/dist/chunk-AFYBD7FI.cjs +0 -1
  126. package/dist/chunk-DIZVZP5P.cjs +0 -1
  127. package/dist/chunk-DYRSQN7X.cjs +0 -1
  128. package/dist/chunk-EJSIN53L.cjs +0 -1
  129. package/dist/chunk-FUUYGB4K.js +0 -1
  130. package/dist/chunk-GIDUQBAX.cjs +0 -1
  131. package/dist/chunk-HTEW2JRC.cjs +0 -1
  132. package/dist/chunk-IZGS2VHO.js +0 -1
  133. package/dist/chunk-J67J2N7M.js +0 -1
  134. package/dist/chunk-LURBQMOO.js +0 -1
  135. package/dist/chunk-MHKWLGN5.cjs +0 -1
  136. package/dist/chunk-NKUDWDSH.cjs +0 -1
  137. package/dist/chunk-NUERDBYD.cjs +0 -1
  138. package/dist/chunk-NVJN7LPY.cjs +0 -1
  139. package/dist/chunk-OV4CFQ36.js +0 -1
  140. package/dist/chunk-PJUVPRKB.js +0 -0
  141. package/dist/chunk-Q3WOEBKN.js +0 -1
  142. package/dist/chunk-QNBRYCK7.js +0 -1
  143. package/dist/chunk-QTSZSHKK.js +0 -1
  144. package/dist/chunk-RD5PG4M6.cjs +0 -1
  145. package/dist/chunk-S3IXONDB.js +0 -1
  146. package/dist/chunk-T3ICQDFS.js +0 -1
  147. package/dist/chunk-TDNPEWFY.cjs +0 -1
  148. package/dist/chunk-UPTOMSKW.js +0 -1
  149. package/dist/chunk-VEKXBWC5.js +0 -1
  150. package/dist/chunk-YO6BJ2DI.cjs +0 -1
  151. package/dist/signers/email/email-signer-api-client.cjs +0 -1
  152. package/dist/signers/email/email-signer-api-client.d.cts +0 -14
  153. package/dist/signers/email/email-signer-api-client.d.ts +0 -14
  154. package/dist/signers/email/email-signer-api-client.js +0 -1
@@ -1 +0,0 @@
1
- import{a as n}from"./chunk-UPTOMSKW.js";import{a}from"./chunk-A6ZBW2VA.js";import{a as l}from"./chunk-OV4CFQ36.js";import{a as m}from"./chunk-77QBSFHG.js";import{a as t}from"./chunk-T3ICQDFS.js";import{a as o}from"./chunk-2KK65AC6.js";import{a as i}from"./chunk-QTSZSHKK.js";function x(r,e){switch(e.type){case"email":return r==="solana"?new n(e):new a(e);case"api-key":return r==="solana"?new m(e):new o(e);case"external-wallet":return r==="solana"?new t(e):new i(e);case"passkey":return new l(e)}}export{x as a};
@@ -1 +0,0 @@
1
- import{f as s}from"./chunk-BW7YYVZE.js";var t=class{constructor(e){this.type="external-wallet";if(e.address==null)throw new Error("Please provide an address for the External Wallet Signer");this.address=e.address,this.provider=e.provider,this.viemAccount=e.viemAccount}locator(){return`evm-keypair:${this.address}`}signMessage(e){return s(this,null,function*(){var i;if(this.provider!=null){let r=yield this.provider.request({method:"personal_sign",params:[e,this.address]});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: EIP1193 provider signMessage returned null");return{signature:r}}if(((i=this.viemAccount)==null?void 0:i.signMessage)!=null){let r=yield this.viemAccount.signMessage({message:{raw:e}});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: Viem account signMessage returned null");return{signature:r}}throw new Error("No signer provider or viem account provided")})}signTransaction(e){return s(this,null,function*(){return yield this.signMessage(e)})}};export{t as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var l=(n,e,r)=>`Wallet signer configuration mismatch at "${n}" - expected "${r}" from existing wallet but found "${e}"`;function a(n,e,r=""){if(n!==e){if(n==null||e==null)throw new Error(`Cannot compare null or undefined objects at path: ${r}`);for(let i of Object.keys(n)){let s=r?`${r}.${i}`:i,t=n[i],o=e[i];if(!(i in e))throw new (0, _chunkCT2UGJELcjs.f)(l(s,t,o));if(typeof t=="object"&&t!==null&&typeof o=="object"&&o!==null)a(t,o,s);else if(t!==o)throw new (0, _chunkCT2UGJELcjs.f)(l(s,t,o))}}}exports.a = a;
@@ -1 +0,0 @@
1
- import{a as p}from"./chunk-424EIRNB.js";import{k as c,o as d,q as T}from"./chunk-7ENJXL4H.js";import{a as f}from"./chunk-BJDS5BJG.js";import{f as o}from"./chunk-BW7YYVZE.js";import{createPublicClient as E,encodeFunctionData as S,http as V}from"viem";import{isValidEvmAddress as M}from"@crossmint/common-sdk-base";var w=class C extends p{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:p.getOptions(t)},p.getApiClient(t))}static from(t){if(!M(t.address))throw new Error("Wallet is not an EVM wallet");return new C(t)}sendTransaction(t){return o(this,null,function*(){var e;let n=this.buildTransaction(t),a=yield this.createTransaction(n);return(e=t.options)!=null&&e.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:a.id}:yield this.approveAndWait(a.id)})}signMessage(t){return o(this,null,function*(){var i;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:t,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new d(JSON.stringify(n));let a=n.id,e=((i=n.approvals)==null?void 0:i.pending)||[];return yield this.approveSignature(e,a),yield this.waitForSignature(a)})}createTypedDataSignature(t){return o(this,null,function*(){var m;let{domain:n,message:a,primaryType:e,types:i,chain:r}=t;if(!n||!a||!i||!r)throw new c("Invalid typed data");let{name:u,version:l,chainId:h,verifyingContract:y,salt:v}=n;if(!u||!l||!h||!y)throw new c("Invalid typed data domain");let s=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:u,version:l,chainId:Number(h),verifyingContract:y,salt:v},message:a,primaryType:e,types:i},signer:this.signer.locator(),chain:r,isSmartWalletSignature:!1}});if("error"in s)throw new d(JSON.stringify(s));let g=s.id,D=((m=s.approvals)==null?void 0:m.pending)||[];return yield this.approveSignature(D,g),yield this.waitForSignature(g)})}getViemClient(t){var n;return E({transport:(n=t==null?void 0:t.transport)!=null?n:V(),chain:f(this.chain)})}createTransaction(t){return o(this,null,function*(){let n=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signer.locator(),chain:this.chain,calls:[t]}});if("error"in n)throw new T(JSON.stringify(n));return n})}buildTransaction(t){var n,a,e,i,r;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(a=(n=t.value)==null?void 0:n.toString())!=null?a:"0",data:(e=t.data)!=null?e:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(r=(i=t.value)==null?void 0:i.toString())!=null?r:"0",data:S({abi:t.abi,functionName:t.functionName,args:t.args})}}};export{w as a};
@@ -1 +0,0 @@
1
- import{w as r}from"./chunk-7ENJXL4H.js";import{f as e}from"./chunk-BW7YYVZE.js";import{PublicKey as m,VersionedTransaction as w}from"@solana/web3.js";import i from"bs58";var o=class{constructor(n){this.type="external-wallet";if(n.address==null)throw new Error("Please provide an address for the External Wallet Signer");this.address=n.address,this.onSignTransaction=n.onSignTransaction}locator(){return`solana-keypair:${this.address}`}signMessage(){return e(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for solana external wallet signer"))})}signTransaction(n){return e(this,null,function*(){if(this.onSignTransaction==null)return yield Promise.reject(new Error("onSignTransaction method is required to sign transactions with a Solana external wallet"));let l=i.decode(n),c=w.deserialize(l),t=yield this.onSignTransaction(c),d=new m(this.address),a=t.message.staticAccountKeys.findIndex(u=>u.equals(d));if(a===-1)throw new r("Wallet public key not found in transaction signers");let s=t.signatures[a];if(s==null)throw new r("No valid signature found in the transaction");let g=new Uint8Array(Object.values(s));return{signature:i.encode(g)}})}};export{o as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk4BJMFWAYcjs = require('./chunk-4BJMFWAY.cjs');var _chunkNWOKSI3Vcjs = require('./chunk-NWOKSI3V.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var m=class p extends _chunkNWOKSI3Vcjs.a{constructor(e){super(e)}locator(){return`solana-keypair:${this.config.signerAddress}`}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var a;yield this.handleAuthRequired();let n=this.getJwtOrThrow(),i=_bs582.default.decode(e),t=_web3js.VersionedTransaction.deserialize(i).message.serialize(),r=yield(a=this.config.clientTEEConnection)==null?void 0:a.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:n,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:_bs582.default.encode(t),encoding:"base58"}},options:_chunkNWOKSI3Vcjs.b});if((r==null?void 0:r.status)==="error")throw new Error(r.error);if((r==null?void 0:r.signature)==null)throw new Error("Failed to sign transaction");return p.verifyPublicKeyFormat(r.publicKey),{signature:r.signature.bytes}})}static pregenerateSigner(e,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var o;let i=e!=null?e:(o=n.experimental_customAuth)==null?void 0:o.email;if(i==null)throw new Error("Email is required to pregenerate a signer");try{let r=(yield new (0, _chunk4BJMFWAYcjs.a)(n).pregenerateSigner(i,"ed25519")).publicKey;return this.verifyPublicKeyFormat(r),r.bytes}catch(t){throw console.error("[EmailSigner] Failed to pregenerate signer:",t),t}})}static verifyPublicKeyFormat(e){if(e==null)throw new Error("No public key found");if(e.encoding!=="base58"||e.keyType!=="ed25519"||e.bytes==null)throw new Error("Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: "+JSON.stringify(e))}};exports.a = m;
@@ -1 +0,0 @@
1
- import{a as d}from"./chunk-IZGS2VHO.js";import{a as c,b as g}from"./chunk-7KHMZPZO.js";import{f as s}from"./chunk-BW7YYVZE.js";import{VersionedTransaction as y}from"@solana/web3.js";import l from"bs58";var m=class p extends c{constructor(e){super(e)}locator(){return`solana-keypair:${this.config.signerAddress}`}signMessage(){return s(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(e){return s(this,null,function*(){var a;yield this.handleAuthRequired();let n=this.getJwtOrThrow(),i=l.decode(e),t=y.deserialize(i).message.serialize(),r=yield(a=this.config.clientTEEConnection)==null?void 0:a.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:n,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:l.encode(t),encoding:"base58"}},options:g});if((r==null?void 0:r.status)==="error")throw new Error(r.error);if((r==null?void 0:r.signature)==null)throw new Error("Failed to sign transaction");return p.verifyPublicKeyFormat(r.publicKey),{signature:r.signature.bytes}})}static pregenerateSigner(e,n){return s(this,null,function*(){var o;let i=e!=null?e:(o=n.experimental_customAuth)==null?void 0:o.email;if(i==null)throw new Error("Email is required to pregenerate a signer");try{let r=(yield new d(n).pregenerateSigner(i,"ed25519")).publicKey;return this.verifyPublicKeyFormat(r),r.bytes}catch(t){throw console.error("[EmailSigner] Failed to pregenerate signer:",t),t}})}static verifyPublicKeyFormat(e){if(e==null)throw new Error("No public key found");if(e.encoding!=="base58"||e.keyType!=="ed25519"||e.bytes==null)throw new Error("Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: "+JSON.stringify(e))}};export{m as a};
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-424EIRNB.js";import{a as C}from"./chunk-QNBRYCK7.js";import{a as d}from"./chunk-UPTOMSKW.js";import{a as y}from"./chunk-A6ZBW2VA.js";import{a as f}from"./chunk-FUUYGB4K.js";import{d as m,f as s}from"./chunk-7ENJXL4H.js";import{f as l}from"./chunk-BW7YYVZE.js";import{WebAuthnP256 as h}from"ox";import{isEVMBlockchain as u}from"@crossmint/common-sdk-base";var g=class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return l(this,null,function*(){if(this.apiClient.isServerSide)throw new s("getOrCreateWallet is not supported on server side");let i=yield this.apiClient.getWallet(`me:${e.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);return i&&!("error"in i)?(yield this.validateWalletConfig(i,e),this.createWalletInstance(i,e)):this.createWallet(e)})}getWallet(e,i){return l(this,null,function*(){if(!this.apiClient.isServerSide)throw new s("getWallet is not supported on client side, use getOrCreateWallet instead");let t=yield this.apiClient.getWallet(e);if("error"in t)throw new m(JSON.stringify(t));return this.createWalletInstance(t,i)})}createWallet(e){return l(this,null,function*(){var n,a,r,o,p;yield(r=(a=(n=e.options)==null?void 0:n.experimental_callbacks)==null?void 0:a.onWalletCreationStart)==null?void 0:r.call(a);let i;e.chain==="solana"?i={type:"solana-smart-wallet",config:{adminSigner:yield this.configureSigner(e.chain,e.signer)},linkedUser:(o=e.owner)!=null?o:void 0}:i={type:"evm-smart-wallet",config:{adminSigner:yield this.configureSigner(e.chain,e.signer)},linkedUser:(p=e.owner)!=null?p:void 0};let t=yield this.apiClient.createWallet(i);if("error"in t)throw new s(JSON.stringify(t));return this.createWalletInstance(t,e)})}createWalletInstance(e,i){let t=this.toInternalSignerConfig(e,i.signer,i.options);return new c({chain:i.chain,address:e.address,owner:e.linkedUser,signer:C(i.chain,t),options:i.options},this.apiClient)}toInternalSignerConfig(e,i,t){var n,a;if(i==null)throw new s("Signer is required to create a wallet");switch(i.type){case"api-key":{let r;switch(e.type){case"solana-smart-wallet":r=e.config.adminSigner.address;break;case"evm-smart-wallet":e.config.adminSigner.type==="evm-fireblocks-custodial"&&(r=e.config.adminSigner.address);break}if(r==null)throw new s("Wallet signer 'api-key' has no address");return{type:"api-key",address:r}}case"external-wallet":return i;case"passkey":if(e.type==="evm-smart-wallet"&&e.config.adminSigner.type==="evm-passkey")return{type:"passkey",id:e.config.adminSigner.id,name:e.config.adminSigner.name,onCreatePasskey:i.onCreatePasskey,onSignWithPasskey:i.onSignWithPasskey};throw new s("Passkey signer is not supported for this wallet type");case"email":{if(!(e.type==="solana-smart-wallet"&&e.config.adminSigner.type==="solana-keypair"||e.type==="evm-smart-wallet"&&e.config.adminSigner.type==="evm-keypair"))throw new s("Wallet signer 'email' has no address");let r=e.config.adminSigner.address;return{type:"email",email:(a=i.email)!=null?a:(n=this.apiClient.crossmint.experimental_customAuth)==null?void 0:n.email,signerAddress:r,crossmint:this.apiClient.crossmint,onAuthRequired:i.onAuthRequired,clientTEEConnection:t==null?void 0:t.clientTEEConnection}}default:throw new Error("Invalid signer type")}}configureSigner(e,i){return l(this,null,function*(){var t;if((i==null?void 0:i.type)==="passkey"){let n=(t=i.name)!=null?t:`Crossmint Wallet ${Date.now()}`,a=i.onCreatePasskey?yield i.onCreatePasskey(n):yield h.createCredential({name:n});return{type:"evm-passkey",id:a.id,name:n,publicKey:{x:a.publicKey.x.toString(),y:a.publicKey.y.toString()}}}return yield this.toExternalSignerConfig(e,i)})}toExternalSignerConfig(e,i,t){return l(this,null,function*(){var n,a;if(!i||i.type==="api-key")return{type:e==="solana"?"solana-fireblocks-custodial":"evm-fireblocks-custodial"};if(i.type==="external-wallet")return{type:e==="solana"?"solana-keypair":"evm-keypair",address:i.address};if(i.type==="passkey"&&t!=null){if((t==null?void 0:t.type)!=="evm-smart-wallet"||t.config.adminSigner.type!=="evm-passkey")throw new s("Passkey signer is not supported for this wallet type");return{type:"evm-passkey",id:t.config.adminSigner.id,name:t.config.adminSigner.name,publicKey:{x:t.config.adminSigner.publicKey.x,y:t.config.adminSigner.publicKey.y}}}if(i.type==="email"){let r=(a=i.email)!=null?a:(n=this.apiClient.crossmint.experimental_customAuth)==null?void 0:n.email;if(r==null)throw new Error("Email is required to create a wallet with email signer");if(e==="solana")return{type:"solana-keypair",address:yield d.pregenerateSigner(r,this.apiClient.crossmint)};if(u(e))return{type:"evm-keypair",address:yield y.pregenerateSigner(r,this.apiClient.crossmint)}}throw new Error("Invalid signer type")})}validateWalletConfig(e,i){return l(this,null,function*(){if(i.owner!=null&&e.linkedUser!=null&&i.owner!==e.linkedUser)throw new s("Wallet owner does not match existing wallet's linked user");if(e.type!=="solana-smart-wallet"&&e.type!=="evm-smart-wallet")return;let t=yield this.toExternalSignerConfig(i.chain,i.signer,e),n=e.config.adminSigner;if(t&&n){if(t.type!==n.type)throw new s("The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type");f(t,n)}})}};export{g as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var n=class{constructor(t){this.config=t;this.type="api-key"}locator(){return`evm-fireblocks-custodial:${this.config.address}`}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct message signing - signatures are handled automatically by the backend"))})}signTransaction(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("API key signers do not support direct transaction signing - transaction are handled automatically by the backend"))})}};exports.a = n;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4BJMFWAYcjs = require('../../chunk-4BJMFWAY.cjs');require('../../chunk-NKUDWDSH.cjs');require('../../chunk-CT2UGJEL.cjs');require('../../chunk-XALFCQKD.cjs');exports.EmailSignerApiClient = _chunk4BJMFWAYcjs.a;
@@ -1,14 +0,0 @@
1
- import * as _crossmint_common_sdk_base from '@crossmint/common-sdk-base';
2
- import { CrossmintApiClient, Crossmint } from '@crossmint/common-sdk-base';
3
- import { KeyType } from '@crossmint/client-signers';
4
-
5
- declare class EmailSignerApiClient extends CrossmintApiClient {
6
- private apiPrefix;
7
- constructor(crossmint: Crossmint);
8
- pregenerateSigner(email: string, keyType: KeyType): Promise<any>;
9
- get isServerSide(): boolean;
10
- get environment(): _crossmint_common_sdk_base.APIKeyEnvironmentPrefix;
11
- private get headers();
12
- }
13
-
14
- export { EmailSignerApiClient };
@@ -1,14 +0,0 @@
1
- import * as _crossmint_common_sdk_base from '@crossmint/common-sdk-base';
2
- import { CrossmintApiClient, Crossmint } from '@crossmint/common-sdk-base';
3
- import { KeyType } from '@crossmint/client-signers';
4
-
5
- declare class EmailSignerApiClient extends CrossmintApiClient {
6
- private apiPrefix;
7
- constructor(crossmint: Crossmint);
8
- pregenerateSigner(email: string, keyType: KeyType): Promise<any>;
9
- get isServerSide(): boolean;
10
- get environment(): _crossmint_common_sdk_base.APIKeyEnvironmentPrefix;
11
- private get headers();
12
- }
13
-
14
- export { EmailSignerApiClient };
@@ -1 +0,0 @@
1
- import{a}from"../../chunk-IZGS2VHO.js";import"../../chunk-LURBQMOO.js";import"../../chunk-7ENJXL4H.js";import"../../chunk-BW7YYVZE.js";export{a as EmailSignerApiClient};