@seams/wallet 0.5.0 → 0.5.2
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.md +201 -0
- package/THIRD_PARTY_NOTICES.md +15095 -0
- package/dist/.build-inputs.sha256 +1 -1
- package/dist/esm/SeamsWeb/signingSurface/BrowserSigningSurface.js +7 -14
- package/dist/esm/core/signingEngine/session/identity/exactWalletSessionReader.js +2 -27
- package/dist/esm/react/SeamsWeb/signingSurface/BrowserSigningSurface.js +7 -14
- package/dist/esm/react/core/signingEngine/session/identity/exactWalletSessionReader.js +2 -27
- package/dist/esm/sdk/export-private-key-viewer.js +1420 -1425
- package/dist/esm/sdk/halo-border.js +1424 -1429
- package/dist/esm/sdk/{host-BqwEYhX0.js → host-DNmO0eve.js} +2 -2
- package/dist/esm/sdk/passkey-halo-loading.js +1426 -1431
- package/dist/{public/sdk/registrationPreparationPreload-u3ruCmpF.js → esm/sdk/registrationPreparationPreload-CwUkRwVz.js} +1 -1
- package/dist/esm/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/{public/sdk/runtime-auth-Da9yQyaD.js → esm/sdk/runtime-auth-dpoaCtkK.js} +2 -2
- package/dist/esm/sdk/{runtime-device-link-DNlzlwrr.js → runtime-device-link-C75epnbj.js} +1 -1
- package/dist/{public/sdk/runtime-ecdsa-tempo-B7dBVcCI.js → esm/sdk/runtime-ecdsa-tempo-CV-E-iZG.js} +1 -1
- package/dist/{public/sdk/runtime-email-otp-CckVQZJC.js → esm/sdk/runtime-email-otp-V0mdMD_t.js} +1 -1
- package/dist/{public/sdk/runtime-export-WAiBwZL_.js → esm/sdk/runtime-export-C4HO5ysH.js} +1 -1
- package/dist/esm/sdk/{runtime-near-DBJ4KfFv.js → runtime-near-DlviFQWy.js} +1 -1
- package/dist/{public/sdk/runtime-preferences-DmH7eMHH.js → esm/sdk/runtime-preferences-DyJidFuf.js} +1 -1
- package/dist/esm/sdk/{runtime-recovery-kPgl9nTT.js → runtime-recovery-CHDE5gl0.js} +1 -1
- package/dist/esm/sdk/{runtimeContext-BorCgXo5.js → runtimeContext-D_TkUM6Z.js} +6 -38
- package/dist/esm/sdk/{runtimeLoader-BKQjNgXO.js → runtimeLoader-DxiLgXPm.js} +9 -9
- package/dist/esm/sdk/tx-confirm-ui.js +1400 -1407
- package/dist/esm/sdk/w3a-tx-confirmer.js +1442 -1447
- package/dist/esm/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/esm/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker.js +4 -4
- package/dist/esm/wasm/near_signer/pkg/wasm_signer_worker_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ecdsa_client/pkg/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/esm/wasm/router_ab_ed25519_yao_client/pkg/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/headers.manifest.json +1 -1
- package/dist/public/sdk/export-private-key-viewer.js +1420 -1425
- package/dist/public/sdk/halo-border.js +1424 -1429
- package/dist/public/sdk/{host-BqwEYhX0.js → host-DNmO0eve.js} +2 -2
- package/dist/public/sdk/passkey-halo-loading.js +1426 -1431
- package/dist/{esm/sdk/registrationPreparationPreload-u3ruCmpF.js → public/sdk/registrationPreparationPreload-CwUkRwVz.js} +1 -1
- package/dist/public/sdk/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/{esm/sdk/runtime-auth-Da9yQyaD.js → public/sdk/runtime-auth-dpoaCtkK.js} +2 -2
- package/dist/public/sdk/{runtime-device-link-DNlzlwrr.js → runtime-device-link-C75epnbj.js} +1 -1
- package/dist/{esm/sdk/runtime-ecdsa-tempo-B7dBVcCI.js → public/sdk/runtime-ecdsa-tempo-CV-E-iZG.js} +1 -1
- package/dist/{esm/sdk/runtime-email-otp-CckVQZJC.js → public/sdk/runtime-email-otp-V0mdMD_t.js} +1 -1
- package/dist/{esm/sdk/runtime-export-WAiBwZL_.js → public/sdk/runtime-export-C4HO5ysH.js} +1 -1
- package/dist/public/sdk/{runtime-near-DBJ4KfFv.js → runtime-near-DlviFQWy.js} +1 -1
- package/dist/{esm/sdk/runtime-preferences-DmH7eMHH.js → public/sdk/runtime-preferences-DyJidFuf.js} +1 -1
- package/dist/public/sdk/{runtime-recovery-kPgl9nTT.js → runtime-recovery-CHDE5gl0.js} +1 -1
- package/dist/public/sdk/{runtimeContext-BorCgXo5.js → runtimeContext-D_TkUM6Z.js} +6 -38
- package/dist/public/sdk/{runtimeLoader-BKQjNgXO.js → runtimeLoader-DxiLgXPm.js} +9 -9
- package/dist/public/sdk/tx-confirm-ui.js +1400 -1407
- package/dist/public/sdk/w3a-tx-confirmer.js +1442 -1447
- package/dist/public/sdk/wallet-iframe-host-ecdsa.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-full.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-near.js +1 -1
- package/dist/public/sdk/wallet-iframe-host-runtime.js +1 -1
- package/dist/public/sdk/workers/device-linking-key.worker.js +133 -140
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +94 -188
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +6 -7
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +6 -7
- package/dist/public/sdk/workers/email-otp.worker.js +39 -52
- package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/evm-crypto.worker.js +3 -3
- package/dist/public/sdk/workers/evm_crypto.wasm +0 -0
- package/dist/public/sdk/workers/evm_crypto_bg.wasm +0 -0
- package/dist/public/sdk/workers/near-signer.worker.js +9 -9
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/passkey-confirm.worker.js +4 -4
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +9 -19
- package/dist/public/sdk/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/public/sdk/workers/shamir3pass.worker.js +3 -3
- package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/tempo-signer.worker.js +3 -3
- package/dist/public/sdk/workers/tempo_signer.wasm +0 -0
- package/dist/public/sdk/workers/tempo_signer_bg.wasm +0 -0
- package/dist/public/sdk/workers/wallet-custody-ceremony.worker.js +55 -1244
- package/dist/public/sdk/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/public/sdk/workers/wasm_signer_worker_bg.wasm +0 -0
- package/dist/public/wallet-assets.manifest.json +32 -32
- package/dist/types/wallet/src/SeamsWeb/signingSurface/BrowserSigningSurface.d.ts +4 -4
- package/dist/types/wallet/src/core/signingEngine/session/identity/exactWalletSessionReader.d.ts +1 -9
- package/dist/workers/device-linking-key.worker.js +133 -140
- package/dist/workers/ecdsa-derivation-client.worker.js +94 -188
- package/dist/workers/ecdsa-online-client.worker.js +6 -7
- package/dist/workers/ecdsa-presign-client.worker.js +6 -7
- package/dist/workers/email-otp.worker.js +39 -52
- package/dist/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/workers/evm-crypto.worker.js +3 -3
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/evm_crypto_bg.wasm +0 -0
- package/dist/workers/near-signer.worker.js +9 -9
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/passkey-confirm.worker.js +4 -4
- package/dist/workers/passkey-mpc-export.worker.js +9 -19
- package/dist/workers/router_ab_ecdsa_client_bg.wasm +0 -0
- package/dist/workers/router_ab_ed25519_yao_client_bg.wasm +0 -0
- package/dist/workers/shamir3pass.worker.js +3 -3
- package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/workers/tempo-signer.worker.js +3 -3
- package/dist/workers/tempo_signer.wasm +0 -0
- package/dist/workers/tempo_signer_bg.wasm +0 -0
- package/dist/workers/wallet-custody-ceremony.worker.js +55 -1244
- package/dist/workers/wallet_custody_ceremony_bg.wasm +0 -0
- package/dist/workers/wasm_signer_worker_bg.wasm +0 -0
- package/package.json +6 -3
- package/LICENSE +0 -21
|
@@ -3,13 +3,6 @@ class MpcMaterialActivationReference {
|
|
|
3
3
|
retainProof() {
|
|
4
4
|
return true;
|
|
5
5
|
}
|
|
6
|
-
kind;
|
|
7
|
-
activationId;
|
|
8
|
-
capability;
|
|
9
|
-
materialOwner;
|
|
10
|
-
keyBinding;
|
|
11
|
-
lifecycleBinding;
|
|
12
|
-
signingWorker;
|
|
13
6
|
constructor(fields) {
|
|
14
7
|
this.retainProof();
|
|
15
8
|
this.kind = "mpc_material_activation_ref";
|
|
@@ -1938,22 +1931,22 @@ function buildParsedEmailOtpWalletAuthMethodRecordV2(input) {
|
|
|
1938
1931
|
}
|
|
1939
1932
|
}
|
|
1940
1933
|
function parseWalletAuthMethodIdRequired(raw) {
|
|
1941
|
-
const
|
|
1942
|
-
if (!
|
|
1943
|
-
throw new Error(
|
|
1944
|
-
return
|
|
1934
|
+
const parsed = parseWalletAuthMethodId(raw);
|
|
1935
|
+
if (!parsed.ok)
|
|
1936
|
+
throw new Error(parsed.error.message);
|
|
1937
|
+
return parsed.value;
|
|
1945
1938
|
}
|
|
1946
1939
|
function parseWalletIdRequired(raw) {
|
|
1947
|
-
const
|
|
1948
|
-
if (!
|
|
1949
|
-
throw new Error(
|
|
1950
|
-
return
|
|
1940
|
+
const parsed = parseWalletId(raw);
|
|
1941
|
+
if (!parsed.ok)
|
|
1942
|
+
throw new Error(parsed.error.message);
|
|
1943
|
+
return parsed.value;
|
|
1951
1944
|
}
|
|
1952
1945
|
function parseWalletAuthorityIdRequired(raw) {
|
|
1953
|
-
const
|
|
1954
|
-
if (!
|
|
1955
|
-
throw new Error(
|
|
1956
|
-
return
|
|
1946
|
+
const parsed = parseWalletAuthorityId(raw);
|
|
1947
|
+
if (!parsed.ok)
|
|
1948
|
+
throw new Error(parsed.error.message);
|
|
1949
|
+
return parsed.value;
|
|
1957
1950
|
}
|
|
1958
1951
|
function parseNonNegativeInteger(raw) {
|
|
1959
1952
|
if (typeof raw !== "number" || !Number.isSafeInteger(raw) || raw < 0) {
|
|
@@ -2179,7 +2172,7 @@ function parseRouterAbMpcMaterialActivationRef(value) {
|
|
|
2179
2172
|
}
|
|
2180
2173
|
function routerAbMpcMaterialActivationRefFromWire(value) {
|
|
2181
2174
|
const wire = parseRouterAbMpcMaterialActivationRef(value);
|
|
2182
|
-
const
|
|
2175
|
+
const parsed = parseMpcMaterialActivationRef({
|
|
2183
2176
|
kind: wire.kind,
|
|
2184
2177
|
activationId: wire.activation_id,
|
|
2185
2178
|
capability: wire.capability,
|
|
@@ -2188,10 +2181,10 @@ function routerAbMpcMaterialActivationRefFromWire(value) {
|
|
|
2188
2181
|
lifecycleBinding: wire.lifecycle_binding,
|
|
2189
2182
|
signingWorker: wire.signing_worker
|
|
2190
2183
|
});
|
|
2191
|
-
if (!
|
|
2192
|
-
throw new Error(`material_activation is invalid: ${
|
|
2184
|
+
if (!parsed.ok) {
|
|
2185
|
+
throw new Error(`material_activation is invalid: ${parsed.error.message}`);
|
|
2193
2186
|
}
|
|
2194
|
-
return
|
|
2187
|
+
return parsed.value;
|
|
2195
2188
|
}
|
|
2196
2189
|
function sameRouterAbMpcMaterialActivationRef(left, right) {
|
|
2197
2190
|
return left.kind === right.kind && left.activation_id === right.activation_id && left.capability === right.capability && left.material_owner === right.material_owner && left.key_binding === right.key_binding && left.lifecycle_binding === right.lifecycle_binding && left.signing_worker === right.signing_worker;
|
|
@@ -2268,17 +2261,17 @@ function requireBytes(value, label, minimumLength, maximumLength) {
|
|
|
2268
2261
|
if (value.length < minimumLength || value.length > maximumLength) {
|
|
2269
2262
|
throw new Error(`${label} has an invalid length`);
|
|
2270
2263
|
}
|
|
2271
|
-
const
|
|
2264
|
+
const parsed = [];
|
|
2272
2265
|
for (let index = 0;index < value.length; index += 1) {
|
|
2273
|
-
|
|
2266
|
+
parsed.push(requireByte(value[index], `${label}[${index}]`));
|
|
2274
2267
|
}
|
|
2275
|
-
return
|
|
2268
|
+
return parsed;
|
|
2276
2269
|
}
|
|
2277
2270
|
function requireBytes32(value, label, nonzero) {
|
|
2278
|
-
const
|
|
2279
|
-
if (nonzero && isZeroBytes(
|
|
2271
|
+
const parsed = requireBytes(value, label, 32, 32);
|
|
2272
|
+
if (nonzero && isZeroBytes(parsed))
|
|
2280
2273
|
throw new Error(`${label} must be nonzero`);
|
|
2281
|
-
return
|
|
2274
|
+
return parsed;
|
|
2282
2275
|
}
|
|
2283
2276
|
function isZeroBytes(value) {
|
|
2284
2277
|
for (const byte of value) {
|
|
@@ -2588,13 +2581,13 @@ function parseRouterAbEd25519YaoActivationAdmissionReceiptV1(value) {
|
|
|
2588
2581
|
return parseBoundary(parseActivationAdmissionReceiptValue, value);
|
|
2589
2582
|
}
|
|
2590
2583
|
function parseRouterAbEd25519YaoRegistrationActivationAdmissionReceiptV1(value) {
|
|
2591
|
-
const
|
|
2592
|
-
if (!
|
|
2593
|
-
return
|
|
2594
|
-
if (!isActivationAdmissionReceiptFor(
|
|
2584
|
+
const parsed = parseRouterAbEd25519YaoActivationAdmissionReceiptV1(value);
|
|
2585
|
+
if (!parsed.ok)
|
|
2586
|
+
return parsed;
|
|
2587
|
+
if (!isActivationAdmissionReceiptFor(parsed.value, "registration")) {
|
|
2595
2588
|
return operationMismatch("registration");
|
|
2596
2589
|
}
|
|
2597
|
-
return { ok: true, value:
|
|
2590
|
+
return { ok: true, value: parsed.value };
|
|
2598
2591
|
}
|
|
2599
2592
|
function parseRouterAbEd25519YaoEncryptedPackageV1(value) {
|
|
2600
2593
|
return parseBoundary(parseEncryptedPackageValue, value);
|
|
@@ -2609,10 +2602,10 @@ function isEvmFamilySigningKeySlotIdShape(value) {
|
|
|
2609
2602
|
return parts.length === 5 && parts[0] === "wallet-key" && parts[1] === "evm-family" && parts.slice(2).every((part) => part.length > 0);
|
|
2610
2603
|
}
|
|
2611
2604
|
function parseEvmFamilySigningKeySlotId(raw) {
|
|
2612
|
-
const
|
|
2613
|
-
if (!
|
|
2614
|
-
return
|
|
2615
|
-
if (!isEvmFamilySigningKeySlotIdShape(String(
|
|
2605
|
+
const parsed = parseWalletKeyId(raw);
|
|
2606
|
+
if (!parsed.ok)
|
|
2607
|
+
return parsed;
|
|
2608
|
+
if (!isEvmFamilySigningKeySlotIdShape(String(parsed.value))) {
|
|
2616
2609
|
return {
|
|
2617
2610
|
ok: false,
|
|
2618
2611
|
error: {
|
|
@@ -2621,13 +2614,13 @@ function parseEvmFamilySigningKeySlotId(raw) {
|
|
|
2621
2614
|
}
|
|
2622
2615
|
};
|
|
2623
2616
|
}
|
|
2624
|
-
return { ok: true, value: String(
|
|
2617
|
+
return { ok: true, value: String(parsed.value) };
|
|
2625
2618
|
}
|
|
2626
2619
|
function requireEvmFamilySigningKeySlotId(value, label = "evmFamilySigningKeySlotId") {
|
|
2627
|
-
const
|
|
2628
|
-
if (
|
|
2629
|
-
return
|
|
2630
|
-
if (
|
|
2620
|
+
const parsed = parseEvmFamilySigningKeySlotId(value);
|
|
2621
|
+
if (parsed.ok)
|
|
2622
|
+
return parsed.value;
|
|
2623
|
+
if (parsed.error.code === "missing")
|
|
2631
2624
|
throw new Error(`${label} is required`);
|
|
2632
2625
|
throw new Error(`${label} must be an EVM-family signing key slot id`);
|
|
2633
2626
|
}
|
|
@@ -2660,52 +2653,52 @@ function requireExactKeys2(record, label, allowedKeys) {
|
|
|
2660
2653
|
function requireAsciiNonEmptyString(value, label) {
|
|
2661
2654
|
if (typeof value !== "string")
|
|
2662
2655
|
throw new Error(`${label} must be a string`);
|
|
2663
|
-
const
|
|
2664
|
-
if (!
|
|
2656
|
+
const parsed = value.trim();
|
|
2657
|
+
if (!parsed)
|
|
2665
2658
|
throw new Error(`${label} is required`);
|
|
2666
|
-
if (!/^[\x20-\x7e]+$/.test(
|
|
2659
|
+
if (!/^[\x20-\x7e]+$/.test(parsed))
|
|
2667
2660
|
throw new Error(`${label} must be printable ASCII`);
|
|
2668
|
-
return
|
|
2661
|
+
return parsed;
|
|
2669
2662
|
}
|
|
2670
2663
|
function requireRootShareEpoch(value, label) {
|
|
2671
|
-
const
|
|
2672
|
-
if (!
|
|
2664
|
+
const parsed = parseRootShareEpoch(requireAsciiNonEmptyString(value, label));
|
|
2665
|
+
if (!parsed.ok)
|
|
2673
2666
|
throw new Error(`${label} is invalid`);
|
|
2674
|
-
return
|
|
2667
|
+
return parsed.value;
|
|
2675
2668
|
}
|
|
2676
2669
|
function requireU32(value, label) {
|
|
2677
2670
|
if (typeof value !== "number" || !Number.isFinite(value)) {
|
|
2678
2671
|
throw new Error(`${label} must be a finite number`);
|
|
2679
2672
|
}
|
|
2680
|
-
const
|
|
2681
|
-
if (
|
|
2673
|
+
const parsed = Math.floor(value);
|
|
2674
|
+
if (parsed !== value || parsed < 0 || parsed > 4294967295) {
|
|
2682
2675
|
throw new Error(`${label} must be a u32 integer`);
|
|
2683
2676
|
}
|
|
2684
|
-
return
|
|
2677
|
+
return parsed;
|
|
2685
2678
|
}
|
|
2686
2679
|
function requireBase64UrlFixed(value, label, byteLength) {
|
|
2687
|
-
const
|
|
2688
|
-
if (!/^[A-Za-z0-9_-]+$/.test(
|
|
2680
|
+
const parsed = requireAsciiNonEmptyString(value, label);
|
|
2681
|
+
if (!/^[A-Za-z0-9_-]+$/.test(parsed)) {
|
|
2689
2682
|
throw new Error(`${label} must be unpadded base64url`);
|
|
2690
2683
|
}
|
|
2691
2684
|
let decoded;
|
|
2692
2685
|
try {
|
|
2693
|
-
decoded = base64UrlDecode(
|
|
2686
|
+
decoded = base64UrlDecode(parsed);
|
|
2694
2687
|
} catch {
|
|
2695
2688
|
throw new Error(`${label} must be valid base64url`);
|
|
2696
2689
|
}
|
|
2697
2690
|
if (decoded.length !== byteLength) {
|
|
2698
2691
|
throw new Error(`${label} must decode to ${byteLength} bytes`);
|
|
2699
2692
|
}
|
|
2700
|
-
return
|
|
2693
|
+
return parsed;
|
|
2701
2694
|
}
|
|
2702
2695
|
function requireCompressedSecp256k1PublicKey(value, label) {
|
|
2703
|
-
const
|
|
2704
|
-
const decoded = base64UrlDecode(
|
|
2696
|
+
const parsed = requireBase64UrlFixed(value, label, 33);
|
|
2697
|
+
const decoded = base64UrlDecode(parsed);
|
|
2705
2698
|
if (decoded[0] !== 2 && decoded[0] !== 3) {
|
|
2706
2699
|
throw new Error(`${label} must be a compressed secp256k1 public key`);
|
|
2707
2700
|
}
|
|
2708
|
-
return
|
|
2701
|
+
return parsed;
|
|
2709
2702
|
}
|
|
2710
2703
|
function parseStableKeyContext(value) {
|
|
2711
2704
|
const record = requireRecord5(value, "scope.context");
|
|
@@ -2791,10 +2784,10 @@ function parseRouterAbEcdsaDerivationNormalSigningStateV1(value) {
|
|
|
2791
2784
|
};
|
|
2792
2785
|
}
|
|
2793
2786
|
function requireRouterAbEcdsaDerivationNormalSigningStateV1(value) {
|
|
2794
|
-
const
|
|
2795
|
-
if (!
|
|
2787
|
+
const parsed = parseRouterAbEcdsaDerivationNormalSigningStateV1(value);
|
|
2788
|
+
if (!parsed)
|
|
2796
2789
|
throw new Error("Router A/B ECDSA derivation normal-signing state is required");
|
|
2797
|
-
return
|
|
2790
|
+
return parsed;
|
|
2798
2791
|
}
|
|
2799
2792
|
|
|
2800
2793
|
// ../shared-ts/src/device-linking/sourceContribution.ts
|
|
@@ -3065,40 +3058,40 @@ function assertEcdsaSourceTargetActivations(source, target) {
|
|
|
3065
3058
|
}
|
|
3066
3059
|
}
|
|
3067
3060
|
function parseActivation(raw, label) {
|
|
3068
|
-
const
|
|
3069
|
-
if (!
|
|
3070
|
-
throw new Error(`${label} ${
|
|
3071
|
-
return
|
|
3061
|
+
const parsed = parseMpcMaterialActivationRef(raw);
|
|
3062
|
+
if (!parsed.ok)
|
|
3063
|
+
throw new Error(`${label} ${parsed.error.message}`);
|
|
3064
|
+
return parsed.value;
|
|
3072
3065
|
}
|
|
3073
3066
|
function parseSessionId(raw) {
|
|
3074
|
-
const
|
|
3075
|
-
if (!
|
|
3076
|
-
throw new Error(`linkSessionId ${
|
|
3077
|
-
return
|
|
3067
|
+
const parsed = parseLinkDeviceSessionId(requireText(raw, "linkSessionId"));
|
|
3068
|
+
if (!parsed.ok)
|
|
3069
|
+
throw new Error(`linkSessionId ${parsed.error.message}`);
|
|
3070
|
+
return parsed.value;
|
|
3078
3071
|
}
|
|
3079
3072
|
function parseEnrollmentId(raw) {
|
|
3080
|
-
const
|
|
3081
|
-
if (!
|
|
3082
|
-
throw new Error(`enrollmentId ${
|
|
3083
|
-
return
|
|
3073
|
+
const parsed = parseLinkedDeviceEnrollmentId(requireText(raw, "enrollmentId"));
|
|
3074
|
+
if (!parsed.ok)
|
|
3075
|
+
throw new Error(`enrollmentId ${parsed.error.message}`);
|
|
3076
|
+
return parsed.value;
|
|
3084
3077
|
}
|
|
3085
3078
|
function parseAuthorityId(raw) {
|
|
3086
|
-
const
|
|
3087
|
-
if (!
|
|
3088
|
-
throw new Error(`sourceAuthorityId ${
|
|
3089
|
-
return
|
|
3079
|
+
const parsed = parseWalletAuthorityId(requireText(raw, "sourceAuthorityId"));
|
|
3080
|
+
if (!parsed.ok)
|
|
3081
|
+
throw new Error(`sourceAuthorityId ${parsed.error.message}`);
|
|
3082
|
+
return parsed.value;
|
|
3090
3083
|
}
|
|
3091
3084
|
function parseWalletKeyIdField(raw) {
|
|
3092
|
-
const
|
|
3093
|
-
if (!
|
|
3094
|
-
throw new Error(`walletKeyId ${
|
|
3095
|
-
return
|
|
3085
|
+
const parsed = parseWalletKeyId(requireText(raw, "walletKeyId"));
|
|
3086
|
+
if (!parsed.ok)
|
|
3087
|
+
throw new Error(`walletKeyId ${parsed.error.message}`);
|
|
3088
|
+
return parsed.value;
|
|
3096
3089
|
}
|
|
3097
3090
|
function parseDeviceIdField(raw) {
|
|
3098
|
-
const
|
|
3099
|
-
if (!
|
|
3100
|
-
throw new Error(`targetDeviceId ${
|
|
3101
|
-
return
|
|
3091
|
+
const parsed = parseDeviceId(requireText(raw, "targetDeviceId"));
|
|
3092
|
+
if (!parsed.ok)
|
|
3093
|
+
throw new Error(`targetDeviceId ${parsed.error.message}`);
|
|
3094
|
+
return parsed.value;
|
|
3102
3095
|
}
|
|
3103
3096
|
function parseDigestField3(raw, label) {
|
|
3104
3097
|
try {
|
|
@@ -3313,26 +3306,26 @@ function parseEcdsaPackage(raw) {
|
|
|
3313
3306
|
};
|
|
3314
3307
|
}
|
|
3315
3308
|
function parseEd25519ClientPackage(raw, label, deriver) {
|
|
3316
|
-
const
|
|
3317
|
-
if (!
|
|
3318
|
-
throw new Error(`${label} ${
|
|
3319
|
-
if (
|
|
3309
|
+
const parsed = parseRouterAbEd25519YaoEncryptedPackageV1(raw);
|
|
3310
|
+
if (!parsed.ok)
|
|
3311
|
+
throw new Error(`${label} ${parsed.message}`);
|
|
3312
|
+
if (parsed.value.kind !== "activation_client" || parsed.value.deriver !== deriver) {
|
|
3320
3313
|
throw new Error(`${label} must be an activation_client for ${deriver}`);
|
|
3321
3314
|
}
|
|
3322
3315
|
return {
|
|
3323
3316
|
kind: "activation_client",
|
|
3324
3317
|
deriver,
|
|
3325
|
-
session:
|
|
3326
|
-
transcript:
|
|
3327
|
-
encapsulated_key:
|
|
3328
|
-
ciphertext:
|
|
3318
|
+
session: parsed.value.session,
|
|
3319
|
+
transcript: parsed.value.transcript,
|
|
3320
|
+
encapsulated_key: parsed.value.encapsulated_key,
|
|
3321
|
+
ciphertext: parsed.value.ciphertext
|
|
3329
3322
|
};
|
|
3330
3323
|
}
|
|
3331
3324
|
function parseActivation2(raw, label) {
|
|
3332
|
-
const
|
|
3333
|
-
if (!
|
|
3334
|
-
throw new Error(`${label} ${
|
|
3335
|
-
return
|
|
3325
|
+
const parsed = parseMpcMaterialActivationRef(raw);
|
|
3326
|
+
if (!parsed.ok)
|
|
3327
|
+
throw new Error(`${label} ${parsed.error.message}`);
|
|
3328
|
+
return parsed.value;
|
|
3336
3329
|
}
|
|
3337
3330
|
function parseKeyFamilies(raw) {
|
|
3338
3331
|
if (!Array.isArray(raw))
|
|
@@ -3712,10 +3705,10 @@ function assertExpiryAfterIssued(issuedAtMs, expiresAtMs, label) {
|
|
|
3712
3705
|
throw new Error(`${label}.expiresAtMs must be after issuedAtMs`);
|
|
3713
3706
|
}
|
|
3714
3707
|
function parseTargetEmail(raw, label) {
|
|
3715
|
-
const
|
|
3716
|
-
if (!
|
|
3717
|
-
throw new Error(`${label} ${
|
|
3718
|
-
return
|
|
3708
|
+
const parsed = parseVerifiedEmailAddress(raw);
|
|
3709
|
+
if (!parsed.ok)
|
|
3710
|
+
throw new Error(`${label} ${parsed.error.message}`);
|
|
3711
|
+
return parsed.value;
|
|
3719
3712
|
}
|
|
3720
3713
|
function parseEmailOtpEnrollmentSelection(raw, label) {
|
|
3721
3714
|
const record = requireRecord(raw, label);
|
|
@@ -3739,7 +3732,7 @@ function parseLinkedDeviceEmailOtpVerificationGrantV1(raw) {
|
|
|
3739
3732
|
const issuedAtMs = parseUnixTime(record.issuedAtMs, "LinkedDeviceEmailOtpVerificationGrantV1.issuedAtMs");
|
|
3740
3733
|
const expiresAtMs = parseUnixTime(record.expiresAtMs, "LinkedDeviceEmailOtpVerificationGrantV1.expiresAtMs");
|
|
3741
3734
|
assertExpiryAfterIssued(issuedAtMs, expiresAtMs, "LinkedDeviceEmailOtpVerificationGrantV1");
|
|
3742
|
-
const
|
|
3735
|
+
const base = {
|
|
3743
3736
|
kind: "linked_device_email_otp_verification_grant_v1",
|
|
3744
3737
|
grantId: parseNonEmptyToken(record.grantId, "LinkedDeviceEmailOtpVerificationGrantV1.grantId"),
|
|
3745
3738
|
grantToken: parseNonEmptyToken(record.grantToken, "LinkedDeviceEmailOtpVerificationGrantV1.grantToken"),
|
|
@@ -3759,10 +3752,10 @@ function parseLinkedDeviceEmailOtpVerificationGrantV1(raw) {
|
|
|
3759
3752
|
expiresAtMs
|
|
3760
3753
|
};
|
|
3761
3754
|
if (enrollment.kind === "new_enrollment") {
|
|
3762
|
-
return { ...
|
|
3755
|
+
return { ...base, enrollment: { kind: "new_enrollment" } };
|
|
3763
3756
|
}
|
|
3764
3757
|
return {
|
|
3765
|
-
...
|
|
3758
|
+
...base,
|
|
3766
3759
|
enrollment: { kind: "existing_enrollment" },
|
|
3767
3760
|
baseWalletAuthMethodId: parseId(parseWalletAuthMethodId, record.baseWalletAuthMethodId, "LinkedDeviceEmailOtpVerificationGrantV1.baseWalletAuthMethodId")
|
|
3768
3761
|
};
|
|
@@ -3954,10 +3947,10 @@ var encodeString = typeof cachedTextEncoder.encodeInto === "function" ? function
|
|
|
3954
3947
|
function passStringToWasm0(arg, malloc, realloc) {
|
|
3955
3948
|
if (realloc === undefined) {
|
|
3956
3949
|
const buf = cachedTextEncoder.encode(arg);
|
|
3957
|
-
const
|
|
3958
|
-
getUint8ArrayMemory0().subarray(
|
|
3950
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
3951
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
3959
3952
|
WASM_VECTOR_LEN = buf.length;
|
|
3960
|
-
return
|
|
3953
|
+
return ptr;
|
|
3961
3954
|
}
|
|
3962
3955
|
let len = arg.length;
|
|
3963
3956
|
let ptr = malloc(len, 1) >>> 0;
|
|
@@ -4123,10 +4116,10 @@ function getArrayU8FromWasm0(ptr, len) {
|
|
|
4123
4116
|
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
4124
4117
|
}
|
|
4125
4118
|
function __wbg_adapter_52(arg0, arg1, arg2) {
|
|
4126
|
-
wasm.
|
|
4119
|
+
wasm.closure67_externref_shim(arg0, arg1, arg2);
|
|
4127
4120
|
}
|
|
4128
4121
|
function __wbg_adapter_387(arg0, arg1, arg2, arg3) {
|
|
4129
|
-
wasm.
|
|
4122
|
+
wasm.closure60_externref_shim(arg0, arg1, arg2, arg3);
|
|
4130
4123
|
}
|
|
4131
4124
|
var ConfirmationBehavior = Object.freeze({
|
|
4132
4125
|
RequireClick: 0,
|
|
@@ -4689,11 +4682,11 @@ function __wbg_get_imports() {
|
|
|
4689
4682
|
imports.wbg.__wbg_new_23a2665fac83c611 = function(arg0, arg1) {
|
|
4690
4683
|
try {
|
|
4691
4684
|
var state0 = { a: arg0, b: arg1 };
|
|
4692
|
-
var cb0 = (
|
|
4685
|
+
var cb0 = (arg0, arg1) => {
|
|
4693
4686
|
const a = state0.a;
|
|
4694
4687
|
state0.a = 0;
|
|
4695
4688
|
try {
|
|
4696
|
-
return __wbg_adapter_387(a, state0.b,
|
|
4689
|
+
return __wbg_adapter_387(a, state0.b, arg0, arg1);
|
|
4697
4690
|
} finally {
|
|
4698
4691
|
state0.a = a;
|
|
4699
4692
|
}
|
|
@@ -4894,8 +4887,8 @@ function __wbg_get_imports() {
|
|
|
4894
4887
|
const ret = false;
|
|
4895
4888
|
return ret;
|
|
4896
4889
|
};
|
|
4897
|
-
imports.wbg.
|
|
4898
|
-
const ret = makeMutClosure(arg0, arg1,
|
|
4890
|
+
imports.wbg.__wbindgen_closure_wrapper2623 = function(arg0, arg1, arg2) {
|
|
4891
|
+
const ret = makeMutClosure(arg0, arg1, 68, __wbg_adapter_52);
|
|
4899
4892
|
return ret;
|
|
4900
4893
|
};
|
|
4901
4894
|
imports.wbg.__wbindgen_debug_string = function(arg0, arg1) {
|
|
@@ -6368,10 +6361,10 @@ function passArray8ToWasm02(arg, malloc) {
|
|
|
6368
6361
|
function passStringToWasm02(arg, malloc, realloc) {
|
|
6369
6362
|
if (realloc === undefined) {
|
|
6370
6363
|
const buf = cachedTextEncoder2.encode(arg);
|
|
6371
|
-
const
|
|
6372
|
-
getUint8ArrayMemory02().subarray(
|
|
6364
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
6365
|
+
getUint8ArrayMemory02().subarray(ptr, ptr + buf.length).set(buf);
|
|
6373
6366
|
WASM_VECTOR_LEN2 = buf.length;
|
|
6374
|
-
return
|
|
6367
|
+
return ptr;
|
|
6375
6368
|
}
|
|
6376
6369
|
let len = arg.length;
|
|
6377
6370
|
let ptr = malloc(len, 1) >>> 0;
|
|
@@ -6667,10 +6660,10 @@ function requireLaneScope(record, label) {
|
|
|
6667
6660
|
};
|
|
6668
6661
|
}
|
|
6669
6662
|
function requireThresholdEcdsaSessionId(value, label) {
|
|
6670
|
-
const
|
|
6671
|
-
if (!
|
|
6672
|
-
throw new Error(`${label} ${
|
|
6673
|
-
return
|
|
6663
|
+
const parsed = parseThresholdEcdsaSessionId(value);
|
|
6664
|
+
if (!parsed.ok)
|
|
6665
|
+
throw new Error(`${label} ${parsed.error.message}`);
|
|
6666
|
+
return parsed.value;
|
|
6674
6667
|
}
|
|
6675
6668
|
function parsePasskeyCustodySecretBinding(raw, label = "passkeyCustodySecretBinding") {
|
|
6676
6669
|
const record = requireRecord(raw, label);
|
|
@@ -6749,11 +6742,11 @@ function parseWalletCustodyEnvelopeOwnership(raw, label) {
|
|
|
6749
6742
|
}
|
|
6750
6743
|
return { kind: "unbound" };
|
|
6751
6744
|
case "method_bound": {
|
|
6752
|
-
const
|
|
6753
|
-
if (!
|
|
6754
|
-
throw new Error(`${label}.walletAuthMethodId ${
|
|
6745
|
+
const parsed = parseWalletAuthMethodId(record.walletAuthMethodId);
|
|
6746
|
+
if (!parsed.ok) {
|
|
6747
|
+
throw new Error(`${label}.walletAuthMethodId ${parsed.error.message}`);
|
|
6755
6748
|
}
|
|
6756
|
-
return { kind: "method_bound", walletAuthMethodId:
|
|
6749
|
+
return { kind: "method_bound", walletAuthMethodId: parsed.value };
|
|
6757
6750
|
}
|
|
6758
6751
|
default:
|
|
6759
6752
|
throw new Error(`${label}.kind must be unbound or method_bound`);
|
|
@@ -7191,10 +7184,10 @@ function assertUniqueRecipientFamilies(values) {
|
|
|
7191
7184
|
}
|
|
7192
7185
|
}
|
|
7193
7186
|
function parseWalletKey(value) {
|
|
7194
|
-
const
|
|
7195
|
-
if (!
|
|
7196
|
-
throw new Error(
|
|
7197
|
-
return
|
|
7187
|
+
const parsed = parseWalletKeyId(value);
|
|
7188
|
+
if (!parsed.ok)
|
|
7189
|
+
throw new Error(parsed.error.message);
|
|
7190
|
+
return parsed.value;
|
|
7198
7191
|
}
|
|
7199
7192
|
function parsePreparation(value) {
|
|
7200
7193
|
return parseLinkedDeviceOrdinaryMaterialSourceContributionPreparationV1(value);
|
|
@@ -7482,15 +7475,15 @@ function ordinarySignerPackageForPreparation(committed, preparation) {
|
|
|
7482
7475
|
if (!committed.signerPackages.ed25519) {
|
|
7483
7476
|
throw new Error("ordinary Ed25519 signer package is missing");
|
|
7484
7477
|
}
|
|
7485
|
-
const
|
|
7478
|
+
const packageValue = committed.signerPackages.ed25519;
|
|
7486
7479
|
const activation = preparation.targetMaterialActivation;
|
|
7487
|
-
if (!mpcMaterialActivationRefsEqual(activation,
|
|
7480
|
+
if (!mpcMaterialActivationRefsEqual(activation, packageValue.materialActivation)) {
|
|
7488
7481
|
throw new Error("ordinary Ed25519 signer package activation reference changed");
|
|
7489
7482
|
}
|
|
7490
|
-
if (
|
|
7483
|
+
if (packageValue.participantIds[0] !== preparation.participantIds[0] || packageValue.participantIds[1] !== preparation.participantIds[1]) {
|
|
7491
7484
|
throw new Error("ordinary Ed25519 signer package participant ids changed");
|
|
7492
7485
|
}
|
|
7493
|
-
return { keyFamily: "ed25519", package:
|
|
7486
|
+
return { keyFamily: "ed25519", package: packageValue };
|
|
7494
7487
|
}
|
|
7495
7488
|
if (!committed.signerPackages.ecdsa) {
|
|
7496
7489
|
throw new Error("ordinary ECDSA signer package is missing");
|
|
@@ -7729,10 +7722,10 @@ function parseDigest2(value, label) {
|
|
|
7729
7722
|
}
|
|
7730
7723
|
}
|
|
7731
7724
|
function parseSessionId2(value) {
|
|
7732
|
-
const
|
|
7733
|
-
if (!
|
|
7734
|
-
throw new Error(
|
|
7735
|
-
return
|
|
7725
|
+
const parsed = parseLinkDeviceSessionId(value);
|
|
7726
|
+
if (!parsed.ok)
|
|
7727
|
+
throw new Error(parsed.error.message);
|
|
7728
|
+
return parsed.value;
|
|
7736
7729
|
}
|
|
7737
7730
|
function parseCanonicalPath2(value) {
|
|
7738
7731
|
const path = requireNonEmptyString3(value, "canonicalPath");
|
|
@@ -7830,8 +7823,8 @@ function parseRequest(value) {
|
|
|
7830
7823
|
};
|
|
7831
7824
|
}
|
|
7832
7825
|
if (isDeviceLinkingSignRequestRecordV1(value)) {
|
|
7833
|
-
const
|
|
7834
|
-
return { kind: "device_linking_request_sign_v1", ...
|
|
7826
|
+
const parsed = parseSignRequest(value);
|
|
7827
|
+
return { kind: "device_linking_request_sign_v1", ...parsed };
|
|
7835
7828
|
}
|
|
7836
7829
|
if (isDeviceLinkingEmailOtpFactorReleaseRequestRecordV1(value)) {
|
|
7837
7830
|
if (value.kind !== "device_linking_email_otp_factor_release_open_v1") {
|