@crossmint/wallets-sdk 0.9.6 → 0.10.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api/client.cjs +1 -1
- package/dist/api/client.d.cts +1 -1
- package/dist/api/client.d.ts +1 -1
- package/dist/api/client.js +1 -1
- package/dist/api/index.cjs +1 -1
- package/dist/api/index.d.cts +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +1 -1
- package/dist/api/types.d.cts +3 -2
- package/dist/api/types.d.ts +3 -2
- package/dist/{chunk-BXVLIZ6G.js → chunk-5YBA6OMB.js} +1 -1
- package/dist/{chunk-RDZYRVMZ.cjs → chunk-6DC2ZKQS.cjs} +1 -1
- package/dist/chunk-6TBWSRGC.cjs +1 -0
- package/dist/chunk-6XMHUB2S.js +1 -0
- package/dist/chunk-7LO5OKBZ.cjs +1 -0
- package/dist/{chunk-HMQIDZ53.cjs → chunk-AAUYKB26.cjs} +1 -1
- package/dist/chunk-AFYBD7FI.cjs +1 -0
- package/dist/chunk-CRQ3CJEJ.cjs +1 -0
- package/dist/chunk-DIZVZP5P.cjs +1 -0
- package/dist/{chunk-KTTTMBOT.cjs → chunk-DTUVYDGJ.cjs} +1 -1
- package/dist/{chunk-NQYAOPHP.cjs → chunk-DWD4LQ5M.cjs} +1 -1
- package/dist/chunk-EHJBOM3P.js +1 -0
- package/dist/{chunk-LWQ7YF46.js → chunk-FRTRIBDB.js} +1 -1
- package/dist/{chunk-STSNT4Z6.js → chunk-JW4BIROC.js} +1 -1
- package/dist/{chunk-BASQXCCA.js → chunk-KVCFU4WS.js} +1 -1
- package/dist/{chunk-YUXGNX2R.cjs → chunk-KZHAPWJW.cjs} +1 -1
- package/dist/{chunk-UVQDAYSR.js → chunk-M6N7GTZQ.js} +1 -1
- package/dist/chunk-PDL3XF5M.js +1 -0
- package/dist/chunk-QTSZSHKK.js +1 -0
- package/dist/chunk-RENRYAET.js +1 -0
- package/dist/chunk-T3ICQDFS.js +1 -0
- package/dist/chunk-TFNFVJ4T.js +1 -0
- package/dist/chunk-TZEOWFDT.cjs +1 -0
- package/dist/{chunk-JASS6LGM.js → chunk-WOEOIU7C.js} +1 -1
- package/dist/chunk-WZU4XAJU.cjs +1 -0
- package/dist/chunk-ZWDS66FS.cjs +1 -0
- package/dist/index.cjs +1 -1
- package/dist/index.d.cts +5 -5
- package/dist/index.d.ts +5 -5
- package/dist/index.js +1 -1
- package/dist/sdk.cjs +1 -1
- package/dist/sdk.d.cts +1 -1
- package/dist/sdk.d.ts +1 -1
- package/dist/sdk.js +1 -1
- package/dist/signers/email/email-iframe-manager.cjs +1 -1
- package/dist/signers/email/email-iframe-manager.d.cts +2 -1
- package/dist/signers/email/email-iframe-manager.d.ts +2 -1
- package/dist/signers/email/email-iframe-manager.js +1 -1
- package/dist/signers/email/email-signer-api-client.cjs +1 -1
- package/dist/signers/email/email-signer-api-client.js +1 -1
- package/dist/signers/email/email.cjs +1 -1
- package/dist/signers/email/email.d.cts +1 -2
- package/dist/signers/email/email.d.ts +1 -2
- package/dist/signers/email/email.js +1 -1
- package/dist/signers/email/index.cjs +1 -1
- package/dist/signers/email/index.d.cts +1 -2
- package/dist/signers/email/index.d.ts +1 -2
- package/dist/signers/email/index.js +1 -1
- package/dist/signers/evm-api-key.d.cts +1 -2
- package/dist/signers/evm-api-key.d.ts +1 -2
- package/dist/signers/evm-external-wallet.cjs +1 -1
- package/dist/signers/evm-external-wallet.d.cts +2 -3
- package/dist/signers/evm-external-wallet.d.ts +2 -3
- package/dist/signers/evm-external-wallet.js +1 -1
- package/dist/signers/index.cjs +1 -1
- package/dist/signers/index.d.cts +0 -1
- package/dist/signers/index.d.ts +0 -1
- package/dist/signers/index.js +1 -1
- package/dist/signers/passkey.d.cts +1 -2
- package/dist/signers/passkey.d.ts +1 -2
- package/dist/signers/solana-api-key.d.cts +1 -2
- package/dist/signers/solana-api-key.d.ts +1 -2
- package/dist/signers/solana-external-wallet.cjs +1 -1
- package/dist/signers/solana-external-wallet.d.cts +3 -3
- package/dist/signers/solana-external-wallet.d.ts +3 -3
- package/dist/signers/solana-external-wallet.js +1 -1
- package/dist/signers/types.d.cts +4 -23
- package/dist/signers/types.d.ts +4 -23
- package/dist/utils/constants.cjs +1 -1
- package/dist/utils/constants.js +1 -1
- package/dist/wallets/evm.cjs +1 -1
- package/dist/wallets/evm.d.cts +2 -2
- package/dist/wallets/evm.d.ts +2 -2
- package/dist/wallets/evm.js +1 -1
- package/dist/wallets/solana.cjs +1 -1
- package/dist/wallets/solana.d.cts +2 -2
- package/dist/wallets/solana.d.ts +2 -2
- package/dist/wallets/solana.js +1 -1
- package/dist/wallets/types.d.cts +30 -2
- package/dist/wallets/types.d.ts +30 -2
- package/dist/wallets/wallet-factory.cjs +1 -1
- package/dist/wallets/wallet-factory.d.cts +1 -1
- package/dist/wallets/wallet-factory.d.ts +1 -1
- package/dist/wallets/wallet-factory.js +1 -1
- package/dist/wallets/wallet.cjs +1 -1
- package/dist/wallets/wallet.d.cts +22 -28
- package/dist/wallets/wallet.d.ts +22 -28
- package/dist/wallets/wallet.js +1 -1
- package/package.json +4 -4
- package/dist/chunk-2AWC6KEP.js +0 -1
- package/dist/chunk-3FUD4JAM.cjs +0 -1
- package/dist/chunk-3ZKXOCI7.cjs +0 -1
- package/dist/chunk-57EIEFQU.cjs +0 -1
- package/dist/chunk-5K5HFPJQ.cjs +0 -1
- package/dist/chunk-GCWUK6WO.js +0 -1
- package/dist/chunk-LFYI7K4T.js +0 -1
- package/dist/chunk-LQKXECMQ.js +0 -1
- package/dist/chunk-R7KEBAQ2.js +0 -1
- package/dist/chunk-TWQ6DA3Y.cjs +0 -1
- package/dist/chunk-U34BYZY2.js +0 -1
- package/dist/chunk-UYFBYHIT.cjs +0 -1
- package/dist/chunk-V3CBWWX2.cjs +0 -1
- package/dist/chunk-W3EMZ2Y7.js +0 -1
- package/dist/chunk-YAORQK6R.cjs +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-M6N7GTZQ.js";import"../chunk-TFNFVJ4T.js";import"../chunk-WOEOIU7C.js";import"../chunk-3W44OI5M.js";import"../chunk-6XMHUB2S.js";import"../chunk-PDL3XF5M.js";import"../chunk-KVCFU4WS.js";import"../chunk-OV4CFQ36.js";import"../chunk-77QBSFHG.js";import"../chunk-T3ICQDFS.js";import"../chunk-M4ELAV7U.js";import"../chunk-FUUYGB4K.js";import"../chunk-EHJBOM3P.js";import"../chunk-7ENJXL4H.js";import"../chunk-2KK65AC6.js";import"../chunk-QTSZSHKK.js";import"../chunk-BW7YYVZE.js";export{a as WalletFactory};
|
package/dist/wallets/wallet.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkWZU4XAJUcjs = require('../chunk-WZU4XAJU.cjs');require('../chunk-CRQ3CJEJ.cjs');require('../chunk-CT2UGJEL.cjs');require('../chunk-XALFCQKD.cjs');exports.Wallet = _chunkWZU4XAJUcjs.a;
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.cjs';
|
|
2
2
|
import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.cjs';
|
|
3
3
|
import { ApiClient } from '../api/client.cjs';
|
|
4
|
-
import {
|
|
5
|
-
import { WalletOptions, DelegatedSigner, PendingApproval } from './types.cjs';
|
|
4
|
+
import { GetNftsResponse, GetTransactionsResponse, Activity } from '../api/types.cjs';
|
|
5
|
+
import { WalletOptions, Balances, UserLocator, Transaction, DelegatedSigner, PendingApproval } from './types.cjs';
|
|
6
6
|
import { Chain } from '../chains/chains.cjs';
|
|
7
7
|
import 'ox';
|
|
8
|
-
import '@solana/web3.js';
|
|
9
|
-
import 'viem';
|
|
10
8
|
import '@crossmint/client-sdk-window';
|
|
11
9
|
import '@crossmint/client-signers';
|
|
12
10
|
import '@crossmint/common-sdk-base';
|
|
11
|
+
import 'viem';
|
|
12
|
+
import '@solana/web3.js';
|
|
13
13
|
|
|
14
14
|
type WalletContructorType<C extends Chain> = {
|
|
15
15
|
chain: C;
|
|
@@ -30,13 +30,18 @@ declare class Wallet<C extends Chain> {
|
|
|
30
30
|
protected get apiClient(): ApiClient;
|
|
31
31
|
protected get options(): WalletOptions | undefined;
|
|
32
32
|
/**
|
|
33
|
-
* Get the wallet balances
|
|
34
|
-
* @param {string[]}
|
|
35
|
-
* @param {Chain[]}
|
|
36
|
-
* @returns {Promise<Balances>} The balances
|
|
33
|
+
* Get the wallet balances - always includes USDC and native token (ETH/SOL)
|
|
34
|
+
* @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
|
|
35
|
+
* @param {Chain[]} chains - The chains (optional)
|
|
36
|
+
* @returns {Promise<Balances>} The balances structured as { nativeToken, usdc, tokens }
|
|
37
37
|
* @throws {Error} If the balances cannot be retrieved
|
|
38
38
|
*/
|
|
39
|
-
balances(tokens
|
|
39
|
+
balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
|
|
40
|
+
/**
|
|
41
|
+
* Transform the API balance response to the new structure
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
private transformBalanceResponse;
|
|
40
45
|
/**
|
|
41
46
|
* Get the wallet NFTs
|
|
42
47
|
* @param {Object} params - The parameters
|
|
@@ -44,9 +49,9 @@ declare class Wallet<C extends Chain> {
|
|
|
44
49
|
* @param {number} params.page - The page number
|
|
45
50
|
* @param {EvmWalletLocator} [params.locator] - The locator
|
|
46
51
|
* @returns The NFTs
|
|
47
|
-
* @
|
|
52
|
+
* @experimental This API is experimental and may change in the future
|
|
48
53
|
*/
|
|
49
|
-
|
|
54
|
+
experimental_nfts(params: {
|
|
50
55
|
perPage: number;
|
|
51
56
|
page: number;
|
|
52
57
|
}): Promise<GetNftsResponse>;
|
|
@@ -54,7 +59,7 @@ declare class Wallet<C extends Chain> {
|
|
|
54
59
|
* Get the wallet transactions
|
|
55
60
|
* @returns The transactions
|
|
56
61
|
*/
|
|
57
|
-
|
|
62
|
+
experimental_transactions(): Promise<GetTransactionsResponse>;
|
|
58
63
|
/**
|
|
59
64
|
* Get the wallet activity
|
|
60
65
|
* @returns The activity
|
|
@@ -67,9 +72,9 @@ declare class Wallet<C extends Chain> {
|
|
|
67
72
|
* @param {string | UserLocator} to - The recipient (address or user locator)
|
|
68
73
|
* @param {string} token - The token (address or currency symbol)
|
|
69
74
|
* @param {string} amount - The amount to send (decimal units)
|
|
70
|
-
* @returns {
|
|
75
|
+
* @returns {Transaction} The transaction
|
|
71
76
|
*/
|
|
72
|
-
send(to: string | UserLocator, token: string, amount: string): Promise<
|
|
77
|
+
send(to: string | UserLocator, token: string, amount: string): Promise<Transaction>;
|
|
73
78
|
/**
|
|
74
79
|
* Add a delegated signer to the wallet
|
|
75
80
|
* @param signer - The signer
|
|
@@ -81,7 +86,7 @@ declare class Wallet<C extends Chain> {
|
|
|
81
86
|
delegatedSigners(): Promise<DelegatedSigner[]>;
|
|
82
87
|
protected get walletLocator(): string;
|
|
83
88
|
protected get isSolanaWallet(): boolean;
|
|
84
|
-
protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<
|
|
89
|
+
protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<Transaction>;
|
|
85
90
|
protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
|
|
86
91
|
protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
|
|
87
92
|
protected waitForSignature(signatureId: string): Promise<string>;
|
|
@@ -89,19 +94,8 @@ declare class Wallet<C extends Chain> {
|
|
|
89
94
|
initialBackoffMs?: number;
|
|
90
95
|
backoffMultiplier?: number;
|
|
91
96
|
maxBackoffMs?: number;
|
|
92
|
-
}): Promise<
|
|
97
|
+
}): Promise<Transaction>;
|
|
93
98
|
protected sleep(ms: number): Promise<unknown>;
|
|
94
99
|
}
|
|
95
|
-
type UserLocator = {
|
|
96
|
-
email: string;
|
|
97
|
-
} | {
|
|
98
|
-
x: string;
|
|
99
|
-
} | {
|
|
100
|
-
twitter: string;
|
|
101
|
-
} | {
|
|
102
|
-
phone: string;
|
|
103
|
-
} | {
|
|
104
|
-
userId: string;
|
|
105
|
-
};
|
|
106
100
|
|
|
107
|
-
export {
|
|
101
|
+
export { Wallet };
|
package/dist/wallets/wallet.d.ts
CHANGED
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
import { Signer, PasskeySignResult, BaseSignResult } from '../signers/types.js';
|
|
2
2
|
import { WalletsV1Alpha2TransactionResponseDto } from '../api/gen/types.gen.js';
|
|
3
3
|
import { ApiClient } from '../api/client.js';
|
|
4
|
-
import {
|
|
5
|
-
import { WalletOptions, DelegatedSigner, PendingApproval } from './types.js';
|
|
4
|
+
import { GetNftsResponse, GetTransactionsResponse, Activity } from '../api/types.js';
|
|
5
|
+
import { WalletOptions, Balances, UserLocator, Transaction, DelegatedSigner, PendingApproval } from './types.js';
|
|
6
6
|
import { Chain } from '../chains/chains.js';
|
|
7
7
|
import 'ox';
|
|
8
|
-
import '@solana/web3.js';
|
|
9
|
-
import 'viem';
|
|
10
8
|
import '@crossmint/client-sdk-window';
|
|
11
9
|
import '@crossmint/client-signers';
|
|
12
10
|
import '@crossmint/common-sdk-base';
|
|
11
|
+
import 'viem';
|
|
12
|
+
import '@solana/web3.js';
|
|
13
13
|
|
|
14
14
|
type WalletContructorType<C extends Chain> = {
|
|
15
15
|
chain: C;
|
|
@@ -30,13 +30,18 @@ declare class Wallet<C extends Chain> {
|
|
|
30
30
|
protected get apiClient(): ApiClient;
|
|
31
31
|
protected get options(): WalletOptions | undefined;
|
|
32
32
|
/**
|
|
33
|
-
* Get the wallet balances
|
|
34
|
-
* @param {string[]}
|
|
35
|
-
* @param {Chain[]}
|
|
36
|
-
* @returns {Promise<Balances>} The balances
|
|
33
|
+
* Get the wallet balances - always includes USDC and native token (ETH/SOL)
|
|
34
|
+
* @param {string[]} tokens - Additional tokens to request (optional: native token and usdc are always included)
|
|
35
|
+
* @param {Chain[]} chains - The chains (optional)
|
|
36
|
+
* @returns {Promise<Balances>} The balances structured as { nativeToken, usdc, tokens }
|
|
37
37
|
* @throws {Error} If the balances cannot be retrieved
|
|
38
38
|
*/
|
|
39
|
-
balances(tokens
|
|
39
|
+
balances(tokens?: string[], chains?: Chain[]): Promise<Balances>;
|
|
40
|
+
/**
|
|
41
|
+
* Transform the API balance response to the new structure
|
|
42
|
+
* @private
|
|
43
|
+
*/
|
|
44
|
+
private transformBalanceResponse;
|
|
40
45
|
/**
|
|
41
46
|
* Get the wallet NFTs
|
|
42
47
|
* @param {Object} params - The parameters
|
|
@@ -44,9 +49,9 @@ declare class Wallet<C extends Chain> {
|
|
|
44
49
|
* @param {number} params.page - The page number
|
|
45
50
|
* @param {EvmWalletLocator} [params.locator] - The locator
|
|
46
51
|
* @returns The NFTs
|
|
47
|
-
* @
|
|
52
|
+
* @experimental This API is experimental and may change in the future
|
|
48
53
|
*/
|
|
49
|
-
|
|
54
|
+
experimental_nfts(params: {
|
|
50
55
|
perPage: number;
|
|
51
56
|
page: number;
|
|
52
57
|
}): Promise<GetNftsResponse>;
|
|
@@ -54,7 +59,7 @@ declare class Wallet<C extends Chain> {
|
|
|
54
59
|
* Get the wallet transactions
|
|
55
60
|
* @returns The transactions
|
|
56
61
|
*/
|
|
57
|
-
|
|
62
|
+
experimental_transactions(): Promise<GetTransactionsResponse>;
|
|
58
63
|
/**
|
|
59
64
|
* Get the wallet activity
|
|
60
65
|
* @returns The activity
|
|
@@ -67,9 +72,9 @@ declare class Wallet<C extends Chain> {
|
|
|
67
72
|
* @param {string | UserLocator} to - The recipient (address or user locator)
|
|
68
73
|
* @param {string} token - The token (address or currency symbol)
|
|
69
74
|
* @param {string} amount - The amount to send (decimal units)
|
|
70
|
-
* @returns {
|
|
75
|
+
* @returns {Transaction} The transaction
|
|
71
76
|
*/
|
|
72
|
-
send(to: string | UserLocator, token: string, amount: string): Promise<
|
|
77
|
+
send(to: string | UserLocator, token: string, amount: string): Promise<Transaction>;
|
|
73
78
|
/**
|
|
74
79
|
* Add a delegated signer to the wallet
|
|
75
80
|
* @param signer - The signer
|
|
@@ -81,7 +86,7 @@ declare class Wallet<C extends Chain> {
|
|
|
81
86
|
delegatedSigners(): Promise<DelegatedSigner[]>;
|
|
82
87
|
protected get walletLocator(): string;
|
|
83
88
|
protected get isSolanaWallet(): boolean;
|
|
84
|
-
protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<
|
|
89
|
+
protected approveAndWait(transactionId: string, additionalSigners?: Signer[]): Promise<Transaction>;
|
|
85
90
|
protected approveTransaction(transactionId: string, additionalSigners?: Signer[]): Promise<WalletsV1Alpha2TransactionResponseDto>;
|
|
86
91
|
protected approveSignature(pendingApprovals: Array<PendingApproval>, signatureId: string): Promise<PasskeySignResult | BaseSignResult>;
|
|
87
92
|
protected waitForSignature(signatureId: string): Promise<string>;
|
|
@@ -89,19 +94,8 @@ declare class Wallet<C extends Chain> {
|
|
|
89
94
|
initialBackoffMs?: number;
|
|
90
95
|
backoffMultiplier?: number;
|
|
91
96
|
maxBackoffMs?: number;
|
|
92
|
-
}): Promise<
|
|
97
|
+
}): Promise<Transaction>;
|
|
93
98
|
protected sleep(ms: number): Promise<unknown>;
|
|
94
99
|
}
|
|
95
|
-
type UserLocator = {
|
|
96
|
-
email: string;
|
|
97
|
-
} | {
|
|
98
|
-
x: string;
|
|
99
|
-
} | {
|
|
100
|
-
twitter: string;
|
|
101
|
-
} | {
|
|
102
|
-
phone: string;
|
|
103
|
-
} | {
|
|
104
|
-
userId: string;
|
|
105
|
-
};
|
|
106
100
|
|
|
107
|
-
export {
|
|
101
|
+
export { Wallet };
|
package/dist/wallets/wallet.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a}from"../chunk-
|
|
1
|
+
import{a}from"../chunk-TFNFVJ4T.js";import"../chunk-EHJBOM3P.js";import"../chunk-7ENJXL4H.js";import"../chunk-BW7YYVZE.js";export{a as Wallet};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crossmint/wallets-sdk",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.10.1",
|
|
4
4
|
"repository": "https://github.com/Crossmint/crossmint-sdk",
|
|
5
5
|
"license": "Apache-2.0",
|
|
6
6
|
"author": "Paella Labs Inc",
|
|
@@ -24,10 +24,10 @@
|
|
|
24
24
|
"ox": "0.6.9",
|
|
25
25
|
"tweetnacl": "1.0.3",
|
|
26
26
|
"viem": "2.23.6",
|
|
27
|
-
"@crossmint/common-sdk-auth": "1.0.
|
|
28
|
-
"@crossmint/common-sdk-base": "0.7.2",
|
|
27
|
+
"@crossmint/common-sdk-auth": "1.0.37",
|
|
29
28
|
"@crossmint/client-sdk-window": "1.0.0",
|
|
30
|
-
"@crossmint/
|
|
29
|
+
"@crossmint/common-sdk-base": "0.8.0",
|
|
30
|
+
"@crossmint/client-signers": "0.0.17"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@hey-api/openapi-ts": "0.69.2",
|
package/dist/chunk-2AWC6KEP.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as l}from"./chunk-U34BYZY2.js";import{a as d}from"./chunk-BASQXCCA.js";import{a as h}from"./chunk-M4ELAV7U.js";import{f as o}from"./chunk-BW7YYVZE.js";import{VersionedTransaction as m}from"@solana/web3.js";import u from"bs58";import{validateAPIKey as f}from"@crossmint/common-sdk-base";var p=class{constructor(t){this.config=t;this.type="email";this._needsAuth=!0;this._authPromise=null;this.initialize()}locator(){return`solana-keypair:${this.config.signerAddress}`}initialize(){return o(this,null,function*(){if(this.config._handshakeParent==null){let t=f(this.config.crossmint.apiKey);if(!t.isValid)throw new Error("Invalid API key");let n=new l({environment:t.environment});this.config._handshakeParent=yield n.initialize()}})}signMessage(){return o(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(t){return o(this,null,function*(){var a,r;yield this.handleAuthRequired();let n=u.decode(t),s=m.deserialize(n).message.serialize(),e=yield(r=this.config._handshakeParent)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:(a=this.config.crossmint.jwt)!=null?a:"",apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:u.encode(s),encoding:"base58"}},options:c});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return{signature:e.signature.bytes}})}handleAuthRequired(){return o(this,null,function*(){var e,a;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let t=yield(a=this.config._handshakeParent)==null?void 0:a.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(e=this.config.crossmint.jwt)!=null?e:"",apiKey:this.config.crossmint.apiKey}},options:c});if((t==null?void 0:t.status)!=="success")throw new Error(t==null?void 0:t.error);if(t.signerStatus==="ready"){this._needsAuth=!1;return}let{promise:n,resolve:i,reject:s}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:i,reject:s},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendEmailWithOtp(),r=>this.verifyOtp(r),()=>s(new h))}catch(r){s(r)}try{yield n}catch(r){throw r}})}createAuthPromise(){let t,n;return{promise:new Promise((s,e)=>{t=s,n=e}),resolve:t,reject:n}}sendEmailWithOtp(){return o(this,null,function*(){var s,e;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let t=this.config._handshakeParent,n=`email:${this.config.email}`,i=yield t.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(s=this.config.crossmint.jwt)!=null?s:"",apiKey:this.config.crossmint.apiKey},data:{authId:n}},options:c});if((i==null?void 0:i.status)==="success"&&i.signerStatus==="ready"){this._needsAuth=!1;return}(i==null?void 0:i.status)==="error"&&(console.error("[sendEmailWithOtp] Failed to send OTP:",i),(e=this._authPromise)==null||e.reject(new Error(i.error||"Failed to initiate OTP process.")))})}verifyOtp(t){return o(this,null,function*(){var i,s,e,a;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let n=this.config._handshakeParent;try{let r=yield n.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(i=this.config.crossmint.jwt)!=null?i:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:t}}},options:c});if((r==null?void 0:r.status)==="success"){console.log("[verifyOtp] OTP validation successful"),this._needsAuth=!1,(s=this._authPromise)==null||s.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",r),this._needsAuth=!0;let g=(r==null?void 0:r.status)==="error"?r.error:"Failed to validate encrypted OTP";(e=this._authPromise)==null||e.reject(new Error(g))}catch(r){throw console.error("[verifyOtp] Error sending OTP validation request:",r),this._needsAuth=!0,(a=this._authPromise)==null||a.reject(r),r}})}static pregenerateSigner(t,n){return o(this,null,function*(){var i;if(t==null||((i=n.experimental_customAuth)==null?void 0:i.email)==null)throw new Error("Email is required to pregenerate a signer");try{let e=(yield new d(n).pregenerateSigner(t!=null?t:n.experimental_customAuth.email)).publicKey;if(e==null)throw new Error("No public key found");if(e.encoding!=="base58"||e.keyType!=="ed25519"||e.bytes==null)throw new Error("Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: "+JSON.stringify(e));return e.bytes}catch(s){throw console.error("[EmailSigner] Failed to pregenerate signer:",s),s}})}},c={timeoutMs:1e4,intervalMs:5e3};export{p as a};
|
package/dist/chunk-3FUD4JAM.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk3ZKXOCI7cjs = require('./chunk-3ZKXOCI7.cjs');var _chunkKTTTMBOTcjs = require('./chunk-KTTTMBOT.cjs');var _chunkZSWIQU3Ucjs = require('./chunk-ZSWIQU3U.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var _commonsdkbase = require('@crossmint/common-sdk-base');var p=class{constructor(t){this.config=t;this.type="email";this._needsAuth=!0;this._authPromise=null;this.initialize()}locator(){return`solana-keypair:${this.config.signerAddress}`}initialize(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.config._handshakeParent==null){let t=_commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);if(!t.isValid)throw new Error("Invalid API key");let n=new (0, _chunk3ZKXOCI7cjs.a)({environment:t.environment});this.config._handshakeParent=yield n.initialize()}})}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for email signer"))})}signTransaction(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var a,r;yield this.handleAuthRequired();let n=_bs582.default.decode(t),s=_web3js.VersionedTransaction.deserialize(n).message.serialize(),e=yield(r=this.config._handshakeParent)==null?void 0:r.sendAction({event:"request:sign",responseEvent:"response:sign",data:{authData:{jwt:(a=this.config.crossmint.jwt)!=null?a:"",apiKey:this.config.crossmint.apiKey},data:{keyType:"ed25519",bytes:_bs582.default.encode(s),encoding:"base58"}},options:c});if((e==null?void 0:e.status)==="error")throw new Error(e.error);if((e==null?void 0:e.signature)==null)throw new Error("Failed to sign transaction");return{signature:e.signature.bytes}})}handleAuthRequired(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var e,a;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let t=yield(a=this.config._handshakeParent)==null?void 0:a.sendAction({event:"request:get-status",responseEvent:"response:get-status",data:{authData:{jwt:(e=this.config.crossmint.jwt)!=null?e:"",apiKey:this.config.crossmint.apiKey}},options:c});if((t==null?void 0:t.status)!=="success")throw new Error(t==null?void 0:t.error);if(t.signerStatus==="ready"){this._needsAuth=!1;return}let{promise:n,resolve:i,reject:s}=this.createAuthPromise();if(this._authPromise={promise:n,resolve:i,reject:s},this.config.onAuthRequired)try{yield this.config.onAuthRequired(this._needsAuth,()=>this.sendEmailWithOtp(),r=>this.verifyOtp(r),()=>s(new _chunkZSWIQU3Ucjs.a))}catch(r){s(r)}try{yield n}catch(r){throw r}})}createAuthPromise(){let t,n;return{promise:new Promise((s,e)=>{t=s,n=e}),resolve:t,reject:n}}sendEmailWithOtp(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s,e;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let t=this.config._handshakeParent,n=`email:${this.config.email}`,i=yield t.sendAction({event:"request:start-onboarding",responseEvent:"response:start-onboarding",data:{authData:{jwt:(s=this.config.crossmint.jwt)!=null?s:"",apiKey:this.config.crossmint.apiKey},data:{authId:n}},options:c});if((i==null?void 0:i.status)==="success"&&i.signerStatus==="ready"){this._needsAuth=!1;return}(i==null?void 0:i.status)==="error"&&(console.error("[sendEmailWithOtp] Failed to send OTP:",i),(e=this._authPromise)==null||e.reject(new Error(i.error||"Failed to initiate OTP process.")))})}verifyOtp(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,s,e,a;if(this.config._handshakeParent==null)throw new Error("Handshake parent not initialized");let n=this.config._handshakeParent;try{let r=yield n.sendAction({event:"request:complete-onboarding",responseEvent:"response:complete-onboarding",data:{authData:{jwt:(i=this.config.crossmint.jwt)!=null?i:"",apiKey:this.config.crossmint.apiKey},data:{onboardingAuthentication:{encryptedOtp:t}}},options:c});if((r==null?void 0:r.status)==="success"){console.log("[verifyOtp] OTP validation successful"),this._needsAuth=!1,(s=this._authPromise)==null||s.resolve();return}console.error("[verifyOtp] Failed to validate OTP:",r),this._needsAuth=!0;let g=(r==null?void 0:r.status)==="error"?r.error:"Failed to validate encrypted OTP";(e=this._authPromise)==null||e.reject(new Error(g))}catch(r){throw console.error("[verifyOtp] Error sending OTP validation request:",r),this._needsAuth=!0,(a=this._authPromise)==null||a.reject(r),r}})}static pregenerateSigner(t,n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i;if(t==null||((i=n.experimental_customAuth)==null?void 0:i.email)==null)throw new Error("Email is required to pregenerate a signer");try{let e=(yield new (0, _chunkKTTTMBOTcjs.a)(n).pregenerateSigner(t!=null?t:n.experimental_customAuth.email)).publicKey;if(e==null)throw new Error("No public key found");if(e.encoding!=="base58"||e.keyType!=="ed25519"||e.bytes==null)throw new Error("Not supported. Expected public key to be in base58 encoding and ed25519 key type. Got: "+JSON.stringify(e));return e.bytes}catch(s){throw console.error("[EmailSigner] Failed to pregenerate signer:",s),s}})}},c={timeoutMs:1e4,intervalMs:5e3};exports.a = p;
|
package/dist/chunk-3ZKXOCI7.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _clientsdkwindow = require('@crossmint/client-sdk-window');var _clientsigners = require('@crossmint/client-signers');var r=class{constructor(n){this.config=n;this.handshakeParent=null}initialize(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.handshakeParent)return this.handshakeParent;let n=new URL("https://signers.crossmint.com/");n.searchParams.set("environment",this.config.environment);let e=yield this.createInvisibleIFrame(n.toString());return this.handshakeParent=yield _clientsdkwindow.IFrameWindow.init(e,{targetOrigin:n.origin,incomingEvents:_clientsigners.signerOutboundEvents,outgoingEvents:_clientsigners.signerInboundEvents}),yield this.handshakeParent.handshakeWithChild(),this.handshakeParent})}createInvisibleIFrame(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let e=document.createElement("iframe");return e.src=n,Object.assign(e.style,{position:"absolute",opacity:"0",pointerEvents:"none",width:"0",height:"0",border:"none",top:"-9999px",left:"-9999px"}),new Promise((i,a)=>{e.onload=()=>i(e),e.onerror=()=>a(new Error("Failed to load iframe content")),document.body.appendChild(e)})})}};exports.a = r;
|
package/dist/chunk-57EIEFQU.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3FUD4JAMcjs = require('./chunk-3FUD4JAM.cjs');var _chunkDYRSQN7Xcjs = require('./chunk-DYRSQN7X.cjs');var _chunkNVJN7LPYcjs = require('./chunk-NVJN7LPY.cjs');var _chunkTWQ6DA3Ycjs = require('./chunk-TWQ6DA3Y.cjs');var _chunkYO6BJ2DIcjs = require('./chunk-YO6BJ2DI.cjs');var _chunkYAORQK6Rcjs = require('./chunk-YAORQK6R.cjs');function w(r,e){switch(e.type){case"email":return new (0, _chunk3FUD4JAMcjs.a)(e);case"api-key":return r==="solana"?new (0, _chunkNVJN7LPYcjs.a)(e):new (0, _chunkYO6BJ2DIcjs.a)(e);case"external-wallet":return r==="solana"?new (0, _chunkTWQ6DA3Ycjs.a)(e):new (0, _chunkYAORQK6Rcjs.a)(e);case"passkey":return new (0, _chunkDYRSQN7Xcjs.a)(e)}}exports.a = w;
|
package/dist/chunk-5K5HFPJQ.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkV3CBWWX2cjs = require('./chunk-V3CBWWX2.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _commonsdkbase = require('@crossmint/common-sdk-base');var w,o,I= exports.a =class{constructor({chain:t,address:i,owner:r,signer:s,options:n},e){_chunkXALFCQKDcjs.d.call(void 0, this,w);_chunkXALFCQKDcjs.d.call(void 0, this,o);_chunkXALFCQKDcjs.e.call(void 0, this,o,e),this.chain=t,this.address=i,this.owner=r,this.signer=s,_chunkXALFCQKDcjs.e.call(void 0, this,w,n)}static getApiClient(t){return t.apiClient}static getOptions(t){return t.options}get apiClient(){return _chunkXALFCQKDcjs.c.call(void 0, this,o)}get options(){return _chunkXALFCQKDcjs.c.call(void 0, this,w)}balances(t,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getBalance(this.address,{chains:i!=null?i:[this.chain],tokens:t});if("error"in r)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(r.error)}`);return r})}unstable_nfts(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,o).unstable_getNfts(_chunkXALFCQKDcjs.b.call(void 0, _chunkXALFCQKDcjs.a.call(void 0, {},t),{chain:this.chain,address:this.address}))})}unstable_transactions(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getTransactions(this.walletLocator)})}experimental_activity(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let t=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in t)throw new Error(`Failed to get activity: ${JSON.stringify(t.error)}`);return t})}send(t,i,r){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let s=k(t),n=U(i,this.chain),e={recipient:s,amount:r},c=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).send(this.walletLocator,n,e);if("message"in c)throw new (0, _chunkCT2UGJELcjs.q)(`Failed to send token: ${JSON.stringify(c.message)}`);return yield this.approveAndWait(c.id)})}addDelegatedSigner(i){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({signer:t}){var s,n;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).registerSigner(this.walletLocator,{signer:t,chain:this.chain==="solana"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.error)}`);if("transaction"in r){let e=r.transaction.id;yield this.approveAndWait(e)}else{let e=(s=r.chains)==null?void 0:s[this.chain];if((e==null?void 0:e.status)==="awaiting-approval"){let c=((n=e.approvals)==null?void 0:n.pending)||[];yield this.approveSignature(c,e.id),yield this.waitForSignature(e.id);return}if((e==null?void 0:e.status)==="pending"){yield this.waitForSignature(e.id);return}}})}delegatedSigners(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var i,r,s;let t=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getWallet(this.walletLocator);if("error"in t)throw new (0, _chunkCT2UGJELcjs.d)(JSON.stringify(t));if(t.type!=="solana-smart-wallet"&&t.type!=="evm-smart-wallet")throw new (0, _chunkCT2UGJELcjs.c)(`Wallet type ${t.type} not supported`);return(s=(r=(i=t==null?void 0:t.config)==null?void 0:i.delegatedSigners)==null?void 0:r.map(n=>{let e=n.locator.indexOf(":");return{signer:`external-wallet:${e>=0?n.locator.slice(e+1):n.locator}`}}))!=null?s:[]})}get walletLocator(){return _chunkXALFCQKDcjs.c.call(void 0, this,o).isServerSide?this.address:`me:${this.isSolanaWallet?"solana-smart-wallet":"evm-smart-wallet"}`}get isSolanaWallet(){return this.chain==="solana"}approveAndWait(t,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.approveTransaction(t,i),yield this.sleep(1e3),yield this.waitForTransaction(t)})}approveTransaction(t,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var g,h,u,b;let r=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getTransaction(this.walletLocator,t);if(r.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(r));if(yield(u=(h=(g=_chunkXALFCQKDcjs.c.call(void 0, this,w))==null?void 0:g.experimental_callbacks)==null?void 0:h.onTransactionStart)==null?void 0:u.call(h),this.signer.type==="api-key")return r;let s=(b=r.approvals)==null?void 0:b.pending;if(s==null)return r;let n=[...i!=null?i:[],this.signer],e=yield Promise.all(s.map(d=>{let A=n.find(D=>D.locator()===d.signer);if(A==null)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${d.signer} not found in pending approvals`);let J=r.walletType==="solana-smart-wallet"?r.onChain.transaction:d.message;return A.signTransaction(J)})),c=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).approveTransaction(this.walletLocator,r.id,{approvals:e.map(d=>_chunkXALFCQKDcjs.a.call(void 0, {signer:this.signer.locator()},d))});if(c.error)throw new (0, _chunkCT2UGJELcjs.w)(JSON.stringify(c));return c})}approveSignature(t,i){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=t.find(n=>n.signer===this.signer.locator());if(!r)throw new (0, _chunkCT2UGJELcjs.i)(`Signer ${this.signer.locator()} not found in pending approvals`);let s=yield this.signer.signMessage(r.message);return yield _chunkXALFCQKDcjs.c.call(void 0, this,o).approveSignature(this.walletLocator,i,{approvals:[_chunkXALFCQKDcjs.a.call(void 0, {signer:this.signer.locator()},s)]}),s})}waitForSignature(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){let i=null;do if(yield new Promise(r=>setTimeout(r,_chunkV3CBWWX2cjs.d)),i=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getSignature(this.walletLocator,t),"error"in i)throw new (0, _chunkCT2UGJELcjs.p)(JSON.stringify(i));while(i===null||i.status==="pending");if(i.status==="failed")throw new (0, _chunkCT2UGJELcjs.m)("Signature signing failed");if(!i.outputSignature)throw new (0, _chunkCT2UGJELcjs.p)("Signature not available");return i.outputSignature})}waitForTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*(t,i=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:s=2e3,initialBackoffMs:n=_chunkV3CBWWX2cjs.d}={}){let c=Date.now(),g;do{if(Date.now()-c>i)throw new (0, _chunkCT2UGJELcjs.s)("Transaction confirmation timeout");if(g=yield _chunkXALFCQKDcjs.c.call(void 0, this,o).getTransaction(this.walletLocator,t),g.error)throw new (0, _chunkCT2UGJELcjs.r)(JSON.stringify(g));yield this.sleep(n),n=Math.min(n*r,s)}while(g.status==="pending");if(g.status==="failed")throw new (0, _chunkCT2UGJELcjs.t)(`Transaction sending failed: ${JSON.stringify(g.error)}`);if(g.status==="awaiting-approval")throw new (0, _chunkCT2UGJELcjs.u)("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let h=g.onChain.txId;if(h==null)throw new (0, _chunkCT2UGJELcjs.v)("Transaction hash not found on transaction response");return h})}sleep(t){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return new Promise(i=>setTimeout(i,t))})}};w=new WeakMap,o=new WeakMap;function k(a){if(typeof a=="string")return a;if("email"in a)return`email:${a.email}`;if("x"in a)return`x:${a.x}`;if("twitter"in a)return`twitter:${a.twitter}`;if("phone"in a)return`phoneNumber:${a.phone}`;if("userId"in a)return`userId:${a.userId}`;throw new Error("Invalid recipient locator")}function U(a,t){return _commonsdkbase.isValidAddress.call(void 0, a)?`${t}:${a}`:`${t}:${a.toLowerCase()}`}exports.a = I;
|
package/dist/chunk-GCWUK6WO.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{d as S}from"./chunk-LQKXECMQ.js";import{c as N,d as E,i as v,m as $,p as T,q as x,r as C,s as O,t as W,u as F,v as P,w as _}from"./chunk-7ENJXL4H.js";import{a as f,b as L,c as l,d as m,e as y,f as p}from"./chunk-BW7YYVZE.js";import{isValidAddress as M}from"@crossmint/common-sdk-base";var w,o,I=class{constructor({chain:t,address:i,owner:r,signer:s,options:n},e){m(this,w);m(this,o);y(this,o,e),this.chain=t,this.address=i,this.owner=r,this.signer=s,y(this,w,n)}static getApiClient(t){return t.apiClient}static getOptions(t){return t.options}get apiClient(){return l(this,o)}get options(){return l(this,w)}balances(t,i){return p(this,null,function*(){let r=yield l(this,o).getBalance(this.address,{chains:i!=null?i:[this.chain],tokens:t});if("error"in r)throw new Error(`Failed to get balances for wallet: ${JSON.stringify(r.error)}`);return r})}unstable_nfts(t){return p(this,null,function*(){return yield l(this,o).unstable_getNfts(L(f({},t),{chain:this.chain,address:this.address}))})}unstable_transactions(){return p(this,null,function*(){return yield l(this,o).getTransactions(this.walletLocator)})}experimental_activity(){return p(this,null,function*(){let t=yield this.apiClient.experimental_activity(this.walletLocator,{chain:this.chain});if("error"in t)throw new Error(`Failed to get activity: ${JSON.stringify(t.error)}`);return t})}send(t,i,r){return p(this,null,function*(){let s=k(t),n=U(i,this.chain),e={recipient:s,amount:r},c=yield l(this,o).send(this.walletLocator,n,e);if("message"in c)throw new x(`Failed to send token: ${JSON.stringify(c.message)}`);return yield this.approveAndWait(c.id)})}addDelegatedSigner(i){return p(this,arguments,function*({signer:t}){var s,n;let r=yield l(this,o).registerSigner(this.walletLocator,{signer:t,chain:this.chain==="solana"?void 0:this.chain});if("error"in r)throw new Error(`Failed to register signer: ${JSON.stringify(r.error)}`);if("transaction"in r){let e=r.transaction.id;yield this.approveAndWait(e)}else{let e=(s=r.chains)==null?void 0:s[this.chain];if((e==null?void 0:e.status)==="awaiting-approval"){let c=((n=e.approvals)==null?void 0:n.pending)||[];yield this.approveSignature(c,e.id),yield this.waitForSignature(e.id);return}if((e==null?void 0:e.status)==="pending"){yield this.waitForSignature(e.id);return}}})}delegatedSigners(){return p(this,null,function*(){var i,r,s;let t=yield l(this,o).getWallet(this.walletLocator);if("error"in t)throw new E(JSON.stringify(t));if(t.type!=="solana-smart-wallet"&&t.type!=="evm-smart-wallet")throw new N(`Wallet type ${t.type} not supported`);return(s=(r=(i=t==null?void 0:t.config)==null?void 0:i.delegatedSigners)==null?void 0:r.map(n=>{let e=n.locator.indexOf(":");return{signer:`external-wallet:${e>=0?n.locator.slice(e+1):n.locator}`}}))!=null?s:[]})}get walletLocator(){return l(this,o).isServerSide?this.address:`me:${this.isSolanaWallet?"solana-smart-wallet":"evm-smart-wallet"}`}get isSolanaWallet(){return this.chain==="solana"}approveAndWait(t,i){return p(this,null,function*(){return yield this.approveTransaction(t,i),yield this.sleep(1e3),yield this.waitForTransaction(t)})}approveTransaction(t,i){return p(this,null,function*(){var g,h,u,b;let r=yield l(this,o).getTransaction(this.walletLocator,t);if(r.error)throw new C(JSON.stringify(r));if(yield(u=(h=(g=l(this,w))==null?void 0:g.experimental_callbacks)==null?void 0:h.onTransactionStart)==null?void 0:u.call(h),this.signer.type==="api-key")return r;let s=(b=r.approvals)==null?void 0:b.pending;if(s==null)return r;let n=[...i!=null?i:[],this.signer],e=yield Promise.all(s.map(d=>{let A=n.find(D=>D.locator()===d.signer);if(A==null)throw new v(`Signer ${d.signer} not found in pending approvals`);let J=r.walletType==="solana-smart-wallet"?r.onChain.transaction:d.message;return A.signTransaction(J)})),c=yield l(this,o).approveTransaction(this.walletLocator,r.id,{approvals:e.map(d=>f({signer:this.signer.locator()},d))});if(c.error)throw new _(JSON.stringify(c));return c})}approveSignature(t,i){return p(this,null,function*(){if(this.isSolanaWallet)throw new Error("Approving signatures is only supported for EVM smart wallets");let r=t.find(n=>n.signer===this.signer.locator());if(!r)throw new v(`Signer ${this.signer.locator()} not found in pending approvals`);let s=yield this.signer.signMessage(r.message);return yield l(this,o).approveSignature(this.walletLocator,i,{approvals:[f({signer:this.signer.locator()},s)]}),s})}waitForSignature(t){return p(this,null,function*(){let i=null;do if(yield new Promise(r=>setTimeout(r,S)),i=yield l(this,o).getSignature(this.walletLocator,t),"error"in i)throw new T(JSON.stringify(i));while(i===null||i.status==="pending");if(i.status==="failed")throw new $("Signature signing failed");if(!i.outputSignature)throw new T("Signature not available");return i.outputSignature})}waitForTransaction(e){return p(this,arguments,function*(t,i=6e4,{backoffMultiplier:r=1.1,maxBackoffMs:s=2e3,initialBackoffMs:n=S}={}){let c=Date.now(),g;do{if(Date.now()-c>i)throw new O("Transaction confirmation timeout");if(g=yield l(this,o).getTransaction(this.walletLocator,t),g.error)throw new C(JSON.stringify(g));yield this.sleep(n),n=Math.min(n*r,s)}while(g.status==="pending");if(g.status==="failed")throw new W(`Transaction sending failed: ${JSON.stringify(g.error)}`);if(g.status==="awaiting-approval")throw new F("Transaction is awaiting approval. Please submit required approvals before waiting for completion.");let h=g.onChain.txId;if(h==null)throw new P("Transaction hash not found on transaction response");return h})}sleep(t){return p(this,null,function*(){return new Promise(i=>setTimeout(i,t))})}};w=new WeakMap,o=new WeakMap;function k(a){if(typeof a=="string")return a;if("email"in a)return`email:${a.email}`;if("x"in a)return`x:${a.x}`;if("twitter"in a)return`twitter:${a.twitter}`;if("phone"in a)return`phoneNumber:${a.phone}`;if("userId"in a)return`userId:${a.userId}`;throw new Error("Invalid recipient locator")}function U(a,t){return M(a)?`${t}:${a}`:`${t}:${a.toLowerCase()}`}export{I as a};
|
package/dist/chunk-LFYI7K4T.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{w as t}from"./chunk-7ENJXL4H.js";import{f as e}from"./chunk-BW7YYVZE.js";import{PublicKey as m,VersionedTransaction as w}from"@solana/web3.js";import i from"bs58";var o=class{constructor(n){this.type="external-wallet";this.address=n.address,this.onSignTransaction=n.onSignTransaction}locator(){return`solana-keypair:${this.address}`}signMessage(){return e(this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for solana external wallet signer"))})}signTransaction(n){return e(this,null,function*(){if(this.onSignTransaction==null)return yield Promise.reject(new Error("onSignTransaction method is required to sign transactions with a Solana external wallet"));let c=i.decode(n),l=w.deserialize(c),s=yield this.onSignTransaction(l),d=new m(this.address),a=s.message.staticAccountKeys.findIndex(u=>u.equals(d));if(a===-1)throw new t("Wallet public key not found in transaction signers");let r=s.signatures[a];if(r==null)throw new t("No valid signature found in the transaction");let g=new Uint8Array(Object.values(r));return{signature:i.encode(g)}})}};export{o as a};
|
package/dist/chunk-LQKXECMQ.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
var s="@crossmint/wallets-sdk",t="0.9.6";var c="WALLETS_SDK",r=t,d=s,a=500;export{c as a,r as b,d as c,a as d};
|
package/dist/chunk-R7KEBAQ2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as i}from"./chunk-BW7YYVZE.js";var t=class{constructor(e){this.type="external-wallet";this.address=e.address,this.provider=e.provider,this.viemAccount=e.viemAccount}locator(){return`evm-keypair:${this.address}`}signMessage(e){return i(this,null,function*(){var s;if(this.provider!=null){let r=yield this.provider.request({method:"personal_sign",params:[e,this.address]});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: EIP1193 provider signMessage returned null");return{signature:r}}if(((s=this.viemAccount)==null?void 0:s.signMessage)!=null){let r=yield this.viemAccount.signMessage({message:{raw:e}});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: Viem account signMessage returned null");return{signature:r}}throw new Error("No signer provider or viem account provided")})}signTransaction(e){return i(this,null,function*(){return yield this.signMessage(e)})}};export{t as a};
|
package/dist/chunk-TWQ6DA3Y.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _web3js = require('@solana/web3.js');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var o=class{constructor(n){this.type="external-wallet";this.address=n.address,this.onSignTransaction=n.onSignTransaction}locator(){return`solana-keypair:${this.address}`}signMessage(){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield Promise.reject(new Error("signMessage method not implemented for solana external wallet signer"))})}signTransaction(n){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){if(this.onSignTransaction==null)return yield Promise.reject(new Error("onSignTransaction method is required to sign transactions with a Solana external wallet"));let c=_bs582.default.decode(n),l=_web3js.VersionedTransaction.deserialize(c),s=yield this.onSignTransaction(l),d=new (0, _web3js.PublicKey)(this.address),a=s.message.staticAccountKeys.findIndex(u=>u.equals(d));if(a===-1)throw new (0, _chunkCT2UGJELcjs.w)("Wallet public key not found in transaction signers");let r=s.signatures[a];if(r==null)throw new (0, _chunkCT2UGJELcjs.w)("No valid signature found in the transaction");let g=new Uint8Array(Object.values(r));return{signature:_bs582.default.encode(g)}})}};exports.a = o;
|
package/dist/chunk-U34BYZY2.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{f as t}from"./chunk-BW7YYVZE.js";import{IFrameWindow as s}from"@crossmint/client-sdk-window";import{signerInboundEvents as o,signerOutboundEvents as h}from"@crossmint/client-signers";var r=class{constructor(n){this.config=n;this.handshakeParent=null}initialize(){return t(this,null,function*(){if(this.handshakeParent)return this.handshakeParent;let n=new URL("https://signers.crossmint.com/");n.searchParams.set("environment",this.config.environment);let e=yield this.createInvisibleIFrame(n.toString());return this.handshakeParent=yield s.init(e,{targetOrigin:n.origin,incomingEvents:h,outgoingEvents:o}),yield this.handshakeParent.handshakeWithChild(),this.handshakeParent})}createInvisibleIFrame(n){return t(this,null,function*(){let e=document.createElement("iframe");return e.src=n,Object.assign(e.style,{position:"absolute",opacity:"0",pointerEvents:"none",width:"0",height:"0",border:"none",top:"-9999px",left:"-9999px"}),new Promise((i,a)=>{e.onload=()=>i(e),e.onerror=()=>a(new Error("Failed to load iframe content")),document.body.appendChild(e)})})}};export{r as a};
|
package/dist/chunk-UYFBYHIT.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _chunk5K5HFPJQcjs = require('./chunk-5K5HFPJQ.cjs');var _chunkTWQ6DA3Ycjs = require('./chunk-TWQ6DA3Y.cjs');var _chunkCT2UGJELcjs = require('./chunk-CT2UGJEL.cjs');var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var _bs58 = require('bs58'); var _bs582 = _interopRequireDefault(_bs58);var p=class m extends _chunk5K5HFPJQcjs.a{constructor(r){super({chain:r.chain,address:r.address,owner:r.owner,signer:r.signer},_chunk5K5HFPJQcjs.a.getApiClient(r))}static from(r){return new m(r)}sendTransaction(x){return _chunkXALFCQKDcjs.f.call(void 0, this,arguments,function*({transaction:r,additionalSigners:n}){let l={transaction:_bs582.default.encode(r.serialize())},a=yield this.apiClient.createTransaction(this.walletLocator,{params:l});if(a.error)throw new (0, _chunkCT2UGJELcjs.q)(JSON.stringify(a));let h=n==null?void 0:n.map(o=>new (0, _chunkTWQ6DA3Ycjs.a)({type:"external-wallet",address:o.publicKey.toString(),onSignTransaction:e=>(e.sign([o]),Promise.resolve(e))}));return yield this.approveAndWait(a.id,h)})}};exports.a = p;
|
package/dist/chunk-V3CBWWX2.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var s="@crossmint/wallets-sdk",t="0.9.6";var p="WALLETS_SDK",c= exports.b =t,r= exports.c =s,d= exports.d =500;exports.a = p; exports.b = c; exports.c = r; exports.d = d;
|
package/dist/chunk-W3EMZ2Y7.js
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{a as t}from"./chunk-GCWUK6WO.js";import{a as c}from"./chunk-LFYI7K4T.js";import{q as s}from"./chunk-7ENJXL4H.js";import{f as i}from"./chunk-BW7YYVZE.js";import f from"bs58";var p=class m extends t{constructor(r){super({chain:r.chain,address:r.address,owner:r.owner,signer:r.signer},t.getApiClient(r))}static from(r){return new m(r)}sendTransaction(W){return i(this,arguments,function*({transaction:r,additionalSigners:n}){let l={transaction:f.encode(r.serialize())},a=yield this.apiClient.createTransaction(this.walletLocator,{params:l});if(a.error)throw new s(JSON.stringify(a));let h=n==null?void 0:n.map(o=>new c({type:"external-wallet",address:o.publicKey.toString(),onSignTransaction:e=>(e.sign([o]),Promise.resolve(e))}));return yield this.approveAndWait(a.id,h)})}};export{p as a};
|
package/dist/chunk-YAORQK6R.cjs
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkXALFCQKDcjs = require('./chunk-XALFCQKD.cjs');var t=class{constructor(e){this.type="external-wallet";this.address=e.address,this.provider=e.provider,this.viemAccount=e.viemAccount}locator(){return`evm-keypair:${this.address}`}signMessage(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){var s;if(this.provider!=null){let r=yield this.provider.request({method:"personal_sign",params:[e,this.address]});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: EIP1193 provider signMessage returned null");return{signature:r}}if(((s=this.viemAccount)==null?void 0:s.signMessage)!=null){let r=yield this.viemAccount.signMessage({message:{raw:e}});if(r==null)throw new Error("[EVMExternalWalletSigner] Failed to sign message: Viem account signMessage returned null");return{signature:r}}throw new Error("No signer provider or viem account provided")})}signTransaction(e){return _chunkXALFCQKDcjs.f.call(void 0, this,null,function*(){return yield this.signMessage(e)})}};exports.a = t;
|