sdk/js-sdk/WASM.md
Format kms_lib.d.ts using Prettier
In kms_lib.d.ts add:
////////////////////////////////////////////////////////////////////////////////
export function getWasmInfo(): { name: string; version: string };
kms_lib.js, add getWasmInfo implementation:Replace:
export { initSync, __wbg_init as default };
With:
function getWasmInfo() {
return {
name: 'tkms',
version: '0.13.10',
};
}
export { initSync, getWasmInfo, __wbg_init as default };
Note: specify the right tkms version.
kms_lib.js:Replace:
if (module_or_path === undefined) {
module_or_path = new URL('kms_lib_bg.wasm', import.meta.url);
}
const imports = __wbg_get_imports();
if (
typeof module_or_path === 'string' ||
(typeof Request === 'function' && module_or_path instanceof Request) ||
(typeof URL === 'function' && module_or_path instanceof URL)
) {
module_or_path = fetch(module_or_path);
}
With:
// if (module_or_path === undefined) {
// module_or_path = new URL('kms_lib_bg.wasm', import.meta.url);
// }
const imports = __wbg_get_imports();
// if (typeof module_or_path === 'string' || (typeof Request === 'function' && module_or_path instanceof Request) || (typeof URL === 'function' && module_or_path instanceof URL)) {
// module_or_path = fetch(module_or_path);
// }
kms_lib.js and kms_lib.d.tsReplace original function signature:
export function process_user_decryption_resp_from_js(
client: Client,
request: any,
eip712_domain: any,
agg_resp: any,
enc_pk: PublicEncKeyMlKem512,
enc_sk: PrivateEncKeyMlKem512,
verify: boolean,
): TypedPlaintext[];
With:
export function process_user_decryption_resp_from_js(
client: Client,
request: any,
eip712_domain: any,
agg_resp: any,
enc_pk: PublicEncKeyMlKem512,
enc_sk: PrivateEncKeyMlKem512,
// Not in original version. Make it compatible with v0.13.20
threshold: number | null | undefined,
verify: boolean,
): TypedPlaintext[];
threshold as an unused argument to make the function signature identical to v0.13.20-0threshold: number | null | undefined to explain why it is importantsdk/js-sdk/src/wasm/tkms/<version>/kms_lib.js and sdk/js-sdk/src/wasm/tkms/<version>/kms_lib.d.ts according to the specssdk/js-sdk/scripts/wasm/kms/install-tkms.shsdk/js-sdk/scripts/wasm/kms/build-kms.ts