@crossmint/wallets-sdk 0.2.2 → 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/README.md +166 -0
  2. package/dist/api/client.cjs +1 -1
  3. package/dist/api/client.js +1 -1
  4. package/dist/api/index.cjs +1 -1
  5. package/dist/api/index.js +1 -1
  6. package/dist/{chunk-RC45AIGU.js → chunk-23NF4DFP.js} +1 -1
  7. package/dist/{chunk-BWJHF7KD.cjs → chunk-4BA3K7WE.cjs} +1 -1
  8. package/dist/{chunk-4UE7R26L.cjs → chunk-5532WGFE.cjs} +1 -1
  9. package/dist/{chunk-LJLBP2UE.cjs → chunk-5PPQPLGK.cjs} +1 -1
  10. package/dist/chunk-77XNFPUL.cjs +1 -0
  11. package/dist/{chunk-SOBRNR2K.js → chunk-A5JRGUAF.js} +1 -1
  12. package/dist/{chunk-VD5TKRQ7.js → chunk-AG4Y7DL6.js} +1 -1
  13. package/dist/{chunk-2JQY7G4L.cjs → chunk-BO6NALPU.cjs} +1 -1
  14. package/dist/{chunk-JGOFZWIU.js → chunk-EHW5HYW4.js} +1 -1
  15. package/dist/{chunk-3LLFAHJH.js → chunk-O7CIQQ33.js} +1 -1
  16. package/dist/{chunk-AXW2RZ4C.cjs → chunk-QM7XEW7M.cjs} +1 -1
  17. package/dist/{chunk-XRAPZZQM.cjs → chunk-X4YZ637B.cjs} +1 -1
  18. package/dist/{chunk-3ZNYRG5N.js → chunk-XUFL23F4.js} +1 -1
  19. package/dist/chunk-ZV4NPDI5.js +1 -0
  20. package/dist/evm/index.cjs +1 -1
  21. package/dist/evm/index.d.cts +1 -1
  22. package/dist/evm/index.d.ts +1 -1
  23. package/dist/evm/index.js +1 -1
  24. package/dist/evm/utils.d.cts +1 -1
  25. package/dist/evm/utils.d.ts +1 -1
  26. package/dist/evm/wallet.cjs +1 -1
  27. package/dist/evm/wallet.d.cts +1 -1
  28. package/dist/evm/wallet.d.ts +1 -1
  29. package/dist/evm/wallet.js +1 -1
  30. package/dist/index.cjs +1 -1
  31. package/dist/index.d.cts +2 -2
  32. package/dist/index.d.ts +2 -2
  33. package/dist/index.js +1 -1
  34. package/dist/sdk.cjs +1 -1
  35. package/dist/sdk.d.cts +24 -4
  36. package/dist/sdk.d.ts +24 -4
  37. package/dist/sdk.js +1 -1
  38. package/dist/services/types.d.cts +2 -7
  39. package/dist/services/types.d.ts +2 -7
  40. package/dist/services/wallet-factory.cjs +1 -1
  41. package/dist/services/wallet-factory.d.cts +1 -1
  42. package/dist/services/wallet-factory.d.ts +1 -1
  43. package/dist/services/wallet-factory.js +1 -1
  44. package/dist/solana/index.cjs +1 -1
  45. package/dist/solana/index.d.cts +1 -1
  46. package/dist/solana/index.d.ts +1 -1
  47. package/dist/solana/index.js +1 -1
  48. package/dist/solana/services/delegated-signers-service.d.cts +1 -1
  49. package/dist/solana/services/delegated-signers-service.d.ts +1 -1
  50. package/dist/solana/services/transactions-service.cjs +1 -1
  51. package/dist/solana/services/transactions-service.d.cts +1 -1
  52. package/dist/solana/services/transactions-service.d.ts +1 -1
  53. package/dist/solana/services/transactions-service.js +1 -1
  54. package/dist/solana/wallet.cjs +1 -1
  55. package/dist/solana/wallet.d.cts +1 -1
  56. package/dist/solana/wallet.d.ts +1 -1
  57. package/dist/solana/wallet.js +1 -1
  58. package/dist/utils/constants.cjs +1 -1
  59. package/dist/utils/constants.js +1 -1
  60. package/dist/utils/options.d.cts +1 -1
  61. package/dist/utils/options.d.ts +1 -1
  62. package/dist/{wallet-CUldpH17.d.ts → wallet-CK_CCQti.d.ts} +82 -4
  63. package/dist/{wallet-Mvk7QHyT.d.cts → wallet-Cn1njoZn.d.cts} +82 -4
  64. package/package.json +7 -3
  65. package/dist/chunk-BH2AOWQH.js +0 -1
  66. package/dist/chunk-H44YSVZH.cjs +0 -1
package/README.md CHANGED
@@ -1 +1,167 @@
1
1
  # @crossmint/wallets-sdk
