@hyperlane-xyz/sdk 0.5.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/README.md +5 -0
- package/dist/HyperlaneApp.d.ts +13 -0
- package/dist/HyperlaneApp.d.ts.map +1 -0
- package/dist/HyperlaneApp.js +25 -0
- package/dist/HyperlaneApp.js.map +1 -0
- package/dist/consts/chainConnectionConfigs.d.ts +28 -0
- package/dist/consts/chainConnectionConfigs.d.ts.map +1 -0
- package/dist/consts/chainConnectionConfigs.js +130 -0
- package/dist/consts/chainConnectionConfigs.js.map +1 -0
- package/dist/consts/chainMetadata.d.ts +43 -0
- package/dist/consts/chainMetadata.d.ts.map +1 -0
- package/dist/consts/chainMetadata.js +139 -0
- package/dist/consts/chainMetadata.js.map +1 -0
- package/dist/consts/chains.d.ts +28 -0
- package/dist/consts/chains.d.ts.map +1 -0
- package/dist/consts/chains.js +40 -0
- package/dist/consts/chains.js.map +1 -0
- package/dist/consts/environments/index.d.ts +1450 -0
- package/dist/consts/environments/index.d.ts.map +1 -0
- package/dist/consts/environments/index.js +15 -0
- package/dist/consts/environments/index.js.map +1 -0
- package/dist/consts/environments/mainnet.json +513 -0
- package/dist/consts/environments/test.json +113 -0
- package/dist/consts/environments/testnet2.json +821 -0
- package/dist/consts/metamask.d.ts +17 -0
- package/dist/consts/metamask.d.ts.map +1 -0
- package/dist/consts/metamask.js +50 -0
- package/dist/consts/metamask.js.map +1 -0
- package/dist/contracts.d.ts +17 -0
- package/dist/contracts.d.ts.map +1 -0
- package/dist/contracts.js +61 -0
- package/dist/contracts.js.map +1 -0
- package/dist/core/HyperlaneCore.d.ts +1491 -0
- package/dist/core/HyperlaneCore.d.ts.map +1 -0
- package/dist/core/HyperlaneCore.js +103 -0
- package/dist/core/HyperlaneCore.js.map +1 -0
- package/dist/core/TestCoreApp.d.ts +27 -0
- package/dist/core/TestCoreApp.d.ts.map +1 -0
- package/dist/core/TestCoreApp.js +63 -0
- package/dist/core/TestCoreApp.js.map +1 -0
- package/dist/core/TestCoreDeployer.d.ts +13 -0
- package/dist/core/TestCoreDeployer.d.ts.map +1 -0
- package/dist/core/TestCoreDeployer.js +85 -0
- package/dist/core/TestCoreDeployer.js.map +1 -0
- package/dist/core/contracts.d.ts +30 -0
- package/dist/core/contracts.d.ts.map +1 -0
- package/dist/core/contracts.js +14 -0
- package/dist/core/contracts.js.map +1 -0
- package/dist/core/events.d.ts +9 -0
- package/dist/core/events.d.ts.map +1 -0
- package/dist/core/events.js +3 -0
- package/dist/core/events.js.map +1 -0
- package/dist/core/message.d.ts +162 -0
- package/dist/core/message.d.ts.map +1 -0
- package/dist/core/message.js +311 -0
- package/dist/core/message.js.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts +3 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.d.ts.map +1 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js +66 -0
- package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts +22 -0
- package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -0
- package/dist/deploy/HyperlaneAppChecker.js +76 -0
- package/dist/deploy/HyperlaneAppChecker.js.map +1 -0
- package/dist/deploy/HyperlaneDeployer.d.ts +40 -0
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -0
- package/dist/deploy/HyperlaneDeployer.js +153 -0
- package/dist/deploy/HyperlaneDeployer.js.map +1 -0
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts +17 -0
- package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -0
- package/dist/deploy/core/HyperlaneCoreChecker.js +210 -0
- package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -0
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +30 -0
- package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -0
- package/dist/deploy/core/HyperlaneCoreDeployer.js +134 -0
- package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -0
- package/dist/deploy/core/types.d.ts +64 -0
- package/dist/deploy/core/types.d.ts.map +1 -0
- package/dist/deploy/core/types.js +23 -0
- package/dist/deploy/core/types.js.map +1 -0
- package/dist/deploy/proxy.d.ts +17 -0
- package/dist/deploy/proxy.d.ts.map +1 -0
- package/dist/deploy/proxy.js +35 -0
- package/dist/deploy/proxy.js.map +1 -0
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts +13 -0
- package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -0
- package/dist/deploy/router/HyperlaneRouterChecker.js +44 -0
- package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -0
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +13 -0
- package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -0
- package/dist/deploy/router/HyperlaneRouterDeployer.js +103 -0
- package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -0
- package/dist/deploy/router/types.d.ts +7 -0
- package/dist/deploy/router/types.d.ts.map +1 -0
- package/dist/deploy/router/types.js +3 -0
- package/dist/deploy/router/types.js.map +1 -0
- package/dist/deploy/types.d.ts +19 -0
- package/dist/deploy/types.d.ts.map +1 -0
- package/dist/deploy/types.js +8 -0
- package/dist/deploy/types.js.map +1 -0
- package/dist/deploy/utils.d.ts +10 -0
- package/dist/deploy/utils.d.ts.map +1 -0
- package/dist/deploy/utils.js +38 -0
- package/dist/deploy/utils.js.map +1 -0
- package/dist/deploy/verify/ContractVerifier.d.ts +19 -0
- package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -0
- package/dist/deploy/verify/ContractVerifier.js +129 -0
- package/dist/deploy/verify/ContractVerifier.js.map +1 -0
- package/dist/deploy/verify/types.d.ts +14 -0
- package/dist/deploy/verify/types.d.ts.map +1 -0
- package/dist/deploy/verify/types.js +3 -0
- package/dist/deploy/verify/types.js.map +1 -0
- package/dist/deploy/verify/utils.d.ts +6 -0
- package/dist/deploy/verify/utils.d.ts.map +1 -0
- package/dist/deploy/verify/utils.js +25 -0
- package/dist/deploy/verify/utils.js.map +1 -0
- package/dist/domains.d.ts +4 -0
- package/dist/domains.d.ts.map +1 -0
- package/dist/domains.js +8 -0
- package/dist/domains.js.map +1 -0
- package/dist/events.d.ts +25 -0
- package/dist/events.d.ts.map +1 -0
- package/dist/events.js +161 -0
- package/dist/events.js.map +1 -0
- package/dist/gas/calculator.d.ts +134 -0
- package/dist/gas/calculator.d.ts.map +1 -0
- package/dist/gas/calculator.js +235 -0
- package/dist/gas/calculator.js.map +1 -0
- package/dist/gas/calculator.test.d.ts +2 -0
- package/dist/gas/calculator.test.d.ts.map +1 -0
- package/dist/gas/calculator.test.js +211 -0
- package/dist/gas/calculator.test.js.map +1 -0
- package/dist/gas/token-prices.d.ts +18 -0
- package/dist/gas/token-prices.d.ts.map +1 -0
- package/dist/gas/token-prices.js +63 -0
- package/dist/gas/token-prices.js.map +1 -0
- package/dist/gas/token-prices.test.d.ts +2 -0
- package/dist/gas/token-prices.test.d.ts.map +1 -0
- package/dist/gas/token-prices.test.js +40 -0
- package/dist/gas/token-prices.test.js.map +1 -0
- package/dist/index.d.ts +42 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +119 -0
- package/dist/index.js.map +1 -0
- package/dist/providers/ChainConnection.d.ts +22 -0
- package/dist/providers/ChainConnection.d.ts.map +1 -0
- package/dist/providers/ChainConnection.js +67 -0
- package/dist/providers/ChainConnection.js.map +1 -0
- package/dist/providers/MultiProvider.d.ts +55 -0
- package/dist/providers/MultiProvider.d.ts.map +1 -0
- package/dist/providers/MultiProvider.js +106 -0
- package/dist/providers/MultiProvider.js.map +1 -0
- package/dist/providers/RetryProvider.d.ts +18 -0
- package/dist/providers/RetryProvider.d.ts.map +1 -0
- package/dist/providers/RetryProvider.js +49 -0
- package/dist/providers/RetryProvider.js.map +1 -0
- package/dist/proxy.d.ts +23 -0
- package/dist/proxy.d.ts.map +1 -0
- package/dist/proxy.js +30 -0
- package/dist/proxy.js.map +1 -0
- package/dist/router.d.ts +19 -0
- package/dist/router.d.ts.map +1 -0
- package/dist/router.js +3 -0
- package/dist/router.js.map +1 -0
- package/dist/test/envSubsetDeployer/app.d.ts +36 -0
- package/dist/test/envSubsetDeployer/app.d.ts.map +1 -0
- package/dist/test/envSubsetDeployer/app.js +77 -0
- package/dist/test/envSubsetDeployer/app.js.map +1 -0
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts +2 -0
- package/dist/test/envSubsetDeployer/check-single-chain.d.ts.map +1 -0
- package/dist/test/envSubsetDeployer/check-single-chain.js +49 -0
- package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -0
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts +2 -0
- package/dist/test/envSubsetDeployer/deploy-single-chain.d.ts.map +1 -0
- package/dist/test/envSubsetDeployer/deploy-single-chain.js +42 -0
- package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -0
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts +2 -0
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.d.ts.map +1 -0
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +80 -0
- package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -0
- package/dist/test/envSubsetDeployer/utils.d.ts +7 -0
- package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -0
- package/dist/test/envSubsetDeployer/utils.js +25 -0
- package/dist/test/envSubsetDeployer/utils.js.map +1 -0
- package/dist/test/testUtils.d.ts +29 -0
- package/dist/test/testUtils.d.ts.map +1 -0
- package/dist/test/testUtils.js +98 -0
- package/dist/test/testUtils.js.map +1 -0
- package/dist/types.d.ts +20 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/MultiGeneric.d.ts +27 -0
- package/dist/utils/MultiGeneric.d.ts.map +1 -0
- package/dist/utils/MultiGeneric.js +70 -0
- package/dist/utils/MultiGeneric.js.map +1 -0
- package/dist/utils/ids.d.ts +20 -0
- package/dist/utils/ids.d.ts.map +1 -0
- package/dist/utils/ids.js +47 -0
- package/dist/utils/ids.js.map +1 -0
- package/dist/utils/number.d.ts +32 -0
- package/dist/utils/number.d.ts.map +1 -0
- package/dist/utils/number.js +59 -0
- package/dist/utils/number.js.map +1 -0
- package/dist/utils/objects.d.ts +7 -0
- package/dist/utils/objects.d.ts.map +1 -0
- package/dist/utils/objects.js +29 -0
- package/dist/utils/objects.js.map +1 -0
- package/dist/utils/time.d.ts +8 -0
- package/dist/utils/time.d.ts.map +1 -0
- package/dist/utils/time.js +15 -0
- package/dist/utils/time.js.map +1 -0
- package/dist/utils/utils.test.d.ts +2 -0
- package/dist/utils/utils.test.d.ts.map +1 -0
- package/dist/utils/utils.test.js +41 -0
- package/dist/utils/utils.test.js.map +1 -0
- package/package.json +55 -0
package/dist/router.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../src/router.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import { HyperlaneApp } from '../../HyperlaneApp';
|
|
2
|
+
import { HyperlaneCore } from '../../core/HyperlaneCore';
|
|
3
|
+
import { HyperlaneRouterChecker } from '../../deploy/router/HyperlaneRouterChecker';
|
|
4
|
+
import { HyperlaneRouterDeployer } from '../../deploy/router/HyperlaneRouterDeployer';
|
|
5
|
+
import { RouterConfig } from '../../deploy/router/types';
|
|
6
|
+
import { MultiProvider } from '../../providers/MultiProvider';
|
|
7
|
+
import { RouterContracts, RouterFactories } from '../../router';
|
|
8
|
+
import { ChainMap, ChainName } from '../../types';
|
|
9
|
+
export declare const fullEnvTestConfigs: {
|
|
10
|
+
test1: import("../../types").IChainConnection;
|
|
11
|
+
test2: import("../../types").IChainConnection;
|
|
12
|
+
test3: import("../../types").IChainConnection;
|
|
13
|
+
};
|
|
14
|
+
export declare const subsetTestConfigs: {
|
|
15
|
+
test1: import("../../types").IChainConnection;
|
|
16
|
+
test2: import("../../types").IChainConnection;
|
|
17
|
+
};
|
|
18
|
+
export declare type SubsetChains = keyof typeof subsetTestConfigs;
|
|
19
|
+
export declare const alfajoresChainConfig: {
|
|
20
|
+
alfajores: import("../../types").IChainConnection;
|
|
21
|
+
};
|
|
22
|
+
export declare class EnvSubsetApp<Chain extends ChainName = ChainName> extends HyperlaneApp<RouterContracts, Chain> {
|
|
23
|
+
}
|
|
24
|
+
export declare class EnvSubsetChecker<Chain extends ChainName> extends HyperlaneRouterChecker<Chain, EnvSubsetApp<Chain>, RouterConfig, RouterContracts> {
|
|
25
|
+
}
|
|
26
|
+
export declare const envSubsetFactories: RouterFactories;
|
|
27
|
+
export declare class EnvSubsetDeployer<Chain extends ChainName> extends HyperlaneRouterDeployer<Chain, RouterConfig, RouterContracts, RouterFactories> {
|
|
28
|
+
protected core: HyperlaneCore<Chain>;
|
|
29
|
+
constructor(multiProvider: MultiProvider<Chain>, configMap: ChainMap<Chain, RouterConfig>, core: HyperlaneCore<Chain>);
|
|
30
|
+
initRouter(contractsMap: ChainMap<Chain, RouterContracts>): Promise<void>;
|
|
31
|
+
deploy(): Promise<ChainMap<Chain, RouterContracts>>;
|
|
32
|
+
deployContracts(chain: Chain): Promise<{
|
|
33
|
+
router: import("@hyperlane-xyz/app").Router;
|
|
34
|
+
}>;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=app.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.d.ts","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/app.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAElD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AAEzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,4CAA4C,CAAC;AACpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AACtF,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAChE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAGlD,eAAO,MAAM,kBAAkB;;;;CAI9B,CAAC;AAEF,eAAO,MAAM,iBAAiB;;;CAG7B,CAAC;AAEF,oBAAY,YAAY,GAAG,MAAM,OAAO,iBAAiB,CAAC;AAE1D,eAAO,MAAM,oBAAoB;;CAEhC,CAAC;AAEF,qBAAa,YAAY,CACvB,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,eAAe,EAAE,KAAK,CAAC;CAAG;AAEjD,qBAAa,gBAAgB,CAC3B,KAAK,SAAS,SAAS,CACvB,SAAQ,sBAAsB,CAC9B,KAAK,EACL,YAAY,CAAC,KAAK,CAAC,EACnB,YAAY,EACZ,eAAe,CAChB;CAAG;AAEJ,eAAO,MAAM,kBAAkB,EAAE,eAEhC,CAAC;AAEF,qBAAa,iBAAiB,CAC5B,KAAK,SAAS,SAAS,CACvB,SAAQ,uBAAuB,CAC/B,KAAK,EACL,YAAY,EACZ,eAAe,EACf,eAAe,CAChB;IAIG,SAAS,CAAC,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;gBAFpC,aAAa,EAAE,aAAa,CAAC,KAAK,CAAC,EACnC,SAAS,EAAE,QAAQ,CAAC,KAAK,EAAE,YAAY,CAAC,EAC9B,IAAI,EAAE,aAAa,CAAC,KAAK,CAAC;IAMhC,UAAU,CACd,YAAY,EAAE,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,GAC7C,OAAO,CAAC,IAAI,CAAC;IAcV,MAAM,IAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IASnD,eAAe,CAAC,KAAK,EAAE,KAAK;;;CAMnC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
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.EnvSubsetDeployer = exports.envSubsetFactories = exports.EnvSubsetChecker = exports.EnvSubsetApp = exports.alfajoresChainConfig = exports.subsetTestConfigs = exports.fullEnvTestConfigs = void 0;
|
|
13
|
+
const app_1 = require("@hyperlane-xyz/app");
|
|
14
|
+
const HyperlaneApp_1 = require("../../HyperlaneApp");
|
|
15
|
+
const chainConnectionConfigs_1 = require("../../consts/chainConnectionConfigs");
|
|
16
|
+
const HyperlaneDeployer_1 = require("../../deploy/HyperlaneDeployer");
|
|
17
|
+
const HyperlaneRouterChecker_1 = require("../../deploy/router/HyperlaneRouterChecker");
|
|
18
|
+
const HyperlaneRouterDeployer_1 = require("../../deploy/router/HyperlaneRouterDeployer");
|
|
19
|
+
const objects_1 = require("../../utils/objects");
|
|
20
|
+
exports.fullEnvTestConfigs = {
|
|
21
|
+
test1: chainConnectionConfigs_1.chainConnectionConfigs.test1,
|
|
22
|
+
test2: chainConnectionConfigs_1.chainConnectionConfigs.test2,
|
|
23
|
+
test3: chainConnectionConfigs_1.chainConnectionConfigs.test3,
|
|
24
|
+
};
|
|
25
|
+
exports.subsetTestConfigs = {
|
|
26
|
+
test1: chainConnectionConfigs_1.chainConnectionConfigs.test1,
|
|
27
|
+
test2: chainConnectionConfigs_1.chainConnectionConfigs.test2,
|
|
28
|
+
};
|
|
29
|
+
exports.alfajoresChainConfig = {
|
|
30
|
+
alfajores: chainConnectionConfigs_1.chainConnectionConfigs.alfajores,
|
|
31
|
+
};
|
|
32
|
+
class EnvSubsetApp extends HyperlaneApp_1.HyperlaneApp {
|
|
33
|
+
}
|
|
34
|
+
exports.EnvSubsetApp = EnvSubsetApp;
|
|
35
|
+
class EnvSubsetChecker extends HyperlaneRouterChecker_1.HyperlaneRouterChecker {
|
|
36
|
+
}
|
|
37
|
+
exports.EnvSubsetChecker = EnvSubsetChecker;
|
|
38
|
+
exports.envSubsetFactories = {
|
|
39
|
+
router: new app_1.TestRouter__factory(),
|
|
40
|
+
};
|
|
41
|
+
class EnvSubsetDeployer extends HyperlaneRouterDeployer_1.HyperlaneRouterDeployer {
|
|
42
|
+
constructor(multiProvider, configMap, core) {
|
|
43
|
+
super(multiProvider, configMap, exports.envSubsetFactories, {});
|
|
44
|
+
this.core = core;
|
|
45
|
+
}
|
|
46
|
+
// Consider moving this up to HyperlaneRouterDeployer
|
|
47
|
+
initRouter(contractsMap) {
|
|
48
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
+
this.logger(`Calling initialize on routers...`);
|
|
50
|
+
yield (0, objects_1.promiseObjAll)((0, objects_1.objMap)(contractsMap, (chain, contracts) => __awaiter(this, void 0, void 0, function* () {
|
|
51
|
+
const chainConnection = this.multiProvider.getChainConnection(chain);
|
|
52
|
+
const acm = this.configMap[chain].connectionManager;
|
|
53
|
+
yield chainConnection.handleTx(
|
|
54
|
+
// @ts-ignore
|
|
55
|
+
contracts.router.initialize(acm, chainConnection.overrides));
|
|
56
|
+
})));
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
deploy() {
|
|
60
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
+
const contractsMap = (yield HyperlaneDeployer_1.HyperlaneDeployer.prototype.deploy.apply(this));
|
|
62
|
+
yield this.initRouter(contractsMap);
|
|
63
|
+
yield this.enrollRemoteRouters(contractsMap);
|
|
64
|
+
return contractsMap;
|
|
65
|
+
});
|
|
66
|
+
}
|
|
67
|
+
deployContracts(chain) {
|
|
68
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
69
|
+
const router = yield this.deployContract(chain, 'router', []);
|
|
70
|
+
return {
|
|
71
|
+
router,
|
|
72
|
+
};
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
exports.EnvSubsetDeployer = EnvSubsetDeployer;
|
|
77
|
+
//# sourceMappingURL=app.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app.js","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/app.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,4CAAyD;AAEzD,qDAAkD;AAClD,gFAA6E;AAE7E,sEAAmE;AACnE,uFAAoF;AACpF,yFAAsF;AAKtF,iDAA4D;AAE/C,QAAA,kBAAkB,GAAG;IAChC,KAAK,EAAE,+CAAsB,CAAC,KAAK;IACnC,KAAK,EAAE,+CAAsB,CAAC,KAAK;IACnC,KAAK,EAAE,+CAAsB,CAAC,KAAK;CACpC,CAAC;AAEW,QAAA,iBAAiB,GAAG;IAC/B,KAAK,EAAE,+CAAsB,CAAC,KAAK;IACnC,KAAK,EAAE,+CAAsB,CAAC,KAAK;CACpC,CAAC;AAIW,QAAA,oBAAoB,GAAG;IAClC,SAAS,EAAE,+CAAsB,CAAC,SAAS;CAC5C,CAAC;AAEF,MAAa,YAEX,SAAQ,2BAAoC;CAAG;AAFjD,oCAEiD;AAEjD,MAAa,gBAEX,SAAQ,+CAKT;CAAG;AAPJ,4CAOI;AAES,QAAA,kBAAkB,GAAoB;IACjD,MAAM,EAAE,IAAI,yBAAmB,EAAE;CAClC,CAAC;AAEF,MAAa,iBAEX,SAAQ,iDAKT;IACC,YACE,aAAmC,EACnC,SAAwC,EAC9B,IAA0B;QAEpC,KAAK,CAAC,aAAa,EAAE,SAAS,EAAE,0BAAkB,EAAE,EAAE,CAAC,CAAC;QAF9C,SAAI,GAAJ,IAAI,CAAsB;IAGtC,CAAC;IAED,qDAAqD;IAC/C,UAAU,CACd,YAA8C;;YAE9C,IAAI,CAAC,MAAM,CAAC,kCAAkC,CAAC,CAAC;YAChD,MAAM,IAAA,uBAAa,EACjB,IAAA,gBAAM,EAAC,YAAY,EAAE,CAAO,KAAK,EAAE,SAAS,EAAE,EAAE;gBAC9C,MAAM,eAAe,GAAG,IAAI,CAAC,aAAa,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;gBACrE,MAAM,GAAG,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,iBAAiB,CAAC;gBACpD,MAAM,eAAe,CAAC,QAAQ;gBAC5B,aAAa;gBACb,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,EAAE,eAAe,CAAC,SAAS,CAAC,CAC5D,CAAC;YACJ,CAAC,CAAA,CAAC,CACH,CAAC;QACJ,CAAC;KAAA;IAEK,MAAM;;YACV,MAAM,YAAY,GAAG,CAAC,MAAM,qCAAiB,CAAC,SAAS,CAAC,MAAM,CAAC,KAAK,CAClE,IAAI,CACL,CAAmC,CAAC;YACrC,MAAM,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YACpC,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAC7C,OAAO,YAAY,CAAC;QACtB,CAAC;KAAA;IAEK,eAAe,CAAC,KAAY;;YAChC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;YAC9D,OAAO;gBACL,MAAM;aACP,CAAC;QACJ,CAAC;KAAA;CACF;AAhDD,8CAgDC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-single-chain.d.ts","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/check-single-chain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,49 @@
|
|
|
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 contracts_1 = require("../../contracts");
|
|
13
|
+
const HyperlaneCore_1 = require("../../core/HyperlaneCore");
|
|
14
|
+
const utils_1 = require("../../deploy/utils");
|
|
15
|
+
const MultiProvider_1 = require("../../providers/MultiProvider");
|
|
16
|
+
const app_1 = require("./app");
|
|
17
|
+
const utils_2 = require("./utils");
|
|
18
|
+
// Copied from output of deploy-single-chain.ts script
|
|
19
|
+
const deploymentAddresses = {
|
|
20
|
+
alfajores: {
|
|
21
|
+
router: '0x0666AD4F636210B6a418f97790b7BAABAC54b9A4',
|
|
22
|
+
},
|
|
23
|
+
};
|
|
24
|
+
const ownerAddress = '0x35b74Ed5038bf0488Ff33bD9819b9D12D10A7560';
|
|
25
|
+
function check() {
|
|
26
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const provider = (0, utils_2.getAlfajoresProvider)();
|
|
28
|
+
console.info('Preparing utilities');
|
|
29
|
+
const multiProvider = new MultiProvider_1.MultiProvider({
|
|
30
|
+
alfajores: {
|
|
31
|
+
provider,
|
|
32
|
+
confirmations: app_1.alfajoresChainConfig.alfajores.confirmations,
|
|
33
|
+
overrides: app_1.alfajoresChainConfig.alfajores.overrides,
|
|
34
|
+
},
|
|
35
|
+
});
|
|
36
|
+
const contractsMap = (0, contracts_1.buildContracts)(deploymentAddresses, app_1.envSubsetFactories);
|
|
37
|
+
const app = new app_1.EnvSubsetApp(contractsMap, multiProvider);
|
|
38
|
+
const core = HyperlaneCore_1.HyperlaneCore.fromEnvironment('testnet2', multiProvider);
|
|
39
|
+
const config = core.extendWithConnectionClientConfig((0, utils_1.getChainToOwnerMap)(app_1.alfajoresChainConfig, ownerAddress));
|
|
40
|
+
const envSubsetChecker = new app_1.EnvSubsetChecker(multiProvider, app, config);
|
|
41
|
+
console.info('Starting check');
|
|
42
|
+
yield envSubsetChecker.check();
|
|
43
|
+
envSubsetChecker.expectEmpty();
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
check()
|
|
47
|
+
.then(() => console.info('Check complete'))
|
|
48
|
+
.catch(console.error);
|
|
49
|
+
//# sourceMappingURL=check-single-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check-single-chain.js","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/check-single-chain.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAiD;AACjD,4DAAyD;AACzD,8CAAwD;AACxD,iEAA8D;AAI9D,+BAKe;AACf,mCAA+C;AAE/C,sDAAsD;AACtD,MAAM,mBAAmB,GAAG;IAC1B,SAAS,EAAE;QACT,MAAM,EAAE,4CAA4C;KACrD;CACF,CAAC;AAEF,MAAM,YAAY,GAAG,4CAA4C,CAAC;AAElE,SAAe,KAAK;;QAClB,MAAM,QAAQ,GAAG,IAAA,4BAAoB,GAAE,CAAC;QAExC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC;YACtC,SAAS,EAAE;gBACT,QAAQ;gBACR,aAAa,EAAE,0BAAoB,CAAC,SAAS,CAAC,aAAa;gBAC3D,SAAS,EAAE,0BAAoB,CAAC,SAAS,CAAC,SAAS;aACpD;SACF,CAAC,CAAC;QAEH,MAAM,YAAY,GAAG,IAAA,0BAAc,EACjC,mBAAmB,EACnB,wBAAkB,CACqB,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,kBAAY,CAAC,YAAY,EAAE,aAAa,CAAC,CAAC;QAC1D,MAAM,IAAI,GAAG,6BAAa,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,gCAAgC,CAClD,IAAA,0BAAkB,EAAC,0BAAoB,EAAE,YAAY,CAAC,CACvD,CAAC;QACF,MAAM,gBAAgB,GAAG,IAAI,sBAAgB,CAAC,aAAa,EAAE,GAAG,EAAE,MAAM,CAAC,CAAC;QAE1E,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC/B,MAAM,gBAAgB,CAAC,KAAK,EAAE,CAAC;QAC/B,gBAAgB,CAAC,WAAW,EAAE,CAAC;IACjC,CAAC;CAAA;AAED,KAAK,EAAE;KACJ,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;KAC1C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-single-chain.d.ts","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/deploy-single-chain.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 contracts_1 = require("../../contracts");
|
|
13
|
+
const HyperlaneCore_1 = require("../../core/HyperlaneCore");
|
|
14
|
+
const utils_1 = require("../../deploy/utils");
|
|
15
|
+
const MultiProvider_1 = require("../../providers/MultiProvider");
|
|
16
|
+
const app_1 = require("./app");
|
|
17
|
+
const utils_2 = require("./utils");
|
|
18
|
+
function main() {
|
|
19
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
20
|
+
const signer = (0, utils_2.getAlfajoresSigner)();
|
|
21
|
+
console.info('Preparing utilities');
|
|
22
|
+
const multiProvider = new MultiProvider_1.MultiProvider({
|
|
23
|
+
alfajores: {
|
|
24
|
+
provider: signer.provider,
|
|
25
|
+
confirmations: app_1.alfajoresChainConfig.alfajores.confirmations,
|
|
26
|
+
overrides: app_1.alfajoresChainConfig.alfajores.overrides,
|
|
27
|
+
},
|
|
28
|
+
});
|
|
29
|
+
const core = HyperlaneCore_1.HyperlaneCore.fromEnvironment('testnet2', multiProvider);
|
|
30
|
+
const config = core.extendWithConnectionClientConfig((0, utils_1.getChainToOwnerMap)(app_1.alfajoresChainConfig, signer.address));
|
|
31
|
+
console.info('Starting deployment');
|
|
32
|
+
const deployer = new app_1.EnvSubsetDeployer(multiProvider, config, core);
|
|
33
|
+
const chainToContracts = yield deployer.deploy();
|
|
34
|
+
const addresses = (0, contracts_1.serializeContracts)(chainToContracts);
|
|
35
|
+
console.info('===Contract Addresses===');
|
|
36
|
+
console.info(JSON.stringify(addresses));
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
main()
|
|
40
|
+
.then(() => console.info('Deploy complete'))
|
|
41
|
+
.catch(console.error);
|
|
42
|
+
//# sourceMappingURL=deploy-single-chain.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy-single-chain.js","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/deploy-single-chain.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+CAAqD;AACrD,4DAAyD;AACzD,8CAAwD;AACxD,iEAA8D;AAE9D,+BAAgE;AAChE,mCAA6C;AAE7C,SAAe,IAAI;;QACjB,MAAM,MAAM,GAAG,IAAA,0BAAkB,GAAE,CAAC;QAEpC,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,aAAa,GAAG,IAAI,6BAAa,CAAC;YACtC,SAAS,EAAE;gBACT,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,0BAAoB,CAAC,SAAS,CAAC,aAAa;gBAC3D,SAAS,EAAE,0BAAoB,CAAC,SAAS,CAAC,SAAS;aACpD;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,6BAAa,CAAC,eAAe,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;QACtE,MAAM,MAAM,GAAG,IAAI,CAAC,gCAAgC,CAClD,IAAA,0BAAkB,EAAC,0BAAoB,EAAE,MAAM,CAAC,OAAO,CAAC,CACzD,CAAC;QAEF,OAAO,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACpC,MAAM,QAAQ,GAAG,IAAI,uBAAiB,CAAC,aAAa,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;QACpE,MAAM,gBAAgB,GAAG,MAAM,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,IAAA,8BAAkB,EAAC,gBAAgB,CAAC,CAAC;QACvD,OAAO,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;QACzC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;IAC1C,CAAC;CAAA;AAED,IAAI,EAAE;KACH,IAAI,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;KAC3C,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.hardhat-test.d.ts","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/deploy.hardhat-test.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC"}
|
|
@@ -0,0 +1,80 @@
|
|
|
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
|
+
require("@nomiclabs/hardhat-waffle");
|
|
13
|
+
const hardhat_1 = require("hardhat");
|
|
14
|
+
const TestCoreApp_1 = require("../../core/TestCoreApp");
|
|
15
|
+
const TestCoreDeployer_1 = require("../../core/TestCoreDeployer");
|
|
16
|
+
const utils_1 = require("../../deploy/utils");
|
|
17
|
+
const app_1 = require("./app");
|
|
18
|
+
// Tests deploying the basic EnvSubsetApp to a local hardhat-based test env
|
|
19
|
+
describe('deploy app for full test env', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
20
|
+
let multiProvider;
|
|
21
|
+
let config;
|
|
22
|
+
let deployer;
|
|
23
|
+
let contracts;
|
|
24
|
+
let app;
|
|
25
|
+
before(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
26
|
+
const testEnv = yield initTestEnv(app_1.fullEnvTestConfigs);
|
|
27
|
+
multiProvider = testEnv.multiProvider;
|
|
28
|
+
config = testEnv.config;
|
|
29
|
+
deployer = testEnv.deployer;
|
|
30
|
+
}));
|
|
31
|
+
it('deploys', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
32
|
+
contracts = yield deployer.deploy();
|
|
33
|
+
}));
|
|
34
|
+
it('builds app', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
35
|
+
app = new app_1.EnvSubsetApp(contracts, multiProvider);
|
|
36
|
+
}));
|
|
37
|
+
it('checks', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
38
|
+
const checker = new app_1.EnvSubsetChecker(multiProvider, app, config);
|
|
39
|
+
yield checker.check();
|
|
40
|
+
checker.expectEmpty();
|
|
41
|
+
}));
|
|
42
|
+
}));
|
|
43
|
+
// Tests same as above but only a subset of the full test env
|
|
44
|
+
describe('deploy app to test env subset', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
45
|
+
let multiProvider;
|
|
46
|
+
let config;
|
|
47
|
+
let deployer;
|
|
48
|
+
let contracts;
|
|
49
|
+
let app;
|
|
50
|
+
before(() => __awaiter(void 0, void 0, void 0, function* () {
|
|
51
|
+
const testEnv = yield initTestEnv(app_1.subsetTestConfigs);
|
|
52
|
+
multiProvider = testEnv.multiProvider;
|
|
53
|
+
config = testEnv.config;
|
|
54
|
+
deployer = testEnv.deployer;
|
|
55
|
+
}));
|
|
56
|
+
it('deploys', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
57
|
+
contracts = yield deployer.deploy();
|
|
58
|
+
}));
|
|
59
|
+
it('builds app', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
60
|
+
app = new app_1.EnvSubsetApp(contracts, multiProvider);
|
|
61
|
+
}));
|
|
62
|
+
it('checks', () => __awaiter(void 0, void 0, void 0, function* () {
|
|
63
|
+
const checker = new app_1.EnvSubsetChecker(multiProvider, app, config);
|
|
64
|
+
yield checker.check();
|
|
65
|
+
checker.expectEmpty();
|
|
66
|
+
}));
|
|
67
|
+
}));
|
|
68
|
+
function initTestEnv(environmentConfig) {
|
|
69
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
70
|
+
const [signer] = yield hardhat_1.ethers.getSigners();
|
|
71
|
+
const multiProvider = (0, utils_1.getTestMultiProvider)(signer, environmentConfig);
|
|
72
|
+
const coreDeployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
|
|
73
|
+
const coreContractsMaps = yield coreDeployer.deploy();
|
|
74
|
+
const core = new TestCoreApp_1.TestCoreApp(coreContractsMaps, multiProvider);
|
|
75
|
+
const config = core.extendWithConnectionClientConfig((0, utils_1.getChainToOwnerMap)(app_1.fullEnvTestConfigs, signer.address));
|
|
76
|
+
const deployer = new app_1.EnvSubsetDeployer(multiProvider, config, core);
|
|
77
|
+
return { multiProvider, config, deployer };
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
//# sourceMappingURL=deploy.hardhat-test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"deploy.hardhat-test.js","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/deploy.hardhat-test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { Wallet } from 'ethers';
|
|
2
|
+
import { StaticCeloJsonRpcProvider } from '@hyperlane-xyz/celo-ethers-provider';
|
|
3
|
+
export declare const ALFAJORES_FORNO = "https://alfajores-forno.celo-testnet.org";
|
|
4
|
+
export declare const CELO_DERIVATION_PATH = "m/44'/52752'/0'/0/0";
|
|
5
|
+
export declare function getAlfajoresSigner(): Wallet;
|
|
6
|
+
export declare function getAlfajoresProvider(): StaticCeloJsonRpcProvider;
|
|
7
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,yBAAyB,EAAE,MAAM,qCAAqC,CAAC;AAGhF,eAAO,MAAM,eAAe,6CAA6C,CAAC;AAC1E,eAAO,MAAM,oBAAoB,wBAAwB,CAAC;AAE1D,wBAAgB,kBAAkB,WAUjC;AAED,wBAAgB,oBAAoB,8BAGnC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAlfajoresProvider = exports.getAlfajoresSigner = exports.CELO_DERIVATION_PATH = exports.ALFAJORES_FORNO = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const celo_ethers_provider_1 = require("@hyperlane-xyz/celo-ethers-provider");
|
|
6
|
+
const utils_1 = require("@hyperlane-xyz/utils");
|
|
7
|
+
exports.ALFAJORES_FORNO = 'https://alfajores-forno.celo-testnet.org';
|
|
8
|
+
exports.CELO_DERIVATION_PATH = "m/44'/52752'/0'/0/0";
|
|
9
|
+
function getAlfajoresSigner() {
|
|
10
|
+
console.info('Getting signer');
|
|
11
|
+
const provider = getAlfajoresProvider();
|
|
12
|
+
const mnemonic = utils_1.utils.safelyAccessEnvVar('MNEMONIC');
|
|
13
|
+
if (!mnemonic)
|
|
14
|
+
throw new Error('No MNEMONIC provided in env');
|
|
15
|
+
const wallet = ethers_1.Wallet.fromMnemonic(mnemonic, exports.CELO_DERIVATION_PATH).connect(provider);
|
|
16
|
+
console.info('Signer and provider ready');
|
|
17
|
+
return wallet;
|
|
18
|
+
}
|
|
19
|
+
exports.getAlfajoresSigner = getAlfajoresSigner;
|
|
20
|
+
function getAlfajoresProvider() {
|
|
21
|
+
console.info('Getting provider');
|
|
22
|
+
return new celo_ethers_provider_1.StaticCeloJsonRpcProvider(exports.ALFAJORES_FORNO);
|
|
23
|
+
}
|
|
24
|
+
exports.getAlfajoresProvider = getAlfajoresProvider;
|
|
25
|
+
//# sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/test/envSubsetDeployer/utils.ts"],"names":[],"mappings":";;;AAAA,mCAAgC;AAEhC,8EAAgF;AAChF,gDAA6C;AAEhC,QAAA,eAAe,GAAG,0CAA0C,CAAC;AAC7D,QAAA,oBAAoB,GAAG,qBAAqB,CAAC;AAE1D,SAAgB,kBAAkB;IAChC,OAAO,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAC/B,MAAM,QAAQ,GAAG,oBAAoB,EAAE,CAAC;IACxC,MAAM,QAAQ,GAAG,aAAK,CAAC,kBAAkB,CAAC,UAAU,CAAC,CAAC;IACtD,IAAI,CAAC,QAAQ;QAAE,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,eAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,4BAAoB,CAAC,CAAC,OAAO,CACxE,QAAQ,CACT,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,2BAA2B,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC;AAChB,CAAC;AAVD,gDAUC;AAED,SAAgB,oBAAoB;IAClC,OAAO,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;IACjC,OAAO,IAAI,gDAAyB,CAAC,uBAAe,CAAC,CAAC;AACxD,CAAC;AAHD,oDAGC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { ethers } from 'ethers';
|
|
2
|
+
import { CoinGeckoInterface, CoinGeckoResponse, CoinGeckoSimpleInterface, CoinGeckoSimplePriceParams, TokenPriceGetter } from '../gas/token-prices';
|
|
3
|
+
import { ChainName } from '../types';
|
|
4
|
+
export declare class MockProvider extends ethers.providers.BaseProvider {
|
|
5
|
+
private methodResolveValues;
|
|
6
|
+
constructor();
|
|
7
|
+
detectNetwork(): Promise<{
|
|
8
|
+
name: string;
|
|
9
|
+
chainId: number;
|
|
10
|
+
}>;
|
|
11
|
+
perform(method: string, params: any): Promise<any>;
|
|
12
|
+
setMethodResolveValue(method: string, value: any): void;
|
|
13
|
+
clearMethodResolveValues(): void;
|
|
14
|
+
}
|
|
15
|
+
export declare class MockCoinGecko implements CoinGeckoInterface {
|
|
16
|
+
private tokenPrices;
|
|
17
|
+
constructor();
|
|
18
|
+
price(params: CoinGeckoSimplePriceParams): CoinGeckoResponse;
|
|
19
|
+
get simple(): CoinGeckoSimpleInterface;
|
|
20
|
+
setTokenPrice(chain: ChainName, price: number): void;
|
|
21
|
+
}
|
|
22
|
+
export declare class MockTokenPriceGetter implements TokenPriceGetter {
|
|
23
|
+
private tokenPrices;
|
|
24
|
+
constructor();
|
|
25
|
+
getTokenExchangeRate(base: ChainName, quote: ChainName): Promise<number>;
|
|
26
|
+
getTokenPrice(chain: ChainName): Promise<number>;
|
|
27
|
+
setTokenPrice(chain: ChainName, price: number): void;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=testUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.d.ts","sourceRoot":"","sources":["../../src/test/testUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAGhC,OAAO,EACL,kBAAkB,EAClB,iBAAiB,EACjB,wBAAwB,EACxB,0BAA0B,EAC1B,gBAAgB,EACjB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAY,SAAS,EAAE,MAAM,UAAU,CAAC;AAQ/C,qBAAa,YAAa,SAAQ,MAAM,CAAC,SAAS,CAAC,YAAY;IAC7D,OAAO,CAAC,mBAAmB,CAAyB;;IAS9C,aAAa;;;;IAInB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;IASlD,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG;IAIhD,wBAAwB;CAGzB;AAGD,qBAAa,aAAc,YAAW,kBAAkB;IAEtD,OAAO,CAAC,WAAW,CAAyB;;IAM5C,KAAK,CAAC,MAAM,EAAE,0BAA0B,GAAG,iBAAiB;IAe5D,IAAI,MAAM,IAAI,wBAAwB,CAErC;IAED,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;CAI9C;AAGD,qBAAa,oBAAqB,YAAW,gBAAgB;IAC3D,OAAO,CAAC,WAAW,CAAuC;;IAMpD,oBAAoB,CACxB,IAAI,EAAE,SAAS,EACf,KAAK,EAAE,SAAS,GACf,OAAO,CAAC,MAAM,CAAC;IAMlB,aAAa,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,CAAC;IAQhD,aAAa,CAAC,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM;CAG9C"}
|
|
@@ -0,0 +1,98 @@
|
|
|
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.MockTokenPriceGetter = exports.MockCoinGecko = exports.MockProvider = void 0;
|
|
13
|
+
const ethers_1 = require("ethers");
|
|
14
|
+
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
15
|
+
const MOCK_NETWORK = {
|
|
16
|
+
name: 'MockNetwork',
|
|
17
|
+
chainId: 1337,
|
|
18
|
+
};
|
|
19
|
+
// A mock ethers Provider used for testing with mocked provider functionality
|
|
20
|
+
class MockProvider extends ethers_1.ethers.providers.BaseProvider {
|
|
21
|
+
constructor() {
|
|
22
|
+
super(MOCK_NETWORK);
|
|
23
|
+
this.methodResolveValues = {};
|
|
24
|
+
}
|
|
25
|
+
// Required to be implemented or the BaseProvider throws
|
|
26
|
+
detectNetwork() {
|
|
27
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
+
return Promise.resolve(MOCK_NETWORK);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
31
|
+
perform(method, params) {
|
|
32
|
+
const value = this.methodResolveValues[method];
|
|
33
|
+
if (value) {
|
|
34
|
+
return Promise.resolve(value);
|
|
35
|
+
}
|
|
36
|
+
return super.perform(method, params);
|
|
37
|
+
}
|
|
38
|
+
setMethodResolveValue(method, value) {
|
|
39
|
+
this.methodResolveValues[method] = value;
|
|
40
|
+
}
|
|
41
|
+
clearMethodResolveValues() {
|
|
42
|
+
this.methodResolveValues = {};
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
exports.MockProvider = MockProvider;
|
|
46
|
+
// A mock CoinGecko intended to be used by tests
|
|
47
|
+
class MockCoinGecko {
|
|
48
|
+
constructor() {
|
|
49
|
+
this.tokenPrices = {};
|
|
50
|
+
}
|
|
51
|
+
price(params) {
|
|
52
|
+
const data = {};
|
|
53
|
+
for (const id of params.ids) {
|
|
54
|
+
data[id] = {
|
|
55
|
+
usd: this.tokenPrices[id],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
return Promise.resolve({
|
|
59
|
+
success: true,
|
|
60
|
+
message: '',
|
|
61
|
+
code: 200,
|
|
62
|
+
data,
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
get simple() {
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
setTokenPrice(chain, price) {
|
|
69
|
+
const id = chainMetadata_1.chainMetadata[chain].gasCurrencyCoinGeckoId || chain;
|
|
70
|
+
this.tokenPrices[id] = price;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.MockCoinGecko = MockCoinGecko;
|
|
74
|
+
// A mock TokenPriceGetter intended to be used by tests when mocking token prices
|
|
75
|
+
class MockTokenPriceGetter {
|
|
76
|
+
constructor() {
|
|
77
|
+
this.tokenPrices = {};
|
|
78
|
+
}
|
|
79
|
+
getTokenExchangeRate(base, quote) {
|
|
80
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
81
|
+
const basePrice = yield this.getTokenPrice(base);
|
|
82
|
+
const quotePrice = yield this.getTokenPrice(quote);
|
|
83
|
+
return basePrice / quotePrice;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
getTokenPrice(chain) {
|
|
87
|
+
const price = this.tokenPrices[chain];
|
|
88
|
+
if (price) {
|
|
89
|
+
return Promise.resolve(price);
|
|
90
|
+
}
|
|
91
|
+
throw Error(`No price for chain ${chain}`);
|
|
92
|
+
}
|
|
93
|
+
setTokenPrice(chain, price) {
|
|
94
|
+
this.tokenPrices[chain] = price;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
exports.MockTokenPriceGetter = MockTokenPriceGetter;
|
|
98
|
+
//# sourceMappingURL=testUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"testUtils.js","sourceRoot":"","sources":["../../src/test/testUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mCAAgC;AAEhC,2DAAwD;AAUxD,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,aAAa;IACnB,OAAO,EAAE,IAAI;CACd,CAAC;AAEF,6EAA6E;AAC7E,MAAa,YAAa,SAAQ,eAAM,CAAC,SAAS,CAAC,YAAY;IAG7D;QACE,KAAK,CAAC,YAAY,CAAC,CAAC;QAEpB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;IAED,wDAAwD;IAClD,aAAa;;YACjB,OAAO,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;QACvC,CAAC;KAAA;IAED,OAAO,CAAC,MAAc,EAAE,MAAW;QACjC,MAAM,KAAK,GAAG,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC/C,IAAI,KAAK,EAAE;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QAED,OAAO,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACvC,CAAC;IAED,qBAAqB,CAAC,MAAc,EAAE,KAAU;QAC9C,IAAI,CAAC,mBAAmB,CAAC,MAAM,CAAC,GAAG,KAAK,CAAC;IAC3C,CAAC;IAED,wBAAwB;QACtB,IAAI,CAAC,mBAAmB,GAAG,EAAE,CAAC;IAChC,CAAC;CACF;AA9BD,oCA8BC;AAED,gDAAgD;AAChD,MAAa,aAAa;IAIxB;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAED,KAAK,CAAC,MAAkC;QACtC,MAAM,IAAI,GAAQ,EAAE,CAAC;QACrB,KAAK,MAAM,EAAE,IAAI,MAAM,CAAC,GAAG,EAAE;YAC3B,IAAI,CAAC,EAAE,CAAC,GAAG;gBACT,GAAG,EAAE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC;aAC1B,CAAC;SACH;QACD,OAAO,OAAO,CAAC,OAAO,CAAC;YACrB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,EAAE;YACX,IAAI,EAAE,GAAG;YACT,IAAI;SACL,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAAM;QACR,OAAO,IAAI,CAAC;IACd,CAAC;IAED,aAAa,CAAC,KAAgB,EAAE,KAAa;QAC3C,MAAM,EAAE,GAAG,6BAAa,CAAC,KAAK,CAAC,CAAC,sBAAsB,IAAI,KAAK,CAAC;QAChE,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC;IAC/B,CAAC;CACF;AA/BD,sCA+BC;AAED,iFAAiF;AACjF,MAAa,oBAAoB;IAG/B;QACE,IAAI,CAAC,WAAW,GAAG,EAAE,CAAC;IACxB,CAAC;IAEK,oBAAoB,CACxB,IAAe,EACf,KAAgB;;YAEhB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;YACjD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACnD,OAAO,SAAS,GAAG,UAAU,CAAC;QAChC,CAAC;KAAA;IAED,aAAa,CAAC,KAAgB;QAC5B,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACtC,IAAI,KAAK,EAAE;YACT,OAAO,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;SAC/B;QACD,MAAM,KAAK,CAAC,sBAAsB,KAAK,EAAE,CAAC,CAAC;IAC7C,CAAC;IAED,aAAa,CAAC,KAAgB,EAAE,KAAa;QAC3C,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;IAClC,CAAC;CACF;AA3BD,oDA2BC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { ethers } from 'ethers';
|
|
2
|
+
import type { Chains } from './consts/chains';
|
|
3
|
+
export declare type ChainName = keyof typeof Chains;
|
|
4
|
+
export declare type CompleteChainMap<Value> = Record<ChainName, Value>;
|
|
5
|
+
export declare type PartialChainMap<Value> = Partial<CompleteChainMap<Value>>;
|
|
6
|
+
export declare type ChainMap<Chain extends ChainName, Value> = Record<Chain, Value>;
|
|
7
|
+
export declare type TestChainNames = 'test1' | 'test2' | 'test3';
|
|
8
|
+
export declare type NameOrDomain = ChainName | number;
|
|
9
|
+
export declare type Remotes<Chain extends ChainName, LocalChain extends Chain> = Exclude<Chain, LocalChain>;
|
|
10
|
+
export declare type RemoteChainMap<Chain extends ChainName, LocalChain extends Chain, Value> = Record<Remotes<Chain, LocalChain>, Value>;
|
|
11
|
+
export declare type Connection = ethers.providers.Provider | ethers.Signer;
|
|
12
|
+
export interface IChainConnection {
|
|
13
|
+
provider: ethers.providers.Provider;
|
|
14
|
+
signer?: ethers.Signer;
|
|
15
|
+
overrides?: ethers.Overrides;
|
|
16
|
+
confirmations?: number;
|
|
17
|
+
blockExplorerUrl?: string;
|
|
18
|
+
apiPrefix?: string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAG9C,oBAAY,SAAS,GAAG,MAAM,OAAO,MAAM,CAAC;AAE5C,oBAAY,gBAAgB,CAAC,KAAK,IAAI,MAAM,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;AAE/D,oBAAY,eAAe,CAAC,KAAK,IAAI,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,CAAC,CAAC;AAEtE,oBAAY,QAAQ,CAAC,KAAK,SAAS,SAAS,EAAE,KAAK,IAAI,MAAM,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;AAE5E,oBAAY,cAAc,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAEzD,oBAAY,YAAY,GAAG,SAAS,GAAG,MAAM,CAAC;AAE9C,oBAAY,OAAO,CACjB,KAAK,SAAS,SAAS,EACvB,UAAU,SAAS,KAAK,IACtB,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,CAAC;AAE/B,oBAAY,cAAc,CACxB,KAAK,SAAS,SAAS,EACvB,UAAU,SAAS,KAAK,EACxB,KAAK,IACH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE,KAAK,CAAC,CAAC;AAE9C,oBAAY,UAAU,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC;AAEnE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,MAAM,CAAC,SAAS,CAAC;IAC7B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ChainMap, ChainName, Remotes } from '../types';
|
|
2
|
+
export declare class MultiGeneric<Chain extends ChainName, Value> {
|
|
3
|
+
readonly chainMap: ChainMap<Chain, Value>;
|
|
4
|
+
constructor(chainMap: ChainMap<Chain, Value>);
|
|
5
|
+
/**
|
|
6
|
+
* Get value for a chain
|
|
7
|
+
* @throws if chain is invalid or has not been set
|
|
8
|
+
*/
|
|
9
|
+
protected get(chain: Chain): Value;
|
|
10
|
+
/**
|
|
11
|
+
* Get value for a chain
|
|
12
|
+
* @returns value or null if chain value has not been set
|
|
13
|
+
*/
|
|
14
|
+
protected tryGet(chain: Chain): Value | null;
|
|
15
|
+
/**
|
|
16
|
+
* Set value for a chain
|
|
17
|
+
* @throws if chain is invalid or has not been set
|
|
18
|
+
*/
|
|
19
|
+
protected set(chain: Chain, value: Value): Value;
|
|
20
|
+
chains(): Chain[];
|
|
21
|
+
forEach(fn: (n: Chain, dc: Value) => void): void;
|
|
22
|
+
map<Output>(fn: (n: Chain, dc: Value) => Output): Record<Chain, Output>;
|
|
23
|
+
remoteChains<LocalChain extends Chain>(name: LocalChain): Remotes<Chain, LocalChain>[];
|
|
24
|
+
extendWithChain<New extends Remotes<ChainName, Chain>>(chain: New, value: Value): MultiGeneric<New & Chain, Value>;
|
|
25
|
+
knownChain(chain: ChainName): boolean;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=MultiGeneric.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MultiGeneric.d.ts","sourceRoot":"","sources":["../../src/utils/MultiGeneric.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAExD,qBAAa,YAAY,CAAC,KAAK,SAAS,SAAS,EAAE,KAAK;aAC1B,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;gBAAhC,QAAQ,EAAE,QAAQ,CAAC,KAAK,EAAE,KAAK,CAAC;IAE5D;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK;IAWlC;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,KAAK,GAAG,KAAK,GAAG,IAAI;IAO5C;;;OAGG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,KAAK;IAKhD,MAAM,IAAI,KAAK,EAAE;IAIjB,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,KAAK,IAAI,GAAG,IAAI;IAMhD,GAAG,CAAC,MAAM,EAAE,EAAE,EAAE,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,KAAK,KAAK,MAAM,GAAG,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC;IASvE,YAAY,CAAC,UAAU,SAAS,KAAK,EACnC,IAAI,EAAE,UAAU,GACf,OAAO,CAAC,KAAK,EAAE,UAAU,CAAC,EAAE;IAO/B,eAAe,CAAC,GAAG,SAAS,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EACnD,KAAK,EAAE,GAAG,EACV,KAAK,EAAE,KAAK,GACX,YAAY,CAAC,GAAG,GAAG,KAAK,EAAE,KAAK,CAAC;IAOnC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO;CAGtC"}
|