@across-protocol/sdk 4.2.16-alpha.3 → 4.2.16-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 (58) hide show
  1. package/dist/cjs/arch/evm/SpokeUtils.d.ts +2 -6
  2. package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
  3. package/dist/cjs/arch/svm/SpokeUtils.js +10 -9
  4. package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
  5. package/dist/cjs/arch/svm/utils.d.ts +2 -2
  6. package/dist/cjs/arch/svm/utils.js.map +1 -1
  7. package/dist/cjs/clients/HubPoolClient.js +2 -2
  8. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  9. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +1 -1
  10. package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  11. package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +3 -3
  12. package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
  13. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +9 -8
  14. package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  15. package/dist/cjs/utils/AddressUtils.d.ts +2 -0
  16. package/dist/cjs/utils/AddressUtils.js +8 -2
  17. package/dist/cjs/utils/AddressUtils.js.map +1 -1
  18. package/dist/cjs/utils/TokenUtils.d.ts +2 -2
  19. package/dist/esm/arch/evm/SpokeUtils.d.ts +2 -6
  20. package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
  21. package/dist/esm/arch/svm/SpokeUtils.js +10 -9
  22. package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
  23. package/dist/esm/arch/svm/utils.d.ts +2 -2
  24. package/dist/esm/arch/svm/utils.js.map +1 -1
  25. package/dist/esm/clients/HubPoolClient.js +2 -2
  26. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  27. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +1 -1
  28. package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
  29. package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +3 -3
  30. package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
  31. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +9 -8
  32. package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
  33. package/dist/esm/utils/AddressUtils.d.ts +2 -0
  34. package/dist/esm/utils/AddressUtils.js +10 -2
  35. package/dist/esm/utils/AddressUtils.js.map +1 -1
  36. package/dist/esm/utils/TokenUtils.d.ts +2 -2
  37. package/dist/types/arch/evm/SpokeUtils.d.ts +2 -6
  38. package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
  39. package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
  40. package/dist/types/arch/svm/utils.d.ts +2 -2
  41. package/dist/types/arch/svm/utils.d.ts.map +1 -1
  42. package/dist/types/clients/mocks/MockHubPoolClient.d.ts +3 -3
  43. package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
  44. package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
  45. package/dist/types/utils/AddressUtils.d.ts +2 -0
  46. package/dist/types/utils/AddressUtils.d.ts.map +1 -1
  47. package/dist/types/utils/TokenUtils.d.ts +2 -2
  48. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  49. package/package.json +2 -2
  50. package/src/arch/evm/SpokeUtils.ts +1 -6
  51. package/src/arch/svm/SpokeUtils.ts +6 -5
  52. package/src/arch/svm/utils.ts +2 -2
  53. package/src/clients/HubPoolClient.ts +3 -3
  54. package/src/clients/SpokePoolClient/SpokePoolClient.ts +1 -1
  55. package/src/clients/mocks/MockHubPoolClient.ts +3 -3
  56. package/src/relayFeeCalculator/chain-queries/svmQuery.ts +10 -2
  57. package/src/utils/AddressUtils.ts +12 -0
  58. package/src/utils/TokenUtils.ts +2 -2
@@ -1,7 +1,7 @@
1
1
  import winston from "winston";
2
2
  import { Contract } from "ethers";
3
3
  import { BigNumber, EvmAddress, Address } from "../../utils";
4
- import { TokenInfo, Log, PendingRootBundle, RealizedLpFee, L1TokenInfo } from "../../interfaces";
4
+ import { Log, PendingRootBundle, RealizedLpFee, L1TokenInfo } from "../../interfaces";
5
5
  import { AcrossConfigStoreClient as ConfigStoreClient } from "../AcrossConfigStoreClient";
6
6
  import { HubPoolClient, HubPoolUpdate, LpFeeRequest } from "../HubPoolClient";
7
7
  import { EventOverrides } from "./MockEvents";