2
+
3
+ A Typescript SDK to interact with Crossmint Wallets. This SDK enables developers to create and manage smart contract wallets that support both traditional keypair-based signing and passkey authentication across Solana and EVM chains.
4
+
5
+ - **Multi-chain**: supports Solana and EVM chains
6
+ - **Multiple signer types**: passkeys, ECDSA keypairs, delegated signers
7
+ - **Smart** and **MPC** wallets
8
+ - **User** (client-side) wallets and **agent** (server-side) wallets
9
+ - **Familiar API**: follows `viem` and `web3.js` conventions
10
+
11
+ ## Installation
12
+
13
+ ```sh
14
+ npm install @crossmint/wallets-sdk
15
+ # or
16
+ pnpm add @crossmint/wallets-sdk
17
+ ```
18
+
19
+ ## Quick Start
20
+
21
+ ```ts
22
+ import { CrossmintWallets, createCrossmint } from "@crossmint/wallets-sdk";
23
+
24
+ const crossmint = createCrossmint({
25
+ apiKey: "<YOUR_API_KEY>",
26
+ jwt: "<USER_TOKEN>", // Not needed for server wallets
27
+ });
28
+ const crossmintWallets = CrossmintWallets.from(crossmint);
29
+ const wallet = await crossmintWallets.getOrCreateWallet("evm-smart-wallet", {
30
+ chain: "base-sepolia",
31
+ adminSigner: {
32
+ type: "evm-passkey",
33
+ },
34
+ });
35
+
36
+ const address = wallet.address;
37
+ ```
38
+
39
+ ## Solana Examples
40
+
41
+ ### Wallet Creation
42
+
43
+ #### Smart Wallets
44
+
45
+ ```ts
46
+ import { Keypair } from "@solana/web3.js";
47
+
48
+ const keypair = Keypair.generate();
49
+ const wallet = await crossmintWallets.getOrCreateWallet("solana-smart-wallet", {
50
+ adminSigner: {
51
+ type: "solana-keypair",
52
+ signer: keypair,
53
+ address: keypair.publicKey.toBase58(),
54
+ },
55
+ });
56
+ ```
57
+
58
+ #### MPC Wallets
59
+
60
+ ```ts
61
+ const wallet = await crossmintWallets.getOrCreateWallet("solana-mpc-wallet", {
62
+ linkedUser: "<USER_UD>",
63
+ });
64
+ ```
65
+
66
+ ### Sending Transactions
67
+
68
+ ```ts
69
+ import {
70
+ PublicKey,
71
+ TransactionInstruction,
72
+ TransactionMessage,
73
+ VersionedTransaction,
74
+ } from "@solana/web3.js";
75
+
76
+ const memoInstruction = new TransactionInstruction({
77
+ keys: [
78
+ {
79
+ pubkey: new PublicKey(walletAddress),
80
+ isSigner: true,
81
+ isWritable: true,
82
+ },
83
+ ],
84
+ data: Buffer.from("Hello from Crossmint SDK", "utf-8"),
85
+ programId: new PublicKey("MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr"),
86
+ });
87
+
88
+ const newMessage = new TransactionMessage({
89
+ payerKey: new PublicKey(walletAddress),
90
+ recentBlockhash: (await connection.getLatestBlockhash()).blockhash,
91
+ instructions: [memoInstruction],
92
+ });
93
+
94
+ const transaction = new VersionedTransaction(newMessage.compileToV0Message());
95
+
96
+ const txHash = await wallet.sendTransaction({
97
+ transaction,
98
+ });
99
+ ```
100
+
101
+ ### Delegated Signers
102
+
103
+ ```ts
104
+ const newSigner = Keypair.generate();
105
+ await wallet.addDelegatedSigner(keypair.publicKey.toBase58());
106
+ const txHash = await wallet.sendTransaction({
107
+ transaction,
108
+ delegatedSigner: {
109
+ type: "solana-keypair",
110
+ address: keypair.publicKey.toBase58(),
111
+ signer: newSigner,
112
+ },
113
+ });
114
+ ```
115
+
116
+ ## EVM Examples
117
+
118
+ ### Wallet Creation
119
+
120
+ #### Passkey Smart Wallets
121
+
122
+ ```ts
123
+ const wallet = await crossmintWallets.getOrCreateWallet("evm-smart-wallet", {
124
+ chain: "base-sepolia",
125
+ adminSigner: {
126
+ type: "evm-passkey",
127
+ name: "My Wallet",
128
+ },
129
+ });
130
+ ```
131
+
132
+ #### Keypair Smart Wallets
133
+
134
+ ```ts
135
+ import { generatePrivateKey, privateKeyToAccount } from "viem/accounts";
136
+
137
+ const account = privateKeyToAccount(generatePrivateKey());
138
+ const wallet = await crossmintWallets.getOrCreateWallet("evm-smart-wallet", {
139
+ chain: "base-sepolia",
140
+ adminSigner: {
141
+ type: "evm-keypair",
142
+ address: account.address,
143
+ signer: {
144
+ type: "viem_v2",
145
+ account,
146
+ },
147
+ },
148
+ });
149
+ ```
150
+
151
+ ### Sending Transactions
152
+
153
+ ```ts
154
+ const transaction = await wallet.sendTransaction({
155
+ to: "0x0000000000000000000000000000000000000042",
156
+ data: "0xdeadbeef",
157
+ value: BigInt(0),
158
+ });
159
+ ```
160
+
161
+ ### Signing Messages
162
+
163
+ ```ts
164
+ const signature = await wallet.signMessage({
165
+ message: "Hello from Crossmint SDK",
166
+ });
167
+ ```
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk2JQY7G4Lcjs = require('../chunk-2JQY7G4L.cjs');require('../chunk-H44YSVZH.cjs');require('../chunk-CK4JCQY6.cjs');exports.ApiClient = _chunk2JQY7G4Lcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBO6NALPUcjs = require('../chunk-BO6NALPU.cjs');require('../chunk-77XNFPUL.cjs');require('../chunk-CK4JCQY6.cjs');exports.ApiClient = _chunkBO6NALPUcjs.a;
@@ -1 +1 @@
1
- import{a}from"../chunk-JGOFZWIU.js";import"../chunk-BH2AOWQH.js";import"../chunk-22GIA4MK.js";export{a as ApiClient};
1
+ import{a}from"../chunk-EHW5HYW4.js";import"../chunk-ZV4NPDI5.js";import"../chunk-22GIA4MK.js";export{a as ApiClient};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-RUIBT3JV.cjs');var _chunk2JQY7G4Lcjs = require('../chunk-2JQY7G4L.cjs');require('../chunk-H44YSVZH.cjs');require('../chunk-CK4JCQY6.cjs');exports.ApiClient = _chunk2JQY7G4Lcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-RUIBT3JV.cjs');var _chunkBO6NALPUcjs = require('../chunk-BO6NALPU.cjs');require('../chunk-77XNFPUL.cjs');require('../chunk-CK4JCQY6.cjs');exports.ApiClient = _chunkBO6NALPUcjs.a;
package/dist/api/index.js CHANGED
@@ -1 +1 @@
1
- import"../chunk-A7F5DWC7.js";import{a}from"../chunk-JGOFZWIU.js";import"../chunk-BH2AOWQH.js";import"../chunk-22GIA4MK.js";export{a as ApiClient};
1
+ import"../chunk-A7F5DWC7.js";import{a}from"../chunk-EHW5HYW4.js";import"../chunk-ZV4NPDI5.js";import"../chunk-22GIA4MK.js";export{a as ApiClient};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-VD5TKRQ7.js";import{a as r}from"./chunk-JGOFZWIU.js";import{createCrossmint as y}from"@crossmint/common-sdk-base";var a=class s{constructor(t,e=new r(t),l=new o(e)){this.walletFactory=l}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};export{y as a,a as b};
1
+ import{a as o}from"./chunk-AG4Y7DL6.js";import{a as r}from"./chunk-EHW5HYW4.js";import{createCrossmint as y}from"@crossmint/common-sdk-base";var a=class s{constructor(t,e=new r(t),l=new o(e)){this.walletFactory=l}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};export{y as a,a as b};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkE2EM43SPcjs = require('./chunk-E2EM43SP.cjs');var _chunkLJLBP2UEcjs = require('./chunk-LJLBP2UE.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunk5ZR4MHELcjs = require('./chunk-5ZR4MHEL.cjs');var _chunk4UE7R26Lcjs = require('./chunk-4UE7R26L.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _web3js = require('@solana/web3.js');var C=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,n,a,i;try{let r=yield this.getOrCreateWalletInternal(l,s,t),p=this.createWalletInstance(l,r,s,t);return yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationComplete)==null?void 0:n.call(e,p),p}catch(r){throw yield(i=(a=t==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationFail)==null?void 0:i.call(a,r),r}})}getWallet(l,s,t,e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let n=this.apiClient.isServerSide?l:`me:${s}`,a=yield this.apiClient.getWallet(n);return this.createWalletInstance(s,a,t,e)})}getOrCreateWalletInternal(l,s,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,n;if(l==="evm-smart-wallet"){let{adminSigner:a,linkedUser:i}=s,r=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(r&&!r.error)return r;yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationStart)==null?void 0:n.call(e);let p=a.type==="evm-keypair"?a:yield _chunk5ZR4MHELcjs.b.call(void 0, a.name,a.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:p},linkedUser:i})}else if(l==="solana-smart-wallet"){let{adminSigner:a,linkedUser:i}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:a!=null?(()=>{let r=_chunk6XOH62PVcjs.d.call(void 0, a);return r.type==="solana-keypair"?{type:r.type,address:r.address}:{type:r.type}})():void 0},linkedUser:i})}else if(l==="solana-mpc-wallet"){let{linkedUser:a}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:a})}else throw new Error("Not implemented")})}createWalletInstance(l,s,t,e){switch(this.assertCorrectWalletType(s,l),l){case"evm-smart-wallet":case"evm-mpc-wallet":let n=t;return this.createEvmWalletInstance(l,s,n,e);case"solana-smart-wallet":case"solana-mpc-wallet":let i=t;return this.createSolanaWalletInstance(l,s,i,e);default:throw new Error(`Unhandled wallet type: ${l}`)}}createEvmWalletInstance(l,s,t,e){var n;switch(l){case"evm-smart-wallet":{let{chain:a,adminSigner:i}=t,r=s;return new (0, _chunk4UE7R26Lcjs.a)(a,this.apiClient,r.address,_chunk5ZR4MHELcjs.a.call(void 0, i,r),(n=e==null?void 0:e.experimental_callbacks)!=null?n:{})}case"evm-mpc-wallet":throw new Error("Not implemented")}}createSolanaWalletInstance(l,s,t,e){var a,i;let n=s;switch(l){case"solana-smart-wallet":{let{adminSigner:r}=t;return new (0, _chunkLJLBP2UEcjs.a)(this.apiClient,new (0, _web3js.PublicKey)(n.address),r!=null?r:{type:"solana-fireblocks-custodial"},_chunkE2EM43SPcjs.a.call(void 0, this.apiClient.environment),(a=e==null?void 0:e.experimental_callbacks)!=null?a:{})}case"solana-mpc-wallet":return new (0, _chunkLJLBP2UEcjs.b)(this.apiClient,new (0, _web3js.PublicKey)(n.address),_chunkE2EM43SPcjs.a.call(void 0, this.apiClient.environment),(i=e==null?void 0:e.experimental_callbacks)!=null?i:{})}}assertCorrectWalletType(l,s){if(l.type!==s)throw new Error("Invalid wallet type")}};exports.a = C;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkE2EM43SPcjs = require('./chunk-E2EM43SP.cjs');var _chunk5PPQPLGKcjs = require('./chunk-5PPQPLGK.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunk5ZR4MHELcjs = require('./chunk-5ZR4MHEL.cjs');var _chunk5532WGFEcjs = require('./chunk-5532WGFE.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _web3js = require('@solana/web3.js');var C=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,n,a,i;try{let r=yield this.getOrCreateWalletInternal(l,s,t),p=this.createWalletInstance(l,r,s,t);return yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationComplete)==null?void 0:n.call(e,p),p}catch(r){throw yield(i=(a=t==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationFail)==null?void 0:i.call(a,r),r}})}getWallet(l,s,t,e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let n=this.apiClient.isServerSide?l:`me:${s}`,a=yield this.apiClient.getWallet(n);return this.createWalletInstance(s,a,t,e)})}getOrCreateWalletInternal(l,s,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,n;if(l==="evm-smart-wallet"){let{adminSigner:a,linkedUser:i}=s,r=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(r&&!r.error)return r;yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationStart)==null?void 0:n.call(e);let p=a.type==="evm-keypair"?a:yield _chunk5ZR4MHELcjs.b.call(void 0, a.name,a.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:p},linkedUser:i})}else if(l==="solana-smart-wallet"){let{adminSigner:a,linkedUser:i}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:a!=null?(()=>{let r=_chunk6XOH62PVcjs.d.call(void 0, a);return r.type==="solana-keypair"?{type:r.type,address:r.address}:{type:r.type}})():void 0},linkedUser:i})}else if(l==="solana-mpc-wallet"){let{linkedUser:a}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:a})}else throw new Error("Not implemented")})}createWalletInstance(l,s,t,e){switch(this.assertCorrectWalletType(s,l),l){case"evm-smart-wallet":let n=t;return this.createEvmWalletInstance(l,s,n,e);case"solana-smart-wallet":case"solana-mpc-wallet":let i=t;return this.createSolanaWalletInstance(l,s,i,e);default:throw new Error(`Unhandled wallet type: ${l}`)}}createEvmWalletInstance(l,s,t,e){var n;switch(l){case"evm-smart-wallet":{let{chain:a,adminSigner:i}=t,r=s;return new (0, _chunk5532WGFEcjs.a)(a,this.apiClient,r.address,_chunk5ZR4MHELcjs.a.call(void 0, i,r),(n=e==null?void 0:e.experimental_callbacks)!=null?n:{})}}}createSolanaWalletInstance(l,s,t,e){var a,i;let n=s;switch(l){case"solana-smart-wallet":{let{adminSigner:r}=t;return new (0, _chunk5PPQPLGKcjs.a)(this.apiClient,new (0, _web3js.PublicKey)(n.address),r!=null?r:{type:"solana-fireblocks-custodial"},_chunkE2EM43SPcjs.a.call(void 0, this.apiClient.environment),(a=e==null?void 0:e.experimental_callbacks)!=null?a:{})}case"solana-mpc-wallet":return new (0, _chunk5PPQPLGKcjs.b)(this.apiClient,new (0, _web3js.PublicKey)(n.address),_chunkE2EM43SPcjs.a.call(void 0, this.apiClient.environment),(i=e==null?void 0:e.experimental_callbacks)!=null?i:{})}}assertCorrectWalletType(l,s){if(l.type!==s)throw new Error("Invalid wallet type")}};exports.a = C;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6DTBGTSScjs = require('./chunk-6DTBGTSS.cjs');var _chunkAHFMV7RZcjs = require('./chunk-AHFMV7RZ.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunkH44YSVZHcjs = require('./chunk-H44YSVZH.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _ox = require('ox');var _viem = require('viem');var L=class{constructor(e,a,t,i,l){this.chain=e;this.apiClient=a;this.address=t;this.adminSigner=i;this.callbacks=l;this.publicClient=_viem.createPublicClient.call(void 0, {chain:_chunkAHFMV7RZcjs.c.call(void 0, e),transport:_viem.http.call(void 0, )})}balances(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{chains:[this.chain],tokens:e})})}transactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.apiClient.getTransactions(this.walletLocator)).transactions.filter(a=>a.walletType==="evm-smart-wallet")})}nfts(e,a,t,i){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getNfts(t,i!=null?i:this.walletLocator,e,a)})}getAddress(){return this.address}getNonce(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var t;return yield this.publicClient.readContract({abi:_chunk6DTBGTSScjs.a,address:_chunkH44YSVZHcjs.d,functionName:"getNonce",args:[this.address,(t=e==null?void 0:e.key)!=null?t:BigInt(0)]})})}signMessage(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o;if(typeof e.message!="string")throw new Error("Message must be a string");let a=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:e.message,signer:this.signerLocator,chain:this.chain}}),t=a.id,l=(((o=a.approvals)==null?void 0:o.pending)||[]).find(c=>c.signer===this.signerLocator);if(!l)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let n=yield this.approveSignature(t,l.message);if(n===void 0)throw new Error("Signature not available");let r=null;do yield _chunkDANM4IBFcjs.a.call(void 0, _chunkH44YSVZHcjs.e),r=yield this.apiClient.getSignature(this.walletLocator,t);while(r===null||r.status==="pending");if(r.status==="failed")throw new Error("Message signing failed");return n})}signTypedData(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var w;let{domain:a,message:t,primaryType:i,types:l}=e;if(!a||!t||!l)throw new Error("Invalid typed data");let{name:n,version:r,chainId:o,verifyingContract:c,salt:v}=a;if(!n||!r||!o||!c)throw new Error("Invalid typed data domain");let y=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:n,version:r,chainId:Number(o),verifyingContract:c,salt:v},message:t,primaryType:i,types:l},signer:this.signerLocator,chain:this.chain,isSmartWalletSignature:!1}}),d=y.id,u=(((w=y.approvals)==null?void 0:w.pending)||[]).find(h=>h.signer===this.signerLocator);if(!u)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let m=yield this.approveSignature(d,u.message);if(m===void 0)throw new Error("Signature not available");let g=null;for(;g===null||g.status==="pending";)yield _chunkDANM4IBFcjs.a.call(void 0, _chunkH44YSVZHcjs.e),g=yield this.apiClient.getSignature(this.walletLocator,d);if(g.status==="failed")throw new Error("Typed data signing failed");return m})}sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o,c,v,y,d,b,u,m,g,w,h,T;yield(c=(o=this.callbacks)==null?void 0:o.onTransactionStart)==null?void 0:c.call(o,e);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:this.chain,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:(v=e.data)!=null?v:"0x"}]}}),t=a.id,l=(((y=a.approvals)==null?void 0:y.pending)||[]).find(p=>p.signer===this.signerLocator);if(!l){let p=new Error(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(b=(d=this.callbacks)==null?void 0:d.onTransactionFail)==null?void 0:b.call(d,p),p}yield this.approveTransaction(t,l.message);let n=null;for(;n===null||n.status==="pending";)yield _chunkDANM4IBFcjs.a.call(void 0, _chunkH44YSVZHcjs.e),n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.status==="failed"){let p=new Error("Transaction sending failed");throw yield(m=(u=this.callbacks)==null?void 0:u.onTransactionFail)==null?void 0:m.call(u,p),p}let r=n.onChain.txId;if(r===void 0){let p=new Error("Transaction hash not found");throw yield(w=(g=this.callbacks)==null?void 0:g.onTransactionFail)==null?void 0:w.call(g,p),p}return yield(T=(h=this.callbacks)==null?void 0:h.onTransactionComplete)==null?void 0:T.call(h,e),r})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(e);let{metadata:a,signature:t}=yield _ox.WebAuthnP256.sign({credentialId:this.adminSigner.id,challenge:e});return{signature:_viem.concat.call(void 0, [`0x${t.r.toString(16)}`,`0x${t.s.toString(16)}`]),metadata:a}}case"evm-keypair":{let a=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let t=this.adminSigner.signer.account;if(!t.signMessage)throw new Error("Account does not support signMessage");return{signature:yield t.signMessage({message:{raw:e}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[e,a]})}}}})}approveTransaction(e,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[_chunkCK4JCQY6cjs.a.call(void 0, {signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t},i&&{metadata:i})]})})}approveSignature(e,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t,metadata:i}]}),t})}},P= exports.b =class{};exports.a = L; exports.b = P;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk6DTBGTSScjs = require('./chunk-6DTBGTSS.cjs');var _chunkAHFMV7RZcjs = require('./chunk-AHFMV7RZ.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunk77XNFPULcjs = require('./chunk-77XNFPUL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _ox = require('ox');var _viem = require('viem');var L=class{constructor(e,a,t,i,l){this.chain=e;this.apiClient=a;this.address=t;this.adminSigner=i;this.callbacks=l;this.publicClient=_viem.createPublicClient.call(void 0, {chain:_chunkAHFMV7RZcjs.c.call(void 0, e),transport:_viem.http.call(void 0, )})}balances(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{chains:[this.chain],tokens:e})})}transactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.apiClient.getTransactions(this.walletLocator)).transactions.filter(a=>a.walletType==="evm-smart-wallet")})}nfts(e,a,t,i){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getNfts(t,i!=null?i:this.walletLocator,e,a)})}getAddress(){return this.address}getNonce(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var t;return yield this.publicClient.readContract({abi:_chunk6DTBGTSScjs.a,address:_chunk77XNFPULcjs.d,functionName:"getNonce",args:[this.address,(t=e==null?void 0:e.key)!=null?t:BigInt(0)]})})}signMessage(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o;if(typeof e.message!="string")throw new Error("Message must be a string");let a=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:e.message,signer:this.signerLocator,chain:this.chain}}),t=a.id,l=(((o=a.approvals)==null?void 0:o.pending)||[]).find(c=>c.signer===this.signerLocator);if(!l)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let n=yield this.approveSignature(t,l.message);if(n===void 0)throw new Error("Signature not available");let r=null;do yield _chunkDANM4IBFcjs.a.call(void 0, _chunk77XNFPULcjs.e),r=yield this.apiClient.getSignature(this.walletLocator,t);while(r===null||r.status==="pending");if(r.status==="failed")throw new Error("Message signing failed");return n})}signTypedData(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var w;let{domain:a,message:t,primaryType:i,types:l}=e;if(!a||!t||!l)throw new Error("Invalid typed data");let{name:n,version:r,chainId:o,verifyingContract:c,salt:v}=a;if(!n||!r||!o||!c)throw new Error("Invalid typed data domain");let y=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:n,version:r,chainId:Number(o),verifyingContract:c,salt:v},message:t,primaryType:i,types:l},signer:this.signerLocator,chain:this.chain,isSmartWalletSignature:!1}}),d=y.id,u=(((w=y.approvals)==null?void 0:w.pending)||[]).find(h=>h.signer===this.signerLocator);if(!u)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let m=yield this.approveSignature(d,u.message);if(m===void 0)throw new Error("Signature not available");let g=null;for(;g===null||g.status==="pending";)yield _chunkDANM4IBFcjs.a.call(void 0, _chunk77XNFPULcjs.e),g=yield this.apiClient.getSignature(this.walletLocator,d);if(g.status==="failed")throw new Error("Typed data signing failed");return m})}sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var o,c,v,y,d,b,u,m,g,w,h,T;yield(c=(o=this.callbacks)==null?void 0:o.onTransactionStart)==null?void 0:c.call(o,e);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:this.chain,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:(v=e.data)!=null?v:"0x"}]}}),t=a.id,l=(((y=a.approvals)==null?void 0:y.pending)||[]).find(p=>p.signer===this.signerLocator);if(!l){let p=new Error(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(b=(d=this.callbacks)==null?void 0:d.onTransactionFail)==null?void 0:b.call(d,p),p}yield this.approveTransaction(t,l.message);let n=null;for(;n===null||n.status==="pending";)yield _chunkDANM4IBFcjs.a.call(void 0, _chunk77XNFPULcjs.e),n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.status==="failed"){let p=new Error("Transaction sending failed");throw yield(m=(u=this.callbacks)==null?void 0:u.onTransactionFail)==null?void 0:m.call(u,p),p}let r=n.onChain.txId;if(r===void 0){let p=new Error("Transaction hash not found");throw yield(w=(g=this.callbacks)==null?void 0:g.onTransactionFail)==null?void 0:w.call(g,p),p}return yield(T=(h=this.callbacks)==null?void 0:h.onTransactionComplete)==null?void 0:T.call(h,e),r})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(e);let{metadata:a,signature:t}=yield _ox.WebAuthnP256.sign({credentialId:this.adminSigner.id,challenge:e});return{signature:_viem.concat.call(void 0, [`0x${t.r.toString(16)}`,`0x${t.s.toString(16)}`]),metadata:a}}case"evm-keypair":{let a=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let t=this.adminSigner.signer.account;if(!t.signMessage)throw new Error("Account does not support signMessage");return{signature:yield t.signMessage({message:{raw:e}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[e,a]})}}}})}approveTransaction(e,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[_chunkCK4JCQY6cjs.a.call(void 0, {signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t},i&&{metadata:i})]})})}approveSignature(e,a){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t,metadata:i}]}),t})}};exports.a = L;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkAXW2RZ4Ccjs = require('./chunk-AXW2RZ4C.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunkFUHBLVE7cjs = require('./chunk-FUHBLVE7.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var s=class{constructor(e,n,t,i){this.apiClient=e;this.publicKey=n;this.client=t;this.callbacks=i;this.transactionsService=new (0, _chunkAXW2RZ4Ccjs.a)(this.walletLocator,this.apiClient),this.delegatedSignerService=new (0, _chunkFUHBLVE7cjs.a)(this.walletLocator,this.transactionsService,e)}getPublicKey(){return this.publicKey}getAddress(){return this.publicKey.toBase58()}balances(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{tokens:e})})}transactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.transactionsService.getTransactions()})}nfts(e,n,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getNfts("solana",t!=null?t:this.walletLocator,e,n)})}get walletLocator(){return this.apiClient.isServerSide?this.getAddress():"me:solana-smart-wallet"}},p= exports.a =class extends s{constructor(e,n,t,i,u){super(e,n,i,u),this.adminSigner=_chunk6XOH62PVcjs.d.call(void 0, t)}sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var i;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),t=(i=e.additionalSigners)==null?void 0:i.map(_chunk6XOH62PVcjs.a);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:t})})}addDelegatedSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0)})}getEffectiveTransactionSigner(e){return e==null?_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0:_chunk6XOH62PVcjs.a.call(void 0, e)}},g= exports.b =class extends s{sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(_chunk6XOH62PVcjs.a)})})}};exports.a = p; exports.b = g;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkQM7XEW7Mcjs = require('./chunk-QM7XEW7M.cjs');var _chunk6XOH62PVcjs = require('./chunk-6XOH62PV.cjs');var _chunkFUHBLVE7cjs = require('./chunk-FUHBLVE7.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var s=class{constructor(e,n,t,i){this.apiClient=e;this.publicKey=n;this.client=t;this.callbacks=i;this.transactionsService=new (0, _chunkQM7XEW7Mcjs.a)(this.walletLocator,this.apiClient),this.delegatedSignerService=new (0, _chunkFUHBLVE7cjs.a)(this.walletLocator,this.transactionsService,e)}getPublicKey(){return this.publicKey}getAddress(){return this.publicKey.toBase58()}balances(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{tokens:e})})}transactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.transactionsService.getTransactions()})}nfts(e,n,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getNfts("solana",t!=null?t:this.walletLocator,e,n)})}get walletLocator(){return this.apiClient.isServerSide?this.getAddress():"me:solana-smart-wallet"}},p= exports.a =class extends s{constructor(e,n,t,i,u){super(e,n,i,u),this.adminSigner=_chunk6XOH62PVcjs.d.call(void 0, t)}sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var i;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),t=(i=e.additionalSigners)==null?void 0:i.map(_chunk6XOH62PVcjs.a);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:t})})}addDelegatedSigner(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0)})}getEffectiveTransactionSigner(e){return e==null?_chunk6XOH62PVcjs.c.call(void 0, this.adminSigner)?this.adminSigner:void 0:_chunk6XOH62PVcjs.a.call(void 0, e)}},g= exports.b =class extends s{sendTransaction(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(_chunk6XOH62PVcjs.a)})})}};exports.a = p; exports.b = g;
@@ -0,0 +1 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.3.0";var p="WALLETS_SDK",d= exports.b =t,c= exports.c =s,a= exports.d ="0x0000000071727de22e5e9d8baf0edac6f37da032",r= exports.e =1e3;exports.a = p; exports.b = d; exports.c = c; exports.d = a; exports.e = r;
@@ -1 +1 @@
1
- import{a as m}from"./chunk-ICVV5CBS.js";import{a as u}from"./chunk-LX6WD7J6.js";import{e as T}from"./chunk-BH2AOWQH.js";import{a as c,c as l}from"./chunk-22GIA4MK.js";import v from"bs58";var f=class{constructor(n,o,t=new m(n,o),a={}){this.walletLocator=n;this.apiClient=o;this.approvalsService=t;this.callbacks=a}createSignAndConfirm(n){return l(this,null,function*(){var a,r,e,s;(r=(a=this.callbacks).onTransactionStart)==null||r.call(a,n.transaction);let o=yield this.create(n);yield this.approveTransaction(o.id,[...n.signer!=null?[n.signer]:[],...n.additionalSigners||[]]);let t=yield this.waitForTransaction(o.id);return(s=(e=this.callbacks).onTransactionComplete)==null||s.call(e,n.transaction),t})}getTransactions(){return l(this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(n,o){return l(this,null,function*(){var a;let t=yield this.apiClient.getTransaction(this.walletLocator,n);t.status==="awaiting-approval"&&(yield this.approvalsService.approve(t.id,((a=t.approvals)==null?void 0:a.pending)||[],o))})}create(n){return l(this,null,function*(){let{transaction:o,signer:t,additionalSigners:a}=n,r=c(c({transaction:v.encode(o.serialize())},t?{signer:t.address}:{}),a?{additionalSigners:a.map(s=>s.address)}:{});return yield this.apiClient.createTransaction(this.walletLocator,{params:r})})}waitForTransaction(n,o=6e4){return l(this,null,function*(){var e,s,p,d,g,w,S,h;let t=Date.now(),a;do{if(Date.now()-t>o){let i=new Error("Transaction confirmation timeout");throw(s=(e=this.callbacks).onTransactionFail)==null||s.call(e,i),i}a=yield this.apiClient.getTransaction(this.walletLocator,n),yield u(T)}while(a.status==="pending");if(a.status==="failed"){let i=new Error(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw(d=(p=this.callbacks).onTransactionFail)==null||d.call(p,i),i}if(a.status==="awaiting-approval"){let i=new Error("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw(w=(g=this.callbacks).onTransactionFail)==null||w.call(g,i),i}let r=a.onChain.txId;if(r==null){let i=new Error("Transaction hash not found on transaction response");throw(h=(S=this.callbacks).onTransactionFail)==null||h.call(S,i),i}return r})}};export{f as a};
1
+ import{a as m}from"./chunk-ICVV5CBS.js";import{a as u}from"./chunk-LX6WD7J6.js";import{e as T}from"./chunk-ZV4NPDI5.js";import{a as c,c as l}from"./chunk-22GIA4MK.js";import v from"bs58";var f=class{constructor(n,o,t=new m(n,o),a={}){this.walletLocator=n;this.apiClient=o;this.approvalsService=t;this.callbacks=a}createSignAndConfirm(n){return l(this,null,function*(){var a,r,e,s;(r=(a=this.callbacks).onTransactionStart)==null||r.call(a,n.transaction);let o=yield this.create(n);yield this.approveTransaction(o.id,[...n.signer!=null?[n.signer]:[],...n.additionalSigners||[]]);let t=yield this.waitForTransaction(o.id);return(s=(e=this.callbacks).onTransactionComplete)==null||s.call(e,n.transaction),t})}getTransactions(){return l(this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(n,o){return l(this,null,function*(){var a;let t=yield this.apiClient.getTransaction(this.walletLocator,n);t.status==="awaiting-approval"&&(yield this.approvalsService.approve(t.id,((a=t.approvals)==null?void 0:a.pending)||[],o))})}create(n){return l(this,null,function*(){let{transaction:o,signer:t,additionalSigners:a}=n,r=c(c({transaction:v.encode(o.serialize())},t?{signer:t.address}:{}),a?{additionalSigners:a.map(s=>s.address)}:{});return yield this.apiClient.createTransaction(this.walletLocator,{params:r})})}waitForTransaction(n,o=6e4){return l(this,null,function*(){var e,s,p,d,g,w,S,h;let t=Date.now(),a;do{if(Date.now()-t>o){let i=new Error("Transaction confirmation timeout");throw(s=(e=this.callbacks).onTransactionFail)==null||s.call(e,i),i}a=yield this.apiClient.getTransaction(this.walletLocator,n),yield u(T)}while(a.status==="pending");if(a.status==="failed"){let i=new Error(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw(d=(p=this.callbacks).onTransactionFail)==null||d.call(p,i),i}if(a.status==="awaiting-approval"){let i=new Error("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw(w=(g=this.callbacks).onTransactionFail)==null||w.call(g,i),i}let r=a.onChain.txId;if(r==null){let i=new Error("Transaction hash not found on transaction response");throw(h=(S=this.callbacks).onTransactionFail)==null||h.call(S,i),i}return r})}};export{f as a};
@@ -1 +1 @@
1
- import{a as o}from"./chunk-K7ZLWZPC.js";import{a as T,b as y}from"./chunk-3ZNYRG5N.js";import{d as m}from"./chunk-6W35AARC.js";import{a as w,b as d}from"./chunk-262U5V7I.js";import{a as c}from"./chunk-3LLFAHJH.js";import{c as W}from"./chunk-22GIA4MK.js";import{PublicKey as g}from"@solana/web3.js";var C=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,t){return W(this,null,function*(){var e,n,a,i;try{let r=yield this.getOrCreateWalletInternal(l,s,t),p=this.createWalletInstance(l,r,s,t);return yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationComplete)==null?void 0:n.call(e,p),p}catch(r){throw yield(i=(a=t==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationFail)==null?void 0:i.call(a,r),r}})}getWallet(l,s,t,e){return W(this,null,function*(){let n=this.apiClient.isServerSide?l:`me:${s}`,a=yield this.apiClient.getWallet(n);return this.createWalletInstance(s,a,t,e)})}getOrCreateWalletInternal(l,s,t){return W(this,null,function*(){var e,n;if(l==="evm-smart-wallet"){let{adminSigner:a,linkedUser:i}=s,r=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(r&&!r.error)return r;yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationStart)==null?void 0:n.call(e);let p=a.type==="evm-keypair"?a:yield d(a.name,a.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:p},linkedUser:i})}else if(l==="solana-smart-wallet"){let{adminSigner:a,linkedUser:i}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:a!=null?(()=>{let r=m(a);return r.type==="solana-keypair"?{type:r.type,address:r.address}:{type:r.type}})():void 0},linkedUser:i})}else if(l==="solana-mpc-wallet"){let{linkedUser:a}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:a})}else throw new Error("Not implemented")})}createWalletInstance(l,s,t,e){switch(this.assertCorrectWalletType(s,l),l){case"evm-smart-wallet":case"evm-mpc-wallet":let n=t;return this.createEvmWalletInstance(l,s,n,e);case"solana-smart-wallet":case"solana-mpc-wallet":let i=t;return this.createSolanaWalletInstance(l,s,i,e);default:throw new Error(`Unhandled wallet type: ${l}`)}}createEvmWalletInstance(l,s,t,e){var n;switch(l){case"evm-smart-wallet":{let{chain:a,adminSigner:i}=t,r=s;return new c(a,this.apiClient,r.address,w(i,r),(n=e==null?void 0:e.experimental_callbacks)!=null?n:{})}case"evm-mpc-wallet":throw new Error("Not implemented")}}createSolanaWalletInstance(l,s,t,e){var a,i;let n=s;switch(l){case"solana-smart-wallet":{let{adminSigner:r}=t;return new T(this.apiClient,new g(n.address),r!=null?r:{type:"solana-fireblocks-custodial"},o(this.apiClient.environment),(a=e==null?void 0:e.experimental_callbacks)!=null?a:{})}case"solana-mpc-wallet":return new y(this.apiClient,new g(n.address),o(this.apiClient.environment),(i=e==null?void 0:e.experimental_callbacks)!=null?i:{})}}assertCorrectWalletType(l,s){if(l.type!==s)throw new Error("Invalid wallet type")}};export{C as a};
1
+ import{a as o}from"./chunk-K7ZLWZPC.js";import{a as y,b as m}from"./chunk-XUFL23F4.js";import{d as T}from"./chunk-6W35AARC.js";import{a as w,b as d}from"./chunk-262U5V7I.js";import{a as c}from"./chunk-O7CIQQ33.js";import{c as W}from"./chunk-22GIA4MK.js";import{PublicKey as g}from"@solana/web3.js";var C=class{constructor(l){this.apiClient=l}getOrCreateWallet(l,s,t){return W(this,null,function*(){var e,n,a,i;try{let r=yield this.getOrCreateWalletInternal(l,s,t),p=this.createWalletInstance(l,r,s,t);return yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationComplete)==null?void 0:n.call(e,p),p}catch(r){throw yield(i=(a=t==null?void 0:t.experimental_callbacks)==null?void 0:a.onWalletCreationFail)==null?void 0:i.call(a,r),r}})}getWallet(l,s,t,e){return W(this,null,function*(){let n=this.apiClient.isServerSide?l:`me:${s}`,a=yield this.apiClient.getWallet(n);return this.createWalletInstance(s,a,t,e)})}getOrCreateWalletInternal(l,s,t){return W(this,null,function*(){var e,n;if(l==="evm-smart-wallet"){let{adminSigner:a,linkedUser:i}=s,r=this.apiClient.isServerSide?null:yield this.apiClient.getWallet(`me:${l}`);if(r&&!r.error)return r;yield(n=(e=t==null?void 0:t.experimental_callbacks)==null?void 0:e.onWalletCreationStart)==null?void 0:n.call(e);let p=a.type==="evm-keypair"?a:yield d(a.name,a.creationCallback);return yield this.apiClient.createWallet({type:"evm-smart-wallet",config:{adminSigner:p},linkedUser:i})}else if(l==="solana-smart-wallet"){let{adminSigner:a,linkedUser:i}=s;return yield this.apiClient.createWallet({type:"solana-smart-wallet",config:{adminSigner:a!=null?(()=>{let r=T(a);return r.type==="solana-keypair"?{type:r.type,address:r.address}:{type:r.type}})():void 0},linkedUser:i})}else if(l==="solana-mpc-wallet"){let{linkedUser:a}=s;return yield this.apiClient.createWallet({type:"solana-mpc-wallet",linkedUser:a})}else throw new Error("Not implemented")})}createWalletInstance(l,s,t,e){switch(this.assertCorrectWalletType(s,l),l){case"evm-smart-wallet":let n=t;return this.createEvmWalletInstance(l,s,n,e);case"solana-smart-wallet":case"solana-mpc-wallet":let i=t;return this.createSolanaWalletInstance(l,s,i,e);default:throw new Error(`Unhandled wallet type: ${l}`)}}createEvmWalletInstance(l,s,t,e){var n;switch(l){case"evm-smart-wallet":{let{chain:a,adminSigner:i}=t,r=s;return new c(a,this.apiClient,r.address,w(i,r),(n=e==null?void 0:e.experimental_callbacks)!=null?n:{})}}}createSolanaWalletInstance(l,s,t,e){var a,i;let n=s;switch(l){case"solana-smart-wallet":{let{adminSigner:r}=t;return new y(this.apiClient,new g(n.address),r!=null?r:{type:"solana-fireblocks-custodial"},o(this.apiClient.environment),(a=e==null?void 0:e.experimental_callbacks)!=null?a:{})}case"solana-mpc-wallet":return new m(this.apiClient,new g(n.address),o(this.apiClient.environment),(i=e==null?void 0:e.experimental_callbacks)!=null?i:{})}}assertCorrectWalletType(l,s){if(l.type!==s)throw new Error("Invalid wallet type")}};export{C as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkH44YSVZHcjs = require('./chunk-H44YSVZH.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var c=class extends _commonsdkbase.CrossmintApiClient{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:_chunkH44YSVZHcjs.c,version:_chunkH44YSVZHcjs.b}}});this.apiPrefix="api/2022-06-09/wallets"}createWallet(s){return _chunkCK4JCQY6cjs.c.call(void 0, this,arguments,function*(e,{idempotencyKey:t}={}){let r=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(r,{body:JSON.stringify(e),headers:_chunkCK4JCQY6cjs.a.call(void 0, {"Content-Type":"application/json"},t?{"x-idempotency-key":t}:{})})).json()})}getWallet(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:{"Content-Type":"application/json"}})).json()})}createTransaction(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveTransaction(e,t,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getTransaction(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}createSignature(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveSignature(e,t,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getSignature(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}getTransactions(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:{"Content-Type":"application/json"}})).json()})}getNfts(e,t,s,r){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let n=new URLSearchParams;n.append("page",r.toString()),n.append("perPage",s.toString());let i=`${e}:${t}`;return(yield this.get(`${this.apiPrefix}/${i}/nfts?${n.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}getBalance(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let s=new URLSearchParams;return t.chains&&t.chains.forEach(n=>s.append("chains",n)),t.tokens.forEach(n=>s.append("tokens",n)),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${s.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}registerSigner(r,n){return _chunkCK4JCQY6cjs.c.call(void 0, this,arguments,function*(e,t,{idempotencyKey:s}={}){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(t),headers:_chunkCK4JCQY6cjs.a.call(void 0, {"Content-Type":"application/json"},s?{"x-idempotency-key":s}:{})})).json()})}getSigner(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===_commonsdkbase.APIKeyUsageOrigin.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new Error("Invalid API key");return this.parsedAPIKey.environment}};exports.a = c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk77XNFPULcjs = require('./chunk-77XNFPUL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var c=class extends _commonsdkbase.CrossmintApiClient{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:_chunk77XNFPULcjs.c,version:_chunk77XNFPULcjs.b}}});this.apiPrefix="api/2022-06-09/wallets"}createWallet(s){return _chunkCK4JCQY6cjs.c.call(void 0, this,arguments,function*(e,{idempotencyKey:t}={}){let r=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(r,{body:JSON.stringify(e),headers:_chunkCK4JCQY6cjs.a.call(void 0, {"Content-Type":"application/json"},t?{"x-idempotency-key":t}:{})})).json()})}getWallet(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:{"Content-Type":"application/json"}})).json()})}createTransaction(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveTransaction(e,t,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getTransaction(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}createSignature(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveSignature(e,t,s){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getSignature(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}getTransactions(e){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:{"Content-Type":"application/json"}})).json()})}getNfts(e,t,s,r){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let n=new URLSearchParams;n.append("page",r.toString()),n.append("perPage",s.toString());let i=`${e}:${t}`;return(yield this.get(`${this.apiPrefix}/${i}/nfts?${n.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}getBalance(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let s=new URLSearchParams;return t.chains&&t.chains.forEach(n=>s.append("chains",n)),t.tokens.forEach(n=>s.append("tokens",n)),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${s.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}registerSigner(r,n){return _chunkCK4JCQY6cjs.c.call(void 0, this,arguments,function*(e,t,{idempotencyKey:s}={}){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(t),headers:_chunkCK4JCQY6cjs.a.call(void 0, {"Content-Type":"application/json"},s?{"x-idempotency-key":s}:{})})).json()})}getSigner(e,t){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===_commonsdkbase.APIKeyUsageOrigin.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new Error("Invalid API key");return this.parsedAPIKey.environment}};exports.a = c;
@@ -1 +1 @@
1
- import{b as p,c as l}from"./chunk-BH2AOWQH.js";import{a as o,c as a}from"./chunk-22GIA4MK.js";import{APIKeyUsageOrigin as g,CrossmintApiClient as y}from"@crossmint/common-sdk-base";var c=class extends y{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:l,version:p}}});this.apiPrefix="api/2022-06-09/wallets"}createWallet(s){return a(this,arguments,function*(e,{idempotencyKey:t}={}){let r=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(r,{body:JSON.stringify(e),headers:o({"Content-Type":"application/json"},t?{"x-idempotency-key":t}:{})})).json()})}getWallet(e){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:{"Content-Type":"application/json"}})).json()})}createTransaction(e,t){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveTransaction(e,t,s){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getTransaction(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}createSignature(e,t){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveSignature(e,t,s){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getSignature(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}getTransactions(e){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:{"Content-Type":"application/json"}})).json()})}getNfts(e,t,s,r){return a(this,null,function*(){let n=new URLSearchParams;n.append("page",r.toString()),n.append("perPage",s.toString());let i=`${e}:${t}`;return(yield this.get(`${this.apiPrefix}/${i}/nfts?${n.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}getBalance(e,t){return a(this,null,function*(){let s=new URLSearchParams;return t.chains&&t.chains.forEach(n=>s.append("chains",n)),t.tokens.forEach(n=>s.append("tokens",n)),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${s.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}registerSigner(r,n){return a(this,arguments,function*(e,t,{idempotencyKey:s}={}){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(t),headers:o({"Content-Type":"application/json"},s?{"x-idempotency-key":s}:{})})).json()})}getSigner(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===g.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new Error("Invalid API key");return this.parsedAPIKey.environment}};export{c as a};
1
+ import{b as p,c as l}from"./chunk-ZV4NPDI5.js";import{a as o,c as a}from"./chunk-22GIA4MK.js";import{APIKeyUsageOrigin as g,CrossmintApiClient as y}from"@crossmint/common-sdk-base";var c=class extends y{constructor(e){super(e,{internalConfig:{sdkMetadata:{name:l,version:p}}});this.apiPrefix="api/2022-06-09/wallets"}createWallet(s){return a(this,arguments,function*(e,{idempotencyKey:t}={}){let r=this.isServerSide?`${this.apiPrefix}`:`${this.apiPrefix}/me`;return(yield this.post(r,{body:JSON.stringify(e),headers:o({"Content-Type":"application/json"},t?{"x-idempotency-key":t}:{})})).json()})}getWallet(e){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}`,{headers:{"Content-Type":"application/json"}})).json()})}createTransaction(e,t){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveTransaction(e,t,s){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/transactions/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getTransaction(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}createSignature(e,t){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures`,{body:JSON.stringify(t),headers:{"Content-Type":"application/json"}})).json()})}approveSignature(e,t,s){return a(this,null,function*(){return(yield this.post(`${this.apiPrefix}/${e}/signatures/${t}/approvals`,{body:JSON.stringify(s),headers:{"Content-Type":"application/json"}})).json()})}getSignature(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signatures/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}getTransactions(e){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/transactions`,{headers:{"Content-Type":"application/json"}})).json()})}getNfts(e,t,s,r){return a(this,null,function*(){let n=new URLSearchParams;n.append("page",r.toString()),n.append("perPage",s.toString());let i=`${e}:${t}`;return(yield this.get(`${this.apiPrefix}/${i}/nfts?${n.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}getBalance(e,t){return a(this,null,function*(){let s=new URLSearchParams;return t.chains&&t.chains.forEach(n=>s.append("chains",n)),t.tokens.forEach(n=>s.append("tokens",n)),(yield this.get(`api/v1-alpha2/wallets/${e}/balances?${s.toString()}`,{headers:{"Content-Type":"application/json"}})).json()})}registerSigner(r,n){return a(this,arguments,function*(e,t,{idempotencyKey:s}={}){return(yield this.post(`${this.apiPrefix}/${e}/signers`,{body:JSON.stringify(t),headers:o({"Content-Type":"application/json"},s?{"x-idempotency-key":s}:{})})).json()})}getSigner(e,t){return a(this,null,function*(){return(yield this.get(`${this.apiPrefix}/${e}/signers/${t}`,{headers:{"Content-Type":"application/json"}})).json()})}get isServerSide(){return this.parsedAPIKey.usageOrigin===g.SERVER}get environment(){if(!this.parsedAPIKey.isValid)throw new Error("Invalid API key");return this.parsedAPIKey.environment}};export{c as a};
@@ -1 +1 @@
1
- import{a as x}from"./chunk-HKY6CBZC.js";import{c as A}from"./chunk-7Y2E7VNV.js";import{a as S}from"./chunk-LX6WD7J6.js";import{d as k,e as f}from"./chunk-BH2AOWQH.js";import{a as C,c as s}from"./chunk-22GIA4MK.js";import{WebAuthnP256 as E}from"ox";import{http as I,createPublicClient as H,concat as R}from"viem";var L=class{constructor(e,a,t,i,l){this.chain=e;this.apiClient=a;this.address=t;this.adminSigner=i;this.callbacks=l;this.publicClient=H({chain:A(e),transport:I()})}balances(e){return s(this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{chains:[this.chain],tokens:e})})}transactions(){return s(this,null,function*(){return(yield this.apiClient.getTransactions(this.walletLocator)).transactions.filter(a=>a.walletType==="evm-smart-wallet")})}nfts(e,a,t,i){return s(this,null,function*(){return yield this.apiClient.getNfts(t,i!=null?i:this.walletLocator,e,a)})}getAddress(){return this.address}getNonce(e){return s(this,null,function*(){var t;return yield this.publicClient.readContract({abi:x,address:k,functionName:"getNonce",args:[this.address,(t=e==null?void 0:e.key)!=null?t:BigInt(0)]})})}signMessage(e){return s(this,null,function*(){var o;if(typeof e.message!="string")throw new Error("Message must be a string");let a=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:e.message,signer:this.signerLocator,chain:this.chain}}),t=a.id,l=(((o=a.approvals)==null?void 0:o.pending)||[]).find(c=>c.signer===this.signerLocator);if(!l)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let n=yield this.approveSignature(t,l.message);if(n===void 0)throw new Error("Signature not available");let r=null;do yield S(f),r=yield this.apiClient.getSignature(this.walletLocator,t);while(r===null||r.status==="pending");if(r.status==="failed")throw new Error("Message signing failed");return n})}signTypedData(e){return s(this,null,function*(){var w;let{domain:a,message:t,primaryType:i,types:l}=e;if(!a||!t||!l)throw new Error("Invalid typed data");let{name:n,version:r,chainId:o,verifyingContract:c,salt:v}=a;if(!n||!r||!o||!c)throw new Error("Invalid typed data domain");let y=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:n,version:r,chainId:Number(o),verifyingContract:c,salt:v},message:t,primaryType:i,types:l},signer:this.signerLocator,chain:this.chain,isSmartWalletSignature:!1}}),d=y.id,u=(((w=y.approvals)==null?void 0:w.pending)||[]).find(h=>h.signer===this.signerLocator);if(!u)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let m=yield this.approveSignature(d,u.message);if(m===void 0)throw new Error("Signature not available");let g=null;for(;g===null||g.status==="pending";)yield S(f),g=yield this.apiClient.getSignature(this.walletLocator,d);if(g.status==="failed")throw new Error("Typed data signing failed");return m})}sendTransaction(e){return s(this,null,function*(){var o,c,v,y,d,b,u,m,g,w,h,T;yield(c=(o=this.callbacks)==null?void 0:o.onTransactionStart)==null?void 0:c.call(o,e);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:this.chain,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:(v=e.data)!=null?v:"0x"}]}}),t=a.id,l=(((y=a.approvals)==null?void 0:y.pending)||[]).find(p=>p.signer===this.signerLocator);if(!l){let p=new Error(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(b=(d=this.callbacks)==null?void 0:d.onTransactionFail)==null?void 0:b.call(d,p),p}yield this.approveTransaction(t,l.message);let n=null;for(;n===null||n.status==="pending";)yield S(f),n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.status==="failed"){let p=new Error("Transaction sending failed");throw yield(m=(u=this.callbacks)==null?void 0:u.onTransactionFail)==null?void 0:m.call(u,p),p}let r=n.onChain.txId;if(r===void 0){let p=new Error("Transaction hash not found");throw yield(w=(g=this.callbacks)==null?void 0:g.onTransactionFail)==null?void 0:w.call(g,p),p}return yield(T=(h=this.callbacks)==null?void 0:h.onTransactionComplete)==null?void 0:T.call(h,e),r})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(e){return s(this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(e);let{metadata:a,signature:t}=yield E.sign({credentialId:this.adminSigner.id,challenge:e});return{signature:R([`0x${t.r.toString(16)}`,`0x${t.s.toString(16)}`]),metadata:a}}case"evm-keypair":{let a=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let t=this.adminSigner.signer.account;if(!t.signMessage)throw new Error("Account does not support signMessage");return{signature:yield t.signMessage({message:{raw:e}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[e,a]})}}}})}approveTransaction(e,a){return s(this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[C({signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t},i&&{metadata:i})]})})}approveSignature(e,a){return s(this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t,metadata:i}]}),t})}},P=class{};export{L as a,P as b};
1
+ import{a as x}from"./chunk-HKY6CBZC.js";import{c as A}from"./chunk-7Y2E7VNV.js";import{a as S}from"./chunk-LX6WD7J6.js";import{d as k,e as f}from"./chunk-ZV4NPDI5.js";import{a as C,c as s}from"./chunk-22GIA4MK.js";import{WebAuthnP256 as P}from"ox";import{http as D,createPublicClient as E,concat as I}from"viem";var L=class{constructor(e,a,t,i,l){this.chain=e;this.apiClient=a;this.address=t;this.adminSigner=i;this.callbacks=l;this.publicClient=E({chain:A(e),transport:D()})}balances(e){return s(this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{chains:[this.chain],tokens:e})})}transactions(){return s(this,null,function*(){return(yield this.apiClient.getTransactions(this.walletLocator)).transactions.filter(a=>a.walletType==="evm-smart-wallet")})}nfts(e,a,t,i){return s(this,null,function*(){return yield this.apiClient.getNfts(t,i!=null?i:this.walletLocator,e,a)})}getAddress(){return this.address}getNonce(e){return s(this,null,function*(){var t;return yield this.publicClient.readContract({abi:x,address:k,functionName:"getNonce",args:[this.address,(t=e==null?void 0:e.key)!=null?t:BigInt(0)]})})}signMessage(e){return s(this,null,function*(){var o;if(typeof e.message!="string")throw new Error("Message must be a string");let a=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-message",params:{message:e.message,signer:this.signerLocator,chain:this.chain}}),t=a.id,l=(((o=a.approvals)==null?void 0:o.pending)||[]).find(c=>c.signer===this.signerLocator);if(!l)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let n=yield this.approveSignature(t,l.message);if(n===void 0)throw new Error("Signature not available");let r=null;do yield S(f),r=yield this.apiClient.getSignature(this.walletLocator,t);while(r===null||r.status==="pending");if(r.status==="failed")throw new Error("Message signing failed");return n})}signTypedData(e){return s(this,null,function*(){var w;let{domain:a,message:t,primaryType:i,types:l}=e;if(!a||!t||!l)throw new Error("Invalid typed data");let{name:n,version:r,chainId:o,verifyingContract:c,salt:v}=a;if(!n||!r||!o||!c)throw new Error("Invalid typed data domain");let y=yield this.apiClient.createSignature(this.walletLocator,{type:"evm-typed-data",params:{typedData:{domain:{name:n,version:r,chainId:Number(o),verifyingContract:c,salt:v},message:t,primaryType:i,types:l},signer:this.signerLocator,chain:this.chain,isSmartWalletSignature:!1}}),d=y.id,u=(((w=y.approvals)==null?void 0:w.pending)||[]).find(h=>h.signer===this.signerLocator);if(!u)throw new Error(`Signer ${this.signerLocator} not found in pending approvals`);let m=yield this.approveSignature(d,u.message);if(m===void 0)throw new Error("Signature not available");let g=null;for(;g===null||g.status==="pending";)yield S(f),g=yield this.apiClient.getSignature(this.walletLocator,d);if(g.status==="failed")throw new Error("Typed data signing failed");return m})}sendTransaction(e){return s(this,null,function*(){var o,c,v,y,d,b,u,m,g,w,h,T;yield(c=(o=this.callbacks)==null?void 0:o.onTransactionStart)==null?void 0:c.call(o,e);let a=yield this.apiClient.createTransaction(this.walletLocator,{params:{signer:this.signerLocator,chain:this.chain,calls:[{to:e.to,value:e.value?e.value.toString():"0",data:(v=e.data)!=null?v:"0x"}]}}),t=a.id,l=(((y=a.approvals)==null?void 0:y.pending)||[]).find(p=>p.signer===this.signerLocator);if(!l){let p=new Error(`Signer ${this.signerLocator} not found in pending approvals`);throw yield(b=(d=this.callbacks)==null?void 0:d.onTransactionFail)==null?void 0:b.call(d,p),p}yield this.approveTransaction(t,l.message);let n=null;for(;n===null||n.status==="pending";)yield S(f),n=yield this.apiClient.getTransaction(this.walletLocator,t);if(n.status==="failed"){let p=new Error("Transaction sending failed");throw yield(m=(u=this.callbacks)==null?void 0:u.onTransactionFail)==null?void 0:m.call(u,p),p}let r=n.onChain.txId;if(r===void 0){let p=new Error("Transaction hash not found");throw yield(w=(g=this.callbacks)==null?void 0:g.onTransactionFail)==null?void 0:w.call(g,p),p}return yield(T=(h=this.callbacks)==null?void 0:h.onTransactionComplete)==null?void 0:T.call(h,e),r})}get walletLocator(){return this.apiClient.isServerSide?this.address:"me:evm-smart-wallet"}get signerLocator(){return this.adminSigner.locator}signWithAdminSigner(e){return s(this,null,function*(){switch(this.adminSigner.type){case"evm-passkey":{if(this.adminSigner.signingCallback)return this.adminSigner.signingCallback(e);let{metadata:a,signature:t}=yield P.sign({credentialId:this.adminSigner.id,challenge:e});return{signature:I([`0x${t.r.toString(16)}`,`0x${t.s.toString(16)}`]),metadata:a}}case"evm-keypair":{let a=this.adminSigner.address;if(this.adminSigner.signer.type==="viem_v2"){let t=this.adminSigner.signer.account;if(!t.signMessage)throw new Error("Account does not support signMessage");return{signature:yield t.signMessage({message:{raw:e}})}}else return{signature:yield this.adminSigner.signer.provider.request({method:"personal_sign",params:[e,a]})}}}})}approveTransaction(e,a){return s(this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);yield this.apiClient.approveTransaction(this.walletLocator,e,{approvals:[C({signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t},i&&{metadata:i})]})})}approveSignature(e,a){return s(this,null,function*(){let{signature:t,metadata:i}=yield this.signWithAdminSigner(a);return yield this.apiClient.approveSignature(this.walletLocator,e,{approvals:[{signer:this.signerLocator,signature:this.adminSigner.type==="evm-passkey"?{r:t.slice(0,66),s:`0x${t.slice(66)}`}:t,metadata:i}]}),t})}};export{L as a};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkGS3FTDMMcjs = require('./chunk-GS3FTDMM.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunkH44YSVZHcjs = require('./chunk-H44YSVZH.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var f=class{constructor(n,o,t=new (0, _chunkGS3FTDMMcjs.a)(n,o),a={}){this.walletLocator=n;this.apiClient=o;this.approvalsService=t;this.callbacks=a}createSignAndConfirm(n){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a,r,e,s;(r=(a=this.callbacks).onTransactionStart)==null||r.call(a,n.transaction);let o=yield this.create(n);yield this.approveTransaction(o.id,[...n.signer!=null?[n.signer]:[],...n.additionalSigners||[]]);let t=yield this.waitForTransaction(o.id);return(s=(e=this.callbacks).onTransactionComplete)==null||s.call(e,n.transaction),t})}getTransactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(n,o){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a;let t=yield this.apiClient.getTransaction(this.walletLocator,n);t.status==="awaiting-approval"&&(yield this.approvalsService.approve(t.id,((a=t.approvals)==null?void 0:a.pending)||[],o))})}create(n){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{transaction:o,signer:t,additionalSigners:a}=n,r=_chunkCK4JCQY6cjs.a.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {transaction:_bs582.default.encode(o.serialize())},t?{signer:t.address}:{}),a?{additionalSigners:a.map(s=>s.address)}:{});return yield this.apiClient.createTransaction(this.walletLocator,{params:r})})}waitForTransaction(n,o=6e4){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,s,p,d,g,w,S,h;let t=Date.now(),a;do{if(Date.now()-t>o){let i=new Error("Transaction confirmation timeout");throw(s=(e=this.callbacks).onTransactionFail)==null||s.call(e,i),i}a=yield this.apiClient.getTransaction(this.walletLocator,n),yield _chunkDANM4IBFcjs.a.call(void 0, _chunkH44YSVZHcjs.e)}while(a.status==="pending");if(a.status==="failed"){let i=new Error(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw(d=(p=this.callbacks).onTransactionFail)==null||d.call(p,i),i}if(a.status==="awaiting-approval"){let i=new Error("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw(w=(g=this.callbacks).onTransactionFail)==null||w.call(g,i),i}let r=a.onChain.txId;if(r==null){let i=new Error("Transaction hash not found on transaction response");throw(h=(S=this.callbacks).onTransactionFail)==null||h.call(S,i),i}return r})}};exports.a = f;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkGS3FTDMMcjs = require('./chunk-GS3FTDMM.cjs');var _chunkDANM4IBFcjs = require('./chunk-DANM4IBF.cjs');var _chunk77XNFPULcjs = require('./chunk-77XNFPUL.cjs');var _chunkCK4JCQY6cjs = require('./chunk-CK4JCQY6.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var f=class{constructor(n,o,t=new (0, _chunkGS3FTDMMcjs.a)(n,o),a={}){this.walletLocator=n;this.apiClient=o;this.approvalsService=t;this.callbacks=a}createSignAndConfirm(n){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a,r,e,s;(r=(a=this.callbacks).onTransactionStart)==null||r.call(a,n.transaction);let o=yield this.create(n);yield this.approveTransaction(o.id,[...n.signer!=null?[n.signer]:[],...n.additionalSigners||[]]);let t=yield this.waitForTransaction(o.id);return(s=(e=this.callbacks).onTransactionComplete)==null||s.call(e,n.transaction),t})}getTransactions(){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){return yield this.apiClient.getTransactions(this.walletLocator)})}approveTransaction(n,o){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var a;let t=yield this.apiClient.getTransaction(this.walletLocator,n);t.status==="awaiting-approval"&&(yield this.approvalsService.approve(t.id,((a=t.approvals)==null?void 0:a.pending)||[],o))})}create(n){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){let{transaction:o,signer:t,additionalSigners:a}=n,r=_chunkCK4JCQY6cjs.a.call(void 0, _chunkCK4JCQY6cjs.a.call(void 0, {transaction:_bs582.default.encode(o.serialize())},t?{signer:t.address}:{}),a?{additionalSigners:a.map(s=>s.address)}:{});return yield this.apiClient.createTransaction(this.walletLocator,{params:r})})}waitForTransaction(n,o=6e4){return _chunkCK4JCQY6cjs.c.call(void 0, this,null,function*(){var e,s,p,d,g,w,S,h;let t=Date.now(),a;do{if(Date.now()-t>o){let i=new Error("Transaction confirmation timeout");throw(s=(e=this.callbacks).onTransactionFail)==null||s.call(e,i),i}a=yield this.apiClient.getTransaction(this.walletLocator,n),yield _chunkDANM4IBFcjs.a.call(void 0, _chunk77XNFPULcjs.e)}while(a.status==="pending");if(a.status==="failed"){let i=new Error(`Transaction sending failed: ${JSON.stringify(a.error)}`);throw(d=(p=this.callbacks).onTransactionFail)==null||d.call(p,i),i}if(a.status==="awaiting-approval"){let i=new Error("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");throw(w=(g=this.callbacks).onTransactionFail)==null||w.call(g,i),i}let r=a.onChain.txId;if(r==null){let i=new Error("Transaction hash not found on transaction response");throw(h=(S=this.callbacks).onTransactionFail)==null||h.call(S,i),i}return r})}};exports.a = f;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBWJHF7KDcjs = require('./chunk-BWJHF7KD.cjs');var _chunk2JQY7G4Lcjs = require('./chunk-2JQY7G4L.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var a=class s{constructor(t,e=new (0, _chunk2JQY7G4Lcjs.a)(t),l=new (0, _chunkBWJHF7KDcjs.a)(e)){this.walletFactory=l}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};exports.a = _commonsdkbase.createCrossmint; exports.b = a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4BA3K7WEcjs = require('./chunk-4BA3K7WE.cjs');var _chunkBO6NALPUcjs = require('./chunk-BO6NALPU.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var a=class s{constructor(t,e=new (0, _chunkBO6NALPUcjs.a)(t),l=new (0, _chunk4BA3K7WEcjs.a)(e)){this.walletFactory=l}static from(t){return new s(t)}getOrCreateWallet(t,e,l){return this.walletFactory.getOrCreateWallet(t,e,l)}getWallet(t,e,l,p){return this.walletFactory.getWallet(t,e,l,p)}};exports.a = _commonsdkbase.createCrossmint; exports.b = a;
@@ -1 +1 @@
1
- import{a as d}from"./chunk-SOBRNR2K.js";import{a as r,c as o,d as c}from"./chunk-6W35AARC.js";import{a as S}from"./chunk-TYK4I7OU.js";import{c as a}from"./chunk-22GIA4MK.js";var s=class{constructor(e,n,t,i){this.apiClient=e;this.publicKey=n;this.client=t;this.callbacks=i;this.transactionsService=new d(this.walletLocator,this.apiClient),this.delegatedSignerService=new S(this.walletLocator,this.transactionsService,e)}getPublicKey(){return this.publicKey}getAddress(){return this.publicKey.toBase58()}balances(e){return a(this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{tokens:e})})}transactions(){return a(this,null,function*(){return yield this.transactionsService.getTransactions()})}nfts(e,n,t){return a(this,null,function*(){return yield this.apiClient.getNfts("solana",t!=null?t:this.walletLocator,e,n)})}get walletLocator(){return this.apiClient.isServerSide?this.getAddress():"me:solana-smart-wallet"}},p=class extends s{constructor(e,n,t,i,u){super(e,n,i,u),this.adminSigner=c(t)}sendTransaction(e){return a(this,null,function*(){var i;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),t=(i=e.additionalSigners)==null?void 0:i.map(r);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:t})})}addDelegatedSigner(e){return a(this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,o(this.adminSigner)?this.adminSigner:void 0)})}getEffectiveTransactionSigner(e){return e==null?o(this.adminSigner)?this.adminSigner:void 0:r(e)}},g=class extends s{sendTransaction(e){return a(this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(r)})})}};export{p as a,g as b};
1
+ import{a as d}from"./chunk-A5JRGUAF.js";import{a as r,c as o,d as c}from"./chunk-6W35AARC.js";import{a as S}from"./chunk-TYK4I7OU.js";import{c as a}from"./chunk-22GIA4MK.js";var s=class{constructor(e,n,t,i){this.apiClient=e;this.publicKey=n;this.client=t;this.callbacks=i;this.transactionsService=new d(this.walletLocator,this.apiClient),this.delegatedSignerService=new S(this.walletLocator,this.transactionsService,e)}getPublicKey(){return this.publicKey}getAddress(){return this.publicKey.toBase58()}balances(e){return a(this,null,function*(){return yield this.apiClient.getBalance(this.walletLocator,{tokens:e})})}transactions(){return a(this,null,function*(){return yield this.transactionsService.getTransactions()})}nfts(e,n,t){return a(this,null,function*(){return yield this.apiClient.getNfts("solana",t!=null?t:this.walletLocator,e,n)})}get walletLocator(){return this.apiClient.isServerSide?this.getAddress():"me:solana-smart-wallet"}},p=class extends s{constructor(e,n,t,i,u){super(e,n,i,u),this.adminSigner=c(t)}sendTransaction(e){return a(this,null,function*(){var i;let n=this.getEffectiveTransactionSigner(e.delegatedSigner),t=(i=e.additionalSigners)==null?void 0:i.map(r);return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,signer:n,additionalSigners:t})})}addDelegatedSigner(e){return a(this,null,function*(){return yield this.delegatedSignerService.registerDelegatedSigner(e,o(this.adminSigner)?this.adminSigner:void 0)})}getEffectiveTransactionSigner(e){return e==null?o(this.adminSigner)?this.adminSigner:void 0:r(e)}},g=class extends s{sendTransaction(e){return a(this,null,function*(){var n;return yield this.transactionsService.createSignAndConfirm({transaction:e.transaction,additionalSigners:(n=e.additionalSigners)==null?void 0:n.map(r)})})}};export{p as a,g as b};
@@ -0,0 +1 @@
1
+ var s="@crossmint/wallets-sdk",t="0.3.0";var d="WALLETS_SDK",c=t,a=s,r="0x0000000071727de22e5e9d8baf0edac6f37da032",m=1e3;export{d as a,c as b,a as c,r as d,m as e};
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C2WL57HT.cjs');var _chunk4UE7R26Lcjs = require('../chunk-4UE7R26L.cjs');require('../chunk-6DTBGTSS.cjs');var _chunkAHFMV7RZcjs = require('../chunk-AHFMV7RZ.cjs');require('../chunk-MFUN74KH.cjs');require('../chunk-F2XDGZCB.cjs');require('../chunk-DANM4IBF.cjs');require('../chunk-H44YSVZH.cjs');require('../chunk-CK4JCQY6.cjs');exports.EVMMPCWallet = _chunk4UE7R26Lcjs.b; exports.EVMSmartWallet = _chunk4UE7R26Lcjs.a; exports.isMainnetChain = _chunkAHFMV7RZcjs.b; exports.isTestnetChain = _chunkAHFMV7RZcjs.a; exports.toViemChain = _chunkAHFMV7RZcjs.c;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C2WL57HT.cjs');var _chunk5532WGFEcjs = require('../chunk-5532WGFE.cjs');require('../chunk-6DTBGTSS.cjs');var _chunkAHFMV7RZcjs = require('../chunk-AHFMV7RZ.cjs');require('../chunk-MFUN74KH.cjs');require('../chunk-F2XDGZCB.cjs');require('../chunk-DANM4IBF.cjs');require('../chunk-77XNFPUL.cjs');require('../chunk-CK4JCQY6.cjs');exports.EVMSmartWallet = _chunk5532WGFEcjs.a; exports.isMainnetChain = _chunkAHFMV7RZcjs.b; exports.isTestnetChain = _chunkAHFMV7RZcjs.a; exports.toViemChain = _chunkAHFMV7RZcjs.c;
@@ -1,4 +1,4 @@
1
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, e as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-Mvk7QHyT.cjs';
1
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, d as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-Cn1njoZn.cjs';
2
2
  export { EVMSmartWalletChain, isMainnetChain, isTestnetChain, toViemChain } from './chains/index.cjs';
