@crossmint/wallets-sdk 0.2.1 → 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.
- package/README.md +166 -0
- package/dist/api/client.cjs +1 -1
- package/dist/api/client.js +1 -1
- package/dist/api/index.cjs +1 -1
- package/dist/api/index.js +1 -1
- package/dist/{chunk-X7PCK47S.js → chunk-23NF4DFP.js} +1 -1
- package/dist/{chunk-7V6CFHWG.cjs → chunk-4BA3K7WE.cjs} +1 -1
- package/dist/{chunk-5GXQ7CHN.cjs → chunk-5532WGFE.cjs} +1 -1
- package/dist/{chunk-2E35Z275.cjs → chunk-5PPQPLGK.cjs} +1 -1
- package/dist/chunk-77XNFPUL.cjs +1 -0
- package/dist/{chunk-HZ24G5OH.js → chunk-A5JRGUAF.js} +1 -1
- package/dist/{chunk-WM77DASU.js → chunk-AG4Y7DL6.js} +1 -1
- package/dist/{chunk-V66COTDK.cjs → chunk-BO6NALPU.cjs} +1 -1
- package/dist/{chunk-JZG6LJBV.js → chunk-EHW5HYW4.js} +1 -1
- package/dist/{chunk-ZRONF4PZ.js → chunk-O7CIQQ33.js} +1 -1
- package/dist/{chunk-QVKPYYJH.cjs → chunk-QM7XEW7M.cjs} +1 -1
- package/dist/{chunk-EGMIM2XC.cjs → chunk-X4YZ637B.cjs} +1 -1
- package/dist/{chunk-RKJETRVH.js → chunk-XUFL23F4.js} +1 -1
- package/dist/chunk-ZV4NPDI5.js +1 -0
- package/dist/evm/index.cjs +1 -1
- package/dist/evm/index.d.cts +1 -1
- package/dist/evm/index.d.ts +1 -1
- package/dist/evm/index.js +1 -1
- package/dist/evm/utils.d.cts +1 -1
- package/dist/evm/utils.d.ts +1 -1
- package/dist/evm/wallet.cjs +1 -1
- package/dist/evm/wallet.d.cts +1 -1
- package/dist/evm/wallet.d.ts +1 -1
- package/dist/evm/wallet.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +2 -2
- package/dist/index.d.ts +2 -2
- package/dist/index.js +1 -1
- package/dist/sdk.cjs +1 -1
- package/dist/sdk.d.cts +24 -4
- package/dist/sdk.d.ts +24 -4
- package/dist/sdk.js +1 -1
- package/dist/services/types.d.cts +2 -7
- package/dist/services/types.d.ts +2 -7
- package/dist/services/wallet-factory.cjs +1 -1
- package/dist/services/wallet-factory.d.cts +1 -1
- package/dist/services/wallet-factory.d.ts +1 -1
- package/dist/services/wallet-factory.js +1 -1
- package/dist/solana/index.cjs +1 -1
- package/dist/solana/index.d.cts +1 -1
- package/dist/solana/index.d.ts +1 -1
- package/dist/solana/index.js +1 -1
- package/dist/solana/services/delegated-signers-service.d.cts +1 -1
- package/dist/solana/services/delegated-signers-service.d.ts +1 -1
- package/dist/solana/services/transactions-service.cjs +1 -1
- package/dist/solana/services/transactions-service.d.cts +1 -1
- package/dist/solana/services/transactions-service.d.ts +1 -1
- package/dist/solana/services/transactions-service.js +1 -1
- package/dist/solana/wallet.cjs +1 -1
- package/dist/solana/wallet.d.cts +1 -1
- package/dist/solana/wallet.d.ts +1 -1
- package/dist/solana/wallet.js +1 -1
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/utils/options.d.cts +1 -1
- package/dist/utils/options.d.ts +1 -1
- package/dist/{wallet-CUldpH17.d.ts → wallet-CK_CCQti.d.ts} +82 -4
- package/dist/{wallet-Mvk7QHyT.d.cts → wallet-Cn1njoZn.d.cts} +82 -4
- package/package.json +9 -5
- package/dist/chunk-AHMGNNR5.js +0 -1
- package/dist/chunk-OB27EEHC.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
|
+
```
|
package/dist/api/client.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkBO6NALPUcjs = require('../chunk-BO6NALPU.cjs');require('../chunk-77XNFPUL.cjs');require('../chunk-CK4JCQY6.cjs');exports.ApiClient = _chunkBO6NALPUcjs.a;
|
package/dist/api/client.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-EHW5HYW4.js";import"../chunk-ZV4NPDI5.js";import"../chunk-22GIA4MK.js";export{a as ApiClient};
|
package/dist/api/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-RUIBT3JV.cjs');var
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
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
|
|
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-
|
|
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-
|
|
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
|
|
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
|
|
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-
|
|
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};
|
package/dist/evm/index.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});require('../chunk-C2WL57HT.cjs');var
|
|
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;
|
package/dist/evm/index.d.cts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
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';
|
package/dist/evm/index.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export {
|
|
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
|
|
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};
|
package/dist/evm/utils.d.cts
CHANGED
|
@@ -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-
|
|
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';
|
package/dist/evm/utils.d.ts
CHANGED
|
@@ -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-
|
|
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';
|
package/dist/evm/wallet.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _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;
|
package/dist/evm/wallet.d.cts
CHANGED
|
@@ -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 {
|
|
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';
|
package/dist/evm/wallet.d.ts
CHANGED
|
@@ -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 {
|
|
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';
|
package/dist/evm/wallet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a
|
|
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
|
|
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 {
|
|
2
|
-
export {
|
|
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 {
|
|
2
|
-
export {
|
|
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
|
|
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
|
|
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-
|
|
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
|
|
16
|
+
declare class CrossmintWallets {
|
|
17
17
|
private readonly walletFactory;
|
|
18
18
|
private constructor();
|
|
19
|
-
|
|
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 {
|
|
44
|
+
export { CrossmintWallets };
|