@zerodev/wallet-core 0.0.1-alpha.21 → 0.0.1-alpha.22
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +56 -0
- package/dist/_cjs/core/createZeroDevWalletCore.js +3 -1
- package/dist/_cjs/core/createZeroDevWalletCore.js.map +1 -1
- package/dist/_cjs/index.native.js +2 -2
- package/dist/_cjs/index.native.js.map +1 -1
- package/dist/_cjs/native/createZeroDevWallet.js +13 -0
- package/dist/_cjs/native/createZeroDevWallet.js.map +1 -0
- package/dist/_cjs/stampers/noopPasskeyStamper.js +16 -0
- package/dist/_cjs/stampers/noopPasskeyStamper.js.map +1 -0
- package/dist/_cjs/stubs/native-on-web.js +10 -1
- package/dist/_cjs/stubs/native-on-web.js.map +1 -1
- package/dist/_cjs/utils/exportWallet.js +52 -57
- package/dist/_cjs/utils/exportWallet.js.map +1 -1
- package/dist/_esm/core/createZeroDevWalletCore.js +3 -1
- package/dist/_esm/core/createZeroDevWalletCore.js.map +1 -1
- package/dist/_esm/index.native.js +5 -4
- package/dist/_esm/index.native.js.map +1 -1
- package/dist/_esm/native/createZeroDevWallet.js +10 -0
- package/dist/_esm/native/createZeroDevWallet.js.map +1 -0
- package/dist/_esm/stampers/noopPasskeyStamper.js +18 -0
- package/dist/_esm/stampers/noopPasskeyStamper.js.map +1 -0
- package/dist/_esm/stubs/native-on-web.js +24 -2
- package/dist/_esm/stubs/native-on-web.js.map +1 -1
- package/dist/_esm/utils/exportWallet.js +52 -57
- package/dist/_esm/utils/exportWallet.js.map +1 -1
- package/dist/_types/core/createZeroDevWalletCore.d.ts +1 -1
- package/dist/_types/core/createZeroDevWalletCore.d.ts.map +1 -1
- package/dist/_types/index.native.d.ts +1 -1
- package/dist/_types/index.native.d.ts.map +1 -1
- package/dist/_types/native/createZeroDevWallet.d.ts +12 -0
- package/dist/_types/native/createZeroDevWallet.d.ts.map +1 -0
- package/dist/_types/stampers/noopPasskeyStamper.d.ts +8 -0
- package/dist/_types/stampers/noopPasskeyStamper.d.ts.map +1 -0
- package/dist/_types/stubs/native-on-web.d.ts +5 -1
- package/dist/_types/stubs/native-on-web.d.ts.map +1 -1
- package/dist/_types/utils/exportWallet.d.ts.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +5 -1
- package/src/core/createZeroDevWalletCore.ts +3 -2
- package/src/index.native.ts +7 -6
- package/src/native/createZeroDevWallet.ts +26 -0
- package/src/stampers/noopPasskeyStamper.ts +21 -0
- package/src/stubs/native-on-web.ts +29 -3
- package/src/utils/exportWallet.ts +65 -70
package/README.md
CHANGED
|
@@ -196,6 +196,62 @@ interface ZeroDevWalletConfig {
|
|
|
196
196
|
}
|
|
197
197
|
```
|
|
198
198
|
|
|
199
|
+
## React Native
|
|
200
|
+
|
|
201
|
+
On React Native there are no browser defaults for key storage, passkeys, or
|
|
202
|
+
session storage, so those fields are **required**. The package ships ready-made
|
|
203
|
+
native adapters behind granular subpaths (so apps using alternative adapters
|
|
204
|
+
skip the unused peer-dep installs):
|
|
205
|
+
|
|
206
|
+
```typescript
|
|
207
|
+
import { createZeroDevWallet } from '@zerodev/wallet-core';
|
|
208
|
+
import { createSecureStoreStamper } from '@zerodev/wallet-core/react-native/stampers/secure-store';
|
|
209
|
+
import { createReactNativePasskeyStamper } from '@zerodev/wallet-core/react-native/stampers/passkey';
|
|
210
|
+
import { asyncStorageAdapter } from '@zerodev/wallet-core/react-native/storage/async-storage';
|
|
211
|
+
|
|
212
|
+
const RP_ID = 'your-app.example.com'; // must match your assetlinks/AASA domain
|
|
213
|
+
|
|
214
|
+
const wallet = await createZeroDevWallet({
|
|
215
|
+
projectId: 'your-project-id',
|
|
216
|
+
rpId: RP_ID,
|
|
217
|
+
apiKeyStamper: createSecureStoreStamper(),
|
|
218
|
+
passkeyStamper: createReactNativePasskeyStamper({ rpId: RP_ID }),
|
|
219
|
+
sessionStorage: asyncStorageAdapter,
|
|
220
|
+
});
|
|
221
|
+
```
|
|
222
|
+
|
|
223
|
+
- `createSecureStoreStamper()` — API-key stamper backed by `expo-secure-store`.
|
|
224
|
+
- `createReactNativePasskeyStamper({ rpId })` — passkey stamper backed by `@turnkey/react-native-passkey-stamper`.
|
|
225
|
+
- `asyncStorageAdapter` — session storage backed by `@react-native-async-storage/async-storage`.
|
|
226
|
+
|
|
227
|
+
### Peer dependencies (React Native)
|
|
228
|
+
|
|
229
|
+
These are optional peer deps, pulled in only when you import the native
|
|
230
|
+
subpaths above:
|
|
231
|
+
|
|
232
|
+
```bash
|
|
233
|
+
npm install expo-secure-store @turnkey/react-native-passkey-stamper \
|
|
234
|
+
@turnkey/api-key-stamper @turnkey/crypto \
|
|
235
|
+
@react-native-async-storage/async-storage \
|
|
236
|
+
react-native-get-random-values uuid
|
|
237
|
+
# or
|
|
238
|
+
yarn add expo-secure-store @turnkey/react-native-passkey-stamper \
|
|
239
|
+
@turnkey/api-key-stamper @turnkey/crypto \
|
|
240
|
+
@react-native-async-storage/async-storage \
|
|
241
|
+
react-native-get-random-values uuid
|
|
242
|
+
# or
|
|
243
|
+
pnpm add expo-secure-store @turnkey/react-native-passkey-stamper \
|
|
244
|
+
@turnkey/api-key-stamper @turnkey/crypto \
|
|
245
|
+
@react-native-async-storage/async-storage \
|
|
246
|
+
react-native-get-random-values uuid
|
|
247
|
+
```
|
|
248
|
+
|
|
249
|
+
Import the crypto polyfill once at your app's entry point, before any SDK call:
|
|
250
|
+
|
|
251
|
+
```typescript
|
|
252
|
+
import 'react-native-get-random-values';
|
|
253
|
+
```
|
|
254
|
+
|
|
199
255
|
## Custom Storage
|
|
200
256
|
|
|
201
257
|
```typescript
|
|
@@ -4,13 +4,15 @@ exports.createZeroDevWalletCore = createZeroDevWalletCore;
|
|
|
4
4
|
const viem_js_1 = require("../adapters/viem.js");
|
|
5
5
|
const index_js_1 = require("../client/index.js");
|
|
6
6
|
const constants_js_1 = require("../constants.js");
|
|
7
|
+
const noopPasskeyStamper_js_1 = require("../stampers/noopPasskeyStamper.js");
|
|
7
8
|
const manager_js_1 = require("../storage/manager.js");
|
|
8
9
|
const session_js_1 = require("../types/session.js");
|
|
9
10
|
const buildClientSignature_js_1 = require("../utils/buildClientSignature.js");
|
|
10
11
|
const encryptOtpAttempt_js_1 = require("../utils/encryptOtpAttempt.js");
|
|
11
12
|
const utils_js_1 = require("../utils/utils.js");
|
|
12
13
|
async function createZeroDevWalletCore(config) {
|
|
13
|
-
const { projectId, sessionStorage, rpId, apiKeyStamper,
|
|
14
|
+
const { projectId, sessionStorage, rpId, apiKeyStamper, organizationId = constants_js_1.DEFAULT_ORGANIZATION_ID, } = config;
|
|
15
|
+
const passkeyStamper = config.passkeyStamper ?? (0, noopPasskeyStamper_js_1.createNoopPasskeyStamper)();
|
|
14
16
|
const sessionStorageManager = (0, manager_js_1.createStorageManager)(sessionStorage);
|
|
15
17
|
const client = (0, index_js_1.createClient)({
|
|
16
18
|
apiKeyStamper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":";;
|
|
1
|
+
{"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,8 +28,8 @@ Object.defineProperty(exports, "createClient", { enumerable: true, get: function
|
|
|
28
28
|
Object.defineProperty(exports, "zeroDevWalletTransport", { enumerable: true, get: function () { return index_js_2.zeroDevWalletTransport; } });
|
|
29
29
|
var constants_js_1 = require("./constants.js");
|
|
30
30
|
Object.defineProperty(exports, "KMS_SERVER_URL", { enumerable: true, get: function () { return constants_js_1.KMS_SERVER_URL; } });
|
|
31
|
-
var
|
|
32
|
-
Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return
|
|
31
|
+
var createZeroDevWallet_js_1 = require("./native/createZeroDevWallet.js");
|
|
32
|
+
Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
|
|
33
33
|
var exportPrivateKey_js_1 = require("./utils/exportPrivateKey.js");
|
|
34
34
|
Object.defineProperty(exports, "exportPrivateKey", { enumerable: true, get: function () { return exportPrivateKey_js_1.exportPrivateKey; } });
|
|
35
35
|
var exportWallet_js_1 = require("./utils/exportWallet.js");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,IAAI,CAAC,IAAA,2BAAa,GAAE,EAAE,CAAC;IAErB,OAAO,CAAC,IAAI,CACV,+LAA+L,CAChM,CAAA;AACH,CAAC;AAuCD,+CAa2B;AAZzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAGnB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAEtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAO7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAExB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;
|
|
1
|
+
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,IAAI,CAAC,IAAA,2BAAa,GAAE,EAAE,CAAC;IAErB,OAAO,CAAC,IAAI,CACV,+LAA+L,CAChM,CAAA;AACH,CAAC;AAuCD,+CAa2B;AAZzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AACjB,yGAAA,aAAa,OAAA;AACb,qGAAA,SAAS,OAAA;AACT,wGAAA,YAAY,OAAA;AACZ,2GAAA,eAAe,OAAA;AACf,iHAAA,qBAAqB,OAAA;AACrB,uGAAA,WAAW,OAAA;AACX,2GAAA,eAAe,OAAA;AACf,2GAAA,eAAe,OAAA;AACf,6GAAA,iBAAiB,OAAA;AAGnB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAEtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAO7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAExB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AASvB,0EAGwC;AAFtC,6HAAA,mBAAmB,OAAA;AAcrB,mEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,+GAAA,YAAY,OAAA;AACrB,6CAAqD;AAA5C,8GAAA,kBAAkB,OAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createZeroDevWallet = createZeroDevWallet;
|
|
4
|
+
const createZeroDevWalletCore_js_1 = require("../core/createZeroDevWalletCore.js");
|
|
5
|
+
async function createZeroDevWallet(config) {
|
|
6
|
+
return (0, createZeroDevWalletCore_js_1.createZeroDevWalletCore)({
|
|
7
|
+
...config,
|
|
8
|
+
fetchOptions: config.fetchOptions ?? {
|
|
9
|
+
headers: { Origin: `https://${config.rpId}` },
|
|
10
|
+
},
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=createZeroDevWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/native/createZeroDevWallet.ts"],"names":[],"mappings":";;AAgBA,kDASC;AAzBD,mFAI2C;AAYpC,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,OAAO,IAAA,oDAAuB,EAAC;QAC7B,GAAG,MAAM;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI;YACnC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,MAAM,CAAC,IAAI,EAAE,EAAE;SAC9C;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createNoopPasskeyStamper = createNoopPasskeyStamper;
|
|
4
|
+
const NOT_CONFIGURED_MESSAGE = 'passkeyStamper is not configured. Pass passkeyStamper to zeroDevWallet({ ... }) — use createReactNativePasskeyStamper({ rpId }) on React Native or createWebauthnStamper({ rpId }) on web.';
|
|
5
|
+
function createNoopPasskeyStamper() {
|
|
6
|
+
return {
|
|
7
|
+
async stamp() {
|
|
8
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
9
|
+
},
|
|
10
|
+
async register() {
|
|
11
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
12
|
+
},
|
|
13
|
+
async clear() { },
|
|
14
|
+
};
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=noopPasskeyStamper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noopPasskeyStamper.js","sourceRoot":"","sources":["../../../src/stampers/noopPasskeyStamper.ts"],"names":[],"mappings":";;AAUA,4DAUC;AAlBD,MAAM,sBAAsB,GAC1B,4LAA4L,CAAA;AAO9L,SAAgB,wBAAwB;IACtC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;KACjB,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asyncStorageAdapter = exports.createReactNativePasskeyStamper = exports.createSecureStoreStamper = void 0;
|
|
4
|
+
const message = '@zerodev/wallet-core react-native subpaths cannot be imported in a web environment. Use the bare specifier (`import { ... } from "@zerodev/wallet-core"`) instead.';
|
|
5
|
+
function throwOnUse() {
|
|
6
|
+
throw new Error(message);
|
|
7
|
+
}
|
|
8
|
+
exports.createSecureStoreStamper = throwOnUse;
|
|
9
|
+
exports.createReactNativePasskeyStamper = throwOnUse;
|
|
10
|
+
exports.asyncStorageAdapter = throwOnUse;
|
|
11
|
+
exports.default = throwOnUse;
|
|
3
12
|
//# sourceMappingURL=native-on-web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-on-web.js","sourceRoot":"","sources":["../../../src/stubs/native-on-web.ts"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"native-on-web.js","sourceRoot":"","sources":["../../../src/stubs/native-on-web.ts"],"names":[],"mappings":";;;AAcA,MAAM,OAAO,GACX,oKAAoK,CAAA;AAEtK,SAAS,UAAU;IACjB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAEY,QAAA,wBAAwB,GAAG,UAAU,CAAA;AACrC,QAAA,+BAA+B,GAAG,UAAU,CAAA;AAC5C,QAAA,mBAAmB,GAAG,UAAU,CAAA;AAK7C,kBAAe,UAAU,CAAA"}
|
|
@@ -3,64 +3,59 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.exportWallet = exportWallet;
|
|
4
4
|
async function exportWallet(params) {
|
|
5
5
|
const { targetPublicKey, wallet } = params;
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
throw new Error('Session not found');
|
|
10
|
-
}
|
|
11
|
-
const { organizationId } = session;
|
|
12
|
-
const listWalletsBody = JSON.stringify({
|
|
13
|
-
organizationId,
|
|
14
|
-
});
|
|
15
|
-
const listWalletsStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(listWalletsBody);
|
|
16
|
-
if (!listWalletsStamp) {
|
|
17
|
-
throw new Error('Failed to stamp list wallets body');
|
|
18
|
-
}
|
|
19
|
-
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
20
|
-
method: 'POST',
|
|
21
|
-
body: listWalletsBody,
|
|
22
|
-
headers: {
|
|
23
|
-
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
24
|
-
},
|
|
25
|
-
});
|
|
26
|
-
if (!listWalletsResponse.ok) {
|
|
27
|
-
throw new Error('Failed to list wallets');
|
|
28
|
-
}
|
|
29
|
-
const listWalletsData = await listWalletsResponse.json();
|
|
30
|
-
const walletId = listWalletsData.wallets[0].walletId;
|
|
31
|
-
const exportWalletBody = JSON.stringify({
|
|
32
|
-
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
33
|
-
timestampMs: Date.now().toString(),
|
|
34
|
-
organizationId: organizationId,
|
|
35
|
-
parameters: {
|
|
36
|
-
walletId: walletId,
|
|
37
|
-
targetPublicKey,
|
|
38
|
-
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
39
|
-
},
|
|
40
|
-
});
|
|
41
|
-
const exportWalletStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(exportWalletBody);
|
|
42
|
-
if (!exportWalletStamp) {
|
|
43
|
-
throw new Error('Failed to stamp export wallet body');
|
|
44
|
-
}
|
|
45
|
-
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
46
|
-
method: 'POST',
|
|
47
|
-
body: exportWalletBody,
|
|
48
|
-
headers: {
|
|
49
|
-
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
50
|
-
},
|
|
51
|
-
});
|
|
52
|
-
if (!exportWalletResponse.ok) {
|
|
53
|
-
throw new Error('Failed to export wallet');
|
|
54
|
-
}
|
|
55
|
-
const exportWalletData = await exportWalletResponse.json();
|
|
56
|
-
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
57
|
-
if (!exportBundle) {
|
|
58
|
-
throw new Error('Export bundle not found in response');
|
|
59
|
-
}
|
|
60
|
-
return { exportBundle, walletId, organizationId };
|
|
6
|
+
const session = await wallet.getSession();
|
|
7
|
+
if (!session) {
|
|
8
|
+
throw new Error('Session not found');
|
|
61
9
|
}
|
|
62
|
-
|
|
63
|
-
|
|
10
|
+
const { organizationId } = session;
|
|
11
|
+
const listWalletsBody = JSON.stringify({
|
|
12
|
+
organizationId,
|
|
13
|
+
});
|
|
14
|
+
const listWalletsStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(listWalletsBody);
|
|
15
|
+
if (!listWalletsStamp) {
|
|
16
|
+
throw new Error('Failed to stamp list wallets body');
|
|
64
17
|
}
|
|
18
|
+
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
19
|
+
method: 'POST',
|
|
20
|
+
body: listWalletsBody,
|
|
21
|
+
headers: {
|
|
22
|
+
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
23
|
+
},
|
|
24
|
+
});
|
|
25
|
+
if (!listWalletsResponse.ok) {
|
|
26
|
+
throw new Error('Failed to list wallets');
|
|
27
|
+
}
|
|
28
|
+
const listWalletsData = await listWalletsResponse.json();
|
|
29
|
+
const walletId = listWalletsData.wallets[0].walletId;
|
|
30
|
+
const exportWalletBody = JSON.stringify({
|
|
31
|
+
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
32
|
+
timestampMs: Date.now().toString(),
|
|
33
|
+
organizationId: organizationId,
|
|
34
|
+
parameters: {
|
|
35
|
+
walletId: walletId,
|
|
36
|
+
targetPublicKey,
|
|
37
|
+
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
38
|
+
},
|
|
39
|
+
});
|
|
40
|
+
const exportWalletStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(exportWalletBody);
|
|
41
|
+
if (!exportWalletStamp) {
|
|
42
|
+
throw new Error('Failed to stamp export wallet body');
|
|
43
|
+
}
|
|
44
|
+
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
45
|
+
method: 'POST',
|
|
46
|
+
body: exportWalletBody,
|
|
47
|
+
headers: {
|
|
48
|
+
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
if (!exportWalletResponse.ok) {
|
|
52
|
+
throw new Error('Failed to export wallet');
|
|
53
|
+
}
|
|
54
|
+
const exportWalletData = await exportWalletResponse.json();
|
|
55
|
+
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
56
|
+
if (!exportBundle) {
|
|
57
|
+
throw new Error('Export bundle not found in response');
|
|
58
|
+
}
|
|
59
|
+
return { exportBundle, walletId, organizationId };
|
|
65
60
|
}
|
|
66
61
|
//# sourceMappingURL=exportWallet.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"exportWallet.js","sourceRoot":"","sources":["../../../src/utils/exportWallet.ts"],"names":[],"mappings":";;AAwCA,
|
|
1
|
+
{"version":3,"file":"exportWallet.js","sourceRoot":"","sources":["../../../src/utils/exportWallet.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,13 +1,15 @@
|
|
|
1
1
|
import { toViemAccount } from '../adapters/viem.js';
|
|
2
2
|
import { createAuthProxyClient, createClient, zeroDevWalletTransport, } from '../client/index.js';
|
|
3
3
|
import { DEFAULT_ORGANIZATION_ID, DEFAULT_SESSION_EXPIRATION_IN_SECONDS, KMS_SERVER_URL, } from '../constants.js';
|
|
4
|
+
import { createNoopPasskeyStamper } from '../stampers/noopPasskeyStamper.js';
|
|
4
5
|
import { createStorageManager, } from '../storage/manager.js';
|
|
5
6
|
import { SessionType } from '../types/session.js';
|
|
6
7
|
import { buildClientSignature } from '../utils/buildClientSignature.js';
|
|
7
8
|
import { encryptOtpAttempt } from '../utils/encryptOtpAttempt.js';
|
|
8
9
|
import { humanReadableDateTime, parseSession } from '../utils/utils.js';
|
|
9
10
|
export async function createZeroDevWalletCore(config) {
|
|
10
|
-
const { projectId, sessionStorage, rpId, apiKeyStamper,
|
|
11
|
+
const { projectId, sessionStorage, rpId, apiKeyStamper, organizationId = DEFAULT_ORGANIZATION_ID, } = config;
|
|
12
|
+
const passkeyStamper = config.passkeyStamper ?? createNoopPasskeyStamper();
|
|
11
13
|
const sessionStorageManager = createStorageManager(sessionStorage);
|
|
12
14
|
const client = createClient({
|
|
13
15
|
apiKeyStamper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":"AAKA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnD,OAAO,EAEL,qBAAqB,EACrB,YAAY,EAEZ,sBAAsB,GACvB,MAAM,oBAAoB,CAAA;AAC3B,OAAO,EACL,uBAAuB,EACvB,qCAAqC,EACrC,cAAc,GACf,MAAM,iBAAiB,CAAA;
|
|
1
|
+
{"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,10 +8,11 @@ export { toViemAccount } from './adapters/viem.js';
|
|
|
8
8
|
export { zeroDevWalletActions } from './client/decorators/client.js';
|
|
9
9
|
export { createBaseClient, createClient, zeroDevWalletTransport, } from './client/index.js';
|
|
10
10
|
export { KMS_SERVER_URL } from './constants.js';
|
|
11
|
-
// RN entry re-exports
|
|
12
|
-
//
|
|
13
|
-
//
|
|
14
|
-
|
|
11
|
+
// RN entry re-exports through a thin wrapper that auto-injects the
|
|
12
|
+
// `Origin: https://${rpId}` header on Turnkey requests. `ZeroDevWalletConfig`
|
|
13
|
+
// matches the strict `ZeroDevWalletConfigCore` shape, so RN consumers still
|
|
14
|
+
// get compile-time enforcement of the four required adapter fields.
|
|
15
|
+
export { createZeroDevWallet, } from './native/createZeroDevWallet.js';
|
|
15
16
|
export { exportPrivateKey } from './utils/exportPrivateKey.js';
|
|
16
17
|
export { exportWallet } from './utils/exportWallet.js';
|
|
17
18
|
export { normalizeTimestamp } from './utils/utils.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACrB,0GAA0G;IAC1G,OAAO,CAAC,IAAI,CACV,+LAA+L,CAChM,CAAA;AACH,CAAC;AAuCD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAOpE,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK/C,
|
|
1
|
+
{"version":3,"file":"index.native.js","sourceRoot":"","sources":["../../src/index.native.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAEnD,IAAI,CAAC,aAAa,EAAE,EAAE,CAAC;IACrB,0GAA0G;IAC1G,OAAO,CAAC,IAAI,CACV,+LAA+L,CAChM,CAAA;AACH,CAAC;AAuCD,OAAO,EACL,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,aAAa,EACb,SAAS,EACT,YAAY,EACZ,eAAe,EACf,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,oBAAoB,CAAA;AAE3B,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,+BAA+B,CAAA;AAOpE,OAAO,EACL,gBAAgB,EAChB,YAAY,EAEZ,sBAAsB,GACvB,MAAM,mBAAmB,CAAA;AAC1B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAK/C,mEAAmE;AACnE,8EAA8E;AAC9E,4EAA4E;AAC5E,oEAAoE;AACpE,OAAO,EACL,mBAAmB,GAEpB,MAAM,iCAAiC,CAAA;AAYxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAA;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAA"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { createZeroDevWalletCore, } from '../core/createZeroDevWalletCore.js';
|
|
2
|
+
export async function createZeroDevWallet(config) {
|
|
3
|
+
return createZeroDevWalletCore({
|
|
4
|
+
...config,
|
|
5
|
+
fetchOptions: config.fetchOptions ?? {
|
|
6
|
+
headers: { Origin: `https://${config.rpId}` },
|
|
7
|
+
},
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=createZeroDevWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/native/createZeroDevWallet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,uBAAuB,GAGxB,MAAM,oCAAoC,CAAA;AAY3C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,OAAO,uBAAuB,CAAC;QAC7B,GAAG,MAAM;QACT,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI;YACnC,OAAO,EAAE,EAAE,MAAM,EAAE,WAAW,MAAM,CAAC,IAAI,EAAE,EAAE;SAC9C;KACF,CAAC,CAAA;AACJ,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
const NOT_CONFIGURED_MESSAGE = 'passkeyStamper is not configured. Pass passkeyStamper to zeroDevWallet({ ... }) — use createReactNativePasskeyStamper({ rpId }) on React Native or createWebauthnStamper({ rpId }) on web.';
|
|
2
|
+
/**
|
|
3
|
+
* Internal fallback used when a consumer doesn't supply a `passkeyStamper`.
|
|
4
|
+
* Methods throw on use, so passkey register/login fails with an actionable
|
|
5
|
+
* message — all other flows (apiKey signing, OAuth, OTP) are unaffected.
|
|
6
|
+
*/
|
|
7
|
+
export function createNoopPasskeyStamper() {
|
|
8
|
+
return {
|
|
9
|
+
async stamp() {
|
|
10
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
11
|
+
},
|
|
12
|
+
async register() {
|
|
13
|
+
throw new Error(NOT_CONFIGURED_MESSAGE);
|
|
14
|
+
},
|
|
15
|
+
async clear() { },
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=noopPasskeyStamper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"noopPasskeyStamper.js","sourceRoot":"","sources":["../../../src/stampers/noopPasskeyStamper.ts"],"names":[],"mappings":"AAEA,MAAM,sBAAsB,GAC1B,4LAA4L,CAAA;AAE9L;;;;GAIG;AACH,MAAM,UAAU,wBAAwB;IACtC,OAAO;QACL,KAAK,CAAC,KAAK;YACT,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,QAAQ;YACZ,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACzC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;KACjB,CAAA;AACH,CAAC"}
|
|
@@ -1,3 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
// Catch-all stub used by every `./react-native/*` subpath in this package
|
|
2
|
+
// under the `browser` and `node` exports conditions. Both are needed for
|
|
3
|
+
// Expo web: the client bundle resolves with `browser` active, while Expo
|
|
4
|
+
// Router's SSR/RSC route render drops platform conditions (no `browser`)
|
|
5
|
+
// and turns on `node` instead — so the web stub has to be gated on both or
|
|
6
|
+
// the SSR pass falls through to the native impl. Imports must be safe on web
|
|
7
|
+
// (some route files are bundled even when they aren't rendered) so we expose
|
|
8
|
+
// the RN-only symbols as throw-on-use functions instead of throwing at
|
|
9
|
+
// module-init time.
|
|
10
|
+
//
|
|
11
|
+
// Anyone who *uses* these on web gets a clear actionable error; anyone who
|
|
12
|
+
// merely imports them (typically because their universal app bundles the
|
|
13
|
+
// native variant too) is unaffected.
|
|
14
|
+
const message = '@zerodev/wallet-core react-native subpaths cannot be imported in a web environment. Use the bare specifier (`import { ... } from "@zerodev/wallet-core"`) instead.';
|
|
15
|
+
function throwOnUse() {
|
|
16
|
+
throw new Error(message);
|
|
17
|
+
}
|
|
18
|
+
export const createSecureStoreStamper = throwOnUse;
|
|
19
|
+
export const createReactNativePasskeyStamper = throwOnUse;
|
|
20
|
+
export const asyncStorageAdapter = throwOnUse;
|
|
21
|
+
// For the broad `./react-native` entry: any consumer reaching it on web is
|
|
22
|
+
// already off-pattern (they should use the bare specifier). Default export
|
|
23
|
+
// covers `import X from '...'`.
|
|
24
|
+
export default throwOnUse;
|
|
3
25
|
//# sourceMappingURL=native-on-web.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"native-on-web.js","sourceRoot":"","sources":["../../../src/stubs/native-on-web.ts"],"names":[],"mappings":"AAAA,MAAM,IAAI,KAAK,
|
|
1
|
+
{"version":3,"file":"native-on-web.js","sourceRoot":"","sources":["../../../src/stubs/native-on-web.ts"],"names":[],"mappings":"AAAA,0EAA0E;AAC1E,yEAAyE;AACzE,yEAAyE;AACzE,yEAAyE;AACzE,2EAA2E;AAC3E,6EAA6E;AAC7E,6EAA6E;AAC7E,uEAAuE;AACvE,oBAAoB;AACpB,EAAE;AACF,2EAA2E;AAC3E,yEAAyE;AACzE,qCAAqC;AAErC,MAAM,OAAO,GACX,oKAAoK,CAAA;AAEtK,SAAS,UAAU;IACjB,MAAM,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;AAC1B,CAAC;AAED,MAAM,CAAC,MAAM,wBAAwB,GAAG,UAAU,CAAA;AAClD,MAAM,CAAC,MAAM,+BAA+B,GAAG,UAAU,CAAA;AACzD,MAAM,CAAC,MAAM,mBAAmB,GAAG,UAAU,CAAA;AAE7C,2EAA2E;AAC3E,2EAA2E;AAC3E,gCAAgC;AAChC,eAAe,UAAU,CAAA"}
|
|
@@ -31,64 +31,59 @@
|
|
|
31
31
|
*/
|
|
32
32
|
export async function exportWallet(params) {
|
|
33
33
|
const { targetPublicKey, wallet } = params;
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
throw new Error('Session not found');
|
|
38
|
-
}
|
|
39
|
-
const { organizationId } = session;
|
|
40
|
-
const listWalletsBody = JSON.stringify({
|
|
41
|
-
organizationId,
|
|
42
|
-
});
|
|
43
|
-
const listWalletsStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(listWalletsBody);
|
|
44
|
-
if (!listWalletsStamp) {
|
|
45
|
-
throw new Error('Failed to stamp list wallets body');
|
|
46
|
-
}
|
|
47
|
-
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
48
|
-
method: 'POST',
|
|
49
|
-
body: listWalletsBody,
|
|
50
|
-
headers: {
|
|
51
|
-
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
if (!listWalletsResponse.ok) {
|
|
55
|
-
throw new Error('Failed to list wallets');
|
|
56
|
-
}
|
|
57
|
-
const listWalletsData = await listWalletsResponse.json();
|
|
58
|
-
const walletId = listWalletsData.wallets[0].walletId;
|
|
59
|
-
const exportWalletBody = JSON.stringify({
|
|
60
|
-
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
61
|
-
timestampMs: Date.now().toString(),
|
|
62
|
-
organizationId: organizationId,
|
|
63
|
-
parameters: {
|
|
64
|
-
walletId: walletId,
|
|
65
|
-
targetPublicKey,
|
|
66
|
-
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
67
|
-
},
|
|
68
|
-
});
|
|
69
|
-
const exportWalletStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(exportWalletBody);
|
|
70
|
-
if (!exportWalletStamp) {
|
|
71
|
-
throw new Error('Failed to stamp export wallet body');
|
|
72
|
-
}
|
|
73
|
-
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
74
|
-
method: 'POST',
|
|
75
|
-
body: exportWalletBody,
|
|
76
|
-
headers: {
|
|
77
|
-
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
78
|
-
},
|
|
79
|
-
});
|
|
80
|
-
if (!exportWalletResponse.ok) {
|
|
81
|
-
throw new Error('Failed to export wallet');
|
|
82
|
-
}
|
|
83
|
-
const exportWalletData = await exportWalletResponse.json();
|
|
84
|
-
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
85
|
-
if (!exportBundle) {
|
|
86
|
-
throw new Error('Export bundle not found in response');
|
|
87
|
-
}
|
|
88
|
-
return { exportBundle, walletId, organizationId };
|
|
34
|
+
const session = await wallet.getSession();
|
|
35
|
+
if (!session) {
|
|
36
|
+
throw new Error('Session not found');
|
|
89
37
|
}
|
|
90
|
-
|
|
91
|
-
|
|
38
|
+
const { organizationId } = session;
|
|
39
|
+
const listWalletsBody = JSON.stringify({
|
|
40
|
+
organizationId,
|
|
41
|
+
});
|
|
42
|
+
const listWalletsStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(listWalletsBody);
|
|
43
|
+
if (!listWalletsStamp) {
|
|
44
|
+
throw new Error('Failed to stamp list wallets body');
|
|
92
45
|
}
|
|
46
|
+
const listWalletsResponse = await fetch('https://api.turnkey.com/public/v1/query/list_wallets', {
|
|
47
|
+
method: 'POST',
|
|
48
|
+
body: listWalletsBody,
|
|
49
|
+
headers: {
|
|
50
|
+
[listWalletsStamp.stampHeaderName]: listWalletsStamp.stampHeaderValue,
|
|
51
|
+
},
|
|
52
|
+
});
|
|
53
|
+
if (!listWalletsResponse.ok) {
|
|
54
|
+
throw new Error('Failed to list wallets');
|
|
55
|
+
}
|
|
56
|
+
const listWalletsData = await listWalletsResponse.json();
|
|
57
|
+
const walletId = listWalletsData.wallets[0].walletId;
|
|
58
|
+
const exportWalletBody = JSON.stringify({
|
|
59
|
+
type: 'ACTIVITY_TYPE_EXPORT_WALLET',
|
|
60
|
+
timestampMs: Date.now().toString(),
|
|
61
|
+
organizationId: organizationId,
|
|
62
|
+
parameters: {
|
|
63
|
+
walletId: walletId,
|
|
64
|
+
targetPublicKey,
|
|
65
|
+
language: 'MNEMONIC_LANGUAGE_ENGLISH',
|
|
66
|
+
},
|
|
67
|
+
});
|
|
68
|
+
const exportWalletStamp = await wallet.client[session.stamperType === 'apiKey' ? 'apiKeyStamper' : 'passkeyStamper'].stamp(exportWalletBody);
|
|
69
|
+
if (!exportWalletStamp) {
|
|
70
|
+
throw new Error('Failed to stamp export wallet body');
|
|
71
|
+
}
|
|
72
|
+
const exportWalletResponse = await fetch('https://api.turnkey.com/public/v1/submit/export_wallet', {
|
|
73
|
+
method: 'POST',
|
|
74
|
+
body: exportWalletBody,
|
|
75
|
+
headers: {
|
|
76
|
+
[exportWalletStamp.stampHeaderName]: exportWalletStamp.stampHeaderValue,
|
|
77
|
+
},
|
|
78
|
+
});
|
|
79
|
+
if (!exportWalletResponse.ok) {
|
|
80
|
+
throw new Error('Failed to export wallet');
|
|
81
|
+
}
|
|
82
|
+
const exportWalletData = await exportWalletResponse.json();
|
|
83
|
+
const exportBundle = exportWalletData?.activity?.result?.exportWalletResult?.exportBundle;
|
|
84
|
+
if (!exportBundle) {
|
|
85
|
+
throw new Error('Export bundle not found in response');
|
|
86
|
+
}
|
|
87
|
+
return { exportBundle, walletId, organizationId };
|
|
93
88
|
}
|
|
94
89
|
//# sourceMappingURL=exportWallet.js.map
|