@@ -19,7 +19,7 @@ export declare class MockHubPoolClient extends HubPoolClient {
19
19
  batchComputeRealizedLpFeePct(_deposits: LpFeeRequest[]): Promise<RealizedLpFee[]>;
20
20
  setCrossChainContracts(chainId: number, contract: string, blockNumber?: number): void;
21
21
  setLatestBlockNumber(blockNumber: number): void;
22
- addL1Token(l1Token: TokenInfo): void;
22
+ addL1Token(l1Token: L1TokenInfo): void;
23
23
  getL1Tokens(): L1TokenInfo[];
24
24
  setTokenMapping(l1Token: string, chainId: number, l2Token: string): void;
25
25
  l2TokenEnabledForL1TokenAtBlock(l1Token: EvmAddress, destinationChainId: number, hubBlockNumber: number): boolean;
@@ -27,7 +27,7 @@ export declare class MockHubPoolClient extends HubPoolClient {
27
27
  deleteTokenMapping(l1Token: string, chainId: number): void;
28
28
  getL1TokenForL2TokenAtBlock(l2Token: Address, chainId: number, blockNumber: number): EvmAddress;
29
29
  getL2TokenForL1TokenAtBlock(l1Token: EvmAddress, chainId: number, blockNumber: number): Address;
30
- getTokenInfoForL1Token(l1Token: EvmAddress): TokenInfo | undefined;
30
+ getTokenInfoForL1Token(l1Token: EvmAddress): L1TokenInfo | undefined;
31
31
  _update(eventNames: string[]): Promise<HubPoolUpdate>;
32
32
  readonly eventSignatures: Record<string, string>;
33
33
  setCrossChainContractsEvent(l2ChainId: number, adapter: string, spokePool: string, overrides?: EventOverrides): Log;
@@ -1 +1 @@
1
- {"version":3,"file":"MockHubPoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockHubPoolClient.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MockHubPoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockHubPoolClient.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"svmQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EASZ,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,uBAAuB,EAIxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAqC,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEvC;;;GAGG;AACH,qBAAa,QAAS,YAAW,cAAc;IAe3C,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,SAAS,EAAE,UAAU;IAC9B,QAAQ,CAAC,uBAAuB,EAAE,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IArBxC,SAAS,CAAC,oBAAoB;;;;;;sEAAC;IAE/B;;;;;;;;;;OAUG;gBAEQ,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,UAAU,EACrB,uBAAuB,EAAE,UAAU,EACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,0BAAc,EAC5B,qBAAqB,GAAE,MAAc;IAOhD;;;;;;;;;OASG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,OAAO,gCAA2G,EAClH,OAAO,GAAE,OAAO,CAAC;QACf,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC;QACvB,iBAAiB,EAAE,SAAS,CAAC;QAC7B,qBAAqB,EAAE,SAAS,CAAC;KAClC,CAAM,GACN,OAAO,CAAC,uBAAuB,CAAC;IAyBnC;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,gCAA2G,GAClH,OAAO,CAAC,SAAS,CAAC;IAKrB;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,OAAO,gCAA2G,EAClH,gBAAgB,SAA6B,EAC7C,gBAAgB,gCAGf;;;;IA8DH;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAI9C"}
1
+ {"version":3,"file":"svmQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,WAAW,EASZ,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,uBAAuB,EAIxB,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,MAAM,EAAE,cAAc,EAAqC,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEvC;;;GAGG;AACH,qBAAa,QAAS,YAAW,cAAc;IAe3C,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,SAAS,EAAE,UAAU;IAC9B,QAAQ,CAAC,uBAAuB,EAAE,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IArBxC,SAAS,CAAC,oBAAoB;;;;;;sEAAC;IAE/B;;;;;;;;;;OAUG;gBAEQ,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,iBAAiB,EAChC,SAAS,EAAE,UAAU,EACrB,uBAAuB,EAAE,UAAU,EACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,0BAAc,EAC5B,qBAAqB,GAAE,MAAc;IAOhD;;;;;;;;;OASG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,OAAO,gCAA2G,EAClH,OAAO,GAAE,OAAO,CAAC;QACf,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC;QACvB,iBAAiB,EAAE,SAAS,CAAC;QAC7B,qBAAqB,EAAE,SAAS,CAAC;KAClC,CAAM,GACN,OAAO,CAAC,uBAAuB,CAAC;IAyBnC;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,gCAA2G,GAClH,OAAO,CAAC,SAAS,CAAC;IAKrB;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,OAAO,gCAA2G,EAClH,gBAAgB,SAA6B,EAC7C,gBAAgB,gCAGf;;;;IAsEH;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAI9C"}
@@ -46,12 +46,14 @@ export declare class Address {
46
46
  static isSvmAddress(address: Address): boolean;
47
47
  }
48
48
  export declare class EvmAddress extends Address {
49
+ private readonly _brandEvmAddress;
49
50
  constructor(rawAddress: Uint8Array);
50
51
  static validate(rawAddress: Uint8Array): boolean;
51
52
  toNative(): string;
52
53
  static from(address: string, encoding?: "base16" | "base58"): EvmAddress;
53
54
  }
54
55
  export declare class SvmAddress extends Address {
56
+ private readonly _brandSvmAddress;
55
57
  constructor(rawAddress: Uint8Array);
56
58
  static validate(rawAddress: Uint8Array): boolean;
57
59
  toNative(): string;
@@ -1 +1 @@
1
- {"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,SAAS,EAA0B,MAAM,IAAI,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAID,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAOvE;AAID,qBAAa,OAAO;IAClB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;gBAEjC,WAAW,EAAE,UAAU;IAWnC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,IAAI,MAAM;IAMnB,iBAAiB,IAAI,MAAM;IAQ3B,QAAQ,IAAI,MAAM;IAKlB,OAAO,CAAC,WAAW;IAMnB,YAAY,IAAI,MAAM;IAWtB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,MAAM;IAKrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOnC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAKvC,QAAQ,IAAI,MAAM;IAKlB,aAAa,IAAI,OAAO;IAKxB,eAAe,IAAI,UAAU;IAK7B,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAc1C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAI9C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAG/C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IAQlC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAOvC,QAAQ,IAAI,MAAM;IAK3B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAenF;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IAQlC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAMvC,QAAQ,IAAI,MAAM;IAK3B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAYnF"}
1
+ {"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAE1C,OAAO,EAAE,SAAS,EAA0B,MAAM,IAAI,CAAC;AAEvD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAID,wBAAgB,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAItD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAOvE;AAID,qBAAa,OAAO;IAClB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;gBAEjC,WAAW,EAAE,UAAU;IAWnC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,IAAI,MAAM;IAMnB,iBAAiB,IAAI,MAAM;IAQ3B,QAAQ,IAAI,MAAM;IAKlB,OAAO,CAAC,WAAW;IAMnB,YAAY,IAAI,MAAM;IAWtB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,MAAM;IAKrB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IAOnC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAKvC,QAAQ,IAAI,MAAM;IAKlB,aAAa,IAAI,OAAO;IAKxB,eAAe,IAAI,UAAU;IAK7B,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAc1C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAI9C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAG/C;AAGD,qBAAa,UAAW,SAAQ,OAAO;IAGrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAG7B,UAAU,EAAE,UAAU;IAUlC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAOvC,QAAQ,IAAI,MAAM;IAK3B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAenF;AAGD,qBAAa,UAAW,SAAQ,OAAO;IAGrC,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAQ;gBAG7B,UAAU,EAAE,UAAU;IAUlC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,UAAU,GAAG,OAAO;IAMvC,QAAQ,IAAI,MAAM;IAK3B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAYnF"}
@@ -1,6 +1,6 @@
1
1
  import { BlockTag } from "@ethersproject/abstract-provider";
2
2
  import { providers, Signer } from "ethers";
3
- import { L1TokenInfo, TokenInfo } from "../interfaces";
3
+ import { TokenInfo } from "../interfaces";
4
4
  import { BigNumber } from "./BigNumberUtils";
5
5
  type SignerOrProvider = providers.Provider | Signer;
6
6
  export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<TokenInfo>;
@@ -830,7 +830,7 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
830
830
  };
831
831
  coingeckoId: string;
832
832
  };
833
- }): L1TokenInfo;
833
+ }): TokenInfo;
834
834
  /**
835
835
  * Get the USDC symbol for the given token address and chain ID.
836
836
  * @param l2Token A Web3 token address (not case sensitive)
@@ -1 +1 @@
1
- {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAI5G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,WAAW,CAoBnH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjF"}
1
+ {"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAI5G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,SAAS,CAoBjH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjF"}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@across-protocol/sdk",
3
3
  "author": "UMA Team",
4
- "version": "4.2.16-alpha.3",
4
+ "version": "4.2.16-alpha.4",
5
5
  "license": "AGPL-3.0",
6
6
  "homepage": "https://docs.across.to/reference/sdk",
7
7
  "files": [
@@ -10,7 +10,7 @@
10
10
  "src"
11
11
  ],
12
12
  "engines": {
13
- "node": ">=20.18.0"
13
+ "node": ">=20.19.2"
14
14
  },
15
15
  "scripts": {
16
16
  "build-bigint-buffer": "node scripts/build-bigint-buffer.js",
@@ -3,7 +3,6 @@ import { BytesLike, Contract, PopulatedTransaction, providers } from "ethers";
3
3
  import { CHAIN_IDs } from "../../constants";
4
4
  import { Deposit, FillStatus, FillWithBlock, RelayData, RelayExecutionEventInfo } from "../../interfaces";
5
5
  import {
6
- EvmAddress,
7
6
  bnUint32Max,
8
7
  BigNumber,
9
8
  toBN,
@@ -31,11 +30,7 @@ type BlockTag = providers.BlockTag;
31
30
  */