3
3
  import '../solana/tokens.cjs';
4
4
  import '../solana/types/signers.cjs';
@@ -1,4 +1,4 @@
1
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, e as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-CUldpH17.js';
1
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, d as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-CK_CCQti.js';
2
2
  export { EVMSmartWalletChain, isMainnetChain, isTestnetChain, toViemChain } from './chains/index.js';
3
3
  import '../solana/tokens.js';
4
4
  import '../solana/types/signers.js';
package/dist/evm/index.js CHANGED
@@ -1 +1 @@
1
- import"../chunk-CGHMCYX6.js";import{a as d,b as e}from"../chunk-3LLFAHJH.js";import"../chunk-HKY6CBZC.js";import{a,b,c}from"../chunk-7Y2E7VNV.js";import"../chunk-KVFFSUF4.js";import"../chunk-SILEK5O4.js";import"../chunk-LX6WD7J6.js";import"../chunk-BH2AOWQH.js";import"../chunk-22GIA4MK.js";export{e as EVMMPCWallet,d as EVMSmartWallet,b as isMainnetChain,a as isTestnetChain,c as toViemChain};
1
+ import"../chunk-CGHMCYX6.js";import{a as d}from"../chunk-O7CIQQ33.js";import"../chunk-HKY6CBZC.js";import{a,b,c}from"../chunk-7Y2E7VNV.js";import"../chunk-KVFFSUF4.js";import"../chunk-SILEK5O4.js";import"../chunk-LX6WD7J6.js";import"../chunk-ZV4NPDI5.js";import"../chunk-22GIA4MK.js";export{d as EVMSmartWallet,b as isMainnetChain,a as isTestnetChain,c as toViemChain};
@@ -1,5 +1,5 @@
1
1
  import { CreateWalletResponse } from '../api/client.cjs';
