@crossmint/wallets-sdk 0.14.3 → 0.15.1

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 (75) hide show
  1. package/dist/api/client.cjs +1 -1
  2. package/dist/api/client.js +1 -1
  3. package/dist/api/index.cjs +1 -1
  4. package/dist/api/index.js +1 -1
  5. package/dist/{chunk-OMHEIZBY.cjs → chunk-24QTQKVA.cjs} +1 -1
  6. package/dist/{chunk-BUR4AQE5.cjs → chunk-274PI33O.cjs} +1 -1
  7. package/dist/{chunk-R6E6KN4C.cjs → chunk-4EIG4JRP.cjs} +1 -1
  8. package/dist/chunk-4EWCN2LV.js +1 -0
  9. package/dist/{chunk-YRAYLQSM.cjs → chunk-4NDX2H2R.cjs} +1 -1
  10. package/dist/chunk-5F3GW6TH.js +1 -0
  11. package/dist/{chunk-FUFMJVFW.cjs → chunk-5LZS53J3.cjs} +1 -1
  12. package/dist/chunk-BZT44O4Z.cjs +1 -0
  13. package/dist/{chunk-EQAR6LTS.js → chunk-C4PMI4MS.js} +1 -1
  14. package/dist/{chunk-LYNZIVUP.js → chunk-C63LHP55.js} +1 -1
  15. package/dist/{chunk-ZOC4AK4K.js → chunk-CEEKYLQE.js} +1 -1
  16. package/dist/{chunk-YA3QR74S.cjs → chunk-FXPZDDLO.cjs} +2 -2
  17. package/dist/chunk-GHEMGGUS.js +1 -0
  18. package/dist/chunk-H4PQE2PQ.cjs +1 -0
  19. package/dist/{chunk-4WFPKXKO.js → chunk-IP2I5HPS.js} +1 -1
  20. package/dist/{chunk-E3K3BL52.js → chunk-ISP75PVL.js} +1 -1
  21. package/dist/chunk-LU5GO2D3.js +1 -0
  22. package/dist/{chunk-U3NXCHNK.cjs → chunk-N757VJHV.cjs} +1 -1
  23. package/dist/chunk-NS6YGXH2.cjs +1 -0
  24. package/dist/{chunk-XIKTZJF7.cjs → chunk-RBUZYVIB.cjs} +1 -1
  25. package/dist/chunk-RQG43QNF.js +1 -0
  26. package/dist/chunk-S6OCTE4E.js +1 -0
  27. package/dist/{chunk-OURAC3YW.js → chunk-XV5GD5AT.js} +1 -1
  28. package/dist/chunk-YNU5YCIZ.cjs +1 -0
  29. package/dist/{chunk-TE22LFWE.cjs → chunk-Z5LC25XK.cjs} +1 -1
  30. package/dist/{chunk-2EEUFDPI.js → chunk-ZOHTLGQD.js} +1 -1
  31. package/dist/index.cjs +1 -1
  32. package/dist/index.js +1 -1
  33. package/dist/sdk.cjs +1 -1
  34. package/dist/sdk.js +1 -1
  35. package/dist/signers/index.cjs +1 -1
  36. package/dist/signers/index.js +1 -1
  37. package/dist/signers/non-custodial/index.cjs +1 -1
  38. package/dist/signers/non-custodial/index.js +1 -1
  39. package/dist/signers/non-custodial/ncs-evm-signer.cjs +1 -1
  40. package/dist/signers/non-custodial/ncs-evm-signer.js +1 -1
  41. package/dist/signers/non-custodial/ncs-signer.cjs +1 -1
  42. package/dist/signers/non-custodial/ncs-signer.d.cts +1 -0
  43. package/dist/signers/non-custodial/ncs-signer.d.ts +1 -0
  44. package/dist/signers/non-custodial/ncs-signer.js +1 -1
  45. package/dist/signers/non-custodial/ncs-solana-signer.cjs +1 -1
  46. package/dist/signers/non-custodial/ncs-solana-signer.js +1 -1
  47. package/dist/signers/non-custodial/ncs-stellar-signer.cjs +1 -1
  48. package/dist/signers/non-custodial/ncs-stellar-signer.js +1 -1
  49. package/dist/utils/constants.cjs +1 -1
  50. package/dist/utils/constants.js +1 -1
  51. package/dist/wallets/evm.cjs +1 -1
  52. package/dist/wallets/evm.js +1 -1
  53. package/dist/wallets/solana.cjs +1 -1
  54. package/dist/wallets/solana.js +1 -1
  55. package/dist/wallets/stellar.cjs +1 -1
  56. package/dist/wallets/stellar.js +1 -1
  57. package/dist/wallets/types.d.cts +18 -7
  58. package/dist/wallets/types.d.ts +18 -7
  59. package/dist/wallets/wallet-factory.cjs +1 -1
  60. package/dist/wallets/wallet-factory.js +1 -1
  61. package/dist/wallets/wallet.cjs +1 -1
  62. package/dist/wallets/wallet.d.cts +3 -2
  63. package/dist/wallets/wallet.d.ts +3 -2
  64. package/dist/wallets/wallet.js +1 -1
  65. package/package.json +5 -2
  66. package/dist/chunk-2R3FJX2P.cjs +0 -1
  67. package/dist/chunk-B5E2BQO3.js +0 -1
  68. package/dist/chunk-BDR5POSN.cjs +0 -1
  69. package/dist/chunk-H2PM5EB4.cjs +0 -1
  70. package/dist/chunk-HARQAZMG.js +0 -1
  71. package/dist/chunk-IKFHL3PH.js +0 -1
  72. package/dist/chunk-JQNTWDDL.js +0 -1
  73. package/dist/chunk-KVDKGRNR.js +0 -1
  74. package/dist/chunk-NC5TWZVI.js +0 -1
  75. package/dist/chunk-RO7Z7GEL.cjs +0 -1
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFUFMJVFWcjs = require('../chunk-FUFMJVFW.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.ApiClient = _chunkFUFMJVFWcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5LZS53J3cjs = require('../chunk-5LZS53J3.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.ApiClient = _chunk5LZS53J3cjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-E3K3BL52.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as ApiClient};
1
+ import{a}from"../chunk-ISP75PVL.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as ApiClient};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-6HXIZLEQ.cjs');var _chunkFUFMJVFWcjs = require('../chunk-FUFMJVFW.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-ECAM5KTH.cjs');require('../chunk-XALFCQKD.cjs');exports.ApiClient = _chunkFUFMJVFWcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-6HXIZLEQ.cjs');var _chunk5LZS53J3cjs = require('../chunk-5LZS53J3.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-ECAM5KTH.cjs');require('../chunk-XALFCQKD.cjs');exports.ApiClient = _chunk5LZS53J3cjs.a;
package/dist/api/index.js CHANGED
@@ -1 +1 @@
1
- import"../chunk-5IFDVB4Y.js";import{a}from"../chunk-E3K3BL52.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-KBJA7JDT.js";import"../chunk-BW7YYVZE.js";export{a as ApiClient};
1
+ import"../chunk-5IFDVB4Y.js";import{a}from"../chunk-ISP75PVL.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-KBJA7JDT.js";import"../chunk-BW7YYVZE.js";export{a as ApiClient};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMQP5VZCAcjs = require('./chunk-MQP5VZCA.cjs');var _chunkZSWIQU3Ucjs = require('./chunk-ZSWIQU3U.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class{constructor(e){this.config=e;this._needsAuth=!0;this._authPromise=null;this._initializationPromise=null;this.initialize(),this.type=this.config.type}locator(){return this.config.locator}address(){return this.config.address}initialize(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config.clientTEEConnection==null){let e=_commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new (0, _chunkMQP5VZCAcjs.a)({environment:e.environment});this.config.clientTEEConnection=yield i.initialize()}})}getTEEConnection(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config.clientTEEConnection==null){if(this._initializationPromise)return yield this._initializationPromise,this.config.clientTEEConnection;this._initializationPromise=this.initializeTEEConnection();try{yield this._initializationPromise}finally{this._initializationPromise=null}}return this.config.clientTEEConnection})}initializeTEEConnection(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){console.warn("TEE connection is not initialized, initializing now...");let e=_commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new (0, _chunkMQP5VZCAcjs.a)({environment:e.environment});if(this.config.clientTEEConnection=yield i.initialize(),this.config.clientTEEConnection==null)throw new Error("Failed to initialize TEE connection");console.log("TEE connection initialized successfully")})}handleAuthRequired(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s,c;let e=yield this.getTEEConnection();if(this.config.onAuthRequired==null)throw new Error(`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`);let i=yield e.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(c=(s=this.config.crossmint.experimental_customAuth)==null?void 0:s.jwt)!=null?c:"",apiKey:this.config.crossmint.apiKey}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:5})});if((i==null?void 0:i.status)!=="success")throw new Error(i==null?void 0:i.error);if(i.signerStatus==="ready"){this._needsAuth=!1;return}else this._needsAuth=!0;let{promise:n,resolve:o,reject:r}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:o,reject:r},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>_chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>{var t;return(t=this._authPromise)==null?void 0:t.reject(new _chunkZSWIQU3Ucjs.a)})),r(new _chunkZSWIQU3Ucjs.a)}))}catch(t){r(t)}try{yield n}catch(t){throw t}})}getJwtOrThrow(){var i;let e=(i=this.config.crossmint.experimental_customAuth)==null?void 0:i.jwt;if(e==null)throw new Error("JWT is required");return e}createAuthPromise(){let e,i;return{promise:new Promise((o,r)=>{e=o,i=r}),resolve:e,reject:i}}sendMessageWithOtp(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var o,r,s;let e=yield this.getTEEConnection(),i=this.getAuthId(),n=yield e.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(r=(o=this.config.crossmint.experimental_customAuth)==null?void 0:o.jwt)!=null?r:"",apiKey:this.config.crossmint.apiKey},data:{authId:i}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:3})});if((n==null?void 0:n.status)==="success"&&n.signerStatus==="ready"){this._needsAuth=!1;return}(n==null?void 0:n.status)==="error"&&(console.error("[sendMessageWithOtp] Failed to send OTP:",n),(s=this._authPromise)==null||s.reject(new Error(n.error||"Failed to initiate OTP process.")))})}getAuthId(){return this.config.type==="email"?`email:${this.config.email}`:`phone:${this.config.phone}`}verifyOtp(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var n,o,r,s,c;let i=yield this.getTEEConnection();try{let t=yield i.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(o=(n=this.config.crossmint.experimental_customAuth)==null?void 0:n.jwt)!=null?o:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:e}}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:3})});if((t==null?void 0:t.status)==="success"){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),h=>this.verifyOtp(h),()=>{var h;return(h=this._authPromise)==null?void 0:h.reject(new _chunkZSWIQU3Ucjs.a)})),(r=this._authPromise)==null||r.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",t),this._needsAuth=!0;let E=(t==null?void 0:t.status)==="error"?t.error:"Failed to validate encrypted OTP";(s=this._authPromise)==null||s.reject(new Error(E))}catch(t){throw console.error("[verifyOtp] Error sending OTP validation request:",t),this._needsAuth=!0,(c=this._authPromise)==null||c.reject(t),t}})}},g= exports.b ={timeoutMs:1e4,intervalMs:5e3};exports.a = p; exports.b = g;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkMQP5VZCAcjs = require('./chunk-MQP5VZCA.cjs');var _chunkZSWIQU3Ucjs = require('./chunk-ZSWIQU3U.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class{constructor(e){this.config=e;this._needsAuth=!0;this._authPromise=null;this._initializationPromise=null;this.initialize(),this.type=this.config.type}locator(){return this.config.locator}address(){return this.config.address}initialize(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config.clientTEEConnection==null){let e=_commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new (0, _chunkMQP5VZCAcjs.a)({environment:e.environment});this.config.clientTEEConnection=yield i.initialize()}})}getTEEConnection(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config.clientTEEConnection==null){if(this._initializationPromise)return yield this._initializationPromise,this.config.clientTEEConnection;this._initializationPromise=this.initializeTEEConnection();try{yield this._initializationPromise}finally{this._initializationPromise=null}}return this.config.clientTEEConnection})}initializeTEEConnection(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){console.warn("TEE connection is not initialized, initializing now...");let e=_commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new (0, _chunkMQP5VZCAcjs.a)({environment:e.environment});if(this.config.clientTEEConnection=yield i.initialize(),this.config.clientTEEConnection==null)throw new Error("Failed to initialize TEE connection");console.log("TEE connection initialized successfully")})}handleAuthRequired(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var a,c;let e=yield this.getTEEConnection();if(this.config.onAuthRequired==null)throw new Error(`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`);let i=yield e.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(c=(a=this.config.crossmint.experimental_customAuth)==null?void 0:a.jwt)!=null?c:"",apiKey:this.config.crossmint.apiKey}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:5})});if((i==null?void 0:i.status)!=="success")throw new Error(i==null?void 0:i.error);if(i.signerStatus==="ready"){this._needsAuth=!1;return}else this._needsAuth=!0;let{promise:n,resolve:s,reject:r}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:s,reject:r},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>_chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>{var t;return(t=this._authPromise)==null?void 0:t.reject(new _chunkZSWIQU3Ucjs.a)})),r(new _chunkZSWIQU3Ucjs.a)}))}catch(t){r(t)}try{yield n}catch(t){throw t}})}ensureAuthenticated(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){yield this.handleAuthRequired()})}getJwtOrThrow(){var i;let e=(i=this.config.crossmint.experimental_customAuth)==null?void 0:i.jwt;if(e==null)throw new Error("JWT is required");return e}createAuthPromise(){let e,i;return{promise:new Promise((s,r)=>{e=s,i=r}),resolve:e,reject:i}}sendMessageWithOtp(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s,r,a;let e=yield this.getTEEConnection(),i=this.getAuthId(),n=yield e.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(r=(s=this.config.crossmint.experimental_customAuth)==null?void 0:s.jwt)!=null?r:"",apiKey:this.config.crossmint.apiKey},data:{authId:i}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:3})});if((n==null?void 0:n.status)==="success"&&n.signerStatus==="ready"){this._needsAuth=!1;return}(n==null?void 0:n.status)==="error"&&(console.error("[sendMessageWithOtp] Failed to send OTP:",n),(a=this._authPromise)==null||a.reject(new Error(n.error||"Failed to initiate OTP process.")))})}getAuthId(){return this.config.type==="email"?`email:${this.config.email}`:`phone:${this.config.phone}`}verifyOtp(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var n,s,r,a,c;let i=yield this.getTEEConnection();try{let t=yield i.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(s=(n=this.config.crossmint.experimental_customAuth)==null?void 0:n.jwt)!=null?s:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:e}}},options:_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},g),{maxRetries:3})});if((t==null?void 0:t.status)==="success"){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),h=>this.verifyOtp(h),()=>{var h;return(h=this._authPromise)==null?void 0:h.reject(new _chunkZSWIQU3Ucjs.a)})),(r=this._authPromise)==null||r.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",t),this._needsAuth=!0;let E=(t==null?void 0:t.status)==="error"?t.error:"Failed to validate encrypted OTP";(a=this._authPromise)==null||a.reject(new Error(E))}catch(t){throw console.error("[verifyOtp] Error sending OTP validation request:",t),this._needsAuth=!0,(c=this._authPromise)==null||c.reject(t),t}})}},g= exports.b ={timeoutMs:1e4,intervalMs:5e3};exports.a = p; exports.b = g;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.14.3";var p="WALLETS_SDK",r= exports.b =t,c= exports.c =s,a= exports.d =500;exports.a = p; exports.b = r; exports.c = c; exports.d = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.15.1";var p="WALLETS_SDK",r= exports.b =t,c= exports.c =s,a= exports.d =500;exports.a = p; exports.b = r; exports.c = c; exports.d = a;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkOMHEIZBYcjs = require('./chunk-OMHEIZBY.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var a=class g extends _chunkOMHEIZBYcjs.a{constructor(e){super(e)}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 r;yield this.handleAuthRequired();let c=this.getJwtOrThrow(),d=_bs582.default.decode(e),l=_web3js.VersionedTransaction.deserialize(d).message.serialize(),n=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:c,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:_bs582.default.encode(l),encoding:"base58"}},options:_chunkOMHEIZBYcjs.b});if((n==null?void 0:n.status)==="error")throw new Error(n.error);if((n==null?void 0:n.signature)==null)throw new Error("Failed to sign transaction");return g.verifyPublicKeyFormat(n.publicKey),{signature:n.signature.bytes}})}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 = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk24QTQKVAcjs = require('./chunk-24QTQKVA.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var a=class g extends _chunk24QTQKVAcjs.a{constructor(e){super(e)}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 r;yield this.handleAuthRequired();let c=this.getJwtOrThrow(),d=_bs582.default.decode(e),l=_web3js.VersionedTransaction.deserialize(d).message.serialize(),n=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:c,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:_bs582.default.encode(l),encoding:"base58"}},options:_chunk24QTQKVAcjs.b});if((n==null?void 0:n.status)==="error")throw new Error(n.error);if((n==null?void 0:n.signature)==null)throw new Error("Failed to sign transaction");return g.verifyPublicKeyFormat(n.publicKey),{signature:n.signature.bytes}})}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 = a;
@@ -0,0 +1 @@
1
+ import{a}from"./chunk-GHEMGGUS.js";import{r as l}from"./chunk-PSXRNSOE.js";import{f as o}from"./chunk-BW7YYVZE.js";import{isValidStellarAddress as f}from"@crossmint/common-sdk-base";var d=class u extends a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:a.getOptions(n)},a.getApiClient(n))}static from(n){if(!f(n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return o(this,null,function*(){var r;yield this.preAuthIfNeeded();let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return o(this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:h,memo:p,args:T}=n;i={type:"contract-call",contractId:t,method:h,memo:p!=null?{type:"text",value:p}:void 0,args:T}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new l(JSON.stringify(s));return s})}};export{d as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOMHEIZBYcjs = require('./chunk-OMHEIZBY.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var _viem = require('viem');var g=class c extends _chunkOMHEIZBYcjs.a{constructor(n){super(n)}signMessage(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let i=_viem.isHex.call(void 0, n)?n:_viem.toHex.call(void 0, n),r=_ox.PersonalMessage.getSignPayload(i);return yield this.sign(r)})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.sign(n)})}sign(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s;yield this.handleAuthRequired();let i=this.getJwtOrThrow(),r=n.replace("0x",""),e=yield(s=this.config.clientTEEConnection)==null?void 0:s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:i,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:r,encoding:"hex"}},options:_chunkOMHEIZBYcjs.b});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return c.verifyPublicKeyFormat(e.publicKey),{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="hex"||n.keyType!=="secp256k1"||n.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(n))}};exports.a = g;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk24QTQKVAcjs = require('./chunk-24QTQKVA.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var _viem = require('viem');var g=class c extends _chunk24QTQKVAcjs.a{constructor(n){super(n)}signMessage(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let i=_viem.isHex.call(void 0, n)?n:_viem.toHex.call(void 0, n),r=_ox.PersonalMessage.getSignPayload(i);return yield this.sign(r)})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.sign(n)})}sign(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s;yield this.handleAuthRequired();let i=this.getJwtOrThrow(),r=n.replace("0x",""),e=yield(s=this.config.clientTEEConnection)==null?void 0:s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:i,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:r,encoding:"hex"}},options:_chunk24QTQKVAcjs.b});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return c.verifyPublicKeyFormat(e.publicKey),{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="hex"||n.keyType!=="secp256k1"||n.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(n))}};exports.a = g;
@@ -0,0 +1 @@
1
+ var s="@crossmint/wallets-sdk",t="0.15.1";var r="WALLETS_SDK",c=t,a=s,d=500;export{r as a,c as b,a as c,d};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBUR4AQE5cjs = require('./chunk-BUR4AQE5.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class extends _commonsdkbase.CrossmintApiClient{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:_chunkBUR4AQE5cjs.c,version:_chunkBUR4AQE5cjs.b}}});this.apiPrefix="api/2025-06-09/wallets";this.legacyApiPrefix="api/2022-06-09/wallets"}createWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getTransaction(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getSignature(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}experimental_getNfts(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let t=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${t}/nfts?${s.toString()}`,{headers:this.headers})).json()})}experimental_activity(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=e;this.isServerSide||(t=`me:${s.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);let a=new URLSearchParams;return a.append("chain",s.chain.toString()),(yield this.get(`${this.legacyApiPrefix}/${t}/activity?${a.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=new URLSearchParams;return t.append("tokens",s.tokens.join(",")),t.append("chains",s.chains.join(",")),(yield this.get(`${this.apiPrefix}/${e}/balances?${t.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).json()})}send(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/tokens/${s}/transfers`,{body:JSON.stringify(t),headers:this.headers})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===_commonsdkbase.APIKeyUsageOrigin.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new (0, _chunkO4FVTK7Xcjs.a)("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};exports.a = p;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk274PI33Ocjs = require('./chunk-274PI33O.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class extends _commonsdkbase.CrossmintApiClient{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:_chunk274PI33Ocjs.c,version:_chunk274PI33Ocjs.b}}});this.apiPrefix="api/2025-06-09/wallets";this.legacyApiPrefix="api/2022-06-09/wallets"}createWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getTransaction(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getSignature(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}experimental_getNfts(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let t=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${t}/nfts?${s.toString()}`,{headers:this.headers})).json()})}experimental_activity(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=e;this.isServerSide||(t=`me:${s.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);let a=new URLSearchParams;return a.append("chain",s.chain.toString()),(yield this.get(`${this.legacyApiPrefix}/${t}/activity?${a.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=new URLSearchParams;return t.append("tokens",s.tokens.join(",")),t.append("chains",s.chains.join(",")),(yield this.get(`${this.apiPrefix}/${e}/balances?${t.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).json()})}send(e,s,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/tokens/${s}/transfers`,{body:JSON.stringify(t),headers:this.headers})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===_commonsdkbase.APIKeyUsageOrigin.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new (0, _chunkO4FVTK7Xcjs.a)("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};exports.a = p;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk24QTQKVAcjs = require('./chunk-24QTQKVA.cjs');var _chunk274PI33Ocjs = require('./chunk-274PI33O.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var v,c,H= exports.a =class{constructor(e,t){_chunkXALFCQKDcjs.d.call(void 0, this,v);_chunkXALFCQKDcjs.d.call(void 0, this,c);let{chain:r,address:n,owner:o,signer:h,options:g}=e;_chunkXALFCQKDcjs.e.call(void 0, this,c,t),this.chain=r,this.address=n,this.owner=o,this.signer=h,_chunkXALFCQKDcjs.e.call(void 0, this,v,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,c)}get options(){return _chunkXALFCQKDcjs.c.call(void 0, this,v)}experimental_apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,c)}balances(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r;switch(this.chain){case"solana":r="sol";break;case"stellar":r="xlm";break;default:r="eth";break}let n=[r,"usdc",...e!=null?e:[]],o=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getBalance(this.address,{chains:t!=null?t:[this.chain],tokens:n});if("error"in o)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(o.message)}`);return this.transformBalanceResponse(o,r,e)})}transformBalanceResponse(e,t,r){let n=a=>{var m,w,T,S,y;let i=(m=a.chains)==null?void 0:m[this.chain],p={};return this.chain==="solana"&&i!=null&&"mintHash"in i?p={mintHash:i.mintHash}:this.chain==="stellar"&&i!=null&&"contractId"in i?p={contractId:i.contractId}:i!=null&&"contractAddress"in i&&(p={contractAddress:i.contractAddress}),_chunkXALFCQKDcjs.a.call(void 0, {symbol:(w=a.symbol)!=null?w:"",name:(T=a.name)!=null?T:"",amount:(S=a.amount)!=null?S:"0",decimals:a.decimals,rawAmount:(y=a.rawAmount)!=null?y:"0"},p)},o=e.find(a=>a.symbol===t),h=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==t&&a.symbol!=="usdc"),s=a=>{let i={symbol:a,name:a,amount:"0",decimals:0,rawAmount:"0"},p={};return this.chain==="solana"?p={mintHash:void 0}:this.chain==="stellar"?p={contractId:void 0}:p={contractAddress:void 0},_chunkXALFCQKDcjs.a.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},i),p)};return{nativeToken:o!=null?n(o):s(t),usdc:h!=null?n(h):s("usdc"),tokens:g.map(n)}}experimental_nfts(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,c).experimental_getNfts(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransaction(this.walletLocator,e);if("error"in t)throw new Error(`Failed to get transaction: ${JSON.stringify(t.error)}`);return t})}experimental_activity(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,t,r,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){yield this.preAuthIfNeeded();let o=M(e),h=U(t,this.chain),g=_chunkXALFCQKDcjs.a.call(void 0, {recipient:o,amount:r},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),s=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).send(this.walletLocator,h,g);if("message"in s)throw new (0, _chunkO4FVTK7Xcjs.r)(`Failed to send token: ${JSON.stringify(s.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:s.id}:yield this.approveTransactionAndWait(s.id)})}approveTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in t)throw new Error(`Failed to register signer: ${JSON.stringify(t.message)}`);if("transaction"in t&&t.transaction!=null){let n=t.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in t){let n=(r=t.chains)==null?void 0:r[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t,r,n;let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getWallet(this.walletLocator);if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.d)(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new (0, _chunkO4FVTK7Xcjs.c)(`Wallet type ${e.type} not supported`);return(n=(r=(t=e==null?void 0:e.config)==null?void 0:t.delegatedSigners)==null?void 0:r.map(o=>{let h=o.locator.indexOf(":");return{signer:`external-wallet:${h>=0?o.locator.slice(h+1):o.locator}`}}))!=null?n:[]})}get walletLocator(){return _chunkXALFCQKDcjs.c.call(void 0, this,c).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}preAuthIfNeeded(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){this.signer instanceof _chunk24QTQKVAcjs.a&&(yield this.signer.ensureAuthenticated())})}get isSolanaWallet(){return this.chain==="solana"}approveTransactionAndWait(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveTransactionInternal(e,t),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield this.approveSignatureInternal(e,t);return!("error"in r)&&r.status==="success"&&r.outputSignature!=null?{signature:r.outputSignature,signatureId:e}:(yield this.sleep(1e3),yield this.waitForSignature(e))})}approveSignatureInternal(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getSignature(this.walletLocator,e);if("error"in r)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(r));if(this.signer.type==="api-key")return r;if((t==null?void 0:t.experimental_approval)!=null){let i=[t.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,i)}let n=(s=r.approvals)==null?void 0:s.pending;if(n==null)return r;let o=[...(a=t==null?void 0:t.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(i=>{let p=o.find(m=>m.locator()===i.signer.locator);if(p==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${i.signer} not found in pending approvals`);return p.signMessage(i.message)}))).map(i=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},i),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s,a,i,p,m;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransaction(this.walletLocator,e);if("error"in r)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(r));if(yield(i=(a=(s=_chunkXALFCQKDcjs.c.call(void 0, this,v))==null?void 0:s.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:i.call(a),this.signer.type==="api-key")return r;if((t==null?void 0:t.experimental_approval)!=null){let w=[t.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(p=r.approvals)==null?void 0:p.pending;if(n==null)return r;let o=[...(m=t==null?void 0:t.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let T=o.find(y=>y.locator()===w.signer.locator);if(T==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${w.signer} not found in pending approvals`);let S=r.chainType==="solana"&&"transaction"in r.onChain?r.onChain.transaction:w.message;return T.signTransaction(S)}))).map(w=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).approveTransaction(this.walletLocator,e,{approvals:t});if(r.error)throw new (0, _chunkO4FVTK7Xcjs.x)(JSON.stringify(r));return r})}executeApproveSignatureWithErrorHandling(e,t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).approveSignature(this.walletLocator,e,{approvals:t});if(r.error)throw new (0, _chunkO4FVTK7Xcjs.q)(JSON.stringify(r));return r})}waitForSignature(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=null;do if(yield new Promise(r=>setTimeout(r,_chunk274PI33Ocjs.d)),t=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getSignature(this.walletLocator,e),"error"in t)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(t));while(t===null||t.status==="pending");if(t.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.m)("Signature signing failed");if(!t.outputSignature)throw new (0, _chunkO4FVTK7Xcjs.p)("Signature not available");return{signature:t.outputSignature,signatureId:e}})}waitForTransaction(h){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*(e,t=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:n=2e3,initialBackoffMs:o=_chunk274PI33Ocjs.d}={}){var i;let g=Date.now(),s;do{if(Date.now()-g>t)throw new (0, _chunkO4FVTK7Xcjs.t)("Transaction confirmation timeout");if(s=yield _chunkXALFCQKDcjs.c.call(void 0, this,c).getTransaction(this.walletLocator,e),s.error)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(s));yield this.sleep(o),o=Math.min(o*r,n)}while(s.status==="pending");if(s.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.u)(`Transaction sending failed: ${JSON.stringify(s.error)}`);if(s.status==="awaiting-approval")throw new (0, _chunkO4FVTK7Xcjs.v)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=s.onChain.txId;if(a==null)throw new (0, _chunkO4FVTK7Xcjs.w)("Transaction hash not found on transaction response");return{hash:a,explorerLink:(i=s.onChain.explorerLink)!=null?i:"",transactionId:s.id}})}sleep(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return new Promise(t=>setTimeout(t,e))})}};v=new WeakMap,c=new WeakMap;function M(d){if(typeof d=="string")return d;if("email"in d)return`email:${d.email}`;if("x"in d)return`x:${d.x}`;if("twitter"in d)return`twitter:${d.twitter}`;if("phone"in d)return`phoneNumber:${d.phone}`;if("userId"in d)return`userId:${d.userId}`;throw new Error("Invalid recipient locator")}function U(d,e){return _commonsdkbase.isValidAddress.call(void 0, d)?`${e}:${d}`:`${e}:${d.toLowerCase()}`}exports.a = H;
@@ -1 +1 @@
1
- import{a as i,b as o}from"./chunk-NC5TWZVI.js";import{f as t}from"./chunk-BW7YYVZE.js";var s=class a extends i{constructor(n){super(n)}signMessage(){return t(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for stellar signer"))})}signTransaction(n){return t(this,null,function*(){var r;yield this.handleAuthRequired();let g=this.getJwtOrThrow(),e=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:g,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:n,encoding:"base64"}},options:o});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");if(a.verifyPublicKeyFormat(e.publicKey),e.signature.encoding!=="base64")throw new Error("Wrong encoding for signature. Expected base64, got "+e.signature.encoding);return{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="base64"||n.keyType!=="ed25519"||n.bytes==null)throw new Error("Not supported. Expected public key to be in base64 encoding and ed25519 key type. Got: "+JSON.stringify(n))}};export{s as a};
1
+ import{a as i,b as o}from"./chunk-S6OCTE4E.js";import{f as t}from"./chunk-BW7YYVZE.js";var s=class a extends i{constructor(n){super(n)}signMessage(){return t(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for stellar signer"))})}signTransaction(n){return t(this,null,function*(){var r;yield this.handleAuthRequired();let g=this.getJwtOrThrow(),e=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:g,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:n,encoding:"base64"}},options:o});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");if(a.verifyPublicKeyFormat(e.publicKey),e.signature.encoding!=="base64")throw new Error("Wrong encoding for signature. Expected base64, got "+e.signature.encoding);return{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="base64"||n.keyType!=="ed25519"||n.bytes==null)throw new Error("Not supported. Expected public key to be in base64 encoding and ed25519 key type. Got: "+JSON.stringify(n))}};export{s as a};
@@ -1 +1 @@
1
- import{a as o,b as a}from"./chunk-NC5TWZVI.js";import{f as t}from"./chunk-BW7YYVZE.js";import{PersonalMessage as p}from"ox";import{isHex as y,toHex as l}from"viem";var g=class c extends o{constructor(n){super(n)}signMessage(n){return t(this,null,function*(){let i=y(n)?n:l(n),r=p.getSignPayload(i);return yield this.sign(r)})}signTransaction(n){return t(this,null,function*(){return yield this.sign(n)})}sign(n){return t(this,null,function*(){var s;yield this.handleAuthRequired();let i=this.getJwtOrThrow(),r=n.replace("0x",""),e=yield(s=this.config.clientTEEConnection)==null?void 0:s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:i,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:r,encoding:"hex"}},options:a});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return c.verifyPublicKeyFormat(e.publicKey),{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="hex"||n.keyType!=="secp256k1"||n.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(n))}};export{g as a};
1
+ import{a as o,b as a}from"./chunk-S6OCTE4E.js";import{f as t}from"./chunk-BW7YYVZE.js";import{PersonalMessage as p}from"ox";import{isHex as y,toHex as l}from"viem";var g=class c extends o{constructor(n){super(n)}signMessage(n){return t(this,null,function*(){let i=y(n)?n:l(n),r=p.getSignPayload(i);return yield this.sign(r)})}signTransaction(n){return t(this,null,function*(){return yield this.sign(n)})}sign(n){return t(this,null,function*(){var s;yield this.handleAuthRequired();let i=this.getJwtOrThrow(),r=n.replace("0x",""),e=yield(s=this.config.clientTEEConnection)==null?void 0:s.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:i,apiKey:this.config.crossmint.apiKey},data:{keyType:"secp256k1",bytes:r,encoding:"hex"}},options:a});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return c.verifyPublicKeyFormat(e.publicKey),{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="hex"||n.keyType!=="secp256k1"||n.bytes==null)throw new Error("Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: "+JSON.stringify(n))}};export{g as a};
@@ -1 +1 @@
1
- import{a as l}from"./chunk-4WFPKXKO.js";import{a}from"./chunk-E3K3BL52.js";import{f as e}from"./chunk-BW7YYVZE.js";import{createCrossmint as p}from"@crossmint/common-sdk-base";var i=class o{constructor(t){let r=new a(t);this.walletFactory=new l(r)}static from(t){return new o(t)}getOrCreateWallet(t){return e(this,null,function*(){return yield this.walletFactory.getOrCreateWallet(t)})}getWallet(t,r){return e(this,null,function*(){return yield this.walletFactory.getWallet(t,r)})}createWallet(t){return e(this,null,function*(){return yield this.walletFactory.createWallet(t)})}};export{p as a,i as b};
1
+ import{a as l}from"./chunk-IP2I5HPS.js";import{a}from"./chunk-ISP75PVL.js";import{f as e}from"./chunk-BW7YYVZE.js";import{createCrossmint as p}from"@crossmint/common-sdk-base";var i=class o{constructor(t){let r=new a(t);this.walletFactory=new l(r)}static from(t){return new o(t)}getOrCreateWallet(t){return e(this,null,function*(){return yield this.walletFactory.getOrCreateWallet(t)})}getWallet(t,r){return e(this,null,function*(){return yield this.walletFactory.getWallet(t,r)})}createWallet(t){return e(this,null,function*(){return yield this.walletFactory.createWallet(t)})}};export{p as a,i as b};
@@ -1,3 +1,3 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk23BRREJGcjs = require('./chunk-23BRREJG.cjs');var _chunkH2PM5EB4cjs = require('./chunk-H2PM5EB4.cjs');var _chunkTE22LFWEcjs = require('./chunk-TE22LFWE.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var u="When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.",w= exports.a =class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.apiClient.isServerSide)throw new (0, _chunkO4FVTK7Xcjs.f)(`getOrCreateWallet can only be called from client-side code.
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk23BRREJGcjs = require('./chunk-23BRREJG.cjs');var _chunkBZT44O4Zcjs = require('./chunk-BZT44O4Z.cjs');var _chunkZ5LC25XKcjs = require('./chunk-Z5LC25XK.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _ox = require('ox');var u="When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.",w= exports.a =class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.apiClient.isServerSide)throw new (0, _chunkO4FVTK7Xcjs.f)(`getOrCreateWallet can only be called from client-side code.
2
2
  - Make sure you're running this in the browser (or another client environment), not on your server.
3
- - Use your Crossmint Client API Key (not a server key).`);let n=yield this.apiClient.getWallet(`me:${this.getChainType(e.chain)}:smart`);return n!=null&&!("error"in n)?this.createWalletInstance(n,e):this.createWallet(e)})}getWallet(e,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(!this.apiClient.isServerSide)throw new (0, _chunkO4FVTK7Xcjs.f)("getWallet is not supported on client side, use getOrCreateWallet instead");let i=yield this.apiClient.getWallet(e);if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.d)(JSON.stringify(i));return this.createWalletInstance(i,n)})}createWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t,a,l,o;yield(l=(a=(t=e.options)==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationStart)==null?void 0:l.call(a),this.mutateSignerFromCustomAuth(e,!0);let n=e.signer.type==="passkey"?yield this.createPasskeyAdminSigner(e.signer):e.signer,i=yield this.apiClient.createWallet({type:"smart",chainType:this.getChainType(e.chain),config:_chunkXALFCQKDcjs.a.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {adminSigner:n},e!=null&&e.plugins?{plugins:e.plugins}:{}),e.delegatedSigners!=null?{delegatedSigners:e.delegatedSigners}:{}),owner:(o=e.owner)!=null?o:void 0});if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.f)(JSON.stringify(i));return this.createWalletInstance(i,e)})}createWalletInstance(e,n){this.validateExistingWalletConfig(e,n);let i=this.toInternalSignerConfig(e,n.signer,n.options);return new (0, _chunkH2PM5EB4cjs.a)({chain:n.chain,address:e.address,owner:e.owner,signer:_chunkTE22LFWEcjs.a.call(void 0, n.chain,i),options:n.options},this.apiClient)}toInternalSignerConfig(e,n,i){var t,a,l,o,d,m;if(!(e.chainType==="evm"||e.chainType==="solana"||e.chainType==="stellar"))throw new (0, _chunkO4FVTK7Xcjs.f)(`Wallet type ${e.chainType} is not supported`);if(n==null&&((t=e.config)==null?void 0:t.adminSigner)==null)throw new (0, _chunkO4FVTK7Xcjs.f)("Signer is required to create a wallet");switch(n.type){case"api-key":{if(((a=e.config)==null?void 0:a.adminSigner.type)!=="api-key")throw new (0, _chunkO4FVTK7Xcjs.f)("API key signer does not match the wallet's signer type");return{type:"api-key",address:e.config.adminSigner.address,locator:e.config.adminSigner.locator}}case"external-wallet":if(((l=e.config)==null?void 0:l.adminSigner.type)!=="external-wallet")throw new (0, _chunkO4FVTK7Xcjs.f)("External wallet signer does not match the wallet's signer type");return _chunkXALFCQKDcjs.a.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},e.config.adminSigner),n);case"passkey":if(((o=e.config)==null?void 0:o.adminSigner.type)!=="passkey")throw new (0, _chunkO4FVTK7Xcjs.f)("Passkey signer does not match the wallet's signer type");return{type:"passkey",id:e.config.adminSigner.id,name:e.config.adminSigner.name,locator:e.config.adminSigner.locator,onCreatePasskey:n.onCreatePasskey,onSignWithPasskey:n.onSignWithPasskey};case"email":{if(((d=e.config)==null?void 0:d.adminSigner.type)!=="email")throw new (0, _chunkO4FVTK7Xcjs.f)("Email signer does not match the wallet's signer type");let{locator:g,email:h,address:p}=e.config.adminSigner;return{type:"email",email:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}case"phone":{if(((m=e.config)==null?void 0:m.adminSigner.type)!=="phone")throw new (0, _chunkO4FVTK7Xcjs.f)("Phone signer does not match the wallet's signer type");let{locator:g,phone:h,address:p}=e.config.adminSigner;return{type:"phone",phone:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}default:throw new Error("Invalid signer type")}}createPasskeyAdminSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t;if(e.type!=="passkey")throw new Error("Signer is not a passkey");let n=(t=e.name)!=null?t:`Crossmint Wallet ${Date.now()}`,i=e.onCreatePasskey?yield e.onCreatePasskey(n):yield _ox.WebAuthnP256.createCredential({name:n});return{type:"passkey",id:i.id,name:n,publicKey:{x:i.publicKey.x.toString(),y:i.publicKey.y.toString()}}})}mutateSignerFromCustomAuth(e,n=!1){var t,a;let{experimental_customAuth:i}=this.apiClient.crossmint;e.signer.type==="email"&&(i==null?void 0:i.email)!=null&&(e.signer.email=(t=e.signer.email)!=null?t:i.email),e.signer.type==="phone"&&(i==null?void 0:i.phone)!=null&&(e.signer.phone=(a=e.signer.phone)!=null?a:i.phone),e.signer.type==="external-wallet"&&(i==null?void 0:i.externalWalletSigner)!=null&&(e.signer=n?{type:"external-wallet",address:i.externalWalletSigner.address}:i.externalWalletSigner)}validateExistingWalletConfig(e,n){var a;if(this.mutateSignerFromCustomAuth(n),n.owner!=null&&e.owner!=null&&n.owner!==e.owner)throw new (0, _chunkO4FVTK7Xcjs.f)("Wallet owner does not match existing wallet's linked user");if(n.chain==="solana"&&e.chainType!=="solana"||n.chain!=="solana"&&e.chainType==="solana"||n.chain==="stellar"&&e.chainType!=="stellar"||n.chain!=="stellar"&&e.chainType==="stellar")throw new (0, _chunkO4FVTK7Xcjs.f)(`Wallet chain does not match existing wallet's chain. You must use chain: ${e.chainType}.`);if(e.type!=="smart")return;let i=n.signer,t=(a=e==null?void 0:e.config)==null?void 0:a.adminSigner;if(i!=null&&t!=null){if(i.type!==t.type)throw new (0, _chunkO4FVTK7Xcjs.f)("The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type");_chunk23BRREJGcjs.a.call(void 0, i,t)}n.delegatedSigners!=null&&this.validateDelegatedSigners(e,n.delegatedSigners)}validateDelegatedSigners(e,n){var t;let i=(t=e==null?void 0:e.config)==null?void 0:t.delegatedSigners;if(n.length!==0){if(i==null||i.length===0)throw new (0, _chunkO4FVTK7Xcjs.f)(`${n.length} delegated signer(s) specified, but wallet "${e.address}" has no delegated signers. ${u}`);for(let a of n)if(i.find(o=>o.locator===a.signer)==null){let o=i.map(d=>d.locator).join(", ");throw new (0, _chunkO4FVTK7Xcjs.f)(`Delegated signer '${a.signer}' does not exist in wallet "${e.address}". Available delegated signers: ${o}. ${u}`)}}}getChainType(e){return e==="solana"?"solana":e==="stellar"?"stellar":"evm"}};exports.a = w;
3
+ - Use your Crossmint Client API Key (not a server key).`);let n=yield this.apiClient.getWallet(`me:${this.getChainType(e.chain)}:smart`);return n!=null&&!("error"in n)?this.createWalletInstance(n,e):this.createWallet(e)})}getWallet(e,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(!this.apiClient.isServerSide)throw new (0, _chunkO4FVTK7Xcjs.f)("getWallet is not supported on client side, use getOrCreateWallet instead");let i=yield this.apiClient.getWallet(e);if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.d)(JSON.stringify(i));return this.createWalletInstance(i,n)})}createWallet(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t,a,l,o;yield(l=(a=(t=e.options)==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationStart)==null?void 0:l.call(a),this.mutateSignerFromCustomAuth(e,!0);let n=e.signer.type==="passkey"?yield this.createPasskeyAdminSigner(e.signer):e.signer,i=yield this.apiClient.createWallet({type:"smart",chainType:this.getChainType(e.chain),config:_chunkXALFCQKDcjs.a.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {adminSigner:n},e!=null&&e.plugins?{plugins:e.plugins}:{}),e.delegatedSigners!=null?{delegatedSigners:e.delegatedSigners}:{}),owner:(o=e.owner)!=null?o:void 0});if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.f)(JSON.stringify(i));return this.createWalletInstance(i,e)})}createWalletInstance(e,n){this.validateExistingWalletConfig(e,n);let i=this.toInternalSignerConfig(e,n.signer,n.options);return new (0, _chunkBZT44O4Zcjs.a)({chain:n.chain,address:e.address,owner:e.owner,signer:_chunkZ5LC25XKcjs.a.call(void 0, n.chain,i),options:n.options},this.apiClient)}toInternalSignerConfig(e,n,i){var t,a,l,o,d,m;if(!(e.chainType==="evm"||e.chainType==="solana"||e.chainType==="stellar"))throw new (0, _chunkO4FVTK7Xcjs.f)(`Wallet type ${e.chainType} is not supported`);if(n==null&&((t=e.config)==null?void 0:t.adminSigner)==null)throw new (0, _chunkO4FVTK7Xcjs.f)("Signer is required to create a wallet");switch(n.type){case"api-key":{if(((a=e.config)==null?void 0:a.adminSigner.type)!=="api-key")throw new (0, _chunkO4FVTK7Xcjs.f)("API key signer does not match the wallet's signer type");return{type:"api-key",address:e.config.adminSigner.address,locator:e.config.adminSigner.locator}}case"external-wallet":if(((l=e.config)==null?void 0:l.adminSigner.type)!=="external-wallet")throw new (0, _chunkO4FVTK7Xcjs.f)("External wallet signer does not match the wallet's signer type");return _chunkXALFCQKDcjs.a.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},e.config.adminSigner),n);case"passkey":if(((o=e.config)==null?void 0:o.adminSigner.type)!=="passkey")throw new (0, _chunkO4FVTK7Xcjs.f)("Passkey signer does not match the wallet's signer type");return{type:"passkey",id:e.config.adminSigner.id,name:e.config.adminSigner.name,locator:e.config.adminSigner.locator,onCreatePasskey:n.onCreatePasskey,onSignWithPasskey:n.onSignWithPasskey};case"email":{if(((d=e.config)==null?void 0:d.adminSigner.type)!=="email")throw new (0, _chunkO4FVTK7Xcjs.f)("Email signer does not match the wallet's signer type");let{locator:g,email:h,address:p}=e.config.adminSigner;return{type:"email",email:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}case"phone":{if(((m=e.config)==null?void 0:m.adminSigner.type)!=="phone")throw new (0, _chunkO4FVTK7Xcjs.f)("Phone signer does not match the wallet's signer type");let{locator:g,phone:h,address:p}=e.config.adminSigner;return{type:"phone",phone:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}default:throw new Error("Invalid signer type")}}createPasskeyAdminSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t;if(e.type!=="passkey")throw new Error("Signer is not a passkey");let n=(t=e.name)!=null?t:`Crossmint Wallet ${Date.now()}`,i=e.onCreatePasskey?yield e.onCreatePasskey(n):yield _ox.WebAuthnP256.createCredential({name:n});return{type:"passkey",id:i.id,name:n,publicKey:{x:i.publicKey.x.toString(),y:i.publicKey.y.toString()}}})}mutateSignerFromCustomAuth(e,n=!1){var t,a;let{experimental_customAuth:i}=this.apiClient.crossmint;e.signer.type==="email"&&(i==null?void 0:i.email)!=null&&(e.signer.email=(t=e.signer.email)!=null?t:i.email),e.signer.type==="phone"&&(i==null?void 0:i.phone)!=null&&(e.signer.phone=(a=e.signer.phone)!=null?a:i.phone),e.signer.type==="external-wallet"&&(i==null?void 0:i.externalWalletSigner)!=null&&(e.signer=n?{type:"external-wallet",address:i.externalWalletSigner.address}:i.externalWalletSigner)}validateExistingWalletConfig(e,n){var a;if(this.mutateSignerFromCustomAuth(n),n.owner!=null&&e.owner!=null&&n.owner!==e.owner)throw new (0, _chunkO4FVTK7Xcjs.f)("Wallet owner does not match existing wallet's linked user");if(n.chain==="solana"&&e.chainType!=="solana"||n.chain!=="solana"&&e.chainType==="solana"||n.chain==="stellar"&&e.chainType!=="stellar"||n.chain!=="stellar"&&e.chainType==="stellar")throw new (0, _chunkO4FVTK7Xcjs.f)(`Wallet chain does not match existing wallet's chain. You must use chain: ${e.chainType}.`);if(e.type!=="smart")return;let i=n.signer,t=(a=e==null?void 0:e.config)==null?void 0:a.adminSigner;if(i!=null&&t!=null){if(i.type!==t.type)throw new (0, _chunkO4FVTK7Xcjs.f)("The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type");_chunk23BRREJGcjs.a.call(void 0, i,t)}n.delegatedSigners!=null&&this.validateDelegatedSigners(e,n.delegatedSigners)}validateDelegatedSigners(e,n){var t;let i=(t=e==null?void 0:e.config)==null?void 0:t.delegatedSigners;if(n.length!==0){if(i==null||i.length===0)throw new (0, _chunkO4FVTK7Xcjs.f)(`${n.length} delegated signer(s) specified, but wallet "${e.address}" has no delegated signers. ${u}`);for(let a of n)if(i.find(o=>o.locator===a.signer)==null){let o=i.map(d=>d.locator).join(", ");throw new (0, _chunkO4FVTK7Xcjs.f)(`Delegated signer '${a.signer}' does not exist in wallet "${e.address}". Available delegated signers: ${o}. ${u}`)}}}getChainType(e){return e==="solana"?"solana":e==="stellar"?"stellar":"evm"}};exports.a = w;
@@ -0,0 +1 @@
1
+ import{a as J}from"./chunk-S6OCTE4E.js";import{d as O}from"./chunk-5F3GW6TH.js";import{c as L,d as P,i as E,m as N,p as C,q as I,r as _,s as W,t as $,u as k,v as F,w as B,x as R}from"./chunk-PSXRNSOE.js";import{a as f,b as A,c as u,d as x,e as b,f as l}from"./chunk-BW7YYVZE.js";import{isValidAddress as G}from"@crossmint/common-sdk-base";var v,c,H=class{constructor(e,t){x(this,v);x(this,c);let{chain:r,address:n,owner:o,signer:h,options:g}=e;b(this,c,t),this.chain=r,this.address=n,this.owner=o,this.signer=h,b(this,v,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return u(this,c)}get options(){return u(this,v)}experimental_apiClient(){return u(this,c)}balances(e,t){return l(this,null,function*(){let r;switch(this.chain){case"solana":r="sol";break;case"stellar":r="xlm";break;default:r="eth";break}let n=[r,"usdc",...e!=null?e:[]],o=yield u(this,c).getBalance(this.address,{chains:t!=null?t:[this.chain],tokens:n});if("error"in o)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(o.message)}`);return this.transformBalanceResponse(o,r,e)})}transformBalanceResponse(e,t,r){let n=a=>{var m,w,T,S,y;let i=(m=a.chains)==null?void 0:m[this.chain],p={};return this.chain==="solana"&&i!=null&&"mintHash"in i?p={mintHash:i.mintHash}:this.chain==="stellar"&&i!=null&&"contractId"in i?p={contractId:i.contractId}:i!=null&&"contractAddress"in i&&(p={contractAddress:i.contractAddress}),f({symbol:(w=a.symbol)!=null?w:"",name:(T=a.name)!=null?T:"",amount:(S=a.amount)!=null?S:"0",decimals:a.decimals,rawAmount:(y=a.rawAmount)!=null?y:"0"},p)},o=e.find(a=>a.symbol===t),h=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==t&&a.symbol!=="usdc"),s=a=>{let i={symbol:a,name:a,amount:"0",decimals:0,rawAmount:"0"},p={};return this.chain==="solana"?p={mintHash:void 0}:this.chain==="stellar"?p={contractId:void 0}:p={contractAddress:void 0},f(f({},i),p)};return{nativeToken:o!=null?n(o):s(t),usdc:h!=null?n(h):s("usdc"),tokens:g.map(n)}}experimental_nfts(e){return l(this,null,function*(){return yield u(this,c).experimental_getNfts(A(f({},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return l(this,null,function*(){let e=yield u(this,c).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return l(this,null,function*(){let t=yield u(this,c).getTransaction(this.walletLocator,e);if("error"in t)throw new Error(`Failed to get transaction: ${JSON.stringify(t.error)}`);return t})}experimental_activity(){return l(this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,t,r,n){return l(this,null,function*(){yield this.preAuthIfNeeded();let o=M(e),h=U(t,this.chain),g=f({recipient:o,amount:r},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),s=yield u(this,c).send(this.walletLocator,h,g);if("message"in s)throw new _(`Failed to send token: ${JSON.stringify(s.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:s.id}:yield this.approveTransactionAndWait(s.id)})}approveTransaction(e){return l(this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return l(this,null,function*(){if(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return l(this,null,function*(){var r;let t=yield u(this,c).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in t)throw new Error(`Failed to register signer: ${JSON.stringify(t.message)}`);if("transaction"in t&&t.transaction!=null){let n=t.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in t){let n=(r=t.chains)==null?void 0:r[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return l(this,null,function*(){var t,r,n;let e=yield u(this,c).getWallet(this.walletLocator);if("error"in e)throw new P(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new L(`Wallet type ${e.type} not supported`);return(n=(r=(t=e==null?void 0:e.config)==null?void 0:t.delegatedSigners)==null?void 0:r.map(o=>{let h=o.locator.indexOf(":");return{signer:`external-wallet:${h>=0?o.locator.slice(h+1):o.locator}`}}))!=null?n:[]})}get walletLocator(){return u(this,c).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}preAuthIfNeeded(){return l(this,null,function*(){this.signer instanceof J&&(yield this.signer.ensureAuthenticated())})}get isSolanaWallet(){return this.chain==="solana"}approveTransactionAndWait(e,t){return l(this,null,function*(){return yield this.approveTransactionInternal(e,t),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,t){return l(this,null,function*(){let r=yield this.approveSignatureInternal(e,t);return!("error"in r)&&r.status==="success"&&r.outputSignature!=null?{signature:r.outputSignature,signatureId:e}:(yield this.sleep(1e3),yield this.waitForSignature(e))})}approveSignatureInternal(e,t){return l(this,null,function*(){var s,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=yield u(this,c).getSignature(this.walletLocator,e);if("error"in r)throw new C(JSON.stringify(r));if(this.signer.type==="api-key")return r;if((t==null?void 0:t.experimental_approval)!=null){let i=[t.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,i)}let n=(s=r.approvals)==null?void 0:s.pending;if(n==null)return r;let o=[...(a=t==null?void 0:t.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(i=>{let p=o.find(m=>m.locator()===i.signer.locator);if(p==null)throw new E(`Signer ${i.signer} not found in pending approvals`);return p.signMessage(i.message)}))).map(i=>A(f({},i),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,t){return l(this,null,function*(){var s,a,i,p,m;let r=yield u(this,c).getTransaction(this.walletLocator,e);if("error"in r)throw new W(JSON.stringify(r));if(yield(i=(a=(s=u(this,v))==null?void 0:s.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:i.call(a),this.signer.type==="api-key")return r;if((t==null?void 0:t.experimental_approval)!=null){let w=[t.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(p=r.approvals)==null?void 0:p.pending;if(n==null)return r;let o=[...(m=t==null?void 0:t.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let T=o.find(y=>y.locator()===w.signer.locator);if(T==null)throw new E(`Signer ${w.signer} not found in pending approvals`);let S=r.chainType==="solana"&&"transaction"in r.onChain?r.onChain.transaction:w.message;return T.signTransaction(S)}))).map(w=>A(f({},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,t){return l(this,null,function*(){let r=yield u(this,c).approveTransaction(this.walletLocator,e,{approvals:t});if(r.error)throw new R(JSON.stringify(r));return r})}executeApproveSignatureWithErrorHandling(e,t){return l(this,null,function*(){let r=yield u(this,c).approveSignature(this.walletLocator,e,{approvals:t});if(r.error)throw new I(JSON.stringify(r));return r})}waitForSignature(e){return l(this,null,function*(){let t=null;do if(yield new Promise(r=>setTimeout(r,O)),t=yield u(this,c).getSignature(this.walletLocator,e),"error"in t)throw new C(JSON.stringify(t));while(t===null||t.status==="pending");if(t.status==="failed")throw new N("Signature signing failed");if(!t.outputSignature)throw new C("Signature not available");return{signature:t.outputSignature,signatureId:e}})}waitForTransaction(h){return l(this,arguments,function*(e,t=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:n=2e3,initialBackoffMs:o=O}={}){var i;let g=Date.now(),s;do{if(Date.now()-g>t)throw new $("Transaction confirmation timeout");if(s=yield u(this,c).getTransaction(this.walletLocator,e),s.error)throw new W(JSON.stringify(s));yield this.sleep(o),o=Math.min(o*r,n)}while(s.status==="pending");if(s.status==="failed")throw new k(`Transaction sending failed: ${JSON.stringify(s.error)}`);if(s.status==="awaiting-approval")throw new F("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=s.onChain.txId;if(a==null)throw new B("Transaction hash not found on transaction response");return{hash:a,explorerLink:(i=s.onChain.explorerLink)!=null?i:"",transactionId:s.id}})}sleep(e){return l(this,null,function*(){return new Promise(t=>setTimeout(t,e))})}};v=new WeakMap,c=new WeakMap;function M(d){if(typeof d=="string")return d;if("email"in d)return`email:${d.email}`;if("x"in d)return`x:${d.x}`;if("twitter"in d)return`twitter:${d.twitter}`;if("phone"in d)return`phoneNumber:${d.phone}`;if("userId"in d)return`userId:${d.userId}`;throw new Error("Invalid recipient locator")}function U(d,e){return G(d)?`${e}:${d}`:`${e}:${d.toLowerCase()}`}export{H as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBZT44O4Zcjs = require('./chunk-BZT44O4Z.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkCU6FZ36Vcjs = require('./chunk-CU6FZ36V.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _viem = require('viem');var _commonsdkbase = require('@crossmint/common-sdk-base');var m=class w extends _chunkBZT44O4Zcjs.a{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:_chunkBZT44O4Zcjs.a.getOptions(t)},_chunkBZT44O4Zcjs.a.getApiClient(t))}static from(t){if(!_commonsdkbase.isValidEvmAddress.call(void 0, t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;yield this.preAuthIfNeeded();let e=this.buildTransaction(t),n=yield this.createTransaction(e,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:n.id}:yield this.approveTransactionAndWait(n.id)})}signMessage(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var n;yield this.preAuthIfNeeded();let e=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(e));return(n=t.options)!=null&&n.experimental_prepareOnly?{signature:void 0,signatureId:e.id}:yield this.approveSignatureAndWait(e.id)})}signTypedData(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var T;yield this.preAuthIfNeeded();let{domain:e,message:n,primaryType:i,types:a,chain:r}=t;if(!e||!n||!a||!r)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data");let{name:u,version:l,chainId:h,verifyingContract:g,salt:C}=e;if(!u||!l||!h||!g)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:u,version:l,chainId:Number(h),verifyingContract:g,salt:C},message:n,primaryType:i,types:a},signer:this.signer.locator(),chain:r}});if("error"in o)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var e;return _viem.createPublicClient.call(void 0, {transport:(e=t==null?void 0:t.transport)!=null?e:_viem.http.call(void 0, ),chain:_chunkCU6FZ36Vcjs.a.call(void 0, this.chain)})}createTransaction(t,e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var a;let n=(a=e==null?void 0:e.experimental_signer)!=null?a:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:n,chain:this.chain,calls:[t]}});if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(i));return i})}buildTransaction(t){var e,n,i,a,r;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(n=(e=t.value)==null?void 0:e.toString())!=null?n:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(r=(a=t.value)==null?void 0:a.toString())!=null?r:"0",data:_viem.encodeFunctionData.call(void 0, {abi:t.abi,functionName:t.functionName,args:t.args})}}};exports.a = m;
@@ -1,3 +1,3 @@
1
- import{a as S}from"./chunk-BHGNJYYE.js";import{a as C}from"./chunk-IKFHL3PH.js";import{a as f}from"./chunk-OURAC3YW.js";import{d as y,f as r}from"./chunk-PSXRNSOE.js";import{a as s,f as c}from"./chunk-BW7YYVZE.js";import{WebAuthnP256 as W}from"ox";var u="When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.",w=class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return c(this,null,function*(){if(this.apiClient.isServerSide)throw new r(`getOrCreateWallet can only be called from client-side code.
1
+ import{a as S}from"./chunk-BHGNJYYE.js";import{a as C}from"./chunk-GHEMGGUS.js";import{a as f}from"./chunk-XV5GD5AT.js";import{d as y,f as r}from"./chunk-PSXRNSOE.js";import{a as s,f as c}from"./chunk-BW7YYVZE.js";import{WebAuthnP256 as W}from"ox";var u="When 'delegatedSigners' is provided to a method that may fetch an existing wallet, each specified delegated signer must exist in that wallet's configuration.",w=class{constructor(e){this.apiClient=e}getOrCreateWallet(e){return c(this,null,function*(){if(this.apiClient.isServerSide)throw new r(`getOrCreateWallet can only be called from client-side code.
2
2
  - Make sure you're running this in the browser (or another client environment), not on your server.
3
3
  - Use your Crossmint Client API Key (not a server key).`);let n=yield this.apiClient.getWallet(`me:${this.getChainType(e.chain)}:smart`);return n!=null&&!("error"in n)?this.createWalletInstance(n,e):this.createWallet(e)})}getWallet(e,n){return c(this,null,function*(){if(!this.apiClient.isServerSide)throw new r("getWallet is not supported on client side, use getOrCreateWallet instead");let i=yield this.apiClient.getWallet(e);if("error"in i)throw new y(JSON.stringify(i));return this.createWalletInstance(i,n)})}createWallet(e){return c(this,null,function*(){var t,a,l,o;yield(l=(a=(t=e.options)==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationStart)==null?void 0:l.call(a),this.mutateSignerFromCustomAuth(e,!0);let n=e.signer.type==="passkey"?yield this.createPasskeyAdminSigner(e.signer):e.signer,i=yield this.apiClient.createWallet({type:"smart",chainType:this.getChainType(e.chain),config:s(s({adminSigner:n},e!=null&&e.plugins?{plugins:e.plugins}:{}),e.delegatedSigners!=null?{delegatedSigners:e.delegatedSigners}:{}),owner:(o=e.owner)!=null?o:void 0});if("error"in i)throw new r(JSON.stringify(i));return this.createWalletInstance(i,e)})}createWalletInstance(e,n){this.validateExistingWalletConfig(e,n);let i=this.toInternalSignerConfig(e,n.signer,n.options);return new C({chain:n.chain,address:e.address,owner:e.owner,signer:f(n.chain,i),options:n.options},this.apiClient)}toInternalSignerConfig(e,n,i){var t,a,l,o,d,m;if(!(e.chainType==="evm"||e.chainType==="solana"||e.chainType==="stellar"))throw new r(`Wallet type ${e.chainType} is not supported`);if(n==null&&((t=e.config)==null?void 0:t.adminSigner)==null)throw new r("Signer is required to create a wallet");switch(n.type){case"api-key":{if(((a=e.config)==null?void 0:a.adminSigner.type)!=="api-key")throw new r("API key signer does not match the wallet's signer type");return{type:"api-key",address:e.config.adminSigner.address,locator:e.config.adminSigner.locator}}case"external-wallet":if(((l=e.config)==null?void 0:l.adminSigner.type)!=="external-wallet")throw new r("External wallet signer does not match the wallet's signer type");return s(s({},e.config.adminSigner),n);case"passkey":if(((o=e.config)==null?void 0:o.adminSigner.type)!=="passkey")throw new r("Passkey signer does not match the wallet's signer type");return{type:"passkey",id:e.config.adminSigner.id,name:e.config.adminSigner.name,locator:e.config.adminSigner.locator,onCreatePasskey:n.onCreatePasskey,onSignWithPasskey:n.onSignWithPasskey};case"email":{if(((d=e.config)==null?void 0:d.adminSigner.type)!=="email")throw new r("Email signer does not match the wallet's signer type");let{locator:g,email:h,address:p}=e.config.adminSigner;return{type:"email",email:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}case"phone":{if(((m=e.config)==null?void 0:m.adminSigner.type)!=="phone")throw new r("Phone signer does not match the wallet's signer type");let{locator:g,phone:h,address:p}=e.config.adminSigner;return{type:"phone",phone:h,locator:g,address:p,crossmint:this.apiClient.crossmint,onAuthRequired:n.onAuthRequired,clientTEEConnection:i==null?void 0:i.clientTEEConnection}}default:throw new Error("Invalid signer type")}}createPasskeyAdminSigner(e){return c(this,null,function*(){var t;if(e.type!=="passkey")throw new Error("Signer is not a passkey");let n=(t=e.name)!=null?t:`Crossmint Wallet ${Date.now()}`,i=e.onCreatePasskey?yield e.onCreatePasskey(n):yield W.createCredential({name:n});return{type:"passkey",id:i.id,name:n,publicKey:{x:i.publicKey.x.toString(),y:i.publicKey.y.toString()}}})}mutateSignerFromCustomAuth(e,n=!1){var t,a;let{experimental_customAuth:i}=this.apiClient.crossmint;e.signer.type==="email"&&(i==null?void 0:i.email)!=null&&(e.signer.email=(t=e.signer.email)!=null?t:i.email),e.signer.type==="phone"&&(i==null?void 0:i.phone)!=null&&(e.signer.phone=(a=e.signer.phone)!=null?a:i.phone),e.signer.type==="external-wallet"&&(i==null?void 0:i.externalWalletSigner)!=null&&(e.signer=n?{type:"external-wallet",address:i.externalWalletSigner.address}:i.externalWalletSigner)}validateExistingWalletConfig(e,n){var a;if(this.mutateSignerFromCustomAuth(n),n.owner!=null&&e.owner!=null&&n.owner!==e.owner)throw new r("Wallet owner does not match existing wallet's linked user");if(n.chain==="solana"&&e.chainType!=="solana"||n.chain!=="solana"&&e.chainType==="solana"||n.chain==="stellar"&&e.chainType!=="stellar"||n.chain!=="stellar"&&e.chainType==="stellar")throw new r(`Wallet chain does not match existing wallet's chain. You must use chain: ${e.chainType}.`);if(e.type!=="smart")return;let i=n.signer,t=(a=e==null?void 0:e.config)==null?void 0:a.adminSigner;if(i!=null&&t!=null){if(i.type!==t.type)throw new r("The wallet signer type provided in the wallet config does not match the existing wallet's adminSigner type");S(i,t)}n.delegatedSigners!=null&&this.validateDelegatedSigners(e,n.delegatedSigners)}validateDelegatedSigners(e,n){var t;let i=(t=e==null?void 0:e.config)==null?void 0:t.delegatedSigners;if(n.length!==0){if(i==null||i.length===0)throw new r(`${n.length} delegated signer(s) specified, but wallet "${e.address}" has no delegated signers. ${u}`);for(let a of n)if(i.find(o=>o.locator===a.signer)==null){let o=i.map(d=>d.locator).join(", ");throw new r(`Delegated signer '${a.signer}' does not exist in wallet "${e.address}". Available delegated signers: ${o}. ${u}`)}}}getChainType(e){return e==="solana"?"solana":e==="stellar"?"stellar":"evm"}};export{w as a};
@@ -1 +1 @@
1
- import{b as n,c as i}from"./chunk-HARQAZMG.js";import{a as o}from"./chunk-PSXRNSOE.js";import{f as r}from"./chunk-BW7YYVZE.js";import{APIKeyUsageOrigin as c,CrossmintApiClient as h}from"@crossmint/common-sdk-base";var p=class extends h{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:i,version:n}}});this.apiPrefix="api/2025-06-09/wallets";this.legacyApiPrefix="api/2022-06-09/wallets"}createWallet(e){return r(this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getTransaction(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getSignature(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}experimental_getNfts(e){return r(this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let t=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${t}/nfts?${s.toString()}`,{headers:this.headers})).json()})}experimental_activity(e,s){return r(this,null,function*(){let t=e;this.isServerSide||(t=`me:${s.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);let a=new URLSearchParams;return a.append("chain",s.chain.toString()),(yield this.get(`${this.legacyApiPrefix}/${t}/activity?${a.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return r(this,null,function*(){let t=new URLSearchParams;return t.append("tokens",s.tokens.join(",")),t.append("chains",s.chains.join(",")),(yield this.get(`${this.apiPrefix}/${e}/balances?${t.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).json()})}send(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/tokens/${s}/transfers`,{body:JSON.stringify(t),headers:this.headers})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===c.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new o("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};export{p as a};
1
+ import{b as n,c as i}from"./chunk-5F3GW6TH.js";import{a as o}from"./chunk-PSXRNSOE.js";import{f as r}from"./chunk-BW7YYVZE.js";import{APIKeyUsageOrigin as c,CrossmintApiClient as h}from"@crossmint/common-sdk-base";var p=class extends h{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:i,version:n}}});this.apiPrefix="api/2025-06-09/wallets";this.legacyApiPrefix="api/2022-06-09/wallets"}createWallet(e){return r(this,null,function*(){let s=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(s,{body:JSON.stringify(e),headers:this.headers})).json()})}getWallet(e){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:this.headers})).json()})}createTransaction(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveTransaction(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getTransaction(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${s}`,{headers:this.headers})).json()})}createSignature(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(s),headers:this.headers})).json()})}approveSignature(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${s}/approvals`,{body:JSON.stringify(t),headers:this.headers})).json()})}getSignature(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${s}`,{headers:this.headers})).json()})}getTransactions(e){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:this.headers})).json()})}experimental_getNfts(e){return r(this,null,function*(){let s=new URLSearchParams;s.append("page",e.page.toString()),s.append("perPage",e.perPage.toString());let t=`${e.chain}:${e.address}`;return(yield this.get(`${this.apiPrefix}/${t}/nfts?${s.toString()}`,{headers:this.headers})).json()})}experimental_activity(e,s){return r(this,null,function*(){let t=e;this.isServerSide||(t=`me:${s.chain==="solana"?"solana-smart-wallet":"evm-smart-wallet"}`);let a=new URLSearchParams;return a.append("chain",s.chain.toString()),(yield this.get(`${this.legacyApiPrefix}/${t}/activity?${a.toString()}`,{headers:this.headers})).json()})}getBalance(e,s){return r(this,null,function*(){let t=new URLSearchParams;return t.append("tokens",s.tokens.join(",")),t.append("chains",s.chains.join(",")),(yield this.get(`${this.apiPrefix}/${e}/balances?${t.toString()}`,{headers:this.headers})).json()})}registerSigner(e,s){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(s),headers:this.headers})).json()})}getSigner(e,s){return r(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${s}`,{headers:this.headers})).json()})}send(e,s,t){return r(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/tokens/${s}/transfers`,{body:JSON.stringify(t),headers:this.headers})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===c.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new o("Invalid API key");return this.parsedAPIKey.environment}get headers(){return{"Content-Type":"application/json"}}};export{p as a};
@@ -0,0 +1 @@
1
+ import{a as t}from"./chunk-GHEMGGUS.js";import{a as l}from"./chunk-6PVKL5RC.js";import{r as p}from"./chunk-PSXRNSOE.js";import{f as s}from"./chunk-BW7YYVZE.js";import m from"bs58";import{isValidSolanaAddress as h}from"@crossmint/common-sdk-base";var d=class u extends t{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:t.getOptions(n)},t.getApiClient(n))}static from(n){if(!h(n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return s(this,null,function*(){var e,r;yield this.preAuthIfNeeded();let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new l({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(T){return s(this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:m.encode(n.serialize()),signer:i}});if("error"in e)throw new p(JSON.stringify(e));return e})}};export{d as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYA3QR74Scjs = require('./chunk-YA3QR74S.cjs');var _chunkFUFMJVFWcjs = require('./chunk-FUFMJVFW.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var i=class o{constructor(t){let r=new (0, _chunkFUFMJVFWcjs.a)(t);this.walletFactory=new (0, _chunkYA3QR74Scjs.a)(r)}static from(t){return new o(t)}getOrCreateWallet(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.getOrCreateWallet(t)})}getWallet(t,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.getWallet(t,r)})}createWallet(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.createWallet(t)})}};exports.a = _commonsdkbase.createCrossmint; exports.b = i;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFXPZDDLOcjs = require('./chunk-FXPZDDLO.cjs');var _chunk5LZS53J3cjs = require('./chunk-5LZS53J3.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var i=class o{constructor(t){let r=new (0, _chunk5LZS53J3cjs.a)(t);this.walletFactory=new (0, _chunkFXPZDDLOcjs.a)(r)}static from(t){return new o(t)}getOrCreateWallet(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.getOrCreateWallet(t)})}getWallet(t,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.getWallet(t,r)})}createWallet(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.walletFactory.createWallet(t)})}};exports.a = _commonsdkbase.createCrossmint; exports.b = i;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBZT44O4Zcjs = require('./chunk-BZT44O4Z.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkBZT44O4Zcjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkBZT44O4Zcjs.a.getOptions(n)},_chunkBZT44O4Zcjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidStellarAddress.call(void 0, n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;yield this.preAuthIfNeeded();let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:h,memo:p,args:T}=n;i={type:"contract-call",contractId:t,method:h,memo:p!=null?{type:"text",value:p}:void 0,args:T}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(s));return s})}};exports.a = d;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOMHEIZBYcjs = require('./chunk-OMHEIZBY.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var s=class a extends _chunkOMHEIZBYcjs.a{constructor(n){super(n)}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for stellar signer"))})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;yield this.handleAuthRequired();let g=this.getJwtOrThrow(),e=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:g,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:n,encoding:"base64"}},options:_chunkOMHEIZBYcjs.b});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");if(a.verifyPublicKeyFormat(e.publicKey),e.signature.encoding!=="base64")throw new Error("Wrong encoding for signature. Expected base64, got "+e.signature.encoding);return{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="base64"||n.keyType!=="ed25519"||n.bytes==null)throw new Error("Not supported. Expected public key to be in base64 encoding and ed25519 key type. Got: "+JSON.stringify(n))}};exports.a = s;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk24QTQKVAcjs = require('./chunk-24QTQKVA.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var s=class a extends _chunk24QTQKVAcjs.a{constructor(n){super(n)}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for stellar signer"))})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;yield this.handleAuthRequired();let g=this.getJwtOrThrow(),e=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:g,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:n,encoding:"base64"}},options:_chunk24QTQKVAcjs.b});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");if(a.verifyPublicKeyFormat(e.publicKey),e.signature.encoding!=="base64")throw new Error("Wrong encoding for signature. Expected base64, got "+e.signature.encoding);return{signature:e.signature.bytes}})}static verifyPublicKeyFormat(n){if(n==null)throw new Error("No public key found");if(n.encoding!=="base64"||n.keyType!=="ed25519"||n.bytes==null)throw new Error("Not supported. Expected public key to be in base64 encoding and ed25519 key type. Got: "+JSON.stringify(n))}};exports.a = s;
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunk-GHEMGGUS.js";import{k as p,o as d,r as y}from"./chunk-PSXRNSOE.js";import{a as f}from"./chunk-I5COKXOT.js";import{f as s}from"./chunk-BW7YYVZE.js";import{createPublicClient as S,encodeFunctionData as I,http as x}from"viem";import{isValidEvmAddress as E}from"@crossmint/common-sdk-base";var m=class w extends c{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:c.getOptions(t)},c.getApiClient(t))}static from(t){if(!E(t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return s(this,null,function*(){var i;yield this.preAuthIfNeeded();let e=this.buildTransaction(t),n=yield this.createTransaction(e,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:n.id}:yield this.approveTransactionAndWait(n.id)})}signMessage(t){return s(this,null,function*(){var n;yield this.preAuthIfNeeded();let e=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in e)throw new d(JSON.stringify(e));return(n=t.options)!=null&&n.experimental_prepareOnly?{signature:void 0,signatureId:e.id}:yield this.approveSignatureAndWait(e.id)})}signTypedData(t){return s(this,null,function*(){var T;yield this.preAuthIfNeeded();let{domain:e,message:n,primaryType:i,types:a,chain:r}=t;if(!e||!n||!a||!r)throw new p("Invalid typed data");let{name:u,version:l,chainId:h,verifyingContract:g,salt:C}=e;if(!u||!l||!h||!g)throw new p("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:u,version:l,chainId:Number(h),verifyingContract:g,salt:C},message:n,primaryType:i,types:a},signer:this.signer.locator(),chain:r}});if("error"in o)throw new d(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var e;return S({transport:(e=t==null?void 0:t.transport)!=null?e:x(),chain:f(this.chain)})}createTransaction(t,e){return s(this,null,function*(){var a;let n=(a=e==null?void 0:e.experimental_signer)!=null?a:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:n,chain:this.chain,calls:[t]}});if("error"in i)throw new y(JSON.stringify(i));return i})}buildTransaction(t){var e,n,i,a,r;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(n=(e=t.value)==null?void 0:e.toString())!=null?n:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(r=(a=t.value)==null?void 0:a.toString())!=null?r:"0",data:I({abi:t.abi,functionName:t.functionName,args:t.args})}}};export{m as a};
@@ -0,0 +1 @@
1
+ import{a as m}from"./chunk-JUSY5XEE.js";import{a as d}from"./chunk-M4ELAV7U.js";import{a as l,b as u,f as o}from"./chunk-BW7YYVZE.js";import{validateAPIKey as f}from"@crossmint/common-sdk-base";var p=class{constructor(e){this.config=e;this._needsAuth=!0;this._authPromise=null;this._initializationPromise=null;this.initialize(),this.type=this.config.type}locator(){return this.config.locator}address(){return this.config.address}initialize(){return o(this,null,function*(){if(this.config.clientTEEConnection==null){let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});this.config.clientTEEConnection=yield i.initialize()}})}getTEEConnection(){return o(this,null,function*(){if(this.config.clientTEEConnection==null){if(this._initializationPromise)return yield this._initializationPromise,this.config.clientTEEConnection;this._initializationPromise=this.initializeTEEConnection();try{yield this._initializationPromise}finally{this._initializationPromise=null}}return this.config.clientTEEConnection})}initializeTEEConnection(){return o(this,null,function*(){console.warn("TEE connection is not initialized, initializing now...");let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});if(this.config.clientTEEConnection=yield i.initialize(),this.config.clientTEEConnection==null)throw new Error("Failed to initialize TEE connection");console.log("TEE connection initialized successfully")})}handleAuthRequired(){return o(this,null,function*(){var a,c;let e=yield this.getTEEConnection();if(this.config.onAuthRequired==null)throw new Error(`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`);let i=yield e.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(c=(a=this.config.crossmint.experimental_customAuth)==null?void 0:a.jwt)!=null?c:"",apiKey:this.config.crossmint.apiKey}},options:u(l({},g),{maxRetries:5})});if((i==null?void 0:i.status)!=="success")throw new Error(i==null?void 0:i.error);if(i.signerStatus==="ready"){this._needsAuth=!1;return}else this._needsAuth=!0;let{promise:n,resolve:s,reject:r}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:s,reject:r},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>o(this,null,function*(){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>{var t;return(t=this._authPromise)==null?void 0:t.reject(new d)})),r(new d)}))}catch(t){r(t)}try{yield n}catch(t){throw t}})}ensureAuthenticated(){return o(this,null,function*(){yield this.handleAuthRequired()})}getJwtOrThrow(){var i;let e=(i=this.config.crossmint.experimental_customAuth)==null?void 0:i.jwt;if(e==null)throw new Error("JWT is required");return e}createAuthPromise(){let e,i;return{promise:new Promise((s,r)=>{e=s,i=r}),resolve:e,reject:i}}sendMessageWithOtp(){return o(this,null,function*(){var s,r,a;let e=yield this.getTEEConnection(),i=this.getAuthId(),n=yield e.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(r=(s=this.config.crossmint.experimental_customAuth)==null?void 0:s.jwt)!=null?r:"",apiKey:this.config.crossmint.apiKey},data:{authId:i}},options:u(l({},g),{maxRetries:3})});if((n==null?void 0:n.status)==="success"&&n.signerStatus==="ready"){this._needsAuth=!1;return}(n==null?void 0:n.status)==="error"&&(console.error("[sendMessageWithOtp] Failed to send OTP:",n),(a=this._authPromise)==null||a.reject(new Error(n.error||"Failed to initiate OTP process.")))})}getAuthId(){return this.config.type==="email"?`email:${this.config.email}`:`phone:${this.config.phone}`}verifyOtp(e){return o(this,null,function*(){var n,s,r,a,c;let i=yield this.getTEEConnection();try{let t=yield i.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(s=(n=this.config.crossmint.experimental_customAuth)==null?void 0:n.jwt)!=null?s:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:e}}},options:u(l({},g),{maxRetries:3})});if((t==null?void 0:t.status)==="success"){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),h=>this.verifyOtp(h),()=>{var h;return(h=this._authPromise)==null?void 0:h.reject(new d)})),(r=this._authPromise)==null||r.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",t),this._needsAuth=!0;let E=(t==null?void 0:t.status)==="error"?t.error:"Failed to validate encrypted OTP";(a=this._authPromise)==null||a.reject(new Error(E))}catch(t){throw console.error("[verifyOtp] Error sending OTP validation request:",t),this._needsAuth=!0,(c=this._authPromise)==null||c.reject(t),t}})}},g={timeoutMs:1e4,intervalMs:5e3};export{p as a,g as b};
@@ -1 +1 @@
1
- import{a as n}from"./chunk-2EEUFDPI.js";import{a}from"./chunk-EQAR6LTS.js";import{a as t}from"./chunk-LYNZIVUP.js";import{a as o}from"./chunk-UBOWSXW3.js";import{a as m}from"./chunk-IGBQEAD5.js";import{a as l}from"./chunk-6PVKL5RC.js";import{a as p}from"./chunk-2SHDBC47.js";import{a as s}from"./chunk-LW6JSI4J.js";import{a as i}from"./chunk-3APSOOE3.js";function d(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new n(e):r==="stellar"?new a(e):new t(e);case"api-key":return r==="solana"?new m(e):new s(e);case"external-wallet":return r==="solana"?new l(e):r==="stellar"?new p(e):new i(e);case"passkey":return new o(e)}}export{d as a};
1
+ import{a as n}from"./chunk-ZOHTLGQD.js";import{a}from"./chunk-C4PMI4MS.js";import{a as t}from"./chunk-C63LHP55.js";import{a as o}from"./chunk-UBOWSXW3.js";import{a as m}from"./chunk-IGBQEAD5.js";import{a as l}from"./chunk-6PVKL5RC.js";import{a as p}from"./chunk-2SHDBC47.js";import{a as s}from"./chunk-LW6JSI4J.js";import{a as i}from"./chunk-3APSOOE3.js";function d(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new n(e):r==="stellar"?new a(e):new t(e);case"api-key":return r==="solana"?new m(e):new s(e);case"external-wallet":return r==="solana"?new l(e):r==="stellar"?new p(e):new i(e);case"passkey":return new o(e)}}export{d as a};
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkBZT44O4Zcjs = require('./chunk-BZT44O4Z.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkBZT44O4Zcjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkBZT44O4Zcjs.a.getOptions(n)},_chunkBZT44O4Zcjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidSolanaAddress.call(void 0, n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e,r;yield this.preAuthIfNeeded();let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new (0, _chunkHRSVFJNDcjs.a)({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(T){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:_bs582.default.encode(n.serialize()),signer:i}});if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(e));return e})}};exports.a = d;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR6E6KN4Ccjs = require('./chunk-R6E6KN4C.cjs');var _chunkXIKTZJF7cjs = require('./chunk-XIKTZJF7.cjs');var _chunkYRAYLQSMcjs = require('./chunk-YRAYLQSM.cjs');var _chunkYWPTI2QOcjs = require('./chunk-YWPTI2QO.cjs');var _chunk4KXOWU5Ecjs = require('./chunk-4KXOWU5E.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkC3T63EC7cjs = require('./chunk-C3T63EC7.cjs');var _chunkYZ4HRYSLcjs = require('./chunk-YZ4HRYSL.cjs');var _chunkM4TOGGLVcjs = require('./chunk-M4TOGGLV.cjs');function E(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new (0, _chunkR6E6KN4Ccjs.a)(e):r==="stellar"?new (0, _chunkXIKTZJF7cjs.a)(e):new (0, _chunkYRAYLQSMcjs.a)(e);case"api-key":return r==="solana"?new (0, _chunk4KXOWU5Ecjs.a)(e):new (0, _chunkYZ4HRYSLcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkHRSVFJNDcjs.a)(e):r==="stellar"?new (0, _chunkC3T63EC7cjs.a)(e):new (0, _chunkM4TOGGLVcjs.a)(e);case"passkey":return new (0, _chunkYWPTI2QOcjs.a)(e)}}exports.a = E;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4EIG4JRPcjs = require('./chunk-4EIG4JRP.cjs');var _chunkRBUZYVIBcjs = require('./chunk-RBUZYVIB.cjs');var _chunk4NDX2H2Rcjs = require('./chunk-4NDX2H2R.cjs');var _chunkYWPTI2QOcjs = require('./chunk-YWPTI2QO.cjs');var _chunk4KXOWU5Ecjs = require('./chunk-4KXOWU5E.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkC3T63EC7cjs = require('./chunk-C3T63EC7.cjs');var _chunkYZ4HRYSLcjs = require('./chunk-YZ4HRYSL.cjs');var _chunkM4TOGGLVcjs = require('./chunk-M4TOGGLV.cjs');function E(r,e){switch(e.type){case"email":case"phone":return r==="solana"?new (0, _chunk4EIG4JRPcjs.a)(e):r==="stellar"?new (0, _chunkRBUZYVIBcjs.a)(e):new (0, _chunk4NDX2H2Rcjs.a)(e);case"api-key":return r==="solana"?new (0, _chunk4KXOWU5Ecjs.a)(e):new (0, _chunkYZ4HRYSLcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkHRSVFJNDcjs.a)(e):r==="stellar"?new (0, _chunkC3T63EC7cjs.a)(e):new (0, _chunkM4TOGGLVcjs.a)(e);case"passkey":return new (0, _chunkYWPTI2QOcjs.a)(e)}}exports.a = E;
@@ -1 +1 @@
1
- import{a as i,b as s}from"./chunk-NC5TWZVI.js";import{f as t}from"./chunk-BW7YYVZE.js";import{VersionedTransaction as y}from"@solana/web3.js";import o from"bs58";var a=class g extends i{constructor(e){super(e)}signMessage(){return t(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(e){return t(this,null,function*(){var r;yield this.handleAuthRequired();let c=this.getJwtOrThrow(),d=o.decode(e),l=y.deserialize(d).message.serialize(),n=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:c,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:o.encode(l),encoding:"base58"}},options:s});if((n==null?void 0:n.status)==="error")throw new Error(n.error);if((n==null?void 0:n.signature)==null)throw new Error("Failed to sign transaction");return g.verifyPublicKeyFormat(n.publicKey),{signature:n.signature.bytes}})}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{a};
1
+ import{a as i,b as s}from"./chunk-S6OCTE4E.js";import{f as t}from"./chunk-BW7YYVZE.js";import{VersionedTransaction as y}from"@solana/web3.js";import o from"bs58";var a=class g extends i{constructor(e){super(e)}signMessage(){return t(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(e){return t(this,null,function*(){var r;yield this.handleAuthRequired();let c=this.getJwtOrThrow(),d=o.decode(e),l=y.deserialize(d).message.serialize(),n=yield(r=this.config.clientTEEConnection)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:c,apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:o.encode(l),encoding:"base58"}},options:s});if((n==null?void 0:n.status)==="error")throw new Error(n.error);if((n==null?void 0:n.signature)==null)throw new Error("Failed to sign transaction");return g.verifyPublicKeyFormat(n.publicKey),{signature:n.signature.bytes}})}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{a};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRO7Z7GELcjs = require('./chunk-RO7Z7GEL.cjs');var _chunk2R3FJX2Pcjs = require('./chunk-2R3FJX2P.cjs');var _chunkBDR5POSNcjs = require('./chunk-BDR5POSN.cjs');var _chunkU3NXCHNKcjs = require('./chunk-U3NXCHNK.cjs');require('./chunk-YA3QR74S.cjs');require('./chunk-23BRREJG.cjs');var _chunkH2PM5EB4cjs = require('./chunk-H2PM5EB4.cjs');require('./chunk-TE22LFWE.cjs');require('./chunk-PO6S7UR3.cjs');require('./chunk-R6E6KN4C.cjs');require('./chunk-XIKTZJF7.cjs');require('./chunk-YRAYLQSM.cjs');require('./chunk-OMHEIZBY.cjs');require('./chunk-MQP5VZCA.cjs');require('./chunk-YWPTI2QO.cjs');require('./chunk-4KXOWU5E.cjs');require('./chunk-HRSVFJND.cjs');require('./chunk-C3T63EC7.cjs');require('./chunk-ZSWIQU3U.cjs');require('./chunk-6HXIZLEQ.cjs');var _chunkFUFMJVFWcjs = require('./chunk-FUFMJVFW.cjs');require('./chunk-BUR4AQE5.cjs');require('./chunk-O4FVTK7X.cjs');require('./chunk-ECAM5KTH.cjs');require('./chunk-CU6FZ36V.cjs');require('./chunk-IR5WN6FQ.cjs');require('./chunk-GEY574TH.cjs');require('./chunk-YZ4HRYSL.cjs');require('./chunk-M4TOGGLV.cjs');require('./chunk-XALFCQKD.cjs');exports.CrossmintWallets = _chunkU3NXCHNKcjs.b; exports.EVMWallet = _chunkRO7Z7GELcjs.a; exports.SolanaWallet = _chunk2R3FJX2Pcjs.a; exports.StellarWallet = _chunkBDR5POSNcjs.a; exports.Wallet = _chunkH2PM5EB4cjs.a; exports.WalletsApiClient = _chunkFUFMJVFWcjs.a; exports.createCrossmint = _chunkU3NXCHNKcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH4PQE2PQcjs = require('./chunk-H4PQE2PQ.cjs');var _chunkYNU5YCIZcjs = require('./chunk-YNU5YCIZ.cjs');var _chunkNS6YGXH2cjs = require('./chunk-NS6YGXH2.cjs');var _chunkN757VJHVcjs = require('./chunk-N757VJHV.cjs');require('./chunk-FXPZDDLO.cjs');require('./chunk-23BRREJG.cjs');var _chunkBZT44O4Zcjs = require('./chunk-BZT44O4Z.cjs');require('./chunk-Z5LC25XK.cjs');require('./chunk-PO6S7UR3.cjs');require('./chunk-4EIG4JRP.cjs');require('./chunk-RBUZYVIB.cjs');require('./chunk-4NDX2H2R.cjs');require('./chunk-24QTQKVA.cjs');require('./chunk-MQP5VZCA.cjs');require('./chunk-YWPTI2QO.cjs');require('./chunk-4KXOWU5E.cjs');require('./chunk-HRSVFJND.cjs');require('./chunk-C3T63EC7.cjs');require('./chunk-ZSWIQU3U.cjs');require('./chunk-6HXIZLEQ.cjs');var _chunk5LZS53J3cjs = require('./chunk-5LZS53J3.cjs');require('./chunk-274PI33O.cjs');require('./chunk-O4FVTK7X.cjs');require('./chunk-ECAM5KTH.cjs');require('./chunk-CU6FZ36V.cjs');require('./chunk-IR5WN6FQ.cjs');require('./chunk-GEY574TH.cjs');require('./chunk-YZ4HRYSL.cjs');require('./chunk-M4TOGGLV.cjs');require('./chunk-XALFCQKD.cjs');exports.CrossmintWallets = _chunkN757VJHVcjs.b; exports.EVMWallet = _chunkH4PQE2PQcjs.a; exports.SolanaWallet = _chunkYNU5YCIZcjs.a; exports.StellarWallet = _chunkNS6YGXH2cjs.a; exports.Wallet = _chunkBZT44O4Zcjs.a; exports.WalletsApiClient = _chunk5LZS53J3cjs.a; exports.createCrossmint = _chunkN757VJHVcjs.a;
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as r}from"./chunk-JQNTWDDL.js";import{a as l}from"./chunk-KVDKGRNR.js";import{a as i}from"./chunk-B5E2BQO3.js";import{a as n,b as t}from"./chunk-ZOC4AK4K.js";import"./chunk-4WFPKXKO.js";import"./chunk-BHGNJYYE.js";import{a}from"./chunk-IKFHL3PH.js";import"./chunk-OURAC3YW.js";import"./chunk-YDZRBHS3.js";import"./chunk-2EEUFDPI.js";import"./chunk-EQAR6LTS.js";import"./chunk-LYNZIVUP.js";import"./chunk-NC5TWZVI.js";import"./chunk-JUSY5XEE.js";import"./chunk-UBOWSXW3.js";import"./chunk-IGBQEAD5.js";import"./chunk-6PVKL5RC.js";import"./chunk-2SHDBC47.js";import"./chunk-M4ELAV7U.js";import"./chunk-5IFDVB4Y.js";import{a as e}from"./chunk-E3K3BL52.js";import"./chunk-HARQAZMG.js";import"./chunk-PSXRNSOE.js";import"./chunk-KBJA7JDT.js";import"./chunk-I5COKXOT.js";import"./chunk-KKQBZXFE.js";import"./chunk-S3DYQVRD.js";import"./chunk-LW6JSI4J.js";import"./chunk-3APSOOE3.js";import"./chunk-BW7YYVZE.js";export{t as CrossmintWallets,r as EVMWallet,l as SolanaWallet,i as StellarWallet,a as Wallet,e as WalletsApiClient,n as createCrossmint};
1
+ import{a as r}from"./chunk-RQG43QNF.js";import{a as l}from"./chunk-LU5GO2D3.js";import{a as i}from"./chunk-4EWCN2LV.js";import{a as n,b as t}from"./chunk-CEEKYLQE.js";import"./chunk-IP2I5HPS.js";import"./chunk-BHGNJYYE.js";import{a}from"./chunk-GHEMGGUS.js";import"./chunk-XV5GD5AT.js";import"./chunk-YDZRBHS3.js";import"./chunk-ZOHTLGQD.js";import"./chunk-C4PMI4MS.js";import"./chunk-C63LHP55.js";import"./chunk-S6OCTE4E.js";import"./chunk-JUSY5XEE.js";import"./chunk-UBOWSXW3.js";import"./chunk-IGBQEAD5.js";import"./chunk-6PVKL5RC.js";import"./chunk-2SHDBC47.js";import"./chunk-M4ELAV7U.js";import"./chunk-5IFDVB4Y.js";import{a as e}from"./chunk-ISP75PVL.js";import"./chunk-5F3GW6TH.js";import"./chunk-PSXRNSOE.js";import"./chunk-KBJA7JDT.js";import"./chunk-I5COKXOT.js";import"./chunk-KKQBZXFE.js";import"./chunk-S3DYQVRD.js";import"./chunk-LW6JSI4J.js";import"./chunk-3APSOOE3.js";import"./chunk-BW7YYVZE.js";export{t as CrossmintWallets,r as EVMWallet,l as SolanaWallet,i as StellarWallet,a as Wallet,e as WalletsApiClient,n as createCrossmint};
package/dist/sdk.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkU3NXCHNKcjs = require('./chunk-U3NXCHNK.cjs');require('./chunk-YA3QR74S.cjs');require('./chunk-23BRREJG.cjs');require('./chunk-H2PM5EB4.cjs');require('./chunk-TE22LFWE.cjs');require('./chunk-PO6S7UR3.cjs');require('./chunk-R6E6KN4C.cjs');require('./chunk-XIKTZJF7.cjs');require('./chunk-YRAYLQSM.cjs');require('./chunk-OMHEIZBY.cjs');require('./chunk-MQP5VZCA.cjs');require('./chunk-YWPTI2QO.cjs');require('./chunk-4KXOWU5E.cjs');require('./chunk-HRSVFJND.cjs');require('./chunk-C3T63EC7.cjs');require('./chunk-ZSWIQU3U.cjs');require('./chunk-6HXIZLEQ.cjs');require('./chunk-FUFMJVFW.cjs');require('./chunk-BUR4AQE5.cjs');require('./chunk-O4FVTK7X.cjs');require('./chunk-ECAM5KTH.cjs');require('./chunk-YZ4HRYSL.cjs');require('./chunk-M4TOGGLV.cjs');require('./chunk-XALFCQKD.cjs');exports.CrossmintWallets = _chunkU3NXCHNKcjs.b; exports.createCrossmint = _chunkU3NXCHNKcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkN757VJHVcjs = require('./chunk-N757VJHV.cjs');require('./chunk-FXPZDDLO.cjs');require('./chunk-23BRREJG.cjs');require('./chunk-BZT44O4Z.cjs');require('./chunk-Z5LC25XK.cjs');require('./chunk-PO6S7UR3.cjs');require('./chunk-4EIG4JRP.cjs');require('./chunk-RBUZYVIB.cjs');require('./chunk-4NDX2H2R.cjs');require('./chunk-24QTQKVA.cjs');require('./chunk-MQP5VZCA.cjs');require('./chunk-YWPTI2QO.cjs');require('./chunk-4KXOWU5E.cjs');require('./chunk-HRSVFJND.cjs');require('./chunk-C3T63EC7.cjs');require('./chunk-ZSWIQU3U.cjs');require('./chunk-6HXIZLEQ.cjs');require('./chunk-5LZS53J3.cjs');require('./chunk-274PI33O.cjs');require('./chunk-O4FVTK7X.cjs');require('./chunk-ECAM5KTH.cjs');require('./chunk-YZ4HRYSL.cjs');require('./chunk-M4TOGGLV.cjs');require('./chunk-XALFCQKD.cjs');exports.CrossmintWallets = _chunkN757VJHVcjs.b; exports.createCrossmint = _chunkN757VJHVcjs.a;
package/dist/sdk.js CHANGED
@@ -1 +1 @@
1
- import{a,b}from"./chunk-ZOC4AK4K.js";import"./chunk-4WFPKXKO.js";import"./chunk-BHGNJYYE.js";import"./chunk-IKFHL3PH.js";import"./chunk-OURAC3YW.js";import"./chunk-YDZRBHS3.js";import"./chunk-2EEUFDPI.js";import"./chunk-EQAR6LTS.js";import"./chunk-LYNZIVUP.js";import"./chunk-NC5TWZVI.js";import"./chunk-JUSY5XEE.js";import"./chunk-UBOWSXW3.js";import"./chunk-IGBQEAD5.js";import"./chunk-6PVKL5RC.js";import"./chunk-2SHDBC47.js";import"./chunk-M4ELAV7U.js";import"./chunk-5IFDVB4Y.js";import"./chunk-E3K3BL52.js";import"./chunk-HARQAZMG.js";import"./chunk-PSXRNSOE.js";import"./chunk-KBJA7JDT.js";import"./chunk-LW6JSI4J.js";import"./chunk-3APSOOE3.js";import"./chunk-BW7YYVZE.js";export{b as CrossmintWallets,a as createCrossmint};
1
+ import{a,b}from"./chunk-CEEKYLQE.js";import"./chunk-IP2I5HPS.js";import"./chunk-BHGNJYYE.js";import"./chunk-GHEMGGUS.js";import"./chunk-XV5GD5AT.js";import"./chunk-YDZRBHS3.js";import"./chunk-ZOHTLGQD.js";import"./chunk-C4PMI4MS.js";import"./chunk-C63LHP55.js";import"./chunk-S6OCTE4E.js";import"./chunk-JUSY5XEE.js";import"./chunk-UBOWSXW3.js";import"./chunk-IGBQEAD5.js";import"./chunk-6PVKL5RC.js";import"./chunk-2SHDBC47.js";import"./chunk-M4ELAV7U.js";import"./chunk-5IFDVB4Y.js";import"./chunk-ISP75PVL.js";import"./chunk-5F3GW6TH.js";import"./chunk-PSXRNSOE.js";import"./chunk-KBJA7JDT.js";import"./chunk-LW6JSI4J.js";import"./chunk-3APSOOE3.js";import"./chunk-BW7YYVZE.js";export{b as CrossmintWallets,a as createCrossmint};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkTE22LFWEcjs = require('../chunk-TE22LFWE.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-R6E6KN4C.cjs');require('../chunk-XIKTZJF7.cjs');require('../chunk-YRAYLQSM.cjs');require('../chunk-OMHEIZBY.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-XALFCQKD.cjs');exports.assembleSigner = _chunkTE22LFWEcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZ5LC25XKcjs = require('../chunk-Z5LC25XK.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-XALFCQKD.cjs');exports.assembleSigner = _chunkZ5LC25XKcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-OURAC3YW.js";import"../chunk-YDZRBHS3.js";import"../chunk-2EEUFDPI.js";import"../chunk-EQAR6LTS.js";import"../chunk-LYNZIVUP.js";import"../chunk-NC5TWZVI.js";import"../chunk-JUSY5XEE.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-M4ELAV7U.js";import"../chunk-PSXRNSOE.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-BW7YYVZE.js";export{a as assembleSigner};
1
+ import{a}from"../chunk-XV5GD5AT.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-M4ELAV7U.js";import"../chunk-PSXRNSOE.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-BW7YYVZE.js";export{a as assembleSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-PO6S7UR3.cjs');var _chunkR6E6KN4Ccjs = require('../../chunk-R6E6KN4C.cjs');var _chunkXIKTZJF7cjs = require('../../chunk-XIKTZJF7.cjs');var _chunkYRAYLQSMcjs = require('../../chunk-YRAYLQSM.cjs');var _chunkOMHEIZBYcjs = require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunkOMHEIZBYcjs.b; exports.EVMNonCustodialSigner = _chunkYRAYLQSMcjs.a; exports.NonCustodialSigner = _chunkOMHEIZBYcjs.a; exports.SolanaNonCustodialSigner = _chunkR6E6KN4Ccjs.a; exports.StellarNonCustodialSigner = _chunkXIKTZJF7cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../../chunk-PO6S7UR3.cjs');var _chunk4EIG4JRPcjs = require('../../chunk-4EIG4JRP.cjs');var _chunkRBUZYVIBcjs = require('../../chunk-RBUZYVIB.cjs');var _chunk4NDX2H2Rcjs = require('../../chunk-4NDX2H2R.cjs');var _chunk24QTQKVAcjs = require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunk24QTQKVAcjs.b; exports.EVMNonCustodialSigner = _chunk4NDX2H2Rcjs.a; exports.NonCustodialSigner = _chunk24QTQKVAcjs.a; exports.SolanaNonCustodialSigner = _chunk4EIG4JRPcjs.a; exports.StellarNonCustodialSigner = _chunkRBUZYVIBcjs.a;
@@ -1 +1 @@
1
- import"../../chunk-YDZRBHS3.js";import{a as c}from"../../chunk-2EEUFDPI.js";import{a as e}from"../../chunk-EQAR6LTS.js";import{a as d}from"../../chunk-LYNZIVUP.js";import{a,b}from"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,d as EVMNonCustodialSigner,a as NonCustodialSigner,c as SolanaNonCustodialSigner,e as StellarNonCustodialSigner};
1
+ import"../../chunk-YDZRBHS3.js";import{a as c}from"../../chunk-ZOHTLGQD.js";import{a as e}from"../../chunk-C4PMI4MS.js";import{a as d}from"../../chunk-C63LHP55.js";import{a,b}from"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,d as EVMNonCustodialSigner,a as NonCustodialSigner,c as SolanaNonCustodialSigner,e as StellarNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYRAYLQSMcjs = require('../../chunk-YRAYLQSM.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.EVMNonCustodialSigner = _chunkYRAYLQSMcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4NDX2H2Rcjs = require('../../chunk-4NDX2H2R.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.EVMNonCustodialSigner = _chunk4NDX2H2Rcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-LYNZIVUP.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as EVMNonCustodialSigner};
1
+ import{a}from"../../chunk-C63LHP55.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as EVMNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkOMHEIZBYcjs = require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunkOMHEIZBYcjs.b; exports.NonCustodialSigner = _chunkOMHEIZBYcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk24QTQKVAcjs = require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.DEFAULT_EVENT_OPTIONS = _chunk24QTQKVAcjs.b; exports.NonCustodialSigner = _chunk24QTQKVAcjs.a;
@@ -23,6 +23,7 @@ declare abstract class NonCustodialSigner implements Signer {
23
23
  private getTEEConnection;
24
24
  private initializeTEEConnection;
25
25
  protected handleAuthRequired(): Promise<void>;
26
+ ensureAuthenticated(): Promise<void>;
26
27
  protected getJwtOrThrow(): string;
27
28
  private createAuthPromise;
28
29
  private sendMessageWithOtp;
@@ -23,6 +23,7 @@ declare abstract class NonCustodialSigner implements Signer {
23
23
  private getTEEConnection;
24
24
  private initializeTEEConnection;
25
25
  protected handleAuthRequired(): Promise<void>;
26
+ ensureAuthenticated(): Promise<void>;
26
27
  protected getJwtOrThrow(): string;
27
28
  private createAuthPromise;
28
29
  private sendMessageWithOtp;
@@ -1 +1 @@
1
- import{a,b}from"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,a as NonCustodialSigner};
1
+ import{a,b}from"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{b as DEFAULT_EVENT_OPTIONS,a as NonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkR6E6KN4Ccjs = require('../../chunk-R6E6KN4C.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.SolanaNonCustodialSigner = _chunkR6E6KN4Ccjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4EIG4JRPcjs = require('../../chunk-4EIG4JRP.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.SolanaNonCustodialSigner = _chunk4EIG4JRPcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-2EEUFDPI.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as SolanaNonCustodialSigner};
1
+ import{a}from"../../chunk-ZOHTLGQD.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as SolanaNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXIKTZJF7cjs = require('../../chunk-XIKTZJF7.cjs');require('../../chunk-OMHEIZBY.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.StellarNonCustodialSigner = _chunkXIKTZJF7cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRBUZYVIBcjs = require('../../chunk-RBUZYVIB.cjs');require('../../chunk-24QTQKVA.cjs');require('../../chunk-MQP5VZCA.cjs');require('../../chunk-ZSWIQU3U.cjs');require('../../chunk-XALFCQKD.cjs');exports.StellarNonCustodialSigner = _chunkRBUZYVIBcjs.a;
@@ -1 +1 @@
1
- import{a}from"../../chunk-EQAR6LTS.js";import"../../chunk-NC5TWZVI.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as StellarNonCustodialSigner};
1
+ import{a}from"../../chunk-C4PMI4MS.js";import"../../chunk-S6OCTE4E.js";import"../../chunk-JUSY5XEE.js";import"../../chunk-M4ELAV7U.js";import"../../chunk-BW7YYVZE.js";export{a as StellarNonCustodialSigner};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBUR4AQE5cjs = require('../chunk-BUR4AQE5.cjs');require('../chunk-XALFCQKD.cjs');exports.SDK_NAME = _chunkBUR4AQE5cjs.c; exports.SDK_VERSION = _chunkBUR4AQE5cjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunkBUR4AQE5cjs.d; exports.WALLETS_SERVICE = _chunkBUR4AQE5cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk274PI33Ocjs = require('../chunk-274PI33O.cjs');require('../chunk-XALFCQKD.cjs');exports.SDK_NAME = _chunk274PI33Ocjs.c; exports.SDK_VERSION = _chunk274PI33Ocjs.b; exports.STATUS_POLLING_INTERVAL_MS = _chunk274PI33Ocjs.d; exports.WALLETS_SERVICE = _chunk274PI33Ocjs.a;
@@ -1 +1 @@
1
- import{a,b,c,d}from"../chunk-HARQAZMG.js";import"../chunk-BW7YYVZE.js";export{c as SDK_NAME,b as SDK_VERSION,d as STATUS_POLLING_INTERVAL_MS,a as WALLETS_SERVICE};
1
+ import{a,b,c,d}from"../chunk-5F3GW6TH.js";import"../chunk-BW7YYVZE.js";export{c as SDK_NAME,b as SDK_VERSION,d as STATUS_POLLING_INTERVAL_MS,a as WALLETS_SERVICE};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkRO7Z7GELcjs = require('../chunk-RO7Z7GEL.cjs');require('../chunk-H2PM5EB4.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-CU6FZ36V.cjs');require('../chunk-IR5WN6FQ.cjs');require('../chunk-GEY574TH.cjs');require('../chunk-XALFCQKD.cjs');exports.EVMWallet = _chunkRO7Z7GELcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH4PQE2PQcjs = require('../chunk-H4PQE2PQ.cjs');require('../chunk-BZT44O4Z.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-CU6FZ36V.cjs');require('../chunk-IR5WN6FQ.cjs');require('../chunk-GEY574TH.cjs');require('../chunk-XALFCQKD.cjs');exports.EVMWallet = _chunkH4PQE2PQcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-JQNTWDDL.js";import"../chunk-IKFHL3PH.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-I5COKXOT.js";import"../chunk-KKQBZXFE.js";import"../chunk-S3DYQVRD.js";import"../chunk-BW7YYVZE.js";export{a as EVMWallet};
1
+ import{a}from"../chunk-RQG43QNF.js";import"../chunk-GHEMGGUS.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-I5COKXOT.js";import"../chunk-KKQBZXFE.js";import"../chunk-S3DYQVRD.js";import"../chunk-BW7YYVZE.js";export{a as EVMWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2R3FJX2Pcjs = require('../chunk-2R3FJX2P.cjs');require('../chunk-H2PM5EB4.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.SolanaWallet = _chunk2R3FJX2Pcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYNU5YCIZcjs = require('../chunk-YNU5YCIZ.cjs');require('../chunk-BZT44O4Z.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.SolanaWallet = _chunkYNU5YCIZcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-KVDKGRNR.js";import"../chunk-IKFHL3PH.js";import"../chunk-6PVKL5RC.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as SolanaWallet};
1
+ import{a}from"../chunk-LU5GO2D3.js";import"../chunk-GHEMGGUS.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-6PVKL5RC.js";import"../chunk-M4ELAV7U.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as SolanaWallet};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBDR5POSNcjs = require('../chunk-BDR5POSN.cjs');require('../chunk-H2PM5EB4.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.StellarWallet = _chunkBDR5POSNcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkNS6YGXH2cjs = require('../chunk-NS6YGXH2.cjs');require('../chunk-BZT44O4Z.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.StellarWallet = _chunkNS6YGXH2cjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-B5E2BQO3.js";import"../chunk-IKFHL3PH.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as StellarWallet};
1
+ import{a}from"../chunk-4EWCN2LV.js";import"../chunk-GHEMGGUS.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as StellarWallet};
@@ -89,18 +89,29 @@ type WalletArgsFor<C extends Chain> = {
89
89
  options?: WalletOptions;
90
90
  delegatedSigners?: Array<DelegatedSigner>;
91
91
  };
92
- type TokenBalance = {
92
+ type ChainExtras = {
93
+ solana: {
94
+ mintHash?: string;
95
+ };
96
+ stellar: {
97
+ contractId?: string;
98
+ };
99
+ evm: {
100
+ contractAddress?: string;
101
+ };
102
+ };
103
+ type ChainToExtrasKey<C extends Chain> = C extends "solana" ? "solana" : C extends "stellar" ? "stellar" : "evm";
104
+ type TokenBalance<C extends Chain = Chain> = {
93
105
  symbol: "sol" | "eth" | "usdc" | string;
94
106
  name: string;
95
107
  amount: string;
96
- contractAddress?: string;
97
108
  decimals?: number;
98
109
  rawAmount?: string;
99
- };
100
- type Balances = {
101
- nativeToken: TokenBalance;
102
- usdc: TokenBalance;
103
- tokens: TokenBalance[];
110
+ } & ChainExtras[ChainToExtrasKey<C>];
111
+ type Balances<C extends Chain = Chain> = {
112
+ nativeToken: TokenBalance<C>;
113
+ usdc: TokenBalance<C>;
114
+ tokens: TokenBalance<C>[];
104
115
  };
105
116
  type UserLocator = {
106
117
  email: string;
@@ -89,18 +89,29 @@ type WalletArgsFor<C extends Chain> = {
89
89
  options?: WalletOptions;
90
90
  delegatedSigners?: Array<DelegatedSigner>;
91
91
  };
92
- type TokenBalance = {
92
+ type ChainExtras = {
93
+ solana: {
94
+ mintHash?: string;
95
+ };
96
+ stellar: {
97
+ contractId?: string;
98
+ };
99
+ evm: {
100
+ contractAddress?: string;
101
+ };
102
+ };
103
+ type ChainToExtrasKey<C extends Chain> = C extends "solana" ? "solana" : C extends "stellar" ? "stellar" : "evm";
104
+ type TokenBalance<C extends Chain = Chain> = {
93
105
  symbol: "sol" | "eth" | "usdc" | string;
94
106
  name: string;
95
107
  amount: string;
96
- contractAddress?: string;
97
108
  decimals?: number;
98
109
  rawAmount?: string;
99
- };
100
- type Balances = {
101
- nativeToken: TokenBalance;
102
- usdc: TokenBalance;
103
- tokens: TokenBalance[];
110
+ } & ChainExtras[ChainToExtrasKey<C>];
111
+ type Balances<C extends Chain = Chain> = {
112
+ nativeToken: TokenBalance<C>;
113
+ usdc: TokenBalance<C>;
114
+ tokens: TokenBalance<C>[];
104
115
  };
105
116
  type UserLocator = {
106
117
  email: string;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkYA3QR74Scjs = require('../chunk-YA3QR74S.cjs');require('../chunk-23BRREJG.cjs');require('../chunk-H2PM5EB4.cjs');require('../chunk-TE22LFWE.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-R6E6KN4C.cjs');require('../chunk-XIKTZJF7.cjs');require('../chunk-YRAYLQSM.cjs');require('../chunk-OMHEIZBY.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunkYA3QR74Scjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkFXPZDDLOcjs = require('../chunk-FXPZDDLO.cjs');require('../chunk-23BRREJG.cjs');require('../chunk-BZT44O4Z.cjs');require('../chunk-Z5LC25XK.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-YWPTI2QO.cjs');require('../chunk-4KXOWU5E.cjs');require('../chunk-HRSVFJND.cjs');require('../chunk-C3T63EC7.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-YZ4HRYSL.cjs');require('../chunk-M4TOGGLV.cjs');require('../chunk-XALFCQKD.cjs');exports.WalletFactory = _chunkFXPZDDLOcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-4WFPKXKO.js";import"../chunk-BHGNJYYE.js";import"../chunk-IKFHL3PH.js";import"../chunk-OURAC3YW.js";import"../chunk-YDZRBHS3.js";import"../chunk-2EEUFDPI.js";import"../chunk-EQAR6LTS.js";import"../chunk-LYNZIVUP.js";import"../chunk-NC5TWZVI.js";import"../chunk-JUSY5XEE.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-M4ELAV7U.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
1
+ import{a}from"../chunk-IP2I5HPS.js";import"../chunk-BHGNJYYE.js";import"../chunk-GHEMGGUS.js";import"../chunk-XV5GD5AT.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-UBOWSXW3.js";import"../chunk-IGBQEAD5.js";import"../chunk-6PVKL5RC.js";import"../chunk-2SHDBC47.js";import"../chunk-M4ELAV7U.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-LW6JSI4J.js";import"../chunk-3APSOOE3.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH2PM5EB4cjs = require('../chunk-H2PM5EB4.cjs');require('../chunk-BUR4AQE5.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkH2PM5EB4cjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBZT44O4Zcjs = require('../chunk-BZT44O4Z.cjs');require('../chunk-PO6S7UR3.cjs');require('../chunk-4EIG4JRP.cjs');require('../chunk-RBUZYVIB.cjs');require('../chunk-4NDX2H2R.cjs');require('../chunk-24QTQKVA.cjs');require('../chunk-MQP5VZCA.cjs');require('../chunk-ZSWIQU3U.cjs');require('../chunk-274PI33O.cjs');require('../chunk-O4FVTK7X.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkBZT44O4Zcjs.a;
@@ -40,10 +40,10 @@ declare class Wallet<C extends Chain> {
40
40
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
41
41
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
42
42
  * @param {Chain[]} chains - The chains (optional)
43
- * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
43
+ * @returns {Promise<Balances<C>>} The balances returns nativeToken, usdc, tokens
44
44
  * @throws {Error} If the balances cannot be retrieved
45
45
  */
46
- balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
46
+ balances(tokens?: string[], chains?: Chain[]): Promise<Balances<C>>;
47
47
  /**
48
48
  * Transform the API balance response to the new structure
49
49
  * @private
@@ -121,6 +121,7 @@ declare class Wallet<C extends Chain> {
121
121
  }): Promise<void>;
122
122
  delegatedSigners(): Promise<DelegatedSigner[]>;
123
123
  protected get walletLocator(): WalletLocator;
124
+ protected preAuthIfNeeded(): Promise<void>;
124
125
  protected get isSolanaWallet(): boolean;
125
126
  protected approveTransactionAndWait(transactionId: string, options?: ApproveOptions): Promise<{
126
127
  hash: string;
@@ -40,10 +40,10 @@ declare class Wallet<C extends Chain> {
40
40
  * Get the wallet balances - always includes USDC and native token (ETH/SOL)
41
41
  * @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
42
42
  * @param {Chain[]} chains - The chains (optional)
43
- * @returns {Promise<Balances>} The balances returns nativeToken, usdc, tokens
43
+ * @returns {Promise<Balances<C>>} The balances returns nativeToken, usdc, tokens
44
44
  * @throws {Error} If the balances cannot be retrieved
45
45
  */
46
- balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
46
+ balances(tokens?: string[], chains?: Chain[]): Promise<Balances<C>>;
47
47
  /**
48
48
  * Transform the API balance response to the new structure
49
49
  * @private
@@ -121,6 +121,7 @@ declare class Wallet<C extends Chain> {
121
121
  }): Promise<void>;
122
122
  delegatedSigners(): Promise<DelegatedSigner[]>;
123
123
  protected get walletLocator(): WalletLocator;
124
+ protected preAuthIfNeeded(): Promise<void>;
124
125
  protected get isSolanaWallet(): boolean;
125
126
  protected approveTransactionAndWait(transactionId: string, options?: ApproveOptions): Promise<{
126
127
  hash: string;
@@ -1 +1 @@
1
- import{a}from"../chunk-IKFHL3PH.js";import"../chunk-HARQAZMG.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
1
+ import{a}from"../chunk-GHEMGGUS.js";import"../chunk-YDZRBHS3.js";import"../chunk-ZOHTLGQD.js";import"../chunk-C4PMI4MS.js";import"../chunk-C63LHP55.js";import"../chunk-S6OCTE4E.js";import"../chunk-JUSY5XEE.js";import"../chunk-M4ELAV7U.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crossmint/wallets-sdk",
3
- "version": "0.14.3",
3
+ "version": "0.15.1",
4
4
  "repository": "https://github.com/Crossmint/crossmint-sdk",
5
5
  "license": "Apache-2.0",
6
6
  "author": "Paella Labs Inc",
@@ -28,7 +28,7 @@
28
28
  "viem": "2.33.1",
29
29
  "@crossmint/client-sdk-window": "1.0.5",
30
30
  "@crossmint/client-signers": "0.0.20",
31
- "@crossmint/common-sdk-base": "0.9.5"
31
+ "@crossmint/common-sdk-base": "0.9.6"
32
32
  },
33
33
  "devDependencies": {
34
34
  "@hey-api/openapi-ts": "0.69.2",
@@ -36,6 +36,9 @@
36
36
  "typedoc-plugin-frontmatter": "1.0.0",
37
37
  "typedoc-plugin-markdown": "4.2.3"
38
38
  },
39
+ "peerDependencies": {
40
+ "@solana/web3.js": "^1.98.1"
41
+ },
39
42
  "scripts": {
40
43
  "build": "pnpm generate && tsup",
41
44
  "dev": "tsup --watch",
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkH2PM5EB4cjs = require('./chunk-H2PM5EB4.cjs');var _chunkHRSVFJNDcjs = require('./chunk-HRSVFJND.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkH2PM5EB4cjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkH2PM5EB4cjs.a.getOptions(n)},_chunkH2PM5EB4cjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidSolanaAddress.call(void 0, n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e,r;let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new (0, _chunkHRSVFJNDcjs.a)({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(S){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:_bs582.default.encode(n.serialize()),signer:i}});if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(e));return e})}};exports.a = d;
@@ -1 +0,0 @@
1
- import{a}from"./chunk-IKFHL3PH.js";import{r as l}from"./chunk-PSXRNSOE.js";import{f as o}from"./chunk-BW7YYVZE.js";import{isValidStellarAddress as f}from"@crossmint/common-sdk-base";var d=class u extends a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:a.getOptions(n)},a.getApiClient(n))}static from(n){if(!f(n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return o(this,null,function*(){var r;let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return o(this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:T,memo:p,args:h}=n;i={type:"contract-call",contractId:t,method:T,memo:p!=null?{type:"text",value:p}:void 0,args:h}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new l(JSON.stringify(s));return s})}};export{d as a};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH2PM5EB4cjs = require('./chunk-H2PM5EB4.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var d=class u extends _chunkH2PM5EB4cjs.a{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:_chunkH2PM5EB4cjs.a.getOptions(n)},_chunkH2PM5EB4cjs.a.getApiClient(n))}static from(n){if(!_commonsdkbase.isValidStellarAddress.call(void 0, n.address))throw new Error("Wallet is not a Stellar wallet");return new u(n)}sendTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let t=yield this.createTransaction(n);if((r=n.options)!=null&&r.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:t.id};let e={};return yield this.approveTransactionAndWait(t.id,e)})}createTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var c;let{contractId:t,options:e}=n,r=(c=e==null?void 0:e.experimental_signer)!=null?c:this.signer.locator(),i;if("transaction"in n)i={type:"serialized-transaction",serializedTransaction:n.transaction,contractId:t};else{let{method:T,memo:p,args:h}=n;i={type:"contract-call",contractId:t,method:T,memo:p!=null?{type:"text",value:p}:void 0,args:h}}let s=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:i,signer:r}});if("error"in s)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(s));return s})}};exports.a = d;
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBUR4AQE5cjs = require('./chunk-BUR4AQE5.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var f,l,J= exports.a =class{constructor(e,r){_chunkXALFCQKDcjs.d.call(void 0, this,f);_chunkXALFCQKDcjs.d.call(void 0, this,l);let{chain:t,address:n,owner:s,signer:d,options:g}=e;_chunkXALFCQKDcjs.e.call(void 0, this,l,r),this.chain=t,this.address=n,this.owner=s,this.signer=d,_chunkXALFCQKDcjs.e.call(void 0, this,f,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,l)}get options(){return _chunkXALFCQKDcjs.c.call(void 0, this,f)}experimental_apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,l)}balances(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t;switch(this.chain){case"solana":t="sol";break;case"stellar":t="xlm";break;default:t="eth";break}let n=[t,"usdc",...e!=null?e:[]],s=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getBalance(this.address,{chains:r!=null?r:[this.chain],tokens:n});if("error"in s)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(s.message)}`);return this.transformBalanceResponse(s,t,e)})}transformBalanceResponse(e,r,t){let n=a=>{var m,w,v,y,S;let u=(m=a.chains)==null?void 0:m[this.chain],h=u!=null&&"contractAddress"in u?u.contractAddress:void 0;return{symbol:(w=a.symbol)!=null?w:"",name:(v=a.name)!=null?v:"",amount:(y=a.amount)!=null?y:"0",contractAddress:h,decimals:a.decimals,rawAmount:(S=a.rawAmount)!=null?S:"0"}},s=e.find(a=>a.symbol===r),d=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==r&&a.symbol!=="usdc"),i=a=>({symbol:a,name:a,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:s!=null?n(s):i(r),usdc:d!=null?n(d):i("usdc"),tokens:g.map(n)}}experimental_nfts(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,l).experimental_getNfts(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.error)}`);return r})}experimental_activity(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,r,t,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=H(e),d=M(r,this.chain),g=_chunkXALFCQKDcjs.a.call(void 0, {recipient:s,amount:t},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),i=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).send(this.walletLocator,d,g);if("message"in i)throw new (0, _chunkO4FVTK7Xcjs.r)(`Failed to send token: ${JSON.stringify(i.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:i.id}:yield this.approveTransactionAndWait(i.id)})}approveTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var t;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r&&r.transaction!=null){let n=r.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in r){let n=(t=r.chains)==null?void 0:t[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r,t,n;let e=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getWallet(this.walletLocator);if("error"in e)throw new (0, _chunkO4FVTK7Xcjs.d)(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new (0, _chunkO4FVTK7Xcjs.c)(`Wallet type ${e.type} not supported`);return(n=(t=(r=e==null?void 0:e.config)==null?void 0:r.delegatedSigners)==null?void 0:t.map(s=>{let d=s.locator.indexOf(":");return{signer:`external-wallet:${d>=0?s.locator.slice(d+1):s.locator}`}}))!=null?n:[]})}get walletLocator(){return _chunkXALFCQKDcjs.c.call(void 0, this,l).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}get isSolanaWallet(){return this.chain==="solana"}approveTransactionAndWait(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveTransactionInternal(e,r),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveSignatureInternal(e,r),yield this.sleep(1e3),yield this.waitForSignature(e)})}approveSignatureInternal(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getSignature(this.walletLocator,e);if("error"in t)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(t));if(this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let u=[r.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,u)}let n=(i=t.approvals)==null?void 0:i.pending;if(n==null)return t;let s=[...(a=r==null?void 0:r.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(u=>{let h=s.find(m=>m.locator()===u.signer.locator);if(h==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${u.signer} not found in pending approvals`);return h.signMessage(u.message)}))).map(u=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},u),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,a,u,h,m;let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e);if("error"in t)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(t));if(yield(u=(a=(i=_chunkXALFCQKDcjs.c.call(void 0, this,f))==null?void 0:i.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:u.call(a),this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let w=[r.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(h=t.approvals)==null?void 0:h.pending;if(n==null)return t;let s=[...(m=r==null?void 0:r.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let v=s.find(S=>S.locator()===w.signer.locator);if(v==null)throw new (0, _chunkO4FVTK7Xcjs.i)(`Signer ${w.signer} not found in pending approvals`);let y=t.chainType==="solana"&&"transaction"in t.onChain?t.onChain.transaction:w.message;return v.signTransaction(y)}))).map(w=>_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw new (0, _chunkO4FVTK7Xcjs.x)(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw new (0, _chunkO4FVTK7Xcjs.q)(JSON.stringify(t));return t})}waitForSignature(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=null;do if(yield new Promise(t=>setTimeout(t,_chunkBUR4AQE5cjs.d)),r=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getSignature(this.walletLocator,e),"error"in r)throw new (0, _chunkO4FVTK7Xcjs.p)(JSON.stringify(r));while(r===null||r.status==="pending");if(r.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.m)("Signature signing failed");if(!r.outputSignature)throw new (0, _chunkO4FVTK7Xcjs.p)("Signature not available");return{signature:r.outputSignature,signatureId:e}})}waitForTransaction(d){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*(e,r=6e4,{backoffMultiplier:t=1.1,maxBackoffMs:n=2e3,initialBackoffMs:s=_chunkBUR4AQE5cjs.d}={}){var u;let g=Date.now(),i;do{if(Date.now()-g>r)throw new (0, _chunkO4FVTK7Xcjs.t)("Transaction confirmation timeout");if(i=yield _chunkXALFCQKDcjs.c.call(void 0, this,l).getTransaction(this.walletLocator,e),i.error)throw new (0, _chunkO4FVTK7Xcjs.s)(JSON.stringify(i));yield this.sleep(s),s=Math.min(s*t,n)}while(i.status==="pending");if(i.status==="failed")throw new (0, _chunkO4FVTK7Xcjs.u)(`Transaction sending failed: ${JSON.stringify(i.error)}`);if(i.status==="awaiting-approval")throw new (0, _chunkO4FVTK7Xcjs.v)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=i.onChain.txId;if(a==null)throw new (0, _chunkO4FVTK7Xcjs.w)("Transaction hash not found on transaction response");return{hash:a,explorerLink:(u=i.onChain.explorerLink)!=null?u:"",transactionId:i.id}})}sleep(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};f=new WeakMap,l=new WeakMap;function H(p){if(typeof p=="string")return p;if("email"in p)return`email:${p.email}`;if("x"in p)return`x:${p.x}`;if("twitter"in p)return`twitter:${p.twitter}`;if("phone"in p)return`phoneNumber:${p.phone}`;if("userId"in p)return`userId:${p.userId}`;throw new Error("Invalid recipient locator")}function M(p,e){return _commonsdkbase.isValidAddress.call(void 0, p)?`${e}:${p}`:`${e}:${p.toLowerCase()}`}exports.a = J;
@@ -1 +0,0 @@
1
- var s="@crossmint/wallets-sdk",t="0.14.3";var r="WALLETS_SDK",c=t,a=s,d=500;export{r as a,c as b,a as c,d};
@@ -1 +0,0 @@
1
- import{d as O}from"./chunk-HARQAZMG.js";import{c as L,d as P,i as E,m as N,p as x,q as _,r as $,s as W,t as I,u as F,v as R,w as k,x as B}from"./chunk-PSXRNSOE.js";import{a as T,b as A,c,d as b,e as C,f as o}from"./chunk-BW7YYVZE.js";import{isValidAddress as G}from"@crossmint/common-sdk-base";var f,l,J=class{constructor(e,r){b(this,f);b(this,l);let{chain:t,address:n,owner:s,signer:d,options:g}=e;C(this,l,r),this.chain=t,this.address=n,this.owner=s,this.signer=d,C(this,f,g)}static getApiClient(e){return e.apiClient}static getOptions(e){return e.options}get apiClient(){return c(this,l)}get options(){return c(this,f)}experimental_apiClient(){return c(this,l)}balances(e,r){return o(this,null,function*(){let t;switch(this.chain){case"solana":t="sol";break;case"stellar":t="xlm";break;default:t="eth";break}let n=[t,"usdc",...e!=null?e:[]],s=yield c(this,l).getBalance(this.address,{chains:r!=null?r:[this.chain],tokens:n});if("error"in s)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(s.message)}`);return this.transformBalanceResponse(s,t,e)})}transformBalanceResponse(e,r,t){let n=a=>{var m,w,v,y,S;let u=(m=a.chains)==null?void 0:m[this.chain],h=u!=null&&"contractAddress"in u?u.contractAddress:void 0;return{symbol:(w=a.symbol)!=null?w:"",name:(v=a.name)!=null?v:"",amount:(y=a.amount)!=null?y:"0",contractAddress:h,decimals:a.decimals,rawAmount:(S=a.rawAmount)!=null?S:"0"}},s=e.find(a=>a.symbol===r),d=e.find(a=>a.symbol==="usdc"),g=e.filter(a=>a.symbol!==r&&a.symbol!=="usdc"),i=a=>({symbol:a,name:a,amount:"0",contractAddress:void 0,decimals:0,rawAmount:"0"});return{nativeToken:s!=null?n(s):i(r),usdc:d!=null?n(d):i("usdc"),tokens:g.map(n)}}experimental_nfts(e){return o(this,null,function*(){return yield c(this,l).experimental_getNfts(A(T({},e),{chain:this.chain,address:this.address}))})}experimental_transactions(){return o(this,null,function*(){let e=yield c(this,l).getTransactions(this.walletLocator);if("error"in e)throw new Error(`Failed to get transactions: ${JSON.stringify(e.message)}`);return e})}experimental_transaction(e){return o(this,null,function*(){let r=yield c(this,l).getTransaction(this.walletLocator,e);if("error"in r)throw new Error(`Failed to get transaction: ${JSON.stringify(r.error)}`);return r})}experimental_activity(){return o(this,null,function*(){let e=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in e)throw new Error(`Failed to get activity: ${JSON.stringify(e.message)}`);return e})}send(e,r,t,n){return o(this,null,function*(){let s=H(e),d=M(r,this.chain),g=T({recipient:s,amount:t},(n==null?void 0:n.experimental_signer)!=null?{signer:n.experimental_signer}:{}),i=yield c(this,l).send(this.walletLocator,d,g);if("message"in i)throw new $(`Failed to send token: ${JSON.stringify(i.message)}`);return n!=null&&n.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:i.id}:yield this.approveTransactionAndWait(i.id)})}approveTransaction(e){return o(this,null,function*(){return console.warn("approveTransaction is deprecated. Use approve instead. This method will be removed in the next major version."),yield this.approve(e)})}approve(e){return o(this,null,function*(){if(e.transactionId!=null)return yield this.approveTransactionAndWait(e.transactionId,e.options);if(e.signatureId!=null)return yield this.approveSignatureAndWait(e.signatureId,e.options);throw new Error("Either transactionId or signatureId must be provided")})}addDelegatedSigner(e){return o(this,null,function*(){var t;let r=yield c(this,l).registerSigner(this.walletLocator,{signer:e.signer,chain:this.chain==="solana"||this.chain==="stellar"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.message)}`);if("transaction"in r&&r.transaction!=null){let n=r.transaction.id;yield this.approveTransactionAndWait(n)}else if("chains"in r){let n=(t=r.chains)==null?void 0:t[this.chain];if((n==null?void 0:n.status)==="awaiting-approval"){yield this.approveSignatureAndWait(n.id);return}if((n==null?void 0:n.status)==="pending"){yield this.waitForSignature(n.id);return}}})}delegatedSigners(){return o(this,null,function*(){var r,t,n;let e=yield c(this,l).getWallet(this.walletLocator);if("error"in e)throw new P(JSON.stringify(e));if(e.type!=="smart"||e.chainType!=="evm"&&e.chainType!=="solana"&&e.chainType!=="stellar")throw new L(`Wallet type ${e.type} not supported`);return(n=(t=(r=e==null?void 0:e.config)==null?void 0:r.delegatedSigners)==null?void 0:t.map(s=>{let d=s.locator.indexOf(":");return{signer:`external-wallet:${d>=0?s.locator.slice(d+1):s.locator}`}}))!=null?n:[]})}get walletLocator(){return c(this,l).isServerSide?this.address:this.chain==="stellar"?"me:stellar:smart":this.chain==="solana"?"me:solana:smart":"me:evm:smart"}get isSolanaWallet(){return this.chain==="solana"}approveTransactionAndWait(e,r){return o(this,null,function*(){return yield this.approveTransactionInternal(e,r),yield this.sleep(1e3),yield this.waitForTransaction(e)})}approveSignatureAndWait(e,r){return o(this,null,function*(){return yield this.approveSignatureInternal(e,r),yield this.sleep(1e3),yield this.waitForSignature(e)})}approveSignatureInternal(e,r){return o(this,null,function*(){var i,a;if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let t=yield c(this,l).getSignature(this.walletLocator,e);if("error"in t)throw new x(JSON.stringify(t));if(this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let u=[r.experimental_approval];return yield this.executeApproveSignatureWithErrorHandling(e,u)}let n=(i=t.approvals)==null?void 0:i.pending;if(n==null)return t;let s=[...(a=r==null?void 0:r.additionalSigners)!=null?a:[],this.signer],g=(yield Promise.all(n.map(u=>{let h=s.find(m=>m.locator()===u.signer.locator);if(h==null)throw new E(`Signer ${u.signer} not found in pending approvals`);return h.signMessage(u.message)}))).map(u=>A(T({},u),{signer:this.signer.locator()}));return yield this.executeApproveSignatureWithErrorHandling(e,g)})}approveTransactionInternal(e,r){return o(this,null,function*(){var i,a,u,h,m;let t=yield c(this,l).getTransaction(this.walletLocator,e);if("error"in t)throw new W(JSON.stringify(t));if(yield(u=(a=(i=c(this,f))==null?void 0:i.experimental_callbacks)==null?void 0:a.onTransactionStart)==null?void 0:u.call(a),this.signer.type==="api-key")return t;if((r==null?void 0:r.experimental_approval)!=null){let w=[r.experimental_approval];return yield this.executeApproveTransactionWithErrorHandling(e,w)}let n=(h=t.approvals)==null?void 0:h.pending;if(n==null)return t;let s=[...(m=r==null?void 0:r.additionalSigners)!=null?m:[],this.signer],g=(yield Promise.all(n.map(w=>{let v=s.find(S=>S.locator()===w.signer.locator);if(v==null)throw new E(`Signer ${w.signer} not found in pending approvals`);let y=t.chainType==="solana"&&"transaction"in t.onChain?t.onChain.transaction:w.message;return v.signTransaction(y)}))).map(w=>A(T({},w),{signer:this.signer.locator()}));return yield this.executeApproveTransactionWithErrorHandling(e,g)})}executeApproveTransactionWithErrorHandling(e,r){return o(this,null,function*(){let t=yield c(this,l).approveTransaction(this.walletLocator,e,{approvals:r});if(t.error)throw new B(JSON.stringify(t));return t})}executeApproveSignatureWithErrorHandling(e,r){return o(this,null,function*(){let t=yield c(this,l).approveSignature(this.walletLocator,e,{approvals:r});if(t.error)throw new _(JSON.stringify(t));return t})}waitForSignature(e){return o(this,null,function*(){let r=null;do if(yield new Promise(t=>setTimeout(t,O)),r=yield c(this,l).getSignature(this.walletLocator,e),"error"in r)throw new x(JSON.stringify(r));while(r===null||r.status==="pending");if(r.status==="failed")throw new N("Signature signing failed");if(!r.outputSignature)throw new x("Signature not available");return{signature:r.outputSignature,signatureId:e}})}waitForTransaction(d){return o(this,arguments,function*(e,r=6e4,{backoffMultiplier:t=1.1,maxBackoffMs:n=2e3,initialBackoffMs:s=O}={}){var u;let g=Date.now(),i;do{if(Date.now()-g>r)throw new I("Transaction confirmation timeout");if(i=yield c(this,l).getTransaction(this.walletLocator,e),i.error)throw new W(JSON.stringify(i));yield this.sleep(s),s=Math.min(s*t,n)}while(i.status==="pending");if(i.status==="failed")throw new F(`Transaction sending failed: ${JSON.stringify(i.error)}`);if(i.status==="awaiting-approval")throw new R("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let a=i.onChain.txId;if(a==null)throw new k("Transaction hash not found on transaction response");return{hash:a,explorerLink:(u=i.onChain.explorerLink)!=null?u:"",transactionId:i.id}})}sleep(e){return o(this,null,function*(){return new Promise(r=>setTimeout(r,e))})}};f=new WeakMap,l=new WeakMap;function H(p){if(typeof p=="string")return p;if("email"in p)return`email:${p.email}`;if("x"in p)return`x:${p.x}`;if("twitter"in p)return`twitter:${p.twitter}`;if("phone"in p)return`phoneNumber:${p.phone}`;if("userId"in p)return`userId:${p.userId}`;throw new Error("Invalid recipient locator")}function M(p,e){return G(p)?`${e}:${p}`:`${e}:${p.toLowerCase()}`}export{J as a};
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-IKFHL3PH.js";import{k as p,o as u,r as y}from"./chunk-PSXRNSOE.js";import{a as f}from"./chunk-I5COKXOT.js";import{f as s}from"./chunk-BW7YYVZE.js";import{createPublicClient as S,encodeFunctionData as x,http as I}from"viem";import{isValidEvmAddress as E}from"@crossmint/common-sdk-base";var m=class w extends c{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:c.getOptions(t)},c.getApiClient(t))}static from(t){if(!E(t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return s(this,null,function*(){var i;let n=this.buildTransaction(t),e=yield this.createTransaction(n,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:e.id}:yield this.approveTransactionAndWait(e.id)})}signMessage(t){return s(this,null,function*(){var e;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new u(JSON.stringify(n));return(e=t.options)!=null&&e.experimental_prepareOnly?{signature:void 0,signatureId:n.id}:yield this.approveSignatureAndWait(n.id)})}signTypedData(t){return s(this,null,function*(){var T;let{domain:n,message:e,primaryType:i,types:r,chain:a}=t;if(!n||!e||!r||!a)throw new p("Invalid typed data");let{name:d,version:l,chainId:g,verifyingContract:h,salt:C}=n;if(!d||!l||!g||!h)throw new p("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:d,version:l,chainId:Number(g),verifyingContract:h,salt:C},message:e,primaryType:i,types:r},signer:this.signer.locator(),chain:a}});if("error"in o)throw new u(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var n;return S({transport:(n=t==null?void 0:t.transport)!=null?n:I(),chain:f(this.chain)})}createTransaction(t,n){return s(this,null,function*(){var r;let e=(r=n==null?void 0:n.experimental_signer)!=null?r:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:e,chain:this.chain,calls:[t]}});if("error"in i)throw new y(JSON.stringify(i));return i})}buildTransaction(t){var n,e,i,r,a;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(e=(n=t.value)==null?void 0:n.toString())!=null?e:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(a=(r=t.value)==null?void 0:r.toString())!=null?a:"0",data:x({abi:t.abi,functionName:t.functionName,args:t.args})}}};export{m as a};
@@ -1 +0,0 @@
1
- import{a as t}from"./chunk-IKFHL3PH.js";import{a as l}from"./chunk-6PVKL5RC.js";import{r as p}from"./chunk-PSXRNSOE.js";import{f as s}from"./chunk-BW7YYVZE.js";import m from"bs58";import{isValidSolanaAddress as T}from"@crossmint/common-sdk-base";var d=class u extends t{constructor(n){super({chain:n.chain,address:n.address,owner:n.owner,signer:n.signer,options:t.getOptions(n)},t.getApiClient(n))}static from(n){if(!T(n.address))throw new Error("Wallet is not a Solana wallet");return new u(n)}sendTransaction(n){return s(this,null,function*(){var e,r;let a=yield this.createTransaction(n);if((e=n.options)!=null&&e.experimental_prepareOnly)return{hash:void 0,explorerLink:void 0,transactionId:a.id};let i={additionalSigners:(r=n.additionalSigners)==null?void 0:r.map(o=>new l({type:"external-wallet",address:o.publicKey.toString(),locator:`external-wallet:${o.publicKey.toString()}`,onSignTransaction:c=>(c.sign([o]),Promise.resolve(c))}))};return yield this.approveTransactionAndWait(a.id,i)})}createTransaction(S){return s(this,arguments,function*({transaction:n,options:a}){var r;let i=(r=a==null?void 0:a.experimental_signer)!=null?r:this.signer.locator(),e=yield this.apiClient.createTransaction(this.walletLocator,{params:{transaction:m.encode(n.serialize()),signer:i}});if("error"in e)throw new p(JSON.stringify(e));return e})}};export{d as a};
@@ -1 +0,0 @@
1
- import{a as m}from"./chunk-JUSY5XEE.js";import{a as d}from"./chunk-M4ELAV7U.js";import{a as l,b as u,f as a}from"./chunk-BW7YYVZE.js";import{validateAPIKey as f}from"@crossmint/common-sdk-base";var p=class{constructor(e){this.config=e;this._needsAuth=!0;this._authPromise=null;this._initializationPromise=null;this.initialize(),this.type=this.config.type}locator(){return this.config.locator}address(){return this.config.address}initialize(){return a(this,null,function*(){if(this.config.clientTEEConnection==null){let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});this.config.clientTEEConnection=yield i.initialize()}})}getTEEConnection(){return a(this,null,function*(){if(this.config.clientTEEConnection==null){if(this._initializationPromise)return yield this._initializationPromise,this.config.clientTEEConnection;this._initializationPromise=this.initializeTEEConnection();try{yield this._initializationPromise}finally{this._initializationPromise=null}}return this.config.clientTEEConnection})}initializeTEEConnection(){return a(this,null,function*(){console.warn("TEE connection is not initialized, initializing now...");let e=f(this.config.crossmint.apiKey);if(!e.isValid)throw new Error("Invalid API key");let i=new m({environment:e.environment});if(this.config.clientTEEConnection=yield i.initialize(),this.config.clientTEEConnection==null)throw new Error("Failed to initialize TEE connection");console.log("TEE connection initialized successfully")})}handleAuthRequired(){return a(this,null,function*(){var s,c;let e=yield this.getTEEConnection();if(this.config.onAuthRequired==null)throw new Error(`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`);let i=yield e.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(c=(s=this.config.crossmint.experimental_customAuth)==null?void 0:s.jwt)!=null?c:"",apiKey:this.config.crossmint.apiKey}},options:u(l({},g),{maxRetries:5})});if((i==null?void 0:i.status)!=="success")throw new Error(i==null?void 0:i.error);if(i.signerStatus==="ready"){this._needsAuth=!1;return}else this._needsAuth=!0;let{promise:n,resolve:o,reject:r}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:o,reject:r},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>a(this,null,function*(){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),t=>this.verifyOtp(t),()=>{var t;return(t=this._authPromise)==null?void 0:t.reject(new d)})),r(new d)}))}catch(t){r(t)}try{yield n}catch(t){throw t}})}getJwtOrThrow(){var i;let e=(i=this.config.crossmint.experimental_customAuth)==null?void 0:i.jwt;if(e==null)throw new Error("JWT is required");return e}createAuthPromise(){let e,i;return{promise:new Promise((o,r)=>{e=o,i=r}),resolve:e,reject:i}}sendMessageWithOtp(){return a(this,null,function*(){var o,r,s;let e=yield this.getTEEConnection(),i=this.getAuthId(),n=yield e.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(r=(o=this.config.crossmint.experimental_customAuth)==null?void 0:o.jwt)!=null?r:"",apiKey:this.config.crossmint.apiKey},data:{authId:i}},options:u(l({},g),{maxRetries:3})});if((n==null?void 0:n.status)==="success"&&n.signerStatus==="ready"){this._needsAuth=!1;return}(n==null?void 0:n.status)==="error"&&(console.error("[sendMessageWithOtp] Failed to send OTP:",n),(s=this._authPromise)==null||s.reject(new Error(n.error||"Failed to initiate OTP process.")))})}getAuthId(){return this.config.type==="email"?`email:${this.config.email}`:`phone:${this.config.phone}`}verifyOtp(e){return a(this,null,function*(){var n,o,r,s,c;let i=yield this.getTEEConnection();try{let t=yield i.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(o=(n=this.config.crossmint.experimental_customAuth)==null?void 0:n.jwt)!=null?o:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:e}}},options:u(l({},g),{maxRetries:3})});if((t==null?void 0:t.status)==="success"){this._needsAuth=!1,this.config.onAuthRequired!=null&&(yield this.config.onAuthRequired(this._needsAuth,()=>this.sendMessageWithOtp(),h=>this.verifyOtp(h),()=>{var h;return(h=this._authPromise)==null?void 0:h.reject(new d)})),(r=this._authPromise)==null||r.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",t),this._needsAuth=!0;let E=(t==null?void 0:t.status)==="error"?t.error:"Failed to validate encrypted OTP";(s=this._authPromise)==null||s.reject(new Error(E))}catch(t){throw console.error("[verifyOtp] Error sending OTP validation request:",t),this._needsAuth=!0,(c=this._authPromise)==null||c.reject(t),t}})}},g={timeoutMs:1e4,intervalMs:5e3};export{p as a,g as b};
@@ -1 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH2PM5EB4cjs = require('./chunk-H2PM5EB4.cjs');var _chunkO4FVTK7Xcjs = require('./chunk-O4FVTK7X.cjs');var _chunkCU6FZ36Vcjs = require('./chunk-CU6FZ36V.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _viem = require('viem');var _commonsdkbase = require('@crossmint/common-sdk-base');var m=class w extends _chunkH2PM5EB4cjs.a{constructor(t){super({chain:t.chain,address:t.address,owner:t.owner,signer:t.signer,options:_chunkH2PM5EB4cjs.a.getOptions(t)},_chunkH2PM5EB4cjs.a.getApiClient(t))}static from(t){if(!_commonsdkbase.isValidEvmAddress.call(void 0, t.address))throw new Error("Wallet is not an EVM wallet");return new w(t)}sendTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;let n=this.buildTransaction(t),e=yield this.createTransaction(n,t.options);return(i=t.options)!=null&&i.experimental_prepareOnly?{hash:void 0,explorerLink:void 0,transactionId:e.id}:yield this.approveTransactionAndWait(e.id)})}signMessage(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e;let n=yield this.apiClient.createSignature(this.walletLocator,{type:"message",params:{message:t.message,signer:this.signer.locator(),chain:this.chain}});if("error"in n)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(n));return(e=t.options)!=null&&e.experimental_prepareOnly?{signature:void 0,signatureId:n.id}:yield this.approveSignatureAndWait(n.id)})}signTypedData(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var T;let{domain:n,message:e,primaryType:i,types:r,chain:a}=t;if(!n||!e||!r||!a)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data");let{name:d,version:l,chainId:g,verifyingContract:h,salt:C}=n;if(!d||!l||!g||!h)throw new (0, _chunkO4FVTK7Xcjs.k)("Invalid typed data domain");let o=yield this.apiClient.createSignature(this.walletLocator,{type:"typed-data",params:{typedData:{domain:{name:d,version:l,chainId:Number(g),verifyingContract:h,salt:C},message:e,primaryType:i,types:r},signer:this.signer.locator(),chain:a}});if("error"in o)throw new (0, _chunkO4FVTK7Xcjs.o)(JSON.stringify(o));return(T=t.options)!=null&&T.experimental_prepareOnly?{signature:void 0,signatureId:o.id}:yield this.approveSignatureAndWait(o.id)})}getViemClient(t){var n;return _viem.createPublicClient.call(void 0, {transport:(n=t==null?void 0:t.transport)!=null?n:_viem.http.call(void 0, ),chain:_chunkCU6FZ36Vcjs.a.call(void 0, this.chain)})}createTransaction(t,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var r;let e=(r=n==null?void 0:n.experimental_signer)!=null?r:this.signer.locator(),i=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:e,chain:this.chain,calls:[t]}});if("error"in i)throw new (0, _chunkO4FVTK7Xcjs.r)(JSON.stringify(i));return i})}buildTransaction(t){var n,e,i,r,a;if("transaction"in t)return{transaction:t.transaction};if(t.abi==null)return{to:t.to,value:(e=(n=t.value)==null?void 0:n.toString())!=null?e:"0",data:(i=t.data)!=null?i:"0x"};if(!t.functionName)throw new Error("Function name is required");return{to:t.to,value:(a=(r=t.value)==null?void 0:r.toString())!=null?a:"0",data:_viem.encodeFunctionData.call(void 0, {abi:t.abi,functionName:t.functionName,args:t.args})}}};exports.a = m;