@across-protocol/sdk 3.0.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/LICENSE +661 -0
- package/README.md +116 -0
- package/dist/cjs/apiClient/abstractClient.d.ts +13 -0
- package/dist/cjs/apiClient/abstractClient.js +17 -0
- package/dist/cjs/apiClient/abstractClient.js.map +1 -0
- package/dist/cjs/apiClient/index.d.ts +2 -0
- package/dist/cjs/apiClient/index.js +11 -0
- package/dist/cjs/apiClient/index.js.map +1 -0
- package/dist/cjs/apiClient/mockedClient.d.ts +11 -0
- package/dist/cjs/apiClient/mockedClient.js +60 -0
- package/dist/cjs/apiClient/mockedClient.js.map +1 -0
- package/dist/cjs/apiClient/productionClient.d.ts +10 -0
- package/dist/cjs/apiClient/productionClient.js +110 -0
- package/dist/cjs/apiClient/productionClient.js.map +1 -0
- package/dist/cjs/apiClient/types.d.ts +44 -0
- package/dist/cjs/apiClient/types.js +3 -0
- package/dist/cjs/apiClient/types.js.map +1 -0
- package/dist/cjs/caching/Arweave/ArweaveClient.d.ts +20 -0
- package/dist/cjs/caching/Arweave/ArweaveClient.js +218 -0
- package/dist/cjs/caching/Arweave/ArweaveClient.js.map +1 -0
- package/dist/cjs/caching/Arweave/index.d.ts +1 -0
- package/dist/cjs/caching/Arweave/index.js +5 -0
- package/dist/cjs/caching/Arweave/index.js.map +1 -0
- package/dist/cjs/caching/IPFS/PinataIPFSClient.d.ts +11 -0
- package/dist/cjs/caching/IPFS/PinataIPFSClient.js +67 -0
- package/dist/cjs/caching/IPFS/PinataIPFSClient.js.map +1 -0
- package/dist/cjs/caching/IPFS/index.d.ts +1 -0
- package/dist/cjs/caching/IPFS/index.js +5 -0
- package/dist/cjs/caching/IPFS/index.js.map +1 -0
- package/dist/cjs/caching/index.d.ts +2 -0
- package/dist/cjs/caching/index.js +6 -0
- package/dist/cjs/caching/index.js.map +1 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +66 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +377 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/index.d.ts +1 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/index.js +5 -0
- package/dist/cjs/clients/AcrossConfigStoreClient/index.js.map +1 -0
- package/dist/cjs/clients/BaseAbstractClient.d.ts +22 -0
- package/dist/cjs/clients/BaseAbstractClient.js +76 -0
- package/dist/cjs/clients/BaseAbstractClient.js.map +1 -0
- package/dist/cjs/clients/HubPoolClient.d.ts +111 -0
- package/dist/cjs/clients/HubPoolClient.js +758 -0
- package/dist/cjs/clients/HubPoolClient.js.map +1 -0
- package/dist/cjs/clients/SpokePoolClient.d.ts +117 -0
- package/dist/cjs/clients/SpokePoolClient.js +553 -0
- package/dist/cjs/clients/SpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/index.d.ts +4 -0
- package/dist/cjs/clients/index.js +14 -0
- package/dist/cjs/clients/index.js.map +1 -0
- package/dist/cjs/clients/mocks/MockConfigStoreClient.d.ts +20 -0
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js +121 -0
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -0
- package/dist/cjs/clients/mocks/MockEvents.d.ts +27 -0
- package/dist/cjs/clients/mocks/MockEvents.js +117 -0
- package/dist/cjs/clients/mocks/MockEvents.js.map +1 -0
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +35 -0
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +222 -0
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -0
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +38 -0
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +319 -0
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -0
- package/dist/cjs/clients/mocks/index.d.ts +3 -0
- package/dist/cjs/clients/mocks/index.js +7 -0
- package/dist/cjs/clients/mocks/index.js.map +1 -0
- package/dist/cjs/coingecko/Coingecko.d.ts +40 -0
- package/dist/cjs/coingecko/Coingecko.js +277 -0
- package/dist/cjs/coingecko/Coingecko.js.map +1 -0
- package/dist/cjs/coingecko/index.d.ts +1 -0
- package/dist/cjs/coingecko/index.js +5 -0
- package/dist/cjs/coingecko/index.js.map +1 -0
- package/dist/cjs/constants.d.ts +18 -0
- package/dist/cjs/constants.js +27 -0
- package/dist/cjs/constants.js.map +1 -0
- package/dist/cjs/contracts/acrossConfigStore.d.ts +57 -0
- package/dist/cjs/contracts/acrossConfigStore.js +65 -0
- package/dist/cjs/contracts/acrossConfigStore.js.map +1 -0
- package/dist/cjs/contracts/hubPool.d.ts +17 -0
- package/dist/cjs/contracts/hubPool.js +61 -0
- package/dist/cjs/contracts/hubPool.js.map +1 -0
- package/dist/cjs/contracts/index.d.ts +2 -0
- package/dist/cjs/contracts/index.js +7 -0
- package/dist/cjs/contracts/index.js.map +1 -0
- package/dist/cjs/contracts/utils.d.ts +15 -0
- package/dist/cjs/contracts/utils.js +40 -0
- package/dist/cjs/contracts/utils.js.map +1 -0
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.d.ts +3 -0
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js +25 -0
- package/dist/cjs/gasPriceOracle/adapters/arbitrum.js.map +1 -0
- package/dist/cjs/gasPriceOracle/adapters/ethereum.d.ts +4 -0
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js +46 -0
- package/dist/cjs/gasPriceOracle/adapters/ethereum.js.map +1 -0
- package/dist/cjs/gasPriceOracle/adapters/index.d.ts +3 -0
- package/dist/cjs/gasPriceOracle/adapters/index.js +7 -0
- package/dist/cjs/gasPriceOracle/adapters/index.js.map +1 -0
- package/dist/cjs/gasPriceOracle/adapters/polygon.d.ts +3 -0
- package/dist/cjs/gasPriceOracle/adapters/polygon.js +77 -0
- package/dist/cjs/gasPriceOracle/adapters/polygon.js.map +1 -0
- package/dist/cjs/gasPriceOracle/index.d.ts +2 -0
- package/dist/cjs/gasPriceOracle/index.js +6 -0
- package/dist/cjs/gasPriceOracle/index.js.map +1 -0
- package/dist/cjs/gasPriceOracle/oracle.d.ts +3 -0
- package/dist/cjs/gasPriceOracle/oracle.js +45 -0
- package/dist/cjs/gasPriceOracle/oracle.js.map +1 -0
- package/dist/cjs/gasPriceOracle/types.d.ts +8 -0
- package/dist/cjs/gasPriceOracle/types.js +3 -0
- package/dist/cjs/gasPriceOracle/types.js.map +1 -0
- package/dist/cjs/gasPriceOracle/util.d.ts +2 -0
- package/dist/cjs/gasPriceOracle/util.js +8 -0
- package/dist/cjs/gasPriceOracle/util.js.map +1 -0
- package/dist/cjs/index.d.ts +15 -0
- package/dist/cjs/index.js +20 -0
- package/dist/cjs/index.js.map +1 -0
- package/dist/cjs/interfaces/Bridge.d.ts +9 -0
- package/dist/cjs/interfaces/Bridge.js +3 -0
- package/dist/cjs/interfaces/Bridge.js.map +1 -0
- package/dist/cjs/interfaces/CachingMechanism.d.ts +5 -0
- package/dist/cjs/interfaces/CachingMechanism.js +3 -0
- package/dist/cjs/interfaces/CachingMechanism.js.map +1 -0
- package/dist/cjs/interfaces/Common.d.ts +10 -0
- package/dist/cjs/interfaces/Common.js +3 -0
- package/dist/cjs/interfaces/Common.js.map +1 -0
- package/dist/cjs/interfaces/ConfigStore.d.ts +81 -0
- package/dist/cjs/interfaces/ConfigStore.js +3 -0
- package/dist/cjs/interfaces/ConfigStore.js.map +1 -0
- package/dist/cjs/interfaces/Error.d.ts +5 -0
- package/dist/cjs/interfaces/Error.js +3 -0
- package/dist/cjs/interfaces/Error.js.map +1 -0
- package/dist/cjs/interfaces/HubPool.d.ts +98 -0
- package/dist/cjs/interfaces/HubPool.js +3 -0
- package/dist/cjs/interfaces/HubPool.js.map +1 -0
- package/dist/cjs/interfaces/SpokePool.d.ts +103 -0
- package/dist/cjs/interfaces/SpokePool.js +16 -0
- package/dist/cjs/interfaces/SpokePool.js.map +1 -0
- package/dist/cjs/interfaces/TypedData.d.ts +19 -0
- package/dist/cjs/interfaces/TypedData.js +3 -0
- package/dist/cjs/interfaces/TypedData.js.map +1 -0
- package/dist/cjs/interfaces/index.d.ts +8 -0
- package/dist/cjs/interfaces/index.js +12 -0
- package/dist/cjs/interfaces/index.js.map +1 -0
- package/dist/cjs/lpFeeCalculator/index.d.ts +1 -0
- package/dist/cjs/lpFeeCalculator/index.js +5 -0
- package/dist/cjs/lpFeeCalculator/index.js.map +1 -0
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.d.ts +19 -0
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js +79 -0
- package/dist/cjs/lpFeeCalculator/lpFeeCalculator.js.map +1 -0
- package/dist/cjs/lpFeeCalculator/rateModel.d.ts +28 -0
- package/dist/cjs/lpFeeCalculator/rateModel.js +103 -0
- package/dist/cjs/lpFeeCalculator/rateModel.js.map +1 -0
- package/dist/cjs/merkleDistributor/MerkleDistributor.d.ts +8 -0
- package/dist/cjs/merkleDistributor/MerkleDistributor.js +25 -0
- package/dist/cjs/merkleDistributor/MerkleDistributor.js.map +1 -0
- package/dist/cjs/merkleDistributor/index.d.ts +2 -0
- package/dist/cjs/merkleDistributor/index.js +6 -0
- package/dist/cjs/merkleDistributor/index.js.map +1 -0
- package/dist/cjs/merkleDistributor/model/Distribution.d.ts +17 -0
- package/dist/cjs/merkleDistributor/model/Distribution.js +3 -0
- package/dist/cjs/merkleDistributor/model/Distribution.js.map +1 -0
- package/dist/cjs/merkleDistributor/model/index.d.ts +1 -0
- package/dist/cjs/merkleDistributor/model/index.js +5 -0
- package/dist/cjs/merkleDistributor/model/index.js.map +1 -0
- package/dist/cjs/package.json +1 -0
- package/dist/cjs/pool/TransactionManager.d.ts +12 -0
- package/dist/cjs/pool/TransactionManager.js +121 -0
- package/dist/cjs/pool/TransactionManager.js.map +1 -0
- package/dist/cjs/pool/index.d.ts +1 -0
- package/dist/cjs/pool/index.js +5 -0
- package/dist/cjs/pool/index.js.map +1 -0
- package/dist/cjs/pool/poolClient.d.ts +232 -0
- package/dist/cjs/pool/poolClient.js +869 -0
- package/dist/cjs/pool/poolClient.js.map +1 -0
- package/dist/cjs/priceClient/adapters/acrossApi.d.ts +13 -0
- package/dist/cjs/priceClient/adapters/acrossApi.js +48 -0
- package/dist/cjs/priceClient/adapters/acrossApi.js.map +1 -0
- package/dist/cjs/priceClient/adapters/baseAdapter.d.ts +17 -0
- package/dist/cjs/priceClient/adapters/baseAdapter.js +81 -0
- package/dist/cjs/priceClient/adapters/baseAdapter.js.map +1 -0
- package/dist/cjs/priceClient/adapters/coingecko.d.ts +14 -0
- package/dist/cjs/priceClient/adapters/coingecko.js +75 -0
- package/dist/cjs/priceClient/adapters/coingecko.js.map +1 -0
- package/dist/cjs/priceClient/adapters/defiLlama.d.ts +17 -0
- package/dist/cjs/priceClient/adapters/defiLlama.js +95 -0
- package/dist/cjs/priceClient/adapters/defiLlama.js.map +1 -0
- package/dist/cjs/priceClient/adapters/index.d.ts +3 -0
- package/dist/cjs/priceClient/adapters/index.js +8 -0
- package/dist/cjs/priceClient/adapters/index.js.map +1 -0
- package/dist/cjs/priceClient/index.d.ts +2 -0
- package/dist/cjs/priceClient/index.js +7 -0
- package/dist/cjs/priceClient/index.js.map +1 -0
- package/dist/cjs/priceClient/priceClient.d.ts +32 -0
- package/dist/cjs/priceClient/priceClient.js +197 -0
- package/dist/cjs/priceClient/priceClient.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +29 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +62 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.d.ts +151 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js +35 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/factory.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.d.ts +3 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js +7 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/index.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/polygon.d.ts +152 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/polygon.js +43 -0
- package/dist/cjs/relayFeeCalculator/chain-queries/polygon.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/index.d.ts +2 -0
- package/dist/cjs/relayFeeCalculator/index.js +6 -0
- package/dist/cjs/relayFeeCalculator/index.js.map +1 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +231 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +224 -0
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -0
- package/dist/cjs/typechain.d.ts +17 -0
- package/dist/cjs/typechain.js +20 -0
- package/dist/cjs/typechain.js.map +1 -0
- package/dist/cjs/typeguards/error.d.ts +3 -0
- package/dist/cjs/typeguards/error.js +11 -0
- package/dist/cjs/typeguards/error.js.map +1 -0
- package/dist/cjs/typeguards/index.d.ts +1 -0
- package/dist/cjs/typeguards/index.js +5 -0
- package/dist/cjs/typeguards/index.js.map +1 -0
- package/dist/cjs/utils/AddressUtils.d.ts +2 -0
- package/dist/cjs/utils/AddressUtils.js +24 -0
- package/dist/cjs/utils/AddressUtils.js.map +1 -0
- package/dist/cjs/utils/ArrayUtils.d.ts +12 -0
- package/dist/cjs/utils/ArrayUtils.js +125 -0
- package/dist/cjs/utils/ArrayUtils.js.map +1 -0
- package/dist/cjs/utils/BigNumberUtils.d.ts +8 -0
- package/dist/cjs/utils/BigNumberUtils.js +26 -0
- package/dist/cjs/utils/BigNumberUtils.js.map +1 -0
- package/dist/cjs/utils/BlockExplorerUtils.d.ts +3 -0
- package/dist/cjs/utils/BlockExplorerUtils.js +52 -0
- package/dist/cjs/utils/BlockExplorerUtils.js.map +1 -0
- package/dist/cjs/utils/BlockUtils.d.ts +28 -0
- package/dist/cjs/utils/BlockUtils.js +251 -0
- package/dist/cjs/utils/BlockUtils.js.map +1 -0
- package/dist/cjs/utils/BundleUtils.d.ts +5 -0
- package/dist/cjs/utils/BundleUtils.js +62 -0
- package/dist/cjs/utils/BundleUtils.js.map +1 -0
- package/dist/cjs/utils/CachingUtils.d.ts +5 -0
- package/dist/cjs/utils/CachingUtils.js +59 -0
- package/dist/cjs/utils/CachingUtils.js.map +1 -0
- package/dist/cjs/utils/DeploymentUtils.d.ts +1 -0
- package/dist/cjs/utils/DeploymentUtils.js +8 -0
- package/dist/cjs/utils/DeploymentUtils.js.map +1 -0
- package/dist/cjs/utils/DepositUtils.d.ts +19 -0
- package/dist/cjs/utils/DepositUtils.js +107 -0
- package/dist/cjs/utils/DepositUtils.js.map +1 -0
- package/dist/cjs/utils/EventUtils.d.ts +18 -0
- package/dist/cjs/utils/EventUtils.js +169 -0
- package/dist/cjs/utils/EventUtils.js.map +1 -0
- package/dist/cjs/utils/FlowUtils.d.ts +7 -0
- package/dist/cjs/utils/FlowUtils.js +42 -0
- package/dist/cjs/utils/FlowUtils.js.map +1 -0
- package/dist/cjs/utils/FormattingUtils.d.ts +15 -0
- package/dist/cjs/utils/FormattingUtils.js +107 -0
- package/dist/cjs/utils/FormattingUtils.js.map +1 -0
- package/dist/cjs/utils/IPFSUtils.d.ts +4 -0
- package/dist/cjs/utils/IPFSUtils.js +48 -0
- package/dist/cjs/utils/IPFSUtils.js.map +1 -0
- package/dist/cjs/utils/JSONUtils.d.ts +4 -0
- package/dist/cjs/utils/JSONUtils.js +53 -0
- package/dist/cjs/utils/JSONUtils.js.map +1 -0
- package/dist/cjs/utils/LogUtils.d.ts +14 -0
- package/dist/cjs/utils/LogUtils.js +18 -0
- package/dist/cjs/utils/LogUtils.js.map +1 -0
- package/dist/cjs/utils/Multicall.d.ts +13 -0
- package/dist/cjs/utils/Multicall.js +73 -0
- package/dist/cjs/utils/Multicall.js.map +1 -0
- package/dist/cjs/utils/NetworkUtils.d.ts +10 -0
- package/dist/cjs/utils/NetworkUtils.js +70 -0
- package/dist/cjs/utils/NetworkUtils.js.map +1 -0
- package/dist/cjs/utils/NumberUtils.d.ts +2 -0
- package/dist/cjs/utils/NumberUtils.js +12 -0
- package/dist/cjs/utils/NumberUtils.js.map +1 -0
- package/dist/cjs/utils/ObjectUtils.d.ts +5 -0
- package/dist/cjs/utils/ObjectUtils.js +65 -0
- package/dist/cjs/utils/ObjectUtils.js.map +1 -0
- package/dist/cjs/utils/ReviverUtils.d.ts +3 -0
- package/dist/cjs/utils/ReviverUtils.js +23 -0
- package/dist/cjs/utils/ReviverUtils.js.map +1 -0
- package/dist/cjs/utils/SpokeUtils.d.ts +16 -0
- package/dist/cjs/utils/SpokeUtils.js +299 -0
- package/dist/cjs/utils/SpokeUtils.js.map +1 -0
- package/dist/cjs/utils/TimeUtils.d.ts +1 -0
- package/dist/cjs/utils/TimeUtils.js +8 -0
- package/dist/cjs/utils/TimeUtils.js.map +1 -0
- package/dist/cjs/utils/TokenUtils.d.ts +303 -0
- package/dist/cjs/utils/TokenUtils.js +74 -0
- package/dist/cjs/utils/TokenUtils.js.map +1 -0
- package/dist/cjs/utils/TypeGuards.d.ts +3 -0
- package/dist/cjs/utils/TypeGuards.js +16 -0
- package/dist/cjs/utils/TypeGuards.js.map +1 -0
- package/dist/cjs/utils/TypeUtils.d.ts +5 -0
- package/dist/cjs/utils/TypeUtils.js +3 -0
- package/dist/cjs/utils/TypeUtils.js.map +1 -0
- package/dist/cjs/utils/V3Utils.d.ts +4 -0
- package/dist/cjs/utils/V3Utils.js +15 -0
- package/dist/cjs/utils/V3Utils.js.map +1 -0
- package/dist/cjs/utils/ValidatorUtils.d.ts +2 -0
- package/dist/cjs/utils/ValidatorUtils.js +39 -0
- package/dist/cjs/utils/ValidatorUtils.js.map +1 -0
- package/dist/cjs/utils/abi/contracts/Multicall3.json +440 -0
- package/dist/cjs/utils/abi/index.d.ts +3 -0
- package/dist/cjs/utils/abi/index.js +31 -0
- package/dist/cjs/utils/abi/index.js.map +1 -0
- package/dist/cjs/utils/common.d.ts +79 -0
- package/dist/cjs/utils/common.js +220 -0
- package/dist/cjs/utils/common.js.map +1 -0
- package/dist/cjs/utils/index.d.ts +29 -0
- package/dist/cjs/utils/index.js +33 -0
- package/dist/cjs/utils/index.js.map +1 -0
- package/dist/esm/apiClient/abstractClient.d.ts +66 -0
- package/dist/esm/apiClient/abstractClient.js +31 -0
- package/dist/esm/apiClient/abstractClient.js.map +1 -0
- package/dist/esm/apiClient/index.d.ts +2 -0
- package/dist/esm/apiClient/index.js +3 -0
- package/dist/esm/apiClient/index.js.map +1 -0
- package/dist/esm/apiClient/mockedClient.d.ts +24 -0
- package/dist/esm/apiClient/mockedClient.js +69 -0
- package/dist/esm/apiClient/mockedClient.js.map +1 -0
- package/dist/esm/apiClient/productionClient.d.ts +16 -0
- package/dist/esm/apiClient/productionClient.js +114 -0
- package/dist/esm/apiClient/productionClient.js.map +1 -0
- package/dist/esm/apiClient/types.d.ts +44 -0
- package/dist/esm/apiClient/types.js +2 -0
- package/dist/esm/apiClient/types.js.map +1 -0
- package/dist/esm/caching/Arweave/ArweaveClient.d.ts +61 -0
- package/dist/esm/caching/Arweave/ArweaveClient.js +265 -0
- package/dist/esm/caching/Arweave/ArweaveClient.js.map +1 -0
- package/dist/esm/caching/Arweave/index.d.ts +1 -0
- package/dist/esm/caching/Arweave/index.js +2 -0
- package/dist/esm/caching/Arweave/index.js.map +1 -0
- package/dist/esm/caching/IPFS/PinataIPFSClient.d.ts +37 -0
- package/dist/esm/caching/IPFS/PinataIPFSClient.js +81 -0
- package/dist/esm/caching/IPFS/PinataIPFSClient.js.map +1 -0
- package/dist/esm/caching/IPFS/index.d.ts +1 -0
- package/dist/esm/caching/IPFS/index.js +2 -0
- package/dist/esm/caching/IPFS/index.js.map +1 -0
- package/dist/esm/caching/index.d.ts +2 -0
- package/dist/esm/caching/index.js +3 -0
- package/dist/esm/caching/index.js.map +1 -0
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +108 -0
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +467 -0
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -0
- package/dist/esm/clients/AcrossConfigStoreClient/index.d.ts +1 -0
- package/dist/esm/clients/AcrossConfigStoreClient/index.js +2 -0
- package/dist/esm/clients/AcrossConfigStoreClient/index.js.map +1 -0
- package/dist/esm/clients/BaseAbstractClient.d.ts +51 -0
- package/dist/esm/clients/BaseAbstractClient.js +101 -0
- package/dist/esm/clients/BaseAbstractClient.js.map +1 -0
- package/dist/esm/clients/HubPoolClient.d.ts +134 -0
- package/dist/esm/clients/HubPoolClient.js +862 -0
- package/dist/esm/clients/HubPoolClient.js.map +1 -0
- package/dist/esm/clients/SpokePoolClient.d.ts +318 -0
- package/dist/esm/clients/SpokePoolClient.js +780 -0
- package/dist/esm/clients/SpokePoolClient.js.map +1 -0
- package/dist/esm/clients/index.d.ts +4 -0
- package/dist/esm/clients/index.js +6 -0
- package/dist/esm/clients/index.js.map +1 -0
- package/dist/esm/clients/mocks/MockConfigStoreClient.d.ts +20 -0
- package/dist/esm/clients/mocks/MockConfigStoreClient.js +122 -0
- package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -0
- package/dist/esm/clients/mocks/MockEvents.d.ts +34 -0
- package/dist/esm/clients/mocks/MockEvents.js +126 -0
- package/dist/esm/clients/mocks/MockEvents.js.map +1 -0
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +35 -0
- package/dist/esm/clients/mocks/MockHubPoolClient.js +223 -0
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -0
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +38 -0
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +322 -0
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -0
- package/dist/esm/clients/mocks/index.d.ts +3 -0
- package/dist/esm/clients/mocks/index.js +4 -0
- package/dist/esm/clients/mocks/index.js.map +1 -0
- package/dist/esm/coingecko/Coingecko.d.ts +40 -0
- package/dist/esm/coingecko/Coingecko.js +283 -0
- package/dist/esm/coingecko/Coingecko.js.map +1 -0
- package/dist/esm/coingecko/index.d.ts +1 -0
- package/dist/esm/coingecko/index.js +2 -0
- package/dist/esm/coingecko/index.js.map +1 -0
- package/dist/esm/constants.d.ts +29 -0
- package/dist/esm/constants.js +34 -0
- package/dist/esm/constants.js.map +1 -0
- package/dist/esm/contracts/acrossConfigStore.d.ts +57 -0
- package/dist/esm/contracts/acrossConfigStore.js +62 -0
- package/dist/esm/contracts/acrossConfigStore.js.map +1 -0
- package/dist/esm/contracts/hubPool.d.ts +17 -0
- package/dist/esm/contracts/hubPool.js +55 -0
- package/dist/esm/contracts/hubPool.js.map +1 -0
- package/dist/esm/contracts/index.d.ts +2 -0
- package/dist/esm/contracts/index.js +5 -0
- package/dist/esm/contracts/index.js.map +1 -0
- package/dist/esm/contracts/utils.d.ts +23 -0
- package/dist/esm/contracts/utils.js +38 -0
- package/dist/esm/contracts/utils.js.map +1 -0
- package/dist/esm/gasPriceOracle/adapters/arbitrum.d.ts +3 -0
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js +25 -0
- package/dist/esm/gasPriceOracle/adapters/arbitrum.js.map +1 -0
- package/dist/esm/gasPriceOracle/adapters/ethereum.d.ts +4 -0
- package/dist/esm/gasPriceOracle/adapters/ethereum.js +41 -0
- package/dist/esm/gasPriceOracle/adapters/ethereum.js.map +1 -0
- package/dist/esm/gasPriceOracle/adapters/index.d.ts +3 -0
- package/dist/esm/gasPriceOracle/adapters/index.js +4 -0
- package/dist/esm/gasPriceOracle/adapters/index.js.map +1 -0
- package/dist/esm/gasPriceOracle/adapters/polygon.d.ts +3 -0
- package/dist/esm/gasPriceOracle/adapters/polygon.js +78 -0
- package/dist/esm/gasPriceOracle/adapters/polygon.js.map +1 -0
- package/dist/esm/gasPriceOracle/index.d.ts +2 -0
- package/dist/esm/gasPriceOracle/index.js +2 -0
- package/dist/esm/gasPriceOracle/index.js.map +1 -0
- package/dist/esm/gasPriceOracle/oracle.d.ts +10 -0
- package/dist/esm/gasPriceOracle/oracle.js +48 -0
- package/dist/esm/gasPriceOracle/oracle.js.map +1 -0
- package/dist/esm/gasPriceOracle/types.d.ts +8 -0
- package/dist/esm/gasPriceOracle/types.js +2 -0
- package/dist/esm/gasPriceOracle/types.js.map +1 -0
- package/dist/esm/gasPriceOracle/util.d.ts +2 -0
- package/dist/esm/gasPriceOracle/util.js +4 -0
- package/dist/esm/gasPriceOracle/util.js.map +1 -0
- package/dist/esm/index.d.ts +15 -0
- package/dist/esm/index.js +31 -0
- package/dist/esm/index.js.map +1 -0
- package/dist/esm/interfaces/Bridge.d.ts +9 -0
- package/dist/esm/interfaces/Bridge.js +2 -0
- package/dist/esm/interfaces/Bridge.js.map +1 -0
- package/dist/esm/interfaces/CachingMechanism.d.ts +26 -0
- package/dist/esm/interfaces/CachingMechanism.js +2 -0
- package/dist/esm/interfaces/CachingMechanism.js.map +1 -0
- package/dist/esm/interfaces/Common.d.ts +10 -0
- package/dist/esm/interfaces/Common.js +2 -0
- package/dist/esm/interfaces/Common.js.map +1 -0
- package/dist/esm/interfaces/ConfigStore.d.ts +157 -0
- package/dist/esm/interfaces/ConfigStore.js +2 -0
- package/dist/esm/interfaces/ConfigStore.js.map +1 -0
- package/dist/esm/interfaces/Error.d.ts +5 -0
- package/dist/esm/interfaces/Error.js +2 -0
- package/dist/esm/interfaces/Error.js.map +1 -0
- package/dist/esm/interfaces/HubPool.d.ts +98 -0
- package/dist/esm/interfaces/HubPool.js +2 -0
- package/dist/esm/interfaces/HubPool.js.map +1 -0
- package/dist/esm/interfaces/SpokePool.d.ts +103 -0
- package/dist/esm/interfaces/SpokePool.js +13 -0
- package/dist/esm/interfaces/SpokePool.js.map +1 -0
- package/dist/esm/interfaces/TypedData.d.ts +19 -0
- package/dist/esm/interfaces/TypedData.js +2 -0
- package/dist/esm/interfaces/TypedData.js.map +1 -0
- package/dist/esm/interfaces/index.d.ts +8 -0
- package/dist/esm/interfaces/index.js +9 -0
- package/dist/esm/interfaces/index.js.map +1 -0
- package/dist/esm/lpFeeCalculator/index.d.ts +1 -0
- package/dist/esm/lpFeeCalculator/index.js +2 -0
- package/dist/esm/lpFeeCalculator/index.js.map +1 -0
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.d.ts +66 -0
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js +129 -0
- package/dist/esm/lpFeeCalculator/lpFeeCalculator.js.map +1 -0
- package/dist/esm/lpFeeCalculator/rateModel.d.ts +45 -0
- package/dist/esm/lpFeeCalculator/rateModel.js +138 -0
- package/dist/esm/lpFeeCalculator/rateModel.js.map +1 -0
- package/dist/esm/merkleDistributor/MerkleDistributor.d.ts +20 -0
- package/dist/esm/merkleDistributor/MerkleDistributor.js +34 -0
- package/dist/esm/merkleDistributor/MerkleDistributor.js.map +1 -0
- package/dist/esm/merkleDistributor/index.d.ts +2 -0
- package/dist/esm/merkleDistributor/index.js +3 -0
- package/dist/esm/merkleDistributor/index.js.map +1 -0
- package/dist/esm/merkleDistributor/model/Distribution.d.ts +17 -0
- package/dist/esm/merkleDistributor/model/Distribution.js +2 -0
- package/dist/esm/merkleDistributor/model/Distribution.js.map +1 -0
- package/dist/esm/merkleDistributor/model/index.d.ts +1 -0
- package/dist/esm/merkleDistributor/model/index.js +2 -0
- package/dist/esm/merkleDistributor/model/index.js.map +1 -0
- package/dist/esm/package.json +1 -0
- package/dist/esm/pool/TransactionManager.d.ts +12 -0
- package/dist/esm/pool/TransactionManager.js +122 -0
- package/dist/esm/pool/TransactionManager.js.map +1 -0
- package/dist/esm/pool/index.d.ts +1 -0
- package/dist/esm/pool/index.js +2 -0
- package/dist/esm/pool/index.js.map +1 -0
- package/dist/esm/pool/poolClient.d.ts +242 -0
- package/dist/esm/pool/poolClient.js +899 -0
- package/dist/esm/pool/poolClient.js.map +1 -0
- package/dist/esm/priceClient/adapters/acrossApi.d.ts +14 -0
- package/dist/esm/priceClient/adapters/acrossApi.js +49 -0
- package/dist/esm/priceClient/adapters/acrossApi.js.map +1 -0
- package/dist/esm/priceClient/adapters/baseAdapter.d.ts +17 -0
- package/dist/esm/priceClient/adapters/baseAdapter.js +78 -0
- package/dist/esm/priceClient/adapters/baseAdapter.js.map +1 -0
- package/dist/esm/priceClient/adapters/coingecko.d.ts +14 -0
- package/dist/esm/priceClient/adapters/coingecko.js +73 -0
- package/dist/esm/priceClient/adapters/coingecko.js.map +1 -0
- package/dist/esm/priceClient/adapters/defiLlama.d.ts +17 -0
- package/dist/esm/priceClient/adapters/defiLlama.js +93 -0
- package/dist/esm/priceClient/adapters/defiLlama.js.map +1 -0
- package/dist/esm/priceClient/adapters/index.d.ts +3 -0
- package/dist/esm/priceClient/adapters/index.js +7 -0
- package/dist/esm/priceClient/adapters/index.js.map +1 -0
- package/dist/esm/priceClient/index.d.ts +2 -0
- package/dist/esm/priceClient/index.js +4 -0
- package/dist/esm/priceClient/index.js.map +1 -0
- package/dist/esm/priceClient/priceClient.d.ts +32 -0
- package/dist/esm/priceClient/priceClient.js +206 -0
- package/dist/esm/priceClient/priceClient.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +61 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +91 -0
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/factory.d.ts +151 -0
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js +38 -0
- package/dist/esm/relayFeeCalculator/chain-queries/factory.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.d.ts +3 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js +4 -0
- package/dist/esm/relayFeeCalculator/chain-queries/index.js.map +1 -0
- package/dist/esm/relayFeeCalculator/chain-queries/polygon.d.ts +152 -0
- package/dist/esm/relayFeeCalculator/chain-queries/polygon.js +40 -0
- package/dist/esm/relayFeeCalculator/chain-queries/polygon.js.map +1 -0
- package/dist/esm/relayFeeCalculator/index.d.ts +2 -0
- package/dist/esm/relayFeeCalculator/index.js +3 -0
- package/dist/esm/relayFeeCalculator/index.js.map +1 -0
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +282 -0
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +298 -0
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -0
- package/dist/esm/typechain.d.ts +22 -0
- package/dist/esm/typechain.js +9 -0
- package/dist/esm/typechain.js.map +1 -0
- package/dist/esm/typeguards/error.d.ts +3 -0
- package/dist/esm/typeguards/error.js +6 -0
- package/dist/esm/typeguards/error.js.map +1 -0
- package/dist/esm/typeguards/index.d.ts +1 -0
- package/dist/esm/typeguards/index.js +2 -0
- package/dist/esm/typeguards/index.js.map +1 -0
- package/dist/esm/utils/AddressUtils.d.ts +8 -0
- package/dist/esm/utils/AddressUtils.js +28 -0
- package/dist/esm/utils/AddressUtils.js.map +1 -0
- package/dist/esm/utils/ArrayUtils.d.ts +98 -0
- package/dist/esm/utils/ArrayUtils.js +196 -0
- package/dist/esm/utils/ArrayUtils.js.map +1 -0
- package/dist/esm/utils/BigNumberUtils.d.ts +31 -0
- package/dist/esm/utils/BigNumberUtils.js +52 -0
- package/dist/esm/utils/BigNumberUtils.js.map +1 -0
- package/dist/esm/utils/BlockExplorerUtils.d.ts +21 -0
- package/dist/esm/utils/BlockExplorerUtils.js +91 -0
- package/dist/esm/utils/BlockExplorerUtils.js.map +1 -0
- package/dist/esm/utils/BlockUtils.d.ts +46 -0
- package/dist/esm/utils/BlockUtils.js +294 -0
- package/dist/esm/utils/BlockUtils.js.map +1 -0
- package/dist/esm/utils/BundleUtils.d.ts +29 -0
- package/dist/esm/utils/BundleUtils.js +89 -0
- package/dist/esm/utils/BundleUtils.js.map +1 -0
- package/dist/esm/utils/CachingUtils.d.ts +17 -0
- package/dist/esm/utils/CachingUtils.js +66 -0
- package/dist/esm/utils/CachingUtils.js.map +1 -0
- package/dist/esm/utils/DeploymentUtils.d.ts +1 -0
- package/dist/esm/utils/DeploymentUtils.js +2 -0
- package/dist/esm/utils/DeploymentUtils.js.map +1 -0
- package/dist/esm/utils/DepositUtils.d.ts +46 -0
- package/dist/esm/utils/DepositUtils.js +138 -0
- package/dist/esm/utils/DepositUtils.js.map +1 -0
- package/dist/esm/utils/EventUtils.d.ts +32 -0
- package/dist/esm/utils/EventUtils.js +194 -0
- package/dist/esm/utils/EventUtils.js.map +1 -0
- package/dist/esm/utils/FlowUtils.d.ts +8 -0
- package/dist/esm/utils/FlowUtils.js +39 -0
- package/dist/esm/utils/FlowUtils.js.map +1 -0
- package/dist/esm/utils/FormattingUtils.d.ts +61 -0
- package/dist/esm/utils/FormattingUtils.js +167 -0
- package/dist/esm/utils/FormattingUtils.js.map +1 -0
- package/dist/esm/utils/IPFSUtils.d.ts +24 -0
- package/dist/esm/utils/IPFSUtils.js +65 -0
- package/dist/esm/utils/IPFSUtils.js.map +1 -0
- package/dist/esm/utils/JSONUtils.d.ts +31 -0
- package/dist/esm/utils/JSONUtils.js +82 -0
- package/dist/esm/utils/JSONUtils.js.map +1 -0
- package/dist/esm/utils/LogUtils.d.ts +20 -0
- package/dist/esm/utils/LogUtils.js +19 -0
- package/dist/esm/utils/LogUtils.js.map +1 -0
- package/dist/esm/utils/Multicall.d.ts +13 -0
- package/dist/esm/utils/Multicall.js +70 -0
- package/dist/esm/utils/Multicall.js.map +1 -0
- package/dist/esm/utils/NetworkUtils.d.ts +60 -0
- package/dist/esm/utils/NetworkUtils.js +109 -0
- package/dist/esm/utils/NetworkUtils.js.map +1 -0
- package/dist/esm/utils/NumberUtils.d.ts +12 -0
- package/dist/esm/utils/NumberUtils.js +17 -0
- package/dist/esm/utils/NumberUtils.js.map +1 -0
- package/dist/esm/utils/ObjectUtils.d.ts +10 -0
- package/dist/esm/utils/ObjectUtils.js +72 -0
- package/dist/esm/utils/ObjectUtils.js.map +1 -0
- package/dist/esm/utils/ReviverUtils.d.ts +15 -0
- package/dist/esm/utils/ReviverUtils.js +33 -0
- package/dist/esm/utils/ReviverUtils.js.map +1 -0
- package/dist/esm/utils/SpokeUtils.d.ts +64 -0
- package/dist/esm/utils/SpokeUtils.js +370 -0
- package/dist/esm/utils/SpokeUtils.js.map +1 -0
- package/dist/esm/utils/TimeUtils.d.ts +5 -0
- package/dist/esm/utils/TimeUtils.js +8 -0
- package/dist/esm/utils/TimeUtils.js.map +1 -0
- package/dist/esm/utils/TokenUtils.d.ts +325 -0
- package/dist/esm/utils/TokenUtils.js +88 -0
- package/dist/esm/utils/TokenUtils.js.map +1 -0
- package/dist/esm/utils/TypeGuards.d.ts +3 -0
- package/dist/esm/utils/TypeGuards.js +10 -0
- package/dist/esm/utils/TypeGuards.js.map +1 -0
- package/dist/esm/utils/TypeUtils.d.ts +5 -0
- package/dist/esm/utils/TypeUtils.js +2 -0
- package/dist/esm/utils/TypeUtils.js.map +1 -0
- package/dist/esm/utils/V3Utils.d.ts +4 -0
- package/dist/esm/utils/V3Utils.js +10 -0
- package/dist/esm/utils/V3Utils.js.map +1 -0
- package/dist/esm/utils/ValidatorUtils.d.ts +2 -0
- package/dist/esm/utils/ValidatorUtils.js +35 -0
- package/dist/esm/utils/ValidatorUtils.js.map +1 -0
- package/dist/esm/utils/abi/contracts/Multicall3.json +440 -0
- package/dist/esm/utils/abi/index.d.ts +18 -0
- package/dist/esm/utils/abi/index.js +41 -0
- package/dist/esm/utils/abi/index.js.map +1 -0
- package/dist/esm/utils/common.d.ts +204 -0
- package/dist/esm/utils/common.js +325 -0
- package/dist/esm/utils/common.js.map +1 -0
- package/dist/esm/utils/index.d.ts +29 -0
- package/dist/esm/utils/index.js +30 -0
- package/dist/esm/utils/index.js.map +1 -0
- package/dist/types/apiClient/abstractClient.d.ts +67 -0
- package/dist/types/apiClient/abstractClient.d.ts.map +1 -0
- package/dist/types/apiClient/index.d.ts +3 -0
- package/dist/types/apiClient/index.d.ts.map +1 -0
- package/dist/types/apiClient/mockedClient.d.ts +25 -0
- package/dist/types/apiClient/mockedClient.d.ts.map +1 -0
- package/dist/types/apiClient/productionClient.d.ts +17 -0
- package/dist/types/apiClient/productionClient.d.ts.map +1 -0
- package/dist/types/apiClient/types.d.ts +45 -0
- package/dist/types/apiClient/types.d.ts.map +1 -0
- package/dist/types/caching/Arweave/ArweaveClient.d.ts +62 -0
- package/dist/types/caching/Arweave/ArweaveClient.d.ts.map +1 -0
- package/dist/types/caching/Arweave/index.d.ts +2 -0
- package/dist/types/caching/Arweave/index.d.ts.map +1 -0
- package/dist/types/caching/IPFS/PinataIPFSClient.d.ts +38 -0
- package/dist/types/caching/IPFS/PinataIPFSClient.d.ts.map +1 -0
- package/dist/types/caching/IPFS/index.d.ts +2 -0
- package/dist/types/caching/IPFS/index.d.ts.map +1 -0
- package/dist/types/caching/index.d.ts +3 -0
- package/dist/types/caching/index.d.ts.map +1 -0
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +109 -0
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -0
- package/dist/types/clients/AcrossConfigStoreClient/index.d.ts +2 -0
- package/dist/types/clients/AcrossConfigStoreClient/index.d.ts.map +1 -0
- package/dist/types/clients/BaseAbstractClient.d.ts +52 -0
- package/dist/types/clients/BaseAbstractClient.d.ts.map +1 -0
- package/dist/types/clients/HubPoolClient.d.ts +135 -0
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -0
- package/dist/types/clients/SpokePoolClient.d.ts +319 -0
- package/dist/types/clients/SpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/index.d.ts +5 -0
- package/dist/types/clients/index.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts +21 -0
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockEvents.d.ts +35 -0
- package/dist/types/clients/mocks/MockEvents.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +36 -0
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +39 -0
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -0
- package/dist/types/clients/mocks/index.d.ts +4 -0
- package/dist/types/clients/mocks/index.d.ts.map +1 -0
- package/dist/types/coingecko/Coingecko.d.ts +41 -0
- package/dist/types/coingecko/Coingecko.d.ts.map +1 -0
- package/dist/types/coingecko/index.d.ts +2 -0
- package/dist/types/coingecko/index.d.ts.map +1 -0
- package/dist/types/constants.d.ts +30 -0
- package/dist/types/constants.d.ts.map +1 -0
- package/dist/types/contracts/acrossConfigStore.d.ts +58 -0
- package/dist/types/contracts/acrossConfigStore.d.ts.map +1 -0
- package/dist/types/contracts/hubPool.d.ts +18 -0
- package/dist/types/contracts/hubPool.d.ts.map +1 -0
- package/dist/types/contracts/index.d.ts +3 -0
- package/dist/types/contracts/index.d.ts.map +1 -0
- package/dist/types/contracts/utils.d.ts +24 -0
- package/dist/types/contracts/utils.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts +4 -0
- package/dist/types/gasPriceOracle/adapters/arbitrum.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts +5 -0
- package/dist/types/gasPriceOracle/adapters/ethereum.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/adapters/index.d.ts +4 -0
- package/dist/types/gasPriceOracle/adapters/index.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts +4 -0
- package/dist/types/gasPriceOracle/adapters/polygon.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/index.d.ts +3 -0
- package/dist/types/gasPriceOracle/index.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/oracle.d.ts +11 -0
- package/dist/types/gasPriceOracle/oracle.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/types.d.ts +9 -0
- package/dist/types/gasPriceOracle/types.d.ts.map +1 -0
- package/dist/types/gasPriceOracle/util.d.ts +3 -0
- package/dist/types/gasPriceOracle/util.d.ts.map +1 -0
- package/dist/types/index.d.ts +16 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/interfaces/Bridge.d.ts +10 -0
- package/dist/types/interfaces/Bridge.d.ts.map +1 -0
- package/dist/types/interfaces/CachingMechanism.d.ts +27 -0
- package/dist/types/interfaces/CachingMechanism.d.ts.map +1 -0
- package/dist/types/interfaces/Common.d.ts +11 -0
- package/dist/types/interfaces/Common.d.ts.map +1 -0
- package/dist/types/interfaces/ConfigStore.d.ts +158 -0
- package/dist/types/interfaces/ConfigStore.d.ts.map +1 -0
- package/dist/types/interfaces/Error.d.ts +6 -0
- package/dist/types/interfaces/Error.d.ts.map +1 -0
- package/dist/types/interfaces/HubPool.d.ts +99 -0
- package/dist/types/interfaces/HubPool.d.ts.map +1 -0
- package/dist/types/interfaces/SpokePool.d.ts +104 -0
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -0
- package/dist/types/interfaces/TypedData.d.ts +20 -0
- package/dist/types/interfaces/TypedData.d.ts.map +1 -0
- package/dist/types/interfaces/index.d.ts +9 -0
- package/dist/types/interfaces/index.d.ts.map +1 -0
- package/dist/types/lpFeeCalculator/index.d.ts +2 -0
- package/dist/types/lpFeeCalculator/index.d.ts.map +1 -0
- package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts +67 -0
- package/dist/types/lpFeeCalculator/lpFeeCalculator.d.ts.map +1 -0
- package/dist/types/lpFeeCalculator/rateModel.d.ts +46 -0
- package/dist/types/lpFeeCalculator/rateModel.d.ts.map +1 -0
- package/dist/types/merkleDistributor/MerkleDistributor.d.ts +21 -0
- package/dist/types/merkleDistributor/MerkleDistributor.d.ts.map +1 -0
- package/dist/types/merkleDistributor/index.d.ts +3 -0
- package/dist/types/merkleDistributor/index.d.ts.map +1 -0
- package/dist/types/merkleDistributor/model/Distribution.d.ts +18 -0
- package/dist/types/merkleDistributor/model/Distribution.d.ts.map +1 -0
- package/dist/types/merkleDistributor/model/index.d.ts +2 -0
- package/dist/types/merkleDistributor/model/index.d.ts.map +1 -0
- package/dist/types/pool/TransactionManager.d.ts +13 -0
- package/dist/types/pool/TransactionManager.d.ts.map +1 -0
- package/dist/types/pool/index.d.ts +2 -0
- package/dist/types/pool/index.d.ts.map +1 -0
- package/dist/types/pool/poolClient.d.ts +243 -0
- package/dist/types/pool/poolClient.d.ts.map +1 -0
- package/dist/types/priceClient/adapters/acrossApi.d.ts +15 -0
- package/dist/types/priceClient/adapters/acrossApi.d.ts.map +1 -0
- package/dist/types/priceClient/adapters/baseAdapter.d.ts +18 -0
- package/dist/types/priceClient/adapters/baseAdapter.d.ts.map +1 -0
- package/dist/types/priceClient/adapters/coingecko.d.ts +15 -0
- package/dist/types/priceClient/adapters/coingecko.d.ts.map +1 -0
- package/dist/types/priceClient/adapters/defiLlama.d.ts +18 -0
- package/dist/types/priceClient/adapters/defiLlama.d.ts.map +1 -0
- package/dist/types/priceClient/adapters/index.d.ts +4 -0
- package/dist/types/priceClient/adapters/index.d.ts.map +1 -0
- package/dist/types/priceClient/index.d.ts +3 -0
- package/dist/types/priceClient/index.d.ts.map +1 -0
- package/dist/types/priceClient/priceClient.d.ts +33 -0
- package/dist/types/priceClient/priceClient.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +62 -0
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts +152 -0
- package/dist/types/relayFeeCalculator/chain-queries/factory.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts +4 -0
- package/dist/types/relayFeeCalculator/chain-queries/index.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/chain-queries/polygon.d.ts +153 -0
- package/dist/types/relayFeeCalculator/chain-queries/polygon.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/index.d.ts +3 -0
- package/dist/types/relayFeeCalculator/index.d.ts.map +1 -0
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +283 -0
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -0
- package/dist/types/typechain.d.ts +23 -0
- package/dist/types/typechain.d.ts.map +1 -0
- package/dist/types/typeguards/error.d.ts +4 -0
- package/dist/types/typeguards/error.d.ts.map +1 -0
- package/dist/types/typeguards/index.d.ts +2 -0
- package/dist/types/typeguards/index.d.ts.map +1 -0
- package/dist/types/utils/AddressUtils.d.ts +9 -0
- package/dist/types/utils/AddressUtils.d.ts.map +1 -0
- package/dist/types/utils/ArrayUtils.d.ts +99 -0
- package/dist/types/utils/ArrayUtils.d.ts.map +1 -0
- package/dist/types/utils/BigNumberUtils.d.ts +32 -0
- package/dist/types/utils/BigNumberUtils.d.ts.map +1 -0
- package/dist/types/utils/BlockExplorerUtils.d.ts +22 -0
- package/dist/types/utils/BlockExplorerUtils.d.ts.map +1 -0
- package/dist/types/utils/BlockUtils.d.ts +47 -0
- package/dist/types/utils/BlockUtils.d.ts.map +1 -0
- package/dist/types/utils/BundleUtils.d.ts +30 -0
- package/dist/types/utils/BundleUtils.d.ts.map +1 -0
- package/dist/types/utils/CachingUtils.d.ts +18 -0
- package/dist/types/utils/CachingUtils.d.ts.map +1 -0
- package/dist/types/utils/DeploymentUtils.d.ts +2 -0
- package/dist/types/utils/DeploymentUtils.d.ts.map +1 -0
- package/dist/types/utils/DepositUtils.d.ts +47 -0
- package/dist/types/utils/DepositUtils.d.ts.map +1 -0
- package/dist/types/utils/EventUtils.d.ts +33 -0
- package/dist/types/utils/EventUtils.d.ts.map +1 -0
- package/dist/types/utils/FlowUtils.d.ts +9 -0
- package/dist/types/utils/FlowUtils.d.ts.map +1 -0
- package/dist/types/utils/FormattingUtils.d.ts +62 -0
- package/dist/types/utils/FormattingUtils.d.ts.map +1 -0
- package/dist/types/utils/IPFSUtils.d.ts +25 -0
- package/dist/types/utils/IPFSUtils.d.ts.map +1 -0
- package/dist/types/utils/JSONUtils.d.ts +32 -0
- package/dist/types/utils/JSONUtils.d.ts.map +1 -0
- package/dist/types/utils/LogUtils.d.ts +21 -0
- package/dist/types/utils/LogUtils.d.ts.map +1 -0
- package/dist/types/utils/Multicall.d.ts +14 -0
- package/dist/types/utils/Multicall.d.ts.map +1 -0
- package/dist/types/utils/NetworkUtils.d.ts +61 -0
- package/dist/types/utils/NetworkUtils.d.ts.map +1 -0
- package/dist/types/utils/NumberUtils.d.ts +13 -0
- package/dist/types/utils/NumberUtils.d.ts.map +1 -0
- package/dist/types/utils/ObjectUtils.d.ts +11 -0
- package/dist/types/utils/ObjectUtils.d.ts.map +1 -0
- package/dist/types/utils/ReviverUtils.d.ts +16 -0
- package/dist/types/utils/ReviverUtils.d.ts.map +1 -0
- package/dist/types/utils/SpokeUtils.d.ts +65 -0
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -0
- package/dist/types/utils/TimeUtils.d.ts +6 -0
- package/dist/types/utils/TimeUtils.d.ts.map +1 -0
- package/dist/types/utils/TokenUtils.d.ts +326 -0
- package/dist/types/utils/TokenUtils.d.ts.map +1 -0
- package/dist/types/utils/TypeGuards.d.ts +4 -0
- package/dist/types/utils/TypeGuards.d.ts.map +1 -0
- package/dist/types/utils/TypeUtils.d.ts +6 -0
- package/dist/types/utils/TypeUtils.d.ts.map +1 -0
- package/dist/types/utils/V3Utils.d.ts +5 -0
- package/dist/types/utils/V3Utils.d.ts.map +1 -0
- package/dist/types/utils/ValidatorUtils.d.ts +3 -0
- package/dist/types/utils/ValidatorUtils.d.ts.map +1 -0
- package/dist/types/utils/abi/index.d.ts +19 -0
- package/dist/types/utils/abi/index.d.ts.map +1 -0
- package/dist/types/utils/common.d.ts +205 -0
- package/dist/types/utils/common.d.ts.map +1 -0
- package/dist/types/utils/index.d.ts +30 -0
- package/dist/types/utils/index.d.ts.map +1 -0
- package/package.json +144 -0
- package/src/apiClient/abstractClient.ts +95 -0
- package/src/apiClient/index.ts +2 -0
- package/src/apiClient/mockedClient.ts +90 -0
- package/src/apiClient/productionClient.ts +98 -0
- package/src/apiClient/types.ts +49 -0
- package/src/caching/Arweave/ArweaveClient.ts +238 -0
- package/src/caching/Arweave/index.ts +1 -0
- package/src/caching/IPFS/PinataIPFSClient.ts +92 -0
- package/src/caching/IPFS/index.ts +1 -0
- package/src/caching/index.ts +2 -0
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +526 -0
- package/src/clients/AcrossConfigStoreClient/index.ts +1 -0
- package/src/clients/BaseAbstractClient.ts +94 -0
- package/src/clients/HubPoolClient.ts +1010 -0
- package/src/clients/SpokePoolClient.ts +894 -0
- package/src/clients/index.ts +9 -0
- package/src/clients/mocks/MockConfigStoreClient.ts +129 -0
- package/src/clients/mocks/MockEvents.ts +156 -0
- package/src/clients/mocks/MockHubPoolClient.ts +257 -0
- package/src/clients/mocks/MockSpokePoolClient.ts +341 -0
- package/src/clients/mocks/index.ts +3 -0
- package/src/coingecko/Coingecko.ts +277 -0
- package/src/coingecko/index.ts +1 -0
- package/src/constants.ts +53 -0
- package/src/contracts/acrossConfigStore.ts +49 -0
- package/src/contracts/hubPool.ts +90 -0
- package/src/contracts/index.ts +2 -0
- package/src/contracts/utils.ts +56 -0
- package/src/gasPriceOracle/adapters/arbitrum.ts +21 -0
- package/src/gasPriceOracle/adapters/ethereum.ts +27 -0
- package/src/gasPriceOracle/adapters/index.ts +3 -0
- package/src/gasPriceOracle/adapters/polygon.ts +77 -0
- package/src/gasPriceOracle/index.ts +2 -0
- package/src/gasPriceOracle/oracle.ts +42 -0
- package/src/gasPriceOracle/types.ts +10 -0
- package/src/gasPriceOracle/util.ts +5 -0
- package/src/index.ts +15 -0
- package/src/interfaces/Bridge.ts +10 -0
- package/src/interfaces/CachingMechanism.ts +37 -0
- package/src/interfaces/Common.ts +12 -0
- package/src/interfaces/ConfigStore.ts +173 -0
- package/src/interfaces/Error.ts +5 -0
- package/src/interfaces/HubPool.ts +118 -0
- package/src/interfaces/SpokePool.ts +119 -0
- package/src/interfaces/TypedData.ts +21 -0
- package/src/interfaces/index.ts +8 -0
- package/src/lpFeeCalculator/README.md +27 -0
- package/src/lpFeeCalculator/index.ts +1 -0
- package/src/lpFeeCalculator/lpFeeCalculator.ts +169 -0
- package/src/lpFeeCalculator/rateModel.ts +183 -0
- package/src/merkleDistributor/MerkleDistributor.ts +37 -0
- package/src/merkleDistributor/README.md +30 -0
- package/src/merkleDistributor/index.ts +2 -0
- package/src/merkleDistributor/model/Distribution.ts +17 -0
- package/src/merkleDistributor/model/index.ts +1 -0
- package/src/pool/TransactionManager.ts +73 -0
- package/src/pool/index.ts +1 -0
- package/src/pool/poolClient.ts +840 -0
- package/src/priceClient/README.md +36 -0
- package/src/priceClient/adapters/acrossApi.ts +44 -0
- package/src/priceClient/adapters/baseAdapter.ts +65 -0
- package/src/priceClient/adapters/coingecko.ts +67 -0
- package/src/priceClient/adapters/defiLlama.ts +96 -0
- package/src/priceClient/adapters/index.ts +3 -0
- package/src/priceClient/index.ts +2 -0
- package/src/priceClient/priceClient.ts +192 -0
- package/src/relayFeeCalculator/README.md +34 -0
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +98 -0
- package/src/relayFeeCalculator/chain-queries/factory.ts +58 -0
- package/src/relayFeeCalculator/chain-queries/index.ts +3 -0
- package/src/relayFeeCalculator/chain-queries/polygon.ts +45 -0
- package/src/relayFeeCalculator/index.ts +2 -0
- package/src/relayFeeCalculator/relayFeeCalculator.ts +410 -0
- package/src/typechain.ts +46 -0
- package/src/typeguards/error.ts +7 -0
- package/src/typeguards/index.ts +1 -0
- package/src/utils/AddressUtils.ts +18 -0
- package/src/utils/ArrayUtils.ts +170 -0
- package/src/utils/BigNumberUtils.ts +58 -0
- package/src/utils/BlockExplorerUtils.ts +91 -0
- package/src/utils/BlockUtils.ts +265 -0
- package/src/utils/BundleUtils.ts +109 -0
- package/src/utils/CachingUtils.ts +56 -0
- package/src/utils/DeploymentUtils.ts +5 -0
- package/src/utils/DepositUtils.ts +144 -0
- package/src/utils/EventUtils.ts +227 -0
- package/src/utils/FlowUtils.ts +48 -0
- package/src/utils/FormattingUtils.ts +186 -0
- package/src/utils/IPFSUtils.ts +48 -0
- package/src/utils/JSONUtils.ts +85 -0
- package/src/utils/LogUtils.ts +38 -0
- package/src/utils/Multicall.ts +64 -0
- package/src/utils/NetworkUtils.ts +117 -0
- package/src/utils/NumberUtils.ts +17 -0
- package/src/utils/ObjectUtils.ts +77 -0
- package/src/utils/ReviverUtils.ts +31 -0
- package/src/utils/SpokeUtils.ts +372 -0
- package/src/utils/TimeUtils.ts +7 -0
- package/src/utils/TokenUtils.ts +94 -0
- package/src/utils/TypeGuards.ts +15 -0
- package/src/utils/TypeUtils.ts +9 -0
- package/src/utils/V3Utils.ts +12 -0
- package/src/utils/ValidatorUtils.ts +38 -0
- package/src/utils/abi/contracts/Multicall3.json +440 -0
- package/src/utils/abi/index.ts +33 -0
- package/src/utils/common.ts +392 -0
- package/src/utils/index.ts +29 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/caching/IPFS/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/caching/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,WAAW,CAAC"}
|
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import { across } from "@uma/sdk";
|
|
2
|
+
import { Contract, Event } from "ethers";
|
|
3
|
+
import winston from "winston";
|
|
4
|
+
import { EventSearchConfig, MakeOptional } from "../../utils";
|
|
5
|
+
import { ConfigStoreVersionUpdate, DisabledChainsUpdate, GlobalConfigUpdate, RouteRateModelUpdate, SpokePoolTargetBalance, SpokeTargetBalanceUpdate, UBAConfigUpdates, UBAParsedConfigType } from "../../interfaces";
|
|
6
|
+
import { BaseAbstractClient, UpdateFailureReason } from "../BaseAbstractClient";
|
|
7
|
+
type ConfigStoreUpdateSuccess = {
|
|
8
|
+
success: true;
|
|
9
|
+
chainId: number;
|
|
10
|
+
searchEndBlock: number;
|
|
11
|
+
events: {
|
|
12
|
+
updatedTokenConfigEvents: Event[];
|
|
13
|
+
updatedGlobalConfigEvents: Event[];
|
|
14
|
+
globalConfigUpdateTimes: number[];
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
type ConfigStoreUpdateFailure = {
|
|
18
|
+
success: false;
|
|
19
|
+
reason: UpdateFailureReason;
|
|
20
|
+
};
|
|
21
|
+
export type ConfigStoreUpdate = ConfigStoreUpdateSuccess | ConfigStoreUpdateFailure;
|
|
22
|
+
export declare const DEFAULT_CONFIG_STORE_VERSION = 0;
|
|
23
|
+
export declare enum GLOBAL_CONFIG_STORE_KEYS {
|
|
24
|
+
MAX_RELAYER_REPAYMENT_LEAF_SIZE = "MAX_RELAYER_REPAYMENT_LEAF_SIZE",
|
|
25
|
+
MAX_POOL_REBALANCE_LEAF_SIZE = "MAX_POOL_REBALANCE_LEAF_SIZE",
|
|
26
|
+
VERSION = "VERSION",
|
|
27
|
+
DISABLED_CHAINS = "DISABLED_CHAINS",
|
|
28
|
+
CHAIN_ID_INDICES = "CHAIN_ID_INDICES"
|
|
29
|
+
}
|
|
30
|
+
export declare class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
31
|
+
readonly logger: winston.Logger;
|
|
32
|
+
readonly configStore: Contract;
|
|
33
|
+
readonly configStoreVersion: number;
|
|
34
|
+
cumulativeRateModelUpdates: across.rateModel.RateModelEvent[];
|
|
35
|
+
ubaConfigUpdates: UBAConfigUpdates[];
|
|
36
|
+
cumulativeRouteRateModelUpdates: RouteRateModelUpdate[];
|
|
37
|
+
cumulativeMaxRefundCountUpdates: GlobalConfigUpdate[];
|
|
38
|
+
cumulativeMaxL1TokenCountUpdates: GlobalConfigUpdate[];
|
|
39
|
+
chainIdIndicesUpdates: GlobalConfigUpdate<number[]>[];
|
|
40
|
+
cumulativeSpokeTargetBalanceUpdates: SpokeTargetBalanceUpdate[];
|
|
41
|
+
cumulativeConfigStoreVersionUpdates: ConfigStoreVersionUpdate[];
|
|
42
|
+
cumulativeDisabledChainUpdates: DisabledChainsUpdate[];
|
|
43
|
+
protected rateModelDictionary: across.rateModel.RateModelDictionary;
|
|
44
|
+
hasLatestConfigStoreVersion: boolean;
|
|
45
|
+
chainId: number | undefined;
|
|
46
|
+
constructor(logger: winston.Logger, configStore: Contract, eventSearchConfig: MakeOptional<EventSearchConfig, "toBlock"> | undefined, configStoreVersion: number);
|
|
47
|
+
getRateModelForBlockNumber(l1Token: string, originChainId: number | string, destinationChainId: number | string, blockNumber?: number | undefined): across.constants.RateModel;
|
|
48
|
+
getRouteRateModelForBlockNumber(l1Token: string, route: string, blockNumber?: number | undefined): across.constants.RateModel | undefined;
|
|
49
|
+
/**
|
|
50
|
+
* Resolve the implied set of chain ID indices based on the chain ID of the ConfigStore.
|
|
51
|
+
* @param chainId Chain ID of the ConfigStore.
|
|
52
|
+
* @dev If the resolved chain ID is part of the default set, assume the protocol defaults.
|
|
53
|
+
* Otherwise, assume this is a test deployment with a lone chain ID.
|
|
54
|
+
* @dev The protocol defaults are [1, 10, 137, 288, 42161] (outlined in UMIP-157).
|
|
55
|
+
* @dev chainId is marked optional to appease tsc. It must always be passed in.
|
|
56
|
+
*/
|
|
57
|
+
protected implicitChainIdIndices(chainId?: number): number[];
|
|
58
|
+
/**
|
|
59
|
+
* Resolves the chain ids that were available to the protocol at a given block range.
|
|
60
|
+
* @param blockNumber Block number to search for. Defaults to latest block.
|
|
61
|
+
* @returns List of chain IDs that were available to the protocol at the given block number.
|
|
62
|
+
* @note This dynamic functionality has been added after the launch of Across.
|
|
63
|
+
* @note This function will return a default list of chain IDs if the block requested
|
|
64
|
+
* existed before the initial inclusion of this dynamic key/value entry. In the
|
|
65
|
+
* case that a block number is requested that is before the initial inclusion of
|
|
66
|
+
* this key/value entry, the function will return the default list of chain IDs as
|
|
67
|
+
* outlined per the UMIP (https://github.com/UMAprotocol/UMIPs/pull/590).
|
|
68
|
+
*/
|
|
69
|
+
getChainIdIndicesForBlock(blockNumber?: number): number[];
|
|
70
|
+
getSpokeTargetBalancesForBlock(l1Token: string, chainId: number, blockNumber?: number): SpokePoolTargetBalance;
|
|
71
|
+
getMaxRefundCountForRelayerRefundLeafForBlock(blockNumber?: number): number;
|
|
72
|
+
getMaxL1TokenCountForPoolRebalanceLeafForBlock(blockNumber?: number): number;
|
|
73
|
+
/**
|
|
74
|
+
* Returns list of chains that have been enabled at least once in the block range.
|
|
75
|
+
* If a chain was disabled in the block range, it will be included in the list provided it was enabled
|
|
76
|
+
* at some point in the block range.
|
|
77
|
+
* @dev If fromBlock == toBlock then defaults to returning enabled chains at fromBlock
|
|
78
|
+
* @param fromBlock Start block to search inclusive
|
|
79
|
+
* @param toBlock End block to search inclusive. Defaults to MAX_SAFE_INTEGER, so grabs all disabled chain events
|
|
80
|
+
* up until `latest`.
|
|
81
|
+
* @returns List of chain IDs that have been enabled at least once in the block range. Sorted from lowest to highest.
|
|
82
|
+
*/
|
|
83
|
+
getEnabledChainsInBlockRange(fromBlock: number, toBlock?: number): number[];
|
|
84
|
+
getEnabledChains(block?: number): number[];
|
|
85
|
+
getDisabledChainsForBlock(blockNumber?: number): number[];
|
|
86
|
+
getConfigStoreVersionForTimestamp(timestamp?: number): number;
|
|
87
|
+
getConfigStoreVersionForBlock(blockNumber?: number): number;
|
|
88
|
+
hasValidConfigStoreVersionForTimestamp(timestamp?: number): boolean;
|
|
89
|
+
/**
|
|
90
|
+
* Resolve the chain ID for the ConfigStore Provider instance.
|
|
91
|
+
* @dev When the provider is a StatisJsonRpcProvider instance, the getNetwork() is non-blocking.
|
|
92
|
+
* @returns Chain ID for the ConfigStore deployment.
|
|
93
|
+
*/
|
|
94
|
+
protected resolveChainId(): Promise<number>;
|
|
95
|
+
protected _update(): Promise<ConfigStoreUpdate>;
|
|
96
|
+
update(): Promise<void>;
|
|
97
|
+
filterDisabledChains(disabledChains: number[]): number[];
|
|
98
|
+
/**
|
|
99
|
+
* Retrieves the most recently set UBA config for a given L1 token address before a block number.
|
|
100
|
+
* @param l1TokenAddress The L1 token address to retrieve the config for
|
|
101
|
+
* @param blockNumber The block number to retrieve the config for. If not specified, sets block to max integer
|
|
102
|
+
* meaning that this function will return the latest config.
|
|
103
|
+
* @returns The UBA config for the given L1 token address and block number, or undefined if no config exists
|
|
104
|
+
* before blockNumber.
|
|
105
|
+
*/
|
|
106
|
+
getUBAConfig(l1TokenAddress: string, blockNumber?: number): UBAParsedConfigType | undefined;
|
|
107
|
+
}
|
|
108
|
+
export {};
|
|
@@ -0,0 +1,467 @@
|
|
|
1
|
+
import { __assign, __awaiter, __extends, __generator, __rest, __spreadArray } from "tslib";
|
|
2
|
+
import { utils, across } from "@uma/sdk";
|
|
3
|
+
import assert from "assert";
|
|
4
|
+
import { isError } from "../../typeguards";
|
|
5
|
+
import { findLast, isArrayOf, isDefined, isPositiveInteger, max, paginatedEventQuery, sortEventsAscendingInPlace, sortEventsDescending, spreadEvent, spreadEventWithBlockNumber, toBN, utf8ToHex, } from "../../utils";
|
|
6
|
+
import { PROTOCOL_DEFAULT_CHAIN_ID_INDICES } from "../../constants";
|
|
7
|
+
import { parseJSONWithNumericString } from "../../utils/JSONUtils";
|
|
8
|
+
import { BaseAbstractClient, isUpdateFailureReason, UpdateFailureReason } from "../BaseAbstractClient";
|
|
9
|
+
// Version 0 is the implicit ConfigStore version from before the version attribute was introduced.
|
|
10
|
+
// @dev Do not change this value.
|
|
11
|
+
export var DEFAULT_CONFIG_STORE_VERSION = 0;
|
|
12
|
+
export var GLOBAL_CONFIG_STORE_KEYS;
|
|
13
|
+
(function (GLOBAL_CONFIG_STORE_KEYS) {
|
|
14
|
+
GLOBAL_CONFIG_STORE_KEYS["MAX_RELAYER_REPAYMENT_LEAF_SIZE"] = "MAX_RELAYER_REPAYMENT_LEAF_SIZE";
|
|
15
|
+
GLOBAL_CONFIG_STORE_KEYS["MAX_POOL_REBALANCE_LEAF_SIZE"] = "MAX_POOL_REBALANCE_LEAF_SIZE";
|
|
16
|
+
GLOBAL_CONFIG_STORE_KEYS["VERSION"] = "VERSION";
|
|
17
|
+
GLOBAL_CONFIG_STORE_KEYS["DISABLED_CHAINS"] = "DISABLED_CHAINS";
|
|
18
|
+
GLOBAL_CONFIG_STORE_KEYS["CHAIN_ID_INDICES"] = "CHAIN_ID_INDICES";
|
|
19
|
+
})(GLOBAL_CONFIG_STORE_KEYS || (GLOBAL_CONFIG_STORE_KEYS = {}));
|
|
20
|
+
var AcrossConfigStoreClient = /** @class */ (function (_super) {
|
|
21
|
+
__extends(AcrossConfigStoreClient, _super);
|
|
22
|
+
function AcrossConfigStoreClient(logger, configStore, eventSearchConfig, configStoreVersion) {
|
|
23
|
+
if (eventSearchConfig === void 0) { eventSearchConfig = { fromBlock: 0, maxBlockLookBack: 0 }; }
|
|
24
|
+
var _this = _super.call(this, eventSearchConfig) || this;
|
|
25
|
+
_this.logger = logger;
|
|
26
|
+
_this.configStore = configStore;
|
|
27
|
+
_this.configStoreVersion = configStoreVersion;
|
|
28
|
+
_this.cumulativeRateModelUpdates = [];
|
|
29
|
+
_this.ubaConfigUpdates = [];
|
|
30
|
+
_this.cumulativeRouteRateModelUpdates = [];
|
|
31
|
+
_this.cumulativeMaxRefundCountUpdates = [];
|
|
32
|
+
_this.cumulativeMaxL1TokenCountUpdates = [];
|
|
33
|
+
_this.chainIdIndicesUpdates = [];
|
|
34
|
+
_this.cumulativeSpokeTargetBalanceUpdates = [];
|
|
35
|
+
_this.cumulativeConfigStoreVersionUpdates = [];
|
|
36
|
+
_this.cumulativeDisabledChainUpdates = [];
|
|
37
|
+
_this.hasLatestConfigStoreVersion = false;
|
|
38
|
+
_this.firstBlockToSearch = eventSearchConfig.fromBlock;
|
|
39
|
+
_this.latestBlockSearched = 0;
|
|
40
|
+
_this.rateModelDictionary = new across.rateModel.RateModelDictionary();
|
|
41
|
+
return _this;
|
|
42
|
+
}
|
|
43
|
+
// <-- START LEGACY CONFIGURATION OBJECTS -->
|
|
44
|
+
// @dev The following configuration objects are pre-UBA fee model configurations and are deprecated as of version
|
|
45
|
+
// 2 of the ConfigStore. They are kept here for backwards compatibility.
|
|
46
|
+
AcrossConfigStoreClient.prototype.getRateModelForBlockNumber = function (l1Token, originChainId, destinationChainId, blockNumber) {
|
|
47
|
+
if (blockNumber === void 0) { blockNumber = undefined; }
|
|
48
|
+
// Use route-rate model if available, otherwise use default rate model for l1Token.
|
|
49
|
+
var route = "".concat(originChainId, "-").concat(destinationChainId);
|
|
50
|
+
var routeRateModel = this.getRouteRateModelForBlockNumber(l1Token, route, blockNumber);
|
|
51
|
+
return routeRateModel !== null && routeRateModel !== void 0 ? routeRateModel : this.rateModelDictionary.getRateModelForBlockNumber(l1Token, blockNumber);
|
|
52
|
+
};
|
|
53
|
+
AcrossConfigStoreClient.prototype.getRouteRateModelForBlockNumber = function (l1Token, route, blockNumber) {
|
|
54
|
+
if (blockNumber === void 0) { blockNumber = undefined; }
|
|
55
|
+
var config = sortEventsDescending(this.cumulativeRouteRateModelUpdates).find(function (config) { return config.blockNumber <= (blockNumber !== null && blockNumber !== void 0 ? blockNumber : 0) && config.l1Token === l1Token; });
|
|
56
|
+
if ((config === null || config === void 0 ? void 0 : config.routeRateModel[route]) === undefined) {
|
|
57
|
+
return undefined;
|
|
58
|
+
}
|
|
59
|
+
return across.rateModel.parseAndReturnRateModelFromString(config.routeRateModel[route]);
|
|
60
|
+
};
|
|
61
|
+
/**
|
|
62
|
+
* Resolve the implied set of chain ID indices based on the chain ID of the ConfigStore.
|
|
63
|
+
* @param chainId Chain ID of the ConfigStore.
|
|
64
|
+
* @dev If the resolved chain ID is part of the default set, assume the protocol defaults.
|
|
65
|
+
* Otherwise, assume this is a test deployment with a lone chain ID.
|
|
66
|
+
* @dev The protocol defaults are [1, 10, 137, 288, 42161] (outlined in UMIP-157).
|
|
67
|
+
* @dev chainId is marked optional to appease tsc. It must always be passed in.
|
|
68
|
+
*/
|
|
69
|
+
AcrossConfigStoreClient.prototype.implicitChainIdIndices = function (chainId) {
|
|
70
|
+
assert(isDefined(chainId), "ConfigStoreClient used before update");
|
|
71
|
+
return PROTOCOL_DEFAULT_CHAIN_ID_INDICES[0] === chainId ? PROTOCOL_DEFAULT_CHAIN_ID_INDICES : [chainId];
|
|
72
|
+
};
|
|
73
|
+
/**
|
|
74
|
+
* Resolves the chain ids that were available to the protocol at a given block range.
|
|
75
|
+
* @param blockNumber Block number to search for. Defaults to latest block.
|
|
76
|
+
* @returns List of chain IDs that were available to the protocol at the given block number.
|
|
77
|
+
* @note This dynamic functionality has been added after the launch of Across.
|
|
78
|
+
* @note This function will return a default list of chain IDs if the block requested
|
|
79
|
+
* existed before the initial inclusion of this dynamic key/value entry. In the
|
|
80
|
+
* case that a block number is requested that is before the initial inclusion of
|
|
81
|
+
* this key/value entry, the function will return the default list of chain IDs as
|
|
82
|
+
* outlined per the UMIP (https://github.com/UMAprotocol/UMIPs/pull/590).
|
|
83
|
+
*/
|
|
84
|
+
AcrossConfigStoreClient.prototype.getChainIdIndicesForBlock = function (blockNumber) {
|
|
85
|
+
var _a;
|
|
86
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
87
|
+
// Resolve the chain ID indices for the block number requested.
|
|
88
|
+
var chainIdUpdates = sortEventsDescending(this.chainIdIndicesUpdates);
|
|
89
|
+
// Iterate through each of the chain ID updates and resolve the first update that is
|
|
90
|
+
// less than or equal to the block number requested.
|
|
91
|
+
var chainIdIndices = (_a = chainIdUpdates.find(function (update) { return update.blockNumber <= blockNumber; })) === null || _a === void 0 ? void 0 : _a.value;
|
|
92
|
+
// Return either the found value or the protocol default.
|
|
93
|
+
return chainIdIndices !== null && chainIdIndices !== void 0 ? chainIdIndices : this.implicitChainIdIndices(this.chainId);
|
|
94
|
+
};
|
|
95
|
+
AcrossConfigStoreClient.prototype.getSpokeTargetBalancesForBlock = function (l1Token, chainId, blockNumber) {
|
|
96
|
+
var _a;
|
|
97
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
98
|
+
var config = sortEventsDescending(this.cumulativeSpokeTargetBalanceUpdates).find(function (config) { return config.l1Token === l1Token && config.blockNumber <= blockNumber; });
|
|
99
|
+
var targetBalance = (_a = config === null || config === void 0 ? void 0 : config.spokeTargetBalances) === null || _a === void 0 ? void 0 : _a[chainId];
|
|
100
|
+
return targetBalance || { target: toBN(0), threshold: toBN(0) };
|
|
101
|
+
};
|
|
102
|
+
// <-- END LEGACY CONFIGURATION OBJECTS -->
|
|
103
|
+
AcrossConfigStoreClient.prototype.getMaxRefundCountForRelayerRefundLeafForBlock = function (blockNumber) {
|
|
104
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
105
|
+
var config = sortEventsDescending(this.cumulativeMaxRefundCountUpdates).find(function (config) { return config.blockNumber <= blockNumber; });
|
|
106
|
+
if (!config) {
|
|
107
|
+
throw new Error("Could not find MaxRefundCount before block ".concat(blockNumber));
|
|
108
|
+
}
|
|
109
|
+
return Number(config.value);
|
|
110
|
+
};
|
|
111
|
+
AcrossConfigStoreClient.prototype.getMaxL1TokenCountForPoolRebalanceLeafForBlock = function (blockNumber) {
|
|
112
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
113
|
+
var config = sortEventsDescending(this.cumulativeMaxL1TokenCountUpdates).find(function (config) { return config.blockNumber <= blockNumber; });
|
|
114
|
+
if (!config) {
|
|
115
|
+
throw new Error("Could not find MaxL1TokenCount before block ".concat(blockNumber));
|
|
116
|
+
}
|
|
117
|
+
return Number(config.value);
|
|
118
|
+
};
|
|
119
|
+
/**
|
|
120
|
+
* Returns list of chains that have been enabled at least once in the block range.
|
|
121
|
+
* If a chain was disabled in the block range, it will be included in the list provided it was enabled
|
|
122
|
+
* at some point in the block range.
|
|
123
|
+
* @dev If fromBlock == toBlock then defaults to returning enabled chains at fromBlock
|
|
124
|
+
* @param fromBlock Start block to search inclusive
|
|
125
|
+
* @param toBlock End block to search inclusive. Defaults to MAX_SAFE_INTEGER, so grabs all disabled chain events
|
|
126
|
+
* up until `latest`.
|
|
127
|
+
* @returns List of chain IDs that have been enabled at least once in the block range. Sorted from lowest to highest.
|
|
128
|
+
*/
|
|
129
|
+
AcrossConfigStoreClient.prototype.getEnabledChainsInBlockRange = function (fromBlock, toBlock) {
|
|
130
|
+
if (toBlock === void 0) { toBlock = Number.MAX_SAFE_INTEGER; }
|
|
131
|
+
// If our fromBlock is greater than our toBlock, then we have an invalid range.
|
|
132
|
+
if (fromBlock > toBlock) {
|
|
133
|
+
throw new Error("Invalid block range: fromBlock ".concat(fromBlock, " > toBlock ").concat(toBlock));
|
|
134
|
+
}
|
|
135
|
+
// Initiate list with all possible chains enabled at the toBlock while removing any chains
|
|
136
|
+
// that were disabled at the from block.
|
|
137
|
+
var disabledChainsAtFromBlock = this.getDisabledChainsForBlock(fromBlock);
|
|
138
|
+
var allPossibleChains = this.getChainIdIndicesForBlock(toBlock);
|
|
139
|
+
var enabledChainsInBlockRange = allPossibleChains.filter(function (chainId) { return !disabledChainsAtFromBlock.includes(chainId); });
|
|
140
|
+
// If there are any disabled chain updates in the block range, then we might need to update the list of enabled
|
|
141
|
+
// chains in the block range.
|
|
142
|
+
this.cumulativeDisabledChainUpdates
|
|
143
|
+
.filter(function (e) { return e.blockNumber <= toBlock && e.blockNumber >= fromBlock; })
|
|
144
|
+
.forEach(function (e) {
|
|
145
|
+
// If disabled chain update no longer includes a previously disabled chain, then add it back to the enabled chains
|
|
146
|
+
// list.
|
|
147
|
+
var newDisabledSet = e.chainIds;
|
|
148
|
+
disabledChainsAtFromBlock.forEach(function (disabledChain) {
|
|
149
|
+
// New disabled set doesn't include this chain that was previously disabled so it was re-enabled at this point
|
|
150
|
+
// in the block range.
|
|
151
|
+
if (!newDisabledSet.includes(disabledChain)) {
|
|
152
|
+
enabledChainsInBlockRange.push(disabledChain);
|
|
153
|
+
}
|
|
154
|
+
});
|
|
155
|
+
});
|
|
156
|
+
// Return the enabled chains in the block range sorted in the same order as the chain indices.
|
|
157
|
+
return allPossibleChains.filter(function (chainId) { return enabledChainsInBlockRange.includes(chainId); });
|
|
158
|
+
};
|
|
159
|
+
AcrossConfigStoreClient.prototype.getEnabledChains = function (block) {
|
|
160
|
+
if (block === void 0) { block = Number.MAX_SAFE_INTEGER; }
|
|
161
|
+
// Get most recent disabled chain list before the block specified.
|
|
162
|
+
var currentlyDisabledChains = this.getDisabledChainsForBlock(block);
|
|
163
|
+
return this.getChainIdIndicesForBlock(block).filter(function (chainId) { return !currentlyDisabledChains.includes(chainId); });
|
|
164
|
+
};
|
|
165
|
+
AcrossConfigStoreClient.prototype.getDisabledChainsForBlock = function (blockNumber) {
|
|
166
|
+
var _a, _b;
|
|
167
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
168
|
+
return ((_b = (_a = sortEventsDescending(this.cumulativeDisabledChainUpdates).find(function (config) { return config.blockNumber <= blockNumber; })) === null || _a === void 0 ? void 0 : _a.chainIds) !== null && _b !== void 0 ? _b : []);
|
|
169
|
+
};
|
|
170
|
+
AcrossConfigStoreClient.prototype.getConfigStoreVersionForTimestamp = function (timestamp) {
|
|
171
|
+
if (timestamp === void 0) { timestamp = Number.MAX_SAFE_INTEGER; }
|
|
172
|
+
var config = this.cumulativeConfigStoreVersionUpdates.find(function (config) { return config.timestamp <= timestamp; });
|
|
173
|
+
return isDefined(config) ? Number(config.value) : DEFAULT_CONFIG_STORE_VERSION;
|
|
174
|
+
};
|
|
175
|
+
AcrossConfigStoreClient.prototype.getConfigStoreVersionForBlock = function (blockNumber) {
|
|
176
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
177
|
+
var config = this.cumulativeConfigStoreVersionUpdates.find(function (config) { return config.blockNumber <= blockNumber; });
|
|
178
|
+
return isDefined(config) ? Number(config.value) : DEFAULT_CONFIG_STORE_VERSION;
|
|
179
|
+
};
|
|
180
|
+
AcrossConfigStoreClient.prototype.hasValidConfigStoreVersionForTimestamp = function (timestamp) {
|
|
181
|
+
if (timestamp === void 0) { timestamp = Number.MAX_SAFE_INTEGER; }
|
|
182
|
+
var version = this.getConfigStoreVersionForTimestamp(timestamp);
|
|
183
|
+
return this.configStoreVersion >= version;
|
|
184
|
+
};
|
|
185
|
+
/**
|
|
186
|
+
* Resolve the chain ID for the ConfigStore Provider instance.
|
|
187
|
+
* @dev When the provider is a StatisJsonRpcProvider instance, the getNetwork() is non-blocking.
|
|
188
|
+
* @returns Chain ID for the ConfigStore deployment.
|
|
189
|
+
*/
|
|
190
|
+
AcrossConfigStoreClient.prototype.resolveChainId = function () {
|
|
191
|
+
var _a;
|
|
192
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
193
|
+
var _b;
|
|
194
|
+
return __generator(this, function (_c) {
|
|
195
|
+
switch (_c.label) {
|
|
196
|
+
case 0:
|
|
197
|
+
if (!((_a = this.chainId) !== null && _a !== void 0)) return [3 /*break*/, 1];
|
|
198
|
+
_b = _a;
|
|
199
|
+
return [3 /*break*/, 3];
|
|
200
|
+
case 1: return [4 /*yield*/, this.configStore.provider.getNetwork()];
|
|
201
|
+
case 2:
|
|
202
|
+
_b = (_c.sent()).chainId;
|
|
203
|
+
_c.label = 3;
|
|
204
|
+
case 3: return [2 /*return*/, _b];
|
|
205
|
+
}
|
|
206
|
+
});
|
|
207
|
+
});
|
|
208
|
+
};
|
|
209
|
+
AcrossConfigStoreClient.prototype._update = function () {
|
|
210
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
211
|
+
var chainId, searchConfig, reason, _a, updatedTokenConfigEvents, updatedGlobalConfigEvents, globalConfigUpdateTimes;
|
|
212
|
+
var _this = this;
|
|
213
|
+
return __generator(this, function (_b) {
|
|
214
|
+
switch (_b.label) {
|
|
215
|
+
case 0: return [4 /*yield*/, this.resolveChainId()];
|
|
216
|
+
case 1:
|
|
217
|
+
chainId = _b.sent();
|
|
218
|
+
return [4 /*yield*/, this.updateSearchConfig(this.configStore.provider)];
|
|
219
|
+
case 2:
|
|
220
|
+
searchConfig = _b.sent();
|
|
221
|
+
if (isUpdateFailureReason(searchConfig)) {
|
|
222
|
+
reason = searchConfig;
|
|
223
|
+
return [2 /*return*/, { success: false, reason: reason }];
|
|
224
|
+
}
|
|
225
|
+
this.logger.debug({ at: "AcrossConfigStore", message: "Updating ConfigStore client", searchConfig: searchConfig });
|
|
226
|
+
return [4 /*yield*/, Promise.all([
|
|
227
|
+
paginatedEventQuery(this.configStore, this.configStore.filters.UpdatedTokenConfig(), searchConfig),
|
|
228
|
+
paginatedEventQuery(this.configStore, this.configStore.filters.UpdatedGlobalConfig(), searchConfig),
|
|
229
|
+
])];
|
|
230
|
+
case 3:
|
|
231
|
+
_a = _b.sent(), updatedTokenConfigEvents = _a[0], updatedGlobalConfigEvents = _a[1];
|
|
232
|
+
// Events *should* normally be received in ascending order, but explicitly enforce the ordering.
|
|
233
|
+
[updatedTokenConfigEvents, updatedGlobalConfigEvents].forEach(function (events) { return sortEventsAscendingInPlace(events); });
|
|
234
|
+
return [4 /*yield*/, Promise.all(updatedGlobalConfigEvents.map(function (event) { return _this.configStore.provider.getBlock(event.blockNumber); }))];
|
|
235
|
+
case 4:
|
|
236
|
+
globalConfigUpdateTimes = (_b.sent()).map(function (block) { return block.timestamp; });
|
|
237
|
+
return [2 /*return*/, {
|
|
238
|
+
success: true,
|
|
239
|
+
chainId: chainId,
|
|
240
|
+
searchEndBlock: searchConfig.toBlock,
|
|
241
|
+
events: {
|
|
242
|
+
updatedTokenConfigEvents: updatedTokenConfigEvents,
|
|
243
|
+
updatedGlobalConfigEvents: updatedGlobalConfigEvents,
|
|
244
|
+
globalConfigUpdateTimes: globalConfigUpdateTimes,
|
|
245
|
+
},
|
|
246
|
+
}];
|
|
247
|
+
}
|
|
248
|
+
});
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
AcrossConfigStoreClient.prototype.update = function () {
|
|
252
|
+
var _a, _b, _c, _d, _e;
|
|
253
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
254
|
+
var result, chainId, _f, updatedTokenConfigEvents, updatedGlobalConfigEvents, globalConfigUpdateTimes, _i, updatedTokenConfigEvents_1, event_1, args, parsedValue, l1Token, value, key, passedArgs, rateModelForToken, targetBalances, routeRateModel, err_1, maxWarnAge, _g, errMsg, _loop_1, this_1, i;
|
|
255
|
+
return __generator(this, function (_h) {
|
|
256
|
+
switch (_h.label) {
|
|
257
|
+
case 0: return [4 /*yield*/, this._update()];
|
|
258
|
+
case 1:
|
|
259
|
+
result = _h.sent();
|
|
260
|
+
if (!result.success) {
|
|
261
|
+
if (result.reason !== UpdateFailureReason.AlreadyUpdated) {
|
|
262
|
+
throw new Error("Unable to update ConfigStoreClient: ".concat(result.reason));
|
|
263
|
+
}
|
|
264
|
+
// No need to touch `this.isUpdated` because it should already be set from a previous update.
|
|
265
|
+
return [2 /*return*/];
|
|
266
|
+
}
|
|
267
|
+
chainId = result.chainId;
|
|
268
|
+
_f = result.events, updatedTokenConfigEvents = _f.updatedTokenConfigEvents, updatedGlobalConfigEvents = _f.updatedGlobalConfigEvents, globalConfigUpdateTimes = _f.globalConfigUpdateTimes;
|
|
269
|
+
assert(updatedGlobalConfigEvents.length === globalConfigUpdateTimes.length, "GlobalConfigUpdate events mismatch (".concat(updatedGlobalConfigEvents.length, " != ").concat(globalConfigUpdateTimes.length, ")"));
|
|
270
|
+
_i = 0, updatedTokenConfigEvents_1 = updatedTokenConfigEvents;
|
|
271
|
+
_h.label = 2;
|
|
272
|
+
case 2:
|
|
273
|
+
if (!(_i < updatedTokenConfigEvents_1.length)) return [3 /*break*/, 7];
|
|
274
|
+
event_1 = updatedTokenConfigEvents_1[_i];
|
|
275
|
+
args = __assign({}, spreadEventWithBlockNumber(event_1));
|
|
276
|
+
_h.label = 3;
|
|
277
|
+
case 3:
|
|
278
|
+
_h.trys.push([3, 4, , 6]);
|
|
279
|
+
parsedValue = parseJSONWithNumericString(args.value);
|
|
280
|
+
l1Token = args.key;
|
|
281
|
+
value = args.value, key = args.key, passedArgs = __rest(args, ["value", "key"]);
|
|
282
|
+
// Drop value and key before passing args.
|
|
283
|
+
if ((parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.rateModel) !== undefined) {
|
|
284
|
+
rateModelForToken = JSON.stringify(parsedValue.rateModel);
|
|
285
|
+
this.cumulativeRateModelUpdates.push(__assign(__assign({}, passedArgs), { rateModel: rateModelForToken, l1Token: l1Token }));
|
|
286
|
+
// Store spokeTargetBalances
|
|
287
|
+
if (parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.spokeTargetBalances) {
|
|
288
|
+
targetBalances = Object.fromEntries(Object.entries(parsedValue.spokeTargetBalances).map(function (_a) {
|
|
289
|
+
var chainId = _a[0], targetBalance = _a[1];
|
|
290
|
+
var target = max(toBN(targetBalance.target), toBN(0));
|
|
291
|
+
var threshold = max(toBN(targetBalance.threshold), toBN(0));
|
|
292
|
+
return [chainId, { target: target, threshold: threshold }];
|
|
293
|
+
}));
|
|
294
|
+
this.cumulativeSpokeTargetBalanceUpdates.push(__assign(__assign({}, passedArgs), { spokeTargetBalances: targetBalances, l1Token: l1Token }));
|
|
295
|
+
}
|
|
296
|
+
else {
|
|
297
|
+
this.cumulativeSpokeTargetBalanceUpdates.push(__assign(__assign({}, passedArgs), { spokeTargetBalances: {}, l1Token: l1Token }));
|
|
298
|
+
}
|
|
299
|
+
// Store route-specific rate models
|
|
300
|
+
if (parsedValue === null || parsedValue === void 0 ? void 0 : parsedValue.routeRateModel) {
|
|
301
|
+
routeRateModel = Object.fromEntries(Object.entries(parsedValue.routeRateModel).map(function (_a) {
|
|
302
|
+
var path = _a[0], routeRateModel = _a[1];
|
|
303
|
+
return [path, JSON.stringify(routeRateModel)];
|
|
304
|
+
}));
|
|
305
|
+
this.cumulativeRouteRateModelUpdates.push(__assign(__assign({}, passedArgs), { routeRateModel: routeRateModel, l1Token: l1Token }));
|
|
306
|
+
}
|
|
307
|
+
else {
|
|
308
|
+
this.cumulativeRouteRateModelUpdates.push(__assign(__assign({}, passedArgs), { routeRateModel: {}, l1Token: l1Token }));
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return [3 /*break*/, 6];
|
|
312
|
+
case 4:
|
|
313
|
+
err_1 = _h.sent();
|
|
314
|
+
_g = (24 * 60 * 60);
|
|
315
|
+
return [4 /*yield*/, utils.averageBlockTimeSeconds()];
|
|
316
|
+
case 5:
|
|
317
|
+
maxWarnAge = _g / (_h.sent());
|
|
318
|
+
if (result.searchEndBlock - event_1.blockNumber < maxWarnAge) {
|
|
319
|
+
errMsg = isError(err_1) ? err_1.message : "unknown error";
|
|
320
|
+
this.logger.warn({
|
|
321
|
+
at: "ConfigStore::update",
|
|
322
|
+
message: "Caught error during ConfigStore update: ".concat(errMsg),
|
|
323
|
+
update: args,
|
|
324
|
+
});
|
|
325
|
+
}
|
|
326
|
+
else {
|
|
327
|
+
this.logger.debug({
|
|
328
|
+
at: "ConfigStoreClient::update",
|
|
329
|
+
message: "Skipping invalid historical update at block ".concat(event_1.blockNumber),
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
return [3 /*break*/, 6];
|
|
333
|
+
case 6:
|
|
334
|
+
_i++;
|
|
335
|
+
return [3 /*break*/, 2];
|
|
336
|
+
case 7:
|
|
337
|
+
sortEventsAscendingInPlace(this.ubaConfigUpdates);
|
|
338
|
+
_loop_1 = function (i) {
|
|
339
|
+
var event_2 = updatedGlobalConfigEvents[i];
|
|
340
|
+
var args = __assign({ blockNumber: event_2.blockNumber, transactionIndex: event_2.transactionIndex, logIndex: event_2.logIndex }, spreadEvent(event_2.args));
|
|
341
|
+
if (args.key === utf8ToHex(GLOBAL_CONFIG_STORE_KEYS.MAX_RELAYER_REPAYMENT_LEAF_SIZE)) {
|
|
342
|
+
if (!isNaN(args.value)) {
|
|
343
|
+
this_1.cumulativeMaxRefundCountUpdates.push(args);
|
|
344
|
+
}
|
|
345
|
+
}
|
|
346
|
+
else if (args.key === utf8ToHex(GLOBAL_CONFIG_STORE_KEYS.CHAIN_ID_INDICES)) {
|
|
347
|
+
try {
|
|
348
|
+
// We need to parse the chain ID indices array from the stringified JSON. However,
|
|
349
|
+
// the on-chain string has quotes around the array, which will parse our JSON as a
|
|
350
|
+
// string instead of an array. We need to remove these quotes before parsing.
|
|
351
|
+
// To be sure, we can check for single quotes, double quotes, and spaces.
|
|
352
|
+
var chainIndices_1 = JSON.parse(args.value.replace(/['"\s]/g, ""));
|
|
353
|
+
// Check that the array is valid and that every element is a number.
|
|
354
|
+
if (!isArrayOf(chainIndices_1, isPositiveInteger)) {
|
|
355
|
+
this_1.logger.warn({ at: "ConfigStore", message: "The array ".concat(chainIndices_1, " is invalid.") });
|
|
356
|
+
return "continue";
|
|
357
|
+
}
|
|
358
|
+
// Let's also check that the array doesn't contain any duplicates.
|
|
359
|
+
if (new Set(chainIndices_1).size !== chainIndices_1.length) {
|
|
360
|
+
this_1.logger.warn({
|
|
361
|
+
at: "ConfigStore",
|
|
362
|
+
message: "The array ".concat(chainIndices_1, " contains duplicates making it invalid."),
|
|
363
|
+
});
|
|
364
|
+
return "continue";
|
|
365
|
+
}
|
|
366
|
+
// Now check that we're only appending positive integers to the chainIndices array on each
|
|
367
|
+
// update. If this isn't the case, skip the update & warn. If there is no previous update,
|
|
368
|
+
// resolve an implcit chain ID list.
|
|
369
|
+
var previousUpdate = (_b = (_a = this_1.chainIdIndicesUpdates.at(-1)) === null || _a === void 0 ? void 0 : _a.value) !== null && _b !== void 0 ? _b : this_1.implicitChainIdIndices(chainId);
|
|
370
|
+
// We should now check that previousUpdate is a subset of chainIndices.
|
|
371
|
+
if (!previousUpdate.every(function (chainId, idx) { return chainIndices_1[idx] === chainId; })) {
|
|
372
|
+
this_1.logger.warn({
|
|
373
|
+
at: "ConfigStoreClient#update",
|
|
374
|
+
message: "The array ".concat(chainIndices_1, " is invalid. It must be a superset of the previous array ").concat(previousUpdate),
|
|
375
|
+
});
|
|
376
|
+
return "continue";
|
|
377
|
+
}
|
|
378
|
+
// If all else passes, we can add this update.
|
|
379
|
+
this_1.chainIdIndicesUpdates.push(__assign(__assign({}, args), { value: chainIndices_1 }));
|
|
380
|
+
}
|
|
381
|
+
catch (e) {
|
|
382
|
+
this_1.logger.warn({ at: "ConfigStore::update", message: "Failed to parse chain ID indices: ".concat(args.value) });
|
|
383
|
+
}
|
|
384
|
+
}
|
|
385
|
+
else if (args.key === utf8ToHex(GLOBAL_CONFIG_STORE_KEYS.MAX_POOL_REBALANCE_LEAF_SIZE)) {
|
|
386
|
+
if (!isNaN(args.value)) {
|
|
387
|
+
this_1.cumulativeMaxL1TokenCountUpdates.push(args);
|
|
388
|
+
}
|
|
389
|
+
}
|
|
390
|
+
else if (args.key === utf8ToHex(GLOBAL_CONFIG_STORE_KEYS.VERSION)) {
|
|
391
|
+
// If not a number, skip.
|
|
392
|
+
if (isNaN(args.value)) {
|
|
393
|
+
return "continue";
|
|
394
|
+
}
|
|
395
|
+
var value = Number(args.value);
|
|
396
|
+
// If not an integer, skip.
|
|
397
|
+
if (!Number.isInteger(value)) {
|
|
398
|
+
return "continue";
|
|
399
|
+
}
|
|
400
|
+
// Extract the current highest version. Require that the version always increments, otherwise skip the update.
|
|
401
|
+
var lastValue = Number((_d = (_c = this_1.cumulativeConfigStoreVersionUpdates[0]) === null || _c === void 0 ? void 0 : _c.value) !== null && _d !== void 0 ? _d : DEFAULT_CONFIG_STORE_VERSION);
|
|
402
|
+
if (value <= lastValue) {
|
|
403
|
+
return "continue";
|
|
404
|
+
}
|
|
405
|
+
// Prepend the update to impose descending ordering for version updates.
|
|
406
|
+
this_1.cumulativeConfigStoreVersionUpdates = __spreadArray([
|
|
407
|
+
__assign(__assign({}, args), { timestamp: globalConfigUpdateTimes[i] })
|
|
408
|
+
], this_1.cumulativeConfigStoreVersionUpdates, true);
|
|
409
|
+
}
|
|
410
|
+
else if (args.key === utf8ToHex(GLOBAL_CONFIG_STORE_KEYS.DISABLED_CHAINS)) {
|
|
411
|
+
try {
|
|
412
|
+
var chainIds = this_1.filterDisabledChains(JSON.parse(args.value));
|
|
413
|
+
this_1.cumulativeDisabledChainUpdates.push(__assign(__assign({}, args), { chainIds: chainIds }));
|
|
414
|
+
}
|
|
415
|
+
catch (err) {
|
|
416
|
+
// Can't parse list, skip.
|
|
417
|
+
}
|
|
418
|
+
}
|
|
419
|
+
else {
|
|
420
|
+
return "continue";
|
|
421
|
+
}
|
|
422
|
+
};
|
|
423
|
+
this_1 = this;
|
|
424
|
+
// Save new Global config updates.
|
|
425
|
+
for (i = 0; i < updatedGlobalConfigEvents.length; i++) {
|
|
426
|
+
_loop_1(i);
|
|
427
|
+
}
|
|
428
|
+
this.rateModelDictionary.updateWithEvents(this.cumulativeRateModelUpdates);
|
|
429
|
+
this.hasLatestConfigStoreVersion = this.hasValidConfigStoreVersionForTimestamp();
|
|
430
|
+
this.latestBlockSearched = result.searchEndBlock;
|
|
431
|
+
this.firstBlockToSearch = result.searchEndBlock + 1; // Next iteration should start off from where this one ended.
|
|
432
|
+
this.eventSearchConfig.toBlock = undefined; // Caller can re-set on subsequent updates if necessary
|
|
433
|
+
this.chainId = (_e = this.chainId) !== null && _e !== void 0 ? _e : chainId; // Update on the first run only.
|
|
434
|
+
this.isUpdated = true;
|
|
435
|
+
this.logger.debug({ at: "ConfigStore", message: "ConfigStore client updated!" });
|
|
436
|
+
return [2 /*return*/];
|
|
437
|
+
}
|
|
438
|
+
});
|
|
439
|
+
});
|
|
440
|
+
};
|
|
441
|
+
AcrossConfigStoreClient.prototype.filterDisabledChains = function (disabledChains) {
|
|
442
|
+
// If any chain ID's are not integers then ignore. UMIP-157 requires that this key cannot include
|
|
443
|
+
// the chain ID 1.
|
|
444
|
+
return disabledChains.filter(function (chainId) { return !isNaN(chainId) && Number.isInteger(chainId) && chainId !== 1; });
|
|
445
|
+
};
|
|
446
|
+
/**
|
|
447
|
+
* Retrieves the most recently set UBA config for a given L1 token address before a block number.
|
|
448
|
+
* @param l1TokenAddress The L1 token address to retrieve the config for
|
|
449
|
+
* @param blockNumber The block number to retrieve the config for. If not specified, sets block to max integer
|
|
450
|
+
* meaning that this function will return the latest config.
|
|
451
|
+
* @returns The UBA config for the given L1 token address and block number, or undefined if no config exists
|
|
452
|
+
* before blockNumber.
|
|
453
|
+
*/
|
|
454
|
+
AcrossConfigStoreClient.prototype.getUBAConfig = function (l1TokenAddress, blockNumber) {
|
|
455
|
+
if (blockNumber === void 0) { blockNumber = Number.MAX_SAFE_INTEGER; }
|
|
456
|
+
// We only care about searching on the block number and not any events that occurred in the same block
|
|
457
|
+
// but with a lower transaction index. In other words, if the UBA config was updated as the absolute
|
|
458
|
+
// last transaction in a block, the update still applies to all preceding UBA events in the same block.
|
|
459
|
+
// This is a simplifying assumption that we can make because the ConfigStore admin role is whitelisted and assumed
|
|
460
|
+
// to be acting in the best interest of the protocol.
|
|
461
|
+
var config = findLast(this.ubaConfigUpdates, function (config) { return config.l1Token === l1TokenAddress && config.blockNumber <= blockNumber; });
|
|
462
|
+
return config === null || config === void 0 ? void 0 : config.config;
|
|
463
|
+
};
|
|
464
|
+
return AcrossConfigStoreClient;
|
|
465
|
+
}(BaseAbstractClient));
|
|
466
|
+
export { AcrossConfigStoreClient };
|
|
467
|
+
//# sourceMappingURL=AcrossConfigStoreClient.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AcrossConfigStoreClient.js","sourceRoot":"","sources":["../../../../src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./AcrossConfigStoreClient";
|