2
- import { E as EVMSignerInput, a as EVMSigner, P as PasskeyCreationCallback } from '../wallet-Mvk7QHyT.cjs';
2
+ import { E as EVMSignerInput, a as EVMSigner, P as PasskeyCreationCallback } from '../wallet-Cn1njoZn.cjs';
3
3
  import '@crossmint/common-sdk-base';
4
4
  import 'viem';
5
5
  import '../api/gen/types.gen.cjs';
@@ -1,5 +1,5 @@
1
1
  import { CreateWalletResponse } from '../api/client.js';
2
- import { E as EVMSignerInput, a as EVMSigner, P as PasskeyCreationCallback } from '../wallet-CUldpH17.js';
2
+ import { E as EVMSignerInput, a as EVMSigner, P as PasskeyCreationCallback } from '../wallet-CK_CCQti.js';
3
3
  import '@crossmint/common-sdk-base';
4
4
  import 'viem';
5
5
  import '../api/gen/types.gen.js';
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk4UE7R26Lcjs = require('../chunk-4UE7R26L.cjs');require('../chunk-6DTBGTSS.cjs');require('../chunk-AHFMV7RZ.cjs');require('../chunk-MFUN74KH.cjs');require('../chunk-F2XDGZCB.cjs');require('../chunk-DANM4IBF.cjs');require('../chunk-H44YSVZH.cjs');require('../chunk-CK4JCQY6.cjs');exports.EVMMPCWallet = _chunk4UE7R26Lcjs.b; exports.EVMSmartWallet = _chunk4UE7R26Lcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk5532WGFEcjs = require('../chunk-5532WGFE.cjs');require('../chunk-6DTBGTSS.cjs');require('../chunk-AHFMV7RZ.cjs');require('../chunk-MFUN74KH.cjs');require('../chunk-F2XDGZCB.cjs');require('../chunk-DANM4IBF.cjs');require('../chunk-77XNFPUL.cjs');require('../chunk-CK4JCQY6.cjs');exports.EVMSmartWallet = _chunk5532WGFEcjs.a;
@@ -2,7 +2,7 @@ import '../api/client.cjs';
2
2
  import '../api/gen/types.gen.cjs';
