@fhevm/sdk 1.1.0-alpha.2 → 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.
- package/_cjs/core/_version.js +1 -1
- package/_cjs/core/base/auth.js +8 -6
- package/_cjs/core/base/auth.js.map +1 -1
- package/_cjs/core/base/errors/InvalidUrlError.js +17 -0
- package/_cjs/core/base/errors/InvalidUrlError.js.map +1 -0
- package/_cjs/core/base/fetch.js +37 -0
- package/_cjs/core/base/fetch.js.map +1 -1
- package/_cjs/core/base/string.js +10 -0
- package/_cjs/core/base/string.js.map +1 -1
- package/_cjs/core/modules/decrypt/module/api-p.js +1 -2
- package/_cjs/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js +16 -7
- package/_cjs/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
- package/_cjs/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +5 -1
- package/_cjs/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js +10 -5
- package/_cjs/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js +5 -1
- package/_cjs/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js +5 -1
- package/_cjs/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_cjs/core/modules/relayer/module/relayerUrl.js +33 -27
- package/_cjs/core/modules/relayer/module/relayerUrl.js.map +1 -1
- package/_cjs/wasm/tfhe/loadTfheLib.js.map +1 -1
- package/_cjs/wasm/tkms/loadKmsLib.js.map +1 -1
- package/_esm/core/_version.js +1 -1
- package/_esm/core/base/auth.js +8 -6
- package/_esm/core/base/auth.js.map +1 -1
- package/_esm/core/base/errors/InvalidUrlError.js +13 -0
- package/_esm/core/base/errors/InvalidUrlError.js.map +1 -0
- package/_esm/core/base/fetch.js +96 -0
- package/_esm/core/base/fetch.js.map +1 -1
- package/_esm/core/base/string.js +9 -0
- package/_esm/core/base/string.js.map +1 -1
- package/_esm/core/modules/decrypt/module/api-p.js +18 -2
- package/_esm/core/modules/decrypt/module/api-p.js.map +1 -1
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js +17 -13
- package/_esm/core/modules/relayer/module/RelayerAsyncRequest.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js +5 -2
- package/_esm/core/modules/relayer/module/fetchCoprocessorSignatures.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js +6 -2
- package/_esm/core/modules/relayer/module/fetchDelegatedUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js +12 -7
- package/_esm/core/modules/relayer/module/fetchFheEncryptionKeySource.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js +6 -2
- package/_esm/core/modules/relayer/module/fetchPublicDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js +6 -2
- package/_esm/core/modules/relayer/module/fetchUserDecrypt.js.map +1 -1
- package/_esm/core/modules/relayer/module/relayerUrl.js +55 -27
- package/_esm/core/modules/relayer/module/relayerUrl.js.map +1 -1
- package/_types/core/base/auth.d.ts.map +1 -1
- package/_types/core/base/errors/InvalidUrlError.d.ts +14 -0
- package/_types/core/base/errors/InvalidUrlError.d.ts.map +1 -0
- package/_types/core/base/fetch.d.ts +57 -0
- package/_types/core/base/fetch.d.ts.map +1 -1
- package/_types/core/base/string.d.ts +1 -0
- package/_types/core/base/string.d.ts.map +1 -1
- package/_types/core/modules/decrypt/module/api-p.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts +1 -0
- package/_types/core/modules/relayer/module/RelayerAsyncRequest.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchCoprocessorSignatures.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchDelegatedUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchFheEncryptionKeySource.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchPublicDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/fetchUserDecrypt.d.ts.map +1 -1
- package/_types/core/modules/relayer/module/relayerUrl.d.ts +24 -5
- package/_types/core/modules/relayer/module/relayerUrl.d.ts.map +1 -1
- package/_types/core/types/relayer.d.ts +1 -0
- package/_types/core/types/relayer.d.ts.map +1 -1
- package/core/_version.ts +1 -1
- package/core/base/auth.ts +8 -6
- package/core/base/errors/InvalidUrlError.ts +24 -0
- package/core/base/fetch.ts +102 -0
- package/core/base/string.ts +10 -0
- package/core/modules/decrypt/module/api-p.ts +20 -3
- package/core/modules/relayer/module/RelayerAsyncRequest.ts +19 -17
- package/core/modules/relayer/module/fetchCoprocessorSignatures.ts +6 -2
- package/core/modules/relayer/module/fetchDelegatedUserDecrypt.ts +7 -2
- package/core/modules/relayer/module/fetchFheEncryptionKeySource.ts +12 -7
- package/core/modules/relayer/module/fetchPublicDecrypt.ts +7 -2
- package/core/modules/relayer/module/fetchUserDecrypt.ts +7 -2
- package/core/modules/relayer/module/relayerUrl.ts +66 -27
- package/core/types/relayer.ts +1 -0
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../core/base/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAEnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC;AAC/F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAAC;AAKnD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC;AAC3F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAK5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAIvE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAKxD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,MAAM,CAMtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAKlH;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,EACzD,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GAAG,mBAAmB,GACnE,OAAO,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAkD/C;AAED,wBAAgB,+BAA+B,CAAC,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAiBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAM7E"}
|
|
1
|
+
{"version":3,"file":"string.d.ts","sourceRoot":"","sources":["../../../core/base/string.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,6BAA6B,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACpG,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACrE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAKjE,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,wBAAgB,YAAY,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAQ1E;AAED,wBAAgB,IAAI,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,KAAK,MAAM,EAAE,CAEnD;AAED,wBAAgB,MAAM,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAE9C;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,YAAY,EAAE,CAAC,EAAE,CAAC,GAAG,QAAQ,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,YAAY,CAAC,CAAC;AAC/F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,KAAK,MAAM,EAAE,CAAC;AAKnD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,YAAY,GAAG,IAAI,CAAC,CAAC,EAAE,MAAM,QAAQ,CAAC,CAAC;AAC3F,wBAAgB,QAAQ,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;AAK5C,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,KAAK,MAAM,EAAE,CAIvE;AAED,wBAAgB,gBAAgB,CAAC,CAAC,EAAE,OAAO,GAAG,CAAC,IAAI,MAAM,CAKxD;AAED,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,CAAC,IAAI,MAAM,CAMtE;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,GAAG,CAAC,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAKlH;AAED;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,MAAM,EACzD,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE;IAAE,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CAAE,GAAG,mBAAmB,GACnE,OAAO,CAAC,MAAM,IAAI,wBAAwB,CAAC,CAAC,CAAC,CAkD/C;AAED,wBAAgB,+BAA+B,CAAC,CAAC,SAAS,MAAM,EAC9D,MAAM,EAAE,OAAO,EACf,QAAQ,EAAE,CAAC,EACX,UAAU,EAAE,MAAM,EAClB,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,MAAM,IAAI,6BAA6B,CAAC,CAAC,CAAC,CAiBpD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAKvD;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,MAAM,CAM7E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api-p.d.ts","sourceRoot":"","sources":["../../../../../core/modules/decrypt/module/api-p.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAC/B,mCAAmC,EACnC,mCAAmC,EACnC,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AA+IrB,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAO7G;AAMD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,+BAA+B,GAC1C,OAAO,CAAC,+BAA+B,CAAC,
|
|
1
|
+
{"version":3,"file":"api-p.d.ts","sourceRoot":"","sources":["../../../../../core/modules/decrypt/module/api-p.ts"],"names":[],"mappings":"AAQA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAC;AAIvE,OAAO,KAAK,EACV,+BAA+B,EAC/B,+BAA+B,EAC/B,mCAAmC,EACnC,mCAAmC,EACnC,gCAAgC,EAChC,6BAA6B,EAC7B,6BAA6B,EAC7B,iCAAiC,EACjC,iCAAiC,EACjC,8BAA8B,EAC/B,MAAM,aAAa,CAAC;AA+IrB,wBAAsB,sBAAsB,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,gCAAgC,CAAC,CAO7G;AAMD,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,+BAA+B,GAC1C,OAAO,CAAC,+BAA+B,CAAC,CAqJ1C;AAMD,wBAAsB,mBAAmB,CACvC,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,6BAA6B,GACxC,OAAO,CAAC,6BAA6B,CAAC,CAYxC;AAMD,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,iCAAiC,GAC5C,OAAO,CAAC,iCAAiC,CAAC,CAe5C;AAMD,wBAAsB,yBAAyB,CAC7C,OAAO,EAAE,YAAY,EACrB,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mCAAmC,CAAC,CAU9C;AAMD,wBAAgB,oBAAoB,CAAC,QAAQ,EAAE,YAAY,EAAE,UAAU,EAAE,8BAA8B,GAAG,IAAI,CAI7G"}
|
|
@@ -30,6 +30,7 @@ export declare class RelayerAsyncRequest {
|
|
|
30
30
|
private readonly _url;
|
|
31
31
|
private readonly _payload;
|
|
32
32
|
private readonly _fhevmAuth;
|
|
33
|
+
private readonly _customHeaders;
|
|
33
34
|
private _retryAfterTimeoutPromiseFuncReject?;
|
|
34
35
|
private readonly _onProgress?;
|
|
35
36
|
private readonly _requestMaxDurationInMs;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RelayerAsyncRequest.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/RelayerAsyncRequest.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAEV,wBAAwB,EAQxB,sBAAsB,EACvB,MAAM,6BAA6B,CAAC;AACrC,OAAO,KAAK,EAEV,qBAAqB,EACrB,wBAAwB,EACxB,sBAAsB,EACtB,kCAAkC,EAGlC,wBAAwB,EAExB,oBAAoB,EAOpB,2BAA2B,EAE3B,yBAAyB,EAE1B,MAAM,2BAA2B,CAAC;AAuEnC,KAAK,yBAAyB,GAAG;IAC/B,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,GAAG,EAAE,MAAM,CAAC;IACZ,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,gBAAgB,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,wBAAwB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EACJ,wBAAwB,GACxB,yBAAyB,GACzB,kCAAkC,GAClC,2BAA2B,GAC3B,SAAS,CAAC;CACf,CAAC;AAEF,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAU;IACjC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,MAAM,CAAqB;IACnC,OAAO,CAAC,eAAe,CAAqB;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAA2B;IAClD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAAuB;IACzD,OAAO,CAAC,wBAAwB,CAA8B;IAC9D,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,oBAAoB,CAA0B;IACtD,OAAO,CAAC,gBAAgB,CAAqC;IAC7D,OAAO,CAAC,eAAe,CAAU;IACjC,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,8BAA8B,CAAS;IACxD,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,KAAK,CAAS;IACtB,OAAO,CAAC,oBAAoB,CAA4C;IACxE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAA0B;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAmB;IAC9C,OAAO,CAAC,mCAAmC,CAAC,CAA2C;IACvF,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAQf;IACd,OAAO,CAAC,QAAQ,CAAC,uBAAuB,CAAS;IACjD,OAAO,CAAC,sBAAsB,CAAqB;IACnD,OAAO,CAAC,uBAAuB,CAA4C;IAC3E,OAAO,CAAC,QAAQ,CAAC,yBAAyB,CAAU;IAIpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IACtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,sBAAsB,CAAQ;IAEtD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,iCAAiC,CAAkB;IAC3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAW;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,CAAqC;IAG3E,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,oBAAoB,CAAQ;IACpD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAK;gBAE5B,MAAM,EAAE,yBAAyB;
|
|
1
|
+
{"version":3,"file":"RelayerAsyncRequest.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/RelayerAsyncRequest.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchCoprocessorSignatures.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchCoprocessorSignatures.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oCAAoC,EACpC,oCAAoC,EACpC,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAUrB,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,wBAAwB,EACvC,UAAU,EAAE,oCAAoC,GAC/C,OAAO,CAAC,oCAAoC,CAAC,
|
|
1
|
+
{"version":3,"file":"fetchCoprocessorSignatures.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchCoprocessorSignatures.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,oCAAoC,EACpC,oCAAoC,EACpC,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAUrB,wBAAsB,0BAA0B,CAC9C,aAAa,EAAE,wBAAwB,EACvC,UAAU,EAAE,oCAAoC,GAC/C,OAAO,CAAC,oCAAoC,CAAC,CA6B/C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchDelegatedUserDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchDelegatedUserDecrypt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mCAAmC,EACnC,mCAAmC,EACnC,wBAAwB,EACzB,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchDelegatedUserDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchDelegatedUserDecrypt.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,mCAAmC,EACnC,mCAAmC,EACnC,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAUrB,wBAAsB,yBAAyB,CAC7C,aAAa,EAAE,wBAAwB,EACvC,UAAU,EAAE,mCAAmC,GAC9C,OAAO,CAAC,mCAAmC,CAAC,CAoD9C"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchFheEncryptionKeySource.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchFheEncryptionKeySource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,qCAAqC,EACrC,aAAa,EACd,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchFheEncryptionKeySource.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchFheEncryptionKeySource.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,qCAAqC,EACrC,qCAAqC,EACrC,aAAa,EACd,MAAM,aAAa,CAAC;AAerB,wBAAsB,2BAA2B,CAC/C,aAAa,EAAE,aAAa,EAC5B,UAAU,EAAE,qCAAqC,GAChD,OAAO,CAAC,qCAAqC,CAAC,CA4EhD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchPublicDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchPublicDecrypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchPublicDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchPublicDecrypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,4BAA4B,EAAE,4BAA4B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AASxH,wBAAsB,kBAAkB,CACtC,aAAa,EAAE,wBAAwB,EACvC,UAAU,EAAE,4BAA4B,GACvC,OAAO,CAAC,4BAA4B,CAAC,CA6BvC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fetchUserDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchUserDecrypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"fetchUserDecrypt.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/fetchUserDecrypt.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,0BAA0B,EAAE,0BAA0B,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AASpH,wBAAsB,gBAAgB,CACpC,aAAa,EAAE,wBAAwB,EACvC,UAAU,EAAE,0BAA0B,GACrC,OAAO,CAAC,0BAA0B,CAAC,CAqDrC"}
|
|
@@ -1,6 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Validates and normalizes a relayer URL before it's used to build the request.
|
|
3
|
+
*
|
|
4
|
+
* Validation:
|
|
5
|
+
* - non-empty string
|
|
6
|
+
* - parses as a URL
|
|
7
|
+
* - protocol is `http:` or `https:`
|
|
8
|
+
* - contains no userinfo (`user:pass@host`)
|
|
9
|
+
* - contains no query string or fragment (they would corrupt path concatenation)
|
|
10
|
+
* - if `hasAuth` is true, requires `https:` unless the host is localhost
|
|
11
|
+
*
|
|
12
|
+
* Normalization (via WHATWG `URL`):
|
|
13
|
+
* - scheme and host lower-cased
|
|
14
|
+
* - default ports collapsed (`:443` for https, `:80` for http)
|
|
15
|
+
* - path percent-encoded canonically
|
|
16
|
+
* - bare-origin URLs get a single trailing `/` (`https://x` → `https://x/`)
|
|
17
|
+
*
|
|
18
|
+
* Throws {@link InvalidUrlError} on any failure so the caller surfaces a
|
|
19
|
+
* uniform error type.
|
|
20
|
+
*
|
|
21
|
+
* @returns The normalized URL object.
|
|
22
|
+
*/
|
|
23
|
+
export declare function validateRelayerBaseUrl(relayerUrl: unknown, hasAuth: boolean): URL;
|
|
24
|
+
export declare function buildRelayerUrlString(relayerBaseUrl: URL, path: string): string;
|
|
6
25
|
//# sourceMappingURL=relayerUrl.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayerUrl.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/relayerUrl.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"relayerUrl.d.ts","sourceRoot":"","sources":["../../../../../core/modules/relayer/module/relayerUrl.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,GAAG,GAAG,CA2CjF;AAED,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAK/E"}
|
|
@@ -23,6 +23,7 @@ export type FetchUserDecryptResult = readonly FetchUserDecryptResultItem[];
|
|
|
23
23
|
export type FetchDelegatedUserDecryptResult = readonly FetchUserDecryptResultItem[];
|
|
24
24
|
export type RelayerCommonOptions = {
|
|
25
25
|
auth?: Auth | undefined;
|
|
26
|
+
headers?: Record<string, string>;
|
|
26
27
|
debug?: boolean | undefined;
|
|
27
28
|
fetchRetries?: number | undefined;
|
|
28
29
|
fetchRetryDelayInMilliseconds?: number | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../../core/types/relayer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"relayer.d.ts","sourceRoot":"","sources":["../../../core/types/relayer.ts"],"names":[],"mappings":"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"}
|
package/core/_version.ts
CHANGED
package/core/base/auth.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Auth } from '../types/auth.js';
|
|
2
|
+
import { normalizeHeaderName, validateHeaderValue } from './fetch.js';
|
|
2
3
|
import { isNonEmptyString } from './string.js';
|
|
3
4
|
|
|
4
5
|
/**
|
|
@@ -12,23 +13,24 @@ export function setAuth(init: RequestInit, auth?: Auth): RequestInit {
|
|
|
12
13
|
if (auth) {
|
|
13
14
|
switch (auth.type) {
|
|
14
15
|
case 'BearerToken': {
|
|
15
|
-
(init.headers as Record<string, string>).
|
|
16
|
+
(init.headers as Record<string, string>).authorization = `Bearer ${validateHeaderValue(auth.token)}`;
|
|
16
17
|
break;
|
|
17
18
|
}
|
|
18
19
|
|
|
19
20
|
case 'ApiKeyHeader': {
|
|
20
|
-
const h = isNonEmptyString(auth.header) ? auth.header : 'x-api-key';
|
|
21
|
-
(init.headers as Record<string, string>)[h] = auth.value;
|
|
21
|
+
const h = isNonEmptyString(auth.header) ? normalizeHeaderName(auth.header) : 'x-api-key';
|
|
22
|
+
(init.headers as Record<string, string>)[h] = validateHeaderValue(auth.value);
|
|
22
23
|
break;
|
|
23
24
|
}
|
|
24
25
|
|
|
25
26
|
case 'ApiKeyCookie': {
|
|
26
|
-
const h = isNonEmptyString(auth.cookie) ? auth.cookie : 'x-api-key';
|
|
27
|
+
const h = isNonEmptyString(auth.cookie) ? normalizeHeaderName(auth.cookie) : 'x-api-key';
|
|
28
|
+
const v = validateHeaderValue(auth.value);
|
|
27
29
|
if (typeof window !== 'undefined') {
|
|
28
|
-
document.cookie = `${h}=${
|
|
30
|
+
document.cookie = `${h}=${v}; path=/; SameSite=Lax; Secure; HttpOnly;`;
|
|
29
31
|
init.credentials = 'include';
|
|
30
32
|
} else {
|
|
31
|
-
(init.headers as Record<string, string>).
|
|
33
|
+
(init.headers as Record<string, string>).cookie = `${h}=${v};`;
|
|
32
34
|
}
|
|
33
35
|
break;
|
|
34
36
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ErrorMetadataParams } from './ErrorBase.js';
|
|
2
|
+
import { ErrorBase } from './ErrorBase.js';
|
|
3
|
+
import { ensureError } from './utils.js';
|
|
4
|
+
|
|
5
|
+
export type InvalidUrlErrorType = InvalidUrlError & {
|
|
6
|
+
name: 'InvalidUrlError';
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
export type InvalidUrlErrorParams = Readonly<{
|
|
10
|
+
url?: string;
|
|
11
|
+
message?: string;
|
|
12
|
+
cause?: unknown;
|
|
13
|
+
}>;
|
|
14
|
+
|
|
15
|
+
export class InvalidUrlError extends ErrorBase {
|
|
16
|
+
constructor(params: InvalidUrlErrorParams, options: ErrorMetadataParams) {
|
|
17
|
+
super({
|
|
18
|
+
...options,
|
|
19
|
+
message: params.message ?? (params.url !== undefined ? `Url "${params.url}" is invalid.` : 'Url is invalid.'),
|
|
20
|
+
...(params.cause !== undefined ? { cause: ensureError(params.cause) } : {}),
|
|
21
|
+
name: 'InvalidUrlError',
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
}
|
package/core/base/fetch.ts
CHANGED
|
@@ -282,3 +282,105 @@ async function _isDataUrlFetchSupported(): Promise<boolean> {
|
|
|
282
282
|
return false;
|
|
283
283
|
}
|
|
284
284
|
}
|
|
285
|
+
|
|
286
|
+
////////////////////////////////////////////////////////////////////////////////
|
|
287
|
+
|
|
288
|
+
/**
|
|
289
|
+
* RFC 7230 `token` grammar restricted to lower-case (since names are normalized).
|
|
290
|
+
* tchar = "!" / "#" / "$" / "%" / "&" / "'" / "*" / "+" / "-" / "." /
|
|
291
|
+
* "^" / "_" / "`" / "|" / "~" / DIGIT / ALPHA
|
|
292
|
+
* Rejects whitespace, CR/LF, colons, and any non-ASCII characters.
|
|
293
|
+
*/
|
|
294
|
+
const HEADER_NAME_RE = /^[!#$%&'*+\-.^_`|~0-9a-z]+$/;
|
|
295
|
+
|
|
296
|
+
/** RFC 7230 forbids CR, LF, and NUL in header values (CRLF-injection vector). */
|
|
297
|
+
const HEADER_VALUE_FORBIDDEN_RE = /[\r\n\0]/;
|
|
298
|
+
|
|
299
|
+
/**
|
|
300
|
+
* Lower-cases a header name and validates it against the RFC 7230 `token` grammar.
|
|
301
|
+
* Throws if the input is not a non-empty string of valid token characters.
|
|
302
|
+
*
|
|
303
|
+
* @param name - The header name to normalize.
|
|
304
|
+
* @returns The lower-cased, validated header name.
|
|
305
|
+
* @throws Error When `name` is not a string or contains characters outside RFC 7230 `token`.
|
|
306
|
+
*
|
|
307
|
+
* @example
|
|
308
|
+
* normalizeHeaderName('Content-Type'); // → 'content-type'
|
|
309
|
+
* normalizeHeaderName('X-Bad\r\nInject'); // throws
|
|
310
|
+
*/
|
|
311
|
+
export function normalizeHeaderName(name: string): string {
|
|
312
|
+
const lower = name.toLowerCase();
|
|
313
|
+
if (!HEADER_NAME_RE.test(lower)) {
|
|
314
|
+
throw new Error(`normalizeHeaderName: invalid header name ${JSON.stringify(name)}`);
|
|
315
|
+
}
|
|
316
|
+
return lower;
|
|
317
|
+
}
|
|
318
|
+
|
|
319
|
+
/**
|
|
320
|
+
* Validates a header value against the CRLF-injection forbidden set (`\r`, `\n`, `\0`).
|
|
321
|
+
* Returns the value unchanged when valid, so it can be used inline at the assignment site.
|
|
322
|
+
*
|
|
323
|
+
* @param value - The header value to validate.
|
|
324
|
+
* @returns The same `value`, unchanged.
|
|
325
|
+
* @throws Error When `value` contains CR, LF, or NUL.
|
|
326
|
+
*
|
|
327
|
+
* @example
|
|
328
|
+
* headers.authorization = `Bearer ${validateHeaderValue(token)}`;
|
|
329
|
+
* validateHeaderValue('bad\r\nInjected: x'); // throws
|
|
330
|
+
*/
|
|
331
|
+
export function validateHeaderValue(value: string): string {
|
|
332
|
+
if (HEADER_VALUE_FORBIDDEN_RE.test(value)) {
|
|
333
|
+
throw new Error(`validateHeaderValue: header value contains CR, LF, or NUL`);
|
|
334
|
+
}
|
|
335
|
+
return value;
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
/**
|
|
339
|
+
* Returns a new header record with keys lower-cased and non-string values dropped.
|
|
340
|
+
* Validates each header name against the RFC 7230 `token` grammar and rejects
|
|
341
|
+
* values containing CR, LF, or NUL (CRLF-injection vectors).
|
|
342
|
+
* Throws if two input keys lower-case to the same name (e.g. `Authorization` and
|
|
343
|
+
* `authorization`) — collision detection runs before value filtering.
|
|
344
|
+
* Non-object inputs (`null`, primitives, arrays) return `{}`.
|
|
345
|
+
*
|
|
346
|
+
* @param headers - Arbitrary value; only plain enumerable string-keyed objects
|
|
347
|
+
* are processed. Anything else yields `{}`.
|
|
348
|
+
* @returns A fresh, lower-cased header record with string values only.
|
|
349
|
+
* @throws Error When a header name violates RFC 7230, a value contains CR/LF/NUL,
|
|
350
|
+
* or two input keys differ only in case.
|
|
351
|
+
*
|
|
352
|
+
* @example
|
|
353
|
+
* normalizeHeaders({ 'Content-Type': 'application/json', Authorization: 'Bearer x' });
|
|
354
|
+
* // → { 'content-type': 'application/json', authorization: 'Bearer x' }
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* normalizeHeaders({ Authorization: 'a', authorization: 'b' });
|
|
358
|
+
* // throws: keys 'Authorization' and 'authorization' both lower-case to 'authorization'
|
|
359
|
+
*
|
|
360
|
+
* @example
|
|
361
|
+
* normalizeHeaders({ 'X-Bad\r\nInject': 'x' });
|
|
362
|
+
* // throws: invalid header name
|
|
363
|
+
*
|
|
364
|
+
* @example
|
|
365
|
+
* normalizeHeaders({ foo: 'bar', count: 42, missing: undefined });
|
|
366
|
+
* // → { foo: 'bar' } (non-string values dropped)
|
|
367
|
+
*/
|
|
368
|
+
export function normalizeHeaders(headers: unknown): Readonly<Record<string, string>> {
|
|
369
|
+
if (headers === null || typeof headers !== 'object' || Array.isArray(headers)) {
|
|
370
|
+
return {};
|
|
371
|
+
}
|
|
372
|
+
const firstSeen = new Map<string, string>();
|
|
373
|
+
const result: Record<string, string> = {};
|
|
374
|
+
for (const [key, value] of Object.entries(headers)) {
|
|
375
|
+
const lowerKey = normalizeHeaderName(key);
|
|
376
|
+
const previousKey = firstSeen.get(lowerKey);
|
|
377
|
+
if (previousKey !== undefined) {
|
|
378
|
+
throw new Error(`normalizeHeaders: keys '${previousKey}' and '${key}' both lower-case to '${lowerKey}'`);
|
|
379
|
+
}
|
|
380
|
+
firstSeen.set(lowerKey, key);
|
|
381
|
+
if (typeof value === 'string') {
|
|
382
|
+
result[lowerKey] = validateHeaderValue(value);
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
return result;
|
|
386
|
+
}
|
package/core/base/string.ts
CHANGED
|
@@ -15,6 +15,16 @@ export function removeSuffix(s: string | undefined, suffix: string): string {
|
|
|
15
15
|
return s.endsWith(suffix) ? s.slice(0, -suffix.length) : s;
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
+
export function removePrefix(s: string | undefined, prefix: string): string {
|
|
19
|
+
if (s === undefined) {
|
|
20
|
+
return '';
|
|
21
|
+
}
|
|
22
|
+
if (prefix.length === 0) {
|
|
23
|
+
return s;
|
|
24
|
+
}
|
|
25
|
+
return s.startsWith(prefix) ? s.substring(prefix.length) : s;
|
|
26
|
+
}
|
|
27
|
+
|
|
18
28
|
export function is0x(s: unknown): s is `0x${string}` {
|
|
19
29
|
return typeof s === 'string' && s.startsWith('0x');
|
|
20
30
|
}
|
|
@@ -9,7 +9,7 @@ import type {
|
|
|
9
9
|
import type { FhevmRuntime } from '../../../types/coreFhevmRuntime.js';
|
|
10
10
|
import type { ClearValue } from '../../../types/encryptedTypes-p.js';
|
|
11
11
|
import type { TkmsPrivateKey, TkmsPrivateKeyBrand } from '../../../types/tkms-p.js';
|
|
12
|
-
import type { Bytes, BytesHex, BytesHexNo0x
|
|
12
|
+
import type { Bytes, BytesHex, BytesHexNo0x } from '../../../types/primitives.js';
|
|
13
13
|
import type {
|
|
14
14
|
DecryptAndReconstructParameters,
|
|
15
15
|
DecryptAndReconstructReturnType,
|
|
@@ -243,7 +243,6 @@ export async function decryptAndReconstruct(
|
|
|
243
243
|
// KmsEIP712Domain
|
|
244
244
|
const kmsEIP712Domain: KmsEip712Domain = metadata.eip712Domain;
|
|
245
245
|
const clientAddress: ChecksummedAddress = metadata.eip712SignerAddress;
|
|
246
|
-
const threshold: Uint8Number = metadata.kmsSignersContext.threshold;
|
|
247
246
|
|
|
248
247
|
// To be modified! use uint64ToBytes32 instead
|
|
249
248
|
const eip712DomainWasmArg: KmsEIP712DomainWasmType = {
|
|
@@ -280,6 +279,24 @@ export async function decryptAndReconstruct(
|
|
|
280
279
|
extra_data: remove0x(extraData),
|
|
281
280
|
};
|
|
282
281
|
|
|
282
|
+
//
|
|
283
|
+
// About the process_user_decryption_resp_from_js's `threshold` argument:
|
|
284
|
+
// ======================================================================
|
|
285
|
+
// It is optional.
|
|
286
|
+
// If left `undefined` it will be automatically computed (for 13 signers -> result is 4)
|
|
287
|
+
// To get the expected value for the selected KMS context, call:
|
|
288
|
+
//
|
|
289
|
+
// ProtocolConfig.getMpcThreshold() returns (uint256)
|
|
290
|
+
// ProtocolConfig.getMpcThresholdForContext(uint256 kmsContextId) returns (uint256)
|
|
291
|
+
//
|
|
292
|
+
// `threshold` - Optional expected threshold/degree used during response validation.
|
|
293
|
+
// Validation requires at least `threshold + 1` matching responses, and the selected pivot
|
|
294
|
+
// response must have `degree == threshold`. If not provided, it is computed from the number
|
|
295
|
+
// of server addresses as `(n - 1) / 3`.
|
|
296
|
+
//
|
|
297
|
+
// Warning! this `threshold` differs from KMSVerifier.getThreshold()
|
|
298
|
+
//
|
|
299
|
+
|
|
283
300
|
// 1. Call kms module to decrypt & reconstruct clear values
|
|
284
301
|
const typedPlaintextArray: TypedPlaintextWasmType[] = kmsLib.process_user_decryption_resp_from_js(
|
|
285
302
|
clientWasm, // client argument
|
|
@@ -288,7 +305,7 @@ export async function decryptAndReconstruct(
|
|
|
288
305
|
aggRespWasmArg, // agg_resp argument
|
|
289
306
|
publicEncKeyMlKem512Wasm, // enc_pk argument
|
|
290
307
|
privateEncKeyMlKem512Wasm, // enc_sk argument
|
|
291
|
-
|
|
308
|
+
undefined, // should be ProtocolConfig.getMpcThreshold() (!= KMSVerifier.getThreshold())
|
|
292
309
|
true, // verify argument
|
|
293
310
|
) as TypedPlaintextWasmType[];
|
|
294
311
|
|
|
@@ -37,7 +37,7 @@ import { sdkName, version } from '../../../_version.js';
|
|
|
37
37
|
import { setAuth } from '../../../base/auth.js';
|
|
38
38
|
import { InvalidPropertyError } from '../../../base/errors/InvalidPropertyError.js';
|
|
39
39
|
import { assertNever } from '../../../base/errors/utils.js';
|
|
40
|
-
import { formatFetchErrorMetaMessages } from '../../../base/fetch.js';
|
|
40
|
+
import { formatFetchErrorMetaMessages, normalizeHeaders } from '../../../base/fetch.js';
|
|
41
41
|
import { isNonEmptyString, safeJSONstringify } from '../../../base/string.js';
|
|
42
42
|
import { isUint } from '../../../base/uint.js';
|
|
43
43
|
import { RelayerAbortError } from '../../../errors/RelayerAbortError.js';
|
|
@@ -139,6 +139,7 @@ export class RelayerAsyncRequest {
|
|
|
139
139
|
private readonly _url: string;
|
|
140
140
|
private readonly _payload: Record<string, unknown>;
|
|
141
141
|
private readonly _fhevmAuth: Auth | undefined;
|
|
142
|
+
private readonly _customHeaders: Record<string, string> | undefined;
|
|
142
143
|
private _retryAfterTimeoutPromiseFuncReject?: ((reason?: unknown) => void) | undefined;
|
|
143
144
|
private readonly _onProgress?:
|
|
144
145
|
| ((
|
|
@@ -206,6 +207,7 @@ export class RelayerAsyncRequest {
|
|
|
206
207
|
this._payload = params.payload;
|
|
207
208
|
this._debug = params.options?.debug === true;
|
|
208
209
|
this._fhevmAuth = params.options?.auth;
|
|
210
|
+
this._customHeaders = normalizeHeaders(params.options?.headers);
|
|
209
211
|
this._onProgress = params.options?.onProgress as typeof this._onProgress;
|
|
210
212
|
this._state = {
|
|
211
213
|
aborted: false,
|
|
@@ -1197,9 +1199,10 @@ export class RelayerAsyncRequest {
|
|
|
1197
1199
|
{
|
|
1198
1200
|
method: 'POST',
|
|
1199
1201
|
headers: {
|
|
1200
|
-
|
|
1201
|
-
'
|
|
1202
|
-
'
|
|
1202
|
+
...this._customHeaders,
|
|
1203
|
+
'content-type': 'application/json',
|
|
1204
|
+
'zama-sdk-version': version,
|
|
1205
|
+
'zama-sdk-name': sdkName,
|
|
1203
1206
|
},
|
|
1204
1207
|
body: JSON.stringify(this._payload),
|
|
1205
1208
|
...(this._internalAbortSignal ? { signal: this._internalAbortSignal } : {}),
|
|
@@ -1265,19 +1268,18 @@ export class RelayerAsyncRequest {
|
|
|
1265
1268
|
|
|
1266
1269
|
this._trace('_fetchGet', `jobId=${this.jobId}`);
|
|
1267
1270
|
|
|
1268
|
-
|
|
1269
|
-
|
|
1270
|
-
|
|
1271
|
-
|
|
1272
|
-
|
|
1273
|
-
|
|
1274
|
-
|
|
1275
|
-
|
|
1276
|
-
|
|
1277
|
-
|
|
1278
|
-
|
|
1279
|
-
|
|
1280
|
-
};
|
|
1271
|
+
const init = setAuth(
|
|
1272
|
+
{
|
|
1273
|
+
method: 'GET',
|
|
1274
|
+
headers: {
|
|
1275
|
+
...this._customHeaders,
|
|
1276
|
+
'zama-sdk-version': version,
|
|
1277
|
+
'zama-sdk-name': sdkName,
|
|
1278
|
+
},
|
|
1279
|
+
...(this._internalAbortSignal ? { signal: this._internalAbortSignal } : {}),
|
|
1280
|
+
} satisfies RequestInit,
|
|
1281
|
+
this._fhevmAuth,
|
|
1282
|
+
);
|
|
1281
1283
|
|
|
1282
1284
|
this._state.fetching = true;
|
|
1283
1285
|
|
|
@@ -6,9 +6,9 @@ import type {
|
|
|
6
6
|
RelayerClientWithRuntime,
|
|
7
7
|
} from '../types.js';
|
|
8
8
|
import { bytesToHexNo0x } from '../../../base/bytes.js';
|
|
9
|
-
import { removeSuffix } from '../../../base/string.js';
|
|
10
9
|
import { uintToHex0x } from '../../../base/uint.js';
|
|
11
10
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
11
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
12
12
|
|
|
13
13
|
////////////////////////////////////////////////////////////////////////////////
|
|
14
14
|
// fetchCoprocessorSignatures
|
|
@@ -28,9 +28,13 @@ export async function fetchCoprocessorSignatures(
|
|
|
28
28
|
userAddress: payload.zkProof.userAddress,
|
|
29
29
|
};
|
|
30
30
|
|
|
31
|
+
const hasAuth: boolean = options?.auth !== undefined;
|
|
32
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.chain.fhevm.relayerUrl, hasAuth);
|
|
33
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v2/input-proof');
|
|
34
|
+
|
|
31
35
|
const request = new RelayerAsyncRequest({
|
|
32
36
|
relayerOperation: 'INPUT_PROOF',
|
|
33
|
-
url
|
|
37
|
+
url,
|
|
34
38
|
payload: inputProofPayload,
|
|
35
39
|
options,
|
|
36
40
|
});
|
|
@@ -6,8 +6,9 @@ import type {
|
|
|
6
6
|
RelayerClientWithRuntime,
|
|
7
7
|
} from '../types.js';
|
|
8
8
|
import type { KmsSigncryptedShare } from '../../../types/kms-p.js';
|
|
9
|
-
import { remove0x
|
|
9
|
+
import { remove0x } from '../../../base/string.js';
|
|
10
10
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
11
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
11
12
|
|
|
12
13
|
//////////////////////////////////////////////////////////////////////////////
|
|
13
14
|
// fetchDelegatedUserDecrypt
|
|
@@ -45,9 +46,13 @@ export async function fetchDelegatedUserDecrypt(
|
|
|
45
46
|
publicKey: remove0x(payload.kmsDecryptEip712Message.publicKey),
|
|
46
47
|
};
|
|
47
48
|
|
|
49
|
+
const hasAuth: boolean = options?.auth !== undefined;
|
|
50
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.chain.fhevm.relayerUrl, hasAuth);
|
|
51
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v2/delegated-user-decrypt');
|
|
52
|
+
|
|
48
53
|
const request = new RelayerAsyncRequest({
|
|
49
54
|
relayerOperation: 'DELEGATED_USER_DECRYPT',
|
|
50
|
-
url
|
|
55
|
+
url,
|
|
51
56
|
payload: relayerPayload,
|
|
52
57
|
options,
|
|
53
58
|
});
|
|
@@ -7,9 +7,11 @@ import type { FetchKeyUrlResult } from '../../../types/relayer-p.js';
|
|
|
7
7
|
import { setAuth } from '../../../base/auth.js';
|
|
8
8
|
import { RelayerFetchError } from '../../../errors/RelayerFetchError.js';
|
|
9
9
|
import { assertRecordArrayProperty, assertRecordNonNullableProperty } from '../../../base/record.js';
|
|
10
|
-
import { fetchWithRetry } from '../../../base/fetch.js';
|
|
10
|
+
import { fetchWithRetry, normalizeHeaders } from '../../../base/fetch.js';
|
|
11
11
|
import { sdkName, version } from '../../../_version.js';
|
|
12
|
-
import { assertRecordStringArrayProperty, assertRecordStringProperty
|
|
12
|
+
import { assertRecordStringArrayProperty, assertRecordStringProperty } from '../../../base/string.js';
|
|
13
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
14
|
+
import { assert } from '../../../base/errors/InternalError.js';
|
|
13
15
|
|
|
14
16
|
////////////////////////////////////////////////////////////////////////////////
|
|
15
17
|
// fetchFheEncryptionKeySource
|
|
@@ -20,19 +22,22 @@ export async function fetchFheEncryptionKeySource(
|
|
|
20
22
|
parameters: FetchFheEncryptionKeySourceParameters,
|
|
21
23
|
): Promise<FetchFheEncryptionKeySourceReturnType> {
|
|
22
24
|
const { options } = parameters;
|
|
23
|
-
const
|
|
25
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.relayerUrl, options?.auth !== undefined);
|
|
26
|
+
const customHeaders = normalizeHeaders(options?.headers);
|
|
24
27
|
const init = setAuth(
|
|
25
28
|
{
|
|
26
29
|
method: 'GET',
|
|
27
30
|
headers: {
|
|
28
|
-
|
|
29
|
-
'
|
|
31
|
+
...customHeaders,
|
|
32
|
+
'zama-sdk-version': version,
|
|
33
|
+
'zama-sdk-name': sdkName,
|
|
30
34
|
},
|
|
31
35
|
} satisfies RequestInit,
|
|
32
36
|
options?.auth,
|
|
33
37
|
);
|
|
34
38
|
|
|
35
|
-
|
|
39
|
+
assert(relayerBaseUrl.pathname.endsWith('/'));
|
|
40
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v2/keyurl');
|
|
36
41
|
|
|
37
42
|
let response;
|
|
38
43
|
try {
|
|
@@ -87,7 +92,7 @@ export async function fetchFheEncryptionKeySource(
|
|
|
87
92
|
capacity: 2048,
|
|
88
93
|
},
|
|
89
94
|
metadata: {
|
|
90
|
-
relayerUrl,
|
|
95
|
+
relayerUrl: relayerClient.relayerUrl,
|
|
91
96
|
chainId: relayerClient.chainId,
|
|
92
97
|
},
|
|
93
98
|
};
|
|
@@ -2,8 +2,9 @@ import type { Bytes65Hex } from '../../../types/primitives.js';
|
|
|
2
2
|
import type { RelayerFetchPublicDecryptPayload } from '../../../types/relayer-p.js';
|
|
3
3
|
import type { FetchPublicDecryptResult } from '../../../types/relayer.js';
|
|
4
4
|
import type { FetchPublicDecryptParameters, FetchPublicDecryptReturnType, RelayerClientWithRuntime } from '../types.js';
|
|
5
|
-
import { ensure0x
|
|
5
|
+
import { ensure0x } from '../../../base/string.js';
|
|
6
6
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
7
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
7
8
|
|
|
8
9
|
//////////////////////////////////////////////////////////////////////////////
|
|
9
10
|
// fetchPublicDecrypt
|
|
@@ -23,9 +24,13 @@ export async function fetchPublicDecrypt(
|
|
|
23
24
|
extraData: payload.extraData,
|
|
24
25
|
};
|
|
25
26
|
|
|
27
|
+
const hasAuth: boolean = options?.auth !== undefined;
|
|
28
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.chain.fhevm.relayerUrl, hasAuth);
|
|
29
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v2/public-decrypt');
|
|
30
|
+
|
|
26
31
|
const request = new RelayerAsyncRequest({
|
|
27
32
|
relayerOperation: 'PUBLIC_DECRYPT',
|
|
28
|
-
url
|
|
33
|
+
url,
|
|
29
34
|
payload: p,
|
|
30
35
|
options,
|
|
31
36
|
});
|
|
@@ -2,8 +2,9 @@ import type { KmsSigncryptedShare } from '../../../types/kms-p.js';
|
|
|
2
2
|
import type { FetchUserDecryptPayload } from '../../../types/relayer-p.js';
|
|
3
3
|
import type { FetchUserDecryptResult } from '../../../types/relayer.js';
|
|
4
4
|
import type { FetchUserDecryptParameters, FetchUserDecryptReturnType, RelayerClientWithRuntime } from '../types.js';
|
|
5
|
-
import { remove0x
|
|
5
|
+
import { remove0x } from '../../../base/string.js';
|
|
6
6
|
import { RelayerAsyncRequest } from './RelayerAsyncRequest.js';
|
|
7
|
+
import { buildRelayerUrlString, validateRelayerBaseUrl } from './relayerUrl.js';
|
|
7
8
|
|
|
8
9
|
//////////////////////////////////////////////////////////////////////////////
|
|
9
10
|
// fetchUserDecrypt
|
|
@@ -42,9 +43,13 @@ export async function fetchUserDecrypt(
|
|
|
42
43
|
publicKey: remove0x(payload.kmsDecryptEip712Message.publicKey),
|
|
43
44
|
};
|
|
44
45
|
|
|
46
|
+
const hasAuth: boolean = options?.auth !== undefined;
|
|
47
|
+
const relayerBaseUrl: URL = validateRelayerBaseUrl(relayerClient.chain.fhevm.relayerUrl, hasAuth);
|
|
48
|
+
const url = buildRelayerUrlString(relayerBaseUrl, 'v2/user-decrypt');
|
|
49
|
+
|
|
45
50
|
const request = new RelayerAsyncRequest({
|
|
46
51
|
relayerOperation: 'USER_DECRYPT',
|
|
47
|
-
url
|
|
52
|
+
url,
|
|
48
53
|
payload: relayerPayload,
|
|
49
54
|
options,
|
|
50
55
|
});
|