@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.
- package/dist/api/client.cjs +1 -1
- package/dist/api/client.js +1 -1
- package/dist/api/index.cjs +1 -1
- package/dist/api/index.js +1 -1
- package/dist/{chunk-OMHEIZBY.cjs → chunk-24QTQKVA.cjs} +1 -1
- package/dist/{chunk-BUR4AQE5.cjs → chunk-274PI33O.cjs} +1 -1
- package/dist/{chunk-R6E6KN4C.cjs → chunk-4EIG4JRP.cjs} +1 -1
- package/dist/chunk-4EWCN2LV.js +1 -0
- package/dist/{chunk-YRAYLQSM.cjs → chunk-4NDX2H2R.cjs} +1 -1
- package/dist/chunk-5F3GW6TH.js +1 -0
- package/dist/{chunk-FUFMJVFW.cjs → chunk-5LZS53J3.cjs} +1 -1
- package/dist/chunk-BZT44O4Z.cjs +1 -0
- package/dist/{chunk-EQAR6LTS.js → chunk-C4PMI4MS.js} +1 -1
- package/dist/{chunk-LYNZIVUP.js → chunk-C63LHP55.js} +1 -1
- package/dist/{chunk-ZOC4AK4K.js → chunk-CEEKYLQE.js} +1 -1
- package/dist/{chunk-YA3QR74S.cjs → chunk-FXPZDDLO.cjs} +2 -2
- package/dist/chunk-GHEMGGUS.js +1 -0
- package/dist/chunk-H4PQE2PQ.cjs +1 -0
- package/dist/{chunk-4WFPKXKO.js → chunk-IP2I5HPS.js} +1 -1
- package/dist/{chunk-E3K3BL52.js → chunk-ISP75PVL.js} +1 -1
- package/dist/chunk-LU5GO2D3.js +1 -0
- package/dist/{chunk-U3NXCHNK.cjs → chunk-N757VJHV.cjs} +1 -1
- package/dist/chunk-NS6YGXH2.cjs +1 -0
- package/dist/{chunk-XIKTZJF7.cjs → chunk-RBUZYVIB.cjs} +1 -1
- package/dist/chunk-RQG43QNF.js +1 -0
- package/dist/chunk-S6OCTE4E.js +1 -0
- package/dist/{chunk-OURAC3YW.js → chunk-XV5GD5AT.js} +1 -1
- package/dist/chunk-YNU5YCIZ.cjs +1 -0
- package/dist/{chunk-TE22LFWE.cjs → chunk-Z5LC25XK.cjs} +1 -1
- package/dist/{chunk-2EEUFDPI.js → chunk-ZOHTLGQD.js} +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.js +1 -1
- package/dist/sdk.cjs +1 -1
- package/dist/sdk.js +1 -1
- package/dist/signers/index.cjs +1 -1
- package/dist/signers/index.js +1 -1
- package/dist/signers/non-custodial/index.cjs +1 -1
- package/dist/signers/non-custodial/index.js +1 -1
- package/dist/signers/non-custodial/ncs-evm-signer.cjs +1 -1
- package/dist/signers/non-custodial/ncs-evm-signer.js +1 -1
- package/dist/signers/non-custodial/ncs-signer.cjs +1 -1
- package/dist/signers/non-custodial/ncs-signer.d.cts +1 -0
- package/dist/signers/non-custodial/ncs-signer.d.ts +1 -0
- package/dist/signers/non-custodial/ncs-signer.js +1 -1
- package/dist/signers/non-custodial/ncs-solana-signer.cjs +1 -1
- package/dist/signers/non-custodial/ncs-solana-signer.js +1 -1
- package/dist/signers/non-custodial/ncs-stellar-signer.cjs +1 -1
- package/dist/signers/non-custodial/ncs-stellar-signer.js +1 -1
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/wallets/evm.cjs +1 -1
- package/dist/wallets/evm.js +1 -1
- package/dist/wallets/solana.cjs +1 -1
- package/dist/wallets/solana.js +1 -1
- package/dist/wallets/stellar.cjs +1 -1
- package/dist/wallets/stellar.js +1 -1
- package/dist/wallets/types.d.cts +18 -7
- package/dist/wallets/types.d.ts +18 -7
- package/dist/wallets/wallet-factory.cjs +1 -1
- package/dist/wallets/wallet-factory.js +1 -1
- package/dist/wallets/wallet.cjs +1 -1
- package/dist/wallets/wallet.d.cts +3 -2
- package/dist/wallets/wallet.d.ts +3 -2
- package/dist/wallets/wallet.js +1 -1
- package/package.json +5 -2
- package/dist/chunk-2R3FJX2P.cjs +0 -1
- package/dist/chunk-B5E2BQO3.js +0 -1
- package/dist/chunk-BDR5POSN.cjs +0 -1
- package/dist/chunk-H2PM5EB4.cjs +0 -1
- package/dist/chunk-HARQAZMG.js +0 -1
- package/dist/chunk-IKFHL3PH.js +0 -1
- package/dist/chunk-JQNTWDDL.js +0 -1
- package/dist/chunk-KVDKGRNR.js +0 -1
- package/dist/chunk-NC5TWZVI.js +0 -1
- package/dist/chunk-RO7Z7GEL.cjs +0 -1
package/dist/api/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/api/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-ISP75PVL.js";import"../chunk-5F3GW6TH.js";import"../chunk-PSXRNSOE.js";import"../chunk-BW7YYVZE.js";export{a as ApiClient};
|
package/dist/api/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-6HXIZLEQ.cjs');var
|
|
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-
|
|
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
|
|
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.
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
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-
|
|
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
|
|
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,
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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};
|
package/dist/signers/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/signers/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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
|
|
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-
|
|
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};
|
package/dist/utils/constants.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/utils/constants.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a,b,c,d}from"../chunk-
|
|
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};
|
package/dist/wallets/evm.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/wallets/evm.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
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};
|
package/dist/wallets/solana.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/wallets/solana.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
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};
|
package/dist/wallets/stellar.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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;
|
package/dist/wallets/stellar.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
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};
|
package/dist/wallets/types.d.cts
CHANGED
|
@@ -89,18 +89,29 @@ type WalletArgsFor<C extends Chain> = {
|
|
|
89
89
|
options?: WalletOptions;
|
|
90
90
|
delegatedSigners?: Array<DelegatedSigner>;
|
|
91
91
|
};
|
|
92
|
-
type
|
|
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;
|
package/dist/wallets/types.d.ts
CHANGED
|
@@ -89,18 +89,29 @@ type WalletArgsFor<C extends Chain> = {
|
|
|
89
89
|
options?: WalletOptions;
|
|
90
90
|
delegatedSigners?: Array<DelegatedSigner>;
|
|
91
91
|
};
|
|
92
|
-
type
|
|
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
|
|
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-
|
|
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};
|
package/dist/wallets/wallet.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
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
|
|
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;
|
package/dist/wallets/wallet.d.ts
CHANGED
|
@@ -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
|
|
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;
|
package/dist/wallets/wallet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
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.
|
|
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.
|
|
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",
|
package/dist/chunk-2R3FJX2P.cjs
DELETED
|
@@ -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;
|
package/dist/chunk-B5E2BQO3.js
DELETED
|
@@ -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};
|
package/dist/chunk-BDR5POSN.cjs
DELETED
|
@@ -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;
|
package/dist/chunk-H2PM5EB4.cjs
DELETED
|
@@ -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;
|
package/dist/chunk-HARQAZMG.js
DELETED
|
@@ -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};
|
package/dist/chunk-IKFHL3PH.js
DELETED
|
@@ -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};
|
package/dist/chunk-JQNTWDDL.js
DELETED
|
@@ -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};
|
package/dist/chunk-KVDKGRNR.js
DELETED
|
@@ -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};
|
package/dist/chunk-NC5TWZVI.js
DELETED
|
@@ -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};
|
package/dist/chunk-RO7Z7GEL.cjs
DELETED
|
@@ -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;
|