zerc20-client-sdk 0.1.15 → 0.2.0
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/README.md +239 -25
- package/dist/chain/__tests__/metadata.test.d.ts +2 -0
- package/dist/chain/__tests__/metadata.test.d.ts.map +1 -0
- package/dist/chain/__tests__/metadata.test.js +162 -0
- package/dist/chain/__tests__/metadata.test.js.map +1 -0
- package/dist/chain/index.d.ts +3 -0
- package/dist/chain/index.d.ts.map +1 -0
- package/dist/chain/index.js +2 -0
- package/dist/chain/index.js.map +1 -0
- package/dist/chain/metadata.d.ts +38 -0
- package/dist/chain/metadata.d.ts.map +1 -0
- package/dist/chain/metadata.js +158 -0
- package/dist/chain/metadata.js.map +1 -0
- package/dist/chain/types.d.ts +18 -0
- package/dist/chain/types.d.ts.map +1 -0
- package/dist/chain/types.js +2 -0
- package/dist/chain/types.js.map +1 -0
- package/dist/constants.d.ts +3 -3
- package/dist/constants.js +3 -3
- package/dist/ic/__tests__/connections.test.js +16 -152
- package/dist/ic/__tests__/connections.test.js.map +1 -1
- package/dist/ic/__tests__/recipient.test.d.ts +2 -0
- package/dist/ic/__tests__/recipient.test.d.ts.map +1 -0
- package/dist/ic/__tests__/recipient.test.js +47 -0
- package/dist/ic/__tests__/recipient.test.js.map +1 -0
- package/dist/ic/authorization.js +2 -2
- package/dist/ic/authorization.js.map +1 -1
- package/dist/ic/connections.d.ts +0 -50
- package/dist/ic/connections.d.ts.map +1 -1
- package/dist/ic/connections.js +0 -127
- package/dist/ic/connections.js.map +1 -1
- package/dist/ic/index.d.ts +4 -8
- package/dist/ic/index.d.ts.map +1 -1
- package/dist/ic/index.js +3 -8
- package/dist/ic/index.js.map +1 -1
- package/dist/ic/recipient.d.ts +10 -0
- package/dist/ic/recipient.d.ts.map +1 -1
- package/dist/ic/recipient.js +21 -1
- package/dist/ic/recipient.js.map +1 -1
- package/dist/index.d.ts +14 -5
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +8 -5
- package/dist/index.js.map +1 -1
- package/dist/onchain/__tests__/contracts.test.js +2 -32
- package/dist/onchain/__tests__/contracts.test.js.map +1 -1
- package/dist/onchain/__tests__/decode.test.d.ts +2 -0
- package/dist/onchain/__tests__/decode.test.d.ts.map +1 -0
- package/dist/onchain/__tests__/decode.test.js +155 -0
- package/dist/onchain/__tests__/decode.test.js.map +1 -0
- package/dist/onchain/__tests__/tokenReads.test.d.ts +2 -0
- package/dist/onchain/__tests__/tokenReads.test.d.ts.map +1 -0
- package/dist/onchain/__tests__/tokenReads.test.js +60 -0
- package/dist/onchain/__tests__/tokenReads.test.js.map +1 -0
- package/dist/onchain/contracts.d.ts +3 -29734
- package/dist/onchain/contracts.d.ts.map +1 -1
- package/dist/onchain/contracts.js +3 -59
- package/dist/onchain/contracts.js.map +1 -1
- package/dist/onchain/decode.d.ts +39 -0
- package/dist/onchain/decode.d.ts.map +1 -0
- package/dist/onchain/decode.js +100 -0
- package/dist/onchain/decode.js.map +1 -0
- package/dist/onchain/tokenReads.d.ts +30 -0
- package/dist/onchain/tokenReads.d.ts.map +1 -0
- package/dist/onchain/tokenReads.js +51 -0
- package/dist/onchain/tokenReads.js.map +1 -0
- package/dist/operations/__tests__/invoice.test.js +52 -1
- package/dist/operations/__tests__/invoice.test.js.map +1 -1
- package/dist/operations/__tests__/privateSendTransfer.test.d.ts +2 -0
- package/dist/operations/__tests__/privateSendTransfer.test.d.ts.map +1 -0
- package/dist/operations/__tests__/privateSendTransfer.test.js +60 -0
- package/dist/operations/__tests__/privateSendTransfer.test.js.map +1 -0
- package/dist/operations/__tests__/reexports.test.js +1 -1
- package/dist/operations/__tests__/reexports.test.js.map +1 -1
- package/dist/operations/__tests__/teleportProof.test.js +35 -75
- package/dist/operations/__tests__/teleportProof.test.js.map +1 -1
- package/dist/operations/invoice.d.ts +14 -0
- package/dist/operations/invoice.d.ts.map +1 -1
- package/dist/operations/invoice.js +22 -0
- package/dist/operations/invoice.js.map +1 -1
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js +57 -0
- package/dist/operations/layerzeroScan/__tests__/codec.decode.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.js +120 -0
- package/dist/operations/layerzeroScan/__tests__/codec.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.js +164 -0
- package/dist/operations/layerzeroScan/__tests__/formatters.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.js +164 -0
- package/dist/operations/layerzeroScan/__tests__/integration.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.js +103 -0
- package/dist/operations/layerzeroScan/__tests__/scan.test.js.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.d.ts +2 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.js +153 -0
- package/dist/operations/layerzeroScan/__tests__/status.test.js.map +1 -0
- package/dist/operations/layerzeroScan/codec.d.ts +34 -0
- package/dist/operations/layerzeroScan/codec.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/codec.js +79 -0
- package/dist/operations/layerzeroScan/codec.js.map +1 -0
- package/dist/operations/layerzeroScan/formatters.d.ts +26 -0
- package/dist/operations/layerzeroScan/formatters.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/formatters.js +75 -0
- package/dist/operations/layerzeroScan/formatters.js.map +1 -0
- package/dist/operations/layerzeroScan/index.d.ts +9 -0
- package/dist/operations/layerzeroScan/index.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/index.js +12 -0
- package/dist/operations/layerzeroScan/index.js.map +1 -0
- package/dist/operations/layerzeroScan/scan.d.ts +21 -0
- package/dist/operations/layerzeroScan/scan.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/scan.js +70 -0
- package/dist/operations/layerzeroScan/scan.js.map +1 -0
- package/dist/operations/layerzeroScan/status.d.ts +17 -0
- package/dist/operations/layerzeroScan/status.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/status.js +178 -0
- package/dist/operations/layerzeroScan/status.js.map +1 -0
- package/dist/operations/layerzeroScan/types.d.ts +181 -0
- package/dist/operations/layerzeroScan/types.d.ts.map +1 -0
- package/dist/operations/layerzeroScan/types.js +5 -0
- package/dist/operations/layerzeroScan/types.js.map +1 -0
- package/dist/operations/layerzeroScan.d.ts +5 -0
- package/dist/operations/layerzeroScan.d.ts.map +1 -0
- package/dist/operations/layerzeroScan.js +5 -0
- package/dist/operations/layerzeroScan.js.map +1 -0
- package/dist/operations/liquidityManager/__tests__/balance.test.js +24 -37
- package/dist/operations/liquidityManager/__tests__/balance.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js +51 -31
- package/dist/operations/liquidityManager/__tests__/crossUnwrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/helpers.test.js +11 -8
- package/dist/operations/liquidityManager/__tests__/helpers.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/unwrap.test.js +68 -82
- package/dist/operations/liquidityManager/__tests__/unwrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/__tests__/wrap.test.js +55 -64
- package/dist/operations/liquidityManager/__tests__/wrap.test.js.map +1 -1
- package/dist/operations/liquidityManager/abi.d.ts +57 -0
- package/dist/operations/liquidityManager/abi.d.ts.map +1 -0
- package/dist/operations/liquidityManager/abi.js +41 -0
- package/dist/operations/liquidityManager/abi.js.map +1 -0
- package/dist/operations/liquidityManager/balance.d.ts +3 -3
- package/dist/operations/liquidityManager/balance.d.ts.map +1 -1
- package/dist/operations/liquidityManager/balance.js +22 -15
- package/dist/operations/liquidityManager/balance.js.map +1 -1
- package/dist/operations/liquidityManager/crossUnwrap.d.ts +13 -11
- package/dist/operations/liquidityManager/crossUnwrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/crossUnwrap.js +44 -20
- package/dist/operations/liquidityManager/crossUnwrap.js.map +1 -1
- package/dist/operations/liquidityManager/helpers.d.ts +10 -15474
- package/dist/operations/liquidityManager/helpers.d.ts.map +1 -1
- package/dist/operations/liquidityManager/helpers.js +28 -18
- package/dist/operations/liquidityManager/helpers.js.map +1 -1
- package/dist/operations/liquidityManager/index.d.ts +1 -0
- package/dist/operations/liquidityManager/index.d.ts.map +1 -1
- package/dist/operations/liquidityManager/index.js +2 -0
- package/dist/operations/liquidityManager/index.js.map +1 -1
- package/dist/operations/liquidityManager/types.d.ts +1 -1
- package/dist/operations/liquidityManager/types.d.ts.map +1 -1
- package/dist/operations/liquidityManager/unwrap.d.ts +9 -9
- package/dist/operations/liquidityManager/unwrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/unwrap.js +48 -24
- package/dist/operations/liquidityManager/unwrap.js.map +1 -1
- package/dist/operations/liquidityManager/wrap.d.ts +7 -7
- package/dist/operations/liquidityManager/wrap.d.ts.map +1 -1
- package/dist/operations/liquidityManager/wrap.js +35 -16
- package/dist/operations/liquidityManager/wrap.js.map +1 -1
- package/dist/operations/privateSend.d.ts +33 -0
- package/dist/operations/privateSend.d.ts.map +1 -1
- package/dist/operations/privateSend.js +26 -0
- package/dist/operations/privateSend.js.map +1 -1
- package/dist/operations/receive/__tests__/announcementStatus.test.js +34 -11
- package/dist/operations/receive/__tests__/announcementStatus.test.js.map +1 -1
- package/dist/operations/receive/__tests__/cache.test.js +28 -167
- package/dist/operations/receive/__tests__/cache.test.js.map +1 -1
- package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.js +28 -0
- package/dist/operations/receive/__tests__/createVerifierReader.test.js.map +1 -0
- package/dist/operations/receive/__tests__/helpers.test.js +9 -9
- package/dist/operations/receive/__tests__/helpers.test.js.map +1 -1
- package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.js +258 -0
- package/dist/operations/receive/__tests__/redeemTransaction.test.js.map +1 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.d.ts +2 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.d.ts.map +1 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.js +58 -0
- package/dist/operations/receive/__tests__/submitRedeem.test.js.map +1 -0
- package/dist/operations/receive/announcementStatus.d.ts +1 -1
- package/dist/operations/receive/announcementStatus.d.ts.map +1 -1
- package/dist/operations/receive/announcementStatus.js +7 -5
- package/dist/operations/receive/announcementStatus.js.map +1 -1
- package/dist/operations/receive/cache.d.ts +0 -18
- package/dist/operations/receive/cache.d.ts.map +1 -1
- package/dist/operations/receive/cache.js +0 -30
- package/dist/operations/receive/cache.js.map +1 -1
- package/dist/operations/receive/helpers.d.ts +14 -3
- package/dist/operations/receive/helpers.d.ts.map +1 -1
- package/dist/operations/receive/helpers.js +33 -3
- package/dist/operations/receive/helpers.js.map +1 -1
- package/dist/operations/receive/index.d.ts +6 -2
- package/dist/operations/receive/index.d.ts.map +1 -1
- package/dist/operations/receive/index.js +6 -1
- package/dist/operations/receive/index.js.map +1 -1
- package/dist/operations/receive/redeemTransaction.d.ts +30 -0
- package/dist/operations/receive/redeemTransaction.d.ts.map +1 -0
- package/dist/operations/receive/redeemTransaction.js +104 -0
- package/dist/operations/receive/redeemTransaction.js.map +1 -0
- package/dist/operations/receive/submitRedeem.d.ts +32 -0
- package/dist/operations/receive/submitRedeem.d.ts.map +1 -0
- package/dist/operations/receive/submitRedeem.js +27 -0
- package/dist/operations/receive/submitRedeem.js.map +1 -0
- package/dist/operations/receive/types.d.ts +53 -5
- package/dist/operations/receive/types.d.ts.map +1 -1
- package/dist/operations/teleportProof.d.ts +10 -31
- package/dist/operations/teleportProof.d.ts.map +1 -1
- package/dist/operations/teleportProof.js +14 -26
- package/dist/operations/teleportProof.js.map +1 -1
- package/dist/registry/__tests__/helpers.test.js +2 -44
- package/dist/registry/__tests__/helpers.test.js.map +1 -1
- package/dist/registry/__tests__/loader.test.js +17 -191
- package/dist/registry/__tests__/loader.test.js.map +1 -1
- package/dist/registry/__tests__/normalize.test.js +109 -1
- package/dist/registry/__tests__/normalize.test.js.map +1 -1
- package/dist/registry/helpers.d.ts +0 -7
- package/dist/registry/helpers.d.ts.map +1 -1
- package/dist/registry/helpers.js +0 -14
- package/dist/registry/helpers.js.map +1 -1
- package/dist/registry/index.d.ts +5 -5
- package/dist/registry/index.d.ts.map +1 -1
- package/dist/registry/index.js +4 -4
- package/dist/registry/index.js.map +1 -1
- package/dist/registry/loader.d.ts +0 -25
- package/dist/registry/loader.d.ts.map +1 -1
- package/dist/registry/loader.js +0 -68
- package/dist/registry/loader.js.map +1 -1
- package/dist/registry/normalize.d.ts +13 -1
- package/dist/registry/normalize.d.ts.map +1 -1
- package/dist/registry/normalize.js +43 -0
- package/dist/registry/normalize.js.map +1 -1
- package/dist/registry/types.d.ts +13 -2
- package/dist/registry/types.d.ts.map +1 -1
- package/dist/types/__tests__/evm.test.d.ts +2 -0
- package/dist/types/__tests__/evm.test.d.ts.map +1 -0
- package/dist/types/__tests__/evm.test.js +15 -0
- package/dist/types/__tests__/evm.test.js.map +1 -0
- package/dist/types/evm.d.ts +95 -0
- package/dist/types/evm.d.ts.map +1 -0
- package/dist/types/evm.js +11 -0
- package/dist/types/evm.js.map +1 -0
- package/dist/types.d.ts +15 -13
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/__tests__/fees.test.js +66 -29
- package/dist/utils/__tests__/fees.test.js.map +1 -1
- package/dist/utils/__tests__/hex.test.js +64 -1
- package/dist/utils/__tests__/hex.test.js.map +1 -1
- package/dist/utils/__tests__/http.test.js +2 -64
- package/dist/utils/__tests__/http.test.js.map +1 -1
- package/dist/utils/fees.d.ts +7 -2
- package/dist/utils/fees.d.ts.map +1 -1
- package/dist/utils/fees.js +32 -16
- package/dist/utils/fees.js.map +1 -1
- package/dist/utils/hex.d.ts +11 -0
- package/dist/utils/hex.d.ts.map +1 -1
- package/dist/utils/hex.js +16 -1
- package/dist/utils/hex.js.map +1 -1
- package/dist/utils/http.d.ts +0 -27
- package/dist/utils/http.d.ts.map +1 -1
- package/dist/utils/http.js +0 -36
- package/dist/utils/http.js.map +1 -1
- package/dist/wasm/__tests__/functions.test.js +56 -1
- package/dist/wasm/__tests__/functions.test.js.map +1 -1
- package/dist/wasm/functions.d.ts +6 -0
- package/dist/wasm/functions.d.ts.map +1 -1
- package/dist/wasm/functions.js +17 -0
- package/dist/wasm/functions.js.map +1 -1
- package/dist/wasm/index.d.ts +1 -1
- package/dist/wasm/index.d.ts.map +1 -1
- package/dist/wasm/index.js +1 -1
- package/dist/wasm/index.js.map +1 -1
- package/dist/zkp/__tests__/proofService.test.js +34 -52
- package/dist/zkp/__tests__/proofService.test.js.map +1 -1
- package/dist/zkp/__tests__/workerClient.test.js +1 -40
- package/dist/zkp/__tests__/workerClient.test.js.map +1 -1
- package/dist/zkp/index.d.ts +1 -1
- package/dist/zkp/index.d.ts.map +1 -1
- package/dist/zkp/index.js +1 -1
- package/dist/zkp/index.js.map +1 -1
- package/dist/zkp/proofService.d.ts +6 -2
- package/dist/zkp/proofService.d.ts.map +1 -1
- package/dist/zkp/proofService.js +12 -15
- package/dist/zkp/proofService.js.map +1 -1
- package/dist/zkp/worker.js +13 -137
- package/dist/zkp/worker.js.map +1 -1
- package/dist/zkp/workerClient.d.ts +0 -24
- package/dist/zkp/workerClient.d.ts.map +1 -1
- package/dist/zkp/workerClient.js +0 -36
- package/dist/zkp/workerClient.js.map +1 -1
- package/package.json +3 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"loader.js","sourceRoot":"","sources":["../../src/registry/loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TokensFile, NormalizedTokens } from "./types.js";
|
|
1
|
+
import type { TokensFile, NormalizedTokens, RpcOverrides } from "./types.js";
|
|
2
2
|
/**
|
|
3
3
|
* Normalizes a tokens file by validating and transforming all entries.
|
|
4
4
|
* Handles both camelCase and snake_case field names.
|
|
@@ -26,4 +26,16 @@ export declare function asNormalizedTokens(file: TokensFile): NormalizedTokens;
|
|
|
26
26
|
* Normalizes a tokens file and returns it with the raw data preserved.
|
|
27
27
|
*/
|
|
28
28
|
export declare function normalizeTokens(file: TokensFile): NormalizedTokens;
|
|
29
|
+
/**
|
|
30
|
+
* Normalizes a tokens file with optional RPC URL overrides.
|
|
31
|
+
*
|
|
32
|
+
* @remarks
|
|
33
|
+
* This is a convenience wrapper that:
|
|
34
|
+
* 1. Clones the input to avoid mutation
|
|
35
|
+
* 2. Applies RPC URL overrides (matched by token `label`)
|
|
36
|
+
* 3. Runs full normalization (snake_case → camelCase, address normalization, validation)
|
|
37
|
+
*
|
|
38
|
+
* Accepts both camelCase and snake_case input (the underlying `normalizeTokensFile` handles both).
|
|
39
|
+
*/
|
|
40
|
+
export declare function normalizeTokensWithOverrides(file: TokensFile, overrides?: RpcOverrides): NormalizedTokens;
|
|
29
41
|
//# sourceMappingURL=normalize.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAc7E;;;;;;;;;;;GAWG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CA8EhE;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,CAM5D;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAOrE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,gBAAgB,CAElE;AA6BD;;;;;;;;;;GAUG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,UAAU,EAChB,SAAS,CAAC,EAAE,YAAY,GACvB,gBAAgB,CAKlB"}
|
|
@@ -78,4 +78,47 @@ export function asNormalizedTokens(file) {
|
|
|
78
78
|
export function normalizeTokens(file) {
|
|
79
79
|
return asNormalizedTokens(file);
|
|
80
80
|
}
|
|
81
|
+
/**
|
|
82
|
+
* Applies RPC URL overrides to a tokens file **before** normalization.
|
|
83
|
+
* Matches tokens by `label` and sets both `rpcUrls` and `rpc_urls` so that
|
|
84
|
+
* either camelCase or snake_case input is handled correctly.
|
|
85
|
+
*/
|
|
86
|
+
function applyRpcOverrides(file, overrides) {
|
|
87
|
+
if (overrides.tokens && Array.isArray(file.tokens)) {
|
|
88
|
+
const tokenOverrides = overrides.tokens;
|
|
89
|
+
file.tokens = file.tokens.map((entry) => {
|
|
90
|
+
if (entry == null || typeof entry !== "object")
|
|
91
|
+
return entry;
|
|
92
|
+
const record = entry;
|
|
93
|
+
const label = record["label"];
|
|
94
|
+
if (label && Object.hasOwn(tokenOverrides, label)) {
|
|
95
|
+
const urls = tokenOverrides[label];
|
|
96
|
+
return { ...entry, rpcUrls: urls, rpc_urls: urls };
|
|
97
|
+
}
|
|
98
|
+
return entry;
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
if (overrides.hub && file.hub) {
|
|
102
|
+
file.hub = { ...file.hub, rpcUrls: overrides.hub, rpc_urls: overrides.hub };
|
|
103
|
+
}
|
|
104
|
+
return file;
|
|
105
|
+
}
|
|
106
|
+
/**
|
|
107
|
+
* Normalizes a tokens file with optional RPC URL overrides.
|
|
108
|
+
*
|
|
109
|
+
* @remarks
|
|
110
|
+
* This is a convenience wrapper that:
|
|
111
|
+
* 1. Clones the input to avoid mutation
|
|
112
|
+
* 2. Applies RPC URL overrides (matched by token `label`)
|
|
113
|
+
* 3. Runs full normalization (snake_case → camelCase, address normalization, validation)
|
|
114
|
+
*
|
|
115
|
+
* Accepts both camelCase and snake_case input (the underlying `normalizeTokensFile` handles both).
|
|
116
|
+
*/
|
|
117
|
+
export function normalizeTokensWithOverrides(file, overrides) {
|
|
118
|
+
if (!overrides)
|
|
119
|
+
return normalizeTokens(file);
|
|
120
|
+
const cloned = cloneTokensFile(file);
|
|
121
|
+
const overridden = applyRpcOverrides(cloned, overrides);
|
|
122
|
+
return asNormalizedTokens(overridden);
|
|
123
|
+
}
|
|
81
124
|
//# sourceMappingURL=normalize.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"normalize.js","sourceRoot":"","sources":["../../src/registry/normalize.ts"],"names":[],"mappings":"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"}
|
package/dist/registry/types.d.ts
CHANGED
|
@@ -55,7 +55,7 @@ export interface HubEntry {
|
|
|
55
55
|
/**
|
|
56
56
|
* Raw tokens file structure before normalization.
|
|
57
57
|
* @remarks
|
|
58
|
-
* Callers typically use `normalizeTokens` / `
|
|
58
|
+
* Callers typically use `normalizeTokens` / `TokensCacheManager.load()` to validate and normalize this structure.
|
|
59
59
|
*/
|
|
60
60
|
export interface TokensFile {
|
|
61
61
|
hub?: HubEntry;
|
|
@@ -69,12 +69,23 @@ export interface NormalizedTokens {
|
|
|
69
69
|
tokens: TokenEntry[];
|
|
70
70
|
raw: TokensFile;
|
|
71
71
|
}
|
|
72
|
+
/**
|
|
73
|
+
* RPC URL overrides applied before normalization.
|
|
74
|
+
* @remarks
|
|
75
|
+
* Used to replace JSON-bundled RPC URLs with runtime-configured endpoints
|
|
76
|
+
* (e.g. environment-specific Alchemy/Infura keys).
|
|
77
|
+
*/
|
|
78
|
+
export interface RpcOverrides {
|
|
79
|
+
/** token label → rpc URLs mapping */
|
|
80
|
+
tokens?: Record<string, string[]>;
|
|
81
|
+
/** hub rpc URLs override */
|
|
82
|
+
hub?: string[];
|
|
83
|
+
}
|
|
72
84
|
/**
|
|
73
85
|
* Options for loading tokens from compressed data.
|
|
74
86
|
*/
|
|
75
87
|
export interface LoadTokensOptions {
|
|
76
88
|
cacheKey?: string;
|
|
77
|
-
cache?: Map<string, Promise<NormalizedTokens>>;
|
|
78
89
|
decoder?: TextDecoder;
|
|
79
90
|
decompress?: (data: Uint8Array) => Uint8Array | ArrayBuffer;
|
|
80
91
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/registry/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,2DAA2D;IAC3D,KAAK,EAAE,MAAM,CAAC;IACd,mDAAmD;IACnD,YAAY,EAAE,MAAM,CAAC;IACrB,0DAA0D;IAC1D,eAAe,EAAE,MAAM,CAAC;IACxB,4EAA4E;IAC5E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,uEAAuE;IACvE,uBAAuB,CAAC,EAAE,MAAM,CAAC;IACjC,qEAAqE;IACrE,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,mCAAmC;IACnC,OAAO,EAAE,MAAM,CAAC;IAChB,iGAAiG;IACjG,mBAAmB,EAAE,MAAM,CAAC;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB;;;OAGG;IACH,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,8CAA8C;IAC9C,OAAO,EAAE,MAAM,EAAE,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,GAAG,CAAC,EAAE,QAAQ,CAAC;IACf,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,GAAG,EAAE,UAAU,CAAC;CACjB;AAED;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC3B,qCAAqC;IACrC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAClC,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,WAAW,CAAC;IACtB,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,UAAU,GAAG,WAAW,CAAC;CAC7D"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.test.d.ts","sourceRoot":"","sources":["../../../src/types/__tests__/evm.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { describe, expectTypeOf, test } from "vitest";
|
|
2
|
+
describe("EvmReadProvider type compatibility", () => {
|
|
3
|
+
test("viem PublicClient satisfies EvmReadProvider", () => {
|
|
4
|
+
expectTypeOf().toMatchTypeOf();
|
|
5
|
+
});
|
|
6
|
+
});
|
|
7
|
+
describe("EvmWriteProvider type compatibility", () => {
|
|
8
|
+
test("object with writeContract satisfies EvmWriteProvider", () => {
|
|
9
|
+
expectTypeOf().toMatchTypeOf();
|
|
10
|
+
});
|
|
11
|
+
test("WalletClient.writeContract returns Promise<Hex> (runtime compatible)", () => {
|
|
12
|
+
expectTypeOf().toMatchTypeOf();
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
//# sourceMappingURL=evm.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.test.js","sourceRoot":"","sources":["../../../src/types/__tests__/evm.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAItD,QAAQ,CAAC,oCAAoC,EAAE,GAAG,EAAE;IAClD,IAAI,CAAC,6CAA6C,EAAE,GAAG,EAAE;QACvD,YAAY,EAAgB,CAAC,aAAa,EAAmB,CAAC;IAChE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qCAAqC,EAAE,GAAG,EAAE;IACnD,IAAI,CAAC,sDAAsD,EAAE,GAAG,EAAE;QAiBhE,YAAY,EAAoB,CAAC,aAAa,EAAoB,CAAC;IACrE,CAAC,CAAC,CAAC;IAEH,IAAI,CAAC,sEAAsE,EAAE,GAAG,EAAE;QAIhF,YAAY,EAAiB,CAAC,aAAa,EAA0B,CAAC;IACxE,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,95 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EVM provider interfaces for library-agnostic contract interaction.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* These interfaces define the minimal surface that SDK public functions require.
|
|
6
|
+
* viem's `PublicClient` and `WalletClient` satisfy these interfaces structurally
|
|
7
|
+
* (no wrapper/adapter needed), while users of ethers.js or other libraries can
|
|
8
|
+
* provide thin adapters.
|
|
9
|
+
*/
|
|
10
|
+
/** Hex-encoded string with `0x` prefix. Identical to viem's `Hex` type. */
|
|
11
|
+
export type Hex = `0x${string}`;
|
|
12
|
+
/**
|
|
13
|
+
* Read-only EVM provider for contract reads, balance queries, and fee estimation.
|
|
14
|
+
*
|
|
15
|
+
* @remarks
|
|
16
|
+
* viem's `PublicClient` satisfies this interface without any adapter.
|
|
17
|
+
*/
|
|
18
|
+
export interface EvmReadProvider {
|
|
19
|
+
readContract(args: {
|
|
20
|
+
address: Hex;
|
|
21
|
+
abi: readonly unknown[];
|
|
22
|
+
functionName: string;
|
|
23
|
+
args?: readonly unknown[];
|
|
24
|
+
}): Promise<unknown>;
|
|
25
|
+
/** Optional — only required by functions that query native balances (e.g. `fetchLiquidityManagerBalances`). */
|
|
26
|
+
getBalance?(args: {
|
|
27
|
+
address: Hex;
|
|
28
|
+
}): Promise<bigint>;
|
|
29
|
+
/** Optional — not all providers support EIP-1559 fee estimation. */
|
|
30
|
+
estimateFeesPerGas?(): Promise<{
|
|
31
|
+
gasPrice?: bigint | null;
|
|
32
|
+
maxFeePerGas?: bigint | null;
|
|
33
|
+
maxPriorityFeePerGas?: bigint | null;
|
|
34
|
+
}>;
|
|
35
|
+
/** Optional — legacy gas price fallback. */
|
|
36
|
+
getGasPrice?(): Promise<bigint>;
|
|
37
|
+
/** Optional — only required by write flows that need receipt polling. */
|
|
38
|
+
waitForTransactionReceipt?(args: {
|
|
39
|
+
hash: Hex;
|
|
40
|
+
}): Promise<{
|
|
41
|
+
transactionHash: Hex;
|
|
42
|
+
}>;
|
|
43
|
+
/** Optional — required by layerzeroScan codec to decode tx input. */
|
|
44
|
+
getTransaction?(args: {
|
|
45
|
+
hash: Hex;
|
|
46
|
+
}): Promise<{
|
|
47
|
+
input: Hex;
|
|
48
|
+
[key: string]: unknown;
|
|
49
|
+
}>;
|
|
50
|
+
/** Optional — required by layerzeroScan codec to read tx logs. */
|
|
51
|
+
getTransactionReceipt?(args: {
|
|
52
|
+
hash: Hex;
|
|
53
|
+
}): Promise<{
|
|
54
|
+
logs: ReadonlyArray<{
|
|
55
|
+
topics: readonly Hex[];
|
|
56
|
+
data: Hex;
|
|
57
|
+
}>;
|
|
58
|
+
[key: string]: unknown;
|
|
59
|
+
}>;
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Write provider for signing and submitting EVM transactions.
|
|
63
|
+
*
|
|
64
|
+
* @remarks
|
|
65
|
+
* viem's `WalletClient` (with `publicActions` extension) satisfies this interface.
|
|
66
|
+
* A plain `WalletClient` without `publicActions` only has `writeContract` but may
|
|
67
|
+
* lack `readContract` / `waitForTransactionReceipt`; pass a separate `EvmReadProvider`
|
|
68
|
+
* in that case.
|
|
69
|
+
*/
|
|
70
|
+
export interface EvmWriteProvider {
|
|
71
|
+
account?: {
|
|
72
|
+
address: Hex;
|
|
73
|
+
};
|
|
74
|
+
chain?: {
|
|
75
|
+
id: number;
|
|
76
|
+
};
|
|
77
|
+
writeContract(args: {
|
|
78
|
+
address: Hex;
|
|
79
|
+
abi: readonly unknown[];
|
|
80
|
+
functionName: string;
|
|
81
|
+
args?: readonly unknown[];
|
|
82
|
+
account?: Hex | {
|
|
83
|
+
address: Hex;
|
|
84
|
+
};
|
|
85
|
+
chain?: {
|
|
86
|
+
id: number;
|
|
87
|
+
};
|
|
88
|
+
value?: bigint;
|
|
89
|
+
gasPrice?: bigint;
|
|
90
|
+
maxFeePerGas?: bigint;
|
|
91
|
+
maxPriorityFeePerGas?: bigint;
|
|
92
|
+
type?: string;
|
|
93
|
+
}): Promise<Hex>;
|
|
94
|
+
}
|
|
95
|
+
//# sourceMappingURL=evm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.d.ts","sourceRoot":"","sources":["../../src/types/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,2EAA2E;AAC3E,MAAM,MAAM,GAAG,GAAG,KAAK,MAAM,EAAE,CAAC;AAEhC;;;;;GAKG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,IAAI,EAAE;QACjB,OAAO,EAAE,GAAG,CAAC;QACb,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;KAC3B,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;IAErB,+GAA+G;IAC/G,UAAU,CAAC,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAErD,oEAAoE;IACpE,kBAAkB,CAAC,IAAI,OAAO,CAAC;QAC7B,QAAQ,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QACzB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC7B,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACtC,CAAC,CAAC;IAEH,4CAA4C;IAC5C,WAAW,CAAC,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IAEhC,yEAAyE;IACzE,yBAAyB,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,eAAe,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;IAEnF,qEAAqE;IACrE,cAAc,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,KAAK,EAAE,GAAG,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC,CAAC;IAEtF,kEAAkE;IAClE,qBAAqB,CAAC,CAAC,IAAI,EAAE;QAAE,IAAI,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC;QACnD,IAAI,EAAE,aAAa,CAAC;YAAE,MAAM,EAAE,SAAS,GAAG,EAAE,CAAC;YAAC,IAAI,EAAE,GAAG,CAAA;SAAE,CAAC,CAAC;QAC3D,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACxB,CAAC,CAAC;CACJ;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,CAAC,EAAE;QAAE,OAAO,EAAE,GAAG,CAAA;KAAE,CAAC;IAC3B,KAAK,CAAC,EAAE;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAEvB,aAAa,CAAC,IAAI,EAAE;QAClB,OAAO,EAAE,GAAG,CAAC;QACb,GAAG,EAAE,SAAS,OAAO,EAAE,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,SAAS,OAAO,EAAE,CAAC;QAC1B,OAAO,CAAC,EAAE,GAAG,GAAG;YAAE,OAAO,EAAE,GAAG,CAAA;SAAE,CAAC;QACjC,KAAK,CAAC,EAAE;YAAE,EAAE,EAAE,MAAM,CAAA;SAAE,CAAC;QACvB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;KACf,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;CAClB"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* EVM provider interfaces for library-agnostic contract interaction.
|
|
3
|
+
*
|
|
4
|
+
* @remarks
|
|
5
|
+
* These interfaces define the minimal surface that SDK public functions require.
|
|
6
|
+
* viem's `PublicClient` and `WalletClient` satisfy these interfaces structurally
|
|
7
|
+
* (no wrapper/adapter needed), while users of ethers.js or other libraries can
|
|
8
|
+
* provide thin adapters.
|
|
9
|
+
*/
|
|
10
|
+
export {};
|
|
11
|
+
//# sourceMappingURL=evm.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"evm.js","sourceRoot":"","sources":["../../src/types/evm.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG"}
|
package/dist/types.d.ts
CHANGED
|
@@ -42,9 +42,9 @@ export interface BurnArtifacts {
|
|
|
42
42
|
generalRecipient: GeneralRecipient;
|
|
43
43
|
}
|
|
44
44
|
/**
|
|
45
|
-
*
|
|
45
|
+
* Prepared private send (includes derivation and announcement artifacts).
|
|
46
46
|
*/
|
|
47
|
-
export interface
|
|
47
|
+
export interface PreparedPrivateSend {
|
|
48
48
|
/** Payment advice identifier (hex string). */
|
|
49
49
|
paymentAdviceId: string;
|
|
50
50
|
/** Secret used for burn derivation (hex string). */
|
|
@@ -57,27 +57,29 @@ export interface PrivateSendPreparation {
|
|
|
57
57
|
burnPayload: string;
|
|
58
58
|
/** General recipient derived from the burn payload. */
|
|
59
59
|
generalRecipient: GeneralRecipient;
|
|
60
|
-
}
|
|
61
|
-
/**
|
|
62
|
-
* Artifacts required to submit an encrypted announcement.
|
|
63
|
-
*/
|
|
64
|
-
export interface AnnouncementArtifacts {
|
|
65
60
|
/** Announcement payload to submit to the storage canister. */
|
|
66
61
|
announcement: AnnouncementInput;
|
|
67
62
|
/** Session key used for symmetric encryption. */
|
|
68
63
|
sessionKey: Uint8Array;
|
|
69
|
-
}
|
|
70
|
-
/**
|
|
71
|
-
* Prepared private send (includes both derivation and announcement artifacts).
|
|
72
|
-
*/
|
|
73
|
-
export interface PreparedPrivateSend extends PrivateSendPreparation, AnnouncementArtifacts {
|
|
74
64
|
/** Payment advice identifier as bytes. */
|
|
75
65
|
paymentAdviceIdBytes: Uint8Array;
|
|
76
66
|
}
|
|
77
67
|
/**
|
|
78
68
|
* Result of private send submission.
|
|
79
69
|
*/
|
|
80
|
-
export interface PrivateSendResult
|
|
70
|
+
export interface PrivateSendResult {
|
|
71
|
+
/** Payment advice identifier (hex string). */
|
|
72
|
+
paymentAdviceId: string;
|
|
73
|
+
/** Secret used for burn derivation (hex string). */
|
|
74
|
+
secret: string;
|
|
75
|
+
/** Tweak used for burn derivation (hex string). */
|
|
76
|
+
tweak: string;
|
|
77
|
+
/** Burn address derived for the recipient. */
|
|
78
|
+
burnAddress: string;
|
|
79
|
+
/** Full burn payload as hex string (used for scanning/decoding). */
|
|
80
|
+
burnPayload: string;
|
|
81
|
+
/** General recipient derived from the burn payload. */
|
|
82
|
+
generalRecipient: GeneralRecipient;
|
|
81
83
|
/** Stored announcement as returned from the canister. */
|
|
82
84
|
announcement: Announcement;
|
|
83
85
|
}
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAErE;;;;;GAKG;AACH,MAAM,WAAW,cAAc;IAC7B,mCAAmC;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,4BAA4B;IAC5B,OAAO,EAAE,MAAM,CAAC;IAChB,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,oCAAoC;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,2DAA2D;IAC3D,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,CAAC;IACxB,oDAAoD;IACpD,MAAM,EAAE,MAAM,CAAC;IACf,mDAAmD;IACnD,KAAK,EAAE,MAAM,CAAC;IACd,kEAAkE;IAClE,gBAAgB,EAAE,gBAAgB,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,84 +1,121 @@
|
|
|
1
1
|
import { describe, expect, test, vi } from "vitest";
|
|
2
|
-
import { buildFeeOverrides } from "../fees.js";
|
|
2
|
+
import { buildFeeOverrides, spreadFeeOverrides } from "../fees.js";
|
|
3
|
+
describe("spreadFeeOverrides", () => {
|
|
4
|
+
test("returns empty object when overrides is undefined", () => {
|
|
5
|
+
expect(spreadFeeOverrides(undefined)).toEqual({});
|
|
6
|
+
});
|
|
7
|
+
test("returns empty object when overrides is not provided", () => {
|
|
8
|
+
expect(spreadFeeOverrides()).toEqual({});
|
|
9
|
+
});
|
|
10
|
+
test("spreads legacy fee overrides", () => {
|
|
11
|
+
expect(spreadFeeOverrides({ type: "legacy", gasPrice: 42n })).toEqual({
|
|
12
|
+
gasPrice: 42n,
|
|
13
|
+
type: "legacy",
|
|
14
|
+
});
|
|
15
|
+
});
|
|
16
|
+
test("spreads EIP-1559 fee overrides", () => {
|
|
17
|
+
expect(spreadFeeOverrides({ maxFeePerGas: 10n, maxPriorityFeePerGas: 2n })).toEqual({
|
|
18
|
+
maxFeePerGas: 10n,
|
|
19
|
+
maxPriorityFeePerGas: 2n,
|
|
20
|
+
});
|
|
21
|
+
});
|
|
22
|
+
});
|
|
3
23
|
describe("buildFeeOverrides", () => {
|
|
4
|
-
test("returns EIP-1559 overrides when estimateFeesPerGas provides both
|
|
5
|
-
const
|
|
24
|
+
test("returns EIP-1559 overrides when estimateFeesPerGas provides both fields", async () => {
|
|
25
|
+
const provider = {
|
|
26
|
+
readContract: vi.fn(),
|
|
6
27
|
estimateFeesPerGas: vi.fn().mockResolvedValue({
|
|
7
28
|
maxFeePerGas: 10n,
|
|
8
29
|
maxPriorityFeePerGas: 2n,
|
|
9
30
|
}),
|
|
10
|
-
getGasPrice: vi.fn(),
|
|
11
31
|
};
|
|
12
|
-
await expect(buildFeeOverrides(
|
|
32
|
+
await expect(buildFeeOverrides(provider)).resolves.toEqual({
|
|
13
33
|
maxFeePerGas: 10n,
|
|
14
34
|
maxPriorityFeePerGas: 2n,
|
|
15
35
|
});
|
|
16
|
-
expect(publicClient.getGasPrice).not.toHaveBeenCalled();
|
|
17
36
|
});
|
|
18
37
|
test("returns legacy gasPrice when preferLegacy and estimateFeesPerGas provides gasPrice", async () => {
|
|
19
|
-
const
|
|
38
|
+
const provider = {
|
|
39
|
+
readContract: vi.fn(),
|
|
20
40
|
estimateFeesPerGas: vi.fn().mockResolvedValue({
|
|
21
41
|
gasPrice: 7n,
|
|
22
42
|
maxFeePerGas: 10n,
|
|
23
43
|
maxPriorityFeePerGas: 2n,
|
|
24
44
|
}),
|
|
25
|
-
getGasPrice: vi.fn(),
|
|
26
45
|
};
|
|
27
|
-
await expect(buildFeeOverrides(
|
|
46
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
|
|
28
47
|
type: "legacy",
|
|
29
48
|
gasPrice: 7n,
|
|
30
49
|
});
|
|
31
|
-
expect(publicClient.getGasPrice).not.toHaveBeenCalled();
|
|
32
50
|
});
|
|
33
|
-
test("
|
|
34
|
-
const
|
|
51
|
+
test("falls back to maxFeePerGas as legacy gasPrice when gasPrice is absent", async () => {
|
|
52
|
+
const provider = {
|
|
53
|
+
readContract: vi.fn(),
|
|
35
54
|
estimateFeesPerGas: vi.fn().mockResolvedValue({
|
|
36
55
|
maxFeePerGas: 9n,
|
|
37
56
|
maxPriorityFeePerGas: 1n,
|
|
38
57
|
}),
|
|
39
|
-
getGasPrice: vi.fn(),
|
|
40
58
|
};
|
|
41
|
-
await expect(buildFeeOverrides(
|
|
59
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
|
|
42
60
|
type: "legacy",
|
|
43
61
|
gasPrice: 9n,
|
|
44
62
|
});
|
|
45
|
-
expect(publicClient.getGasPrice).not.toHaveBeenCalled();
|
|
46
63
|
});
|
|
47
|
-
test("returns undefined when estimateFeesPerGas
|
|
48
|
-
const
|
|
64
|
+
test("returns undefined when estimateFeesPerGas fields are not bigint", async () => {
|
|
65
|
+
const provider = {
|
|
66
|
+
readContract: vi.fn(),
|
|
49
67
|
estimateFeesPerGas: vi.fn().mockResolvedValue({
|
|
50
68
|
maxFeePerGas: "10",
|
|
51
69
|
maxPriorityFeePerGas: 2n,
|
|
52
70
|
}),
|
|
53
|
-
getGasPrice: vi.fn(),
|
|
54
71
|
};
|
|
55
|
-
await expect(buildFeeOverrides(
|
|
56
|
-
expect(publicClient.getGasPrice).not.toHaveBeenCalled();
|
|
72
|
+
await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
|
|
57
73
|
});
|
|
58
74
|
test("falls back to getGasPrice for legacy mode when estimateFeesPerGas throws", async () => {
|
|
59
|
-
const
|
|
75
|
+
const provider = {
|
|
76
|
+
readContract: vi.fn(),
|
|
60
77
|
estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
|
|
61
78
|
getGasPrice: vi.fn().mockResolvedValue(42n),
|
|
62
79
|
};
|
|
63
|
-
await expect(buildFeeOverrides(
|
|
80
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
|
|
64
81
|
type: "legacy",
|
|
65
82
|
gasPrice: 42n,
|
|
66
83
|
});
|
|
67
84
|
});
|
|
68
|
-
test("returns undefined in legacy mode when both
|
|
69
|
-
const
|
|
85
|
+
test("returns undefined in legacy mode when both methods fail", async () => {
|
|
86
|
+
const provider = {
|
|
87
|
+
readContract: vi.fn(),
|
|
70
88
|
estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
|
|
71
89
|
getGasPrice: vi.fn().mockRejectedValue(new Error("RPC failed")),
|
|
72
90
|
};
|
|
73
|
-
await expect(buildFeeOverrides(
|
|
91
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toBeUndefined();
|
|
74
92
|
});
|
|
75
|
-
test("does not call getGasPrice when legacyTx is false
|
|
76
|
-
const
|
|
93
|
+
test("does not call getGasPrice when legacyTx is false", async () => {
|
|
94
|
+
const provider = {
|
|
95
|
+
readContract: vi.fn(),
|
|
77
96
|
estimateFeesPerGas: vi.fn().mockRejectedValue(new Error("RPC failed")),
|
|
78
97
|
getGasPrice: vi.fn(),
|
|
79
98
|
};
|
|
80
|
-
await expect(buildFeeOverrides(
|
|
81
|
-
expect(
|
|
99
|
+
await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
|
|
100
|
+
expect(provider.getGasPrice).not.toHaveBeenCalled();
|
|
101
|
+
});
|
|
102
|
+
test("returns undefined when estimateFeesPerGas is not available", async () => {
|
|
103
|
+
const provider = { readContract: vi.fn() };
|
|
104
|
+
await expect(buildFeeOverrides(provider)).resolves.toBeUndefined();
|
|
105
|
+
});
|
|
106
|
+
test("returns undefined in legacy mode when neither method is available", async () => {
|
|
107
|
+
const provider = { readContract: vi.fn() };
|
|
108
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toBeUndefined();
|
|
109
|
+
});
|
|
110
|
+
test("uses getGasPrice in legacy mode when estimateFeesPerGas is absent", async () => {
|
|
111
|
+
const provider = {
|
|
112
|
+
readContract: vi.fn(),
|
|
113
|
+
getGasPrice: vi.fn().mockResolvedValue(50n),
|
|
114
|
+
};
|
|
115
|
+
await expect(buildFeeOverrides(provider, { legacyTx: true })).resolves.toEqual({
|
|
116
|
+
type: "legacy",
|
|
117
|
+
gasPrice: 50n,
|
|
118
|
+
});
|
|
82
119
|
});
|
|
83
120
|
});
|
|
84
121
|
//# sourceMappingURL=fees.test.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/fees.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAEpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"fees.test.js","sourceRoot":"","sources":["../../../src/utils/__tests__/fees.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { afterEach, beforeEach, describe, expect, test, vi } from "vitest";
|
|
2
|
-
import { bytesToHex, normalizeHex, hexToBytes, ensureHexLength, addressToBytes, randomBytes, toBigInt, } from "../hex.js";
|
|
2
|
+
import { bytesToHex, normalizeHex, hexToBytes, ensureHexLength, addressToBytes, randomBytes, toBigInt, isHex, keccak256, } from "../hex.js";
|
|
3
3
|
describe("bytesToHex", () => {
|
|
4
4
|
test("converts empty array", () => {
|
|
5
5
|
expect(bytesToHex(new Uint8Array([]))).toBe("0x");
|
|
@@ -249,4 +249,67 @@ describe("toBigInt", () => {
|
|
|
249
249
|
});
|
|
250
250
|
});
|
|
251
251
|
});
|
|
252
|
+
describe("isHex", () => {
|
|
253
|
+
test("returns true for valid 0x-prefixed hex", () => {
|
|
254
|
+
expect(isHex("0xabcdef")).toBe(true);
|
|
255
|
+
});
|
|
256
|
+
test("returns true for 0x alone", () => {
|
|
257
|
+
expect(isHex("0x")).toBe(true);
|
|
258
|
+
});
|
|
259
|
+
test("returns true for uppercase hex digits", () => {
|
|
260
|
+
expect(isHex("0xABCDEF")).toBe(true);
|
|
261
|
+
});
|
|
262
|
+
test("returns true for mixed case hex digits", () => {
|
|
263
|
+
expect(isHex("0xaBcDeF")).toBe(true);
|
|
264
|
+
});
|
|
265
|
+
test("returns false for 0X prefix", () => {
|
|
266
|
+
expect(isHex("0Xabcd")).toBe(false);
|
|
267
|
+
});
|
|
268
|
+
test("returns false for missing prefix", () => {
|
|
269
|
+
expect(isHex("abcdef")).toBe(false);
|
|
270
|
+
});
|
|
271
|
+
test("returns false for non-hex characters", () => {
|
|
272
|
+
expect(isHex("0xghij")).toBe(false);
|
|
273
|
+
});
|
|
274
|
+
test("returns false for empty string", () => {
|
|
275
|
+
expect(isHex("")).toBe(false);
|
|
276
|
+
});
|
|
277
|
+
test("returns false for null", () => {
|
|
278
|
+
expect(isHex(null)).toBe(false);
|
|
279
|
+
});
|
|
280
|
+
test("returns false for undefined", () => {
|
|
281
|
+
expect(isHex(undefined)).toBe(false);
|
|
282
|
+
});
|
|
283
|
+
test("returns false for number", () => {
|
|
284
|
+
expect(isHex(123)).toBe(false);
|
|
285
|
+
});
|
|
286
|
+
test("returns false for string with spaces", () => {
|
|
287
|
+
expect(isHex(" 0xabc ")).toBe(false);
|
|
288
|
+
});
|
|
289
|
+
});
|
|
290
|
+
describe("keccak256", () => {
|
|
291
|
+
test("hashes a Uint8Array", () => {
|
|
292
|
+
const result = keccak256(new Uint8Array([0x01, 0x02, 0x03]));
|
|
293
|
+
expect(result).toMatch(/^0x[0-9a-f]{64}$/);
|
|
294
|
+
});
|
|
295
|
+
test("hashes a hex string", () => {
|
|
296
|
+
const result = keccak256("0x010203");
|
|
297
|
+
expect(result).toMatch(/^0x[0-9a-f]{64}$/);
|
|
298
|
+
});
|
|
299
|
+
test("returns consistent hash for same input", () => {
|
|
300
|
+
const a = keccak256("0xdeadbeef");
|
|
301
|
+
const b = keccak256("0xdeadbeef");
|
|
302
|
+
expect(a).toBe(b);
|
|
303
|
+
});
|
|
304
|
+
test("returns different hash for different input", () => {
|
|
305
|
+
const a = keccak256("0xdeadbeef");
|
|
306
|
+
const b = keccak256("0xcafebabe");
|
|
307
|
+
expect(a).not.toBe(b);
|
|
308
|
+
});
|
|
309
|
+
test("Uint8Array and hex produce same hash for same bytes", () => {
|
|
310
|
+
const fromBytes = keccak256(new Uint8Array([0xde, 0xad, 0xbe, 0xef]));
|
|
311
|
+
const fromHex = keccak256("0xdeadbeef");
|
|
312
|
+
expect(fromBytes).toBe(fromHex);
|
|
313
|
+
});
|
|
314
|
+
});
|
|
252
315
|
//# sourceMappingURL=hex.test.js.map
|