@fhevm/sdk 1.1.0-alpha.3 → 1.1.0-alpha.4

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.
Files changed (80) hide show
  1. package/_cjs/core/_version.js +1 -1
  2. package/_cjs/core/base/auth.js +8 -6
  3. package/_cjs/core/base/auth.js.map +1 -1
  4. package/_cjs/core/base/errors/InvalidUrlError.js +17 -0
  5. package/_cjs/core/base/errors/InvalidUrlError.js.map +1 -0
  6. package/_cjs/core/base/fetch.js +37 -0
  7. package/_cjs/core/base/fetch.js.map +1 -1
  8. package/_cjs/core/base/string.js +10 -0
  9. package/_cjs/core/base/string.js.map +1 -1
  10. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +16 -7
  11. package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  12. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
  13. package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  14. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +5 -1
  15. package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  16. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +10 -5
  17. package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  18. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +5 -1
  19. package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  20. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +5 -1
  21. package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  22. package/_cjs/core/modules/relayer/module/relayerUrl.js +33 -27
  23. package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -1
  24. package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
  25. package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
  26. package/_esm/core/_version.js +1 -1
  27. package/_esm/core/base/auth.js +8 -6
  28. package/_esm/core/base/auth.js.map +1 -1
  29. package/_esm/core/base/errors/InvalidUrlError.js +13 -0
  30. package/_esm/core/base/errors/InvalidUrlError.js.map +1 -0
  31. package/_esm/core/base/fetch.js +96 -0
  32. package/_esm/core/base/fetch.js.map +1 -1
  33. package/_esm/core/base/string.js +9 -0
  34. package/_esm/core/base/string.js.map +1 -1
  35. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +17 -13
  36. package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
  37. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
  38. package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
  39. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +6 -2
  40. package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
  41. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +12 -7
  42. package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
  43. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +6 -2
  44. package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
  45. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +6 -2
  46. package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
  47. package/_esm/core/modules/relayer/module/relayerUrl.js +55 -27
  48. package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -1
  49. package/_types/core/base/auth.d.ts.map +1 -1
  50. package/_types/core/base/errors/InvalidUrlError.d.ts +14 -0
  51. package/_types/core/base/errors/InvalidUrlError.d.ts.map +1 -0
  52. package/_types/core/base/fetch.d.ts +57 -0
  53. package/_types/core/base/fetch.d.ts.map +1 -1
  54. package/_types/core/base/string.d.ts +1 -0
  55. package/_types/core/base/string.d.ts.map +1 -1
  56. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +1 -0
  57. package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
  58. package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
  59. package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
  60. package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
  61. package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
  62. package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
  63. package/_types/core/modules/relayer/module/relayerUrl.d.ts +24 -5
  64. package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -1
  65. package/_types/core/types/relayer.d.ts +1 -0
  66. package/_types/core/types/relayer.d.ts.map +1 -1
  67. package/core/_version.ts +1 -1
  68. package/core/base/auth.ts +8 -6
  69. package/core/base/errors/InvalidUrlError.ts +24 -0
  70. package/core/base/fetch.ts +102 -0
  71. package/core/base/string.ts +10 -0
  72. package/core/modules/relayer/module/RelayerAsyncRequest.ts +19 -17
  73. package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +6 -2
  74. package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +7 -2
  75. package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +12 -7
  76. package/core/modules/relayer/module/fetchPublicDecrypt.ts +7 -2
  77. package/core/modules/relayer/module/fetchUserDecrypt.ts +7 -2
  78. package/core/modules/relayer/module/relayerUrl.ts +66 -27
  79. package/core/types/relayer.ts +1 -0
  80. package/package.json +1 -1
@@ -1,36 +1,42 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ZamaSepoliaRelayerUrlV2 = exports.ZamaSepoliaRelayerBaseUrl = exports.ZamaMainnetRelayerUrlV2 = exports.ZamaMainnetRelayerBaseUrl = void 0;
4
- exports.parseZamaRelayerUrl = parseZamaRelayerUrl;
3
+ exports.validateRelayerBaseUrl = validateRelayerBaseUrl;
4
+ exports.buildRelayerUrlString = buildRelayerUrlString;
5
+ const InternalError_js_1 = require("../../../base/errors/InternalError.js");
6
+ const InvalidUrlError_js_1 = require("../../../base/errors/InvalidUrlError.js");
5
7
  const string_js_1 = require("../../../base/string.js");
