@hyperlane-xyz/sdk 0.5.5 → 1.0.0-beta0
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/package.json +3 -3
- package/dist/HyperlaneApp.d.ts +0 -13
- package/dist/HyperlaneApp.d.ts.map +0 -1
- package/dist/HyperlaneApp.js +0 -25
- package/dist/HyperlaneApp.js.map +0 -1
- package/dist/consts/chainConnectionConfigs.d.ts +0 -29
- package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
- package/dist/consts/chainConnectionConfigs.js +0 -146
- package/dist/consts/chainConnectionConfigs.js.map +0 -1
- package/dist/consts/chainMetadata.d.ts +0 -44
- package/dist/consts/chainMetadata.d.ts.map +0 -1
- package/dist/consts/chainMetadata.js +0 -144
- package/dist/consts/chainMetadata.js.map +0 -1
- package/dist/consts/chains.d.ts +0 -38
- package/dist/consts/chains.d.ts.map +0 -1
- package/dist/consts/chains.js +0 -52
- package/dist/consts/chains.js.map +0 -1
- package/dist/consts/environments/index.d.ts +0 -1493
- package/dist/consts/environments/index.d.ts.map +0 -1
- package/dist/consts/environments/index.js +0 -28
- package/dist/consts/environments/index.js.map +0 -1
- package/dist/consts/environments/mainnet.json +0 -682
- package/dist/consts/environments/test.json +0 -113
- package/dist/consts/environments/testnet2.json +0 -682
- package/dist/consts/metamask.d.ts +0 -17
- package/dist/consts/metamask.d.ts.map +0 -1
- package/dist/consts/metamask.js +0 -50
- package/dist/consts/metamask.js.map +0 -1
- package/dist/contracts.d.ts +0 -17
- package/dist/contracts.d.ts.map +0 -1
- package/dist/contracts.js +0 -61
- package/dist/contracts.js.map +0 -1
- package/dist/core/HyperlaneCore.d.ts +0 -1523
- package/dist/core/HyperlaneCore.d.ts.map +0 -1
- package/dist/core/HyperlaneCore.js +0 -132
- package/dist/core/HyperlaneCore.js.map +0 -1
- package/dist/core/HyperlaneCore.test.d.ts +0 -2
- package/dist/core/HyperlaneCore.test.d.ts.map +0 -1
- package/dist/core/HyperlaneCore.test.js +0 -27
- package/dist/core/HyperlaneCore.test.js.map +0 -1
- package/dist/core/TestCoreApp.d.ts +0 -27
- package/dist/core/TestCoreApp.d.ts.map +0 -1
- package/dist/core/TestCoreApp.js +0 -63
- package/dist/core/TestCoreApp.js.map +0 -1
- package/dist/core/TestCoreDeployer.d.ts +0 -13
- package/dist/core/TestCoreDeployer.d.ts.map +0 -1
- package/dist/core/TestCoreDeployer.js +0 -85
- package/dist/core/TestCoreDeployer.js.map +0 -1
- package/dist/core/contracts.d.ts +0 -33
- package/dist/core/contracts.d.ts.map +0 -1
- package/dist/core/contracts.js +0 -14
- package/dist/core/contracts.js.map +0 -1
- package/dist/core/events.d.ts +0 -9
- package/dist/core/events.d.ts.map +0 -1
- package/dist/core/events.js +0 -3
- package/dist/core/events.js.map +0 -1
- package/dist/core/message.d.ts +0 -161
- package/dist/core/message.d.ts.map +0 -1
- package/dist/core/message.js +0 -310
- package/dist/core/message.js.map +0 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +0 -3
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +0 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +0 -66
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +0 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +0 -22
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +0 -1
- package/dist/deploy/HyperlaneAppChecker.js +0 -84
- package/dist/deploy/HyperlaneAppChecker.js.map +0 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +0 -45
- package/dist/deploy/HyperlaneDeployer.d.ts.map +0 -1
- package/dist/deploy/HyperlaneDeployer.js +0 -187
- package/dist/deploy/HyperlaneDeployer.js.map +0 -1
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +0 -17
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +0 -1
- package/dist/deploy/core/HyperlaneCoreChecker.js +0 -208
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +0 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +0 -33
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +0 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.js +0 -135
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +0 -1
- package/dist/deploy/core/types.d.ts +0 -64
- package/dist/deploy/core/types.d.ts.map +0 -1
- package/dist/deploy/core/types.js +0 -23
- package/dist/deploy/core/types.js.map +0 -1
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts +0 -34
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +0 -1
- package/dist/deploy/middleware/LiquidityLayerApp.js +0 -180
- package/dist/deploy/middleware/LiquidityLayerApp.js.map +0 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +0 -44
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +0 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +0 -127
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +0 -1
- package/dist/deploy/middleware/TokenBridgeApp.d.ts +0 -26
- package/dist/deploy/middleware/TokenBridgeApp.d.ts.map +0 -1
- package/dist/deploy/middleware/TokenBridgeApp.js +0 -115
- package/dist/deploy/middleware/TokenBridgeApp.js.map +0 -1
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts +0 -33
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.d.ts.map +0 -1
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.js +0 -93
- package/dist/deploy/middleware/TokenBridgeRouterDeployer.js.map +0 -1
- package/dist/deploy/middleware/deploy.d.ts +0 -21
- package/dist/deploy/middleware/deploy.d.ts.map +0 -1
- package/dist/deploy/middleware/deploy.js +0 -62
- package/dist/deploy/middleware/deploy.js.map +0 -1
- package/dist/deploy/proxy.d.ts +0 -17
- package/dist/deploy/proxy.d.ts.map +0 -1
- package/dist/deploy/proxy.js +0 -35
- package/dist/deploy/proxy.js.map +0 -1
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +0 -14
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +0 -1
- package/dist/deploy/router/HyperlaneRouterChecker.js +0 -53
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +0 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +0 -13
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +0 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.js +0 -108
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +0 -1
- package/dist/deploy/router/types.d.ts +0 -7
- package/dist/deploy/router/types.d.ts.map +0 -1
- package/dist/deploy/router/types.js +0 -3
- package/dist/deploy/router/types.js.map +0 -1
- package/dist/deploy/types.d.ts +0 -23
- package/dist/deploy/types.d.ts.map +0 -1
- package/dist/deploy/types.js +0 -9
- package/dist/deploy/types.js.map +0 -1
- package/dist/deploy/utils.d.ts +0 -10
- package/dist/deploy/utils.d.ts.map +0 -1
- package/dist/deploy/utils.js +0 -38
- package/dist/deploy/utils.js.map +0 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +0 -19
- package/dist/deploy/verify/ContractVerifier.d.ts.map +0 -1
- package/dist/deploy/verify/ContractVerifier.js +0 -137
- package/dist/deploy/verify/ContractVerifier.js.map +0 -1
- package/dist/deploy/verify/types.d.ts +0 -14
- package/dist/deploy/verify/types.d.ts.map +0 -1
- package/dist/deploy/verify/types.js +0 -3
- package/dist/deploy/verify/types.js.map +0 -1
- package/dist/deploy/verify/utils.d.ts +0 -6
- package/dist/deploy/verify/utils.d.ts.map +0 -1
- package/dist/deploy/verify/utils.js +0 -25
- package/dist/deploy/verify/utils.js.map +0 -1
- package/dist/domains.d.ts +0 -4
- package/dist/domains.d.ts.map +0 -1
- package/dist/domains.js +0 -12
- package/dist/domains.js.map +0 -1
- package/dist/events.d.ts +0 -25
- package/dist/events.d.ts.map +0 -1
- package/dist/events.js +0 -161
- package/dist/events.js.map +0 -1
- package/dist/gas/calculator.d.ts +0 -134
- package/dist/gas/calculator.d.ts.map +0 -1
- package/dist/gas/calculator.js +0 -235
- package/dist/gas/calculator.js.map +0 -1
- package/dist/gas/calculator.test.d.ts +0 -2
- package/dist/gas/calculator.test.d.ts.map +0 -1
- package/dist/gas/calculator.test.js +0 -211
- package/dist/gas/calculator.test.js.map +0 -1
- package/dist/gas/token-prices.d.ts +0 -34
- package/dist/gas/token-prices.d.ts.map +0 -1
- package/dist/gas/token-prices.js +0 -105
- package/dist/gas/token-prices.js.map +0 -1
- package/dist/gas/token-prices.test.d.ts +0 -2
- package/dist/gas/token-prices.test.d.ts.map +0 -1
- package/dist/gas/token-prices.test.js +0 -46
- package/dist/gas/token-prices.test.js.map +0 -1
- package/dist/index.d.ts +0 -46
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js +0 -134
- package/dist/index.js.map +0 -1
- package/dist/middleware/accounts.hardhat-test.d.ts +0 -2
- package/dist/middleware/accounts.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/accounts.hardhat-test.js +0 -63
- package/dist/middleware/accounts.hardhat-test.js.map +0 -1
- package/dist/middleware/accounts.test.d.ts +0 -2
- package/dist/middleware/accounts.test.d.ts.map +0 -1
- package/dist/middleware/accounts.test.js +0 -61
- package/dist/middleware/accounts.test.js.map +0 -1
- package/dist/middleware/liquidity-layer.hardhat-test.d.ts +0 -2
- package/dist/middleware/liquidity-layer.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/liquidity-layer.hardhat-test.js +0 -116
- package/dist/middleware/liquidity-layer.hardhat-test.js.map +0 -1
- package/dist/middleware/queries.hardhat-test.d.ts +0 -2
- package/dist/middleware/queries.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/queries.hardhat-test.js +0 -69
- package/dist/middleware/queries.hardhat-test.js.map +0 -1
- package/dist/middleware/queries.test.d.ts +0 -2
- package/dist/middleware/queries.test.d.ts.map +0 -1
- package/dist/middleware/queries.test.js +0 -69
- package/dist/middleware/queries.test.js.map +0 -1
- package/dist/middleware/tokenbridge.hardhat-test.d.ts +0 -2
- package/dist/middleware/tokenbridge.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/tokenbridge.hardhat-test.js +0 -89
- package/dist/middleware/tokenbridge.hardhat-test.js.map +0 -1
- package/dist/middleware.d.ts +0 -18
- package/dist/middleware.d.ts.map +0 -1
- package/dist/middleware.js +0 -16
- package/dist/middleware.js.map +0 -1
- package/dist/providers/ChainConnection.d.ts +0 -22
- package/dist/providers/ChainConnection.d.ts.map +0 -1
- package/dist/providers/ChainConnection.js +0 -67
- package/dist/providers/ChainConnection.js.map +0 -1
- package/dist/providers/MultiProvider.d.ts +0 -56
- package/dist/providers/MultiProvider.d.ts.map +0 -1
- package/dist/providers/MultiProvider.js +0 -111
- package/dist/providers/MultiProvider.js.map +0 -1
- package/dist/providers/RetryProvider.d.ts +0 -18
- package/dist/providers/RetryProvider.d.ts.map +0 -1
- package/dist/providers/RetryProvider.js +0 -49
- package/dist/providers/RetryProvider.js.map +0 -1
- package/dist/proxy.d.ts +0 -23
- package/dist/proxy.d.ts.map +0 -1
- package/dist/proxy.js +0 -30
- package/dist/proxy.js.map +0 -1
- package/dist/router.d.ts +0 -19
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -3
- package/dist/router.js.map +0 -1
- package/dist/test/envSubsetDeployer/app.d.ts +0 -36
- package/dist/test/envSubsetDeployer/app.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/app.js +0 -77
- package/dist/test/envSubsetDeployer/app.js.map +0 -1
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts +0 -2
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +0 -49
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +0 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +0 -2
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +0 -42
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +0 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +0 -2
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +0 -83
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +0 -1
- package/dist/test/envSubsetDeployer/utils.d.ts +0 -7
- package/dist/test/envSubsetDeployer/utils.d.ts.map +0 -1
- package/dist/test/envSubsetDeployer/utils.js +0 -25
- package/dist/test/envSubsetDeployer/utils.js.map +0 -1
- package/dist/test/testUtils.d.ts +0 -31
- package/dist/test/testUtils.d.ts.map +0 -1
- package/dist/test/testUtils.js +0 -106
- package/dist/test/testUtils.js.map +0 -1
- package/dist/tokenBridge.d.ts +0 -10
- package/dist/tokenBridge.d.ts.map +0 -1
- package/dist/tokenBridge.js +0 -9
- package/dist/tokenBridge.js.map +0 -1
- package/dist/types.d.ts +0 -21
- package/dist/types.d.ts.map +0 -1
- package/dist/types.js +0 -3
- package/dist/types.js.map +0 -1
- package/dist/utils/MultiGeneric.d.ts +0 -27
- package/dist/utils/MultiGeneric.d.ts.map +0 -1
- package/dist/utils/MultiGeneric.js +0 -70
- package/dist/utils/MultiGeneric.js.map +0 -1
- package/dist/utils/ids.d.ts +0 -20
- package/dist/utils/ids.d.ts.map +0 -1
- package/dist/utils/ids.js +0 -47
- package/dist/utils/ids.js.map +0 -1
- package/dist/utils/number.d.ts +0 -32
- package/dist/utils/number.d.ts.map +0 -1
- package/dist/utils/number.js +0 -59
- package/dist/utils/number.js.map +0 -1
- package/dist/utils/objects.d.ts +0 -8
- package/dist/utils/objects.d.ts.map +0 -1
- package/dist/utils/objects.js +0 -33
- package/dist/utils/objects.js.map +0 -1
- package/dist/utils/time.d.ts +0 -8
- package/dist/utils/time.d.ts.map +0 -1
- package/dist/utils/time.js +0 -15
- package/dist/utils/time.js.map +0 -1
- package/dist/utils/utils.test.d.ts +0 -2
- package/dist/utils/utils.test.d.ts.map +0 -1
- package/dist/utils/utils.test.js +0 -41
- package/dist/utils/utils.test.js.map +0 -1
|
@@ -1,211 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
12
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
13
|
-
};
|
|
14
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
-
const chai_1 = require("chai");
|
|
16
|
-
const ethers_1 = require("ethers");
|
|
17
|
-
const sinon_1 = __importDefault(require("sinon"));
|
|
18
|
-
const chains_1 = require("../consts/chains");
|
|
19
|
-
const HyperlaneCore_1 = require("../core/HyperlaneCore");
|
|
20
|
-
const MultiProvider_1 = require("../providers/MultiProvider");
|
|
21
|
-
const testUtils_1 = require("../test/testUtils");
|
|
22
|
-
const calculator_1 = require("./calculator");
|
|
23
|
-
const HANDLE_GAS = 100000;
|
|
24
|
-
const SUGGESTED_GAS_PRICE = 10;
|
|
25
|
-
const INBOX_PROCESS_OVERHEAD_GAS = 100000;
|
|
26
|
-
// Exposes protected methods so they can be stubbed.
|
|
27
|
-
class TestInterchainGasCalculator extends calculator_1.InterchainGasCalculator {
|
|
28
|
-
estimateGasForProcess(origin, destination) {
|
|
29
|
-
return super.estimateGasForProcess(origin, destination);
|
|
30
|
-
}
|
|
31
|
-
estimateGasForHandle(message) {
|
|
32
|
-
return super.estimateGasForHandle(message);
|
|
33
|
-
}
|
|
34
|
-
convertBetweenTokens(fromChain, toChain, fromAmount) {
|
|
35
|
-
return super.convertBetweenTokens(fromChain, toChain, fromAmount);
|
|
36
|
-
}
|
|
37
|
-
tokenDecimals(chain) {
|
|
38
|
-
return super.tokenDecimals(chain);
|
|
39
|
-
}
|
|
40
|
-
getGasPrice(chain) {
|
|
41
|
-
return super.getGasPrice(chain);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
describe('InterchainGasCalculator', () => {
|
|
45
|
-
const provider = new testUtils_1.MockProvider();
|
|
46
|
-
// TODO: fix types to not require the <any> here.
|
|
47
|
-
// This is because InterchainGasCalculator isn't very strongly typed,
|
|
48
|
-
// which is because ParsedMessage isn't very strongly typed. This results
|
|
49
|
-
// in InterchainGasCalculator expecting a multiprovider with providers for
|
|
50
|
-
// every chain.
|
|
51
|
-
const multiProvider = new MultiProvider_1.MultiProvider({
|
|
52
|
-
test1: { provider },
|
|
53
|
-
test2: { provider },
|
|
54
|
-
test3: { provider },
|
|
55
|
-
});
|
|
56
|
-
const core = HyperlaneCore_1.HyperlaneCore.fromEnvironment('test', multiProvider);
|
|
57
|
-
const origin = chains_1.Chains.test1;
|
|
58
|
-
const destination = chains_1.Chains.test2;
|
|
59
|
-
let tokenPriceGetter;
|
|
60
|
-
let calculator;
|
|
61
|
-
beforeEach(() => {
|
|
62
|
-
tokenPriceGetter = new testUtils_1.MockTokenPriceGetter();
|
|
63
|
-
tokenPriceGetter.setTokenPrice(origin, 9.0909);
|
|
64
|
-
tokenPriceGetter.setTokenPrice(destination, 5.5);
|
|
65
|
-
calculator = new TestInterchainGasCalculator(multiProvider, core, {
|
|
66
|
-
tokenPriceGetter,
|
|
67
|
-
// A multiplier of 1 makes testing easier to reason about
|
|
68
|
-
paymentEstimateMultiplier: '1',
|
|
69
|
-
});
|
|
70
|
-
});
|
|
71
|
-
afterEach(() => {
|
|
72
|
-
sinon_1.default.restore();
|
|
73
|
-
provider.clearMethodResolveValues();
|
|
74
|
-
});
|
|
75
|
-
describe('estimatePaymentForGas', () => {
|
|
76
|
-
it('estimates origin token payment from a specified destination gas amount', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
77
|
-
// Set destination gas price to 10 wei
|
|
78
|
-
provider.setMethodResolveValue('getGasPrice', ethers_1.BigNumber.from(SUGGESTED_GAS_PRICE));
|
|
79
|
-
const estimatedPayment = yield calculator.estimatePaymentForGas(origin, destination, ethers_1.BigNumber.from(HANDLE_GAS));
|
|
80
|
-
// 100k gas * 10 gas price * ($5.5 per destination token / $9.0909 per origin token)
|
|
81
|
-
(0, chai_1.expect)(estimatedPayment.toNumber()).to.equal(605000);
|
|
82
|
-
}));
|
|
83
|
-
});
|
|
84
|
-
describe('estimatePaymentForHandleGas', () => {
|
|
85
|
-
it('estimates origin token payment from a specified destination handle gas amount', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
86
|
-
// Set destination gas price to 10 wei
|
|
87
|
-
provider.setMethodResolveValue('getGasPrice', ethers_1.BigNumber.from(SUGGESTED_GAS_PRICE));
|
|
88
|
-
// Stub the inbox process overhead gas
|
|
89
|
-
sinon_1.default
|
|
90
|
-
.stub(calculator, 'estimateGasForProcess')
|
|
91
|
-
.returns(Promise.resolve(ethers_1.BigNumber.from(INBOX_PROCESS_OVERHEAD_GAS)));
|
|
92
|
-
const estimatedPayment = yield calculator.estimatePaymentForHandleGas(origin, destination, ethers_1.BigNumber.from(HANDLE_GAS));
|
|
93
|
-
// (100_000 dest handler gas + 100_000 process overhead gas)
|
|
94
|
-
// * 10 gas price * ($5.5 per destination token / $9.0909 per origin token)
|
|
95
|
-
(0, chai_1.expect)(estimatedPayment.toNumber()).to.equal(1210000);
|
|
96
|
-
}));
|
|
97
|
-
});
|
|
98
|
-
/*
|
|
99
|
-
describe('estimatePaymentForMessage', () => {
|
|
100
|
-
it('estimates origin token payment from a specified message', async () => {
|
|
101
|
-
// Set destination gas price to 10 wei
|
|
102
|
-
provider.setMethodResolveValue(
|
|
103
|
-
'getGasPrice',
|
|
104
|
-
BigNumber.from(SUGGESTED_GAS_PRICE),
|
|
105
|
-
);
|
|
106
|
-
// Set the estimated handle gas
|
|
107
|
-
sinon
|
|
108
|
-
.stub(calculator, 'estimateGasForHandle')
|
|
109
|
-
.returns(Promise.resolve(BigNumber.from(HANDLE_GAS)));
|
|
110
|
-
// Stub the inbox process overhead gas
|
|
111
|
-
sinon
|
|
112
|
-
.stub(calculator, 'estimateGasForProcess')
|
|
113
|
-
.returns(Promise.resolve(BigNumber.from(INBOX_PROCESS_OVERHEAD_GAS)));
|
|
114
|
-
|
|
115
|
-
const zeroAddressBytes32 = utils.addressToBytes32(
|
|
116
|
-
ethers.constants.AddressZero,
|
|
117
|
-
);
|
|
118
|
-
const message: ParsedMessage<TestChainNames, Chains.test2> = {
|
|
119
|
-
origin: origin,
|
|
120
|
-
sender: zeroAddressBytes32,
|
|
121
|
-
destination: destination,
|
|
122
|
-
recipient: zeroAddressBytes32,
|
|
123
|
-
body: '0x12345678',
|
|
124
|
-
};
|
|
125
|
-
|
|
126
|
-
const estimatedPayment = await calculator.estimatePaymentForMessage(
|
|
127
|
-
message,
|
|
128
|
-
);
|
|
129
|
-
|
|
130
|
-
// (100_000 dest handler gas + 100_000 process overhead gas)
|
|
131
|
-
// * 10 gas price * ($5.5 per destination token / $9.0909 per origin token)
|
|
132
|
-
expect(estimatedPayment.toNumber()).to.equal(1_210_000);
|
|
133
|
-
});
|
|
134
|
-
});
|
|
135
|
-
*/
|
|
136
|
-
describe('convertBetweenTokens', () => {
|
|
137
|
-
const destinationWei = ethers_1.BigNumber.from('1000');
|
|
138
|
-
it('converts using the USD value of origin and destination native tokens', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
139
|
-
const originWei = yield calculator.convertBetweenTokens(destination, origin, destinationWei);
|
|
140
|
-
// 1000 * (5.5 / 9.0909)
|
|
141
|
-
(0, chai_1.expect)(originWei.toNumber()).to.equal(605);
|
|
142
|
-
}));
|
|
143
|
-
it('considers when the origin token decimals > the destination token decimals', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
144
|
-
calculator.tokenDecimals = (chain) => {
|
|
145
|
-
if (chain === origin) {
|
|
146
|
-
return 20;
|
|
147
|
-
}
|
|
148
|
-
return 18;
|
|
149
|
-
};
|
|
150
|
-
const originWei = yield calculator.convertBetweenTokens(destination, origin, destinationWei);
|
|
151
|
-
// 1000 * (5.5 / 9.0909) * 100
|
|
152
|
-
(0, chai_1.expect)(originWei.toNumber()).to.equal(60500);
|
|
153
|
-
}));
|
|
154
|
-
it('considers when the origin token decimals < the destination token decimals', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
155
|
-
sinon_1.default
|
|
156
|
-
.stub(calculator, 'tokenDecimals')
|
|
157
|
-
.callsFake((chain) => {
|
|
158
|
-
if (chain === origin) {
|
|
159
|
-
return 16;
|
|
160
|
-
}
|
|
161
|
-
return 18;
|
|
162
|
-
});
|
|
163
|
-
const originWei = yield calculator.convertBetweenTokens(destination, origin, destinationWei);
|
|
164
|
-
// 1000 * (5.5 / 9.0909) / 100
|
|
165
|
-
(0, chai_1.expect)(originWei.toNumber()).to.equal(6);
|
|
166
|
-
}));
|
|
167
|
-
});
|
|
168
|
-
describe('getGasPrice', () => {
|
|
169
|
-
it('gets the gas price from the provider', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
170
|
-
provider.setMethodResolveValue('getGasPrice', ethers_1.BigNumber.from(SUGGESTED_GAS_PRICE));
|
|
171
|
-
(0, chai_1.expect)((yield calculator.getGasPrice(destination)).toNumber()).to.equal(SUGGESTED_GAS_PRICE);
|
|
172
|
-
}));
|
|
173
|
-
});
|
|
174
|
-
describe('estimateGasForProcess', () => {
|
|
175
|
-
let threshold;
|
|
176
|
-
// Mock the return value of InboxValidatorManager.threshold
|
|
177
|
-
// to return `threshold`. Because the mocking involves a closure,
|
|
178
|
-
// changing `threshold` will change the return value of InboxValidatorManager.threshold.
|
|
179
|
-
before(() => {
|
|
180
|
-
const getContractsStub = sinon_1.default.stub(core, 'getContracts');
|
|
181
|
-
let thresholdStub;
|
|
182
|
-
getContractsStub.callsFake((chain) => {
|
|
183
|
-
// Get the "real" return value of getContracts.
|
|
184
|
-
const contracts = getContractsStub.wrappedMethod.bind(core)(chain);
|
|
185
|
-
// Ethers contracts are frozen using Object.freeze, so we make a copy
|
|
186
|
-
// of the object so we can stub `threshold`.
|
|
187
|
-
const validatorManager = Object.assign({},
|
|
188
|
-
// @ts-ignore
|
|
189
|
-
contracts.inboxes[origin].inboxValidatorManager);
|
|
190
|
-
// Because we are stubbing vaidatorManager.threshold when core.getContracts gets called,
|
|
191
|
-
// we must ensure we don't try to stub more than once or sinon will complain.
|
|
192
|
-
if (!thresholdStub) {
|
|
193
|
-
thresholdStub = sinon_1.default
|
|
194
|
-
.stub(validatorManager, 'threshold')
|
|
195
|
-
.callsFake(() => Promise.resolve(ethers_1.BigNumber.from(threshold)));
|
|
196
|
-
// @ts-ignore
|
|
197
|
-
contracts.inboxes[origin].inboxValidatorManager = validatorManager;
|
|
198
|
-
}
|
|
199
|
-
return contracts;
|
|
200
|
-
});
|
|
201
|
-
});
|
|
202
|
-
it('scales the gas cost with the quorum threshold', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
203
|
-
threshold = 2;
|
|
204
|
-
const gasWithThresholdLow = yield calculator.estimateGasForProcess(origin, destination);
|
|
205
|
-
threshold = 3;
|
|
206
|
-
const gasWithThresholdHigh = yield calculator.estimateGasForProcess(origin, destination);
|
|
207
|
-
(0, chai_1.expect)(gasWithThresholdHigh.gt(gasWithThresholdLow)).to.be.true;
|
|
208
|
-
}));
|
|
209
|
-
});
|
|
210
|
-
});
|
|
211
|
-
//# sourceMappingURL=calculator.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calculator.test.js","sourceRoot":"","sources":["../../src/gas/calculator.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
import CoinGecko from 'coingecko-api';
|
|
2
|
-
import { ChainName } from '../types';
|
|
3
|
-
export interface TokenPriceGetter {
|
|
4
|
-
getTokenPrice(chain: ChainName): Promise<number>;
|
|
5
|
-
getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
|
|
6
|
-
}
|
|
7
|
-
export declare type CoinGeckoInterface = Pick<CoinGecko, 'simple'>;
|
|
8
|
-
export declare type CoinGeckoSimpleInterface = CoinGecko['simple'];
|
|
9
|
-
export declare type CoinGeckoSimplePriceParams = Parameters<CoinGeckoSimpleInterface['price']>[0];
|
|
10
|
-
export declare type CoinGeckoResponse = ReturnType<CoinGeckoSimpleInterface['price']>;
|
|
11
|
-
declare type TokenPriceCacheEntry = {
|
|
12
|
-
price: number;
|
|
13
|
-
timestamp: Date;
|
|
14
|
-
};
|
|
15
|
-
declare class TokenPriceCache {
|
|
16
|
-
protected cache: Map<ChainName, TokenPriceCacheEntry>;
|
|
17
|
-
protected freshSeconds: number;
|
|
18
|
-
protected evictionSeconds: number;
|
|
19
|
-
constructor(freshSeconds?: number, evictionSeconds?: number);
|
|
20
|
-
put(chain: ChainName, price: number): void;
|
|
21
|
-
isFresh(chain: ChainName): boolean;
|
|
22
|
-
fetch(chain: ChainName): number;
|
|
23
|
-
}
|
|
24
|
-
export declare class CoinGeckoTokenPriceGetter implements TokenPriceGetter {
|
|
25
|
-
protected coinGecko: CoinGeckoInterface;
|
|
26
|
-
protected cache: TokenPriceCache;
|
|
27
|
-
constructor(coinGecko: CoinGeckoInterface, expirySeconds?: number);
|
|
28
|
-
getTokenPrice(chain: ChainName): Promise<number>;
|
|
29
|
-
getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
|
|
30
|
-
private getTokenPrices;
|
|
31
|
-
private queryTokenPrices;
|
|
32
|
-
}
|
|
33
|
-
export {};
|
|
34
|
-
//# sourceMappingURL=token-prices.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,eAAe,CAAC;AAMtC,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,WAAW,gBAAgB;IAC/B,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IACjD,oBAAoB,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;CAC1E;AAED,oBAAY,kBAAkB,GAAG,IAAI,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;AAC3D,oBAAY,wBAAwB,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC3D,oBAAY,0BAA0B,GAAG,UAAU,CACjD,wBAAwB,CAAC,OAAO,CAAC,CAClC,CAAC,CAAC,CAAC,CAAC;AACL,oBAAY,iBAAiB,GAAG,UAAU,CAAC,wBAAwB,CAAC,OAAO,CAAC,CAAC,CAAC;AAE9E,aAAK,oBAAoB,GAAG;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB,CAAC;AAEF,cAAM,eAAe;IACnB,SAAS,CAAC,KAAK,EAAE,GAAG,CAAC,SAAS,EAAE,oBAAoB,CAAC,CAAC;IACtD,SAAS,CAAC,YAAY,EAAE,MAAM,CAAC;IAC/B,SAAS,CAAC,eAAe,EAAE,MAAM,CAAC;gBAEtB,YAAY,SAAK,EAAE,eAAe,SAAc;IAM5D,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;IAWlC,KAAK,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM;CAchC;AAED,qBAAa,yBAA0B,YAAW,gBAAgB;IAChE,SAAS,CAAC,SAAS,EAAE,kBAAkB,CAAC;IACxC,SAAS,CAAC,KAAK,EAAE,eAAe,CAAC;gBAErB,SAAS,EAAE,kBAAkB,EAAE,aAAa,CAAC,EAAE,MAAM;IAK3D,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAKhD,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;YAKJ,cAAc;YA0Bd,gBAAgB;CAe/B"}
|
package/dist/gas/token-prices.js
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.CoinGeckoTokenPriceGetter = void 0;
|
|
13
|
-
const utils_1 = require("@hyperlane-xyz/utils");
|
|
14
|
-
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
15
|
-
const chains_1 = require("../consts/chains");
|
|
16
|
-
class TokenPriceCache {
|
|
17
|
-
constructor(freshSeconds = 60, evictionSeconds = 3 * 60 * 60) {
|
|
18
|
-
this.cache = new Map();
|
|
19
|
-
this.freshSeconds = freshSeconds;
|
|
20
|
-
this.evictionSeconds = evictionSeconds;
|
|
21
|
-
}
|
|
22
|
-
put(chain, price) {
|
|
23
|
-
const now = new Date();
|
|
24
|
-
this.cache.set(chain, { timestamp: now, price });
|
|
25
|
-
}
|
|
26
|
-
isFresh(chain) {
|
|
27
|
-
const entry = this.cache.get(chain);
|
|
28
|
-
if (!entry)
|
|
29
|
-
return false;
|
|
30
|
-
const expiryTime = new Date(entry.timestamp.getTime() + 1000 * this.freshSeconds);
|
|
31
|
-
const now = new Date();
|
|
32
|
-
return now < expiryTime;
|
|
33
|
-
}
|
|
34
|
-
fetch(chain) {
|
|
35
|
-
const entry = this.cache.get(chain);
|
|
36
|
-
if (!entry) {
|
|
37
|
-
throw new Error(`no entry found for ${chain} in token price cache`);
|
|
38
|
-
}
|
|
39
|
-
const evictionTime = new Date(entry.timestamp.getTime() + 1000 * this.evictionSeconds);
|
|
40
|
-
const now = new Date();
|
|
41
|
-
if (now > evictionTime) {
|
|
42
|
-
throw new Error(`evicted entry found for ${chain} in token price cache`);
|
|
43
|
-
}
|
|
44
|
-
return entry.price;
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
class CoinGeckoTokenPriceGetter {
|
|
48
|
-
constructor(coinGecko, expirySeconds) {
|
|
49
|
-
this.coinGecko = coinGecko;
|
|
50
|
-
this.cache = new TokenPriceCache(expirySeconds);
|
|
51
|
-
}
|
|
52
|
-
getTokenPrice(chain) {
|
|
53
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const [price] = yield this.getTokenPrices([chain]);
|
|
55
|
-
return price;
|
|
56
|
-
});
|
|
57
|
-
}
|
|
58
|
-
getTokenExchangeRate(base, quote) {
|
|
59
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
60
|
-
const [basePrice, quotePrice] = yield this.getTokenPrices([base, quote]);
|
|
61
|
-
return basePrice / quotePrice;
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
getTokenPrices(chains) {
|
|
65
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
66
|
-
const isMainnet = chains.map((c) => chains_1.Mainnets.includes(c));
|
|
67
|
-
const allMainnets = isMainnet.every((v) => v === true);
|
|
68
|
-
const allTestnets = isMainnet.every((v) => v === false);
|
|
69
|
-
if (allTestnets) {
|
|
70
|
-
// Testnet tokens are all artificially priced at 1.0 USD.
|
|
71
|
-
return chains.map(() => 1);
|
|
72
|
-
}
|
|
73
|
-
if (!allMainnets) {
|
|
74
|
-
throw new Error('Cannot mix testnets and mainnets when fetching token prices');
|
|
75
|
-
}
|
|
76
|
-
const toQuery = chains.filter((c) => !this.cache.isFresh(c));
|
|
77
|
-
if (toQuery.length > 0) {
|
|
78
|
-
try {
|
|
79
|
-
yield this.queryTokenPrices(toQuery);
|
|
80
|
-
}
|
|
81
|
-
catch (e) {
|
|
82
|
-
(0, utils_1.warn)('Failed to query token prices', e);
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
return chains.map((chain) => this.cache.fetch(chain));
|
|
86
|
-
});
|
|
87
|
-
}
|
|
88
|
-
queryTokenPrices(chains) {
|
|
89
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
90
|
-
const currency = 'usd';
|
|
91
|
-
// The CoinGecko API expects, in some cases, IDs that do not match
|
|
92
|
-
// ChainNames.
|
|
93
|
-
const ids = chains.map((chain) => chainMetadata_1.chainMetadata[chain].gasCurrencyCoinGeckoId || chain);
|
|
94
|
-
const response = yield this.coinGecko.simple.price({
|
|
95
|
-
ids,
|
|
96
|
-
vs_currencies: [currency],
|
|
97
|
-
});
|
|
98
|
-
const prices = ids.map((id) => response.data[id][currency]);
|
|
99
|
-
// Update the cache with the newly fetched prices
|
|
100
|
-
chains.map((chain, i) => this.cache.put(chain, prices[i]));
|
|
101
|
-
});
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
exports.CoinGeckoTokenPriceGetter = CoinGeckoTokenPriceGetter;
|
|
105
|
-
//# sourceMappingURL=token-prices.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.js","sourceRoot":"","sources":["../../src/gas/token-prices.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.test.d.ts","sourceRoot":"","sources":["../../src/gas/token-prices.test.ts"],"names":[],"mappings":""}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
-
});
|
|
10
|
-
};
|
|
11
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
const chai_1 = require("chai");
|
|
13
|
-
const chains_1 = require("../consts/chains");
|
|
14
|
-
const testUtils_1 = require("../test/testUtils");
|
|
15
|
-
const token_prices_1 = require("./token-prices");
|
|
16
|
-
describe('TokenPriceGetter', () => {
|
|
17
|
-
let tokenPriceGetter;
|
|
18
|
-
let mockCoinGecko;
|
|
19
|
-
const chainA = chains_1.Chains.ethereum, chainB = chains_1.Chains.polygon, priceA = 10, priceB = 5.5;
|
|
20
|
-
before(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
21
|
-
mockCoinGecko = new testUtils_1.MockCoinGecko();
|
|
22
|
-
// Origin token
|
|
23
|
-
mockCoinGecko.setTokenPrice(chainA, priceA);
|
|
24
|
-
// Destination token
|
|
25
|
-
mockCoinGecko.setTokenPrice(chainB, priceB);
|
|
26
|
-
tokenPriceGetter = new token_prices_1.CoinGeckoTokenPriceGetter(mockCoinGecko);
|
|
27
|
-
}));
|
|
28
|
-
describe('getTokenPrice', () => {
|
|
29
|
-
it('returns a token price', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
30
|
-
(0, chai_1.expect)(yield tokenPriceGetter.getTokenPrice(chainA)).to.equal(priceA);
|
|
31
|
-
}));
|
|
32
|
-
it('caches a token price', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
33
|
-
mockCoinGecko.setFail(chainA, true);
|
|
34
|
-
(0, chai_1.expect)(yield tokenPriceGetter.getTokenPrice(chainA)).to.equal(priceA);
|
|
35
|
-
mockCoinGecko.setFail(chainA, false);
|
|
36
|
-
}));
|
|
37
|
-
});
|
|
38
|
-
describe('getTokenExchangeRate', () => {
|
|
39
|
-
it('returns a value consistent with getTokenPrice()', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
40
|
-
const exchangeRate = yield tokenPriceGetter.getTokenExchangeRate(chainA, chainB);
|
|
41
|
-
const expectedExchangeRate = priceA / priceB;
|
|
42
|
-
(0, chai_1.expect)(exchangeRate).to.equal(expectedExchangeRate);
|
|
43
|
-
}));
|
|
44
|
-
});
|
|
45
|
-
});
|
|
46
|
-
//# sourceMappingURL=token-prices.test.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"token-prices.test.js","sourceRoot":"","sources":["../../src/gas/token-prices.test.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+BAA8B;AAE9B,6CAA0C;AAC1C,iDAAkD;AAElD,iDAA2D;AAE3D,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;IAChC,IAAI,gBAA2C,CAAC;IAChD,IAAI,aAA4B,CAAC;IACjC,MAAM,MAAM,GAAG,eAAM,CAAC,QAAQ,EAC5B,MAAM,GAAG,eAAM,CAAC,OAAO,EACvB,MAAM,GAAG,EAAE,EACX,MAAM,GAAG,GAAG,CAAC;IACf,MAAM,CAAC,GAAS,EAAE;QAChB,aAAa,GAAG,IAAI,yBAAa,EAAE,CAAC;QACpC,eAAe;QACf,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,oBAAoB;QACpB,aAAa,CAAC,aAAa,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;QAC5C,gBAAgB,GAAG,IAAI,wCAAyB,CAAC,aAAa,CAAC,CAAC;IAClE,CAAC,CAAA,CAAC,CAAC;IAEH,QAAQ,CAAC,eAAe,EAAE,GAAG,EAAE;QAC7B,EAAE,CAAC,uBAAuB,EAAE,GAAS,EAAE;YACrC,IAAA,aAAM,EAAC,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QACxE,CAAC,CAAA,CAAC,CAAC;QAEH,EAAE,CAAC,sBAAsB,EAAE,GAAS,EAAE;YACpC,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;YACpC,IAAA,aAAM,EAAC,MAAM,gBAAgB,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACtE,aAAa,CAAC,OAAO,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvC,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,sBAAsB,EAAE,GAAG,EAAE;QACpC,EAAE,CAAC,iDAAiD,EAAE,GAAS,EAAE;YAC/D,MAAM,YAAY,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAC9D,MAAM,EACN,MAAM,CACP,CAAC;YACF,MAAM,oBAAoB,GAAG,MAAM,GAAG,MAAM,CAAC;YAC7C,IAAA,aAAM,EAAC,YAAY,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;QACtD,CAAC,CAAA,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
DELETED
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
export { AllChains, Chains, Mainnets, AllDeprecatedChains, } from './consts/chains';
|
|
2
|
-
export { chainMetadata } from './consts/chainMetadata';
|
|
3
|
-
export { chainConnectionConfigs, testChainConnectionConfigs, } from './consts/chainConnectionConfigs';
|
|
4
|
-
export { environments as coreEnvironments, hyperlaneCoreAddresses, } from './consts/environments';
|
|
5
|
-
export { ChainMap, ChainName, CompleteChainMap, Connection, NameOrDomain, RemoteChainMap, Remotes, TestChainNames, IChainConnection, } from './types';
|
|
6
|
-
export { ChainNameToDomainId, DomainIdToChainName } from './domains';
|
|
7
|
-
export { HyperlaneApp } from './HyperlaneApp';
|
|
8
|
-
export { HyperlaneAddresses, HyperlaneContracts, HyperlaneFactories, buildContracts, connectContracts, serializeContracts, } from './contracts';
|
|
9
|
-
export { Annotated, getEvents, queryAnnotatedEvents, TSContract, } from './events';
|
|
10
|
-
export { BeaconProxyAddresses, ProxiedContract, ProxyAddresses } from './proxy';
|
|
11
|
-
export { Router, RouterContracts, RouterFactories } from './router';
|
|
12
|
-
export { ChainConnection } from './providers/ChainConnection';
|
|
13
|
-
export { MultiProvider } from './providers/MultiProvider';
|
|
14
|
-
export { RetryJsonRpcProvider, RetryProvider } from './providers/RetryProvider';
|
|
15
|
-
export { HyperlaneCore, CoreContractsMap, DispatchedMessage, } from './core/HyperlaneCore';
|
|
16
|
-
export { CoreContracts, coreFactories, InboxContracts, OutboxContracts, } from './core/contracts';
|
|
17
|
-
export { HyperlaneLifecyleEvent, AnnotatedDispatch, AnnotatedLifecycleEvent, } from './core/events';
|
|
18
|
-
export { HyperlaneMessage, HyperlaneStatus, MessageStatus, resolveDomain, resolveId, resolveChains, } from './core/message';
|
|
19
|
-
export { TestCoreApp, TestCoreContracts, TestInboxContracts, TestOutboxContracts, } from './core/TestCoreApp';
|
|
20
|
-
export { TestCoreDeployer } from './core/TestCoreDeployer';
|
|
21
|
-
export { InterchainGasCalculator, ParsedMessage } from './gas/calculator';
|
|
22
|
-
export { CoinGeckoTokenPriceGetter, TokenPriceGetter, } from './gas/token-prices';
|
|
23
|
-
export { HyperlaneAppChecker } from './deploy/HyperlaneAppChecker';
|
|
24
|
-
export { CheckerViolation, EnvironmentConfig, OwnerViolation, ViolationType, } from './deploy/types';
|
|
25
|
-
export { HyperlaneCoreDeployer } from './deploy/core/HyperlaneCoreDeployer';
|
|
26
|
-
export { HyperlaneCoreChecker } from './deploy/core/HyperlaneCoreChecker';
|
|
27
|
-
export { CoreConfig, CoreViolationType, ValidatorManagerConfig, ValidatorManagerViolation, EnrolledInboxesViolation, ConnectionManagerViolation, ConnectionManagerViolationType, EnrolledValidatorsViolation, ValidatorManagerViolationType, } from './deploy/core/types';
|
|
28
|
-
export { HyperlaneDeployer } from './deploy/HyperlaneDeployer';
|
|
29
|
-
export { UpgradeBeaconViolation } from './deploy/proxy';
|
|
30
|
-
export { HyperlaneRouterDeployer } from './deploy/router/HyperlaneRouterDeployer';
|
|
31
|
-
export { HyperlaneRouterChecker } from './deploy/router/HyperlaneRouterChecker';
|
|
32
|
-
export { InterchainAccountDeployer, InterchainQueryDeployer, } from './deploy/middleware/deploy';
|
|
33
|
-
export { LiquidityLayerDeployer, BridgeAdapterType, BridgeAdapterConfig, CircleBridgeAdapterConfig, PortalAdapterConfig, } from './deploy/middleware/LiquidityLayerRouterDeployer';
|
|
34
|
-
export { LiquidityLayerApp } from './deploy/middleware/LiquidityLayerApp';
|
|
35
|
-
export { LiquidityLayerContracts, interchainAccountFactories, interchainQueryFactories, liquidityLayerFactories, } from './middleware';
|
|
36
|
-
export { RouterConfig } from './deploy/router/types';
|
|
37
|
-
export { getTestMultiProvider, getChainToOwnerMap } from './deploy/utils';
|
|
38
|
-
export { ContractVerifier } from './deploy/verify/ContractVerifier';
|
|
39
|
-
export { ContractVerificationInput, VerificationInput, CompilerOptions, } from './deploy/verify/types';
|
|
40
|
-
export * as verificationUtils from './deploy/verify/utils';
|
|
41
|
-
export { canonizeId, evmId } from './utils/ids';
|
|
42
|
-
export { MultiGeneric } from './utils/MultiGeneric';
|
|
43
|
-
export { bigToFixed, convertDecimalValue, fixedToBig, mulBigAndFixed, } from './utils/number';
|
|
44
|
-
export { objMap, objMapEntries, promiseObjAll, pick } from './utils/objects';
|
|
45
|
-
export { delay } from './utils/time';
|
|
46
|
-
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|