@turnkey/core 1.0.0-beta.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/LICENSE +201 -0
- package/README.MD +5 -0
- package/dist/__clients__/core.d.ts +1010 -0
- package/dist/__clients__/core.d.ts.map +1 -0
- package/dist/__clients__/core.js +2358 -0
- package/dist/__clients__/core.js.map +1 -0
- package/dist/__clients__/core.mjs +2356 -0
- package/dist/__clients__/core.mjs.map +1 -0
- package/dist/__generated__/sdk-client-base.d.ts +211 -0
- package/dist/__generated__/sdk-client-base.d.ts.map +1 -0
- package/dist/__generated__/sdk-client-base.js +3219 -0
- package/dist/__generated__/sdk-client-base.js.map +1 -0
- package/dist/__generated__/sdk-client-base.mjs +3217 -0
- package/dist/__generated__/sdk-client-base.mjs.map +1 -0
- package/dist/__generated__/version.d.ts +2 -0
- package/dist/__generated__/version.d.ts.map +1 -0
- package/dist/__generated__/version.js +6 -0
- package/dist/__generated__/version.js.map +1 -0
- package/dist/__generated__/version.mjs +4 -0
- package/dist/__generated__/version.mjs.map +1 -0
- package/dist/__inputs__/public_api.types.d.ts +5170 -0
- package/dist/__inputs__/public_api.types.d.ts.map +1 -0
- package/dist/__polyfills__/window.d.ts +15 -0
- package/dist/__polyfills__/window.d.ts.map +1 -0
- package/dist/__polyfills__/window.js +30 -0
- package/dist/__polyfills__/window.js.map +1 -0
- package/dist/__polyfills__/window.mjs +28 -0
- package/dist/__polyfills__/window.mjs.map +1 -0
- package/dist/__stampers__/api/base.d.ts +20 -0
- package/dist/__stampers__/api/base.d.ts.map +1 -0
- package/dist/__stampers__/api/base.js +67 -0
- package/dist/__stampers__/api/base.js.map +1 -0
- package/dist/__stampers__/api/base.mjs +65 -0
- package/dist/__stampers__/api/base.mjs.map +1 -0
- package/dist/__stampers__/api/mobile/stamper.d.ts +13 -0
- package/dist/__stampers__/api/mobile/stamper.d.ts.map +1 -0
- package/dist/__stampers__/api/mobile/stamper.js +69 -0
- package/dist/__stampers__/api/mobile/stamper.js.map +1 -0
- package/dist/__stampers__/api/mobile/stamper.mjs +67 -0
- package/dist/__stampers__/api/mobile/stamper.mjs.map +1 -0
- package/dist/__stampers__/api/web/stamper.d.ts +14 -0
- package/dist/__stampers__/api/web/stamper.d.ts.map +1 -0
- package/dist/__stampers__/api/web/stamper.js +212 -0
- package/dist/__stampers__/api/web/stamper.js.map +1 -0
- package/dist/__stampers__/api/web/stamper.mjs +210 -0
- package/dist/__stampers__/api/web/stamper.mjs.map +1 -0
- package/dist/__stampers__/passkey/base.d.ts +18 -0
- package/dist/__stampers__/passkey/base.d.ts.map +1 -0
- package/dist/__stampers__/passkey/base.js +138 -0
- package/dist/__stampers__/passkey/base.js.map +1 -0
- package/dist/__stampers__/passkey/base.mjs +134 -0
- package/dist/__stampers__/passkey/base.mjs.map +1 -0
- package/dist/__storage__/base.d.ts +3 -0
- package/dist/__storage__/base.d.ts.map +1 -0
- package/dist/__storage__/base.js +27 -0
- package/dist/__storage__/base.js.map +1 -0
- package/dist/__storage__/base.mjs +25 -0
- package/dist/__storage__/base.mjs.map +1 -0
- package/dist/__storage__/mobile/storage.d.ts +18 -0
- package/dist/__storage__/mobile/storage.d.ts.map +1 -0
- package/dist/__storage__/mobile/storage.js +74 -0
- package/dist/__storage__/mobile/storage.js.map +1 -0
- package/dist/__storage__/mobile/storage.mjs +72 -0
- package/dist/__storage__/mobile/storage.mjs.map +1 -0
- package/dist/__storage__/web/storage.d.ts +19 -0
- package/dist/__storage__/web/storage.d.ts.map +1 -0
- package/dist/__storage__/web/storage.js +79 -0
- package/dist/__storage__/web/storage.js.map +1 -0
- package/dist/__storage__/web/storage.mjs +77 -0
- package/dist/__storage__/web/storage.mjs.map +1 -0
- package/dist/__types__/base.d.ts +407 -0
- package/dist/__types__/base.d.ts.map +1 -0
- package/dist/__types__/base.js +88 -0
- package/dist/__types__/base.js.map +1 -0
- package/dist/__types__/base.mjs +84 -0
- package/dist/__types__/base.mjs.map +1 -0
- package/dist/__wallet__/base.d.ts +3 -0
- package/dist/__wallet__/base.d.ts.map +1 -0
- package/dist/__wallet__/base.js +24 -0
- package/dist/__wallet__/base.js.map +1 -0
- package/dist/__wallet__/base.mjs +22 -0
- package/dist/__wallet__/base.mjs.map +1 -0
- package/dist/__wallet__/connector.d.ts +33 -0
- package/dist/__wallet__/connector.d.ts.map +1 -0
- package/dist/__wallet__/connector.js +63 -0
- package/dist/__wallet__/connector.js.map +1 -0
- package/dist/__wallet__/connector.mjs +61 -0
- package/dist/__wallet__/connector.mjs.map +1 -0
- package/dist/__wallet__/mobile/manager.d.ts +35 -0
- package/dist/__wallet__/mobile/manager.d.ts.map +1 -0
- package/dist/__wallet__/mobile/manager.js +95 -0
- package/dist/__wallet__/mobile/manager.js.map +1 -0
- package/dist/__wallet__/mobile/manager.mjs +93 -0
- package/dist/__wallet__/mobile/manager.mjs.map +1 -0
- package/dist/__wallet__/stamper.d.ts +19 -0
- package/dist/__wallet__/stamper.d.ts.map +1 -0
- package/dist/__wallet__/stamper.js +116 -0
- package/dist/__wallet__/stamper.js.map +1 -0
- package/dist/__wallet__/stamper.mjs +113 -0
- package/dist/__wallet__/stamper.mjs.map +1 -0
- package/dist/__wallet__/wallet-connect/base.d.ts +83 -0
- package/dist/__wallet__/wallet-connect/base.d.ts.map +1 -0
- package/dist/__wallet__/wallet-connect/base.js +362 -0
- package/dist/__wallet__/wallet-connect/base.js.map +1 -0
- package/dist/__wallet__/wallet-connect/base.mjs +360 -0
- package/dist/__wallet__/wallet-connect/base.mjs.map +1 -0
- package/dist/__wallet__/wallet-connect/client.d.ts +78 -0
- package/dist/__wallet__/wallet-connect/client.d.ts.map +1 -0
- package/dist/__wallet__/wallet-connect/client.js +139 -0
- package/dist/__wallet__/wallet-connect/client.js.map +1 -0
- package/dist/__wallet__/wallet-connect/client.mjs +137 -0
- package/dist/__wallet__/wallet-connect/client.mjs.map +1 -0
- package/dist/__wallet__/web/manager.d.ts +41 -0
- package/dist/__wallet__/web/manager.d.ts.map +1 -0
- package/dist/__wallet__/web/manager.js +115 -0
- package/dist/__wallet__/web/manager.js.map +1 -0
- package/dist/__wallet__/web/manager.mjs +113 -0
- package/dist/__wallet__/web/manager.mjs.map +1 -0
- package/dist/__wallet__/web/native/ethereum.d.ts +67 -0
- package/dist/__wallet__/web/native/ethereum.d.ts.map +1 -0
- package/dist/__wallet__/web/native/ethereum.js +248 -0
- package/dist/__wallet__/web/native/ethereum.js.map +1 -0
- package/dist/__wallet__/web/native/ethereum.mjs +245 -0
- package/dist/__wallet__/web/native/ethereum.mjs.map +1 -0
- package/dist/__wallet__/web/native/solana.d.ts +19 -0
- package/dist/__wallet__/web/native/solana.d.ts.map +1 -0
- package/dist/__wallet__/web/native/solana.js +149 -0
- package/dist/__wallet__/web/native/solana.js.map +1 -0
- package/dist/__wallet__/web/native/solana.mjs +146 -0
- package/dist/__wallet__/web/native/solana.mjs.map +1 -0
- package/dist/index.d.ts +9 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +78 -0
- package/dist/index.js.map +1 -0
- package/dist/index.mjs +8 -0
- package/dist/index.mjs.map +1 -0
- package/dist/turnkey-helpers.d.ts +68 -0
- package/dist/turnkey-helpers.d.ts.map +1 -0
- package/dist/turnkey-helpers.js +466 -0
- package/dist/turnkey-helpers.js.map +1 -0
- package/dist/turnkey-helpers.mjs +399 -0
- package/dist/turnkey-helpers.mjs.map +1 -0
- package/dist/utils.d.ts +54 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +596 -0
- package/dist/utils.js.map +1 -0
- package/dist/utils.mjs +574 -0
- package/dist/utils.mjs.map +1 -0
- package/package.json +67 -0
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var app = require('@wallet-standard/app');
|
|
4
|
+
var bs58 = require('bs58');
|
|
5
|
+
var encoding = require('@turnkey/encoding');
|
|
6
|
+
var base = require('../../../__types__/base.js');
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Casts a WalletRpcProvider to a Wallet Standard Solana provider.
|
|
10
|
+
*
|
|
11
|
+
* @param p - The wallet provider to cast.
|
|
12
|
+
* @returns The casted Wallet Standard wallet.
|
|
13
|
+
* @throws If the provider is not a Wallet Standard Solana wallet.
|
|
14
|
+
*/
|
|
15
|
+
const asSolana = (p) => {
|
|
16
|
+
if (p.provider &&
|
|
17
|
+
"features" in p.provider &&
|
|
18
|
+
"solana:signMessage" in p.provider.features) {
|
|
19
|
+
return p.provider;
|
|
20
|
+
}
|
|
21
|
+
throw new Error("Expected a Wallet-Standard provider (Solana wallet)");
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Connects the given Solana wallet account.
|
|
25
|
+
*
|
|
26
|
+
* @param w - The wallet to connect.
|
|
27
|
+
* @returns A promise that resolves once the wallet is connected.
|
|
28
|
+
* @throws If the wallet does not support standard:connect.
|
|
29
|
+
*/
|
|
30
|
+
const connectAccount = async (w) => {
|
|
31
|
+
if (w.accounts.length)
|
|
32
|
+
return;
|
|
33
|
+
const stdConnect = w.features["standard:connect"];
|
|
34
|
+
if (stdConnect) {
|
|
35
|
+
await stdConnect.connect();
|
|
36
|
+
return;
|
|
37
|
+
}
|
|
38
|
+
throw new Error("Wallet is not connected and does not implement standard:connect");
|
|
39
|
+
};
|
|
40
|
+
/**
|
|
41
|
+
* Abstract class representing a base Solana wallet.
|
|
42
|
+
*/
|
|
43
|
+
class BaseSolanaWallet {
|
|
44
|
+
constructor() {
|
|
45
|
+
this.interfaceType = base.WalletInterfaceType.Solana;
|
|
46
|
+
this.getPublicKey = async (provider) => {
|
|
47
|
+
const wallet = asSolana(provider);
|
|
48
|
+
await connectAccount(wallet);
|
|
49
|
+
const account = wallet.accounts[0];
|
|
50
|
+
if (!account) {
|
|
51
|
+
throw new Error("No account in wallet");
|
|
52
|
+
}
|
|
53
|
+
const rawBytes = bs58.decode(account.address);
|
|
54
|
+
return encoding.uint8ArrayToHexString(rawBytes);
|
|
55
|
+
};
|
|
56
|
+
this.getProviders = async () => {
|
|
57
|
+
const discovered = [];
|
|
58
|
+
const walletsApi = app.getWallets();
|
|
59
|
+
const providers = walletsApi
|
|
60
|
+
.get()
|
|
61
|
+
.filter((w) => w.chains.some((c) => c.startsWith("solana:")));
|
|
62
|
+
await Promise.all(providers.map(async (wallet) => {
|
|
63
|
+
let connectedAddresses = [];
|
|
64
|
+
try {
|
|
65
|
+
connectedAddresses =
|
|
66
|
+
wallet.accounts?.map((a) => a.address) ?? [];
|
|
67
|
+
}
|
|
68
|
+
catch {
|
|
69
|
+
connectedAddresses = [];
|
|
70
|
+
}
|
|
71
|
+
discovered.push({
|
|
72
|
+
interfaceType: base.WalletInterfaceType.Solana,
|
|
73
|
+
chainInfo: {
|
|
74
|
+
namespace: base.Chain.Solana,
|
|
75
|
+
},
|
|
76
|
+
info: { name: wallet.name, icon: wallet.icon },
|
|
77
|
+
provider: wallet,
|
|
78
|
+
connectedAddresses,
|
|
79
|
+
});
|
|
80
|
+
}));
|
|
81
|
+
return discovered;
|
|
82
|
+
};
|
|
83
|
+
this.connectWalletAccount = async (provider) => {
|
|
84
|
+
const wallet = asSolana(provider);
|
|
85
|
+
await connectAccount(wallet);
|
|
86
|
+
};
|
|
87
|
+
this.disconnectWalletAccount = async (provider) => {
|
|
88
|
+
const wallet = asSolana(provider);
|
|
89
|
+
const disconnectFeature = wallet.features["standard:disconnect"];
|
|
90
|
+
if (disconnectFeature) {
|
|
91
|
+
await disconnectFeature.disconnect();
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
throw new Error("Wallet does not support standard:disconnect");
|
|
95
|
+
}
|
|
96
|
+
};
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* SolanaWallet class implementing signing logic for Solana wallets.
|
|
101
|
+
*/
|
|
102
|
+
class SolanaWallet extends BaseSolanaWallet {
|
|
103
|
+
constructor() {
|
|
104
|
+
super(...arguments);
|
|
105
|
+
this.sign = async (message, provider, intent) => {
|
|
106
|
+
const wallet = asSolana(provider);
|
|
107
|
+
await connectAccount(wallet);
|
|
108
|
+
const account = wallet.accounts[0];
|
|
109
|
+
if (!account)
|
|
110
|
+
throw new Error("No account available");
|
|
111
|
+
switch (intent) {
|
|
112
|
+
case base.SignIntent.SignMessage: {
|
|
113
|
+
const signFeature = wallet.features["solana:signMessage"];
|
|
114
|
+
if (!signFeature)
|
|
115
|
+
throw new Error("Provider does not support solana:signMessage");
|
|
116
|
+
const data = new TextEncoder().encode(message);
|
|
117
|
+
const results = await signFeature.signMessage({
|
|
118
|
+
account,
|
|
119
|
+
message: data,
|
|
120
|
+
});
|
|
121
|
+
if (!results?.length || !results[0]?.signature) {
|
|
122
|
+
throw new Error("No signature returned from signMessage");
|
|
123
|
+
}
|
|
124
|
+
return encoding.uint8ArrayToHexString(results[0].signature);
|
|
125
|
+
}
|
|
126
|
+
case base.SignIntent.SignTransaction: {
|
|
127
|
+
const signFeature = wallet.features["solana:signTransaction"];
|
|
128
|
+
if (!signFeature)
|
|
129
|
+
throw new Error("Provider does not support solana:signTransaction");
|
|
130
|
+
const data = encoding.uint8ArrayFromHexString(message);
|
|
131
|
+
const results = await signFeature.signTransaction({
|
|
132
|
+
account,
|
|
133
|
+
transaction: data,
|
|
134
|
+
});
|
|
135
|
+
if (!results?.length || !results[0]?.signature) {
|
|
136
|
+
throw new Error("No signature returned from signTransaction");
|
|
137
|
+
}
|
|
138
|
+
return encoding.uint8ArrayToHexString(results[0].signature);
|
|
139
|
+
}
|
|
140
|
+
default:
|
|
141
|
+
throw new Error(`Unsupported sign intent: ${intent}`);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
exports.BaseSolanaWallet = BaseSolanaWallet;
|
|
148
|
+
exports.SolanaWallet = SolanaWallet;
|
|
149
|
+
//# sourceMappingURL=solana.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.js","sources":["../../../../src/__wallet__/web/native/solana.ts"],"sourcesContent":[null],"names":["WalletInterfaceType","uint8ArrayToHexString","getWallets","Chain","SignIntent","uint8ArrayFromHexString"],"mappings":"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"}
|
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { getWallets } from '@wallet-standard/app';
|
|
2
|
+
import bs58 from 'bs58';
|
|
3
|
+
import { uint8ArrayFromHexString, uint8ArrayToHexString } from '@turnkey/encoding';
|
|
4
|
+
import { SignIntent, WalletInterfaceType, Chain } from '../../../__types__/base.mjs';
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Casts a WalletRpcProvider to a Wallet Standard Solana provider.
|
|
8
|
+
*
|
|
9
|
+
* @param p - The wallet provider to cast.
|
|
10
|
+
* @returns The casted Wallet Standard wallet.
|
|
11
|
+
* @throws If the provider is not a Wallet Standard Solana wallet.
|
|
12
|
+
*/
|
|
13
|
+
const asSolana = (p) => {
|
|
14
|
+
if (p.provider &&
|
|
15
|
+
"features" in p.provider &&
|
|
16
|
+
"solana:signMessage" in p.provider.features) {
|
|
17
|
+
return p.provider;
|
|
18
|
+
}
|
|
19
|
+
throw new Error("Expected a Wallet-Standard provider (Solana wallet)");
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* Connects the given Solana wallet account.
|
|
23
|
+
*
|
|
24
|
+
* @param w - The wallet to connect.
|
|
25
|
+
* @returns A promise that resolves once the wallet is connected.
|
|
26
|
+
* @throws If the wallet does not support standard:connect.
|
|
27
|
+
*/
|
|
28
|
+
const connectAccount = async (w) => {
|
|
29
|
+
if (w.accounts.length)
|
|
30
|
+
return;
|
|
31
|
+
const stdConnect = w.features["standard:connect"];
|
|
32
|
+
if (stdConnect) {
|
|
33
|
+
await stdConnect.connect();
|
|
34
|
+
return;
|
|
35
|
+
}
|
|
36
|
+
throw new Error("Wallet is not connected and does not implement standard:connect");
|
|
37
|
+
};
|
|
38
|
+
/**
|
|
39
|
+
* Abstract class representing a base Solana wallet.
|
|
40
|
+
*/
|
|
41
|
+
class BaseSolanaWallet {
|
|
42
|
+
constructor() {
|
|
43
|
+
this.interfaceType = WalletInterfaceType.Solana;
|
|
44
|
+
this.getPublicKey = async (provider) => {
|
|
45
|
+
const wallet = asSolana(provider);
|
|
46
|
+
await connectAccount(wallet);
|
|
47
|
+
const account = wallet.accounts[0];
|
|
48
|
+
if (!account) {
|
|
49
|
+
throw new Error("No account in wallet");
|
|
50
|
+
}
|
|
51
|
+
const rawBytes = bs58.decode(account.address);
|
|
52
|
+
return uint8ArrayToHexString(rawBytes);
|
|
53
|
+
};
|
|
54
|
+
this.getProviders = async () => {
|
|
55
|
+
const discovered = [];
|
|
56
|
+
const walletsApi = getWallets();
|
|
57
|
+
const providers = walletsApi
|
|
58
|
+
.get()
|
|
59
|
+
.filter((w) => w.chains.some((c) => c.startsWith("solana:")));
|
|
60
|
+
await Promise.all(providers.map(async (wallet) => {
|
|
61
|
+
let connectedAddresses = [];
|
|
62
|
+
try {
|
|
63
|
+
connectedAddresses =
|
|
64
|
+
wallet.accounts?.map((a) => a.address) ?? [];
|
|
65
|
+
}
|
|
66
|
+
catch {
|
|
67
|
+
connectedAddresses = [];
|
|
68
|
+
}
|
|
69
|
+
discovered.push({
|
|
70
|
+
interfaceType: WalletInterfaceType.Solana,
|
|
71
|
+
chainInfo: {
|
|
72
|
+
namespace: Chain.Solana,
|
|
73
|
+
},
|
|
74
|
+
info: { name: wallet.name, icon: wallet.icon },
|
|
75
|
+
provider: wallet,
|
|
76
|
+
connectedAddresses,
|
|
77
|
+
});
|
|
78
|
+
}));
|
|
79
|
+
return discovered;
|
|
80
|
+
};
|
|
81
|
+
this.connectWalletAccount = async (provider) => {
|
|
82
|
+
const wallet = asSolana(provider);
|
|
83
|
+
await connectAccount(wallet);
|
|
84
|
+
};
|
|
85
|
+
this.disconnectWalletAccount = async (provider) => {
|
|
86
|
+
const wallet = asSolana(provider);
|
|
87
|
+
const disconnectFeature = wallet.features["standard:disconnect"];
|
|
88
|
+
if (disconnectFeature) {
|
|
89
|
+
await disconnectFeature.disconnect();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw new Error("Wallet does not support standard:disconnect");
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* SolanaWallet class implementing signing logic for Solana wallets.
|
|
99
|
+
*/
|
|
100
|
+
class SolanaWallet extends BaseSolanaWallet {
|
|
101
|
+
constructor() {
|
|
102
|
+
super(...arguments);
|
|
103
|
+
this.sign = async (message, provider, intent) => {
|
|
104
|
+
const wallet = asSolana(provider);
|
|
105
|
+
await connectAccount(wallet);
|
|
106
|
+
const account = wallet.accounts[0];
|
|
107
|
+
if (!account)
|
|
108
|
+
throw new Error("No account available");
|
|
109
|
+
switch (intent) {
|
|
110
|
+
case SignIntent.SignMessage: {
|
|
111
|
+
const signFeature = wallet.features["solana:signMessage"];
|
|
112
|
+
if (!signFeature)
|
|
113
|
+
throw new Error("Provider does not support solana:signMessage");
|
|
114
|
+
const data = new TextEncoder().encode(message);
|
|
115
|
+
const results = await signFeature.signMessage({
|
|
116
|
+
account,
|
|
117
|
+
message: data,
|
|
118
|
+
});
|
|
119
|
+
if (!results?.length || !results[0]?.signature) {
|
|
120
|
+
throw new Error("No signature returned from signMessage");
|
|
121
|
+
}
|
|
122
|
+
return uint8ArrayToHexString(results[0].signature);
|
|
123
|
+
}
|
|
124
|
+
case SignIntent.SignTransaction: {
|
|
125
|
+
const signFeature = wallet.features["solana:signTransaction"];
|
|
126
|
+
if (!signFeature)
|
|
127
|
+
throw new Error("Provider does not support solana:signTransaction");
|
|
128
|
+
const data = uint8ArrayFromHexString(message);
|
|
129
|
+
const results = await signFeature.signTransaction({
|
|
130
|
+
account,
|
|
131
|
+
transaction: data,
|
|
132
|
+
});
|
|
133
|
+
if (!results?.length || !results[0]?.signature) {
|
|
134
|
+
throw new Error("No signature returned from signTransaction");
|
|
135
|
+
}
|
|
136
|
+
return uint8ArrayToHexString(results[0].signature);
|
|
137
|
+
}
|
|
138
|
+
default:
|
|
139
|
+
throw new Error(`Unsupported sign intent: ${intent}`);
|
|
140
|
+
}
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
|
|
145
|
+
export { BaseSolanaWallet, SolanaWallet };
|
|
146
|
+
//# sourceMappingURL=solana.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"solana.mjs","sources":["../../../../src/__wallet__/web/native/solana.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
/** @internal */
|
|
2
|
+
export { ApiKeyStamper, signWithApiKey, type TApiKeyStamperConfig, } from "@turnkey/api-key-stamper";
|
|
3
|
+
/** @internal */
|
|
4
|
+
export { type TWebauthnStamperConfig, WebauthnStamper, } from "@turnkey/webauthn-stamper";
|
|
5
|
+
export { TurnkeyClient, type TurnkeyClientMethods } from "./__clients__/core";
|
|
6
|
+
export { type TurnkeySDKClientBase } from "./__generated__/sdk-client-base";
|
|
7
|
+
export * from "./__types__/base";
|
|
8
|
+
export { generateWalletAccountsFromAddressFormat, isEthereumWallet, isSolanaWallet, getAuthProxyConfig, addressFormatConfig, } from "./utils";
|
|
9
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,gBAAgB;AAChB,OAAO,EACL,aAAa,EACb,cAAc,EACd,KAAK,oBAAoB,GAC1B,MAAM,0BAA0B,CAAC;AAGlC,gBAAgB;AAChB,OAAO,EACL,KAAK,sBAAsB,EAC3B,eAAe,GAChB,MAAM,2BAA2B,CAAC;AAEnC,OAAO,EAAE,aAAa,EAAE,KAAK,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,KAAK,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AAG5E,cAAc,kBAAkB,CAAC;AAEjC,OAAO,EACL,uCAAuC,EACvC,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,mBAAmB,GACpB,MAAM,SAAS,CAAC"}
|
package/dist/index.js
ADDED
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var apiKeyStamper = require('@turnkey/api-key-stamper');
|
|
4
|
+
var webauthnStamper = require('@turnkey/webauthn-stamper');
|
|
5
|
+
var core = require('./__clients__/core.js');
|
|
6
|
+
require('@turnkey/http');
|
|
7
|
+
var base = require('./__types__/base.js');
|
|
8
|
+
require('@turnkey/sdk-types');
|
|
9
|
+
var utils = require('./utils.js');
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
Object.defineProperty(exports, "ApiKeyStamper", {
|
|
14
|
+
enumerable: true,
|
|
15
|
+
get: function () { return apiKeyStamper.ApiKeyStamper; }
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(exports, "signWithApiKey", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
get: function () { return apiKeyStamper.signWithApiKey; }
|
|
20
|
+
});
|
|
21
|
+
Object.defineProperty(exports, "WebauthnStamper", {
|
|
22
|
+
enumerable: true,
|
|
23
|
+
get: function () { return webauthnStamper.WebauthnStamper; }
|
|
24
|
+
});
|
|
25
|
+
exports.TurnkeyClient = core.TurnkeyClient;
|
|
26
|
+
Object.defineProperty(exports, "AuthClient", {
|
|
27
|
+
enumerable: true,
|
|
28
|
+
get: function () { return base.AuthClient; }
|
|
29
|
+
});
|
|
30
|
+
Object.defineProperty(exports, "Chain", {
|
|
31
|
+
enumerable: true,
|
|
32
|
+
get: function () { return base.Chain; }
|
|
33
|
+
});
|
|
34
|
+
Object.defineProperty(exports, "Curve", {
|
|
35
|
+
enumerable: true,
|
|
36
|
+
get: function () { return base.Curve; }
|
|
37
|
+
});
|
|
38
|
+
exports.DEFAULT_SESSION_EXPIRATION_IN_SECONDS = base.DEFAULT_SESSION_EXPIRATION_IN_SECONDS;
|
|
39
|
+
Object.defineProperty(exports, "FilterType", {
|
|
40
|
+
enumerable: true,
|
|
41
|
+
get: function () { return base.FilterType; }
|
|
42
|
+
});
|
|
43
|
+
Object.defineProperty(exports, "MethodType", {
|
|
44
|
+
enumerable: true,
|
|
45
|
+
get: function () { return base.MethodType; }
|
|
46
|
+
});
|
|
47
|
+
Object.defineProperty(exports, "OtpType", {
|
|
48
|
+
enumerable: true,
|
|
49
|
+
get: function () { return base.OtpType; }
|
|
50
|
+
});
|
|
51
|
+
exports.OtpTypeToFilterTypeMap = base.OtpTypeToFilterTypeMap;
|
|
52
|
+
Object.defineProperty(exports, "SessionKey", {
|
|
53
|
+
enumerable: true,
|
|
54
|
+
get: function () { return base.SessionKey; }
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(exports, "SignIntent", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
get: function () { return base.SignIntent; }
|
|
59
|
+
});
|
|
60
|
+
Object.defineProperty(exports, "StamperType", {
|
|
61
|
+
enumerable: true,
|
|
62
|
+
get: function () { return base.StamperType; }
|
|
63
|
+
});
|
|
64
|
+
exports.TurnkeyRequestError = base.TurnkeyRequestError;
|
|
65
|
+
Object.defineProperty(exports, "WalletInterfaceType", {
|
|
66
|
+
enumerable: true,
|
|
67
|
+
get: function () { return base.WalletInterfaceType; }
|
|
68
|
+
});
|
|
69
|
+
Object.defineProperty(exports, "WalletSource", {
|
|
70
|
+
enumerable: true,
|
|
71
|
+
get: function () { return base.WalletSource; }
|
|
72
|
+
});
|
|
73
|
+
exports.addressFormatConfig = utils.addressFormatConfig;
|
|
74
|
+
exports.generateWalletAccountsFromAddressFormat = utils.generateWalletAccountsFromAddressFormat;
|
|
75
|
+
exports.getAuthProxyConfig = utils.getAuthProxyConfig;
|
|
76
|
+
exports.isEthereumWallet = utils.isEthereumWallet;
|
|
77
|
+
exports.isSolanaWallet = utils.isSolanaWallet;
|
|
78
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/dist/index.mjs
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { ApiKeyStamper, signWithApiKey } from '@turnkey/api-key-stamper';
|
|
2
|
+
export { WebauthnStamper } from '@turnkey/webauthn-stamper';
|
|
3
|
+
export { TurnkeyClient } from './__clients__/core.mjs';
|
|
4
|
+
import '@turnkey/http';
|
|
5
|
+
export { AuthClient, Chain, Curve, DEFAULT_SESSION_EXPIRATION_IN_SECONDS, FilterType, MethodType, OtpType, OtpTypeToFilterTypeMap, SessionKey, SignIntent, StamperType, TurnkeyRequestError, WalletInterfaceType, WalletSource } from './__types__/base.mjs';
|
|
6
|
+
import '@turnkey/sdk-types';
|
|
7
|
+
export { addressFormatConfig, generateWalletAccountsFromAddressFormat, getAuthProxyConfig, isEthereumWallet, isSolanaWallet } from './utils.mjs';
|
|
8
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import type { v1WalletAccountParams } from "@turnkey/sdk-types";
|
|
2
|
+
export declare const defaultEthereumAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
3
|
+
export declare const DEFAULT_ETHEREUM_ACCOUNTS: v1WalletAccountParams[];
|
|
4
|
+
export declare const defaultCosmosAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
5
|
+
export declare const DEFAULT_COSMOS_ACCOUNTS: v1WalletAccountParams[];
|
|
6
|
+
export declare const defaultTronAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
7
|
+
export declare const DEFAULT_TRON_ACCOUNTS: v1WalletAccountParams[];
|
|
8
|
+
export declare const defaultBitcoinMainnetP2PKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
9
|
+
export declare const DEFAULT_BITCOIN_MAINNET_P2PKH_ACCOUNTS: v1WalletAccountParams[];
|
|
10
|
+
export declare const defaultBitcoinMainnetP2WPKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
11
|
+
export declare const DEFAULT_BITCOIN_MAINNET_P2WPKH_ACCOUNTS: v1WalletAccountParams[];
|
|
12
|
+
export declare const defaultBitcoinMainnetP2WSHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
13
|
+
export declare const DEFAULT_BITCOIN_MAINNET_P2WSH_ACCOUNTS: v1WalletAccountParams[];
|
|
14
|
+
export declare const defaultBitcoinMainnetP2TRAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
15
|
+
export declare const DEFAULT_BITCOIN_MAINNET_P2TR_ACCOUNTS: v1WalletAccountParams[];
|
|
16
|
+
export declare const defaultBitcoinMainnetP2SHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
17
|
+
export declare const DEFAULT_BITCOIN_MAINNET_P2SH_ACCOUNTS: v1WalletAccountParams[];
|
|
18
|
+
export declare const defaultBitcoinTestnetP2PKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
19
|
+
export declare const DEFAULT_BITCOIN_TESTNET_P2PKH_ACCOUNTS: v1WalletAccountParams[];
|
|
20
|
+
export declare const defaultBitcoinTestnetP2WPKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
21
|
+
export declare const DEFAULT_BITCOIN_TESTNET_P2WPKH_ACCOUNTS: v1WalletAccountParams[];
|
|
22
|
+
export declare const defaultBitcoinTestnetP2WSHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
23
|
+
export declare const DEFAULT_BITCOIN_TESTNET_P2WSH_ACCOUNTS: v1WalletAccountParams[];
|
|
24
|
+
export declare const defaultBitcoinTestnetP2TRAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
25
|
+
export declare const DEFAULT_BITCOIN_TESTNET_P2TR_ACCOUNTS: v1WalletAccountParams[];
|
|
26
|
+
export declare const defaultBitcoinTestnetP2SHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
27
|
+
export declare const DEFAULT_BITCOIN_TESTNET_P2SH_ACCOUNTS: v1WalletAccountParams[];
|
|
28
|
+
export declare const defaultBitcoinSignetP2PKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
29
|
+
export declare const DEFAULT_BITCOIN_SIGNET_P2PKH_ACCOUNTS: v1WalletAccountParams[];
|
|
30
|
+
export declare const defaultBitcoinSignetP2WPKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
31
|
+
export declare const DEFAULT_BITCOIN_SIGNET_P2WPKH_ACCOUNTS: v1WalletAccountParams[];
|
|
32
|
+
export declare const defaultBitcoinSignetP2WSHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
33
|
+
export declare const DEFAULT_BITCOIN_SIGNET_P2WSH_ACCOUNTS: v1WalletAccountParams[];
|
|
34
|
+
export declare const defaultBitcoinSignetP2TRAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
35
|
+
export declare const DEFAULT_BITCOIN_SIGNET_P2TR_ACCOUNTS: v1WalletAccountParams[];
|
|
36
|
+
export declare const defaultBitcoinSignetP2SHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
37
|
+
export declare const DEFAULT_BITCOIN_SIGNET_P2SH_ACCOUNTS: v1WalletAccountParams[];
|
|
38
|
+
export declare const defaultBitcoinRegtestP2PKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
39
|
+
export declare const DEFAULT_BITCOIN_REGTEST_P2PKH_ACCOUNTS: v1WalletAccountParams[];
|
|
40
|
+
export declare const defaultBitcoinRegtestP2WPKHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
41
|
+
export declare const DEFAULT_BITCOIN_REGTEST_P2WPKH_ACCOUNTS: v1WalletAccountParams[];
|
|
42
|
+
export declare const defaultBitcoinRegtestP2WSHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
43
|
+
export declare const DEFAULT_BITCOIN_REGTEST_P2WSH_ACCOUNTS: v1WalletAccountParams[];
|
|
44
|
+
export declare const defaultBitcoinRegtestP2TRAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
45
|
+
export declare const DEFAULT_BITCOIN_REGTEST_P2TR_ACCOUNTS: v1WalletAccountParams[];
|
|
46
|
+
export declare const defaultBitcoinRegtestP2SHAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
47
|
+
export declare const DEFAULT_BITCOIN_REGTEST_P2SH_ACCOUNTS: v1WalletAccountParams[];
|
|
48
|
+
export declare const defaultDogeMainnetAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
49
|
+
export declare const DEFAULT_DOGE_MAINNET_ACCOUNTS: v1WalletAccountParams[];
|
|
50
|
+
export declare const defaultDogeTestnetAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
51
|
+
export declare const DEFAULT_DOGE_TESTNET_ACCOUNTS: v1WalletAccountParams[];
|
|
52
|
+
export declare const defaultSeiAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
53
|
+
export declare const DEFAULT_SEI_ACCOUNTS: v1WalletAccountParams[];
|
|
54
|
+
export declare const defaultXrpAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
55
|
+
export declare const DEFAULT_XRP_ACCOUNTS: v1WalletAccountParams[];
|
|
56
|
+
export declare const defaultSolanaAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
57
|
+
export declare const DEFAULT_SOLANA_ACCOUNTS: v1WalletAccountParams[];
|
|
58
|
+
export declare const defaultSuiAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
59
|
+
export declare const DEFAULT_SUI_ACCOUNTS: v1WalletAccountParams[];
|
|
60
|
+
export declare const defaultAptosAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
61
|
+
export declare const DEFAULT_APTOS_ACCOUNTS: v1WalletAccountParams[];
|
|
62
|
+
export declare const defaultXlmAccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
63
|
+
export declare const DEFAULT_XLM_ACCOUNTS: v1WalletAccountParams[];
|
|
64
|
+
export declare const defaultTonV3r2AccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
65
|
+
export declare const DEFAULT_TON_V3R2_ACCOUNTS: v1WalletAccountParams[];
|
|
66
|
+
export declare const defaultTonV4r2AccountAtIndex: (pathIndex: number) => v1WalletAccountParams;
|
|
67
|
+
export declare const DEFAULT_TON_V4R2_ACCOUNTS: v1WalletAccountParams[];
|
|
68
|
+
//# sourceMappingURL=turnkey-helpers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turnkey-helpers.d.ts","sourceRoot":"","sources":["../src/turnkey-helpers.ts"],"names":[],"mappings":"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"}
|