@seams/wallet 0.5.1 → 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 +8804 -55
- package/dist/esm/sdk/halo-border.js +8887 -8
- package/dist/esm/sdk/{host-BqwEYhX0.js → host-DNmO0eve.js} +2 -2
- package/dist/esm/sdk/passkey-halo-loading.js +8850 -27
- 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 +9568 -206
- package/dist/esm/sdk/w3a-tx-confirmer.js +8335 -206
- 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 +8804 -55
- package/dist/public/sdk/halo-border.js +8887 -8
- package/dist/public/sdk/{host-BqwEYhX0.js → host-DNmO0eve.js} +2 -2
- package/dist/public/sdk/passkey-halo-loading.js +8850 -27
- 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 +9568 -206
- package/dist/public/sdk/w3a-tx-confirmer.js +8335 -206
- 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 +8603 -3
- package/dist/public/sdk/workers/ecdsa-derivation-client.worker.js +12320 -1
- package/dist/public/sdk/workers/ecdsa-online-client.worker.js +623 -1
- package/dist/public/sdk/workers/ecdsa-presign-client.worker.js +1276 -1
- package/dist/public/sdk/workers/email-otp.worker.js +15653 -7
- package/dist/public/sdk/workers/email_otp_runtime.js +39 -3
- package/dist/public/sdk/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/evm-crypto.worker.js +1157 -5
- 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 +1631 -2
- package/dist/public/sdk/workers/near_signer.wasm +0 -0
- package/dist/public/sdk/workers/passkey-confirm.worker.js +606 -1
- package/dist/public/sdk/workers/passkey-mpc-export.worker.js +5406 -2
- package/dist/public/sdk/workers/passkey-mpc-session.worker.js +1717 -1
- 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 +874 -4
- package/dist/public/sdk/workers/shamir3pass_runtime.js +84 -31
- package/dist/public/sdk/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/public/sdk/workers/tempo-signer.worker.js +987 -5
- 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 +8603 -3
- package/dist/workers/ecdsa-derivation-client.worker.js +12320 -1
- package/dist/workers/ecdsa-online-client.worker.js +623 -1
- package/dist/workers/ecdsa-presign-client.worker.js +1276 -1
- package/dist/workers/email-otp.worker.js +15653 -7
- package/dist/workers/email_otp_runtime.js +39 -3
- package/dist/workers/email_otp_runtime_bg.wasm +0 -0
- package/dist/workers/evm-crypto.worker.js +1157 -5
- package/dist/workers/evm_crypto.wasm +0 -0
- package/dist/workers/evm_crypto_bg.wasm +0 -0
- package/dist/workers/near-signer.worker.js +1631 -2
- package/dist/workers/near_signer.wasm +0 -0
- package/dist/workers/passkey-confirm.worker.js +606 -1
- package/dist/workers/passkey-mpc-export.worker.js +5406 -2
- package/dist/workers/passkey-mpc-session.worker.js +1717 -1
- 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 +874 -4
- package/dist/workers/shamir3pass_runtime.js +84 -31
- package/dist/workers/shamir3pass_runtime_bg.wasm +0 -0
- package/dist/workers/tempo-signer.worker.js +987 -5
- 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 +5 -2
- package/LICENSE +0 -21
|
@@ -1,11 +1,1163 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
// ../../wasm/evm_crypto/pkg/evm_crypto.js
|
|
2
|
+
function add_secp256k1_public_keys_33(left33, right33) {
|
|
3
|
+
const ptr0 = passArray8ToWasm0(left33, wasm.__wbindgen_malloc);
|
|
4
|
+
const len0 = WASM_VECTOR_LEN;
|
|
5
|
+
const ptr1 = passArray8ToWasm0(right33, wasm.__wbindgen_malloc);
|
|
6
|
+
const len1 = WASM_VECTOR_LEN;
|
|
7
|
+
const ret = wasm.add_secp256k1_public_keys_33(ptr0, len0, ptr1, len1);
|
|
8
|
+
if (ret[3]) {
|
|
9
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
10
|
+
}
|
|
11
|
+
var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
12
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
13
|
+
return v3;
|
|
14
|
+
}
|
|
15
|
+
function build_webauthn_p256_signature(challenge32, authenticator_data, client_data_json, signature_der, pub_key_x32, pub_key_y32) {
|
|
16
|
+
const ptr0 = passArray8ToWasm0(challenge32, wasm.__wbindgen_malloc);
|
|
17
|
+
const len0 = WASM_VECTOR_LEN;
|
|
18
|
+
const ptr1 = passArray8ToWasm0(authenticator_data, wasm.__wbindgen_malloc);
|
|
19
|
+
const len1 = WASM_VECTOR_LEN;
|
|
20
|
+
const ptr2 = passArray8ToWasm0(client_data_json, wasm.__wbindgen_malloc);
|
|
21
|
+
const len2 = WASM_VECTOR_LEN;
|
|
22
|
+
const ptr3 = passArray8ToWasm0(signature_der, wasm.__wbindgen_malloc);
|
|
23
|
+
const len3 = WASM_VECTOR_LEN;
|
|
24
|
+
const ptr4 = passArray8ToWasm0(pub_key_x32, wasm.__wbindgen_malloc);
|
|
25
|
+
const len4 = WASM_VECTOR_LEN;
|
|
26
|
+
const ptr5 = passArray8ToWasm0(pub_key_y32, wasm.__wbindgen_malloc);
|
|
27
|
+
const len5 = WASM_VECTOR_LEN;
|
|
28
|
+
const ret = wasm.build_webauthn_p256_signature(ptr0, len0, ptr1, len1, ptr2, len2, ptr3, len3, ptr4, len4, ptr5, len5);
|
|
29
|
+
if (ret[3]) {
|
|
30
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
31
|
+
}
|
|
32
|
+
var v7 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
33
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
34
|
+
return v7;
|
|
35
|
+
}
|
|
36
|
+
function compute_eip1559_tx_hash(tx) {
|
|
37
|
+
const ret = wasm.compute_eip1559_tx_hash(tx);
|
|
38
|
+
if (ret[3]) {
|
|
39
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
40
|
+
}
|
|
41
|
+
var v1 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
42
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
43
|
+
return v1;
|
|
44
|
+
}
|
|
45
|
+
function decode_cose_p256_public_key(cose_public_key) {
|
|
46
|
+
const ptr0 = passArray8ToWasm0(cose_public_key, wasm.__wbindgen_malloc);
|
|
47
|
+
const len0 = WASM_VECTOR_LEN;
|
|
48
|
+
const ret = wasm.decode_cose_p256_public_key(ptr0, len0);
|
|
49
|
+
if (ret[3]) {
|
|
50
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
51
|
+
}
|
|
52
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
53
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
54
|
+
return v2;
|
|
55
|
+
}
|
|
56
|
+
function encode_eip1559_signed_tx_from_signature65(tx, signature65) {
|
|
57
|
+
const ptr0 = passArray8ToWasm0(signature65, wasm.__wbindgen_malloc);
|
|
58
|
+
const len0 = WASM_VECTOR_LEN;
|
|
59
|
+
const ret = wasm.encode_eip1559_signed_tx_from_signature65(tx, ptr0, len0);
|
|
60
|
+
if (ret[3]) {
|
|
61
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
62
|
+
}
|
|
63
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
64
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
65
|
+
return v2;
|
|
66
|
+
}
|
|
67
|
+
function init_evm_crypto() {
|
|
68
|
+
wasm.init_evm_crypto();
|
|
69
|
+
}
|
|
70
|
+
function secp256k1_private_key_32_to_public_key_33(private_key32) {
|
|
71
|
+
const ptr0 = passArray8ToWasm0(private_key32, wasm.__wbindgen_malloc);
|
|
72
|
+
const len0 = WASM_VECTOR_LEN;
|
|
73
|
+
const ret = wasm.secp256k1_private_key_32_to_public_key_33(ptr0, len0);
|
|
74
|
+
if (ret[3]) {
|
|
75
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
76
|
+
}
|
|
77
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
78
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
79
|
+
return v2;
|
|
80
|
+
}
|
|
81
|
+
function sign_secp256k1_recoverable(digest32, private_key32) {
|
|
82
|
+
const ptr0 = passArray8ToWasm0(digest32, wasm.__wbindgen_malloc);
|
|
83
|
+
const len0 = WASM_VECTOR_LEN;
|
|
84
|
+
const ptr1 = passArray8ToWasm0(private_key32, wasm.__wbindgen_malloc);
|
|
85
|
+
const len1 = WASM_VECTOR_LEN;
|
|
86
|
+
const ret = wasm.sign_secp256k1_recoverable(ptr0, len0, ptr1, len1);
|
|
87
|
+
if (ret[3]) {
|
|
88
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
89
|
+
}
|
|
90
|
+
var v3 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
91
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
92
|
+
return v3;
|
|
93
|
+
}
|
|
94
|
+
function validate_secp256k1_public_key_33(public_key33) {
|
|
95
|
+
const ptr0 = passArray8ToWasm0(public_key33, wasm.__wbindgen_malloc);
|
|
96
|
+
const len0 = WASM_VECTOR_LEN;
|
|
97
|
+
const ret = wasm.validate_secp256k1_public_key_33(ptr0, len0);
|
|
98
|
+
if (ret[3]) {
|
|
99
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
100
|
+
}
|
|
101
|
+
var v2 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
102
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
103
|
+
return v2;
|
|
104
|
+
}
|
|
105
|
+
function verify_secp256k1_recoverable_signature_against_public_key_33(digest32, signature65, public_key33) {
|
|
106
|
+
const ptr0 = passArray8ToWasm0(digest32, wasm.__wbindgen_malloc);
|
|
107
|
+
const len0 = WASM_VECTOR_LEN;
|
|
108
|
+
const ptr1 = passArray8ToWasm0(signature65, wasm.__wbindgen_malloc);
|
|
109
|
+
const len1 = WASM_VECTOR_LEN;
|
|
110
|
+
const ptr2 = passArray8ToWasm0(public_key33, wasm.__wbindgen_malloc);
|
|
111
|
+
const len2 = WASM_VECTOR_LEN;
|
|
112
|
+
const ret = wasm.verify_secp256k1_recoverable_signature_against_public_key_33(ptr0, len0, ptr1, len1, ptr2, len2);
|
|
113
|
+
if (ret[3]) {
|
|
114
|
+
throw takeFromExternrefTable0(ret[2]);
|
|
115
|
+
}
|
|
116
|
+
var v4 = getArrayU8FromWasm0(ret[0], ret[1]).slice();
|
|
117
|
+
wasm.__wbindgen_free(ret[0], ret[1] * 1, 1);
|
|
118
|
+
return v4;
|
|
119
|
+
}
|
|
120
|
+
function __wbg_get_imports() {
|
|
121
|
+
const import0 = {
|
|
122
|
+
__proto__: null,
|
|
123
|
+
__wbg_Error_8c4e43fe74559d73: function() {
|
|
124
|
+
return logError(function(arg0, arg1) {
|
|
125
|
+
const ret = Error(getStringFromWasm0(arg0, arg1));
|
|
126
|
+
return ret;
|
|
127
|
+
}, arguments);
|
|
128
|
+
},
|
|
129
|
+
__wbg_Number_04624de7d0e8332d: function() {
|
|
130
|
+
return logError(function(arg0) {
|
|
131
|
+
const ret = Number(arg0);
|
|
132
|
+
return ret;
|
|
133
|
+
}, arguments);
|
|
134
|
+
},
|
|
135
|
+
__wbg_String_8f0eb39a4a4c2f66: function() {
|
|
136
|
+
return logError(function(arg0, arg1) {
|
|
137
|
+
const ret = String(arg1);
|
|
138
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
139
|
+
const len1 = WASM_VECTOR_LEN;
|
|
140
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
141
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
142
|
+
}, arguments);
|
|
143
|
+
},
|
|
144
|
+
__wbg___wbindgen_bigint_get_as_i64_8fcf4ce7f1ca72a2: function(arg0, arg1) {
|
|
145
|
+
const v = arg1;
|
|
146
|
+
const ret = typeof v === "bigint" ? v : undefined;
|
|
147
|
+
if (!isLikeNone(ret)) {
|
|
148
|
+
_assertBigInt(ret);
|
|
149
|
+
}
|
|
150
|
+
getDataViewMemory0().setBigInt64(arg0 + 8 * 1, isLikeNone(ret) ? BigInt(0) : ret, true);
|
|
151
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
152
|
+
},
|
|
153
|
+
__wbg___wbindgen_boolean_get_bbbb1c18aa2f5e25: function(arg0) {
|
|
154
|
+
const v = arg0;
|
|
155
|
+
const ret = typeof v === "boolean" ? v : undefined;
|
|
156
|
+
if (!isLikeNone(ret)) {
|
|
157
|
+
_assertBoolean(ret);
|
|
158
|
+
}
|
|
159
|
+
return isLikeNone(ret) ? 16777215 : ret ? 1 : 0;
|
|
160
|
+
},
|
|
161
|
+
__wbg___wbindgen_debug_string_0bc8482c6e3508ae: function(arg0, arg1) {
|
|
162
|
+
const ret = debugString(arg1);
|
|
163
|
+
const ptr1 = passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
164
|
+
const len1 = WASM_VECTOR_LEN;
|
|
165
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
166
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
167
|
+
},
|
|
168
|
+
__wbg___wbindgen_in_47fa6863be6f2f25: function(arg0, arg1) {
|
|
169
|
+
const ret = arg0 in arg1;
|
|
170
|
+
_assertBoolean(ret);
|
|
171
|
+
return ret;
|
|
172
|
+
},
|
|
173
|
+
__wbg___wbindgen_is_bigint_31b12575b56f32fc: function(arg0) {
|
|
174
|
+
const ret = typeof arg0 === "bigint";
|
|
175
|
+
_assertBoolean(ret);
|
|
176
|
+
return ret;
|
|
177
|
+
},
|
|
178
|
+
__wbg___wbindgen_is_function_0095a73b8b156f76: function(arg0) {
|
|
179
|
+
const ret = typeof arg0 === "function";
|
|
180
|
+
_assertBoolean(ret);
|
|
181
|
+
return ret;
|
|
182
|
+
},
|
|
183
|
+
__wbg___wbindgen_is_object_5ae8e5880f2c1fbd: function(arg0) {
|
|
184
|
+
const val = arg0;
|
|
185
|
+
const ret = typeof val === "object" && val !== null;
|
|
186
|
+
_assertBoolean(ret);
|
|
187
|
+
return ret;
|
|
188
|
+
},
|
|
189
|
+
__wbg___wbindgen_is_undefined_9e4d92534c42d778: function(arg0) {
|
|
190
|
+
const ret = arg0 === undefined;
|
|
191
|
+
_assertBoolean(ret);
|
|
192
|
+
return ret;
|
|
193
|
+
},
|
|
194
|
+
__wbg___wbindgen_jsval_eq_11888390b0186270: function(arg0, arg1) {
|
|
195
|
+
const ret = arg0 === arg1;
|
|
196
|
+
_assertBoolean(ret);
|
|
197
|
+
return ret;
|
|
198
|
+
},
|
|
199
|
+
__wbg___wbindgen_jsval_loose_eq_9dd77d8cd6671811: function(arg0, arg1) {
|
|
200
|
+
const ret = arg0 == arg1;
|
|
201
|
+
_assertBoolean(ret);
|
|
202
|
+
return ret;
|
|
203
|
+
},
|
|
204
|
+
__wbg___wbindgen_number_get_8ff4255516ccad3e: function(arg0, arg1) {
|
|
205
|
+
const obj = arg1;
|
|
206
|
+
const ret = typeof obj === "number" ? obj : undefined;
|
|
207
|
+
if (!isLikeNone(ret)) {
|
|
208
|
+
_assertNum(ret);
|
|
209
|
+
}
|
|
210
|
+
getDataViewMemory0().setFloat64(arg0 + 8 * 1, isLikeNone(ret) ? 0 : ret, true);
|
|
211
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, !isLikeNone(ret), true);
|
|
212
|
+
},
|
|
213
|
+
__wbg___wbindgen_string_get_72fb696202c56729: function(arg0, arg1) {
|
|
214
|
+
const obj = arg1;
|
|
215
|
+
const ret = typeof obj === "string" ? obj : undefined;
|
|
216
|
+
var ptr1 = isLikeNone(ret) ? 0 : passStringToWasm0(ret, wasm.__wbindgen_malloc, wasm.__wbindgen_realloc);
|
|
217
|
+
var len1 = WASM_VECTOR_LEN;
|
|
218
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 1, len1, true);
|
|
219
|
+
getDataViewMemory0().setInt32(arg0 + 4 * 0, ptr1, true);
|
|
220
|
+
},
|
|
221
|
+
__wbg___wbindgen_throw_be289d5034ed271b: function(arg0, arg1) {
|
|
222
|
+
throw new Error(getStringFromWasm0(arg0, arg1));
|
|
223
|
+
},
|
|
224
|
+
__wbg_call_389efe28435a9388: function() {
|
|
225
|
+
return handleError(function(arg0, arg1) {
|
|
226
|
+
const ret = arg0.call(arg1);
|
|
227
|
+
return ret;
|
|
228
|
+
}, arguments);
|
|
229
|
+
},
|
|
230
|
+
__wbg_done_57b39ecd9addfe81: function() {
|
|
231
|
+
return logError(function(arg0) {
|
|
232
|
+
const ret = arg0.done;
|
|
233
|
+
_assertBoolean(ret);
|
|
234
|
+
return ret;
|
|
235
|
+
}, arguments);
|
|
236
|
+
},
|
|
237
|
+
__wbg_get_9b94d73e6221f75c: function() {
|
|
238
|
+
return logError(function(arg0, arg1) {
|
|
239
|
+
const ret = arg0[arg1 >>> 0];
|
|
240
|
+
return ret;
|
|
241
|
+
}, arguments);
|
|
242
|
+
},
|
|
243
|
+
__wbg_get_b3ed3ad4be2bc8ac: function() {
|
|
244
|
+
return handleError(function(arg0, arg1) {
|
|
245
|
+
const ret = Reflect.get(arg0, arg1);
|
|
246
|
+
return ret;
|
|
247
|
+
}, arguments);
|
|
248
|
+
},
|
|
249
|
+
__wbg_get_with_ref_key_1dc361bd10053bfe: function() {
|
|
250
|
+
return logError(function(arg0, arg1) {
|
|
251
|
+
const ret = arg0[arg1];
|
|
252
|
+
return ret;
|
|
253
|
+
}, arguments);
|
|
254
|
+
},
|
|
255
|
+
__wbg_instanceof_ArrayBuffer_c367199e2fa2aa04: function() {
|
|
256
|
+
return logError(function(arg0) {
|
|
257
|
+
let result;
|
|
258
|
+
try {
|
|
259
|
+
result = arg0 instanceof ArrayBuffer;
|
|
260
|
+
} catch (_) {
|
|
261
|
+
result = false;
|
|
262
|
+
}
|
|
263
|
+
const ret = result;
|
|
264
|
+
_assertBoolean(ret);
|
|
265
|
+
return ret;
|
|
266
|
+
}, arguments);
|
|
267
|
+
},
|
|
268
|
+
__wbg_instanceof_Uint8Array_9b9075935c74707c: function() {
|
|
269
|
+
return logError(function(arg0) {
|
|
270
|
+
let result;
|
|
271
|
+
try {
|
|
272
|
+
result = arg0 instanceof Uint8Array;
|
|
273
|
+
} catch (_) {
|
|
274
|
+
result = false;
|
|
275
|
+
}
|
|
276
|
+
const ret = result;
|
|
277
|
+
_assertBoolean(ret);
|
|
278
|
+
return ret;
|
|
279
|
+
}, arguments);
|
|
280
|
+
},
|
|
281
|
+
__wbg_isArray_d314bb98fcf08331: function() {
|
|
282
|
+
return logError(function(arg0) {
|
|
283
|
+
const ret = Array.isArray(arg0);
|
|
284
|
+
_assertBoolean(ret);
|
|
285
|
+
return ret;
|
|
286
|
+
}, arguments);
|
|
287
|
+
},
|
|
288
|
+
__wbg_isSafeInteger_bfbc7332a9768d2a: function() {
|
|
289
|
+
return logError(function(arg0) {
|
|
290
|
+
const ret = Number.isSafeInteger(arg0);
|
|
291
|
+
_assertBoolean(ret);
|
|
292
|
+
return ret;
|
|
293
|
+
}, arguments);
|
|
294
|
+
},
|
|
295
|
+
__wbg_iterator_6ff6560ca1568e55: function() {
|
|
296
|
+
return logError(function() {
|
|
297
|
+
const ret = Symbol.iterator;
|
|
298
|
+
return ret;
|
|
299
|
+
}, arguments);
|
|
300
|
+
},
|
|
301
|
+
__wbg_length_32ed9a279acd054c: function() {
|
|
302
|
+
return logError(function(arg0) {
|
|
303
|
+
const ret = arg0.length;
|
|
304
|
+
_assertNum(ret);
|
|
305
|
+
return ret;
|
|
306
|
+
}, arguments);
|
|
307
|
+
},
|
|
308
|
+
__wbg_length_35a7bace40f36eac: function() {
|
|
309
|
+
return logError(function(arg0) {
|
|
310
|
+
const ret = arg0.length;
|
|
311
|
+
_assertNum(ret);
|
|
312
|
+
return ret;
|
|
313
|
+
}, arguments);
|
|
314
|
+
},
|
|
315
|
+
__wbg_new_361308b2356cecd0: function() {
|
|
316
|
+
return logError(function() {
|
|
317
|
+
const ret = new Object;
|
|
318
|
+
return ret;
|
|
319
|
+
}, arguments);
|
|
320
|
+
},
|
|
321
|
+
__wbg_new_dd2b680c8bf6ae29: function() {
|
|
322
|
+
return logError(function(arg0) {
|
|
323
|
+
const ret = new Uint8Array(arg0);
|
|
324
|
+
return ret;
|
|
325
|
+
}, arguments);
|
|
326
|
+
},
|
|
327
|
+
__wbg_next_3482f54c49e8af19: function() {
|
|
328
|
+
return handleError(function(arg0) {
|
|
329
|
+
const ret = arg0.next();
|
|
330
|
+
return ret;
|
|
331
|
+
}, arguments);
|
|
332
|
+
},
|
|
333
|
+
__wbg_next_418f80d8f5303233: function() {
|
|
334
|
+
return logError(function(arg0) {
|
|
335
|
+
const ret = arg0.next;
|
|
336
|
+
return ret;
|
|
337
|
+
}, arguments);
|
|
338
|
+
},
|
|
339
|
+
__wbg_prototypesetcall_bdcdcc5842e4d77d: function() {
|
|
340
|
+
return logError(function(arg0, arg1, arg2) {
|
|
341
|
+
Uint8Array.prototype.set.call(getArrayU8FromWasm0(arg0, arg1), arg2);
|
|
342
|
+
}, arguments);
|
|
343
|
+
},
|
|
344
|
+
__wbg_set_3f1d0b984ed272ed: function() {
|
|
345
|
+
return logError(function(arg0, arg1, arg2) {
|
|
346
|
+
arg0[arg1] = arg2;
|
|
347
|
+
}, arguments);
|
|
348
|
+
},
|
|
349
|
+
__wbg_value_0546255b415e96c1: function() {
|
|
350
|
+
return logError(function(arg0) {
|
|
351
|
+
const ret = arg0.value;
|
|
352
|
+
return ret;
|
|
353
|
+
}, arguments);
|
|
354
|
+
},
|
|
355
|
+
__wbindgen_cast_0000000000000001: function() {
|
|
356
|
+
return logError(function(arg0, arg1) {
|
|
357
|
+
const ret = getStringFromWasm0(arg0, arg1);
|
|
358
|
+
return ret;
|
|
359
|
+
}, arguments);
|
|
360
|
+
},
|
|
361
|
+
__wbindgen_cast_0000000000000002: function() {
|
|
362
|
+
return logError(function(arg0) {
|
|
363
|
+
const ret = BigInt.asUintN(64, arg0);
|
|
364
|
+
return ret;
|
|
365
|
+
}, arguments);
|
|
366
|
+
},
|
|
367
|
+
__wbindgen_init_externref_table: function() {
|
|
368
|
+
const table = wasm.__wbindgen_externrefs;
|
|
369
|
+
const offset = table.grow(4);
|
|
370
|
+
table.set(0, undefined);
|
|
371
|
+
table.set(offset + 0, undefined);
|
|
372
|
+
table.set(offset + 1, null);
|
|
373
|
+
table.set(offset + 2, true);
|
|
374
|
+
table.set(offset + 3, false);
|
|
375
|
+
}
|
|
376
|
+
};
|
|
377
|
+
return {
|
|
378
|
+
__proto__: null,
|
|
379
|
+
"./evm_crypto_bg.js": import0
|
|
380
|
+
};
|
|
381
|
+
}
|
|
382
|
+
function addToExternrefTable0(obj) {
|
|
383
|
+
const idx = wasm.__externref_table_alloc();
|
|
384
|
+
wasm.__wbindgen_externrefs.set(idx, obj);
|
|
385
|
+
return idx;
|
|
386
|
+
}
|
|
387
|
+
function _assertBigInt(n) {
|
|
388
|
+
if (typeof n !== "bigint")
|
|
389
|
+
throw new Error(`expected a bigint argument, found ${typeof n}`);
|
|
390
|
+
}
|
|
391
|
+
function _assertBoolean(n) {
|
|
392
|
+
if (typeof n !== "boolean") {
|
|
393
|
+
throw new Error(`expected a boolean argument, found ${typeof n}`);
|
|
394
|
+
}
|
|
395
|
+
}
|
|
396
|
+
function _assertNum(n) {
|
|
397
|
+
if (typeof n !== "number")
|
|
398
|
+
throw new Error(`expected a number argument, found ${typeof n}`);
|
|
399
|
+
}
|
|
400
|
+
function debugString(val) {
|
|
401
|
+
const type = typeof val;
|
|
402
|
+
if (type == "number" || type == "boolean" || val == null) {
|
|
403
|
+
return `${val}`;
|
|
404
|
+
}
|
|
405
|
+
if (type == "string") {
|
|
406
|
+
return `"${val}"`;
|
|
407
|
+
}
|
|
408
|
+
if (type == "symbol") {
|
|
409
|
+
const description = val.description;
|
|
410
|
+
if (description == null) {
|
|
411
|
+
return "Symbol";
|
|
412
|
+
} else {
|
|
413
|
+
return `Symbol(${description})`;
|
|
414
|
+
}
|
|
415
|
+
}
|
|
416
|
+
if (type == "function") {
|
|
417
|
+
const name = val.name;
|
|
418
|
+
if (typeof name == "string" && name.length > 0) {
|
|
419
|
+
return `Function(${name})`;
|
|
420
|
+
} else {
|
|
421
|
+
return "Function";
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
if (Array.isArray(val)) {
|
|
425
|
+
const length = val.length;
|
|
426
|
+
let debug = "[";
|
|
427
|
+
if (length > 0) {
|
|
428
|
+
debug += debugString(val[0]);
|
|
429
|
+
}
|
|
430
|
+
for (let i = 1;i < length; i++) {
|
|
431
|
+
debug += ", " + debugString(val[i]);
|
|
432
|
+
}
|
|
433
|
+
debug += "]";
|
|
434
|
+
return debug;
|
|
435
|
+
}
|
|
436
|
+
const builtInMatches = /\[object ([^\]]+)\]/.exec(toString.call(val));
|
|
437
|
+
let className;
|
|
438
|
+
if (builtInMatches && builtInMatches.length > 1) {
|
|
439
|
+
className = builtInMatches[1];
|
|
440
|
+
} else {
|
|
441
|
+
return toString.call(val);
|
|
442
|
+
}
|
|
443
|
+
if (className == "Object") {
|
|
444
|
+
try {
|
|
445
|
+
return "Object(" + JSON.stringify(val) + ")";
|
|
446
|
+
} catch (_) {
|
|
447
|
+
return "Object";
|
|
448
|
+
}
|
|
449
|
+
}
|
|
450
|
+
if (val instanceof Error) {
|
|
451
|
+
return `${val.name}: ${val.message}
|
|
452
|
+
${val.stack}`;
|
|
453
|
+
}
|
|
454
|
+
return className;
|
|
455
|
+
}
|
|
456
|
+
function getArrayU8FromWasm0(ptr, len) {
|
|
457
|
+
ptr = ptr >>> 0;
|
|
458
|
+
return getUint8ArrayMemory0().subarray(ptr / 1, ptr / 1 + len);
|
|
459
|
+
}
|
|
460
|
+
var cachedDataViewMemory0 = null;
|
|
461
|
+
function getDataViewMemory0() {
|
|
462
|
+
if (cachedDataViewMemory0 === null || cachedDataViewMemory0.buffer.detached === true || cachedDataViewMemory0.buffer.detached === undefined && cachedDataViewMemory0.buffer !== wasm.memory.buffer) {
|
|
463
|
+
cachedDataViewMemory0 = new DataView(wasm.memory.buffer);
|
|
464
|
+
}
|
|
465
|
+
return cachedDataViewMemory0;
|
|
466
|
+
}
|
|
467
|
+
function getStringFromWasm0(ptr, len) {
|
|
468
|
+
ptr = ptr >>> 0;
|
|
469
|
+
return decodeText(ptr, len);
|
|
470
|
+
}
|
|
471
|
+
var cachedUint8ArrayMemory0 = null;
|
|
472
|
+
function getUint8ArrayMemory0() {
|
|
473
|
+
if (cachedUint8ArrayMemory0 === null || cachedUint8ArrayMemory0.byteLength === 0) {
|
|
474
|
+
cachedUint8ArrayMemory0 = new Uint8Array(wasm.memory.buffer);
|
|
475
|
+
}
|
|
476
|
+
return cachedUint8ArrayMemory0;
|
|
477
|
+
}
|
|
478
|
+
function handleError(f, args) {
|
|
479
|
+
try {
|
|
480
|
+
return f.apply(this, args);
|
|
481
|
+
} catch (e) {
|
|
482
|
+
const idx = addToExternrefTable0(e);
|
|
483
|
+
wasm.__wbindgen_exn_store(idx);
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
function isLikeNone(x) {
|
|
487
|
+
return x === undefined || x === null;
|
|
488
|
+
}
|
|
489
|
+
function logError(f, args) {
|
|
490
|
+
try {
|
|
491
|
+
return f.apply(this, args);
|
|
492
|
+
} catch (e) {
|
|
493
|
+
let error = function() {
|
|
494
|
+
try {
|
|
495
|
+
return e instanceof Error ? `${e.message}
|
|
496
|
+
|
|
497
|
+
Stack:
|
|
498
|
+
${e.stack}` : e.toString();
|
|
499
|
+
} catch (_) {
|
|
500
|
+
return "<failed to stringify thrown value>";
|
|
501
|
+
}
|
|
502
|
+
}();
|
|
503
|
+
console.error("wasm-bindgen: imported JS function that was not marked as `catch` threw an error:", error);
|
|
504
|
+
throw e;
|
|
505
|
+
}
|
|
506
|
+
}
|
|
507
|
+
function passArray8ToWasm0(arg, malloc) {
|
|
508
|
+
const ptr = malloc(arg.length * 1, 1) >>> 0;
|
|
509
|
+
getUint8ArrayMemory0().set(arg, ptr / 1);
|
|
510
|
+
WASM_VECTOR_LEN = arg.length;
|
|
511
|
+
return ptr;
|
|
512
|
+
}
|
|
513
|
+
function passStringToWasm0(arg, malloc, realloc) {
|
|
514
|
+
if (typeof arg !== "string")
|
|
515
|
+
throw new Error(`expected a string argument, found ${typeof arg}`);
|
|
516
|
+
if (realloc === undefined) {
|
|
517
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
518
|
+
const ptr = malloc(buf.length, 1) >>> 0;
|
|
519
|
+
getUint8ArrayMemory0().subarray(ptr, ptr + buf.length).set(buf);
|
|
520
|
+
WASM_VECTOR_LEN = buf.length;
|
|
521
|
+
return ptr;
|
|
522
|
+
}
|
|
523
|
+
let len = arg.length;
|
|
524
|
+
let ptr = malloc(len, 1) >>> 0;
|
|
525
|
+
const mem = getUint8ArrayMemory0();
|
|
526
|
+
let offset = 0;
|
|
527
|
+
for (;offset < len; offset++) {
|
|
528
|
+
const code = arg.charCodeAt(offset);
|
|
529
|
+
if (code > 127)
|
|
530
|
+
break;
|
|
531
|
+
mem[ptr + offset] = code;
|
|
532
|
+
}
|
|
533
|
+
if (offset !== len) {
|
|
534
|
+
if (offset !== 0) {
|
|
535
|
+
arg = arg.slice(offset);
|
|
536
|
+
}
|
|
537
|
+
ptr = realloc(ptr, len, len = offset + arg.length * 3, 1) >>> 0;
|
|
538
|
+
const view = getUint8ArrayMemory0().subarray(ptr + offset, ptr + len);
|
|
539
|
+
const ret = cachedTextEncoder.encodeInto(arg, view);
|
|
540
|
+
if (ret.read !== arg.length)
|
|
541
|
+
throw new Error("failed to pass whole string");
|
|
542
|
+
offset += ret.written;
|
|
543
|
+
ptr = realloc(ptr, len, offset, 1) >>> 0;
|
|
544
|
+
}
|
|
545
|
+
WASM_VECTOR_LEN = offset;
|
|
546
|
+
return ptr;
|
|
547
|
+
}
|
|
548
|
+
function takeFromExternrefTable0(idx) {
|
|
549
|
+
const value = wasm.__wbindgen_externrefs.get(idx);
|
|
550
|
+
wasm.__externref_table_dealloc(idx);
|
|
551
|
+
return value;
|
|
552
|
+
}
|
|
553
|
+
var cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
|
|
554
|
+
cachedTextDecoder.decode();
|
|
555
|
+
var MAX_SAFARI_DECODE_BYTES = 2146435072;
|
|
556
|
+
var numBytesDecoded = 0;
|
|
557
|
+
function decodeText(ptr, len) {
|
|
558
|
+
numBytesDecoded += len;
|
|
559
|
+
if (numBytesDecoded >= MAX_SAFARI_DECODE_BYTES) {
|
|
560
|
+
cachedTextDecoder = new TextDecoder("utf-8", { ignoreBOM: true, fatal: true });
|
|
561
|
+
cachedTextDecoder.decode();
|
|
562
|
+
numBytesDecoded = len;
|
|
563
|
+
}
|
|
564
|
+
return cachedTextDecoder.decode(getUint8ArrayMemory0().subarray(ptr, ptr + len));
|
|
565
|
+
}
|
|
566
|
+
var cachedTextEncoder = new TextEncoder;
|
|
567
|
+
if (!("encodeInto" in cachedTextEncoder)) {
|
|
568
|
+
cachedTextEncoder.encodeInto = function(arg, view) {
|
|
569
|
+
const buf = cachedTextEncoder.encode(arg);
|
|
570
|
+
view.set(buf);
|
|
571
|
+
return {
|
|
572
|
+
read: arg.length,
|
|
573
|
+
written: buf.length
|
|
574
|
+
};
|
|
575
|
+
};
|
|
576
|
+
}
|
|
577
|
+
var WASM_VECTOR_LEN = 0;
|
|
578
|
+
var wasmModule;
|
|
579
|
+
var wasm;
|
|
580
|
+
function __wbg_finalize_init(instance, module) {
|
|
581
|
+
wasm = instance.exports;
|
|
582
|
+
wasmModule = module;
|
|
583
|
+
cachedDataViewMemory0 = null;
|
|
584
|
+
cachedUint8ArrayMemory0 = null;
|
|
585
|
+
wasm.__wbindgen_start();
|
|
586
|
+
return wasm;
|
|
587
|
+
}
|
|
588
|
+
async function __wbg_load(module, imports) {
|
|
589
|
+
if (typeof Response === "function" && module instanceof Response) {
|
|
590
|
+
if (typeof WebAssembly.instantiateStreaming === "function") {
|
|
591
|
+
try {
|
|
592
|
+
return await WebAssembly.instantiateStreaming(module, imports);
|
|
593
|
+
} catch (e) {
|
|
594
|
+
const validResponse = module.ok && expectedResponseType(module.type);
|
|
595
|
+
if (validResponse && module.headers.get("Content-Type") !== "application/wasm") {
|
|
596
|
+
console.warn("`WebAssembly.instantiateStreaming` failed because your server does not serve Wasm with `application/wasm` MIME type. Falling back to `WebAssembly.instantiate` which is slower. Original error:\n", e);
|
|
597
|
+
} else {
|
|
598
|
+
throw e;
|
|
599
|
+
}
|
|
600
|
+
}
|
|
601
|
+
}
|
|
602
|
+
const bytes = await module.arrayBuffer();
|
|
603
|
+
return await WebAssembly.instantiate(bytes, imports);
|
|
604
|
+
} else {
|
|
605
|
+
const instance = await WebAssembly.instantiate(module, imports);
|
|
606
|
+
if (instance instanceof WebAssembly.Instance) {
|
|
607
|
+
return { instance, module };
|
|
608
|
+
} else {
|
|
609
|
+
return instance;
|
|
610
|
+
}
|
|
611
|
+
}
|
|
612
|
+
function expectedResponseType(type) {
|
|
613
|
+
switch (type) {
|
|
614
|
+
case "basic":
|
|
615
|
+
case "cors":
|
|
616
|
+
case "default":
|
|
617
|
+
return true;
|
|
618
|
+
}
|
|
619
|
+
return false;
|
|
620
|
+
}
|
|
621
|
+
}
|
|
622
|
+
async function __wbg_init(module_or_path) {
|
|
623
|
+
if (wasm !== undefined)
|
|
624
|
+
return wasm;
|
|
625
|
+
if (module_or_path !== undefined) {
|
|
626
|
+
if (Object.getPrototypeOf(module_or_path) === Object.prototype) {
|
|
627
|
+
({ module_or_path } = module_or_path);
|
|
628
|
+
} else {
|
|
629
|
+
console.warn("using deprecated parameters for the initialization function; pass a single object instead");
|
|
630
|
+
}
|
|
631
|
+
}
|
|
632
|
+
if (module_or_path === undefined) {
|
|
633
|
+
module_or_path = new URL("evm_crypto_bg.wasm", import.meta.url);
|
|
634
|
+
}
|
|
635
|
+
const imports = __wbg_get_imports();
|
|
636
|
+
if (typeof module_or_path === "string" || typeof Request === "function" && module_or_path instanceof Request || typeof URL === "function" && module_or_path instanceof URL) {
|
|
637
|
+
module_or_path = fetch(module_or_path);
|
|
638
|
+
}
|
|
639
|
+
const { instance, module } = await __wbg_load(await module_or_path, imports);
|
|
640
|
+
return __wbg_finalize_init(instance, module);
|
|
641
|
+
}
|
|
642
|
+
|
|
643
|
+
// src/core/walletRuntimePaths/base.ts
|
|
644
|
+
var W3A_WALLET_SDK_BASE_KEY = "__W3A_WALLET_SDK_BASE__";
|
|
645
|
+
function getEmbeddedBase() {
|
|
646
|
+
if (typeof window === "undefined")
|
|
647
|
+
return;
|
|
648
|
+
const w = window;
|
|
649
|
+
const v = w[W3A_WALLET_SDK_BASE_KEY];
|
|
650
|
+
return typeof v === "string" && v.length > 0 ? v : undefined;
|
|
651
|
+
}
|
|
652
|
+
|
|
653
|
+
// src/core/walletRuntimePaths/wasm-loader.ts
|
|
654
|
+
function getGlobalSelf() {
|
|
655
|
+
return typeof self !== "undefined" ? self ?? null : null;
|
|
656
|
+
}
|
|
657
|
+
function getGlobalLocationHref() {
|
|
658
|
+
return getGlobalSelf()?.location?.href;
|
|
659
|
+
}
|
|
660
|
+
function getGlobalLocationOrigin() {
|
|
661
|
+
return getGlobalSelf()?.location?.origin;
|
|
662
|
+
}
|
|
663
|
+
function resolveWasmUrl(wasmFilename, workerName, customBaseUrl) {
|
|
664
|
+
if (customBaseUrl) {
|
|
665
|
+
return new URL(wasmFilename, customBaseUrl);
|
|
666
|
+
}
|
|
667
|
+
if (typeof process !== "undefined" && process.env?.WASM_BASE_URL) {
|
|
668
|
+
return new URL(wasmFilename, process.env.WASM_BASE_URL);
|
|
669
|
+
}
|
|
670
|
+
const workerEnvVar = workerName.toUpperCase().replace(/[^A-Z]/g, "_") + "_WASM_BASE_URL";
|
|
671
|
+
if (typeof process !== "undefined" && process.env?.[workerEnvVar]) {
|
|
672
|
+
return new URL(wasmFilename, process.env[workerEnvVar]);
|
|
673
|
+
}
|
|
674
|
+
const globalSelf = getGlobalSelf();
|
|
675
|
+
if (globalSelf?.WASM_BASE_URL) {
|
|
676
|
+
return new URL(wasmFilename, globalSelf.WASM_BASE_URL);
|
|
677
|
+
}
|
|
678
|
+
try {
|
|
679
|
+
const embeddedBase = getEmbeddedBase();
|
|
680
|
+
if (embeddedBase) {
|
|
681
|
+
return new URL(`workers/${wasmFilename}`, embeddedBase);
|
|
682
|
+
}
|
|
683
|
+
} catch {}
|
|
684
|
+
try {
|
|
685
|
+
let metaUrl = null;
|
|
686
|
+
try {
|
|
687
|
+
metaUrl = typeof import.meta !== "undefined" && import.meta?.url ? import.meta.url : null;
|
|
688
|
+
} catch {
|
|
689
|
+
metaUrl = null;
|
|
690
|
+
}
|
|
691
|
+
if (metaUrl) {
|
|
692
|
+
const meta = new URL(metaUrl, getGlobalLocationHref());
|
|
693
|
+
if (meta.protocol === "http:" || meta.protocol === "https:") {
|
|
694
|
+
const sdkSegmentIndex = meta.pathname.indexOf("/sdk/");
|
|
695
|
+
if (sdkSegmentIndex >= 0) {
|
|
696
|
+
const sdkBasePath = meta.pathname.slice(0, sdkSegmentIndex + "/sdk/".length);
|
|
697
|
+
return new URL(`${sdkBasePath}workers/${wasmFilename}`, meta.origin);
|
|
698
|
+
}
|
|
699
|
+
}
|
|
700
|
+
return new URL(`./${wasmFilename}`, meta);
|
|
701
|
+
}
|
|
702
|
+
const baseUrl = getGlobalLocationHref() || "/";
|
|
703
|
+
return new URL(`./${wasmFilename}`, baseUrl);
|
|
704
|
+
} catch {
|
|
705
|
+
return new URL(`/sdk/workers/${wasmFilename}`, getGlobalLocationOrigin() || "/");
|
|
706
|
+
}
|
|
707
|
+
}
|
|
708
|
+
async function initializeWasm(options) {
|
|
709
|
+
const {
|
|
710
|
+
workerName,
|
|
711
|
+
wasmUrl,
|
|
712
|
+
initFunction,
|
|
713
|
+
validateFunction,
|
|
714
|
+
testFunction,
|
|
715
|
+
createFallbackModule,
|
|
716
|
+
timeoutMs = 20000
|
|
717
|
+
} = options;
|
|
718
|
+
const initWithTimeout = async () => {
|
|
719
|
+
try {
|
|
720
|
+
await initFunction({ module_or_path: wasmUrl });
|
|
721
|
+
if (validateFunction)
|
|
722
|
+
await validateFunction();
|
|
723
|
+
if (testFunction)
|
|
724
|
+
await testFunction();
|
|
725
|
+
return true;
|
|
726
|
+
} catch (initError) {
|
|
727
|
+
console.error(`[${workerName}]: WASM initialization failed`);
|
|
728
|
+
const helpfulMessage = `
|
|
729
|
+
${workerName.toUpperCase()} WASM initialization failed. This may be due to:
|
|
4
730
|
1. Server MIME type configuration (WASM files should be served with 'application/wasm')
|
|
5
731
|
2. Network connectivity issues
|
|
6
732
|
3. CORS policy restrictions
|
|
7
733
|
4. Missing WASM files in deployment
|
|
8
734
|
5. SDK packaging problems
|
|
9
735
|
|
|
10
|
-
Original error: ${
|
|
11
|
-
`.trim();
|
|
736
|
+
Original error: ${initError?.message}
|
|
737
|
+
`.trim();
|
|
738
|
+
if (createFallbackModule) {
|
|
739
|
+
console.warn(`[${workerName}]: Creating fallback module due to WASM initialization failure`);
|
|
740
|
+
return createFallbackModule(helpfulMessage);
|
|
741
|
+
}
|
|
742
|
+
throw new Error(helpfulMessage);
|
|
743
|
+
}
|
|
744
|
+
};
|
|
745
|
+
let timeoutId;
|
|
746
|
+
try {
|
|
747
|
+
const result = await Promise.race([
|
|
748
|
+
initWithTimeout(),
|
|
749
|
+
new Promise((_, reject) => {
|
|
750
|
+
timeoutId = setTimeout(() => reject(new Error(`WASM initialization timeout after ${timeoutMs}ms`)), timeoutMs);
|
|
751
|
+
})
|
|
752
|
+
]);
|
|
753
|
+
clearTimeout(timeoutId);
|
|
754
|
+
return result;
|
|
755
|
+
} catch (timeoutError) {
|
|
756
|
+
console.error(`[${workerName}]: WASM initialization failed:`, timeoutError?.message);
|
|
757
|
+
if (createFallbackModule) {
|
|
758
|
+
console.warn(`[${workerName}]: Creating fallback module due to timeout`);
|
|
759
|
+
return createFallbackModule(timeoutError.message);
|
|
760
|
+
}
|
|
761
|
+
throw timeoutError;
|
|
762
|
+
}
|
|
763
|
+
}
|
|
764
|
+
|
|
765
|
+
// ../../node_modules/base-x/src/esm/index.js
|
|
766
|
+
function base(ALPHABET) {
|
|
767
|
+
if (ALPHABET.length >= 255) {
|
|
768
|
+
throw new TypeError("Alphabet too long");
|
|
769
|
+
}
|
|
770
|
+
const BASE_MAP = new Uint8Array(256);
|
|
771
|
+
for (let j = 0;j < BASE_MAP.length; j++) {
|
|
772
|
+
BASE_MAP[j] = 255;
|
|
773
|
+
}
|
|
774
|
+
for (let i = 0;i < ALPHABET.length; i++) {
|
|
775
|
+
const x = ALPHABET.charAt(i);
|
|
776
|
+
const xc = x.charCodeAt(0);
|
|
777
|
+
if (BASE_MAP[xc] !== 255) {
|
|
778
|
+
throw new TypeError(x + " is ambiguous");
|
|
779
|
+
}
|
|
780
|
+
BASE_MAP[xc] = i;
|
|
781
|
+
}
|
|
782
|
+
const BASE = ALPHABET.length;
|
|
783
|
+
const LEADER = ALPHABET.charAt(0);
|
|
784
|
+
const FACTOR = Math.log(BASE) / Math.log(256);
|
|
785
|
+
const iFACTOR = Math.log(256) / Math.log(BASE);
|
|
786
|
+
function encode(source) {
|
|
787
|
+
if (source instanceof Uint8Array) {} else if (ArrayBuffer.isView(source)) {
|
|
788
|
+
source = new Uint8Array(source.buffer, source.byteOffset, source.byteLength);
|
|
789
|
+
} else if (Array.isArray(source)) {
|
|
790
|
+
source = Uint8Array.from(source);
|
|
791
|
+
}
|
|
792
|
+
if (!(source instanceof Uint8Array)) {
|
|
793
|
+
throw new TypeError("Expected Uint8Array");
|
|
794
|
+
}
|
|
795
|
+
if (source.length === 0) {
|
|
796
|
+
return "";
|
|
797
|
+
}
|
|
798
|
+
let zeroes = 0;
|
|
799
|
+
let length = 0;
|
|
800
|
+
let pbegin = 0;
|
|
801
|
+
const pend = source.length;
|
|
802
|
+
while (pbegin !== pend && source[pbegin] === 0) {
|
|
803
|
+
pbegin++;
|
|
804
|
+
zeroes++;
|
|
805
|
+
}
|
|
806
|
+
const size = (pend - pbegin) * iFACTOR + 1 >>> 0;
|
|
807
|
+
const b58 = new Uint8Array(size);
|
|
808
|
+
while (pbegin !== pend) {
|
|
809
|
+
let carry = source[pbegin];
|
|
810
|
+
let i = 0;
|
|
811
|
+
for (let it1 = size - 1;(carry !== 0 || i < length) && it1 !== -1; it1--, i++) {
|
|
812
|
+
carry += 256 * b58[it1] >>> 0;
|
|
813
|
+
b58[it1] = carry % BASE >>> 0;
|
|
814
|
+
carry = carry / BASE >>> 0;
|
|
815
|
+
}
|
|
816
|
+
if (carry !== 0) {
|
|
817
|
+
throw new Error("Non-zero carry");
|
|
818
|
+
}
|
|
819
|
+
length = i;
|
|
820
|
+
pbegin++;
|
|
821
|
+
}
|
|
822
|
+
let it2 = size - length;
|
|
823
|
+
while (it2 !== size && b58[it2] === 0) {
|
|
824
|
+
it2++;
|
|
825
|
+
}
|
|
826
|
+
let str = LEADER.repeat(zeroes);
|
|
827
|
+
for (;it2 < size; ++it2) {
|
|
828
|
+
str += ALPHABET.charAt(b58[it2]);
|
|
829
|
+
}
|
|
830
|
+
return str;
|
|
831
|
+
}
|
|
832
|
+
function decodeUnsafe(source) {
|
|
833
|
+
if (typeof source !== "string") {
|
|
834
|
+
throw new TypeError("Expected String");
|
|
835
|
+
}
|
|
836
|
+
if (source.length === 0) {
|
|
837
|
+
return new Uint8Array;
|
|
838
|
+
}
|
|
839
|
+
let psz = 0;
|
|
840
|
+
let zeroes = 0;
|
|
841
|
+
let length = 0;
|
|
842
|
+
while (source[psz] === LEADER) {
|
|
843
|
+
zeroes++;
|
|
844
|
+
psz++;
|
|
845
|
+
}
|
|
846
|
+
const size = (source.length - psz) * FACTOR + 1 >>> 0;
|
|
847
|
+
const b256 = new Uint8Array(size);
|
|
848
|
+
while (psz < source.length) {
|
|
849
|
+
const charCode = source.charCodeAt(psz);
|
|
850
|
+
if (charCode > 255) {
|
|
851
|
+
return;
|
|
852
|
+
}
|
|
853
|
+
let carry = BASE_MAP[charCode];
|
|
854
|
+
if (carry === 255) {
|
|
855
|
+
return;
|
|
856
|
+
}
|
|
857
|
+
let i = 0;
|
|
858
|
+
for (let it3 = size - 1;(carry !== 0 || i < length) && it3 !== -1; it3--, i++) {
|
|
859
|
+
carry += BASE * b256[it3] >>> 0;
|
|
860
|
+
b256[it3] = carry % 256 >>> 0;
|
|
861
|
+
carry = carry / 256 >>> 0;
|
|
862
|
+
}
|
|
863
|
+
if (carry !== 0) {
|
|
864
|
+
throw new Error("Non-zero carry");
|
|
865
|
+
}
|
|
866
|
+
length = i;
|
|
867
|
+
psz++;
|
|
868
|
+
}
|
|
869
|
+
let it4 = size - length;
|
|
870
|
+
while (it4 !== size && b256[it4] === 0) {
|
|
871
|
+
it4++;
|
|
872
|
+
}
|
|
873
|
+
const vch = new Uint8Array(zeroes + (size - it4));
|
|
874
|
+
let j = zeroes;
|
|
875
|
+
while (it4 !== size) {
|
|
876
|
+
vch[j++] = b256[it4++];
|
|
877
|
+
}
|
|
878
|
+
return vch;
|
|
879
|
+
}
|
|
880
|
+
function decode(string) {
|
|
881
|
+
const buffer = decodeUnsafe(string);
|
|
882
|
+
if (buffer) {
|
|
883
|
+
return buffer;
|
|
884
|
+
}
|
|
885
|
+
throw new Error("Non-base" + BASE + " character");
|
|
886
|
+
}
|
|
887
|
+
return {
|
|
888
|
+
encode,
|
|
889
|
+
decodeUnsafe,
|
|
890
|
+
decode
|
|
891
|
+
};
|
|
892
|
+
}
|
|
893
|
+
var esm_default = base;
|
|
894
|
+
|
|
895
|
+
// ../../node_modules/bs58/src/esm/index.js
|
|
896
|
+
var ALPHABET = "123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz";
|
|
897
|
+
var esm_default2 = esm_default(ALPHABET);
|
|
898
|
+
|
|
899
|
+
// ../shared-ts/src/utils/errors.ts
|
|
900
|
+
function errorMessage(err) {
|
|
901
|
+
try {
|
|
902
|
+
if (typeof err === "string")
|
|
903
|
+
return err;
|
|
904
|
+
if (err && typeof err.message === "string") {
|
|
905
|
+
return err.message;
|
|
906
|
+
}
|
|
907
|
+
return String(err ?? "");
|
|
908
|
+
} catch {
|
|
909
|
+
return "";
|
|
910
|
+
}
|
|
911
|
+
}
|
|
912
|
+
function b64uField(prefix) {
|
|
913
|
+
return `${prefix}B64u`;
|
|
914
|
+
}
|
|
915
|
+
var SENSITIVE_ERROR_FIELD_NAMES = [
|
|
916
|
+
"nearPrivateKey",
|
|
917
|
+
"near_private_key",
|
|
918
|
+
"privateKey",
|
|
919
|
+
"private_key",
|
|
920
|
+
b64uField("seed"),
|
|
921
|
+
"seed_b64u",
|
|
922
|
+
b64uField("canonicalSeed"),
|
|
923
|
+
"canonical_seed_b64u",
|
|
924
|
+
b64uField("xClientBase"),
|
|
925
|
+
"x_client_base_b64u",
|
|
926
|
+
b64uField("clientOutputMask"),
|
|
927
|
+
"client_output_mask_b64u",
|
|
928
|
+
b64uField("clientRecoverableSecret"),
|
|
929
|
+
"client_recoverable_secret_b64u",
|
|
930
|
+
"prfOutput",
|
|
931
|
+
"prf_output",
|
|
932
|
+
"prfFirst",
|
|
933
|
+
"prf_first",
|
|
934
|
+
b64uField("prfFirst"),
|
|
935
|
+
"prf_first_b64u",
|
|
936
|
+
"prfSecond",
|
|
937
|
+
"prf_second",
|
|
938
|
+
b64uField("prfSecond"),
|
|
939
|
+
"prf_second_b64u",
|
|
940
|
+
b64uField("signingShare32"),
|
|
941
|
+
"signing_share32_b64u",
|
|
942
|
+
b64uField("clientNonceHandle"),
|
|
943
|
+
"client_nonce_handle_b64u"
|
|
944
|
+
];
|
|
945
|
+
|
|
946
|
+
// src/core/signingEngine/workerManager/workerTypes.ts
|
|
947
|
+
var WorkerControlMessage = {
|
|
948
|
+
WORKER_READY: "WORKER_READY"
|
|
949
|
+
};
|
|
950
|
+
|
|
951
|
+
// src/core/signingEngine/workerManager/workers/evm-crypto.worker.ts
|
|
952
|
+
function asWorkerErrorPayload(err) {
|
|
953
|
+
if (err && typeof err === "object") {
|
|
954
|
+
const message = typeof err.message === "string" ? String(err.message).trim() : "";
|
|
955
|
+
const code = typeof err.code === "string" ? String(err.code).trim() : "";
|
|
956
|
+
const coreCode = typeof err.coreCode === "string" ? String(err.coreCode).trim() : "";
|
|
957
|
+
return {
|
|
958
|
+
message: message || errorMessage(err),
|
|
959
|
+
...code ? { code } : {},
|
|
960
|
+
...coreCode ? { coreCode } : {}
|
|
961
|
+
};
|
|
962
|
+
}
|
|
963
|
+
return { message: errorMessage(err) };
|
|
964
|
+
}
|
|
965
|
+
function toU8(v) {
|
|
966
|
+
if (v instanceof Uint8Array)
|
|
967
|
+
return v;
|
|
968
|
+
if (v instanceof ArrayBuffer)
|
|
969
|
+
return new Uint8Array(v);
|
|
970
|
+
if (ArrayBuffer.isView(v))
|
|
971
|
+
return new Uint8Array(v.buffer, v.byteOffset, v.byteLength);
|
|
972
|
+
throw new Error("expected bytes");
|
|
973
|
+
}
|
|
974
|
+
function zeroizeBytes(bytes) {
|
|
975
|
+
if (!(bytes instanceof Uint8Array))
|
|
976
|
+
return;
|
|
977
|
+
bytes.fill(0);
|
|
978
|
+
}
|
|
979
|
+
function postToMainThread(message, transfer) {
|
|
980
|
+
const workerSelf = self;
|
|
981
|
+
if (transfer && transfer.length > 0) {
|
|
982
|
+
workerSelf.postMessage(message, transfer);
|
|
983
|
+
return;
|
|
984
|
+
}
|
|
985
|
+
workerSelf.postMessage(message);
|
|
986
|
+
}
|
|
987
|
+
function evmCryptoOperationLabel(type) {
|
|
988
|
+
switch (type) {
|
|
989
|
+
case "computeEip1559TxHash":
|
|
990
|
+
return "EIP-1559 transaction hash";
|
|
991
|
+
case "encodeEip1559SignedTxFromSignature65":
|
|
992
|
+
return "signed EIP-1559 transaction";
|
|
993
|
+
case "signSecp256k1Recoverable":
|
|
994
|
+
return "recoverable secp256k1 signature";
|
|
995
|
+
case "verifySecp256k1RecoverableSignatureAgainstPublicKey33":
|
|
996
|
+
return "recoverable secp256k1 signature verification";
|
|
997
|
+
case "secp256k1PrivateKey32ToPublicKey33":
|
|
998
|
+
return "secp256k1 public key";
|
|
999
|
+
case "validateSecp256k1PublicKey33":
|
|
1000
|
+
return "secp256k1 public key validation";
|
|
1001
|
+
case "addSecp256k1PublicKeys33":
|
|
1002
|
+
return "combined secp256k1 public key";
|
|
1003
|
+
case "buildWebauthnP256Signature":
|
|
1004
|
+
return "WebAuthn P-256 signature";
|
|
1005
|
+
default:
|
|
1006
|
+
return type || "unknown evmCrypto operation";
|
|
1007
|
+
}
|
|
1008
|
+
}
|
|
1009
|
+
function postWorkerOperationProgress(id, type, status, message) {
|
|
1010
|
+
const label = evmCryptoOperationLabel(type);
|
|
1011
|
+
const payload = {
|
|
1012
|
+
phase: `evm_crypto.${type}.${status}`,
|
|
1013
|
+
status,
|
|
1014
|
+
message: message || (status === "running" ? `Running ${label}` : status === "succeeded" ? `Completed ${label}` : `Failed ${label}`),
|
|
1015
|
+
data: { worker: "evmCrypto", operation: type }
|
|
1016
|
+
};
|
|
1017
|
+
postToMainThread({ id, progress: true, payload });
|
|
1018
|
+
}
|
|
1019
|
+
function postOperationSucceeded(msg, result, transfer) {
|
|
1020
|
+
postWorkerOperationProgress(msg.id, msg.type, "succeeded");
|
|
1021
|
+
postToMainThread({ id: msg.id, ok: true, result }, transfer);
|
|
1022
|
+
}
|
|
1023
|
+
var buildWebauthnP256SignatureWasm = build_webauthn_p256_signature;
|
|
1024
|
+
var wasmUrl = resolveWasmUrl("evm_crypto.wasm", "Eth Signer");
|
|
1025
|
+
var wasmInitPromise = null;
|
|
1026
|
+
async function ensureWasm() {
|
|
1027
|
+
if (wasmInitPromise)
|
|
1028
|
+
return wasmInitPromise;
|
|
1029
|
+
wasmInitPromise = (async () => {
|
|
1030
|
+
await initializeWasm({
|
|
1031
|
+
workerName: "Eth Signer",
|
|
1032
|
+
wasmUrl,
|
|
1033
|
+
initFunction: __wbg_init,
|
|
1034
|
+
validateFunction: () => init_evm_crypto()
|
|
1035
|
+
});
|
|
1036
|
+
})();
|
|
1037
|
+
return wasmInitPromise;
|
|
1038
|
+
}
|
|
1039
|
+
async function prewarmWasmAndSignalWorkerReady() {
|
|
1040
|
+
try {
|
|
1041
|
+
await ensureWasm();
|
|
1042
|
+
} catch {}
|
|
1043
|
+
postToMainThread({ type: WorkerControlMessage.WORKER_READY, ready: true });
|
|
1044
|
+
}
|
|
1045
|
+
prewarmWasmAndSignalWorkerReady();
|
|
1046
|
+
self.addEventListener("message", async (event) => {
|
|
1047
|
+
const msg = event.data;
|
|
1048
|
+
if (!msg?.id || !msg?.type)
|
|
1049
|
+
return;
|
|
1050
|
+
try {
|
|
1051
|
+
postWorkerOperationProgress(msg.id, msg.type, "running");
|
|
1052
|
+
await ensureWasm();
|
|
1053
|
+
switch (msg.type) {
|
|
1054
|
+
case "computeEip1559TxHash": {
|
|
1055
|
+
const out = compute_eip1559_tx_hash(msg.payload.tx);
|
|
1056
|
+
const ab = out.slice().buffer;
|
|
1057
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1058
|
+
return;
|
|
1059
|
+
}
|
|
1060
|
+
case "encodeEip1559SignedTxFromSignature65": {
|
|
1061
|
+
const out = encode_eip1559_signed_tx_from_signature65(msg.payload.tx, toU8(msg.payload.signature65));
|
|
1062
|
+
const ab = out.slice().buffer;
|
|
1063
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1064
|
+
return;
|
|
1065
|
+
}
|
|
1066
|
+
case "signSecp256k1Recoverable": {
|
|
1067
|
+
const digest32 = toU8(msg.payload.digest32);
|
|
1068
|
+
const privateKey32 = toU8(msg.payload.privateKey32);
|
|
1069
|
+
try {
|
|
1070
|
+
const out = sign_secp256k1_recoverable(digest32, privateKey32);
|
|
1071
|
+
const ab = out.slice().buffer;
|
|
1072
|
+
zeroizeBytes(out);
|
|
1073
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1074
|
+
return;
|
|
1075
|
+
} finally {
|
|
1076
|
+
zeroizeBytes(digest32);
|
|
1077
|
+
zeroizeBytes(privateKey32);
|
|
1078
|
+
}
|
|
1079
|
+
}
|
|
1080
|
+
case "verifySecp256k1RecoverableSignatureAgainstPublicKey33": {
|
|
1081
|
+
const digest32 = toU8(msg.payload.digest32);
|
|
1082
|
+
const signature65 = toU8(msg.payload.signature65);
|
|
1083
|
+
const publicKey33 = toU8(msg.payload.publicKey33);
|
|
1084
|
+
try {
|
|
1085
|
+
const out = verify_secp256k1_recoverable_signature_against_public_key_33(digest32, signature65, publicKey33);
|
|
1086
|
+
if (out.length !== 33) {
|
|
1087
|
+
throw new Error(`verify_secp256k1_recoverable_signature_against_public_key_33 must return 33 bytes (got ${out.length})`);
|
|
1088
|
+
}
|
|
1089
|
+
const ab = out.slice().buffer;
|
|
1090
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1091
|
+
return;
|
|
1092
|
+
} finally {
|
|
1093
|
+
zeroizeBytes(digest32);
|
|
1094
|
+
zeroizeBytes(signature65);
|
|
1095
|
+
}
|
|
1096
|
+
}
|
|
1097
|
+
case "secp256k1PrivateKey32ToPublicKey33": {
|
|
1098
|
+
const privateKey32 = toU8(msg.payload.privateKey32);
|
|
1099
|
+
try {
|
|
1100
|
+
const out = secp256k1_private_key_32_to_public_key_33(privateKey32);
|
|
1101
|
+
const ab = out.slice().buffer;
|
|
1102
|
+
zeroizeBytes(out);
|
|
1103
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1104
|
+
return;
|
|
1105
|
+
} finally {
|
|
1106
|
+
zeroizeBytes(privateKey32);
|
|
1107
|
+
}
|
|
1108
|
+
}
|
|
1109
|
+
case "validateSecp256k1PublicKey33": {
|
|
1110
|
+
const publicKey33 = toU8(msg.payload.publicKey33);
|
|
1111
|
+
const out = validate_secp256k1_public_key_33(publicKey33);
|
|
1112
|
+
if (out.length !== 33) {
|
|
1113
|
+
throw new Error(`validate_secp256k1_public_key_33 must return 33 bytes (got ${out.length})`);
|
|
1114
|
+
}
|
|
1115
|
+
const ab = out.slice().buffer;
|
|
1116
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1117
|
+
return;
|
|
1118
|
+
}
|
|
1119
|
+
case "addSecp256k1PublicKeys33": {
|
|
1120
|
+
const left33 = toU8(msg.payload.left33);
|
|
1121
|
+
const right33 = toU8(msg.payload.right33);
|
|
1122
|
+
const out = add_secp256k1_public_keys_33(left33, right33);
|
|
1123
|
+
if (out.length !== 33) {
|
|
1124
|
+
throw new Error(`add_secp256k1_public_keys_33 must return 33 bytes (got ${out.length})`);
|
|
1125
|
+
}
|
|
1126
|
+
const ab = out.slice().buffer;
|
|
1127
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1128
|
+
return;
|
|
1129
|
+
}
|
|
1130
|
+
case "buildWebauthnP256Signature": {
|
|
1131
|
+
if (typeof buildWebauthnP256SignatureWasm !== "function") {
|
|
1132
|
+
throw new Error("evm_crypto wasm export build_webauthn_p256_signature is missing");
|
|
1133
|
+
}
|
|
1134
|
+
const out = buildWebauthnP256SignatureWasm(toU8(msg.payload.challenge32), toU8(msg.payload.authenticatorData), toU8(msg.payload.clientDataJSON), toU8(msg.payload.signatureDer), toU8(msg.payload.pubKeyX32), toU8(msg.payload.pubKeyY32));
|
|
1135
|
+
const ab = out.slice().buffer;
|
|
1136
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1137
|
+
return;
|
|
1138
|
+
}
|
|
1139
|
+
case "decodeCoseP256PublicKey": {
|
|
1140
|
+
const out = decode_cose_p256_public_key(toU8(msg.payload.cosePublicKey));
|
|
1141
|
+
if (out.length !== 64) {
|
|
1142
|
+
throw new Error(`decode_cose_p256_public_key must return 64 bytes (got ${out.length})`);
|
|
1143
|
+
}
|
|
1144
|
+
const ab = out.slice().buffer;
|
|
1145
|
+
postOperationSucceeded(msg, ab, [ab]);
|
|
1146
|
+
return;
|
|
1147
|
+
}
|
|
1148
|
+
default: {
|
|
1149
|
+
throw new Error(`Unsupported evmCrypto worker operation type: ${String(msg.type)}`);
|
|
1150
|
+
}
|
|
1151
|
+
}
|
|
1152
|
+
} catch (e) {
|
|
1153
|
+
const err = asWorkerErrorPayload(e);
|
|
1154
|
+
postWorkerOperationProgress(msg.id, msg.type, "failed", err.message);
|
|
1155
|
+
postToMainThread({
|
|
1156
|
+
id: msg.id,
|
|
1157
|
+
ok: false,
|
|
1158
|
+
error: err.message,
|
|
1159
|
+
...err.code ? { code: err.code } : {},
|
|
1160
|
+
...err.coreCode ? { coreCode: err.coreCode } : {}
|
|
1161
|
+
});
|
|
1162
|
+
}
|
|
1163
|
+
});
|