@zerodev/wallet-core 0.0.1-alpha.20 → 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/{createZeroDevWallet.js → createZeroDevWalletCore.js} +7 -10
- package/dist/_cjs/core/createZeroDevWalletCore.js.map +1 -0
- package/dist/_cjs/index.js +9 -7
- package/dist/_cjs/index.js.map +1 -1
- package/dist/_cjs/index.native.js +39 -0
- package/dist/_cjs/index.native.js.map +1 -0
- package/dist/_cjs/native/createZeroDevWallet.js +13 -0
- package/dist/_cjs/native/createZeroDevWallet.js.map +1 -0
- package/dist/_cjs/native/stampers/passkey.js +30 -0
- package/dist/_cjs/native/stampers/passkey.js.map +1 -0
- package/dist/_cjs/native/stampers/secureStore.js +112 -0
- package/dist/_cjs/native/stampers/secureStore.js.map +1 -0
- package/dist/_cjs/native/storage/asyncStorage.js +11 -0
- package/dist/_cjs/native/storage/asyncStorage.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 +12 -0
- package/dist/_cjs/stubs/native-on-web.js.map +1 -0
- package/dist/_cjs/utils/exportWallet.js +52 -57
- package/dist/_cjs/utils/exportWallet.js.map +1 -1
- package/dist/_cjs/utils/platform.js +19 -0
- package/dist/_cjs/utils/platform.js.map +1 -0
- package/dist/_cjs/web/createZeroDevWallet.js +21 -0
- package/dist/_cjs/web/createZeroDevWallet.js.map +1 -0
- package/dist/_esm/core/{createZeroDevWallet.js → createZeroDevWalletCore.js} +6 -9
- package/dist/_esm/core/createZeroDevWalletCore.js.map +1 -0
- package/dist/_esm/index.js +11 -3
- package/dist/_esm/index.js.map +1 -1
- package/dist/_esm/index.native.js +19 -0
- package/dist/_esm/index.native.js.map +1 -0
- package/dist/_esm/native/createZeroDevWallet.js +10 -0
- package/dist/_esm/native/createZeroDevWallet.js.map +1 -0
- package/dist/_esm/native/stampers/passkey.js +27 -0
- package/dist/_esm/native/stampers/passkey.js.map +1 -0
- package/dist/_esm/native/stampers/secureStore.js +120 -0
- package/dist/_esm/native/stampers/secureStore.js.map +1 -0
- package/dist/_esm/native/storage/asyncStorage.js +13 -0
- package/dist/_esm/native/storage/asyncStorage.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 +25 -0
- package/dist/_esm/stubs/native-on-web.js.map +1 -0
- package/dist/_esm/utils/exportWallet.js +52 -57
- package/dist/_esm/utils/exportWallet.js.map +1 -1
- package/dist/_esm/utils/platform.js +16 -0
- package/dist/_esm/utils/platform.js.map +1 -0
- package/dist/_esm/web/createZeroDevWallet.js +18 -0
- package/dist/_esm/web/createZeroDevWallet.js.map +1 -0
- package/dist/_types/core/{createZeroDevWallet.d.ts → createZeroDevWalletCore.d.ts} +6 -6
- package/dist/_types/core/createZeroDevWalletCore.d.ts.map +1 -0
- package/dist/_types/index.d.ts +3 -3
- package/dist/_types/index.d.ts.map +1 -1
- package/dist/_types/index.native.d.ts +19 -0
- package/dist/_types/index.native.d.ts.map +1 -0
- package/dist/_types/native/createZeroDevWallet.d.ts +12 -0
- package/dist/_types/native/createZeroDevWallet.d.ts.map +1 -0
- package/dist/_types/native/stampers/passkey.d.ts +5 -0
- package/dist/_types/native/stampers/passkey.d.ts.map +1 -0
- package/dist/_types/native/stampers/secureStore.d.ts +3 -0
- package/dist/_types/native/stampers/secureStore.d.ts.map +1 -0
- package/dist/_types/native/storage/asyncStorage.d.ts +3 -0
- package/dist/_types/native/storage/asyncStorage.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 +6 -0
- package/dist/_types/stubs/native-on-web.d.ts.map +1 -0
- package/dist/_types/utils/exportPrivateKey.d.ts +1 -1
- package/dist/_types/utils/exportPrivateKey.d.ts.map +1 -1
- package/dist/_types/utils/exportWallet.d.ts +1 -1
- package/dist/_types/utils/exportWallet.d.ts.map +1 -1
- package/dist/_types/utils/platform.d.ts +2 -0
- package/dist/_types/utils/platform.d.ts.map +1 -0
- package/dist/_types/web/createZeroDevWallet.d.ts +18 -0
- package/dist/_types/web/createZeroDevWallet.d.ts.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +96 -11
- package/src/core/{createZeroDevWallet.ts → createZeroDevWalletCore.ts} +11 -18
- package/src/index.native.ts +103 -0
- package/src/index.ts +19 -9
- package/src/native/createZeroDevWallet.ts +26 -0
- package/src/native/stampers/passkey.ts +39 -0
- package/src/native/stampers/secureStore.ts +139 -0
- package/src/native/storage/asyncStorage.ts +18 -0
- package/src/stampers/noopPasskeyStamper.ts +21 -0
- package/src/stubs/native-on-web.ts +29 -0
- package/src/utils/exportPrivateKey.ts +1 -1
- package/src/utils/exportWallet.ts +66 -71
- package/src/utils/platform.ts +21 -0
- package/src/web/createZeroDevWallet.ts +45 -0
- package/dist/_cjs/core/createZeroDevWallet.js.map +0 -1
- package/dist/_cjs/stampers/index.js +0 -10
- package/dist/_cjs/stampers/index.js.map +0 -1
- package/dist/_esm/core/createZeroDevWallet.js.map +0 -1
- package/dist/_esm/stampers/index.js +0 -4
- package/dist/_esm/stampers/index.js.map +0 -1
- package/dist/_types/core/createZeroDevWallet.d.ts.map +0 -1
- package/dist/_types/stampers/index.d.ts +0 -5
- package/dist/_types/stampers/index.d.ts.map +0 -1
- package/src/stampers/index.ts +0 -8
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
|
|
@@ -1,22 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
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
|
|
8
|
-
const webauthnStamper_js_1 = require("../stampers/webauthnStamper.js");
|
|
9
|
-
const adapters_js_1 = require("../storage/adapters.js");
|
|
7
|
+
const noopPasskeyStamper_js_1 = require("../stampers/noopPasskeyStamper.js");
|
|
10
8
|
const manager_js_1 = require("../storage/manager.js");
|
|
11
9
|
const session_js_1 = require("../types/session.js");
|
|
12
10
|
const buildClientSignature_js_1 = require("../utils/buildClientSignature.js");
|
|
13
11
|
const encryptOtpAttempt_js_1 = require("../utils/encryptOtpAttempt.js");
|
|
14
12
|
const utils_js_1 = require("../utils/utils.js");
|
|
15
|
-
async function
|
|
16
|
-
const { projectId, sessionStorage, rpId
|
|
17
|
-
const
|
|
18
|
-
const
|
|
19
|
-
const passkeyStamper = config.passkeyStamper ?? (await (0, webauthnStamper_js_1.createWebauthnStamper)({ rpId }));
|
|
13
|
+
async function createZeroDevWalletCore(config) {
|
|
14
|
+
const { projectId, sessionStorage, rpId, apiKeyStamper, organizationId = constants_js_1.DEFAULT_ORGANIZATION_ID, } = config;
|
|
15
|
+
const passkeyStamper = config.passkeyStamper ?? (0, noopPasskeyStamper_js_1.createNoopPasskeyStamper)();
|
|
16
|
+
const sessionStorageManager = (0, manager_js_1.createStorageManager)(sessionStorage);
|
|
20
17
|
const client = (0, index_js_1.createClient)({
|
|
21
18
|
apiKeyStamper,
|
|
22
19
|
passkeyStamper,
|
|
@@ -307,4 +304,4 @@ async function createZeroDevWallet(config) {
|
|
|
307
304
|
},
|
|
308
305
|
};
|
|
309
306
|
}
|
|
310
|
-
//# sourceMappingURL=
|
|
307
|
+
//# sourceMappingURL=createZeroDevWalletCore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroDevWalletCore.js","sourceRoot":"","sources":["../../../src/core/createZeroDevWalletCore.ts"],"names":[],"mappings":"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"}
|
package/dist/_cjs/index.js
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.createZeroDevWallet = exports.normalizeTimestamp = exports.exportWallet = exports.exportPrivateKey = exports.createIframeStamper = exports.KMS_SERVER_URL = exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.zeroDevWalletActions = exports.toViemAccount = exports.signUserOperation = exports.signTypedDataV4 = exports.signTransaction = exports.signMessage = exports.sign7702Authorization = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserWallet = exports.getAuthenticators = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
4
|
+
const platform_js_1 = require("./utils/platform.js");
|
|
5
|
+
if ((0, platform_js_1.isReactNative)()) {
|
|
6
|
+
console.warn('@zerodev/wallet-core: the web entry was loaded in a React Native runtime. Check that your metro.config.js has `unstable_enablePackageExports: true` and `"react-native"` in `unstable_conditionNames`.');
|
|
7
|
+
}
|
|
4
8
|
var index_js_1 = require("./actions/index.js");
|
|
5
9
|
Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return index_js_1.authenticateWithEmail; } });
|
|
6
10
|
Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return index_js_1.authenticateWithOAuth; } });
|
|
@@ -24,16 +28,14 @@ Object.defineProperty(exports, "createClient", { enumerable: true, get: function
|
|
|
24
28
|
Object.defineProperty(exports, "zeroDevWalletTransport", { enumerable: true, get: function () { return index_js_2.zeroDevWalletTransport; } });
|
|
25
29
|
var constants_js_1 = require("./constants.js");
|
|
26
30
|
Object.defineProperty(exports, "KMS_SERVER_URL", { enumerable: true, get: function () { return constants_js_1.KMS_SERVER_URL; } });
|
|
27
|
-
var
|
|
28
|
-
Object.defineProperty(exports, "
|
|
29
|
-
var index_js_3 = require("./stampers/index.js");
|
|
30
|
-
Object.defineProperty(exports, "createIframeStamper", { enumerable: true, get: function () { return index_js_3.createIframeStamper; } });
|
|
31
|
-
Object.defineProperty(exports, "createIndexedDbStamper", { enumerable: true, get: function () { return index_js_3.createIndexedDbStamper; } });
|
|
32
|
-
Object.defineProperty(exports, "createWebauthnStamper", { enumerable: true, get: function () { return index_js_3.createWebauthnStamper; } });
|
|
31
|
+
var iframeStamper_js_1 = require("./stampers/iframeStamper.js");
|
|
32
|
+
Object.defineProperty(exports, "createIframeStamper", { enumerable: true, get: function () { return iframeStamper_js_1.createIframeStamper; } });
|
|
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");
|
|
36
36
|
Object.defineProperty(exports, "exportWallet", { enumerable: true, get: function () { return exportWallet_js_1.exportWallet; } });
|
|
37
37
|
var utils_js_1 = require("./utils/utils.js");
|
|
38
38
|
Object.defineProperty(exports, "normalizeTimestamp", { enumerable: true, get: function () { return utils_js_1.normalizeTimestamp; } });
|
|
39
|
+
var createZeroDevWallet_js_1 = require("./web/createZeroDevWallet.js");
|
|
40
|
+
Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
|
|
39
41
|
//# sourceMappingURL=index.js.map
|
package/dist/_cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,qDAAmD;AAEnD,IAAI,IAAA,2BAAa,GAAE,EAAE,CAAC;IAEpB,OAAO,CAAC,IAAI,CACV,wMAAwM,CACzM,CAAA;AACH,CAAC;AAsCD,+CAe2B;AAbzB,iHAAA,qBAAqB,OAAA;AACrB,iHAAA,qBAAqB,OAAA;AACrB,6GAAA,iBAAiB,OAAA;AAEjB,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;AAInB,8CAAkD;AAAzC,wGAAA,aAAa,OAAA;AAGtB,2DAAoE;AAA3D,iHAAA,oBAAoB,OAAA;AAQ7B,8CAK0B;AAJxB,4GAAA,gBAAgB,OAAA;AAChB,wGAAA,YAAY,OAAA;AAEZ,kHAAA,sBAAsB,OAAA;AAGxB,+CAA+C;AAAtC,8GAAA,cAAc,OAAA;AAMvB,gEAAiE;AAAxD,uHAAA,mBAAmB,OAAA;AAc5B,mEAA8D;AAArD,uHAAA,gBAAgB,OAAA;AACzB,2DAAsD;AAA7C,+GAAA,YAAY,OAAA;AAErB,6CAAqD;AAA5C,8GAAA,kBAAkB,OAAA;AAK3B,uEAGqC;AAFnC,6HAAA,mBAAmB,OAAA"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.normalizeTimestamp = exports.exportWallet = exports.exportPrivateKey = exports.createZeroDevWallet = exports.KMS_SERVER_URL = exports.zeroDevWalletTransport = exports.createClient = exports.createBaseClient = exports.zeroDevWalletActions = exports.toViemAccount = exports.signUserOperation = exports.signTypedDataV4 = exports.signTransaction = exports.signMessage = exports.sign7702Authorization = exports.registerWithOTP = exports.loginWithOTP = exports.getWhoami = exports.getUserWallet = exports.getAuthenticators = exports.authenticateWithOAuth = exports.authenticateWithEmail = void 0;
|
|
4
|
+
const platform_js_1 = require("./utils/platform.js");
|
|
5
|
+
if (!(0, platform_js_1.isReactNative)()) {
|
|
6
|
+
console.warn('@zerodev/wallet-core/react-native: the React Native entry was loaded outside a React Native runtime. If this is a non-RN context, import `@zerodev/wallet-core` (the bare specifier) instead.');
|
|
7
|
+
}
|
|
8
|
+
var index_js_1 = require("./actions/index.js");
|
|
9
|
+
Object.defineProperty(exports, "authenticateWithEmail", { enumerable: true, get: function () { return index_js_1.authenticateWithEmail; } });
|
|
10
|
+
Object.defineProperty(exports, "authenticateWithOAuth", { enumerable: true, get: function () { return index_js_1.authenticateWithOAuth; } });
|
|
11
|
+
Object.defineProperty(exports, "getAuthenticators", { enumerable: true, get: function () { return index_js_1.getAuthenticators; } });
|
|
12
|
+
Object.defineProperty(exports, "getUserWallet", { enumerable: true, get: function () { return index_js_1.getUserWallet; } });
|
|
13
|
+
Object.defineProperty(exports, "getWhoami", { enumerable: true, get: function () { return index_js_1.getWhoami; } });
|
|
14
|
+
Object.defineProperty(exports, "loginWithOTP", { enumerable: true, get: function () { return index_js_1.loginWithOTP; } });
|
|
15
|
+
Object.defineProperty(exports, "registerWithOTP", { enumerable: true, get: function () { return index_js_1.registerWithOTP; } });
|
|
16
|
+
Object.defineProperty(exports, "sign7702Authorization", { enumerable: true, get: function () { return index_js_1.sign7702Authorization; } });
|
|
17
|
+
Object.defineProperty(exports, "signMessage", { enumerable: true, get: function () { return index_js_1.signMessage; } });
|
|
18
|
+
Object.defineProperty(exports, "signTransaction", { enumerable: true, get: function () { return index_js_1.signTransaction; } });
|
|
19
|
+
Object.defineProperty(exports, "signTypedDataV4", { enumerable: true, get: function () { return index_js_1.signTypedDataV4; } });
|
|
20
|
+
Object.defineProperty(exports, "signUserOperation", { enumerable: true, get: function () { return index_js_1.signUserOperation; } });
|
|
21
|
+
var viem_js_1 = require("./adapters/viem.js");
|
|
22
|
+
Object.defineProperty(exports, "toViemAccount", { enumerable: true, get: function () { return viem_js_1.toViemAccount; } });
|
|
23
|
+
var client_js_1 = require("./client/decorators/client.js");
|
|
24
|
+
Object.defineProperty(exports, "zeroDevWalletActions", { enumerable: true, get: function () { return client_js_1.zeroDevWalletActions; } });
|
|
25
|
+
var index_js_2 = require("./client/index.js");
|
|
26
|
+
Object.defineProperty(exports, "createBaseClient", { enumerable: true, get: function () { return index_js_2.createBaseClient; } });
|
|
27
|
+
Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return index_js_2.createClient; } });
|
|
28
|
+
Object.defineProperty(exports, "zeroDevWalletTransport", { enumerable: true, get: function () { return index_js_2.zeroDevWalletTransport; } });
|
|
29
|
+
var constants_js_1 = require("./constants.js");
|
|
30
|
+
Object.defineProperty(exports, "KMS_SERVER_URL", { enumerable: true, get: function () { return constants_js_1.KMS_SERVER_URL; } });
|
|
31
|
+
var createZeroDevWallet_js_1 = require("./native/createZeroDevWallet.js");
|
|
32
|
+
Object.defineProperty(exports, "createZeroDevWallet", { enumerable: true, get: function () { return createZeroDevWallet_js_1.createZeroDevWallet; } });
|
|
33
|
+
var exportPrivateKey_js_1 = require("./utils/exportPrivateKey.js");
|
|
34
|
+
Object.defineProperty(exports, "exportPrivateKey", { enumerable: true, get: function () { return exportPrivateKey_js_1.exportPrivateKey; } });
|
|
35
|
+
var exportWallet_js_1 = require("./utils/exportWallet.js");
|
|
36
|
+
Object.defineProperty(exports, "exportWallet", { enumerable: true, get: function () { return exportWallet_js_1.exportWallet; } });
|
|
37
|
+
var utils_js_1 = require("./utils/utils.js");
|
|
38
|
+
Object.defineProperty(exports, "normalizeTimestamp", { enumerable: true, get: function () { return utils_js_1.normalizeTimestamp; } });
|
|
39
|
+
//# sourceMappingURL=index.native.js.map
|
|
@@ -0,0 +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;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,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createReactNativePasskeyStamper = createReactNativePasskeyStamper;
|
|
4
|
+
const react_native_passkey_stamper_1 = require("@turnkey/react-native-passkey-stamper");
|
|
5
|
+
const uuid_1 = require("uuid");
|
|
6
|
+
async function createReactNativePasskeyStamper({ rpId, }) {
|
|
7
|
+
const inner = new react_native_passkey_stamper_1.PasskeyStamper({ rpId });
|
|
8
|
+
return {
|
|
9
|
+
async stamp(payload) {
|
|
10
|
+
return await inner.stamp(payload);
|
|
11
|
+
},
|
|
12
|
+
async clear() { },
|
|
13
|
+
async register({ rp, userName }) {
|
|
14
|
+
const { attestation, challenge: encodedChallenge } = await (0, react_native_passkey_stamper_1.createPasskey)({
|
|
15
|
+
rp: {
|
|
16
|
+
id: rp.id,
|
|
17
|
+
name: rp.name ?? 'Turnkey',
|
|
18
|
+
},
|
|
19
|
+
user: {
|
|
20
|
+
id: (0, uuid_1.v4)(),
|
|
21
|
+
name: userName,
|
|
22
|
+
displayName: userName,
|
|
23
|
+
},
|
|
24
|
+
authenticatorName: userName ?? 'End-User Passkey',
|
|
25
|
+
});
|
|
26
|
+
return { attestation, encodedChallenge };
|
|
27
|
+
},
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=passkey.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"passkey.js","sourceRoot":"","sources":["../../../../src/native/stampers/passkey.ts"],"names":[],"mappings":";;AAUA,0EA4BC;AAtCD,wFAG8C;AAC9C,+BAAmC;AAM5B,KAAK,UAAU,+BAA+B,CAAC,EACpD,IAAI,GAGL;IACC,MAAM,KAAK,GAAG,IAAI,6CAAqB,CAAC,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjD,OAAO;QACL,KAAK,CAAC,KAAK,CAAC,OAAe;YACzB,OAAO,MAAM,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACnC,CAAC;QACD,KAAK,CAAC,KAAK,KAAI,CAAC;QAChB,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,EAAE,QAAQ,EAA8B;YACzD,MAAM,EAAE,WAAW,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,MAAM,IAAA,4CAAa,EAAC;gBACvE,EAAE,EAAE;oBACF,EAAE,EAAE,EAAE,CAAC,EAAE;oBACT,IAAI,EAAE,EAAE,CAAC,IAAI,IAAI,SAAS;iBAC3B;gBACD,IAAI,EAAE;oBACJ,EAAE,EAAE,IAAA,SAAM,GAAE;oBACZ,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,QAAQ;iBACtB;gBACD,iBAAiB,EAAE,QAAQ,IAAI,kBAAkB;aAClD,CAAC,CAAA;YACF,OAAO,EAAE,WAAW,EAAE,gBAAgB,EAAE,CAAA;QAC1C,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createSecureStoreStamper = createSecureStoreStamper;
|
|
4
|
+
const api_key_stamper_1 = require("@turnkey/api-key-stamper");
|
|
5
|
+
const crypto_1 = require("@turnkey/crypto");
|
|
6
|
+
const SecureStore = require("expo-secure-store");
|
|
7
|
+
const PUBLIC_KEY = 'zerodev.publicKey';
|
|
8
|
+
const PRIVATE_KEY = 'zerodev.privateKey';
|
|
9
|
+
class SecureStoreStamperInner {
|
|
10
|
+
constructor() {
|
|
11
|
+
Object.defineProperty(this, "publicKeyHex", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: null
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
async init() {
|
|
19
|
+
const publicKey = await SecureStore.getItemAsync(PUBLIC_KEY);
|
|
20
|
+
const privateKey = await SecureStore.getItemAsync(PRIVATE_KEY);
|
|
21
|
+
if (publicKey && privateKey) {
|
|
22
|
+
this.publicKeyHex = publicKey;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
await this.resetKeyPair();
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
async getPublicKey() {
|
|
29
|
+
return this.publicKeyHex;
|
|
30
|
+
}
|
|
31
|
+
async resetKeyPair(externalKeyPair) {
|
|
32
|
+
await this.clear();
|
|
33
|
+
const pair = externalKeyPair ?? (0, crypto_1.generateP256KeyPair)();
|
|
34
|
+
await SecureStore.setItemAsync(PUBLIC_KEY, pair.publicKey);
|
|
35
|
+
await SecureStore.setItemAsync(PRIVATE_KEY, pair.privateKey);
|
|
36
|
+
this.publicKeyHex = pair.publicKey;
|
|
37
|
+
}
|
|
38
|
+
async getTurnkeyApiKeyStamper() {
|
|
39
|
+
if (!this.publicKeyHex) {
|
|
40
|
+
throw new Error('Key not initialized. Call init() or resetKeyPair() first.');
|
|
41
|
+
}
|
|
42
|
+
const privateKey = await SecureStore.getItemAsync(PRIVATE_KEY);
|
|
43
|
+
if (!privateKey) {
|
|
44
|
+
throw new Error('No private key found in secure store.');
|
|
45
|
+
}
|
|
46
|
+
return new api_key_stamper_1.ApiKeyStamper({
|
|
47
|
+
apiPublicKey: this.publicKeyHex,
|
|
48
|
+
apiPrivateKey: privateKey,
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
async stamp(payload) {
|
|
52
|
+
const stamper = await this.getTurnkeyApiKeyStamper();
|
|
53
|
+
const { stampHeaderName, stampHeaderValue } = await stamper.stamp(payload);
|
|
54
|
+
return { stampHeaderName, stampHeaderValue };
|
|
55
|
+
}
|
|
56
|
+
async sign(payload) {
|
|
57
|
+
const stamper = await this.getTurnkeyApiKeyStamper();
|
|
58
|
+
return stamper.sign(payload, api_key_stamper_1.SignatureFormat.Der);
|
|
59
|
+
}
|
|
60
|
+
async clear() {
|
|
61
|
+
await SecureStore.deleteItemAsync(PUBLIC_KEY);
|
|
62
|
+
await SecureStore.deleteItemAsync(PRIVATE_KEY);
|
|
63
|
+
this.publicKeyHex = null;
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async function warmApiKeyStamperForMetroDev(inner) {
|
|
67
|
+
if (!globalThis.__DEV__)
|
|
68
|
+
return;
|
|
69
|
+
try {
|
|
70
|
+
await inner.stamp('{"purpose":"metro-dev-warmup"}');
|
|
71
|
+
}
|
|
72
|
+
catch (error) {
|
|
73
|
+
console.warn('Failed to warm API key stamper in dev:', error);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
async function createSecureStoreStamper() {
|
|
77
|
+
const inner = new SecureStoreStamperInner();
|
|
78
|
+
await inner.init();
|
|
79
|
+
await warmApiKeyStamperForMetroDev(inner);
|
|
80
|
+
let pendingKeyPair = null;
|
|
81
|
+
return {
|
|
82
|
+
async getPublicKey() {
|
|
83
|
+
return inner.getPublicKey();
|
|
84
|
+
},
|
|
85
|
+
async stamp(payload) {
|
|
86
|
+
return inner.stamp(payload);
|
|
87
|
+
},
|
|
88
|
+
async sign(payload) {
|
|
89
|
+
return inner.sign(payload);
|
|
90
|
+
},
|
|
91
|
+
async clear() {
|
|
92
|
+
await inner.clear();
|
|
93
|
+
},
|
|
94
|
+
async resetKeyPair() {
|
|
95
|
+
pendingKeyPair = null;
|
|
96
|
+
await inner.resetKeyPair();
|
|
97
|
+
},
|
|
98
|
+
async prepareKeyRotation() {
|
|
99
|
+
const keyPair = (0, crypto_1.generateP256KeyPair)();
|
|
100
|
+
pendingKeyPair = keyPair;
|
|
101
|
+
return keyPair.publicKey;
|
|
102
|
+
},
|
|
103
|
+
async commitKeyRotation() {
|
|
104
|
+
if (!pendingKeyPair) {
|
|
105
|
+
throw new Error('No pending key rotation to commit');
|
|
106
|
+
}
|
|
107
|
+
await inner.resetKeyPair(pendingKeyPair);
|
|
108
|
+
pendingKeyPair = null;
|
|
109
|
+
},
|
|
110
|
+
};
|
|
111
|
+
}
|
|
112
|
+
//# sourceMappingURL=secureStore.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"secureStore.js","sourceRoot":"","sources":["../../../../src/native/stampers/secureStore.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.asyncStorageAdapter = void 0;
|
|
4
|
+
const AsyncStorageNS = require("@react-native-async-storage/async-storage");
|
|
5
|
+
const AsyncStorage = AsyncStorageNS.default;
|
|
6
|
+
exports.asyncStorageAdapter = {
|
|
7
|
+
getItem: (key) => AsyncStorage.getItem(key),
|
|
8
|
+
setItem: (key, value) => AsyncStorage.setItem(key, value),
|
|
9
|
+
removeItem: (key) => AsyncStorage.removeItem(key),
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=asyncStorage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asyncStorage.js","sourceRoot":"","sources":["../../../../src/native/storage/asyncStorage.ts"],"names":[],"mappings":";;;AACA,4EAA2E;AAQ3E,MAAM,YAAY,GAChB,cACD,CAAC,OAAO,CAAA;AAEI,QAAA,mBAAmB,GAAmB;IACjD,OAAO,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC;IAC3C,OAAO,EAAE,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC;IACzD,UAAU,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC;CAClD,CAAA"}
|
|
@@ -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"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
"use strict";
|
|
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;
|
|
12
|
+
//# sourceMappingURL=native-on-web.js.map
|
|
@@ -0,0 +1 @@
|
|
|
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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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isReactNative = isReactNative;
|
|
4
|
+
function isReactNative() {
|
|
5
|
+
if (typeof navigator !== 'undefined' &&
|
|
6
|
+
navigator.product === 'ReactNative') {
|
|
7
|
+
return true;
|
|
8
|
+
}
|
|
9
|
+
if (typeof window !== 'undefined' &&
|
|
10
|
+
Object.hasOwn(window, 'ReactNativeWebView')) {
|
|
11
|
+
return true;
|
|
12
|
+
}
|
|
13
|
+
if (typeof globalThis !== 'undefined' &&
|
|
14
|
+
Object.hasOwn(globalThis, 'HermesEngine')) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
return false;
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=platform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"platform.js","sourceRoot":"","sources":["../../../src/utils/platform.ts"],"names":[],"mappings":";;AAAA,sCAoBC;AApBD,SAAgB,aAAa;IAC3B,IACE,OAAO,SAAS,KAAK,WAAW;QAC/B,SAAkC,CAAC,OAAO,KAAK,aAAa,EAC7D,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,OAAO,MAAM,KAAK,WAAW;QAC7B,MAAM,CAAC,MAAM,CAAC,MAAM,EAAE,oBAAoB,CAAC,EAC3C,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,IACE,OAAO,UAAU,KAAK,WAAW;QACjC,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,cAAc,CAAC,EACzC,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IACD,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createZeroDevWallet = createZeroDevWallet;
|
|
4
|
+
const createZeroDevWalletCore_js_1 = require("../core/createZeroDevWalletCore.js");
|
|
5
|
+
const indexedDbStamper_js_1 = require("../stampers/indexedDbStamper.js");
|
|
6
|
+
const webauthnStamper_js_1 = require("../stampers/webauthnStamper.js");
|
|
7
|
+
const adapters_js_1 = require("../storage/adapters.js");
|
|
8
|
+
async function createZeroDevWallet(config) {
|
|
9
|
+
const rpId = config.rpId ?? window.location.hostname;
|
|
10
|
+
const apiKeyStamper = config.apiKeyStamper ?? (await (0, indexedDbStamper_js_1.createIndexedDbStamper)());
|
|
11
|
+
const passkeyStamper = config.passkeyStamper ?? (await (0, webauthnStamper_js_1.createWebauthnStamper)({ rpId }));
|
|
12
|
+
const sessionStorage = config.sessionStorage ?? (0, adapters_js_1.createWebStorageAdapter)();
|
|
13
|
+
return (0, createZeroDevWalletCore_js_1.createZeroDevWalletCore)({
|
|
14
|
+
...config,
|
|
15
|
+
rpId,
|
|
16
|
+
apiKeyStamper,
|
|
17
|
+
passkeyStamper,
|
|
18
|
+
sessionStorage,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=createZeroDevWallet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"createZeroDevWallet.js","sourceRoot":"","sources":["../../../src/web/createZeroDevWallet.ts"],"names":[],"mappings":";;AA4BA,kDAgBC;AA5CD,mFAI2C;AAC3C,yEAAwE;AAExE,uEAAsE;AACtE,wDAAgE;AAoBzD,KAAK,UAAU,mBAAmB,CACvC,MAA2B;IAE3B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAA;IACpD,MAAM,aAAa,GAAG,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,IAAA,4CAAsB,GAAE,CAAC,CAAA;IAC9E,MAAM,cAAc,GAClB,MAAM,CAAC,cAAc,IAAI,CAAC,MAAM,IAAA,0CAAqB,EAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;IAClE,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,IAAI,IAAA,qCAAuB,GAAE,CAAA;IAEzE,OAAO,IAAA,oDAAuB,EAAC;QAC7B,GAAG,MAAM;QACT,IAAI;QACJ,aAAa;QACb,cAAc;QACd,cAAc;KACf,CAAC,CAAA;AACJ,CAAC"}
|