32
31
  export function populateV3Relay(
33
32
  spokePool: Contract,
34
- deposit: Omit<Deposit, "messageHash" | "fromLiteChain" | "toLiteChain"> & {
35
- recipient: EvmAddress;
36
- outputToken: EvmAddress;
37
- exclusiveRelayer: EvmAddress;
38
- },
33
+ deposit: Omit<Deposit, "messageHash" | "fromLiteChain" | "toLiteChain">,
39
34
  repaymentAddress: Address,
40
35
  repaymentChainId = deposit.destinationChainId
41
36
  ): Promise<PopulatedTransaction> {
@@ -37,6 +37,7 @@ import {
37
37
  BigNumber,
38
38
  EvmAddress,
39
39
  SvmAddress,
40
+ Address as SdkAddress,
40
41
  chainIsSvm,
41
42
  chunk,
42
43
  isUnsafeDepositId,
@@ -405,6 +406,7 @@ export async function fillRelayInstruction(
405
406
  const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
406
407
 
407
408
  const relayer = SvmAddress.from(signer.address);
409
+
408
410
  // Create ATA for the relayer and recipient token accounts
409
411
  const relayerTokenAccount = await getAssociatedTokenAddress(relayer, deposit.outputToken);
410
412
 
@@ -425,13 +427,12 @@ export async function fillRelayInstruction(
425
427
  program
426
428
  );
427
429
 
428
- // @todo we need to convert the deposit's relayData to svm-like since the interface assumes the data originates
429
- // from an EVM Spoke pool. Once we migrate to `Address` types, this can be modified/removed.
430
- const [depositor, inputToken] = [deposit.depositor, deposit.inputToken].map(toAddress);
431
- const [recipient, outputToken, exclusiveRelayer] = [
430
+ const [recipient, outputToken, exclusiveRelayer, depositor, inputToken] = [
432
431
  deposit.recipient,
433
432
  deposit.outputToken,
434
433
  deposit.exclusiveRelayer,
434
+ deposit.depositor,
435
+ deposit.inputToken,
435
436
  ].map(toAddress);
436
437
 
437
438
  return SvmSpokeClient.getFillRelayInstruction({
@@ -639,7 +640,7 @@ export function getRelayDataHash(relayData: RelayData, destinationChainId: numbe
639
640
  const uint32Encoder = getU32Encoder();
640
641
 
641
642
  assert(relayData.message.startsWith("0x"), "Message must be a hex string");
642
- const encodeAddress = (data: SvmAddress) => Uint8Array.from(addressEncoder.encode(toAddress(data)));
643
+ const encodeAddress = (data: SdkAddress) => Uint8Array.from(addressEncoder.encode(toAddress(data)));
643
644
 
644
645
  const contentToHash = Buffer.concat([
645
646
  encodeAddress(relayData.depositor),
@@ -17,7 +17,7 @@ import {
17
17
  } from "@solana/kit";
18
18
  import { SvmSpokeClient } from "@across-protocol/contracts";
19
19
  import { FillType, RelayData } from "../../interfaces";
20
- import { BigNumber, EvmAddress, SvmAddress, getRelayDataHash, isUint8Array } from "../../utils";
20
+ import { BigNumber, SvmAddress, getRelayDataHash, isUint8Array, Address as SdkAddress } from "../../utils";
21
21
  import { EventName, SVMEventNames, SVMProvider } from "./types";
22
22
 
23
23
  /**
@@ -45,7 +45,7 @@ export async function isDevnet(rpc: SVMProvider): Promise<boolean> {
45
45
  /**
46
46
  * Small utility to convert an Address to a Solana Kit branded type.
47
47
  */
48
- export function toAddress(address: EvmAddress | SvmAddress): Address<string> {
48
+ export function toAddress(address: SdkAddress): Address<string> {
49
49
  return address.toBase58() as Address<string>;
50
50
  }
51
51
 
@@ -1010,7 +1010,7 @@ export class HubPoolClient extends BaseAbstractClient {
1010
1010
  const [tokenInfo, lpTokenInfo] = await Promise.all([
1011
1011
  Promise.all(
1012
1012
  uniqueL1Tokens.map(async (l1Token: string) => {
1013
- const tokenInfo: L1TokenInfo = await fetchTokenInfo(l1Token, this.hubPool.provider);
1013
+ const tokenInfo = await fetchTokenInfo(l1Token, this.hubPool.provider);
1014
1014
  return {
1015
1015
  ...tokenInfo,
1016
1016
  address: EvmAddress.from(l1Token),
@@ -1049,7 +1049,7 @@ export class HubPoolClient extends BaseAbstractClient {
1049
1049
  const args = spreadEventWithBlockNumber(_event) as ProposedRootBundle & { proposer: string };
1050
1050
  return {
1051
1051
  ...args,
1052
- proposer: toAddressType(args.proposer, this.chainId),
1052
+ proposer: EvmAddress.from(args.proposer),
1053
1053
  };
1054
1054
  })
1055
1055
  );
@@ -1088,7 +1088,7 @@ export class HubPoolClient extends BaseAbstractClient {
1088
1088
  executedRootBundle.runningBalances = runningBalances.slice(0, nTokens);
1089
1089
  const executedRootBundleWithL1Tokens = {
1090
1090
  ...executedRootBundle,
1091
- l1Tokens: executedRootBundle.l1Tokens.map(toAddressType, this.chainId),
1091
+ l1Tokens: l1Tokens.map((l1Token) => EvmAddress.from(String(l1Token))),
1092
1092
  };
1093
1093
  this.executedRootBundles.push(executedRootBundleWithL1Tokens);
1094
1094
  }
@@ -594,7 +594,7 @@ export abstract class SpokePoolClient extends BaseAbstractClient {
594
594
 
595
595
  return {
596
596
  ...event,
597
- depositor: toAddressType(event.depositor, this.chainId),
597
+ depositor: EvmAddress.from(event.depositor),
598
598
  updatedRecipient: EvmAddress.from(event.updatedRecipient),
599
599
  } as SpeedUpWithBlock;
600
600
  })
@@ -1,7 +1,7 @@
1
1
  import winston from "winston";
2
2
  import { Contract } from "ethers";
3
3
  import { BigNumber, randomAddress, assign, bnZero, toAddressType, EvmAddress, Address, isDefined } from "../../utils";
4
- import { TokenInfo, Log, PendingRootBundle, RealizedLpFee, L1TokenInfo } from "../../interfaces";
4
+ import { Log, PendingRootBundle, RealizedLpFee, L1TokenInfo } from "../../interfaces";
5
5
  import { AcrossConfigStoreClient as ConfigStoreClient } from "../AcrossConfigStoreClient";
6
6
  import { HubPoolClient, HubPoolUpdate, LpFeeRequest } from "../HubPoolClient";
7
7
  import { EventManager, EventOverrides, getEventManager } from "./MockEvents";
@@ -83,7 +83,7 @@ export class MockHubPoolClient extends HubPoolClient {
83
83
  this.latestHeightSearched = blockNumber;
84
84
  }
85
85
 
86
- addL1Token(l1Token: TokenInfo) {
86
+ addL1Token(l1Token: L1TokenInfo) {
87
87
  this.l1TokensMock.push(l1Token);
88
88
  }
89
89
 
@@ -132,7 +132,7 @@ export class MockHubPoolClient extends HubPoolClient {
132
132
  return l2Token ?? super.getL2TokenForL1TokenAtBlock(l1Token, chainId, blockNumber);
133
133
  }
134
134
 
135
- getTokenInfoForL1Token(l1Token: EvmAddress): TokenInfo | undefined {
135
+ getTokenInfoForL1Token(l1Token: EvmAddress): L1TokenInfo | undefined {
136
136
  return this.l1TokensMock.find((token) => token.address.eq(l1Token));
137
137
  }
138
138
 
@@ -136,7 +136,14 @@ export class SvmQuery implements QueryInterface {
136
136
  deposit.destinationChainId
137
137
  )
138
138
  ) {
139
- const { depositor, recipient, inputToken, outputToken, exclusiveRelayer, destinationChainId } = deposit;
139
+ const {
140
+ depositor,
141
+ recipient: _recipient,
142
+ inputToken,
143
+ outputToken: _outputToken,
144
+ exclusiveRelayer,
145
+ destinationChainId,
146
+ } = deposit;
140
147
 
141
148
  const program = toAddress(this.spokePool);
142
149
  const _relayDataHash = getRelayDataHash(deposit, destinationChainId);
@@ -147,11 +154,12 @@ export class SvmQuery implements QueryInterface {
147
154
  getFillRelayDelegatePda(relayDataHash, BigInt(repaymentChainId), toAddress(repaymentAddress), program),
148
155
  ]);
149
156
 
157
+ const [recipient, outputToken] = [_recipient.forceSvmAddress(), _outputToken.forceSvmAddress()];
150
158
  const mint = toAddress(outputToken);
151
159
  const mintInfo = await fetchMint(this.provider, mint);
152
160
 
153
161
  const [recipientAta, relayerAta, fillStatus, eventAuthority] = await Promise.all([
154
- getAssociatedTokenAddress(deposit.recipient, outputToken, mintInfo.programAddress),
162
+ getAssociatedTokenAddress(recipient, outputToken, mintInfo.programAddress),
155
163
  getAssociatedTokenAddress(SvmAddress.from(relayer.toBase58()), outputToken, mintInfo.programAddress),
156
164
  getFillStatusPda(program, deposit, destinationChainId),
157
165
  getEventAuthority(program),
@@ -218,6 +218,10 @@ export class Address {
218
218
 
219
219
  // Subclass of address which strictly deals with 20-byte addresses. These addresses are guaranteed to be valid EVM addresses, so `toAddress` will always succeed.
220
220
  export class EvmAddress extends Address {
221
+ // @dev This property is required for Typescript typechecker to know to distinguish between `Address`, `SvmAddress` and `EvmAddress`.
222
+ // Otherwise it lets any of these to use in place where other is expected.
223
+ private readonly _brandEvmAddress!: void;
224
+
221
225
  // On construction, validate that the address can indeed be coerced into an EVM address. Throw immediately if it cannot.
222
226
  constructor(rawAddress: Uint8Array) {
223
227
  if (!EvmAddress.validate(rawAddress)) {
@@ -225,6 +229,8 @@ export class EvmAddress extends Address {
225
229
  }
226
230
 
227
231
  super(rawAddress);
232
+ // @dev required for TS to compile with `noUnusedLocals` rule
233
+ this._brandEvmAddress;
228
234
  }
229
235
 
230
236
  static validate(rawAddress: Uint8Array): boolean {
@@ -258,6 +264,10 @@ export class EvmAddress extends Address {
258
264
 
259
265
  // Subclass of address which strictly deals SVM addresses. These addresses are guaranteed to be valid SVM addresses, so `toBase58` will always produce a valid Solana address.
260
266
  export class SvmAddress extends Address {
267
+ // @dev This property is required for Typescript typechecker to know to distinguish between `Address`, `SvmAddress` and `EvmAddress`.
268
+ // Otherwise it lets any of these to use in place where other is expected.
269
+ private readonly _brandSvmAddress!: void;
270
+
261
271
  // On construction, validate that the address is a point on Curve25519. Throw immediately if it is not.
262
272
  constructor(rawAddress: Uint8Array) {
263
273
  if (!SvmAddress.validate(rawAddress)) {
@@ -265,6 +275,8 @@ export class SvmAddress extends Address {
265
275
  }
266
276
 
267
277
  super(rawAddress);
278
+ // @dev required for TS to compile with `noUnusedLocals` rule
279
+ this._brandSvmAddress;
268
280
  }
269
281
 
270
282
  static validate(rawAddress: Uint8Array): boolean {
@@ -1,7 +1,7 @@
1
1
  import { BlockTag } from "@ethersproject/abstract-provider";
2
2
  import { Contract, providers, Signer } from "ethers";
3
3
  import * as constants from "../constants";
4
- import { L1TokenInfo, TokenInfo } from "../interfaces";
4
+ import { TokenInfo } from "../interfaces";
5
5
  import { ERC20__factory } from "../typechain";
6
6
  import { BigNumber } from "./BigNumberUtils";
7
7
  import { getNetworkName, chainIsL1, chainIsProd } from "./NetworkUtils";
@@ -111,7 +111,7 @@ export function isStablecoin(tokenSymbol: string): boolean {
111
111
  * @param tokenMapping
112
112
  * @returns
113
113
  */
114
- export function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping = TOKEN_SYMBOLS_MAP): L1TokenInfo {
114
+ export function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping = TOKEN_SYMBOLS_MAP): TokenInfo {
115
115
  const parsedAddress = toAddressType(l2TokenAddress, chainId).toNative();
116
116
 
117
117
  // @dev This might give false positives if tokens on different networks have the same address. I'm not sure how