6
- exports.ZamaMainnetRelayerBaseUrl = 'https://relayer.mainnet.zama.org';
7
- exports.ZamaMainnetRelayerUrlV2 = `${exports.ZamaMainnetRelayerBaseUrl}/v2`;
8
- exports.ZamaSepoliaRelayerBaseUrl = 'https://relayer.testnet.zama.org';
9
- exports.ZamaSepoliaRelayerUrlV2 = `${exports.ZamaSepoliaRelayerBaseUrl}/v2`;
10
- function parseZamaRelayerUrl(relayerUrl) {
11
- if (relayerUrl === undefined || relayerUrl === null || typeof relayerUrl !== 'string') {
12
- return null;
8
+ function validateRelayerBaseUrl(relayerUrl, hasAuth) {
9
+ if (typeof relayerUrl !== 'string' || relayerUrl.length === 0) {
10
+ throw new InvalidUrlError_js_1.InvalidUrlError({ message: 'Invalid relayerUrl: must be a non-empty string.' }, {});
13
11
  }
14
- const urlNoSlash = (0, string_js_1.removeSuffix)(relayerUrl, '/');
15
- if (!URL.canParse(urlNoSlash)) {
16
- return null;
12
+ let parsed;
13
+ try {
14
+ parsed = new URL(relayerUrl);
17
15
  }
18
- if (urlNoSlash.startsWith(exports.ZamaMainnetRelayerBaseUrl) || urlNoSlash.startsWith(exports.ZamaSepoliaRelayerBaseUrl)) {
19
- const zamaUrls = [
20
- exports.ZamaSepoliaRelayerBaseUrl,
21
- exports.ZamaSepoliaRelayerUrlV2,
22
- exports.ZamaMainnetRelayerBaseUrl,
23
- exports.ZamaMainnetRelayerUrlV2,
24
- ];
25
- const isZamaUrl = zamaUrls.includes(urlNoSlash);
26
- if (isZamaUrl) {
27
- if (urlNoSlash.endsWith('/v2')) {
28
- return urlNoSlash;
29
- }
30
- return `${urlNoSlash}/v2`;
16
+ catch (cause) {
17
+ throw new InvalidUrlError_js_1.InvalidUrlError({ message: `Invalid relayerUrl: cannot parse as URL}.`, cause }, {});
18
+ }
19
+ if (parsed.protocol !== 'https:' && parsed.protocol !== 'http:') {
20
+ throw new InvalidUrlError_js_1.InvalidUrlError({ message: `Invalid relayerUrl protocol: ${parsed.protocol} (expected http: or https:).` }, {});
21
+ }
22
+ if (parsed.username !== '' || parsed.password !== '') {
23
+ throw new InvalidUrlError_js_1.InvalidUrlError({ message: 'Invalid relayerUrl: URL must not contain credentials (user:pass@host).' }, {});
24
+ }
25
+ if (hasAuth && parsed.protocol === 'http:') {
26
+ const isLocalhost = parsed.hostname === 'localhost' || parsed.hostname === '127.0.0.1' || parsed.hostname === '[::1]';
27
+ if (!isLocalhost) {
28
+ throw new InvalidUrlError_js_1.InvalidUrlError({ message: 'Invalid relayerUrl: HTTPS is required when auth credentials are provided.' }, {});
31
29
  }
32
- return null;
33
30
  }
34
- return urlNoSlash;
31
+ if (!parsed.pathname.endsWith('/')) {
32
+ parsed.pathname += '/';
33
+ }
34
+ return parsed;
35
+ }
36
+ function buildRelayerUrlString(relayerBaseUrl, path) {
37
+ (0, InternalError_js_1.assert)(relayerBaseUrl.pathname.endsWith('/'));
38
+ const sanitizedPath = (0, string_js_1.removeSuffix)((0, string_js_1.removePrefix)(path, '/'), '/');
39
+ const url = new URL(sanitizedPath, relayerBaseUrl).toString();
40
+ return (0, string_js_1.removeSuffix)(url, '/');
35
41
  }
36
42
  //# sourceMappingURL=relayerUrl.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"relayerUrl.js","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/relayerUrl.ts"],"names":[],"mappings":";;;AAQA,kDA6BC;AArCD,uDAAuD;AAE1C,QAAA,yBAAyB,GAAG,kCAAkC,CAAC;AAC/D,QAAA,uBAAuB,GAAG,GAAG,iCAAyB,KAAK,CAAC;AAE5D,QAAA,yBAAyB,GAAG,kCAAkC,CAAC;AAC/D,QAAA,uBAAuB,GAAG,GAAG,iCAAyB,KAAK,CAAC;AAEzE,SAAgB,mBAAmB,CAAC,UAAmB;IACrD,IAAI,UAAU,KAAK,SAAS,IAAI,UAAU,KAAK,IAAI,IAAI,OAAO,UAAU,KAAK,QAAQ,EAAE,CAAC;QACtF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,wBAAY,EAAC,UAAU,EAAE,GAAG,CAAC,CAAC;IACjD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,UAAU,CAAC,UAAU,CAAC,iCAAyB,CAAC,IAAI,UAAU,CAAC,UAAU,CAAC,iCAAyB,CAAC,EAAE,CAAC;QACzG,MAAM,QAAQ,GAAG;YACf,iCAAyB;YACzB,+BAAuB;YACvB,iCAAyB;YACzB,+BAAuB;SACxB,CAAC;QACF,MAAM,SAAS,GAAG,QAAQ,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAChD,IAAI,SAAS,EAAE,CAAC;YACd,IAAI,UAAU,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,OAAO,UAAU,CAAC;YACpB,CAAC;YACD,OAAO,GAAG,UAAU,KAAK,CAAC;QAC5B,CAAC;QAED,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,UAAU,CAAC;AACpB,CAAC"}
1
+ {"version":3,"file":"relayerUrl.js","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/relayerUrl.ts"],"names":[],"mappings":";;AA0BA,wDA2CC;AAED,sDAKC;AA5ED,4EAA+D;AAC/D,gFAA0E;AAC1E,uDAAqE;AAwBrE,SAAgB,sBAAsB,CAAC,UAAmB,EAAE,OAAgB;IAC1E,IAAI,OAAO,UAAU,KAAK,QAAQ,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC9D,MAAM,IAAI,oCAAe,CAAC,EAAE,OAAO,EAAE,iDAAiD,EAAE,EAAE,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,MAAW,CAAC;IAChB,IAAI,CAAC;QACH,MAAM,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,oCAAe,CAAC,EAAE,OAAO,EAAE,2CAA2C,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,CAAC;IACjG,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAChE,MAAM,IAAI,oCAAe,CACvB,EAAE,OAAO,EAAE,gCAAgC,MAAM,CAAC,QAAQ,8BAA8B,EAAE,EAC1F,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,IAAI,MAAM,CAAC,QAAQ,KAAK,EAAE,EAAE,CAAC;QACrD,MAAM,IAAI,oCAAe,CACvB,EAAE,OAAO,EAAE,wEAAwE,EAAE,EACrF,EAAE,CACH,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;QAC3C,MAAM,WAAW,GACf,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,WAAW,IAAI,MAAM,CAAC,QAAQ,KAAK,OAAO,CAAC;QACpG,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,MAAM,IAAI,oCAAe,CACvB,EAAE,OAAO,EAAE,2EAA2E,EAAE,EACxF,EAAE,CACH,CAAC;QACJ,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QACnC,MAAM,CAAC,QAAQ,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,SAAgB,qBAAqB,CAAC,cAAmB,EAAE,IAAY;IACrE,IAAA,yBAAM,EAAC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9C,MAAM,aAAa,GAAG,IAAA,wBAAY,EAAC,IAAA,wBAAY,EAAC,IAAI,EAAE,GAAG,CAAC,EAAE,GAAG,CAAC,CAAC;IACjE,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,aAAa,EAAE,cAAc,CAAC,CAAC,QAAQ,EAAE,CAAC;IAC9D,OAAO,IAAA,wBAAY,EAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AAChC,CAAC"}
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../../../../../../tmp/fhevm-loaders-4413-1780043976133/tfhe/loadTfheLib.js"],
3
+ "sources": ["../../../../../../../../../../../tmp/fhevm-loaders-4315-1780075834001/tfhe/loadTfheLib.js"],
4
4
  "sourcesContent": ["// AUTO-GENERATED FROM versionsManifest.js - DO NOT EDIT.\n// Generator: scripts/build/codegen-loaders.mjs\n// Profile: prod\n//\n// Version-selective TFHE loader. Authored as plain ESM .js (not .ts) so the\n// published artifact is byte-identical to source. Types live in the sibling\n// loadTfheLib.d.ts.\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport const TFHE_VERSIONS = Object.freeze(['1.5.3', '1.6.1']);\nexport const DEFAULT_TFHE_VERSION = '1.6.1';\n\nconst _loaders = {\n '1.5.3': () => import('./v1.5.3/tfhe.js'),\n '1.6.1': () => import('./v1.6.1/tfhe.js'),\n};\n\n////////////////////////////////////////////////////////////////////////////////\n\nconst _wasmBase64Loaders = {\n '1.5.3': () => import('./v1.5.3/tfhe_bg.wasm.base64.js'),\n '1.6.1': () => import('./v1.6.1/tfhe_bg.wasm.base64.js'),\n};\n\n////////////////////////////////////////////////////////////////////////////////\n\nconst _assets = Object.freeze({\n '1.5.3': Object.freeze({\n wasm: Object.freeze({\n filename: 'tfhe_bg.v1.5.3.wasm',\n localRelativePath: './v1.5.3/tfhe_bg.wasm',\n sha256: 'dd349c2e34834527890a80e1b70bf5ee57a02aabb7f65e32a1bca654db9201ec',\n }),\n worker: Object.freeze({\n filename: 'tfhe-worker.v1.5.3.mjs',\n localRelativePath: './v1.5.3/tfhe-worker.mjs',\n sha256: '3f93fe86a8dfa6e25ae5fcfe28d19833219cba8f45f81c6dd05c2f3cc5323c52',\n }),\n }),\n '1.6.1': Object.freeze({\n wasm: Object.freeze({\n filename: 'tfhe_bg.v1.6.1.wasm',\n localRelativePath: './v1.6.1/tfhe_bg.wasm',\n sha256: 'd470dc00347cdc83135e29700abe54c6a7ee9ba4ad58449bfc2494dfa4423f38',\n }),\n worker: Object.freeze({\n filename: 'tfhe-worker.v1.6.1.mjs',\n localRelativePath: './v1.6.1/tfhe-worker.mjs',\n sha256: '348fe6c2e77bafe0cbfb9c0a512af99b5f97de1119ceadf07cc34620dbc5690e',\n }),\n }),\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport function tfheAssetsWithVersion(version) {\n const assets = _assets[version];\n if (!assets) throw new Error(`unsupported tfhe version: ${version}`);\n return assets;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport async function loadTfheLib(version) {\n const loader = _loaders[version];\n if (!loader) throw new Error(`unsupported tfhe version: ${version}`);\n return loader();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport async function loadTfheWasmBase64(version) {\n const loader = _wasmBase64Loaders[version];\n if (!loader) throw new Error(`unsupported tfhe version: ${version}`);\n return loader();\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,gBAAgB,OAAO,OAAO,CAAC,SAAS,OAAO,CAAC;AACtD,MAAM,uBAAuB;AAEpC,MAAM,WAAW;AAAA,EACf,SAAS,MAAM,OAAO,kBAAkB;AAAA,EACxC,SAAS,MAAM,OAAO,kBAAkB;AAC1C;AAIA,MAAM,qBAAqB;AAAA,EACzB,SAAS,MAAM,OAAO,iCAAiC;AAAA,EACvD,SAAS,MAAM,OAAO,iCAAiC;AACzD;AAIA,MAAM,UAAU,OAAO,OAAO;AAAA,EAC5B,SAAS,OAAO,OAAO;AAAA,IACrB,MAAM,OAAO,OAAO;AAAA,MAClB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,IACD,QAAQ,OAAO,OAAO;AAAA,MACpB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AAAA,EACD,SAAS,OAAO,OAAO;AAAA,IACrB,MAAM,OAAO,OAAO;AAAA,MAClB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,IACD,QAAQ,OAAO,OAAO;AAAA,MACpB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAIM,SAAS,sBAAsB,SAAS;AAC7C,QAAM,SAAS,QAAQ,OAAO;AAC9B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO;AACT;AAIA,eAAsB,YAAY,SAAS;AACzC,QAAM,SAAS,SAAS,OAAO;AAC/B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO,OAAO;AAChB;AAIA,eAAsB,mBAAmB,SAAS;AAChD,QAAM,SAAS,mBAAmB,OAAO;AACzC,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO,OAAO;AAChB;",
6
6
  "names": []
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../../../../../../../../../../tmp/fhevm-loaders-4413-1780043976133/tkms/loadKmsLib.js"],
3
+ "sources": ["../../../../../../../../../../../tmp/fhevm-loaders-4315-1780075834001/tkms/loadKmsLib.js"],
4
4
  "sourcesContent": ["// AUTO-GENERATED FROM versionsManifest.js - DO NOT EDIT.\n// Generator: scripts/build/codegen-loaders.mjs\n// Profile: prod\n//\n// Version-selective TKMS loader. Authored as plain ESM .js (not .ts) so the\n// published artifact is byte-identical to source. Types live in the sibling\n// loadKmsLib.d.ts.\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport const KMS_VERSIONS = Object.freeze(['0.13.10', '0.13.20-0']);\nexport const DEFAULT_TKMS_VERSION = '0.13.20-0';\n\nconst _loaders = {\n '0.13.10': () => import('./v0.13.10/kms_lib.js'),\n '0.13.20-0': () => import('./v0.13.20-0/kms_lib.js'),\n};\n\n////////////////////////////////////////////////////////////////////////////////\n\nconst _wasmBase64Loaders = {\n '0.13.10': () => import('./v0.13.10/kms_lib_bg.wasm.base64.js'),\n '0.13.20-0': () => import('./v0.13.20-0/kms_lib_bg.wasm.base64.js'),\n};\n\n////////////////////////////////////////////////////////////////////////////////\n\nconst _assets = Object.freeze({\n '0.13.10': Object.freeze({\n wasm: Object.freeze({\n filename: 'kms_lib_bg.v0.13.10.wasm',\n localRelativePath: './v0.13.10/kms_lib_bg.wasm',\n sha256: '31cfb31392445ae2630f560b961edd21c72e40d58cb20c455f9fc4d4750bb9a0',\n }),\n }),\n '0.13.20-0': Object.freeze({\n wasm: Object.freeze({\n filename: 'kms_lib_bg.v0.13.20-0.wasm',\n localRelativePath: './v0.13.20-0/kms_lib_bg.wasm',\n sha256: 'be54c8f11daf048b897b41cf6e6735895490cdca77f2a01c01be0d6fbf369c81',\n }),\n }),\n});\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport function kmsAssetsWithVersion(version) {\n const assets = _assets[version];\n if (!assets) throw new Error(`unsupported tkms version: ${version}`);\n return assets;\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport async function loadKmsLib(version) {\n const loader = _loaders[version];\n if (!loader) throw new Error(`unsupported tkms version: ${version}`);\n return loader();\n}\n\n////////////////////////////////////////////////////////////////////////////////\n\nexport async function loadKmsWasmBase64(version) {\n const loader = _wasmBase64Loaders[version];\n if (!loader) throw new Error(`unsupported tkms version: ${version}`);\n return loader();\n}\n"],
5
5
  "mappings": ";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAUO,MAAM,eAAe,OAAO,OAAO,CAAC,WAAW,WAAW,CAAC;AAC3D,MAAM,uBAAuB;AAEpC,MAAM,WAAW;AAAA,EACf,WAAW,MAAM,OAAO,uBAAuB;AAAA,EAC/C,aAAa,MAAM,OAAO,yBAAyB;AACrD;AAIA,MAAM,qBAAqB;AAAA,EACzB,WAAW,MAAM,OAAO,sCAAsC;AAAA,EAC9D,aAAa,MAAM,OAAO,wCAAwC;AACpE;AAIA,MAAM,UAAU,OAAO,OAAO;AAAA,EAC5B,WAAW,OAAO,OAAO;AAAA,IACvB,MAAM,OAAO,OAAO;AAAA,MAClB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AAAA,EACD,aAAa,OAAO,OAAO;AAAA,IACzB,MAAM,OAAO,OAAO;AAAA,MAClB,UAAU;AAAA,MACV,mBAAmB;AAAA,MACnB,QAAQ;AAAA,IACV,CAAC;AAAA,EACH,CAAC;AACH,CAAC;AAIM,SAAS,qBAAqB,SAAS;AAC5C,QAAM,SAAS,QAAQ,OAAO;AAC9B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO;AACT;AAIA,eAAsB,WAAW,SAAS;AACxC,QAAM,SAAS,SAAS,OAAO;AAC/B,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO,OAAO;AAChB;AAIA,eAAsB,kBAAkB,SAAS;AAC/C,QAAM,SAAS,mBAAmB,OAAO;AACzC,MAAI,CAAC,OAAQ,OAAM,IAAI,MAAM,6BAA6B,OAAO,EAAE;AACnE,SAAO,OAAO;AAChB;",
6
6
  "names": []
@@ -1,4 +1,4 @@
1
1
  // This file is auto-generated
2
- export const version = '1.1.0-alpha.3';
2
+ export const version = '1.1.0-alpha.4';
3
3
  export const sdkName = '@fhevm/sdk';
4
4
  //# sourceMappingURL=_version.js.map
@@ -1,3 +1,4 @@
1
+ import { normalizeHeaderName, validateHeaderValue } from './fetch.js';
1
2
  import { isNonEmptyString } from './string.js';
2
3
  /**
3
4
  * Set the authentication method for the request. The default is no authentication.
@@ -10,22 +11,23 @@ export function setAuth(init, auth) {
10
11
  if (auth) {
11
12
  switch (auth.type) {
12
13
  case 'BearerToken': {
13
- init.headers.Authorization = `Bearer ${auth.token}`;
14
+ init.headers.authorization = `Bearer ${validateHeaderValue(auth.token)}`;
14
15
  break;
15
16
  }
16
17
  case 'ApiKeyHeader': {
17
- const h = isNonEmptyString(auth.header) ? auth.header : 'x-api-key';
18
- init.headers[h] = auth.value;
18
+ const h = isNonEmptyString(auth.header) ? normalizeHeaderName(auth.header) : 'x-api-key';
19
+ init.headers[h] = validateHeaderValue(auth.value);
19
20
  break;
20
21
  }
21
22
  case 'ApiKeyCookie': {
22
- const h = isNonEmptyString(auth.cookie) ? auth.cookie : 'x-api-key';
23
+ const h = isNonEmptyString(auth.cookie) ? normalizeHeaderName(auth.cookie) : 'x-api-key';
24
+ const v = validateHeaderValue(auth.value);
23
25
  if (typeof window !== 'undefined') {
24
- document.cookie = `${h}=${auth.value}; path=/; SameSite=Lax; Secure; HttpOnly;`;
26
+ document.cookie = `${h}=${v}; path=/; SameSite=Lax; Secure; HttpOnly;`;
25
27
  init.credentials = 'include';
26
28
  }
27
29
  else {
28
- init.headers.Cookie = `${h}=${auth.value};`;
30
+ init.headers.cookie = `${h}=${v};`;
29
31
  }
30
32
  break;
31
33
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../core/base/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAiB,EAAE,IAAW;IACpD,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAkC,CAAC,aAAa,GAAG,UAAU,IAAI,CAAC,KAAK,EAAE,CAAC;gBAChF,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;gBACnE,IAAI,CAAC,OAAkC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzD,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAW,CAAC;gBACpE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,2CAA2C,CAAC;oBAChF,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACL,IAAI,CAAC,OAAkC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,IAAI,CAAC,KAAK,GAAG,CAAC;gBAC1E,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../../core/base/auth.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AACtE,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;GAMG;AACH,MAAM,UAAU,OAAO,CAAC,IAAiB,EAAE,IAAW;IACpD,IAAI,IAAI,EAAE,CAAC;QACT,QAAQ,IAAI,CAAC,IAAI,EAAE,CAAC;YAClB,KAAK,aAAa,CAAC,CAAC,CAAC;gBAClB,IAAI,CAAC,OAAkC,CAAC,aAAa,GAAG,UAAU,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;gBACrG,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACxF,IAAI,CAAC,OAAkC,CAAC,CAAC,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC9E,MAAM;YACR,CAAC;YAED,KAAK,cAAc,CAAC,CAAC,CAAC;gBACpB,MAAM,CAAC,GAAG,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC;gBACzF,MAAM,CAAC,GAAG,mBAAmB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBAC1C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oBAClC,QAAQ,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,2CAA2C,CAAC;oBACvE,IAAI,CAAC,WAAW,GAAG,SAAS,CAAC;gBAC/B,CAAC;qBAAM,CAAC;oBACL,IAAI,CAAC,OAAkC,CAAC,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC;gBACjE,CAAC;gBACD,MAAM;YACR,CAAC;QACH,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,13 @@
1
+ import { ErrorBase } from './ErrorBase.js';
2
+ import { ensureError } from './utils.js';
3
+ export class InvalidUrlError extends ErrorBase {
4
+ constructor(params, options) {
5
+ super({
6
+ ...options,
7
+ message: params.message ?? (params.url !== undefined ? `Url "${params.url}" is invalid.` : 'Url is invalid.'),
8
+ ...(params.cause !== undefined ? { cause: ensureError(params.cause) } : {}),
9
+ name: 'InvalidUrlError',
10
+ });
11
+ }
12
+ }
13
+ //# sourceMappingURL=InvalidUrlError.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"InvalidUrlError.js","sourceRoot":"","sources":["../../../../core/base/errors/InvalidUrlError.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAYzC,MAAM,OAAO,eAAgB,SAAQ,SAAS;IAC5C,YAAY,MAA6B,EAAE,OAA4B;QACrE,KAAK,CAAC;YACJ,GAAG,OAAO;YACV,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,QAAQ,MAAM,CAAC,GAAG,eAAe,CAAC,CAAC,CAAC,iBAAiB,CAAC;YAC7G,GAAG,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,WAAW,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC3E,IAAI,EAAE,iBAAiB;SACxB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -207,4 +207,100 @@ async function _isDataUrlFetchSupported() {
207
207
  return false;
208
208
  }
209
209
  }
210
+ ////////////////////////////////////////////////////////////////////////////////
211
+ /**
212
+ * RFC 7230 `token` grammar restricted to lower-case (since names are normalized).
213
+ * tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
214
+ * "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
215
+ * Rejects whitespace, CR/LF, colons, and any non-ASCII characters.
216
+ */
217
+ const HEADER_NAME_RE = /^[!#$%&'*+\-.^_`|~0-9a-z]+$/;
218
+ /** RFC 7230 forbids CR, LF, and NUL in header values (CRLF-injection vector). */
219
+ const HEADER_VALUE_FORBIDDEN_RE = /[\r\n\0]/;
220
+ /**
221
+ * Lower-cases a header name and validates it against the RFC 7230 `token` grammar.
222
+ * Throws if the input is not a non-empty string of valid token characters.
223
+ *
224
+ * @param name - The header name to normalize.
225
+ * @returns The lower-cased, validated header name.
226
+ * @throws Error When `name` is not a string or contains characters outside RFC 7230 `token`.
227
+ *
228
+ * @example
229
+ * normalizeHeaderName('Content-Type'); // → 'content-type'
230
+ * normalizeHeaderName('X-Bad\r\nInject'); // throws
231
+ */
232
+ export function normalizeHeaderName(name) {
233
+ const lower = name.toLowerCase();
234
+ if (!HEADER_NAME_RE.test(lower)) {
235
+ throw new Error(`normalizeHeaderName: invalid header name ${JSON.stringify(name)}`);
236
+ }
237
+ return lower;
238
+ }
239
+ /**
240
+ * Validates a header value against the CRLF-injection forbidden set (`\r`, `\n`, `\0`).
241
+ * Returns the value unchanged when valid, so it can be used inline at the assignment site.
242
+ *
243
+ * @param value - The header value to validate.
244
+ * @returns The same `value`, unchanged.
245
+ * @throws Error When `value` contains CR, LF, or NUL.
246
+ *
247
+ * @example
248
+ * headers.authorization = `Bearer ${validateHeaderValue(token)}`;
249
+ * validateHeaderValue('bad\r\nInjected: x'); // throws
250
+ */
251
+ export function validateHeaderValue(value) {
252
+ if (HEADER_VALUE_FORBIDDEN_RE.test(value)) {
253
+ throw new Error(`validateHeaderValue: header value contains CR, LF, or NUL`);
254
+ }
255
+ return value;
256
+ }
257
+ /**
258
+ * Returns a new header record with keys lower-cased and non-string values dropped.
259
+ * Validates each header name against the RFC 7230 `token` grammar and rejects
260
+ * values containing CR, LF, or NUL (CRLF-injection vectors).
261
+ * Throws if two input keys lower-case to the same name (e.g. `Authorization` and
262
+ * `authorization`) — collision detection runs before value filtering.
263
+ * Non-object inputs (`null`, primitives, arrays) return `{}`.
264
+ *
265
+ * @param headers - Arbitrary value; only plain enumerable string-keyed objects
266
+ * are processed. Anything else yields `{}`.
267
+ * @returns A fresh, lower-cased header record with string values only.
268
+ * @throws Error When a header name violates RFC 7230, a value contains CR/LF/NUL,
269
+ * or two input keys differ only in case.
270
+ *
271
+ * @example
272
+ * normalizeHeaders({ 'Content-Type': 'application/json', Authorization: 'Bearer x' });
273
+ * // → { 'content-type': 'application/json', authorization: 'Bearer x' }
274
+ *
275
+ * @example
276
+ * normalizeHeaders({ Authorization: 'a', authorization: 'b' });
277
+ * // throws: keys 'Authorization' and 'authorization' both lower-case to 'authorization'
278
+ *
279
+ * @example
280
+ * normalizeHeaders({ 'X-Bad\r\nInject': 'x' });
281
+ * // throws: invalid header name
282
+ *
283
+ * @example
284
+ * normalizeHeaders({ foo: 'bar', count: 42, missing: undefined });
285
+ * // → { foo: 'bar' } (non-string values dropped)
286
+ */
287
+ export function normalizeHeaders(headers) {
288
+ if (headers === null || typeof headers !== 'object' || Array.isArray(headers)) {
289
+ return {};
290
+ }
291
+ const firstSeen = new Map();
292
+ const result = {};
293
+ for (const [key, value] of Object.entries(headers)) {
294
+ const lowerKey = normalizeHeaderName(key);
295
+ const previousKey = firstSeen.get(lowerKey);
296
+ if (previousKey !== undefined) {
297
+ throw new Error(`normalizeHeaders: keys '${previousKey}' and '${key}' both lower-case to '${lowerKey}'`);
298
+ }
299
+ firstSeen.set(lowerKey, key);
300
+ if (typeof value === 'string') {
301
+ result[lowerKey] = validateHeaderValue(value);
302
+ }
303
+ }
304
+ return result;
305
+ }
210
306
  //# sourceMappingURL=fetch.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../core/base/fetch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fetch.js","sourceRoot":"","sources":["../../../core/base/fetch.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,15 @@ export function removeSuffix(s, suffix) {
10
10
  }
11
11
  return s.endsWith(suffix) ? s.slice(0, -suffix.length) : s;
12
12
  }
13
+ export function removePrefix(s, prefix) {
14
+ if (s === undefined) {
15
+ return '';
16
+ }
17
+ if (prefix.length === 0) {
18
+ return s;
19
+ }
20
+ return s.startsWith(prefix) ? s.substring(prefix.length) : s;
21
+ }
13
22
  export function is0x(s) {
14
23
  return typeof s === 'string' && s.startsWith('0x');
15
24
  }
@@ -1 +1 @@
1
- {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../core/base/string.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"string.js","sourceRoot":"","sources":["../../../core/base/string.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { sdkName, version } from '../../../_version.js';
2
2
  import { setAuth } from '../../../base/auth.js';
3
3
  import { InvalidPropertyError } from '../../../base/errors/InvalidPropertyError.js';
4
4
  import { assertNever } from '../../../base/errors/utils.js';
5
- import { formatFetchErrorMetaMessages } from '../../../base/fetch.js';
5
+ import { formatFetchErrorMetaMessages, normalizeHeaders } from '../../../base/fetch.js';
6
6
  import { isNonEmptyString, safeJSONstringify } from '../../../base/string.js';
7
7
  import { isUint } from '../../../base/uint.js';
8
8
  import { RelayerAbortError } from '../../../errors/RelayerAbortError.js';
@@ -149,6 +149,12 @@ export class RelayerAsyncRequest {
149
149
  writable: true,
150
150
  value: void 0
151
151
  });
152
+ Object.defineProperty(this, "_customHeaders", {
153
+ enumerable: true,
154
+ configurable: true,
155
+ writable: true,
156
+ value: void 0
157
+ });
152
158
  Object.defineProperty(this, "_retryAfterTimeoutPromiseFuncReject", {
153
159
  enumerable: true,
154
160
  configurable: true,
@@ -281,6 +287,7 @@ export class RelayerAsyncRequest {
281
287
  this._payload = params.payload;
282
288
  this._debug = params.options?.debug === true;
283
289
  this._fhevmAuth = params.options?.auth;
290
+ this._customHeaders = normalizeHeaders(params.options?.headers);
284
291
  this._onProgress = params.options?.onProgress;
285
292
  this._state = {
286
293
  aborted: false,
@@ -1131,9 +1138,10 @@ export class RelayerAsyncRequest {
1131
1138
  const init = setAuth({
1132
1139
  method: 'POST',
1133
1140
  headers: {
1134
- 'Content-Type': 'application/json',
1135
- 'ZAMA-SDK-VERSION': version,
1136
- 'ZAMA-SDK-NAME': sdkName,
1141
+ ...this._customHeaders,
1142
+ 'content-type': 'application/json',
1143
+ 'zama-sdk-version': version,
1144
+ 'zama-sdk-name': sdkName,
1137
1145
  },
1138
1146
  body: JSON.stringify(this._payload),
1139
1147
  ...(this._internalAbortSignal ? { signal: this._internalAbortSignal } : {}),
@@ -1185,19 +1193,15 @@ export class RelayerAsyncRequest {
1185
1193
  this._assert(!this._state.terminated, '!this._state.terminated');
1186
1194
  this._assert(!this._state.fetching, '!this._state.fetching');
1187
1195
  this._trace('_fetchGet', `jobId=${this.jobId}`);
1188
- // Do not include API key here!
1189
- // API key is only required on POST (by design).
1190
- // This is necessary for future caching on gateway.
1191
- // It will be implemented in future releases on (relayer).
1192
- // See relayer team.
1193
- const init = {
1196
+ const init = setAuth({
1194
1197
  method: 'GET',
1195
1198
  headers: {
1196
- 'ZAMA-SDK-VERSION': version,
1197
- 'ZAMA-SDK-NAME': sdkName,
1199
+ ...this._customHeaders,
1200
+ 'zama-sdk-version': version,
1201
+ 'zama-sdk-name': sdkName,
1198
1202
  },
1199
1203
  ...(this._internalAbortSignal ? { signal: this._internalAbortSignal } : {}),
1200
- };
1204
+ }, this._fhevmAuth);
1201
1205
  this._state.fetching = true;
1202
1206
  let response;
1203
1207
  try {