@hyperlane-xyz/sdk 1.1.3 → 1.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (170) hide show
  1. package/README.md +2 -2
  2. package/dist/HyperlaneApp.d.ts +7 -8
  3. package/dist/HyperlaneApp.d.ts.map +1 -1
  4. package/dist/HyperlaneApp.js +1 -4
  5. package/dist/HyperlaneApp.js.map +1 -1
  6. package/dist/consts/chainMetadata.d.ts +54 -25
  7. package/dist/consts/chainMetadata.d.ts.map +1 -1
  8. package/dist/consts/chainMetadata.js +65 -81
  9. package/dist/consts/chainMetadata.js.map +1 -1
  10. package/dist/consts/chains.d.ts +5 -5
  11. package/dist/consts/chains.d.ts.map +1 -1
  12. package/dist/consts/chains.js +5 -1
  13. package/dist/consts/chains.js.map +1 -1
  14. package/dist/consts/environments/index.d.ts +4 -2
  15. package/dist/consts/environments/index.d.ts.map +1 -1
  16. package/dist/consts/environments/mainnet.json +3 -1
  17. package/dist/core/HyperlaneCore.d.ts +10 -385
  18. package/dist/core/HyperlaneCore.d.ts.map +1 -1
  19. package/dist/core/HyperlaneCore.js +6 -11
  20. package/dist/core/HyperlaneCore.js.map +1 -1
  21. package/dist/core/HyperlaneCore.test.js +2 -3
  22. package/dist/core/HyperlaneCore.test.js.map +1 -1
  23. package/dist/core/TestCoreApp.d.ts +5 -5
  24. package/dist/core/TestCoreApp.d.ts.map +1 -1
  25. package/dist/core/TestCoreApp.js +2 -4
  26. package/dist/core/TestCoreApp.js.map +1 -1
  27. package/dist/core/TestCoreDeployer.d.ts +6 -6
  28. package/dist/core/TestCoreDeployer.d.ts.map +1 -1
  29. package/dist/core/TestCoreDeployer.js +1 -1
  30. package/dist/core/TestCoreDeployer.js.map +1 -1
  31. package/dist/core/testHyperlaneDeploy.hardhat-test.js +8 -12
  32. package/dist/core/testHyperlaneDeploy.hardhat-test.js.map +1 -1
  33. package/dist/deploy/HyperlaneAppChecker.d.ts +9 -7
  34. package/dist/deploy/HyperlaneAppChecker.d.ts.map +1 -1
  35. package/dist/deploy/HyperlaneAppChecker.js +32 -9
  36. package/dist/deploy/HyperlaneAppChecker.js.map +1 -1
  37. package/dist/deploy/HyperlaneDeployer.d.ts +15 -15
  38. package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
  39. package/dist/deploy/HyperlaneDeployer.js +28 -35
  40. package/dist/deploy/HyperlaneDeployer.js.map +1 -1
  41. package/dist/deploy/core/HyperlaneCoreChecker.d.ts +9 -7
  42. package/dist/deploy/core/HyperlaneCoreChecker.d.ts.map +1 -1
  43. package/dist/deploy/core/HyperlaneCoreChecker.js +57 -3
  44. package/dist/deploy/core/HyperlaneCoreChecker.js.map +1 -1
  45. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts +11 -11
  46. package/dist/deploy/core/HyperlaneCoreDeployer.d.ts.map +1 -1
  47. package/dist/deploy/core/HyperlaneCoreDeployer.js +12 -20
  48. package/dist/deploy/core/HyperlaneCoreDeployer.js.map +1 -1
  49. package/dist/deploy/core/types.d.ts +9 -1
  50. package/dist/deploy/core/types.d.ts.map +1 -1
  51. package/dist/deploy/core/types.js +1 -0
  52. package/dist/deploy/core/types.js.map +1 -1
  53. package/dist/deploy/middleware/LiquidityLayerApp.d.ts +17 -17
  54. package/dist/deploy/middleware/LiquidityLayerApp.d.ts.map +1 -1
  55. package/dist/deploy/middleware/LiquidityLayerApp.js +18 -23
  56. package/dist/deploy/middleware/LiquidityLayerApp.js.map +1 -1
  57. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts +7 -7
  58. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.d.ts.map +1 -1
  59. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js +6 -9
  60. package/dist/deploy/middleware/LiquidityLayerRouterDeployer.js.map +1 -1
  61. package/dist/deploy/middleware/deploy.d.ts +9 -9
  62. package/dist/deploy/middleware/deploy.d.ts.map +1 -1
  63. package/dist/deploy/middleware/deploy.js.map +1 -1
  64. package/dist/deploy/router/GasRouterDeployer.d.ts +12 -0
  65. package/dist/deploy/router/GasRouterDeployer.d.ts.map +1 -0
  66. package/dist/deploy/router/GasRouterDeployer.js +46 -0
  67. package/dist/deploy/router/GasRouterDeployer.js.map +1 -0
  68. package/dist/deploy/router/HyperlaneRouterChecker.d.ts +6 -6
  69. package/dist/deploy/router/HyperlaneRouterChecker.d.ts.map +1 -1
  70. package/dist/deploy/router/HyperlaneRouterChecker.js +2 -2
  71. package/dist/deploy/router/HyperlaneRouterChecker.js.map +1 -1
  72. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts +7 -7
  73. package/dist/deploy/router/HyperlaneRouterDeployer.d.ts.map +1 -1
  74. package/dist/deploy/router/HyperlaneRouterDeployer.js +19 -22
  75. package/dist/deploy/router/HyperlaneRouterDeployer.js.map +1 -1
  76. package/dist/deploy/router/types.d.ts +5 -0
  77. package/dist/deploy/router/types.d.ts.map +1 -1
  78. package/dist/deploy/types.d.ts +9 -5
  79. package/dist/deploy/types.d.ts.map +1 -1
  80. package/dist/deploy/types.js +1 -0
  81. package/dist/deploy/types.js.map +1 -1
  82. package/dist/deploy/utils.d.ts +2 -6
  83. package/dist/deploy/utils.d.ts.map +1 -1
  84. package/dist/deploy/utils.js +1 -27
  85. package/dist/deploy/utils.js.map +1 -1
  86. package/dist/deploy/verify/ContractVerifier.d.ts +7 -7
  87. package/dist/deploy/verify/ContractVerifier.d.ts.map +1 -1
  88. package/dist/deploy/verify/ContractVerifier.js +2 -5
  89. package/dist/deploy/verify/ContractVerifier.js.map +1 -1
  90. package/dist/events.d.ts +4 -4
  91. package/dist/events.d.ts.map +1 -1
  92. package/dist/events.js +12 -9
  93. package/dist/events.js.map +1 -1
  94. package/dist/gas/calculator.d.ts +20 -20
  95. package/dist/gas/calculator.d.ts.map +1 -1
  96. package/dist/gas/calculator.hardhat-test.js +5 -4
  97. package/dist/gas/calculator.hardhat-test.js.map +1 -1
  98. package/dist/gas/calculator.js +9 -11
  99. package/dist/gas/calculator.js.map +1 -1
  100. package/dist/gas/calculator.test.js +2 -14
  101. package/dist/gas/calculator.test.js.map +1 -1
  102. package/dist/gas/token-prices.d.ts +4 -2
  103. package/dist/gas/token-prices.d.ts.map +1 -1
  104. package/dist/gas/token-prices.js +4 -2
  105. package/dist/gas/token-prices.js.map +1 -1
  106. package/dist/index.d.ts +30 -31
  107. package/dist/index.d.ts.map +1 -1
  108. package/dist/index.js +59 -66
  109. package/dist/index.js.map +1 -1
  110. package/dist/middleware/accounts.hardhat-test.js +23 -13
  111. package/dist/middleware/accounts.hardhat-test.js.map +1 -1
  112. package/dist/middleware/liquidity-layer.hardhat-test.js +10 -9
  113. package/dist/middleware/liquidity-layer.hardhat-test.js.map +1 -1
  114. package/dist/middleware/queries.hardhat-test.js +17 -13
  115. package/dist/middleware/queries.hardhat-test.js.map +1 -1
  116. package/dist/providers/MultiProvider.d.ts +186 -37
  117. package/dist/providers/MultiProvider.d.ts.map +1 -1
  118. package/dist/providers/MultiProvider.js +408 -63
  119. package/dist/providers/MultiProvider.js.map +1 -1
  120. package/dist/router.d.ts +11 -2
  121. package/dist/router.d.ts.map +1 -1
  122. package/dist/router.js +28 -0
  123. package/dist/router.js.map +1 -1
  124. package/dist/test/envSubsetDeployer/app.d.ts +12 -21
  125. package/dist/test/envSubsetDeployer/app.d.ts.map +1 -1
  126. package/dist/test/envSubsetDeployer/app.js +13 -18
  127. package/dist/test/envSubsetDeployer/app.js.map +1 -1
  128. package/dist/test/envSubsetDeployer/check-single-chain.js +1 -11
  129. package/dist/test/envSubsetDeployer/check-single-chain.js.map +1 -1
  130. package/dist/test/envSubsetDeployer/deploy-single-chain.js +3 -9
  131. package/dist/test/envSubsetDeployer/deploy-single-chain.js.map +1 -1
  132. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js +4 -3
  133. package/dist/test/envSubsetDeployer/deploy.hardhat-test.js.map +1 -1
  134. package/dist/test/envSubsetDeployer/utils.d.ts +0 -3
  135. package/dist/test/envSubsetDeployer/utils.d.ts.map +1 -1
  136. package/dist/test/envSubsetDeployer/utils.js +2 -10
  137. package/dist/test/envSubsetDeployer/utils.js.map +1 -1
  138. package/dist/test/testUtils.d.ts +5 -1
  139. package/dist/test/testUtils.d.ts.map +1 -1
  140. package/dist/test/testUtils.js +8 -1
  141. package/dist/test/testUtils.js.map +1 -1
  142. package/dist/types.d.ts +2 -17
  143. package/dist/types.d.ts.map +1 -1
  144. package/dist/utils/MultiGeneric.d.ts +11 -12
  145. package/dist/utils/MultiGeneric.d.ts.map +1 -1
  146. package/dist/utils/MultiGeneric.js +3 -6
  147. package/dist/utils/MultiGeneric.js.map +1 -1
  148. package/dist/utils/wagmi.d.ts +4 -0
  149. package/dist/utils/wagmi.d.ts.map +1 -0
  150. package/dist/utils/wagmi.js +28 -0
  151. package/dist/utils/wagmi.js.map +1 -0
  152. package/logos/black/gnosis.svg +1 -0
  153. package/logos/color/gnosis.svg +1 -0
  154. package/package.json +5 -6
  155. package/dist/consts/chainConnectionConfigs.d.ts +0 -21
  156. package/dist/consts/chainConnectionConfigs.d.ts.map +0 -1
  157. package/dist/consts/chainConnectionConfigs.js +0 -35
  158. package/dist/consts/chainConnectionConfigs.js.map +0 -1
  159. package/dist/core/message.d.ts +0 -146
  160. package/dist/core/message.d.ts.map +0 -1
  161. package/dist/core/message.js +0 -285
  162. package/dist/core/message.js.map +0 -1
  163. package/dist/domains.d.ts +0 -4
  164. package/dist/domains.d.ts.map +0 -1
  165. package/dist/domains.js +0 -12
  166. package/dist/domains.js.map +0 -1
  167. package/dist/providers/ChainConnection.d.ts +0 -23
  168. package/dist/providers/ChainConnection.d.ts.map +0 -1
  169. package/dist/providers/ChainConnection.js +0 -67
  170. package/dist/providers/ChainConnection.js.map +0 -1
