@crossmint/wallets-sdk 0.18.2 → 0.18.4
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 +9 -1
- package/dist/api/client.d.cts +4 -4
- package/dist/api/client.d.ts +4 -4
- package/dist/api/client.js +9 -1
- package/dist/api/gen/client.gen.cjs +7 -1
- package/dist/api/gen/client.gen.js +7 -1
- package/dist/api/gen/index.cjs +179 -1
- package/dist/api/gen/index.js +179 -1
- package/dist/api/gen/sdk.gen.cjs +178 -1
- package/dist/api/gen/sdk.gen.js +178 -1
- package/dist/api/gen/types.gen.js +1 -1
- package/dist/api/index.cjs +11 -1
- package/dist/api/index.d.cts +1 -1
- package/dist/api/index.d.ts +1 -1
- package/dist/api/index.js +11 -1
- package/dist/api/types.d.cts +4 -2
- package/dist/api/types.d.ts +4 -2
- package/dist/api/types.js +1 -1
- package/dist/chains/chains.cjs +9 -1
- package/dist/chains/chains.js +9 -1
- package/dist/chains/definitions/story.cjs +7 -1
- package/dist/chains/definitions/story.js +7 -1
- package/dist/chains/definitions/storyTestnet.cjs +7 -1
- package/dist/chains/definitions/storyTestnet.js +7 -1
- package/dist/chunk-2DHIAP2S.js +58 -0
- package/dist/chunk-2T5HHKUI.js +19 -0
- package/dist/chunk-2VOEAAFA.cjs +200 -0
- package/dist/chunk-3U6UAYOV.js +25 -0
- package/dist/chunk-4BMNDPJ4.cjs +92 -0
- package/dist/chunk-4QGBVHV3.js +629 -0
- package/dist/chunk-55V4VMTX.cjs +25 -0
- package/dist/chunk-5H5YHSCK.js +200 -0
- package/dist/chunk-7ECQJFYM.cjs +63 -0
- package/dist/chunk-7GHQBCRV.cjs +57 -0
- package/dist/chunk-7JFVG4IY.js +59 -0
- package/dist/chunk-7QL5JVK4.js +262 -0
- package/dist/chunk-AJCWEEWH.js +73 -0
- package/dist/chunk-AL77JANE.js +36 -0
- package/dist/chunk-BAHU3KZE.cjs +75 -0
- package/dist/chunk-BAULM7A2.js +289 -0
- package/dist/chunk-BFAU2NL6.js +175 -0
- package/dist/chunk-BSC55MYK.cjs +43 -0
- package/dist/chunk-CHGPNMRL.cjs +36 -0
- package/dist/chunk-CN2GVFBU.cjs +138 -0
- package/dist/chunk-COVOGZ4S.js +80 -0
- package/dist/chunk-DPERJZBG.js +63 -0
- package/dist/chunk-DQCXGBZM.js +59 -0
- package/dist/chunk-E4LJ7252.cjs +289 -0
- package/dist/chunk-EM6H7EUU.cjs +80 -0
- package/dist/chunk-EYJQSDDI.js +43 -0
- package/dist/chunk-FAGFW4AR.js +16 -0
- package/dist/chunk-FK23BDCU.js +87 -0
- package/dist/chunk-FPMW7Q5O.js +55 -0
- package/dist/chunk-G5NYLGM5.cjs +55 -0
- package/dist/chunk-HHDDI3CS.js +75 -0
- package/dist/chunk-HNRM45KF.cjs +87 -0
- package/dist/chunk-JICSSJOK.js +57 -0
- package/dist/chunk-KS63YEQ4.js +138 -0
- package/dist/chunk-KT3CVXFG.js +9 -0
- package/dist/chunk-LLFD22UQ.cjs +36 -0
- package/dist/chunk-MPGPBFUZ.cjs +16 -0
- package/dist/chunk-MYKPHXUR.cjs +629 -0
- package/dist/chunk-MZBFXUHT.js +63 -0
- package/dist/chunk-NIBKCMQ2.cjs +19 -0
- package/dist/chunk-OD5RGQ4Z.js +92 -0
- package/dist/chunk-PSPNZEG4.cjs +175 -0
- package/dist/chunk-R2OY54EJ.cjs +59 -0
- package/dist/chunk-RHR6P2KP.cjs +15 -0
- package/dist/chunk-RSPJPRQW.cjs +262 -0
- package/dist/chunk-RTRDZB52.js +778 -0
- package/dist/chunk-SG7WIZLK.cjs +63 -0
- package/dist/chunk-SGINWAB6.js +155 -0
- package/dist/chunk-TK3EUCQ4.cjs +59 -0
- package/dist/chunk-V3QJQUT7.cjs +778 -0
- package/dist/chunk-WC7T2CR4.js +44 -0
- package/dist/chunk-WJUPOCKJ.js +15 -0
- package/dist/chunk-XC2V34TS.cjs +155 -0
- package/dist/chunk-XH3ARVJG.cjs +58 -0
- package/dist/chunk-YBA7WO32.cjs +44 -0
- package/dist/chunk-YOJETSLN.cjs +73 -0
- package/dist/chunk-ZT7EGOCI.cjs +9 -0
- package/dist/chunk-ZTGRDOOH.js +36 -0
- package/dist/index.cjs +55 -1
- package/dist/index.js +55 -1
- package/dist/sdk.cjs +31 -1
- package/dist/sdk.js +31 -1
- package/dist/signers/evm-api-key.cjs +7 -1
- package/dist/signers/evm-api-key.js +7 -1
- package/dist/signers/evm-external-wallet.cjs +7 -1
- package/dist/signers/evm-external-wallet.js +7 -1
- package/dist/signers/index.cjs +21 -1
- package/dist/signers/index.js +21 -1
- package/dist/signers/non-custodial/index.cjs +24 -1
- package/dist/signers/non-custodial/index.js +24 -1
- package/dist/signers/non-custodial/ncs-evm-signer.cjs +10 -1
- package/dist/signers/non-custodial/ncs-evm-signer.js +10 -1
- package/dist/signers/non-custodial/ncs-iframe-manager.cjs +7 -1
- package/dist/signers/non-custodial/ncs-iframe-manager.js +7 -1
- package/dist/signers/non-custodial/ncs-signer.cjs +11 -1
- package/dist/signers/non-custodial/ncs-signer.js +11 -1
- package/dist/signers/non-custodial/ncs-solana-signer.cjs +10 -1
- package/dist/signers/non-custodial/ncs-solana-signer.js +10 -1
- package/dist/signers/non-custodial/ncs-stellar-signer.cjs +10 -1
- package/dist/signers/non-custodial/ncs-stellar-signer.js +10 -1
- package/dist/signers/passkey.cjs +7 -1
- package/dist/signers/passkey.js +7 -1
- package/dist/signers/solana-api-key.cjs +7 -1
- package/dist/signers/solana-api-key.js +7 -1
- package/dist/signers/solana-external-wallet.cjs +8 -1
- package/dist/signers/solana-external-wallet.js +8 -1
- package/dist/signers/stellar-external-wallet.cjs +7 -1
- package/dist/signers/stellar-external-wallet.js +7 -1
- package/dist/signers/types.cjs +9 -1
- package/dist/signers/types.js +9 -1
- package/dist/utils/constants.cjs +13 -1
- package/dist/utils/constants.js +13 -1
- package/dist/utils/errors.cjs +55 -1
- package/dist/utils/errors.js +55 -1
- package/dist/utils/signer-validation.cjs +8 -1
- package/dist/utils/signer-validation.js +8 -1
- package/dist/wallets/evm.cjs +20 -1
- package/dist/wallets/evm.js +20 -1
- package/dist/wallets/solana.cjs +18 -1
- package/dist/wallets/solana.js +18 -1
- package/dist/wallets/stellar.cjs +17 -1
- package/dist/wallets/stellar.js +17 -1
- package/dist/wallets/wallet-factory.cjs +25 -1
- package/dist/wallets/wallet-factory.js +25 -1
- package/dist/wallets/wallet.cjs +16 -1
- package/dist/wallets/wallet.d.cts +12 -1
- package/dist/wallets/wallet.d.ts +12 -1
- package/dist/wallets/wallet.js +16 -1
- package/package.json +4 -4
- package/dist/chunk-23ZHV3VD.js +0 -1
- package/dist/chunk-2SHDBC47.js +0 -1
- package/dist/chunk-2XVV7Z43.cjs +0 -1
- package/dist/chunk-2YH3NVVK.cjs +0 -1
- package/dist/chunk-3APSOOE3.js +0 -1
- package/dist/chunk-3IZNWAZE.cjs +0 -1
- package/dist/chunk-4AJT6I6Q.js +0 -1
- package/dist/chunk-4KXOWU5E.cjs +0 -1
- package/dist/chunk-5M7IRODB.js +0 -1
- package/dist/chunk-5QIW67NU.cjs +0 -1
- package/dist/chunk-6PVKL5RC.js +0 -1
- package/dist/chunk-73RCBQG5.js +0 -1
- package/dist/chunk-7JIPYRKX.js +0 -1
- package/dist/chunk-7WKKOG6H.cjs +0 -3
- package/dist/chunk-BQZES4ST.js +0 -1
- package/dist/chunk-BW7YYVZE.js +0 -1
- package/dist/chunk-C3T63EC7.cjs +0 -1
- package/dist/chunk-CVZ3RNWV.cjs +0 -1
- package/dist/chunk-GEY574TH.cjs +0 -1
- package/dist/chunk-H4T4IXCF.js +0 -1
- package/dist/chunk-HJ5EDMTA.js +0 -1
- package/dist/chunk-HMPMFEPS.cjs +0 -1
- package/dist/chunk-HPHVJ6BA.cjs +0 -1
- package/dist/chunk-HRSVFJND.cjs +0 -1
- package/dist/chunk-IGBQEAD5.js +0 -1
- package/dist/chunk-IR5WN6FQ.cjs +0 -1
- package/dist/chunk-JUSY5XEE.js +0 -1
- package/dist/chunk-KHSWQE6W.js +0 -1
- package/dist/chunk-KKQBZXFE.js +0 -1
- package/dist/chunk-KO6QYKDX.cjs +0 -1
- package/dist/chunk-KRV3IXJU.cjs +0 -1
- package/dist/chunk-L5L64FWM.js +0 -1
- package/dist/chunk-LW6JSI4J.js +0 -1
- package/dist/chunk-M4TOGGLV.cjs +0 -1
- package/dist/chunk-MQP5VZCA.cjs +0 -1
- package/dist/chunk-NEJPPLYW.cjs +0 -1
- package/dist/chunk-NIKULSJK.cjs +0 -1
- package/dist/chunk-NT4EICOB.cjs +0 -1
- package/dist/chunk-O4FVTK7X.cjs +0 -1
- package/dist/chunk-P6JJHAAV.js +0 -1
- package/dist/chunk-PONCGT2H.cjs +0 -1
- package/dist/chunk-PSXRNSOE.js +0 -1
- package/dist/chunk-R6VFNNAA.js +0 -3
- package/dist/chunk-RJZV72YF.js +0 -1
- package/dist/chunk-S3DYQVRD.js +0 -1
- package/dist/chunk-SHVVA55W.js +0 -1
- package/dist/chunk-STYSP6KL.cjs +0 -1
- package/dist/chunk-UBOWSXW3.js +0 -1
- package/dist/chunk-UNBXKCNN.js +0 -1
- package/dist/chunk-VXFSSEA4.js +0 -1
- package/dist/chunk-VY634F3J.js +0 -1
- package/dist/chunk-WQP2FSVI.js +0 -1
- package/dist/chunk-WYYAPI4G.cjs +0 -1
- package/dist/chunk-WZFHEUWT.cjs +0 -1
- package/dist/chunk-XALFCQKD.cjs +0 -1
- package/dist/chunk-XIRT2EZN.cjs +0 -1
- package/dist/chunk-YWPTI2QO.cjs +0 -1
- package/dist/chunk-YZ4HRYSL.cjs +0 -1
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
|
|
4
|
+
|
|
5
|
+
// src/signers/evm-api-key.ts
|
|
6
|
+
var EVMApiKeySigner = class {
|
|
7
|
+
constructor(config) {
|
|
8
|
+
this.config = config;
|
|
9
|
+
this.type = "api-key";
|
|
10
|
+
}
|
|
11
|
+
locator() {
|
|
12
|
+
return this.config.locator;
|
|
13
|
+
}
|
|
14
|
+
signMessage() {
|
|
15
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
16
|
+
return yield Promise.reject(
|
|
17
|
+
new Error(
|
|
18
|
+
"API key signers do not support direct message signing - signatures are handled automatically by the backend"
|
|
19
|
+
)
|
|
20
|
+
);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
signTransaction() {
|
|
24
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
25
|
+
return yield Promise.reject(
|
|
26
|
+
new Error(
|
|
27
|
+
"API key signers do not support direct transaction signing - transaction are handled automatically by the backend"
|
|
28
|
+
)
|
|
29
|
+
);
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
|
|
35
|
+
|
|
36
|
+
exports.EVMApiKeySigner = EVMApiKeySigner;
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkNIBKCMQ2cjs = require('./chunk-NIBKCMQ2.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunk55V4VMTXcjs = require('./chunk-55V4VMTX.cjs');
|
|
7
|
+
|
|
8
|
+
// src/chains/chains.ts
|
|
9
|
+
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
|
|
19
|
+
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
var _chains = require('viem/chains');
|
|
32
|
+
var TESTNET_AA_CHAINS = [
|
|
33
|
+
_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT_TESTNET,
|
|
34
|
+
_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA,
|
|
35
|
+
_commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA,
|
|
36
|
+
_commonsdkbase.BlockchainIncludingTestnet.CURTIS,
|
|
37
|
+
_commonsdkbase.BlockchainIncludingTestnet.ETHEREUM_SEPOLIA,
|
|
38
|
+
_commonsdkbase.BlockchainIncludingTestnet.FLOW_TESTNET,
|
|
39
|
+
_commonsdkbase.BlockchainIncludingTestnet.MANTLE_SEPOLIA,
|
|
40
|
+
_commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA,
|
|
41
|
+
_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA,
|
|
42
|
+
_commonsdkbase.BlockchainIncludingTestnet.PLUME_TESTNET,
|
|
43
|
+
_commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY,
|
|
44
|
+
_commonsdkbase.BlockchainIncludingTestnet.SCROLL_SEPOLIA,
|
|
45
|
+
_commonsdkbase.BlockchainIncludingTestnet.SEI_ATLANTIC_2_TESTNET,
|
|
46
|
+
_commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET,
|
|
47
|
+
_commonsdkbase.BlockchainIncludingTestnet.WORLD_CHAIN_SEPOLIA,
|
|
48
|
+
_commonsdkbase.BlockchainIncludingTestnet.ZORA_SEPOLIA
|
|
49
|
+
];
|
|
50
|
+
var PRODUCTION_AA_CHAINS = [
|
|
51
|
+
_commonsdkbase.BlockchainIncludingTestnet.ABSTRACT,
|
|
52
|
+
_commonsdkbase.BlockchainIncludingTestnet.APECHAIN,
|
|
53
|
+
_commonsdkbase.BlockchainIncludingTestnet.ARBITRUM,
|
|
54
|
+
_commonsdkbase.BlockchainIncludingTestnet.ARBITRUMNOVA,
|
|
55
|
+
_commonsdkbase.BlockchainIncludingTestnet.BASE,
|
|
56
|
+
_commonsdkbase.BlockchainIncludingTestnet.BSC,
|
|
57
|
+
_commonsdkbase.BlockchainIncludingTestnet.FLOW,
|
|
58
|
+
_commonsdkbase.BlockchainIncludingTestnet.MANTLE,
|
|
59
|
+
_commonsdkbase.BlockchainIncludingTestnet.MODE,
|
|
60
|
+
_commonsdkbase.BlockchainIncludingTestnet.OPTIMISM,
|
|
61
|
+
_commonsdkbase.BlockchainIncludingTestnet.PLUME,
|
|
62
|
+
_commonsdkbase.BlockchainIncludingTestnet.POLYGON,
|
|
63
|
+
_commonsdkbase.BlockchainIncludingTestnet.SCROLL,
|
|
64
|
+
_commonsdkbase.BlockchainIncludingTestnet.SEI_PACIFIC_1,
|
|
65
|
+
_commonsdkbase.BlockchainIncludingTestnet.SHAPE,
|
|
66
|
+
_commonsdkbase.BlockchainIncludingTestnet.STORY,
|
|
67
|
+
_commonsdkbase.BlockchainIncludingTestnet.WORLDCHAIN,
|
|
68
|
+
_commonsdkbase.BlockchainIncludingTestnet.ZORA
|
|
69
|
+
];
|
|
70
|
+
function toViemChain(chain) {
|
|
71
|
+
switch (chain) {
|
|
72
|
+
case _commonsdkbase.BlockchainIncludingTestnet.BASE_SEPOLIA:
|
|
73
|
+
return _chains.baseSepolia;
|
|
74
|
+
case _commonsdkbase.BlockchainIncludingTestnet.BASE:
|
|
75
|
+
return _chains.base;
|
|
76
|
+
case _commonsdkbase.BlockchainIncludingTestnet.POLYGON_AMOY:
|
|
77
|
+
return _chains.polygonAmoy;
|
|
78
|
+
case _commonsdkbase.BlockchainIncludingTestnet.POLYGON:
|
|
79
|
+
return _chains.polygon;
|
|
80
|
+
case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM_SEPOLIA:
|
|
81
|
+
return _chains.optimismSepolia;
|
|
82
|
+
case _commonsdkbase.BlockchainIncludingTestnet.OPTIMISM:
|
|
83
|
+
return _chains.optimism;
|
|
84
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM_SEPOLIA:
|
|
85
|
+
return _chains.arbitrumSepolia;
|
|
86
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUM:
|
|
87
|
+
return _chains.arbitrum;
|
|
88
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ARBITRUMNOVA:
|
|
89
|
+
return _chains.arbitrumNova;
|
|
90
|
+
case _commonsdkbase.BlockchainIncludingTestnet.STORY_TESTNET:
|
|
91
|
+
return _chunk55V4VMTXcjs.storyTestnet;
|
|
92
|
+
case _commonsdkbase.BlockchainIncludingTestnet.STORY:
|
|
93
|
+
return _chunkNIBKCMQ2cjs.story;
|
|
94
|
+
case _commonsdkbase.BlockchainIncludingTestnet.MODE_SEPOLIA:
|
|
95
|
+
return _chains.modeTestnet;
|
|
96
|
+
case _commonsdkbase.BlockchainIncludingTestnet.MODE:
|
|
97
|
+
return _chains.mode;
|
|
98
|
+
case _commonsdkbase.BlockchainIncludingTestnet.BSC:
|
|
99
|
+
return _chains.bsc;
|
|
100
|
+
case _commonsdkbase.BlockchainIncludingTestnet.SHAPE:
|
|
101
|
+
return _chains.shape;
|
|
102
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ZORA:
|
|
103
|
+
return _chains.zora;
|
|
104
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ZORA_SEPOLIA:
|
|
105
|
+
return _chains.zoraSepolia;
|
|
106
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ETHEREUM_SEPOLIA:
|
|
107
|
+
return _chains.sepolia;
|
|
108
|
+
case _commonsdkbase.BlockchainIncludingTestnet.FLOW:
|
|
109
|
+
return _chains.flowMainnet;
|
|
110
|
+
case _commonsdkbase.BlockchainIncludingTestnet.FLOW_TESTNET:
|
|
111
|
+
return _chains.flowTestnet;
|
|
112
|
+
case _commonsdkbase.BlockchainIncludingTestnet.PLUME_TESTNET:
|
|
113
|
+
return _chains.plumeTestnet;
|
|
114
|
+
case _commonsdkbase.BlockchainIncludingTestnet.PLUME:
|
|
115
|
+
return _chains.plume;
|
|
116
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ABSTRACT:
|
|
117
|
+
case _commonsdkbase.BlockchainIncludingTestnet.ABSTRACT_TESTNET:
|
|
118
|
+
case _commonsdkbase.BlockchainIncludingTestnet.APECHAIN:
|
|
119
|
+
case _commonsdkbase.BlockchainIncludingTestnet.MANTLE:
|
|
120
|
+
case _commonsdkbase.BlockchainIncludingTestnet.MANTLE_SEPOLIA:
|
|
121
|
+
case _commonsdkbase.BlockchainIncludingTestnet.SCROLL:
|
|
122
|
+
case _commonsdkbase.BlockchainIncludingTestnet.SCROLL_SEPOLIA:
|
|
123
|
+
case _commonsdkbase.BlockchainIncludingTestnet.SEI_PACIFIC_1:
|
|
124
|
+
case _commonsdkbase.BlockchainIncludingTestnet.SEI_ATLANTIC_2_TESTNET:
|
|
125
|
+
case _commonsdkbase.BlockchainIncludingTestnet.CURTIS:
|
|
126
|
+
case _commonsdkbase.BlockchainIncludingTestnet.WORLDCHAIN:
|
|
127
|
+
case _commonsdkbase.BlockchainIncludingTestnet.WORLD_CHAIN_SEPOLIA:
|
|
128
|
+
throw new Error(
|
|
129
|
+
`Chain ${chain} is not yet supported in toViemChain function. Please add the appropriate viem chain definition.`
|
|
130
|
+
);
|
|
131
|
+
default:
|
|
132
|
+
throw new Error(`Unknown chain: ${chain}`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
|
|
137
|
+
|
|
138
|
+
exports.toViemChain = toViemChain;
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
import {
|
|
2
|
+
DEFAULT_EVENT_OPTIONS,
|
|
3
|
+
NonCustodialSigner
|
|
4
|
+
} from "./chunk-BAULM7A2.js";
|
|
5
|
+
import {
|
|
6
|
+
__async
|
|
7
|
+
} from "./chunk-FPMW7Q5O.js";
|
|
8
|
+
|
|
9
|
+
// src/signers/non-custodial/ncs-evm-signer.ts
|
|
10
|
+
import { PersonalMessage } from "ox";
|
|
11
|
+
import { isHex, toHex } from "viem";
|
|
12
|
+
var EVMNonCustodialSigner = class _EVMNonCustodialSigner extends NonCustodialSigner {
|
|
13
|
+
constructor(config) {
|
|
14
|
+
super(config);
|
|
15
|
+
}
|
|
16
|
+
signMessage(message) {
|
|
17
|
+
return __async(this, null, function* () {
|
|
18
|
+
const messageRaw = isHex(message) ? message : toHex(message);
|
|
19
|
+
const messageToSign = PersonalMessage.getSignPayload(messageRaw);
|
|
20
|
+
return yield this.sign(messageToSign);
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
signTransaction(transaction) {
|
|
24
|
+
return __async(this, null, function* () {
|
|
25
|
+
return yield this.sign(transaction);
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
sign(raw) {
|
|
29
|
+
return __async(this, null, function* () {
|
|
30
|
+
var _a;
|
|
31
|
+
yield this.handleAuthRequired();
|
|
32
|
+
const jwt = this.getJwtOrThrow();
|
|
33
|
+
const hexString = raw.replace("0x", "");
|
|
34
|
+
const res = yield (_a = this.config.clientTEEConnection) == null ? void 0 : _a.sendAction({
|
|
35
|
+
event: "request:sign",
|
|
36
|
+
responseEvent: "response:sign",
|
|
37
|
+
data: {
|
|
38
|
+
authData: {
|
|
39
|
+
jwt,
|
|
40
|
+
apiKey: this.config.crossmint.apiKey
|
|
41
|
+
},
|
|
42
|
+
data: {
|
|
43
|
+
keyType: "secp256k1",
|
|
44
|
+
bytes: hexString,
|
|
45
|
+
encoding: "hex"
|
|
46
|
+
}
|
|
47
|
+
},
|
|
48
|
+
options: DEFAULT_EVENT_OPTIONS
|
|
49
|
+
});
|
|
50
|
+
if ((res == null ? void 0 : res.status) === "error") {
|
|
51
|
+
throw new Error(res.error);
|
|
52
|
+
}
|
|
53
|
+
if ((res == null ? void 0 : res.signature) == null) {
|
|
54
|
+
throw new Error("Failed to sign transaction");
|
|
55
|
+
}
|
|
56
|
+
_EVMNonCustodialSigner.verifyPublicKeyFormat(res.publicKey);
|
|
57
|
+
return { signature: res.signature.bytes };
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
static verifyPublicKeyFormat(publicKey) {
|
|
61
|
+
if (publicKey == null) {
|
|
62
|
+
throw new Error("No public key found");
|
|
63
|
+
}
|
|
64
|
+
if (publicKey.encoding !== "hex" || publicKey.keyType !== "secp256k1" || publicKey.bytes == null) {
|
|
65
|
+
throw new Error(
|
|
66
|
+
"Not supported. Expected public key to be in hex encoding and secp256k1 key type. Got: " + JSON.stringify(publicKey)
|
|
67
|
+
);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
getChainKeyParams() {
|
|
71
|
+
return {
|
|
72
|
+
scheme: "secp256k1",
|
|
73
|
+
encoding: "hex"
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
export {
|
|
79
|
+
EVMNonCustodialSigner
|
|
80
|
+
};
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
import {
|
|
2
|
+
WalletFactory
|
|
3
|
+
} from "./chunk-7QL5JVK4.js";
|
|
4
|
+
import {
|
|
5
|
+
ApiClient
|
|
6
|
+
} from "./chunk-5H5YHSCK.js";
|
|
7
|
+
import {
|
|
8
|
+
__async
|
|
9
|
+
} from "./chunk-FPMW7Q5O.js";
|
|
10
|
+
|
|
11
|
+
// src/sdk.ts
|
|
12
|
+
import { createCrossmint } from "@crossmint/common-sdk-base";
|
|
13
|
+
var CrossmintWallets = class _CrossmintWallets {
|
|
14
|
+
constructor(crossmint) {
|
|
15
|
+
const apiClient = new ApiClient(crossmint);
|
|
16
|
+
this.walletFactory = new WalletFactory(apiClient);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Initialize the Wallets SDK
|
|
20
|
+
* @param crossmint - Crossmint data (use `createCrossmint` to initialize)
|
|
21
|
+
* @returns A new CrossmintWallets instance
|
|
22
|
+
*/
|
|
23
|
+
static from(crossmint) {
|
|
24
|
+
return new _CrossmintWallets(crossmint);
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* Get or create a wallet, can only be called on the client side
|
|
28
|
+
* @param args - Wallet data
|
|
29
|
+
* @param options - Wallet options
|
|
30
|
+
* @returns An existing wallet or a new wallet
|
|
31
|
+
*/
|
|
32
|
+
getOrCreateWallet(options) {
|
|
33
|
+
return __async(this, null, function* () {
|
|
34
|
+
return yield this.walletFactory.getOrCreateWallet(options);
|
|
35
|
+
});
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Get an existing wallet by its locator, can only be called on the server side
|
|
39
|
+
* @param walletLocator - Wallet locator
|
|
40
|
+
* @param options - Wallet options
|
|
41
|
+
* @returns A wallet if found, throws WalletNotAvailableError if not found
|
|
42
|
+
*/
|
|
43
|
+
getWallet(walletLocator, options) {
|
|
44
|
+
return __async(this, null, function* () {
|
|
45
|
+
return yield this.walletFactory.getWallet(walletLocator, options);
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Create a new wallet, can only be called on the server side
|
|
50
|
+
* @param options - Wallet options
|
|
51
|
+
* @returns A new wallet
|
|
52
|
+
*/
|
|
53
|
+
createWallet(options) {
|
|
54
|
+
return __async(this, null, function* () {
|
|
55
|
+
return yield this.walletFactory.createWallet(options);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
|
|
60
|
+
export {
|
|
61
|
+
createCrossmint,
|
|
62
|
+
CrossmintWallets
|
|
63
|
+
};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import {
|
|
2
|
+
TransactionFailedError
|
|
3
|
+
} from "./chunk-SGINWAB6.js";
|
|
4
|
+
import {
|
|
5
|
+
__async
|
|
6
|
+
} from "./chunk-FPMW7Q5O.js";
|
|
7
|
+
|
|
8
|
+
// src/signers/solana-external-wallet.ts
|
|
9
|
+
import { PublicKey, VersionedTransaction } from "@solana/web3.js";
|
|
10
|
+
import base58 from "bs58";
|
|
11
|
+
var SolanaExternalWalletSigner = class {
|
|
12
|
+
constructor(config) {
|
|
13
|
+
this.config = config;
|
|
14
|
+
this.type = "external-wallet";
|
|
15
|
+
if (config.address == null) {
|
|
16
|
+
throw new Error("Please provide an address for the External Wallet Signer");
|
|
17
|
+
}
|
|
18
|
+
this._address = config.address;
|
|
19
|
+
this.onSignTransaction = config.onSignTransaction;
|
|
20
|
+
}
|
|
21
|
+
address() {
|
|
22
|
+
return this._address;
|
|
23
|
+
}
|
|
24
|
+
locator() {
|
|
25
|
+
return this.config.locator;
|
|
26
|
+
}
|
|
27
|
+
signMessage() {
|
|
28
|
+
return __async(this, null, function* () {
|
|
29
|
+
return yield Promise.reject(new Error("signMessage method not implemented for solana external wallet signer"));
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
signTransaction(transaction) {
|
|
33
|
+
return __async(this, null, function* () {
|
|
34
|
+
if (this.onSignTransaction == null) {
|
|
35
|
+
return yield Promise.reject(
|
|
36
|
+
new Error("onSignTransaction method is required to sign transactions with a Solana external wallet")
|
|
37
|
+
);
|
|
38
|
+
}
|
|
39
|
+
const transactionBytes = base58.decode(transaction);
|
|
40
|
+
const deserializedTransaction = VersionedTransaction.deserialize(transactionBytes);
|
|
41
|
+
const signedTxn = yield this.onSignTransaction(deserializedTransaction);
|
|
42
|
+
const externalWalletPublicKey = new PublicKey(this._address);
|
|
43
|
+
const signerIndex = signedTxn.message.staticAccountKeys.findIndex((key) => key.equals(externalWalletPublicKey));
|
|
44
|
+
if (signerIndex === -1) {
|
|
45
|
+
throw new TransactionFailedError("Wallet public key not found in transaction signers");
|
|
46
|
+
}
|
|
47
|
+
const validSignature = signedTxn.signatures[signerIndex];
|
|
48
|
+
if (validSignature == null) {
|
|
49
|
+
throw new TransactionFailedError("No valid signature found in the transaction");
|
|
50
|
+
}
|
|
51
|
+
const signatureBytes = new Uint8Array(Object.values(validSignature));
|
|
52
|
+
return { signature: base58.encode(signatureBytes) };
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
export {
|
|
58
|
+
SolanaExternalWalletSigner
|
|
59
|
+
};
|
|
@@ -0,0 +1,289 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});
|
|
2
|
+
|
|
3
|
+
var _chunkTK3EUCQ4cjs = require('./chunk-TK3EUCQ4.cjs');
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
var _chunkRHR6P2KPcjs = require('./chunk-RHR6P2KP.cjs');
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
var _chunkG5NYLGM5cjs = require('./chunk-G5NYLGM5.cjs');
|
|
12
|
+
|
|
13
|
+
// src/signers/non-custodial/ncs-signer.ts
|
|
14
|
+
var _commonsdkbase = require('@crossmint/common-sdk-base');
|
|
15
|
+
var NonCustodialSigner = class {
|
|
16
|
+
constructor(config) {
|
|
17
|
+
this.config = config;
|
|
18
|
+
this._needsAuth = true;
|
|
19
|
+
this._authPromise = null;
|
|
20
|
+
this._initializationPromise = null;
|
|
21
|
+
if (typeof window !== "undefined") {
|
|
22
|
+
this.initialize();
|
|
23
|
+
}
|
|
24
|
+
this.type = this.config.type;
|
|
25
|
+
}
|
|
26
|
+
locator() {
|
|
27
|
+
return this.config.locator;
|
|
28
|
+
}
|
|
29
|
+
address() {
|
|
30
|
+
return this.config.address;
|
|
31
|
+
}
|
|
32
|
+
initialize() {
|
|
33
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
34
|
+
if (this.config.clientTEEConnection == null) {
|
|
35
|
+
const parsedAPIKey = _commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);
|
|
36
|
+
if (!parsedAPIKey.isValid) {
|
|
37
|
+
throw new Error("Invalid API key");
|
|
38
|
+
}
|
|
39
|
+
const iframeManager = new (0, _chunkTK3EUCQ4cjs.NcsIframeManager)({ environment: parsedAPIKey.environment });
|
|
40
|
+
this.config.clientTEEConnection = yield iframeManager.initialize();
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
}
|
|
44
|
+
getTEEConnection() {
|
|
45
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
46
|
+
if (this.config.clientTEEConnection == null) {
|
|
47
|
+
if (this._initializationPromise) {
|
|
48
|
+
yield this._initializationPromise;
|
|
49
|
+
return this.config.clientTEEConnection;
|
|
50
|
+
}
|
|
51
|
+
this._initializationPromise = this.initializeTEEConnection();
|
|
52
|
+
try {
|
|
53
|
+
yield this._initializationPromise;
|
|
54
|
+
} finally {
|
|
55
|
+
this._initializationPromise = null;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return this.config.clientTEEConnection;
|
|
59
|
+
});
|
|
60
|
+
}
|
|
61
|
+
initializeTEEConnection() {
|
|
62
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
63
|
+
console.warn("TEE connection is not initialized, initializing now...");
|
|
64
|
+
const parsedAPIKey = _commonsdkbase.validateAPIKey.call(void 0, this.config.crossmint.apiKey);
|
|
65
|
+
if (!parsedAPIKey.isValid) {
|
|
66
|
+
throw new Error("Invalid API key");
|
|
67
|
+
}
|
|
68
|
+
const iframeManager = new (0, _chunkTK3EUCQ4cjs.NcsIframeManager)({ environment: parsedAPIKey.environment });
|
|
69
|
+
this.config.clientTEEConnection = yield iframeManager.initialize();
|
|
70
|
+
if (this.config.clientTEEConnection == null) {
|
|
71
|
+
throw new Error("Failed to initialize TEE connection");
|
|
72
|
+
}
|
|
73
|
+
console.log("TEE connection initialized successfully");
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
handleAuthRequired() {
|
|
77
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
78
|
+
var _a, _b;
|
|
79
|
+
const clientTEEConnection = yield this.getTEEConnection();
|
|
80
|
+
if (this.config.onAuthRequired == null) {
|
|
81
|
+
throw new Error(
|
|
82
|
+
`${this.type} signer requires the onAuthRequired callback to handle OTP verification. This callback manages the authentication flow (sending OTP and verifying user input). If using our React/React Native SDK, this is handled automatically by the provider. For other environments, implement: onAuthRequired: (needsAuth, sendEmailWithOtp, verifyOtp, reject) => { /* your UI logic */ }`
|
|
83
|
+
);
|
|
84
|
+
}
|
|
85
|
+
const signerResponse = yield clientTEEConnection.sendAction({
|
|
86
|
+
event: "request:get-status",
|
|
87
|
+
responseEvent: "response:get-status",
|
|
88
|
+
data: {
|
|
89
|
+
authData: {
|
|
90
|
+
jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
|
|
91
|
+
apiKey: this.config.crossmint.apiKey
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
options: _chunkG5NYLGM5cjs.__spreadProps.call(void 0, _chunkG5NYLGM5cjs.__spreadValues.call(void 0, {}, DEFAULT_EVENT_OPTIONS), {
|
|
95
|
+
maxRetries: 5
|
|
96
|
+
})
|
|
97
|
+
});
|
|
98
|
+
if ((signerResponse == null ? void 0 : signerResponse.status) !== "success") {
|
|
99
|
+
throw new Error(signerResponse == null ? void 0 : signerResponse.error);
|
|
100
|
+
}
|
|
101
|
+
if (signerResponse.signerStatus === "ready") {
|
|
102
|
+
this._needsAuth = false;
|
|
103
|
+
return;
|
|
104
|
+
} else {
|
|
105
|
+
this._needsAuth = true;
|
|
106
|
+
}
|
|
107
|
+
const { promise, resolve, reject } = this.createAuthPromise();
|
|
108
|
+
this._authPromise = { promise, resolve, reject };
|
|
109
|
+
if (this.config.onAuthRequired) {
|
|
110
|
+
try {
|
|
111
|
+
yield this.config.onAuthRequired(
|
|
112
|
+
this._needsAuth,
|
|
113
|
+
() => this.sendMessageWithOtp(),
|
|
114
|
+
(otp) => this.verifyOtp(otp),
|
|
115
|
+
() => _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
116
|
+
this._needsAuth = false;
|
|
117
|
+
if (this.config.onAuthRequired != null) {
|
|
118
|
+
yield this.config.onAuthRequired(
|
|
119
|
+
this._needsAuth,
|
|
120
|
+
() => this.sendMessageWithOtp(),
|
|
121
|
+
(otp) => this.verifyOtp(otp),
|
|
122
|
+
() => {
|
|
123
|
+
var _a2;
|
|
124
|
+
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0, _chunkRHR6P2KPcjs.AuthRejectedError)());
|
|
125
|
+
}
|
|
126
|
+
);
|
|
127
|
+
}
|
|
128
|
+
reject(new (0, _chunkRHR6P2KPcjs.AuthRejectedError)());
|
|
129
|
+
})
|
|
130
|
+
);
|
|
131
|
+
} catch (error) {
|
|
132
|
+
reject(error);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
yield promise;
|
|
137
|
+
} catch (error) {
|
|
138
|
+
throw error;
|
|
139
|
+
}
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
ensureAuthenticated() {
|
|
143
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
144
|
+
yield this.handleAuthRequired();
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
getJwtOrThrow() {
|
|
148
|
+
var _a;
|
|
149
|
+
const jwt = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt;
|
|
150
|
+
if (jwt == null) {
|
|
151
|
+
throw new Error("JWT is required");
|
|
152
|
+
}
|
|
153
|
+
return jwt;
|
|
154
|
+
}
|
|
155
|
+
createAuthPromise() {
|
|
156
|
+
let resolvePromise;
|
|
157
|
+
let rejectPromise;
|
|
158
|
+
const promise = new Promise((resolve, reject) => {
|
|
159
|
+
resolvePromise = resolve;
|
|
160
|
+
rejectPromise = reject;
|
|
161
|
+
});
|
|
162
|
+
return { promise, resolve: resolvePromise, reject: rejectPromise };
|
|
163
|
+
}
|
|
164
|
+
sendMessageWithOtp() {
|
|
165
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
166
|
+
var _a, _b, _c;
|
|
167
|
+
const handshakeParent = yield this.getTEEConnection();
|
|
168
|
+
const authId = this.getAuthId();
|
|
169
|
+
const response = yield handshakeParent.sendAction({
|
|
170
|
+
event: "request:start-onboarding",
|
|
171
|
+
responseEvent: "response:start-onboarding",
|
|
172
|
+
data: {
|
|
173
|
+
authData: {
|
|
174
|
+
jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
|
|
175
|
+
apiKey: this.config.crossmint.apiKey
|
|
176
|
+
},
|
|
177
|
+
data: { authId }
|
|
178
|
+
},
|
|
179
|
+
options: _chunkG5NYLGM5cjs.__spreadProps.call(void 0, _chunkG5NYLGM5cjs.__spreadValues.call(void 0, {}, DEFAULT_EVENT_OPTIONS), {
|
|
180
|
+
maxRetries: 3
|
|
181
|
+
})
|
|
182
|
+
});
|
|
183
|
+
if ((response == null ? void 0 : response.status) === "success" && response.signerStatus === "ready") {
|
|
184
|
+
this._needsAuth = false;
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if ((response == null ? void 0 : response.status) === "error") {
|
|
188
|
+
console.error("[sendMessageWithOtp] Failed to send OTP:", response);
|
|
189
|
+
(_c = this._authPromise) == null ? void 0 : _c.reject(new Error(response.error || "Failed to initiate OTP process."));
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
}
|
|
193
|
+
getAuthId() {
|
|
194
|
+
if (this.config.type === "email") {
|
|
195
|
+
return `email:${this.config.email}`;
|
|
196
|
+
}
|
|
197
|
+
return `phone:${this.config.phone}`;
|
|
198
|
+
}
|
|
199
|
+
verifyOtp(encryptedOtp) {
|
|
200
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
201
|
+
var _a, _b, _c, _d, _e;
|
|
202
|
+
let response;
|
|
203
|
+
try {
|
|
204
|
+
const handshakeParent = yield this.getTEEConnection();
|
|
205
|
+
response = yield handshakeParent.sendAction({
|
|
206
|
+
event: "request:complete-onboarding",
|
|
207
|
+
responseEvent: "response:complete-onboarding",
|
|
208
|
+
data: {
|
|
209
|
+
authData: {
|
|
210
|
+
jwt: (_b = (_a = this.config.crossmint.experimental_customAuth) == null ? void 0 : _a.jwt) != null ? _b : "",
|
|
211
|
+
apiKey: this.config.crossmint.apiKey
|
|
212
|
+
},
|
|
213
|
+
data: {
|
|
214
|
+
onboardingAuthentication: { encryptedOtp }
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
options: _chunkG5NYLGM5cjs.__spreadProps.call(void 0, _chunkG5NYLGM5cjs.__spreadValues.call(void 0, {}, DEFAULT_EVENT_OPTIONS), {
|
|
218
|
+
maxRetries: 3
|
|
219
|
+
})
|
|
220
|
+
});
|
|
221
|
+
} catch (err) {
|
|
222
|
+
console.error("[verifyOtp] Error sending OTP validation request:", err);
|
|
223
|
+
this._needsAuth = true;
|
|
224
|
+
(_c = this._authPromise) == null ? void 0 : _c.reject(err);
|
|
225
|
+
throw err;
|
|
226
|
+
}
|
|
227
|
+
if ((response == null ? void 0 : response.status) === "success") {
|
|
228
|
+
this._needsAuth = false;
|
|
229
|
+
if (this.config.onAuthRequired != null) {
|
|
230
|
+
yield this.config.onAuthRequired(
|
|
231
|
+
this._needsAuth,
|
|
232
|
+
() => this.sendMessageWithOtp(),
|
|
233
|
+
(otp) => this.verifyOtp(otp),
|
|
234
|
+
() => {
|
|
235
|
+
var _a2;
|
|
236
|
+
return (_a2 = this._authPromise) == null ? void 0 : _a2.reject(new (0, _chunkRHR6P2KPcjs.AuthRejectedError)());
|
|
237
|
+
}
|
|
238
|
+
);
|
|
239
|
+
}
|
|
240
|
+
(_d = this._authPromise) == null ? void 0 : _d.resolve();
|
|
241
|
+
return;
|
|
242
|
+
}
|
|
243
|
+
console.error("[verifyOtp] Failed to validate OTP:", response);
|
|
244
|
+
this._needsAuth = true;
|
|
245
|
+
const errorMessage = (response == null ? void 0 : response.status) === "error" ? response.error : "Failed to validate encrypted OTP";
|
|
246
|
+
const error = new Error(errorMessage);
|
|
247
|
+
(_e = this._authPromise) == null ? void 0 : _e.reject(error);
|
|
248
|
+
throw error;
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
/**
|
|
252
|
+
* Export the private key for this signer
|
|
253
|
+
* @throws {Error} If signer is not authenticated
|
|
254
|
+
*/
|
|
255
|
+
_exportPrivateKey(exportTEEConnection) {
|
|
256
|
+
return _chunkG5NYLGM5cjs.__async.call(void 0, this, null, function* () {
|
|
257
|
+
yield this.handleAuthRequired();
|
|
258
|
+
const jwt = this.getJwtOrThrow();
|
|
259
|
+
const { scheme, encoding } = this.getChainKeyParams();
|
|
260
|
+
const response = yield exportTEEConnection.sendAction({
|
|
261
|
+
event: "request:export-signer",
|
|
262
|
+
responseEvent: "response:export-signer",
|
|
263
|
+
data: {
|
|
264
|
+
authData: {
|
|
265
|
+
jwt,
|
|
266
|
+
apiKey: this.config.crossmint.apiKey
|
|
267
|
+
},
|
|
268
|
+
data: {
|
|
269
|
+
scheme,
|
|
270
|
+
encoding
|
|
271
|
+
}
|
|
272
|
+
},
|
|
273
|
+
options: DEFAULT_EVENT_OPTIONS
|
|
274
|
+
});
|
|
275
|
+
if ((response == null ? void 0 : response.status) === "error") {
|
|
276
|
+
throw new Error(response.error || "Failed to export private key");
|
|
277
|
+
}
|
|
278
|
+
});
|
|
279
|
+
}
|
|
280
|
+
};
|
|
281
|
+
var DEFAULT_EVENT_OPTIONS = {
|
|
282
|
+
timeoutMs: 1e4,
|
|
283
|
+
intervalMs: 5e3
|
|
284
|
+
};
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
exports.NonCustodialSigner = NonCustodialSigner; exports.DEFAULT_EVENT_OPTIONS = DEFAULT_EVENT_OPTIONS;
|