@across-protocol/sdk 4.1.47 → 4.1.49

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 (62) hide show
  1. package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  2. package/dist/cjs/clients/HubPoolClient.d.ts +0 -1
  3. package/dist/cjs/clients/HubPoolClient.js +0 -4
  4. package/dist/cjs/clients/HubPoolClient.js.map +1 -1
  5. package/dist/cjs/coingecko/Coingecko.js +1 -1
  6. package/dist/cjs/coingecko/Coingecko.js.map +1 -1
  7. package/dist/cjs/constants.d.ts +1 -1
  8. package/dist/cjs/constants.js +4 -1
  9. package/dist/cjs/constants.js.map +1 -1
  10. package/dist/cjs/gasPriceOracle/oracle.js +1 -0
  11. package/dist/cjs/gasPriceOracle/oracle.js.map +1 -1
  12. package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +56 -0
  13. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +56 -0
  14. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +13 -6
  15. package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  16. package/dist/cjs/utils/EventUtils.d.ts +7 -5
  17. package/dist/cjs/utils/EventUtils.js.map +1 -1
  18. package/dist/cjs/utils/TokenUtils.d.ts +118 -7
  19. package/dist/cjs/utils/TokenUtils.js +12 -20
  20. package/dist/cjs/utils/TokenUtils.js.map +1 -1
  21. package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  22. package/dist/esm/clients/HubPoolClient.d.ts +0 -1
  23. package/dist/esm/clients/HubPoolClient.js +0 -4
  24. package/dist/esm/clients/HubPoolClient.js.map +1 -1
  25. package/dist/esm/coingecko/Coingecko.js +1 -1
  26. package/dist/esm/coingecko/Coingecko.js.map +1 -1
  27. package/dist/esm/constants.d.ts +1 -1
  28. package/dist/esm/constants.js +3 -1
  29. package/dist/esm/constants.js.map +1 -1
  30. package/dist/esm/gasPriceOracle/oracle.js +1 -0
  31. package/dist/esm/gasPriceOracle/oracle.js.map +1 -1
  32. package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +56 -0
  33. package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +61 -11
  34. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +14 -7
  35. package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
  36. package/dist/esm/utils/EventUtils.d.ts +7 -5
  37. package/dist/esm/utils/EventUtils.js.map +1 -1
  38. package/dist/esm/utils/TokenUtils.d.ts +138 -15
  39. package/dist/esm/utils/TokenUtils.js +12 -19
  40. package/dist/esm/utils/TokenUtils.js.map +1 -1
  41. package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
  42. package/dist/types/clients/HubPoolClient.d.ts +0 -1
  43. package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
  44. package/dist/types/constants.d.ts +1 -1
  45. package/dist/types/constants.d.ts.map +1 -1
  46. package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -1
  47. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +56 -0
  48. package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -1
  49. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +61 -11
  50. package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
  51. package/dist/types/utils/EventUtils.d.ts +7 -5
  52. package/dist/types/utils/EventUtils.d.ts.map +1 -1
  53. package/dist/types/utils/TokenUtils.d.ts +138 -15
  54. package/dist/types/utils/TokenUtils.d.ts.map +1 -1
  55. package/package.json +2 -2
  56. package/src/clients/HubPoolClient.ts +0 -5
  57. package/src/coingecko/Coingecko.ts +1 -1
  58. package/src/constants.ts +3 -0
  59. package/src/gasPriceOracle/oracle.ts +1 -0
  60. package/src/relayFeeCalculator/relayFeeCalculator.ts +21 -5
  61. package/src/utils/EventUtils.ts +7 -5
  62. package/src/utils/TokenUtils.ts +10 -19
@@ -4,10 +4,10 @@ import * as constants from "../constants";
4
4
  import { L1Token } from "../interfaces";
5
5
  import { ERC20__factory } from "../typechain";
6
6
  import { BigNumber } from "./BigNumberUtils";
7
- import { getNetworkName } from "./NetworkUtils";
7
+ import { getNetworkName, chainIsL1 } from "./NetworkUtils";
8
8
  import { isDefined } from "./TypeGuards";
9
9
  import { compareAddressesSimple } from "./AddressUtils";
10
- const { TOKEN_SYMBOLS_MAP, CHAIN_IDs } = constants;
10
+ const { TOKEN_SYMBOLS_MAP, CHAIN_IDs, TOKEN_EQUIVALENCE_REMAPPING } = constants;
11
11
 
12
12
  type SignerOrProvider = providers.Provider | Signer;
13
13
 
@@ -64,21 +64,8 @@ export const resolveContractFromSymbol = (
64
64
  })?.addresses[Number(chainId)];
65
65
  };
66
66
 
67
- export function getTokenInformationFromAddress(address: string, tokenMapping = TOKEN_SYMBOLS_MAP): L1Token | undefined {
68
- const details = Object.values(tokenMapping).find((details) => {
69
- return Object.values(details.addresses).some((t) => t.toLowerCase() === address.toLowerCase());
70
- });
71
- return isDefined(details)
72
- ? {
73
- decimals: details.decimals,
74
- symbol: details.symbol,
75
- address,
76
- }
77
- : undefined;
78
- }
79
-
80
- export function getCoingeckoTokenIdByAddress(contractAddress: string): string {
81
- const token = getTokenInformationFromAddress(contractAddress);
67
+ export function getCoingeckoTokenIdByAddress(contractAddress: string, chainId: number): string {
68
+ const token = getTokenInfo(contractAddress, chainId);
82
69
  if (!token) {
83
70
  throw new Error(`Token with address ${contractAddress} not found in token mapping`);
84
71
  }
@@ -115,15 +102,19 @@ export function isStablecoin(tokenSymbol: string): boolean {
115
102
  );
116
103
  }
117
104
 
118
- export function getTokenInfo(l2TokenAddress: string, chainId: number): L1Token {
105
+ export function getTokenInfo(l2TokenAddress: string, chainId: number, tokenMapping = TOKEN_SYMBOLS_MAP): L1Token {
119
106
  // @dev This might give false positives if tokens on different networks have the same address. I'm not sure how
120
107
  // to get around this...
121
- const tokenObject = Object.values(TOKEN_SYMBOLS_MAP).find(({ addresses }) => addresses[chainId] === l2TokenAddress);
108
+ let tokenObject = Object.values(tokenMapping).find(({ addresses }) => addresses[chainId] === l2TokenAddress);
122
109
  if (!tokenObject) {
123
110
  throw new Error(
124
111
  `TokenUtils#getTokenInfo: Unable to resolve token in TOKEN_SYMBOLS_MAP for ${l2TokenAddress} on chain ${chainId}`
125
112
  );
126
113
  }
114
+ if (chainIsL1(chainId)) {
115
+ const l1TokenSymbol = TOKEN_EQUIVALENCE_REMAPPING[tokenObject.symbol] ?? tokenObject.symbol;
116
+ tokenObject = tokenMapping[l1TokenSymbol as keyof typeof tokenMapping];
117
+ }
127
118
  return {
128
119
  address: l2TokenAddress,
129
120
  symbol: tokenObject.symbol,