@@ -12,17 +12,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const chai_1 = require("chai");
13
13
  const hardhat_1 = require("hardhat");
14
14
  const core_1 = require("@hyperlane-xyz/core");
15
- const chainConnectionConfigs_1 = require("../consts/chainConnectionConfigs");
15
+ const utils_1 = require("@hyperlane-xyz/utils");
16
+ const chainMetadata_1 = require("../consts/chainMetadata");
17
+ const chains_1 = require("../consts/chains");
16
18
  const TestCoreApp_1 = require("../core/TestCoreApp");
17
19
  const TestCoreDeployer_1 = require("../core/TestCoreDeployer");
18
20
  const deploy_1 = require("../deploy/middleware/deploy");
19
- const utils_1 = require("../deploy/utils");
20
- const domains_1 = require("../domains");
21
+ const MultiProvider_1 = require("../providers/MultiProvider");
22
+ const testUtils_1 = require("../test/testUtils");
21
23
  describe('InterchainQueryRouter', () => __awaiter(void 0, void 0, void 0, function* () {
22
- const localChain = 'test1';
23
- const remoteChain = 'test2';
24
- const localDomain = domains_1.ChainNameToDomainId[localChain];
25
- const remoteDomain = domains_1.ChainNameToDomainId[remoteChain];
24
+ const localChain = chains_1.Chains.test1;
25
+ const remoteChain = chains_1.Chains.test2;
26
+ const localDomain = chainMetadata_1.chainMetadata[localChain].chainId;
27
+ const remoteDomain = chainMetadata_1.chainMetadata[remoteChain].chainId;
26
28
  let signer;
27
29
  let local;
28
30
  let remote;
@@ -32,11 +34,11 @@ describe('InterchainQueryRouter', () => __awaiter(void 0, void 0, void 0, functi
32
34
  let testQuery;
33
35
  before(() => __awaiter(void 0, void 0, void 0, function* () {
34
36
  [signer] = yield hardhat_1.ethers.getSigners();
35
- multiProvider = (0, utils_1.getTestMultiProvider)(signer);
37
+ multiProvider = MultiProvider_1.MultiProvider.createTestMultiProvider({ signer });
36
38
  const coreDeployer = new TestCoreDeployer_1.TestCoreDeployer(multiProvider);
37
39
  const coreContractsMaps = yield coreDeployer.deploy();
38
40
  coreApp = new TestCoreApp_1.TestCoreApp(coreContractsMaps, multiProvider);
39
- config = coreApp.extendWithConnectionClientConfig((0, utils_1.getChainToOwnerMap)(chainConnectionConfigs_1.testChainConnectionConfigs, signer.address));
41
+ config = coreApp.extendWithConnectionClientConfig((0, testUtils_1.getTestOwnerConfig)(signer.address));
40
42
  }));
41
43
  beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
42
44
  const InterchainQuery = new deploy_1.InterchainQueryDeployer(multiProvider, config, coreApp);
@@ -47,20 +49,22 @@ describe('InterchainQueryRouter', () => __awaiter(void 0, void 0, void 0, functi
47
49
  }));
48
50
  it('completes query round trip and invokes callback', () => __awaiter(void 0, void 0, void 0, function* () {
49
51
  const secret = 123;
52
+ const sender = testQuery.address;
53
+ const bytes32sender = utils_1.utils.addressToBytes32(sender);
50
54
  const expectedOwner = yield remote.owner();
51
55
  yield (0, chai_1.expect)(testQuery.queryRouterOwner(remoteDomain, secret))
52
56
  .to.emit(local, 'QueryDispatched')
53
- .withArgs(remoteDomain, testQuery.address);
57
+ .withArgs(remoteDomain, sender);
54
58
  const result = yield coreApp.processOutboundMessages(localChain);
55
59
  const response = result.get(remoteChain)[0];
56
60
  yield (0, chai_1.expect)(response)
57
- .to.emit(remote, 'QueryReturned')
58
- .withArgs(localDomain, testQuery.address);
61
+ .to.emit(remote, 'QueryExecuted')
62
+ .withArgs(localDomain, bytes32sender);
59
63
  const result2 = yield coreApp.processOutboundMessages(remoteChain);
60
64
  const response2 = result2.get(localChain)[0];
61
65
  yield (0, chai_1.expect)(response2)
62
66
  .to.emit(local, 'QueryResolved')
63
- .withArgs(remoteDomain, testQuery.address);
67
+ .withArgs(remoteDomain, sender);
64
68
  yield (0, chai_1.expect)(response2)
65
69
  .to.emit(testQuery, 'Owner')
66
70
  .withArgs(secret, expectedOwner);
@@ -1 +1 @@
1
- {"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../src/middleware/queries.hardhat-test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"queries.hardhat-test.js","sourceRoot":"","sources":["../../src/middleware/queries.hardhat-test.ts"],"names":[],"mappings":"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"}
@@ -1,62 +1,211 @@
1
- import { Signer, ethers } from 'ethers';
2
- import { ChainMap, ChainName, IChainConnection, Remotes } from '../types';
3
- import { MultiGeneric } from '../utils/MultiGeneric';
4
- import { ChainConnection } from './ChainConnection';
5
- export declare class MultiProvider<Chain extends ChainName = ChainName> extends MultiGeneric<Chain, ChainConnection> {
6
- constructor(chainConnectionConfigs: ChainMap<Chain, IChainConnection>);
1
+ import { BigNumber, ContractReceipt, ContractTransaction, PopulatedTransaction, Signer, providers } from 'ethers';
2
+ import { types } from '@hyperlane-xyz/utils';
3
+ import { ChainMetadata } from '../consts/chainMetadata';
4
+ import { ChainMap, ChainName } from '../types';
5
+ declare type Provider = providers.Provider;
6
+ interface MultiProviderOptions {
7
+ loggerName?: string;
8
+ }
9
+ export declare class MultiProvider {
10
+ readonly metadata: ChainMap<ChainMetadata>;
11
+ private readonly providers;
12
+ private signers;
13
+ private useSharedSigner;
14
+ private readonly logger;
15
+ /**
16
+ * Create a new MultiProvider with the given chainMetadata,
17
+ * or the SDK's default metadata if not provided
18
+ */
19
+ constructor(chainMetadata?: ChainMap<ChainMetadata>, options?: MultiProviderOptions);
20
+ /**
21
+ * Get the metadata for a given chain name, chain id, or domain id
22
+ * @throws if chain's metadata has not been set
23
+ */
24
+ tryGetChainMetadata(chainNameOrId: ChainName | number): ChainMetadata | null;
25
+ /**
26
+ * Get the metadata for a given chain name, chain id, or domain id
27
+ * @throws if chain's metadata has not been set
28
+ */
29
+ getChainMetadata(chainNameOrId: ChainName | number): ChainMetadata;
30
+ /**
31
+ * Get the name for a given chain name, chain id, or domain id
32
+ */
33
+ tryGetChainName(chainNameOrId: ChainName | number): string | null;
34
+ /**
35
+ * Get the name for a given chain name, chain id, or domain id
36
+ * @throws if chain's metadata has not been set
37
+ */
38
+ getChainName(chainNameOrId: ChainName | number): string;
39
+ /**
40
+ * Get the names for all chains known to this MultiProvider
41
+ */
42
+ getKnownChainNames(): string[];
43
+ /**
44
+ * Get the id for a given chain name, chain id, or domain id
45
+ */
46
+ tryGetChainId(chainNameOrId: ChainName | number): number | null;
7
47
  /**
8
- * Get chainConnection for a chain
9
- * @throws if chain is invalid or has not been set
48
+ * Get the id for a given chain name, chain id, or domain id
49
+ * @throws if chain's metadata has not been set
10
50
  */
11
- getChainConnection(chain: Chain): ChainConnection;
51
+ getChainId(chainNameOrId: ChainName | number): number;
12
52
  /**
13
- * Get chainConnection for a chain
14
- * @returns value or null if chain value has not been set
53
+ * Get the ids for all chains known to this MultiProvider
15
54
  */
16
- tryGetChainConnection(chain: Chain): ChainConnection | null;
55
+ getKnownChainIds(): number[];
17
56
  /**
18
- * Set value for a chain
19
- * @throws if chain is invalid or has not been set
57
+ * Get the domain id for a given chain name, chain id, or domain id
20
58
  */
21
- setChainConnection(chain: Chain, chainConnectionConfig: IChainConnection): ChainConnection;
59
+ tryGetDomainId(chainNameOrId: ChainName | number): number | null;
22
60
  /**
23
- * Get provider for a chain
24
- * @throws if chain is invalid or has not been set
61
+ * Get the domain id for a given chain name, chain id, or domain id
62
+ * @throws if chain's metadata has not been set
25
63
  */
26
- getChainProvider(chain: Chain): ethers.providers.Provider;
64
+ getDomainId(chainNameOrId: ChainName | number): number;
27
65
  /**
28
- * Get provider for a chain
29
- * @returns value or null if chain value has not been set
66
+ * Get the domain ids for a list of chain names, chain ids, or domain ids
67
+ * @throws if any chain's metadata has not been set
30
68
  */
31
- tryGetChainProvider(chain: Chain): ethers.providers.Provider | null;
69
+ getDomainIds(chainNamesOrIds: Array<ChainName | number>): number[];
32
70
  /**
33
- * Get signer for a chain
34
- * @throws if chain is invalid or has not been set
71
+ * Get the ids for all chains known to this MultiProvider
35
72
  */
36
- getChainSigner(chain: Chain): ethers.Signer;
73
+ getKnownDomainIds(): number[];
37
74
  /**
38
- * Get signer for a chain
39
- * @returns value or null if chain value has not been set
75
+ * Get an Ethers provider for a given chain name, chain id, or domain id
40
76
  */
41
- tryGetChainSigner(chain: Chain): ethers.Signer | null;
77
+ tryGetProvider(chainNameOrId: ChainName | number): Provider | null;
42
78
  /**
43
- * Get the id for a given chain name
44
- * Attempts to use SDK defaults first, otherwise queries network
45
- * @throws if chain is invalid or has not been set
79
+ * Get an Ethers provider for a given chain name, chain id, or domain id
80
+ * @throws if chain's metadata has not been set
46
81
  */
47
- getChainId(chain: Chain): number;
82
+ getProvider(chainNameOrId: ChainName | number): Provider;
48
83
  /**
49
- * Create a new MultiProvider which includes the provided chain connection config
84
+ * Sets an Ethers provider for a given chain name, chain id, or domain id
85
+ * @throws if chain's metadata has not been set
50
86
  */
51
- extendWithChain<New extends Remotes<ChainName, Chain>>(chain: New, chainConnectionConfig: IChainConnection): MultiProvider<New & Chain>;
87
+ setProvider(chainNameOrId: ChainName | number, provider: Provider): Provider;
88
+ /**
89
+ * Sets Ethers providers for a set of chains
90
+ * @throws if chain's metadata has not been set
91
+ */
92
+ setProviders(providers: ChainMap<Provider>): void;
93
+ /**
94
+ * Get an Ethers signer for a given chain name, chain id, or domain id
95
+ * If signer is not yet connected, it will be connected
96
+ */
97
+ tryGetSigner(chainNameOrId: ChainName | number): Signer | null;
98
+ /**
99
+ * Get an Ethers signer for a given chain name, chain id, or domain id
100
+ * If signer is not yet connected, it will be connected
101
+ * @throws if chain's metadata or signer has not been set
102
+ */
103
+ getSigner(chainNameOrId: ChainName | number): Signer;
104
+ /**
105
+ * Get an Ethers signer for a given chain name, chain id, or domain id
106
+ * @throws if chain's metadata or signer has not been set
107
+ */
108
+ getSignerAddress(chainNameOrId: ChainName | number): Promise<types.Address>;
109
+ /**
110
+ * Sets an Ethers Signer for a given chain name, chain id, or domain id
111
+ * @throws if chain's metadata has not been set or shared signer has already been set
112
+ */
113
+ setSigner(chainNameOrId: ChainName | number, signer: Signer): Signer;
114
+ /**
115
+ * Sets Ethers Signers for a set of chains
116
+ * @throws if chain's metadata has not been set or shared signer has already been set
117
+ */
118
+ setSigners(signers: ChainMap<Signer>): void;
119
+ /**
120
+ * Gets the Signer if it's been set, otherwise the provider
121
+ */
122
+ tryGetSignerOrProvider(chainNameOrId: ChainName | number): Signer | Provider | null;
123
+ /**
124
+ * Gets the Signer if it's been set, otherwise the provider
125
+ * @throws if chain metadata has not been set
126
+ */
127
+ getSignerOrProvider(chainNameOrId: ChainName | number): Signer | Provider;
128
+ /**
129
+ * Sets Ethers Signers to be used for all chains
130
+ * Any subsequent calls to getSigner will return given signer
131
+ * Setting sharedSigner to null clears all signers
132
+ */
133
+ setSharedSigner(sharedSigner: Signer | null): Signer | null;
52
134
  /**
53
135
  * Create a new MultiProvider from the intersection
54
136
  * of current's chains and the provided chain list
55
137
  */
56
- intersect<IntersectionChain extends Chain>(chains: ChainName[], throwIfNotSubset?: boolean): {
57
- intersection: IntersectionChain[];
58
- multiProvider: MultiProvider<IntersectionChain>;
138
+ intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
139
+ intersection: ChainName[];
140
+ multiProvider: MultiProvider;
59
141
  };
60
- rotateSigner(newSigner: Signer): void;
142
+ /**
143
+ * Get chain names excluding given chain name
144
+ */
145
+ getRemoteChains(name: ChainName): ChainName[];
146
+ /**
147
+ * Get an RPC URL for given chain
148
+ * @throws if chain's metadata has not been set
149
+ */
150
+ getRpcUrl(chainNameOrId: ChainName | number): string;
151
+ /**
152
+ * Get a block explorer URL for given chain
153
+ * @throws if chain's metadata has not been set
154
+ */
155
+ getExplorerUrl(chainNameOrId: ChainName | number): string;
156
+ /**
157
+ * Get a block explorer API URL for given chain
158
+ * @throws if chain's metadata has not been set
159
+ */
160
+ getExplorerApiUrl(chainNameOrId: ChainName | number): string;
161
+ /**
162
+ * Get a block explorer URL for given chain's tx
163
+ * @throws if chain's metadata has not been set
164
+ */
165
+ getExplorerTxUrl(chainNameOrId: ChainName | number, response: {
166
+ hash: string;
167
+ }): string;
168
+ /**
169
+ * Get a block explorer URL for given chain's address
170
+ * @throws if chain's metadata has not been set
171
+ */
172
+ getExplorerAddressUrl(chainNameOrId: ChainName | number, address?: string): Promise<string>;
173
+ /**
174
+ * Get a block explorer URL for given chain's address
175
+ * @throws if chain's metadata has not been set
176
+ */
177
+ getTransactionOverrides(chainNameOrId: ChainName | number): Partial<providers.TransactionRequest>;
178
+ /**
179
+ * Wait for given tx to be confirmed
180
+ * @throws if chain's metadata or signer has not been set or tx fails
181
+ */
182
+ handleTx(chainNameOrId: ChainName | number, tx: ContractTransaction | Promise<ContractTransaction>): Promise<ContractReceipt>;
183
+ /**
184
+ * Populate a transaction's fields using signer address and overrides
185
+ * @throws if chain's metadata has not been set or tx fails
186
+ */
187
+ prepareTx(chainNameOrId: ChainName | number, tx: PopulatedTransaction, from?: string): Promise<providers.TransactionRequest>;
188
+ /**
189
+ * Estimate gas for given tx
190
+ * @throws if chain's metadata has not been set or tx fails
191
+ */
192
+ estimateGas(chainNameOrId: ChainName | number, tx: PopulatedTransaction, from?: string): Promise<BigNumber>;
193
+ /**
194
+ * Send a transaction and wait for confirmation
195
+ * @throws if chain's metadata or signer has not been set or tx fails
196
+ */
197
+ sendTransaction(chainNameOrId: ChainName | number, tx: PopulatedTransaction): Promise<ContractReceipt>;
198
+ /**
199
+ * Run given function on all known chains
200
+ */
201
+ mapKnownChains<Output>(fn: (n: ChainName) => Output): ChainMap<Output>;
202
+ /**
203
+ * Creates a MultiProvider using the given signer for all test networks
204
+ */
205
+ static createTestMultiProvider(params?: {
206
+ signer?: Signer;
207
+ provider?: Provider;
208
+ }): MultiProvider;
61
209
  }
210
+ export {};
62
211
  //# sourceMappingURL=MultiProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAExC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAC1E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAGrD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAEpD,qBAAa,aAAa,CACxB,KAAK,SAAS,SAAS,GAAG,SAAS,CACnC,SAAQ,YAAY,CAAC,KAAK,EAAE,eAAe,CAAC;gBAChC,sBAAsB,EAAE,QAAQ,CAAC,KAAK,EAAE,gBAAgB,CAAC;IASrE;;;OAGG;IACH,kBAAkB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe;IAIjD;;;OAGG;IACH,qBAAqB,CAAC,KAAK,EAAE,KAAK,GAAG,eAAe,GAAG,IAAI;IAI3D;;;OAGG;IACH,kBAAkB,CAChB,KAAK,EAAE,KAAK,EACZ,qBAAqB,EAAE,gBAAgB,GACtC,eAAe;IAKlB;;;OAGG;IACH,gBAAgB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ;IAQzD;;;OAGG;IACH,mBAAmB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,QAAQ,GAAG,IAAI;IAInE;;;OAGG;IACH,cAAc,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM;IAQ3C;;;OAGG;IACH,iBAAiB,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI;IAIrD;;;;OAIG;IACH,UAAU,CAAC,KAAK,EAAE,KAAK,GAAG,MAAM;IAIhC;;OAEG;IACH,eAAe,CAAC,GAAG,SAAS,OAAO,CAAC,SAAS,EAAE,KAAK,CAAC,EACnD,KAAK,EAAE,GAAG,EACV,qBAAqB,EAAE,gBAAgB,GACtC,aAAa,CAAC,GAAG,GAAG,KAAK,CAAC;IAQ7B;;;OAGG;IACH,SAAS,CAAC,iBAAiB,SAAS,KAAK,EACvC,MAAM,EAAE,SAAS,EAAE,EACnB,gBAAgB,UAAQ,GACvB;QACD,YAAY,EAAE,iBAAiB,EAAE,CAAC;QAClC,aAAa,EAAE,aAAa,CAAC,iBAAiB,CAAC,CAAC;KACjD;IAgCD,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;CAatC"}
1
+ {"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}