@hyperlane-xyz/sdk 1.1.4 → 1.2.1
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/dist/HyperlaneApp.d.ts +7 -8
- package/dist/HyperlaneApp.d.ts.map +1 -1
- package/dist/HyperlaneApp.js +1 -4
- package/dist/HyperlaneApp.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +229 -25
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +132 -78
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chainMetadata.test.d.ts +2 -0
- package/dist/consts/chainMetadata.test.d.ts.map +1 -0
- package/dist/consts/chainMetadata.test.js +40 -0
- package/dist/consts/chainMetadata.test.js.map +1 -0
- package/dist/consts/chains.d.ts +5 -5
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +5 -1
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +22 -2
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/mainnet.json +18 -9
- package/dist/consts/environments/test.json +25 -22
- package/dist/consts/environments/testnet.json +16 -8
- package/dist/core/HyperlaneCore.d.ts +10 -387
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +7 -12
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCore.test.js +2 -3
- package/dist/core/HyperlaneCore.test.js.map +1 -1
- package/dist/core/TestCoreApp.d.ts +5 -5
- package/dist/core/TestCoreApp.d.ts.map +1 -1
- package/dist/core/TestCoreApp.js +2 -4
- package/dist/core/TestCoreApp.js.map +1 -1
- package/dist/core/TestCoreDeployer.d.ts +6 -6
- package/dist/core/TestCoreDeployer.d.ts.map +1 -1
- package/dist/core/TestCoreDeployer.js +15 -6
- package/dist/core/TestCoreDeployer.js.map +1 -1
- package/dist/core/contracts.d.ts +6 -2
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js +1 -0
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.d.ts +8 -8
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
- package/dist/deploy/HyperlaneAppChecker.js +5 -5
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +44 -39
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +12 -9
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreChecker.js +72 -12
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +18 -14
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/deploy/core/HyperlaneCoreDeployer.js +69 -27
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/deploy/core/types.d.ts +31 -3
- package/dist/deploy/core/types.d.ts.map +1 -1
- package/dist/deploy/core/types.js +11 -1
- package/dist/deploy/core/types.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
- package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerApp.js +26 -35
- package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +6 -9
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +15 -21
- package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
- package/dist/deploy/middleware/deploy.d.ts +14 -17
- package/dist/deploy/middleware/deploy.d.ts.map +1 -1
- package/dist/deploy/middleware/deploy.js +25 -38
- package/dist/deploy/middleware/deploy.js.map +1 -1
- package/dist/deploy/router/GasRouterDeployer.d.ts +4 -4
- package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/GasRouterDeployer.js +3 -6
- package/dist/deploy/router/GasRouterDeployer.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
- package/dist/deploy/router/HyperlaneRouterDeployer.js +18 -21
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
- package/dist/deploy/types.d.ts +3 -4
- package/dist/deploy/types.d.ts.map +1 -1
- package/dist/deploy/types.js.map +1 -1
- package/dist/deploy/utils.d.ts +2 -6
- package/dist/deploy/utils.d.ts.map +1 -1
- package/dist/deploy/utils.js +1 -27
- package/dist/deploy/utils.js.map +1 -1
- package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
- package/dist/deploy/verify/ContractVerifier.js +3 -5
- package/dist/deploy/verify/ContractVerifier.js.map +1 -1
- package/dist/deploy/verify/utils.js +1 -1
- package/dist/deploy/verify/utils.js.map +1 -1
- package/dist/events.d.ts +4 -4
- package/dist/events.d.ts.map +1 -1
- package/dist/events.js +12 -9
- package/dist/events.js.map +1 -1
- package/dist/gas/calculator.d.ts +20 -20
- package/dist/gas/calculator.d.ts.map +1 -1
- package/dist/gas/calculator.hardhat-test.js +11 -8
- package/dist/gas/calculator.hardhat-test.js.map +1 -1
- package/dist/gas/calculator.js +9 -11
- package/dist/gas/calculator.js.map +1 -1
- package/dist/gas/calculator.test.js +2 -14
- package/dist/gas/calculator.test.js.map +1 -1
- package/dist/gas/token-prices.d.ts +5 -2
- package/dist/gas/token-prices.d.ts.map +1 -1
- package/dist/gas/token-prices.js +12 -2
- package/dist/gas/token-prices.js.map +1 -1
- package/dist/index.d.ts +28 -31
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +63 -71
- package/dist/index.js.map +1 -1
- package/dist/middleware/accounts.hardhat-test.js +19 -13
- package/dist/middleware/accounts.hardhat-test.js.map +1 -1
- package/dist/middleware/liquidity-layer.hardhat-test.js +11 -10
- package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
- package/dist/middleware/queries.hardhat-test.js +11 -10
- package/dist/middleware/queries.hardhat-test.js.map +1 -1
- package/dist/middleware.d.ts +4 -4
- package/dist/middleware.d.ts.map +1 -1
- package/dist/middleware.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +204 -37
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +455 -63
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +3 -1
- package/dist/proxy.js.map +1 -1
- package/dist/router.d.ts +11 -6
- package/dist/router.d.ts.map +1 -1
- package/dist/router.js +1 -2
- package/dist/router.js.map +1 -1
- package/dist/test/envSubsetDeployer/app.d.ts +12 -21
- package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/app.js +13 -18
- package/dist/test/envSubsetDeployer/app.js.map +1 -1
- package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
- package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
- package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
- package/dist/test/envSubsetDeployer/utils.js +2 -10
- package/dist/test/envSubsetDeployer/utils.js.map +1 -1
- package/dist/test/testUtils.d.ts +5 -1
- package/dist/test/testUtils.d.ts.map +1 -1
- package/dist/test/testUtils.js +8 -1
- package/dist/test/testUtils.js.map +1 -1
- package/dist/types.d.ts +2 -17
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.d.ts +11 -12
- package/dist/utils/MultiGeneric.d.ts.map +1 -1
- package/dist/utils/MultiGeneric.js +3 -6
- package/dist/utils/MultiGeneric.js.map +1 -1
- package/dist/utils/wagmi.d.ts +1 -1
- package/dist/utils/wagmi.d.ts.map +1 -1
- package/dist/utils/wagmi.js +7 -6
- package/dist/utils/wagmi.js.map +1 -1
- package/package.json +5 -5
- package/dist/consts/chainConnectionConfigs.d.ts +0 -21
- package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
- package/dist/consts/chainConnectionConfigs.js +0 -35
- package/dist/consts/chainConnectionConfigs.js.map +0 -1
- package/dist/core/message.d.ts +0 -146
- package/dist/core/message.d.ts.map +0 -1
- package/dist/core/message.js +0 -285
- package/dist/core/message.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/providers/ChainConnection.d.ts +0 -23
- package/dist/providers/ChainConnection.d.ts.map +0 -1
- package/dist/providers/ChainConnection.js +0 -67
- package/dist/providers/ChainConnection.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deploy/core/types.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/deploy/core/types.ts"],"names":[],"mappings":";;;AAUA,IAAY,qBAEX;AAFD,WAAY,qBAAqB;IAC/B,8DAAqC,CAAA;AACvC,CAAC,EAFW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAEhC;AAmBD,IAAY,iBAMX;AAND,WAAY,iBAAiB;IAC3B,gDAA2B,CAAA;IAC3B,wCAAmB,CAAA;IACnB,4DAAuC,CAAA;IACvC,4DAAuC,CAAA;IACvC,sEAAiD,CAAA;AACnD,CAAC,EANW,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAM5B;AAED,IAAY,wBAGX;AAHD,WAAY,wBAAwB;IAClC,qEAAyC,CAAA;IACzC,mDAAuB,CAAA;AACzB,CAAC,EAHW,wBAAwB,GAAxB,gCAAwB,KAAxB,gCAAwB,QAGnC;AAED,IAAY,oBAEX;AAFD,WAAY,oBAAoB;IAC9B,iDAAyB,CAAA;AAC3B,CAAC,EAFW,oBAAoB,GAApB,4BAAoB,KAApB,4BAAoB,QAE/B;AAED,IAAY,gBAGX;AAHD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,6CAAyB,CAAA;AAC3B,CAAC,EAHW,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAG3B"}
|
|
@@ -3,32 +3,32 @@ import { LiquidityLayerContracts } from '../../middleware';
|
|
|
3
3
|
import { MultiProvider } from '../../providers/MultiProvider';
|
|
4
4
|
import { ChainMap, ChainName } from '../../types';
|
|
5
5
|
import { BridgeAdapterConfig } from './LiquidityLayerRouterDeployer';
|
|
6
|
-
interface CircleBridgeMessage
|
|
7
|
-
chain:
|
|
8
|
-
remoteChain:
|
|
6
|
+
interface CircleBridgeMessage {
|
|
7
|
+
chain: ChainName;
|
|
8
|
+
remoteChain: ChainName;
|
|
9
9
|
txHash: string;
|
|
10
10
|
message: string;
|
|
11
11
|
nonce: number;
|
|
12
12
|
domain: number;
|
|
13
13
|
nonceHash: string;
|
|
14
14
|
}
|
|
15
|
-
interface PortalBridgeMessage
|
|
16
|
-
origin:
|
|
15
|
+
interface PortalBridgeMessage {
|
|
16
|
+
origin: ChainName;
|
|
17
17
|
nonce: number;
|
|
18
18
|
portalSequence: number;
|
|
19
|
-
destination:
|
|
19
|
+
destination: ChainName;
|
|
20
20
|
}
|
|
21
|
-
export declare class LiquidityLayerApp
|
|
22
|
-
readonly contractsMap: ChainMap<
|
|
23
|
-
readonly multiProvider: MultiProvider
|
|
24
|
-
readonly config: ChainMap<
|
|
25
|
-
constructor(contractsMap: ChainMap<
|
|
26
|
-
fetchCircleMessageTransactions(chain:
|
|
27
|
-
fetchPortalBridgeTransactions(chain:
|
|
28
|
-
parsePortalMessages(chain:
|
|
29
|
-
parseCircleMessages(chain:
|
|
30
|
-
attemptPortalTransferCompletion(message: PortalBridgeMessage
|
|
31
|
-
attemptCircleAttestationSubmission(message: CircleBridgeMessage
|
|
21
|
+
export declare class LiquidityLayerApp extends HyperlaneApp<LiquidityLayerContracts> {
|
|
22
|
+
readonly contractsMap: ChainMap<LiquidityLayerContracts>;
|
|
23
|
+
readonly multiProvider: MultiProvider;
|
|
24
|
+
readonly config: ChainMap<BridgeAdapterConfig>;
|
|
25
|
+
constructor(contractsMap: ChainMap<LiquidityLayerContracts>, multiProvider: MultiProvider, config: ChainMap<BridgeAdapterConfig>);
|
|
26
|
+
fetchCircleMessageTransactions(chain: ChainName): Promise<string[]>;
|
|
27
|
+
fetchPortalBridgeTransactions(chain: ChainName): Promise<string[]>;
|
|
28
|
+
parsePortalMessages(chain: ChainName, txHash: string): Promise<PortalBridgeMessage[]>;
|
|
29
|
+
parseCircleMessages(chain: ChainName, txHash: string): Promise<CircleBridgeMessage[]>;
|
|
30
|
+
attemptPortalTransferCompletion(message: PortalBridgeMessage): Promise<void>;
|
|
31
|
+
attemptCircleAttestationSubmission(message: CircleBridgeMessage): Promise<void>;
|
|
32
32
|
}
|
|
33
33
|
export {};
|
|
34
34
|
//# sourceMappingURL=LiquidityLayerApp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerApp.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"LiquidityLayerApp.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,uBAAuB,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,gCAAgC,CAAC;AAsBrE,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CAAC,uBAAuB,CAAC;aAExD,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC;aAC/C,aAAa,EAAE,aAAa;aAC5B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;gBAFrC,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAC/C,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAKjD,8BAA8B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAenE,6BAA6B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAelE,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsB3B,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC;IA0C3B,+BAA+B,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;IAmDV,kCAAkC,CACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;CAyCjB"}
|
|
@@ -19,7 +19,6 @@ const core_1 = require("@hyperlane-xyz/core");
|
|
|
19
19
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
20
20
|
const HyperlaneApp_1 = require("../../HyperlaneApp");
|
|
21
21
|
const chains_1 = require("../../consts/chains");
|
|
22
|
-
const domains_1 = require("../../domains");
|
|
23
22
|
const PORTAL_VAA_SERVICE_TESTNET_BASE_URL = 'https://wormhole-v2-testnet-api.certus.one/v1/signed_vaa/';
|
|
24
23
|
const CIRCLE_ATTESTATIONS_BASE_URL = 'https://iris-api-sandbox.circle.com/attestations/';
|
|
25
24
|
const PORTAL_VAA_SERVICE_SUCCESS_CODE = 5;
|
|
@@ -37,36 +36,32 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
|
|
|
37
36
|
}
|
|
38
37
|
fetchCircleMessageTransactions(chain) {
|
|
39
38
|
return __awaiter(this, void 0, void 0, function* () {
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
});
|
|
47
|
-
const req = yield (0, cross_fetch_1.default)(`${cc.getApiUrl()}?${params}`);
|
|
39
|
+
const url = new URL(this.multiProvider.getExplorerApiUrl(chain));
|
|
40
|
+
url.searchParams.set('module', 'logs');
|
|
41
|
+
url.searchParams.set('action', 'getLogs');
|
|
42
|
+
url.searchParams.set('address', this.getContracts(chain).circleBridgeAdapter.address);
|
|
43
|
+
url.searchParams.set('topic0', BridgedTokenTopic);
|
|
44
|
+
const req = yield (0, cross_fetch_1.default)(url);
|
|
48
45
|
const response = yield req.json();
|
|
49
46
|
return response.result.map((_) => _.transactionHash).flat();
|
|
50
47
|
});
|
|
51
48
|
}
|
|
52
49
|
fetchPortalBridgeTransactions(chain) {
|
|
53
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
-
const
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
});
|
|
61
|
-
const req = yield (0, cross_fetch_1.default)(`${cc.getApiUrl()}?${params}`);
|
|
51
|
+
const url = new URL(this.multiProvider.getExplorerApiUrl(chain));
|
|
52
|
+
url.searchParams.set('module', 'logs');
|
|
53
|
+
url.searchParams.set('action', 'getLogs');
|
|
54
|
+
url.searchParams.set('address', this.getContracts(chain).portalAdapter.address);
|
|
55
|
+
url.searchParams.set('topic0', PortalBridgedTokenTopic);
|
|
56
|
+
const req = yield (0, cross_fetch_1.default)(url);
|
|
62
57
|
const response = yield req.json();
|
|
63
58
|
return response.result.map((_) => _.transactionHash).flat();
|
|
64
59
|
});
|
|
65
60
|
}
|
|
66
61
|
parsePortalMessages(chain, txHash) {
|
|
67
62
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const
|
|
69
|
-
const receipt = yield
|
|
63
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
64
|
+
const receipt = yield provider.getTransactionReceipt(txHash);
|
|
70
65
|
const matchingLogs = receipt.logs
|
|
71
66
|
.map((_) => {
|
|
72
67
|
try {
|
|
@@ -82,16 +77,14 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
|
|
|
82
77
|
const event = matchingLogs.find((_) => _.name === 'BridgedToken');
|
|
83
78
|
const portalSequence = event.args.portalSequence.toNumber();
|
|
84
79
|
const nonce = event.args.nonce.toNumber();
|
|
85
|
-
const destination =
|
|
86
|
-
return [
|
|
87
|
-
{ origin: chain, nonce, portalSequence, destination },
|
|
88
|
-
];
|
|
80
|
+
const destination = this.multiProvider.getChainName(event.args.destination);
|
|
81
|
+
return [{ origin: chain, nonce, portalSequence, destination }];
|
|
89
82
|
});
|
|
90
83
|
}
|
|
91
84
|
parseCircleMessages(chain, txHash) {
|
|
92
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
93
|
-
const
|
|
94
|
-
const receipt = yield
|
|
86
|
+
const provider = this.multiProvider.getProvider(chain);
|
|
87
|
+
const receipt = yield provider.getTransactionReceipt(txHash);
|
|
95
88
|
const matchingLogs = receipt.logs
|
|
96
89
|
.map((_) => {
|
|
97
90
|
try {
|
|
@@ -114,11 +107,10 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
|
|
|
114
107
|
const nonce = matchingLogs.find((_) => _.name === 'BridgedToken').args
|
|
115
108
|
.nonce;
|
|
116
109
|
const remoteChain = chain === chains_1.Chains.fuji ? chains_1.Chains.goerli : chains_1.Chains.fuji;
|
|
117
|
-
const domain = this.config[chain].circle.circleDomainMapping.find((_) => _.hyperlaneDomain ===
|
|
110
|
+
const domain = this.config[chain].circle.circleDomainMapping.find((_) => _.hyperlaneDomain === this.multiProvider.getDomainId(chain)).circleDomain;
|
|
118
111
|
return [
|
|
119
112
|
{
|
|
120
113
|
chain,
|
|
121
|
-
// @ts-ignore
|
|
122
114
|
remoteChain,
|
|
123
115
|
txHash,
|
|
124
116
|
message,
|
|
@@ -134,28 +126,27 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
|
|
|
134
126
|
return __awaiter(this, void 0, void 0, function* () {
|
|
135
127
|
const destinationPortalAdapter = this.getContracts(message.destination)
|
|
136
128
|
.portalAdapter;
|
|
137
|
-
const transferId = yield destinationPortalAdapter.transferId(
|
|
129
|
+
const transferId = yield destinationPortalAdapter.transferId(this.multiProvider.getDomainId(message.origin), message.nonce);
|
|
138
130
|
const transferTokenAddress = yield destinationPortalAdapter.portalTransfersProcessed(transferId);
|
|
139
131
|
if (!utils_1.utils.eqAddress(transferTokenAddress, ethers_1.ethers.constants.AddressZero)) {
|
|
140
132
|
console.log(`Transfer with nonce ${message.nonce} from ${message.origin} to ${message.destination} already processed`);
|
|
141
133
|
return;
|
|
142
134
|
}
|
|
143
|
-
const wormholeOriginDomain = (_a = this.config[message.destination].portal.wormholeDomainMapping.find((_) => _.hyperlaneDomain ===
|
|
135
|
+
const wormholeOriginDomain = (_a = this.config[message.destination].portal.wormholeDomainMapping.find((_) => _.hyperlaneDomain === this.multiProvider.getDomainId(message.origin))) === null || _a === void 0 ? void 0 : _a.wormholeDomain;
|
|
144
136
|
const emitter = utils_1.utils.strip0x(utils_1.utils.addressToBytes32(this.config[message.origin].portal.portalBridgeAddress));
|
|
145
137
|
const vaa = yield (0, cross_fetch_1.default)(`${PORTAL_VAA_SERVICE_TESTNET_BASE_URL}${wormholeOriginDomain}/${emitter}/${message.portalSequence}`).then((_) => _.json());
|
|
146
138
|
if (vaa.code && vaa.code === PORTAL_VAA_SERVICE_SUCCESS_CODE) {
|
|
147
139
|
console.log(`VAA not yet found for nonce ${message.nonce}`);
|
|
148
140
|
return;
|
|
149
141
|
}
|
|
150
|
-
const connection = this.multiProvider.getChainConnection(message.destination);
|
|
151
142
|
console.debug(`Complete portal transfer for nonce ${message.nonce} on ${message.destination}`);
|
|
152
|
-
yield
|
|
143
|
+
yield this.multiProvider.handleTx(message.destination, destinationPortalAdapter.completeTransfer(utils_1.utils.ensure0x(Buffer.from(vaa.vaaBytes, 'base64').toString('hex'))));
|
|
153
144
|
});
|
|
154
145
|
}
|
|
155
146
|
attemptCircleAttestationSubmission(message) {
|
|
156
147
|
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
-
const
|
|
158
|
-
const transmitter = core_1.ICircleMessageTransmitter__factory.connect(this.config[message.remoteChain].circle.messageTransmitterAddress,
|
|
148
|
+
const signer = this.multiProvider.getSigner(message.remoteChain);
|
|
149
|
+
const transmitter = core_1.ICircleMessageTransmitter__factory.connect(this.config[message.remoteChain].circle.messageTransmitterAddress, signer);
|
|
159
150
|
const alreadyProcessed = yield transmitter.usedNonces(message.nonceHash);
|
|
160
151
|
if (alreadyProcessed) {
|
|
161
152
|
console.log(`Message sent on ${message.txHash} was already processed`);
|
|
@@ -170,8 +161,8 @@ class LiquidityLayerApp extends HyperlaneApp_1.HyperlaneApp {
|
|
|
170
161
|
}
|
|
171
162
|
console.log(`Ready to submit attestations for message ${message.nonce}`);
|
|
172
163
|
const tx = yield transmitter.receiveMessage(message.message, attestations.attestation);
|
|
173
|
-
console.log(`Submitted attestations in ${
|
|
174
|
-
yield
|
|
164
|
+
console.log(`Submitted attestations in ${this.multiProvider.tryGetExplorerTxUrl(message.remoteChain, tx)}`);
|
|
165
|
+
yield this.multiProvider.handleTx(message.remoteChain, tx);
|
|
175
166
|
});
|
|
176
167
|
}
|
|
177
168
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerApp.js","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,8DAAgC;AAChC,mCAAgC;AAEhC,8CAK6B;AAC7B,gDAA6C;AAE7C,qDAAkD;AAClD,gDAA6C;
|
|
1
|
+
{"version":3,"file":"LiquidityLayerApp.js","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { CircleBridgeAdapter, LiquidityLayerRouter, PortalAdapter } from '@hyperlane-xyz/core';
|
|
2
|
-
import { HyperlaneCore } from '../../core/HyperlaneCore';
|
|
3
2
|
import { LiquidityLayerContracts, LiquidityLayerFactories } from '../../middleware';
|
|
4
3
|
import { MultiProvider } from '../../providers/MultiProvider';
|
|
5
4
|
import { ChainMap, ChainName } from '../../types';
|
|
@@ -32,13 +31,11 @@ export declare type BridgeAdapterConfig = {
|
|
|
32
31
|
portal?: PortalAdapterConfig;
|
|
33
32
|
};
|
|
34
33
|
export declare type LiquidityLayerConfig = RouterConfig & BridgeAdapterConfig;
|
|
35
|
-
export declare class LiquidityLayerDeployer
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
deployPortalAdapter(chain: Chain, adapterConfig: PortalAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<PortalAdapter>;
|
|
42
|
-
deployCircleBridgeAdapter(chain: Chain, adapterConfig: CircleBridgeAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<CircleBridgeAdapter>;
|
|
34
|
+
export declare class LiquidityLayerDeployer extends MiddlewareRouterDeployer<LiquidityLayerConfig, LiquidityLayerContracts, LiquidityLayerFactories> {
|
|
35
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<LiquidityLayerConfig>, create2salt?: string);
|
|
36
|
+
enrollRemoteRouters(contractsMap: ChainMap<LiquidityLayerContracts>): Promise<void>;
|
|
37
|
+
deployContracts(chain: ChainName, config: LiquidityLayerConfig): Promise<LiquidityLayerContracts>;
|
|
38
|
+
deployPortalAdapter(chain: ChainName, adapterConfig: PortalAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<PortalAdapter>;
|
|
39
|
+
deployCircleBridgeAdapter(chain: ChainName, adapterConfig: CircleBridgeAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<CircleBridgeAdapter>;
|
|
43
40
|
}
|
|
44
41
|
//# sourceMappingURL=LiquidityLayerRouterDeployer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,oBAAoB,
|
|
1
|
+
{"version":3,"file":"LiquidityLayerRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAEnB,oBAAoB,EACpB,aAAa,EAEd,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EACL,uBAAuB,EACvB,uBAAuB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,OAAO,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AAEpD,oBAAY,iBAAiB;IAC3B,MAAM,WAAW;IACjB,MAAM,WAAW;CAClB;AAED,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC/B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,yBAAyB,EAAE,MAAM,CAAC;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,YAAY,EAAE,MAAM,CAAC;KACtB,EAAE,CAAC;CACL;AAED,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,iBAAiB,CAAC,MAAM,CAAC;IAC/B,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE;QACrB,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;KACxB,EAAE,CAAC;CACL;AAED,oBAAY,mBAAmB,GAAG;IAChC,MAAM,CAAC,EAAE,yBAAyB,CAAC;IACnC,MAAM,CAAC,EAAE,mBAAmB,CAAC;CAC9B,CAAC;AAEF,oBAAY,oBAAoB,GAAG,YAAY,GAAG,mBAAmB,CAAC;AAEtE,qBAAa,sBAAuB,SAAQ,wBAAwB,CAClE,oBAAoB,EACpB,uBAAuB,EACvB,uBAAuB,CACxB;gBAEG,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EACzC,WAAW,SAA+B;IAKtC,mBAAmB,CACvB,YAAY,EAAE,QAAQ,CAAC,uBAAuB,CAAC,GAC9C,OAAO,CAAC,IAAI,CAAC;IA2BV,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,uBAAuB,CAAC;IA4B7B,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,mBAAmB,EAClC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,aAAa,CAAC;IAyDnB,yBAAyB,CAC7B,KAAK,EAAE,SAAS,EAChB,aAAa,EAAE,yBAAyB,EACxC,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,mBAAmB,CAAC;CAuEhC"}
|
|
@@ -12,7 +12,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
12
12
|
exports.LiquidityLayerDeployer = exports.BridgeAdapterType = void 0;
|
|
13
13
|
const core_1 = require("@hyperlane-xyz/core");
|
|
14
14
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
15
|
-
const domains_1 = require("../../domains");
|
|
16
15
|
const middleware_1 = require("../../middleware");
|
|
17
16
|
const objects_1 = require("../../utils/objects");
|
|
18
17
|
const deploy_1 = require("./deploy");
|
|
@@ -22,10 +21,8 @@ var BridgeAdapterType;
|
|
|
22
21
|
BridgeAdapterType["Portal"] = "Portal";
|
|
23
22
|
})(BridgeAdapterType = exports.BridgeAdapterType || (exports.BridgeAdapterType = {}));
|
|
24
23
|
class LiquidityLayerDeployer extends deploy_1.MiddlewareRouterDeployer {
|
|
25
|
-
constructor(multiProvider, configMap,
|
|
26
|
-
super(multiProvider, configMap, middleware_1.liquidityLayerFactories,
|
|
27
|
-
this.core = core;
|
|
28
|
-
this.create2salt = create2salt;
|
|
24
|
+
constructor(multiProvider, configMap, create2salt = 'LiquidityLayerDeployerSalt') {
|
|
25
|
+
super(multiProvider, configMap, middleware_1.liquidityLayerFactories, create2salt);
|
|
29
26
|
}
|
|
30
27
|
enrollRemoteRouters(contractsMap) {
|
|
31
28
|
const _super = Object.create(null, {
|
|
@@ -47,27 +44,25 @@ class LiquidityLayerDeployer extends deploy_1.MiddlewareRouterDeployer {
|
|
|
47
44
|
// Custom contract deployment logic can go here
|
|
48
45
|
// If no custom logic is needed, call deployContract for the router
|
|
49
46
|
deployContracts(chain, config) {
|
|
47
|
+
const _super = Object.create(null, {
|
|
48
|
+
deployContracts: { get: () => super.deployContracts }
|
|
49
|
+
});
|
|
50
50
|
return __awaiter(this, void 0, void 0, function* () {
|
|
51
|
-
const
|
|
52
|
-
const router = yield this.deployContract(chain, 'router', [], {
|
|
53
|
-
create2Salt: this.create2salt,
|
|
54
|
-
initCalldata,
|
|
55
|
-
});
|
|
51
|
+
const routerContracts = yield _super.deployContracts.call(this, chain, config);
|
|
56
52
|
const bridgeAdapters = {};
|
|
57
53
|
if (config.circle) {
|
|
58
|
-
bridgeAdapters.circleBridgeAdapter = yield this.deployCircleBridgeAdapter(chain, config.circle, config.owner, router);
|
|
54
|
+
bridgeAdapters.circleBridgeAdapter = yield this.deployCircleBridgeAdapter(chain, config.circle, config.owner, routerContracts.router);
|
|
59
55
|
}
|
|
60
56
|
if (config.portal) {
|
|
61
|
-
bridgeAdapters.portalAdapter = yield this.deployPortalAdapter(chain, config.portal, config.owner, router);
|
|
57
|
+
bridgeAdapters.portalAdapter = yield this.deployPortalAdapter(chain, config.portal, config.owner, routerContracts.router);
|
|
62
58
|
}
|
|
63
|
-
return Object.assign(Object.assign({},
|
|
59
|
+
return Object.assign(Object.assign({}, routerContracts), bridgeAdapters);
|
|
64
60
|
});
|
|
65
61
|
}
|
|
66
62
|
deployPortalAdapter(chain, adapterConfig, owner, router) {
|
|
67
63
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const cc = this.multiProvider.getChainConnection(chain);
|
|
69
64
|
const initCalldata = core_1.PortalAdapter__factory.createInterface().encodeFunctionData('initialize', [
|
|
70
|
-
|
|
65
|
+
this.multiProvider.getDomainId(chain),
|
|
71
66
|
owner,
|
|
72
67
|
adapterConfig.portalBridgeAddress,
|
|
73
68
|
router.address,
|
|
@@ -81,18 +76,17 @@ class LiquidityLayerDeployer extends deploy_1.MiddlewareRouterDeployer {
|
|
|
81
76
|
if (expectedCircleDomain === wormholeDomain)
|
|
82
77
|
continue;
|
|
83
78
|
this.logger(`Set wormhole domain ${wormholeDomain} for hyperlane domain ${hyperlaneDomain}`);
|
|
84
|
-
yield
|
|
79
|
+
yield this.multiProvider.handleTx(chain, portalAdapter.addDomain(hyperlaneDomain, wormholeDomain));
|
|
85
80
|
}
|
|
86
81
|
if (!utils_1.utils.eqAddress(yield router.liquidityLayerAdapters('Portal'), portalAdapter.address)) {
|
|
87
82
|
this.logger('Set Portal as LiquidityLayerAdapter on Router');
|
|
88
|
-
yield
|
|
83
|
+
yield this.multiProvider.handleTx(chain, router.setLiquidityLayerAdapter(adapterConfig.type, portalAdapter.address));
|
|
89
84
|
}
|
|
90
85
|
return portalAdapter;
|
|
91
86
|
});
|
|
92
87
|
}
|
|
93
88
|
deployCircleBridgeAdapter(chain, adapterConfig, owner, router) {
|
|
94
89
|
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
-
const cc = this.multiProvider.getChainConnection(chain);
|
|
96
90
|
const initCalldata = core_1.CircleBridgeAdapter__factory.createInterface().encodeFunctionData('initialize', [
|
|
97
91
|
owner,
|
|
98
92
|
adapterConfig.tokenMessengerAddress,
|
|
@@ -105,7 +99,7 @@ class LiquidityLayerDeployer extends deploy_1.MiddlewareRouterDeployer {
|
|
|
105
99
|
});
|
|
106
100
|
if (!utils_1.utils.eqAddress(yield circleBridgeAdapter.tokenSymbolToAddress('USDC'), adapterConfig.usdcAddress)) {
|
|
107
101
|
this.logger(`Set USDC token contract`);
|
|
108
|
-
yield
|
|
102
|
+
yield this.multiProvider.handleTx(chain, circleBridgeAdapter.addToken(adapterConfig.usdcAddress, 'USDC'));
|
|
109
103
|
}
|
|
110
104
|
// Set domain mappings
|
|
111
105
|
for (const { circleDomain, hyperlaneDomain, } of adapterConfig.circleDomainMapping) {
|
|
@@ -113,11 +107,11 @@ class LiquidityLayerDeployer extends deploy_1.MiddlewareRouterDeployer {
|
|
|
113
107
|
if (expectedCircleDomain === circleDomain)
|
|
114
108
|
continue;
|
|
115
109
|
this.logger(`Set circle domain ${circleDomain} for hyperlane domain ${hyperlaneDomain}`);
|
|
116
|
-
yield
|
|
110
|
+
yield this.multiProvider.handleTx(chain, circleBridgeAdapter.addDomain(hyperlaneDomain, circleDomain));
|
|
117
111
|
}
|
|
118
112
|
if (!utils_1.utils.eqAddress(yield router.liquidityLayerAdapters('Circle'), circleBridgeAdapter.address)) {
|
|
119
113
|
this.logger('Set Circle as LiquidityLayerAdapter on Router');
|
|
120
|
-
yield
|
|
114
|
+
yield this.multiProvider.handleTx(chain, router.setLiquidityLayerAdapter(adapterConfig.type, circleBridgeAdapter.address));
|
|
121
115
|
}
|
|
122
116
|
return circleBridgeAdapter;
|
|
123
117
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerRouterDeployer.js","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"LiquidityLayerRouterDeployer.js","sourceRoot":"","sources":["../../../src/deploy/middleware/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,26 +1,23 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { HyperlaneCore } from '../../core/HyperlaneCore';
|
|
3
1
|
import { InterchainAccountContracts, InterchainAccountFactories, InterchainQueryContracts, InterchainQueryFactories } from '../../middleware';
|
|
4
2
|
import { MultiProvider } from '../../providers/MultiProvider';
|
|
5
|
-
import {
|
|
3
|
+
import { ProxiedRouterContracts, RouterFactories } from '../../router';
|
|
6
4
|
import { ChainMap, ChainName } from '../../types';
|
|
7
5
|
import { HyperlaneRouterDeployer } from '../router/HyperlaneRouterDeployer';
|
|
8
6
|
import { RouterConfig } from '../router/types';
|
|
9
|
-
export declare
|
|
10
|
-
export declare abstract class MiddlewareRouterDeployer<Chain extends ChainName, MiddlewareRouterConfig extends RouterConfig, MiddlewareRouterContracts extends RouterContracts, MiddlewareFactories extends RouterFactories> extends HyperlaneRouterDeployer<Chain, MiddlewareRouterConfig, MiddlewareRouterContracts, MiddlewareFactories> {
|
|
11
|
-
getInitArgs(config: MiddlewareRouterConfig, routerInterface: ethers.utils.Interface): string;
|
|
12
|
-
}
|
|
13
|
-
export declare class InterchainAccountDeployer<Chain extends ChainName> extends MiddlewareRouterDeployer<Chain, InterchainAccountConfig, InterchainAccountContracts, InterchainAccountFactories> {
|
|
14
|
-
protected core: HyperlaneCore<Chain>;
|
|
7
|
+
export declare abstract class MiddlewareRouterDeployer<MiddlewareRouterConfig extends RouterConfig, MiddlewareRouterContracts extends ProxiedRouterContracts, MiddlewareFactories extends RouterFactories> extends HyperlaneRouterDeployer<MiddlewareRouterConfig, MiddlewareRouterContracts, MiddlewareFactories> {
|
|
15
8
|
protected create2salt: string;
|
|
16
|
-
constructor(multiProvider: MultiProvider
|
|
17
|
-
|
|
9
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<MiddlewareRouterConfig>, factories: MiddlewareFactories, create2salt?: string);
|
|
10
|
+
constructorArgs(_: MiddlewareRouterConfig): Parameters<MiddlewareFactories['router']['deploy']>;
|
|
11
|
+
initializeArgs(config: MiddlewareRouterConfig): any;
|
|
12
|
+
deployContracts(chain: ChainName, config: MiddlewareRouterConfig): Promise<MiddlewareRouterContracts>;
|
|
18
13
|
}
|
|
19
|
-
|
|
20
|
-
export declare class
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
14
|
+
declare type InterchainAccountConfig = RouterConfig;
|
|
15
|
+
export declare class InterchainAccountDeployer extends MiddlewareRouterDeployer<InterchainAccountConfig, InterchainAccountContracts, InterchainAccountFactories> {
|
|
16
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<InterchainAccountConfig>, create2salt?: string);
|
|
17
|
+
}
|
|
18
|
+
declare type InterchainQueryConfig = RouterConfig;
|
|
19
|
+
export declare class InterchainQueryDeployer extends MiddlewareRouterDeployer<InterchainQueryConfig, InterchainQueryContracts, InterchainQueryFactories> {
|
|
20
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<InterchainQueryConfig>, create2salt?: string);
|
|
25
21
|
}
|
|
22
|
+
export {};
|
|
26
23
|
//# sourceMappingURL=deploy.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"deploy.d.ts","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,0BAA0B,EAC1B,0BAA0B,EAC1B,wBAAwB,EACxB,wBAAwB,EAGzB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,uBAAuB,EAAE,MAAM,mCAAmC,CAAC;AAC5E,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAE/C,8BAAsB,wBAAwB,CAC5C,sBAAsB,SAAS,YAAY,EAC3C,yBAAyB,SAAS,sBAAsB,EACxD,mBAAmB,SAAS,eAAe,CAC3C,SAAQ,uBAAuB,CAC/B,sBAAsB,EACtB,yBAAyB,EACzB,mBAAmB,CACpB;IAKG,SAAS,CAAC,WAAW;gBAHrB,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC3C,SAAS,EAAE,mBAAmB,EACpB,WAAW,SAAqB;IAK5C,eAAe,CACb,CAAC,EAAE,sBAAsB,GACxB,UAAU,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC;IAItD,cAAc,CAAC,MAAM,EAAE,sBAAsB,GAAG,GAAG;IAS7C,eAAe,CACnB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,sBAAsB,GAC7B,OAAO,CAAC,yBAAyB,CAAC;CA4BtC;AAED,aAAK,uBAAuB,GAAG,YAAY,CAAC;AAE5C,qBAAa,yBAA0B,SAAQ,wBAAwB,CACrE,uBAAuB,EACvB,0BAA0B,EAC1B,0BAA0B,CAC3B;gBAEG,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,uBAAuB,CAAC,EAC5C,WAAW,SAAmB;CAIjC;AAED,aAAK,qBAAqB,GAAG,YAAY,CAAC;AAE1C,qBAAa,uBAAwB,SAAQ,wBAAwB,CACnE,qBAAqB,EACrB,wBAAwB,EACxB,wBAAwB,CACzB;gBAEG,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,qBAAqB,CAAC,EAC1C,WAAW,SAAgB;CAI9B"}
|
|
@@ -15,60 +15,47 @@ const core_1 = require("@hyperlane-xyz/core");
|
|
|
15
15
|
const middleware_1 = require("../../middleware");
|
|
16
16
|
const HyperlaneRouterDeployer_1 = require("../router/HyperlaneRouterDeployer");
|
|
17
17
|
class MiddlewareRouterDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
|
|
18
|
-
|
|
18
|
+
constructor(multiProvider, configMap, factories, create2salt = 'middlewarerouter') {
|
|
19
|
+
super(multiProvider, configMap, factories);
|
|
20
|
+
this.create2salt = create2salt;
|
|
21
|
+
}
|
|
22
|
+
constructorArgs(_) {
|
|
23
|
+
return [];
|
|
24
|
+
}
|
|
25
|
+
initializeArgs(config) {
|
|
19
26
|
var _a;
|
|
20
|
-
return
|
|
27
|
+
return [
|
|
21
28
|
config.mailbox,
|
|
22
29
|
config.interchainGasPaymaster,
|
|
23
30
|
(_a = config.interchainSecurityModule) !== null && _a !== void 0 ? _a : ethers_1.ethers.constants.AddressZero,
|
|
24
31
|
config.owner,
|
|
25
|
-
]
|
|
26
|
-
}
|
|
27
|
-
}
|
|
28
|
-
exports.MiddlewareRouterDeployer = MiddlewareRouterDeployer;
|
|
29
|
-
class InterchainAccountDeployer extends MiddlewareRouterDeployer {
|
|
30
|
-
constructor(multiProvider, configMap, core, create2salt = 'asdasdsd') {
|
|
31
|
-
super(multiProvider, configMap, middleware_1.interchainAccountFactories, {});
|
|
32
|
-
this.core = core;
|
|
33
|
-
this.create2salt = create2salt;
|
|
32
|
+
];
|
|
34
33
|
}
|
|
35
|
-
// Custom contract deployment logic can go here
|
|
36
|
-
// If no custom logic is needed, call deployContract for the router
|
|
37
34
|
deployContracts(chain, config) {
|
|
38
35
|
return __awaiter(this, void 0, void 0, function* () {
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
create2Salt: this.create2salt
|
|
42
|
-
initCalldata,
|
|
36
|
+
const proxyAdmin = yield this.deployContractFromFactory(chain, new core_1.ProxyAdmin__factory(), 'proxyAdmin', [], { create2Salt: this.create2salt });
|
|
37
|
+
const proxiedRouter = yield this.deployProxiedContract(chain, 'router', this.constructorArgs(config), proxyAdmin, this.initializeArgs(config), {
|
|
38
|
+
create2Salt: this.create2salt,
|
|
43
39
|
});
|
|
40
|
+
yield this.multiProvider.handleTx(chain, proxyAdmin.transferOwnership(config.owner));
|
|
44
41
|
return {
|
|
45
|
-
|
|
42
|
+
proxyAdmin,
|
|
43
|
+
proxiedRouter,
|
|
44
|
+
router: proxiedRouter.contract, // for backwards compatibility
|
|
46
45
|
};
|
|
47
46
|
});
|
|
48
47
|
}
|
|
49
48
|
}
|
|
49
|
+
exports.MiddlewareRouterDeployer = MiddlewareRouterDeployer;
|
|
50
|
+
class InterchainAccountDeployer extends MiddlewareRouterDeployer {
|
|
51
|
+
constructor(multiProvider, configMap, create2salt = 'accountsrouter') {
|
|
52
|
+
super(multiProvider, configMap, middleware_1.interchainAccountFactories, create2salt);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
50
55
|
exports.InterchainAccountDeployer = InterchainAccountDeployer;
|
|
51
56
|
class InterchainQueryDeployer extends MiddlewareRouterDeployer {
|
|
52
|
-
constructor(multiProvider, configMap,
|
|
53
|
-
|
|
54
|
-
create2salt = 'asdasdsd') {
|
|
55
|
-
super(multiProvider, configMap, middleware_1.interchainQueryFactories, {});
|
|
56
|
-
this.core = core;
|
|
57
|
-
this.create2salt = create2salt;
|
|
58
|
-
}
|
|
59
|
-
// Custom contract deployment logic can go here
|
|
60
|
-
// If no custom logic is needed, call deployContract for the router
|
|
61
|
-
deployContracts(chain, config) {
|
|
62
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
63
|
-
const initCalldata = this.getInitArgs(config, core_1.InterchainQueryRouter__factory.createInterface());
|
|
64
|
-
const router = yield this.deployContract(chain, 'router', [], {
|
|
65
|
-
create2Salt: this.create2salt + 'router',
|
|
66
|
-
initCalldata,
|
|
67
|
-
});
|
|
68
|
-
return {
|
|
69
|
-
router,
|
|
70
|
-
};
|
|
71
|
-
});
|
|
57
|
+
constructor(multiProvider, configMap, create2salt = 'queryrouter') {
|
|
58
|
+
super(multiProvider, configMap, middleware_1.interchainQueryFactories, create2salt);
|
|
72
59
|
}
|
|
73
60
|
}
|
|
74
61
|
exports.InterchainQueryDeployer = InterchainQueryDeployer;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,
|
|
1
|
+
{"version":3,"file":"deploy.js","sourceRoot":"","sources":["../../../src/deploy/middleware/deploy.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,8CAA0D;AAE1D,iDAO0B;AAI1B,+EAA4E;AAG5E,MAAsB,wBAIpB,SAAQ,iDAIT;IACC,YACE,aAA4B,EAC5B,SAA2C,EAC3C,SAA8B,EACpB,cAAc,kBAAkB;QAE1C,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;QAFjC,gBAAW,GAAX,WAAW,CAAqB;IAG5C,CAAC;IAED,eAAe,CACb,CAAyB;QAEzB,OAAO,EAAS,CAAC;IACnB,CAAC;IAED,cAAc,CAAC,MAA8B;;QAC3C,OAAO;YACL,MAAM,CAAC,OAAO;YACd,MAAM,CAAC,sBAAsB;YAC7B,MAAA,MAAM,CAAC,wBAAwB,mCAAI,eAAM,CAAC,SAAS,CAAC,WAAW;YAC/D,MAAM,CAAC,KAAK;SACb,CAAC;IACJ,CAAC;IAEK,eAAe,CACnB,KAAgB,EAChB,MAA8B;;YAE9B,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,yBAAyB,CACrD,KAAK,EACL,IAAI,0BAAmB,EAAE,EACzB,YAAY,EACZ,EAAE,EACF,EAAE,WAAW,EAAE,IAAI,CAAC,WAAW,EAAE,CAClC,CAAC;YACF,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,qBAAqB,CACpD,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,EAC5B,UAAU,EACV,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,EAC3B;gBACE,WAAW,EAAE,IAAI,CAAC,WAAW;aAC9B,CACF,CAAC;YACF,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAC/B,KAAK,EACL,UAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,KAAK,CAAC,CAC3C,CAAC;YACF,OAAO;gBACL,UAAU;gBACV,aAAa;gBACb,MAAM,EAAE,aAAa,CAAC,QAAQ,EAAE,8BAA8B;aACxD,CAAC;QACX,CAAC;KAAA;CACF;AAhED,4DAgEC;AAID,MAAa,yBAA0B,SAAQ,wBAI9C;IACC,YACE,aAA4B,EAC5B,SAA4C,EAC5C,WAAW,GAAG,gBAAgB;QAE9B,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,uCAA0B,EAAE,WAAW,CAAC,CAAC;IAC3E,CAAC;CACF;AAZD,8DAYC;AAID,MAAa,uBAAwB,SAAQ,wBAI5C;IACC,YACE,aAA4B,EAC5B,SAA0C,EAC1C,WAAW,GAAG,aAAa;QAE3B,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,qCAAwB,EAAE,WAAW,CAAC,CAAC;IACzE,CAAC;CACF;AAZD,0DAYC"}
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import { GasRouter } from '@hyperlane-xyz/core';
|
|
2
2
|
import { MultiProvider } from '../../providers/MultiProvider';
|
|
3
3
|
import { RouterContracts, RouterFactories } from '../../router';
|
|
4
|
-
import { ChainMap
|
|
4
|
+
import { ChainMap } from '../../types';
|
|
5
5
|
import { DeployerOptions } from '../HyperlaneDeployer';
|
|
6
6
|
import { HyperlaneRouterDeployer } from './HyperlaneRouterDeployer';
|
|
7
7
|
import { GasRouterConfig } from './types';
|
|
8
|
-
export declare abstract class GasRouterDeployer<
|
|
9
|
-
constructor(multiProvider: MultiProvider
|
|
10
|
-
enrollRemoteRouters(contractsMap: ChainMap<
|
|
8
|
+
export declare abstract class GasRouterDeployer<Config extends GasRouterConfig, Contracts extends RouterContracts<GasRouter>, Factories extends RouterFactories<GasRouter>> extends HyperlaneRouterDeployer<Config, Contracts, Factories> {
|
|
9
|
+
constructor(multiProvider: MultiProvider, configMap: ChainMap<Config>, factories: Factories, options?: DeployerOptions);
|
|
10
|
+
enrollRemoteRouters(contractsMap: ChainMap<Contracts>): Promise<void>;
|
|
11
11
|
}
|
|
12
12
|
//# sourceMappingURL=GasRouterDeployer.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"GasRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/deploy/router/GasRouterDeployer.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AAEvD,OAAO,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,8BAAsB,iBAAiB,CACrC,MAAM,SAAS,eAAe,EAC9B,SAAS,SAAS,eAAe,CAAC,SAAS,CAAC,EAC5C,SAAS,SAAS,eAAe,CAAC,SAAS,CAAC,CAC5C,SAAQ,uBAAuB,CAAC,MAAM,EAAE,SAAS,EAAE,SAAS,CAAC;gBAE3D,aAAa,EAAE,aAAa,EAC5B,SAAS,EAAE,QAAQ,CAAC,MAAM,CAAC,EAC3B,SAAS,EAAE,SAAS,EACpB,OAAO,CAAC,EAAE,eAAe;IAQrB,mBAAmB,CAAC,YAAY,EAAE,QAAQ,CAAC,SAAS,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;CA6B5E"}
|