3
3
  import 'ox';
4
4
  import 'viem';
5
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, e as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-Mvk7QHyT.cjs';
5
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, d as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-Cn1njoZn.cjs';
6
6
  import './chains/index.cjs';
7
7
  import '@crossmint/common-sdk-base';
8
8
  import '../solana/tokens.cjs';
@@ -2,7 +2,7 @@ import '../api/client.js';
2
2
  import '../api/gen/types.gen.js';
3
3
  import 'ox';
4
4
  import 'viem';
5
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, e as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-CUldpH17.js';
5
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, P as PasskeyCreationCallback, d as PasskeySigningCallback, T as TransactionInput, V as ViemWallet } from '../wallet-CK_CCQti.js';
6
6
  import './chains/index.js';
7
7
  import '@crossmint/common-sdk-base';
8
8
  import '../solana/tokens.js';
@@ -1 +1 @@
1
- import{a,b}from"../chunk-3LLFAHJH.js";import"../chunk-HKY6CBZC.js";import"../chunk-7Y2E7VNV.js";import"../chunk-KVFFSUF4.js";import"../chunk-SILEK5O4.js";import"../chunk-LX6WD7J6.js";import"../chunk-BH2AOWQH.js";import"../chunk-22GIA4MK.js";export{b as EVMMPCWallet,a as EVMSmartWallet};
1
+ import{a}from"../chunk-O7CIQQ33.js";import"../chunk-HKY6CBZC.js";import"../chunk-7Y2E7VNV.js";import"../chunk-KVFFSUF4.js";import"../chunk-SILEK5O4.js";import"../chunk-LX6WD7J6.js";import"../chunk-ZV4NPDI5.js";import"../chunk-22GIA4MK.js";export{a as EVMSmartWallet};
package/dist/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXRAPZZQMcjs = require('./chunk-XRAPZZQM.cjs');require('./chunk-BWJHF7KD.cjs');require('./chunk-3TTYXSH3.cjs');require('./chunk-F7GTDFYC.cjs');require('./chunk-E2EM43SP.cjs');var _chunkLJLBP2UEcjs = require('./chunk-LJLBP2UE.cjs');require('./chunk-AXW2RZ4C.cjs');require('./chunk-6XOH62PV.cjs');require('./chunk-GS3FTDMM.cjs');require('./chunk-FUHBLVE7.cjs');require('./chunk-RUIBT3JV.cjs');require('./chunk-2JQY7G4L.cjs');require('./chunk-C2WL57HT.cjs');require('./chunk-5ZR4MHEL.cjs');var _chunk4UE7R26Lcjs = require('./chunk-4UE7R26L.cjs');require('./chunk-6DTBGTSS.cjs');require('./chunk-AHFMV7RZ.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-F2XDGZCB.cjs');require('./chunk-DANM4IBF.cjs');require('./chunk-H44YSVZH.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintWallet = _chunkXRAPZZQMcjs.b; exports.EVMMPCWallet = _chunk4UE7R26Lcjs.b; exports.EVMSmartWallet = _chunk4UE7R26Lcjs.a; exports.SolanaMPCWallet = _chunkLJLBP2UEcjs.b; exports.SolanaSmartWallet = _chunkLJLBP2UEcjs.a; exports.createCrossmint = _chunkXRAPZZQMcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX4YZ637Bcjs = require('./chunk-X4YZ637B.cjs');require('./chunk-4BA3K7WE.cjs');require('./chunk-3TTYXSH3.cjs');require('./chunk-F7GTDFYC.cjs');require('./chunk-E2EM43SP.cjs');var _chunk5PPQPLGKcjs = require('./chunk-5PPQPLGK.cjs');require('./chunk-QM7XEW7M.cjs');require('./chunk-6XOH62PV.cjs');require('./chunk-GS3FTDMM.cjs');require('./chunk-FUHBLVE7.cjs');require('./chunk-RUIBT3JV.cjs');require('./chunk-BO6NALPU.cjs');require('./chunk-C2WL57HT.cjs');require('./chunk-5ZR4MHEL.cjs');var _chunk5532WGFEcjs = require('./chunk-5532WGFE.cjs');require('./chunk-6DTBGTSS.cjs');require('./chunk-AHFMV7RZ.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-F2XDGZCB.cjs');require('./chunk-DANM4IBF.cjs');require('./chunk-77XNFPUL.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintWallets = _chunkX4YZ637Bcjs.b; exports.EVMSmartWallet = _chunk5532WGFEcjs.a; exports.SolanaMPCWallet = _chunk5PPQPLGKcjs.b; exports.SolanaSmartWallet = _chunk5PPQPLGKcjs.a; exports.createCrossmint = _chunkX4YZ637Bcjs.a;
package/dist/index.d.cts CHANGED
@@ -1,5 +1,5 @@
1
- export { CrossmintWallet } from './sdk.cjs';
2
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, d as SolanaMPCWallet, S as SolanaSmartWallet } from './wallet-Mvk7QHyT.cjs';
1
+ export { CrossmintWallets } from './sdk.cjs';
2
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, c as SolanaMPCWallet, S as SolanaSmartWallet } from './wallet-Cn1njoZn.cjs';
3
3
  export { EVMSmartWalletChain } from './evm/chains/index.cjs';
4
4
  export { SolanaSignerInput } from './solana/types/signers.cjs';
5
5
  export { WalletTypeToArgs } from './services/types.cjs';
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
- export { CrossmintWallet } from './sdk.js';
2
- export { c as EVMMPCWallet, a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, d as SolanaMPCWallet, S as SolanaSmartWallet } from './wallet-CUldpH17.js';
1
+ export { CrossmintWallets } from './sdk.js';
2
+ export { a as EVMSigner, E as EVMSignerInput, b as EVMSmartWallet, c as SolanaMPCWallet, S as SolanaSmartWallet } from './wallet-CK_CCQti.js';
3
3
  export { EVMSmartWalletChain } from './evm/chains/index.js';
4
4
  export { SolanaSignerInput } from './solana/types/signers.js';
5
5
  export { WalletTypeToArgs } from './services/types.js';
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{a as o,b as l}from"./chunk-RC45AIGU.js";import"./chunk-VD5TKRQ7.js";import"./chunk-ITCP6W2T.js";import"./chunk-SDH5CVH7.js";import"./chunk-K7ZLWZPC.js";import{a as e,b as t}from"./chunk-3ZNYRG5N.js";import"./chunk-SOBRNR2K.js";import"./chunk-6W35AARC.js";import"./chunk-ICVV5CBS.js";import"./chunk-TYK4I7OU.js";import"./chunk-A7F5DWC7.js";import"./chunk-JGOFZWIU.js";import"./chunk-CGHMCYX6.js";import"./chunk-262U5V7I.js";import{a as r,b as a}from"./chunk-3LLFAHJH.js";import"./chunk-HKY6CBZC.js";import"./chunk-7Y2E7VNV.js";import"./chunk-KVFFSUF4.js";import"./chunk-SILEK5O4.js";import"./chunk-LX6WD7J6.js";import"./chunk-BH2AOWQH.js";import"./chunk-22GIA4MK.js";export{l as CrossmintWallet,a as EVMMPCWallet,r as EVMSmartWallet,t as SolanaMPCWallet,e as SolanaSmartWallet,o as createCrossmint};
1
+ import{a,b as o}from"./chunk-23NF4DFP.js";import"./chunk-AG4Y7DL6.js";import"./chunk-ITCP6W2T.js";import"./chunk-SDH5CVH7.js";import"./chunk-K7ZLWZPC.js";import{a as e,b as r}from"./chunk-XUFL23F4.js";import"./chunk-A5JRGUAF.js";import"./chunk-6W35AARC.js";import"./chunk-ICVV5CBS.js";import"./chunk-TYK4I7OU.js";import"./chunk-A7F5DWC7.js";import"./chunk-EHW5HYW4.js";import"./chunk-CGHMCYX6.js";import"./chunk-262U5V7I.js";import{a as t}from"./chunk-O7CIQQ33.js";import"./chunk-HKY6CBZC.js";import"./chunk-7Y2E7VNV.js";import"./chunk-KVFFSUF4.js";import"./chunk-SILEK5O4.js";import"./chunk-LX6WD7J6.js";import"./chunk-ZV4NPDI5.js";import"./chunk-22GIA4MK.js";export{o as CrossmintWallets,t as EVMSmartWallet,r as SolanaMPCWallet,e as SolanaSmartWallet,a as createCrossmint};
package/dist/sdk.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXRAPZZQMcjs = require('./chunk-XRAPZZQM.cjs');require('./chunk-BWJHF7KD.cjs');require('./chunk-3TTYXSH3.cjs');require('./chunk-F7GTDFYC.cjs');require('./chunk-E2EM43SP.cjs');require('./chunk-LJLBP2UE.cjs');require('./chunk-AXW2RZ4C.cjs');require('./chunk-6XOH62PV.cjs');require('./chunk-GS3FTDMM.cjs');require('./chunk-FUHBLVE7.cjs');require('./chunk-RUIBT3JV.cjs');require('./chunk-2JQY7G4L.cjs');require('./chunk-C2WL57HT.cjs');require('./chunk-5ZR4MHEL.cjs');require('./chunk-4UE7R26L.cjs');require('./chunk-6DTBGTSS.cjs');require('./chunk-AHFMV7RZ.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-F2XDGZCB.cjs');require('./chunk-DANM4IBF.cjs');require('./chunk-H44YSVZH.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintWallet = _chunkXRAPZZQMcjs.b; exports.createCrossmint = _chunkXRAPZZQMcjs.a;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkX4YZ637Bcjs = require('./chunk-X4YZ637B.cjs');require('./chunk-4BA3K7WE.cjs');require('./chunk-3TTYXSH3.cjs');require('./chunk-F7GTDFYC.cjs');require('./chunk-E2EM43SP.cjs');require('./chunk-5PPQPLGK.cjs');require('./chunk-QM7XEW7M.cjs');require('./chunk-6XOH62PV.cjs');require('./chunk-GS3FTDMM.cjs');require('./chunk-FUHBLVE7.cjs');require('./chunk-RUIBT3JV.cjs');require('./chunk-BO6NALPU.cjs');require('./chunk-C2WL57HT.cjs');require('./chunk-5ZR4MHEL.cjs');require('./chunk-5532WGFE.cjs');require('./chunk-6DTBGTSS.cjs');require('./chunk-AHFMV7RZ.cjs');require('./chunk-MFUN74KH.cjs');require('./chunk-F2XDGZCB.cjs');require('./chunk-DANM4IBF.cjs');require('./chunk-77XNFPUL.cjs');require('./chunk-CK4JCQY6.cjs');exports.CrossmintWallets = _chunkX4YZ637Bcjs.b; exports.createCrossmint = _chunkX4YZ637Bcjs.a;
package/dist/sdk.d.cts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { Crossmint } from '@crossmint/common-sdk-base';
2
2
  export { Crossmint, createCrossmint } from '@crossmint/common-sdk-base';
3
3
  import { WalletTypeToArgs, WalletTypeToWallet } from './services/types.cjs';
4
- import { W as WalletOptions } from './wallet-Mvk7QHyT.cjs';
4
+ import { W as WalletOptions } from './wallet-Cn1njoZn.cjs';
5
5
  import './evm/chains/index.cjs';
6
6
  import './solana/types/signers.cjs';
7
7
  import './solana/tokens.cjs';
@@ -13,12 +13,32 @@ import '@solana/web3.js';
13
13
  import './solana/services/approvals-service.cjs';
14
14
 
15
15
  type WalletType = keyof WalletTypeToArgs;
16
- declare class CrossmintWallet {
16
+ declare class CrossmintWallets {
17
17
  private readonly walletFactory;
18
18
  private constructor();
19
- static from(crossmint: Crossmint): CrossmintWallet;
19
+ /**
20
+ * Initialize the Wallets SDK
21
+ * @param crossmint - Crossmint data (use `createCrossmint` to initialize)
22
+ * @returns A new CrossmintWallets instance
23
+ */
24
+ static from(crossmint: Crossmint): CrossmintWallets;
25
+ /**
26
+ * Get or create a wallet
27
+ * @param type - Wallet type
28
+ * @param args - Wallet data
29
+ * @param options - Wallet options
30
+ * @returns A new wallet
31
+ */
20
32
  getOrCreateWallet<T extends WalletType>(type: T, args: WalletTypeToArgs[T], options?: WalletOptions): Promise<WalletTypeToWallet[T]>;
33
+ /**
34
+ * Get an existing wallet by address
35
+ * @param address - Wallet address
36
+ * @param type - Wallet type
37
+ * @param args - Wallet data
38
+ * @param options - Wallet options
39
+ * @returns A wallet
40
+ */
21
41
  getWallet<T extends WalletType>(address: string, type: T, args: WalletTypeToArgs[T], options?: WalletOptions): Promise<WalletTypeToWallet[T]>;
22
42
  }
23
43
 
24
- export { CrossmintWallet };
44
+ export { CrossmintWallets };