@hyperlane-xyz/sdk 1.4.3-beta2 → 1.5.1-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/dist/app/MultiProtocolApp.d.ts +21 -9
- package/dist/app/MultiProtocolApp.d.ts.map +1 -1
- package/dist/app/MultiProtocolApp.js +31 -13
- package/dist/app/MultiProtocolApp.js.map +1 -1
- package/dist/app/MultiProtocolApp.test.js +8 -0
- package/dist/app/MultiProtocolApp.test.js.map +1 -1
- package/dist/consts/chainMetadata.d.ts +3 -0
- package/dist/consts/chainMetadata.d.ts.map +1 -1
- package/dist/consts/chainMetadata.js +77 -7
- package/dist/consts/chainMetadata.js.map +1 -1
- package/dist/consts/chains.d.ts +4 -1
- package/dist/consts/chains.d.ts.map +1 -1
- package/dist/consts/chains.js +3 -0
- package/dist/consts/chains.js.map +1 -1
- package/dist/consts/environments/index.d.ts +373 -2
- package/dist/consts/environments/index.d.ts.map +1 -1
- package/dist/consts/environments/index.js +6 -1
- package/dist/consts/environments/index.js.map +1 -1
- package/dist/consts/environments/testnet-sealevel.json +19 -0
- package/dist/consts/sealevel.d.ts +2 -0
- package/dist/consts/sealevel.d.ts.map +1 -0
- package/dist/consts/sealevel.js +5 -0
- package/dist/consts/sealevel.js.map +1 -0
- package/dist/contracts/contracts.d.ts +3 -0
- package/dist/contracts/contracts.d.ts.map +1 -1
- package/dist/contracts/contracts.js +8 -2
- package/dist/contracts/contracts.js.map +1 -1
- package/dist/core/HyperlaneCore.d.ts +3 -12
- package/dist/core/HyperlaneCore.d.ts.map +1 -1
- package/dist/core/HyperlaneCore.js +16 -12
- package/dist/core/HyperlaneCore.js.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.d.ts.map +1 -1
- package/dist/core/HyperlaneCoreDeployer.js +3 -1
- package/dist/core/HyperlaneCoreDeployer.js.map +1 -1
- package/dist/core/MultiProtocolCore.d.ts +19 -0
- package/dist/core/MultiProtocolCore.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.js +45 -0
- package/dist/core/MultiProtocolCore.js.map +1 -0
- package/dist/core/MultiProtocolCore.test.d.ts +2 -0
- package/dist/core/MultiProtocolCore.test.d.ts.map +1 -0
- package/dist/core/MultiProtocolCore.test.js +35 -0
- package/dist/core/MultiProtocolCore.test.js.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts +25 -0
- package/dist/core/adapters/EvmCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/EvmCoreAdapter.js +38 -0
- package/dist/core/adapters/EvmCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts +33 -0
- package/dist/core/adapters/SealevelCoreAdapter.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.js +93 -0
- package/dist/core/adapters/SealevelCoreAdapter.js.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts +2 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.d.ts.map +1 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js +18 -0
- package/dist/core/adapters/SealevelCoreAdapter.test.js.map +1 -0
- package/dist/core/adapters/types.d.ts +12 -0
- package/dist/core/adapters/types.d.ts.map +1 -0
- package/dist/core/adapters/types.js +3 -0
- package/dist/core/adapters/types.js.map +1 -0
- package/dist/core/contracts.d.ts +7 -0
- package/dist/core/contracts.d.ts.map +1 -1
- package/dist/core/contracts.js.map +1 -1
- package/dist/core/types.d.ts +10 -5
- package/dist/core/types.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.d.ts.map +1 -1
- package/dist/deploy/HyperlaneDeployer.js +4 -2
- package/dist/deploy/HyperlaneDeployer.js.map +1 -1
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts +20 -0
- package/dist/gas/adapters/SealevelIgpAdapter.d.ts.map +1 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js +35 -0
- package/dist/gas/adapters/SealevelIgpAdapter.js.map +1 -0
- package/dist/gas/adapters/serialization.d.ts +38 -0
- package/dist/gas/adapters/serialization.d.ts.map +1 -0
- package/dist/gas/adapters/serialization.js +70 -0
- package/dist/gas/adapters/serialization.js.map +1 -0
- package/dist/index.d.ts +23 -11
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +49 -14
- package/dist/index.js.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.d.ts.map +1 -1
- package/dist/ism/HyperlaneIsmFactory.js +12 -1
- package/dist/ism/HyperlaneIsmFactory.js.map +1 -1
- package/dist/ism/types.d.ts +3 -3
- package/dist/ism/types.d.ts.map +1 -1
- package/dist/ism/types.js.map +1 -1
- package/dist/metadata/ChainMetadataManager.d.ts +18 -1
- package/dist/metadata/ChainMetadataManager.d.ts.map +1 -1
- package/dist/metadata/ChainMetadataManager.js +66 -7
- package/dist/metadata/ChainMetadataManager.js.map +1 -1
- package/dist/metadata/agentConfig.d.ts +4192 -54
- package/dist/metadata/agentConfig.d.ts.map +1 -1
- package/dist/metadata/agentConfig.js +197 -22
- package/dist/metadata/agentConfig.js.map +1 -1
- package/dist/metadata/chainMetadataTypes.d.ts +58 -2
- package/dist/metadata/chainMetadataTypes.d.ts.map +1 -1
- package/dist/metadata/chainMetadataTypes.js +39 -62
- package/dist/metadata/chainMetadataTypes.js.map +1 -1
- package/dist/metadata/customZodTypes.d.ts +14 -0
- package/dist/metadata/customZodTypes.d.ts.map +1 -0
- package/dist/metadata/customZodTypes.js +19 -0
- package/dist/metadata/customZodTypes.js.map +1 -0
- package/dist/metadata/deploymentArtifacts.d.ts +0 -230
- package/dist/metadata/deploymentArtifacts.d.ts.map +1 -1
- package/dist/metadata/deploymentArtifacts.js +6 -14
- package/dist/metadata/deploymentArtifacts.js.map +1 -1
- package/dist/metadata/matchingList.d.ts +41 -0
- package/dist/metadata/matchingList.d.ts.map +1 -0
- package/dist/metadata/matchingList.js +27 -0
- package/dist/metadata/matchingList.js.map +1 -0
- package/dist/providers/MultiProtocolProvider.d.ts +12 -4
- package/dist/providers/MultiProtocolProvider.d.ts.map +1 -1
- package/dist/providers/MultiProtocolProvider.js +35 -7
- package/dist/providers/MultiProtocolProvider.js.map +1 -1
- package/dist/providers/MultiProvider.d.ts +3 -6
- package/dist/providers/MultiProvider.d.ts.map +1 -1
- package/dist/providers/MultiProvider.js +15 -39
- package/dist/providers/MultiProvider.js.map +1 -1
- package/dist/providers/ProviderType.d.ts +22 -2
- package/dist/providers/ProviderType.d.ts.map +1 -1
- package/dist/providers/ProviderType.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.d.ts +4 -12
- package/dist/router/MultiProtocolRouterApps.d.ts.map +1 -1
- package/dist/router/MultiProtocolRouterApps.js +20 -16
- package/dist/router/MultiProtocolRouterApps.js.map +1 -1
- package/dist/router/MultiProtocolRouterApps.test.js.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.d.ts +18 -13
- package/dist/router/adapters/EvmRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/EvmRouterAdapter.js +21 -23
- package/dist/router/adapters/EvmRouterAdapter.js.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.d.ts +23 -38
- package/dist/router/adapters/SealevelRouterAdapter.d.ts.map +1 -1
- package/dist/router/adapters/SealevelRouterAdapter.js +22 -96
- package/dist/router/adapters/SealevelRouterAdapter.js.map +1 -1
- package/dist/router/adapters/types.d.ts +8 -9
- package/dist/router/adapters/types.d.ts.map +1 -1
- package/dist/utils/sealevelSerialization.d.ts +17 -0
- package/dist/utils/sealevelSerialization.d.ts.map +1 -0
- package/dist/utils/sealevelSerialization.js +29 -0
- package/dist/utils/sealevelSerialization.js.map +1 -0
- package/package.json +6 -6
- package/dist/consts/agentStartBlocks.d.ts +0 -3
- package/dist/consts/agentStartBlocks.d.ts.map +0 -1
- package/dist/consts/agentStartBlocks.js +0 -28
- package/dist/consts/agentStartBlocks.js.map +0 -1
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts +0 -2
- package/dist/router/adapters/SealevelRouterAdapter.test.d.ts.map +0 -1
- package/dist/router/adapters/SealevelRouterAdapter.test.js +0 -21
- package/dist/router/adapters/SealevelRouterAdapter.test.js.map +0 -1
|
@@ -16,234 +16,4 @@ export declare const HyperlaneDeploymentArtifactsSchema: z.ZodObject<{
|
|
|
16
16
|
interchainSecurityModule?: string | undefined;
|
|
17
17
|
}>;
|
|
18
18
|
export type HyperlaneDeploymentArtifacts = z.infer<typeof HyperlaneDeploymentArtifactsSchema>;
|
|
19
|
-
export declare const ChainMetadataWithArtifactsSchema: z.ZodObject<{
|
|
20
|
-
name: z.ZodString;
|
|
21
|
-
chainId: z.ZodNumber;
|
|
22
|
-
protocol: z.ZodNativeEnum<typeof import("@hyperlane-xyz/utils").ProtocolType>;
|
|
23
|
-
domainId: z.ZodOptional<z.ZodNumber>;
|
|
24
|
-
displayName: z.ZodOptional<z.ZodString>;
|
|
25
|
-
displayNameShort: z.ZodOptional<z.ZodString>;
|
|
26
|
-
logoURI: z.ZodOptional<z.ZodString>;
|
|
27
|
-
nativeToken: z.ZodOptional<z.ZodObject<{
|
|
28
|
-
name: z.ZodString;
|
|
29
|
-
symbol: z.ZodString;
|
|
30
|
-
decimals: z.ZodNumber;
|
|
31
|
-
}, "strip", z.ZodTypeAny, {
|
|
32
|
-
symbol: string;
|
|
33
|
-
name: string;
|
|
34
|
-
decimals: number;
|
|
35
|
-
}, {
|
|
36
|
-
symbol: string;
|
|
37
|
-
name: string;
|
|
38
|
-
decimals: number;
|
|
39
|
-
}>>;
|
|
40
|
-
rpcUrls: z.ZodArray<z.ZodObject<{
|
|
41
|
-
http: z.ZodString;
|
|
42
|
-
webSocket: z.ZodOptional<z.ZodString>;
|
|
43
|
-
pagination: z.ZodOptional<z.ZodObject<{
|
|
44
|
-
maxBlockRange: z.ZodOptional<z.ZodNumber>;
|
|
45
|
-
minBlockNumber: z.ZodOptional<z.ZodNumber>;
|
|
46
|
-
maxBlockAge: z.ZodOptional<z.ZodNumber>;
|
|
47
|
-
}, "strip", z.ZodTypeAny, {
|
|
48
|
-
maxBlockRange?: number | undefined;
|
|
49
|
-
minBlockNumber?: number | undefined;
|
|
50
|
-
maxBlockAge?: number | undefined;
|
|
51
|
-
}, {
|
|
52
|
-
maxBlockRange?: number | undefined;
|
|
53
|
-
minBlockNumber?: number | undefined;
|
|
54
|
-
maxBlockAge?: number | undefined;
|
|
55
|
-
}>>;
|
|
56
|
-
retry: z.ZodOptional<z.ZodObject<{
|
|
57
|
-
maxRequests: z.ZodNumber;
|
|
58
|
-
baseRetryMs: z.ZodNumber;
|
|
59
|
-
}, "strip", z.ZodTypeAny, {
|
|
60
|
-
maxRequests: number;
|
|
61
|
-
baseRetryMs: number;
|
|
62
|
-
}, {
|
|
63
|
-
maxRequests: number;
|
|
64
|
-
baseRetryMs: number;
|
|
65
|
-
}>>;
|
|
66
|
-
}, "strip", z.ZodTypeAny, {
|
|
67
|
-
http: string;
|
|
68
|
-
webSocket?: string | undefined;
|
|
69
|
-
pagination?: {
|
|
70
|
-
maxBlockRange?: number | undefined;
|
|
71
|
-
minBlockNumber?: number | undefined;
|
|
72
|
-
maxBlockAge?: number | undefined;
|
|
73
|
-
} | undefined;
|
|
74
|
-
retry?: {
|
|
75
|
-
maxRequests: number;
|
|
76
|
-
baseRetryMs: number;
|
|
77
|
-
} | undefined;
|
|
78
|
-
}, {
|
|
79
|
-
http: string;
|
|
80
|
-
webSocket?: string | undefined;
|
|
81
|
-
pagination?: {
|
|
82
|
-
maxBlockRange?: number | undefined;
|
|
83
|
-
minBlockNumber?: number | undefined;
|
|
84
|
-
maxBlockAge?: number | undefined;
|
|
85
|
-
} | undefined;
|
|
86
|
-
retry?: {
|
|
87
|
-
maxRequests: number;
|
|
88
|
-
baseRetryMs: number;
|
|
89
|
-
} | undefined;
|
|
90
|
-
}>, "atleastone">;
|
|
91
|
-
blockExplorers: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
92
|
-
name: z.ZodString;
|
|
93
|
-
url: z.ZodString;
|
|
94
|
-
apiUrl: z.ZodString;
|
|
95
|
-
apiKey: z.ZodOptional<z.ZodString>;
|
|
96
|
-
family: z.ZodOptional<z.ZodNativeEnum<typeof import("./chainMetadataTypes").ExplorerFamily>>;
|
|
97
|
-
}, "strip", z.ZodTypeAny, {
|
|
98
|
-
url: string;
|
|
99
|
-
name: string;
|
|
100
|
-
apiUrl: string;
|
|
101
|
-
apiKey?: string | undefined;
|
|
102
|
-
family?: import("./chainMetadataTypes").ExplorerFamily | undefined;
|
|
103
|
-
}, {
|
|
104
|
-
url: string;
|
|
105
|
-
name: string;
|
|
106
|
-
apiUrl: string;
|
|
107
|
-
apiKey?: string | undefined;
|
|
108
|
-
family?: import("./chainMetadataTypes").ExplorerFamily | undefined;
|
|
109
|
-
}>, "many">>;
|
|
110
|
-
blocks: z.ZodOptional<z.ZodObject<{
|
|
111
|
-
confirmations: z.ZodNumber;
|
|
112
|
-
reorgPeriod: z.ZodOptional<z.ZodNumber>;
|
|
113
|
-
estimateBlockTime: z.ZodOptional<z.ZodNumber>;
|
|
114
|
-
}, "strip", z.ZodTypeAny, {
|
|
115
|
-
confirmations: number;
|
|
116
|
-
reorgPeriod?: number | undefined;
|
|
117
|
-
estimateBlockTime?: number | undefined;
|
|
118
|
-
}, {
|
|
119
|
-
confirmations: number;
|
|
120
|
-
reorgPeriod?: number | undefined;
|
|
121
|
-
estimateBlockTime?: number | undefined;
|
|
122
|
-
}>>;
|
|
123
|
-
transactionOverrides: z.ZodOptional<z.ZodObject<{}, "strip", z.ZodTypeAny, {}, {}>>;
|
|
124
|
-
gasCurrencyCoinGeckoId: z.ZodOptional<z.ZodString>;
|
|
125
|
-
gnosisSafeTransactionServiceUrl: z.ZodOptional<z.ZodString>;
|
|
126
|
-
isTestnet: z.ZodOptional<z.ZodBoolean>;
|
|
127
|
-
mailbox: z.ZodString;
|
|
128
|
-
interchainGasPaymaster: z.ZodString;
|
|
129
|
-
validatorAnnounce: z.ZodString;
|
|
130
|
-
interchainSecurityModule: z.ZodOptional<z.ZodString>;
|
|
131
|
-
}, "strip", z.ZodTypeAny, {
|
|
132
|
-
name: string;
|
|
133
|
-
chainId: number;
|
|
134
|
-
protocol: import("@hyperlane-xyz/utils").ProtocolType;
|
|
135
|
-
interchainGasPaymaster: string;
|
|
136
|
-
mailbox: string;
|
|
137
|
-
rpcUrls: [{
|
|
138
|
-
http: string;
|
|
139
|
-
webSocket?: string | undefined;
|
|
140
|
-
pagination?: {
|
|
141
|
-
maxBlockRange?: number | undefined;
|
|
142
|
-
minBlockNumber?: number | undefined;
|
|
143
|
-
maxBlockAge?: number | undefined;
|
|
144
|
-
} | undefined;
|
|
145
|
-
retry?: {
|
|
146
|
-
maxRequests: number;
|
|
147
|
-
baseRetryMs: number;
|
|
148
|
-
} | undefined;
|
|
149
|
-
}, ...{
|
|
150
|
-
http: string;
|
|
151
|
-
webSocket?: string | undefined;
|
|
152
|
-
pagination?: {
|
|
153
|
-
maxBlockRange?: number | undefined;
|
|
154
|
-
minBlockNumber?: number | undefined;
|
|
155
|
-
maxBlockAge?: number | undefined;
|
|
156
|
-
} | undefined;
|
|
157
|
-
retry?: {
|
|
158
|
-
maxRequests: number;
|
|
159
|
-
baseRetryMs: number;
|
|
160
|
-
} | undefined;
|
|
161
|
-
}[]];
|
|
162
|
-
validatorAnnounce: string;
|
|
163
|
-
domainId?: number | undefined;
|
|
164
|
-
displayName?: string | undefined;
|
|
165
|
-
displayNameShort?: string | undefined;
|
|
166
|
-
logoURI?: string | undefined;
|
|
167
|
-
nativeToken?: {
|
|
168
|
-
symbol: string;
|
|
169
|
-
name: string;
|
|
170
|
-
decimals: number;
|
|
171
|
-
} | undefined;
|
|
172
|
-
blockExplorers?: {
|
|
173
|
-
url: string;
|
|
174
|
-
name: string;
|
|
175
|
-
apiUrl: string;
|
|
176
|
-
apiKey?: string | undefined;
|
|
177
|
-
family?: import("./chainMetadataTypes").ExplorerFamily | undefined;
|
|
178
|
-
}[] | undefined;
|
|
179
|
-
blocks?: {
|
|
180
|
-
confirmations: number;
|
|
181
|
-
reorgPeriod?: number | undefined;
|
|
182
|
-
estimateBlockTime?: number | undefined;
|
|
183
|
-
} | undefined;
|
|
184
|
-
transactionOverrides?: {} | undefined;
|
|
185
|
-
gasCurrencyCoinGeckoId?: string | undefined;
|
|
186
|
-
gnosisSafeTransactionServiceUrl?: string | undefined;
|
|
187
|
-
isTestnet?: boolean | undefined;
|
|
188
|
-
interchainSecurityModule?: string | undefined;
|
|
189
|
-
}, {
|
|
190
|
-
name: string;
|
|
191
|
-
chainId: number;
|
|
192
|
-
protocol: import("@hyperlane-xyz/utils").ProtocolType;
|
|
193
|
-
interchainGasPaymaster: string;
|
|
194
|
-
mailbox: string;
|
|
195
|
-
rpcUrls: [{
|
|
196
|
-
http: string;
|
|
197
|
-
webSocket?: string | undefined;
|
|
198
|
-
pagination?: {
|
|
199
|
-
maxBlockRange?: number | undefined;
|
|
200
|
-
minBlockNumber?: number | undefined;
|
|
201
|
-
maxBlockAge?: number | undefined;
|
|
202
|
-
} | undefined;
|
|
203
|
-
retry?: {
|
|
204
|
-
maxRequests: number;
|
|
205
|
-
baseRetryMs: number;
|
|
206
|
-
} | undefined;
|
|
207
|
-
}, ...{
|
|
208
|
-
http: string;
|
|
209
|
-
webSocket?: string | undefined;
|
|
210
|
-
pagination?: {
|
|
211
|
-
maxBlockRange?: number | undefined;
|
|
212
|
-
minBlockNumber?: number | undefined;
|
|
213
|
-
maxBlockAge?: number | undefined;
|
|
214
|
-
} | undefined;
|
|
215
|
-
retry?: {
|
|
216
|
-
maxRequests: number;
|
|
217
|
-
baseRetryMs: number;
|
|
218
|
-
} | undefined;
|
|
219
|
-
}[]];
|
|
220
|
-
validatorAnnounce: string;
|
|
221
|
-
domainId?: number | undefined;
|
|
222
|
-
displayName?: string | undefined;
|
|
223
|
-
displayNameShort?: string | undefined;
|
|
224
|
-
logoURI?: string | undefined;
|
|
225
|
-
nativeToken?: {
|
|
226
|
-
symbol: string;
|
|
227
|
-
name: string;
|
|
228
|
-
decimals: number;
|
|
229
|
-
} | undefined;
|
|
230
|
-
blockExplorers?: {
|
|
231
|
-
url: string;
|
|
232
|
-
name: string;
|
|
233
|
-
apiUrl: string;
|
|
234
|
-
apiKey?: string | undefined;
|
|
235
|
-
family?: import("./chainMetadataTypes").ExplorerFamily | undefined;
|
|
236
|
-
}[] | undefined;
|
|
237
|
-
blocks?: {
|
|
238
|
-
confirmations: number;
|
|
239
|
-
reorgPeriod?: number | undefined;
|
|
240
|
-
estimateBlockTime?: number | undefined;
|
|
241
|
-
} | undefined;
|
|
242
|
-
transactionOverrides?: {} | undefined;
|
|
243
|
-
gasCurrencyCoinGeckoId?: string | undefined;
|
|
244
|
-
gnosisSafeTransactionServiceUrl?: string | undefined;
|
|
245
|
-
isTestnet?: boolean | undefined;
|
|
246
|
-
interchainSecurityModule?: string | undefined;
|
|
247
|
-
}>;
|
|
248
|
-
export type ChainMetadataWithArtifacts<Ext = object> = z.infer<typeof ChainMetadataWithArtifactsSchema> & Ext;
|
|
249
19
|
//# sourceMappingURL=deploymentArtifacts.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploymentArtifacts.d.ts","sourceRoot":"","sources":["../../src/metadata/deploymentArtifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"deploymentArtifacts.d.ts","sourceRoot":"","sources":["../../src/metadata/deploymentArtifacts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,eAAO,MAAM,kCAAkC;;;;;;;;;;;;;;;EAW7C,CAAC;AAEH,MAAM,MAAM,4BAA4B,GAAG,CAAC,CAAC,KAAK,CAChD,OAAO,kCAAkC,CAC1C,CAAC"}
|
|
@@ -1,20 +1,12 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
3
|
+
exports.HyperlaneDeploymentArtifactsSchema = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const
|
|
5
|
+
const customZodTypes_1 = require("./customZodTypes");
|
|
6
6
|
exports.HyperlaneDeploymentArtifactsSchema = zod_1.z.object({
|
|
7
|
-
mailbox:
|
|
8
|
-
interchainGasPaymaster:
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
validatorAnnounce: zod_1.z
|
|
12
|
-
.string()
|
|
13
|
-
.describe('The address of the Validator Announce contract.'),
|
|
14
|
-
interchainSecurityModule: zod_1.z
|
|
15
|
-
.string()
|
|
16
|
-
.optional()
|
|
17
|
-
.describe('The address of the Interchain Security Module (ISM) contract.'),
|
|
7
|
+
mailbox: customZodTypes_1.ZHash.describe('The address of the Mailbox contract.'),
|
|
8
|
+
interchainGasPaymaster: customZodTypes_1.ZHash.describe('The address of the Interchain Gas Paymaster (IGP) contract.'),
|
|
9
|
+
validatorAnnounce: customZodTypes_1.ZHash.describe('The address of the Validator Announce contract.'),
|
|
10
|
+
interchainSecurityModule: customZodTypes_1.ZHash.optional().describe('The address of the Interchain Security Module (ISM) contract.'),
|
|
18
11
|
});
|
|
19
|
-
exports.ChainMetadataWithArtifactsSchema = chainMetadataTypes_1.ChainMetadataSchema.merge(exports.HyperlaneDeploymentArtifactsSchema);
|
|
20
12
|
//# sourceMappingURL=deploymentArtifacts.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deploymentArtifacts.js","sourceRoot":"","sources":["../../src/metadata/deploymentArtifacts.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,
|
|
1
|
+
{"version":3,"file":"deploymentArtifacts.js","sourceRoot":"","sources":["../../src/metadata/deploymentArtifacts.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AAExB,qDAAyC;AAE5B,QAAA,kCAAkC,GAAG,OAAC,CAAC,MAAM,CAAC;IACzD,OAAO,EAAE,sBAAK,CAAC,QAAQ,CAAC,sCAAsC,CAAC;IAC/D,sBAAsB,EAAE,sBAAK,CAAC,QAAQ,CACpC,6DAA6D,CAC9D;IACD,iBAAiB,EAAE,sBAAK,CAAC,QAAQ,CAC/B,iDAAiD,CAClD;IACD,wBAAwB,EAAE,sBAAK,CAAC,QAAQ,EAAE,CAAC,QAAQ,CACjD,+DAA+D,CAChE;CACF,CAAC,CAAC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The types defined here are the source of truth for chain metadata.
|
|
3
|
+
* ANY CHANGES HERE NEED TO BE REFLECTED IN HYPERLANE-BASE CONFIG PARSING.
|
|
4
|
+
*/
|
|
5
|
+
import { z } from 'zod';
|
|
6
|
+
declare const MatchingListElementSchema: z.ZodObject<{
|
|
7
|
+
originDomain: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodNumber, z.ZodArray<z.ZodNumber, "atleastone">]>>;
|
|
8
|
+
senderAddress: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString, z.ZodArray<z.ZodString, "atleastone">]>>;
|
|
9
|
+
destinationDomain: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodNumber, z.ZodArray<z.ZodNumber, "atleastone">]>>;
|
|
10
|
+
recipientAddress: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString, z.ZodArray<z.ZodString, "atleastone">]>>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
originDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
13
|
+
senderAddress?: string | [string, ...string[]] | undefined;
|
|
14
|
+
destinationDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
15
|
+
recipientAddress?: string | [string, ...string[]] | undefined;
|
|
16
|
+
}, {
|
|
17
|
+
originDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
18
|
+
senderAddress?: string | [string, ...string[]] | undefined;
|
|
19
|
+
destinationDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
20
|
+
recipientAddress?: string | [string, ...string[]] | undefined;
|
|
21
|
+
}>;
|
|
22
|
+
export declare const MatchingListSchema: z.ZodArray<z.ZodObject<{
|
|
23
|
+
originDomain: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodNumber, z.ZodArray<z.ZodNumber, "atleastone">]>>;
|
|
24
|
+
senderAddress: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString, z.ZodArray<z.ZodString, "atleastone">]>>;
|
|
25
|
+
destinationDomain: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodNumber, z.ZodArray<z.ZodNumber, "atleastone">]>>;
|
|
26
|
+
recipientAddress: z.ZodOptional<z.ZodUnion<[z.ZodLiteral<"*">, z.ZodString, z.ZodArray<z.ZodString, "atleastone">]>>;
|
|
27
|
+
}, "strip", z.ZodTypeAny, {
|
|
28
|
+
originDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
29
|
+
senderAddress?: string | [string, ...string[]] | undefined;
|
|
30
|
+
destinationDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
31
|
+
recipientAddress?: string | [string, ...string[]] | undefined;
|
|
32
|
+
}, {
|
|
33
|
+
originDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
34
|
+
senderAddress?: string | [string, ...string[]] | undefined;
|
|
35
|
+
destinationDomain?: number | "*" | [number, ...number[]] | undefined;
|
|
36
|
+
recipientAddress?: string | [string, ...string[]] | undefined;
|
|
37
|
+
}>, "atleastone">;
|
|
38
|
+
export type MatchingListElement = z.infer<typeof MatchingListElementSchema>;
|
|
39
|
+
export type MatchingList = z.infer<typeof MatchingListSchema>;
|
|
40
|
+
export {};
|
|
41
|
+
//# sourceMappingURL=matchingList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchingList.d.ts","sourceRoot":"","sources":["../../src/metadata/matchingList.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAgBxB,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;EAK7B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;iBAAgD,CAAC;AAEhF,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAC5E,MAAM,MAAM,YAAY,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MatchingListSchema = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* The types defined here are the source of truth for chain metadata.
|
|
6
|
+
* ANY CHANGES HERE NEED TO BE REFLECTED IN HYPERLANE-BASE CONFIG PARSING.
|
|
7
|
+
*/
|
|
8
|
+
const zod_1 = require("zod");
|
|
9
|
+
const customZodTypes_1 = require("./customZodTypes");
|
|
10
|
+
const DomainSchema = zod_1.z.union([
|
|
11
|
+
zod_1.z.literal('*'),
|
|
12
|
+
customZodTypes_1.ZNzUint,
|
|
13
|
+
zod_1.z.array(customZodTypes_1.ZNzUint).nonempty(),
|
|
14
|
+
]);
|
|
15
|
+
const AddressSchema = zod_1.z.union([
|
|
16
|
+
zod_1.z.literal('*'),
|
|
17
|
+
customZodTypes_1.ZHash,
|
|
18
|
+
zod_1.z.array(customZodTypes_1.ZHash).nonempty(),
|
|
19
|
+
]);
|
|
20
|
+
const MatchingListElementSchema = zod_1.z.object({
|
|
21
|
+
originDomain: DomainSchema.optional(),
|
|
22
|
+
senderAddress: AddressSchema.optional(),
|
|
23
|
+
destinationDomain: DomainSchema.optional(),
|
|
24
|
+
recipientAddress: AddressSchema.optional(),
|
|
25
|
+
});
|
|
26
|
+
exports.MatchingListSchema = zod_1.z.array(MatchingListElementSchema).nonempty();
|
|
27
|
+
//# sourceMappingURL=matchingList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"matchingList.js","sourceRoot":"","sources":["../../src/metadata/matchingList.ts"],"names":[],"mappings":";;;AAAA;;;GAGG;AACH,6BAAwB;AAExB,qDAAkD;AAElD,MAAM,YAAY,GAAG,OAAC,CAAC,KAAK,CAAC;IAC3B,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACd,wBAAO;IACP,OAAC,CAAC,KAAK,CAAC,wBAAO,CAAC,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAEH,MAAM,aAAa,GAAG,OAAC,CAAC,KAAK,CAAC;IAC5B,OAAC,CAAC,OAAO,CAAC,GAAG,CAAC;IACd,sBAAK;IACL,OAAC,CAAC,KAAK,CAAC,sBAAK,CAAC,CAAC,QAAQ,EAAE;CAC1B,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,YAAY,EAAE,YAAY,CAAC,QAAQ,EAAE;IACrC,aAAa,EAAE,aAAa,CAAC,QAAQ,EAAE;IACvC,iBAAiB,EAAE,YAAY,CAAC,QAAQ,EAAE;IAC1C,gBAAgB,EAAE,aAAa,CAAC,QAAQ,EAAE;CAC3C,CAAC,CAAC;AAEU,QAAA,kBAAkB,GAAG,OAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,QAAQ,EAAE,CAAC"}
|
|
@@ -1,12 +1,15 @@
|
|
|
1
1
|
import { Debugger } from 'debug';
|
|
2
|
+
import { ProtocolType } from '@hyperlane-xyz/utils';
|
|
2
3
|
import { ChainMetadataManager } from '../metadata/ChainMetadataManager';
|
|
3
4
|
import type { ChainMetadata } from '../metadata/chainMetadataTypes';
|
|
4
5
|
import type { ChainMap, ChainName } from '../types';
|
|
5
|
-
import
|
|
6
|
+
import { MultiProvider, MultiProviderOptions } from './MultiProvider';
|
|
6
7
|
import { EthersV5Provider, ProviderMap, ProviderType, SolanaWeb3Provider, TypedProvider, ViemProvider } from './ProviderType';
|
|
7
8
|
import { ProviderBuilderMap } from './providerBuilders';
|
|
9
|
+
export declare const PROTOCOL_DEFAULT_PROVIDER_TYPE: Partial<Record<ProtocolType, ProviderType>>;
|
|
8
10
|
export interface MultiProtocolProviderOptions {
|
|
9
11
|
loggerName?: string;
|
|
12
|
+
providers?: ChainMap<ProviderMap<TypedProvider>>;
|
|
10
13
|
providerBuilders?: Partial<ProviderBuilderMap>;
|
|
11
14
|
}
|
|
12
15
|
/**
|
|
@@ -23,17 +26,22 @@ export declare class MultiProtocolProvider<MetaExt = {}> extends ChainMetadataMa
|
|
|
23
26
|
protected readonly options: MultiProtocolProviderOptions;
|
|
24
27
|
protected readonly providers: ChainMap<ProviderMap<TypedProvider>>;
|
|
25
28
|
protected signers: ChainMap<ProviderMap<never>>;
|
|
26
|
-
protected readonly logger: Debugger;
|
|
27
29
|
protected readonly providerBuilders: Partial<ProviderBuilderMap>;
|
|
30
|
+
readonly logger: Debugger;
|
|
28
31
|
constructor(chainMetadata?: ChainMap<ChainMetadata<MetaExt>>, options?: MultiProtocolProviderOptions);
|
|
29
32
|
static fromMultiProvider<MetaExt = {}>(mp: MultiProvider<MetaExt>, options?: MultiProtocolProviderOptions): MultiProtocolProvider<MetaExt>;
|
|
33
|
+
toMultiProvider(options?: MultiProviderOptions): MultiProvider<MetaExt>;
|
|
30
34
|
extendChainMetadata<NewExt = {}>(additionalMetadata: ChainMap<NewExt>): MultiProtocolProvider<MetaExt & NewExt>;
|
|
31
|
-
tryGetProvider(chainNameOrId: ChainName | number, type
|
|
32
|
-
getProvider(chainNameOrId: ChainName | number, type
|
|
35
|
+
tryGetProvider(chainNameOrId: ChainName | number, type?: ProviderType): TypedProvider | null;
|
|
36
|
+
getProvider(chainNameOrId: ChainName | number, type?: ProviderType): TypedProvider;
|
|
33
37
|
getEthersV5Provider(chainNameOrId: ChainName | number): EthersV5Provider['provider'];
|
|
34
38
|
getViemProvider(chainNameOrId: ChainName | number): ViemProvider['provider'];
|
|
35
39
|
getSolanaWeb3Provider(chainNameOrId: ChainName | number): SolanaWeb3Provider['provider'];
|
|
36
40
|
setProvider(chainNameOrId: ChainName | number, provider: TypedProvider): TypedProvider;
|
|
37
41
|
setProviders(providers: ChainMap<TypedProvider>): void;
|
|
42
|
+
intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
|
|
43
|
+
intersection: ChainName[];
|
|
44
|
+
result: MultiProtocolProvider<MetaExt>;
|
|
45
|
+
};
|
|
38
46
|
}
|
|
39
47
|
//# sourceMappingURL=MultiProtocolProvider.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiProtocolProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MultiProtocolProvider = void 0;
|
|
3
|
+
exports.MultiProtocolProvider = exports.PROTOCOL_DEFAULT_PROVIDER_TYPE = void 0;
|
|
4
4
|
const debug_1 = require("debug");
|
|
5
5
|
const utils_1 = require("@hyperlane-xyz/utils");
|
|
6
6
|
const chainMetadata_1 = require("../consts/chainMetadata");
|
|
7
7
|
const ChainMetadataManager_1 = require("../metadata/ChainMetadataManager");
|
|
8
|
+
const MultiProvider_1 = require("./MultiProvider");
|
|
8
9
|
const ProviderType_1 = require("./ProviderType");
|
|
9
10
|
const providerBuilders_1 = require("./providerBuilders");
|
|
11
|
+
exports.PROTOCOL_DEFAULT_PROVIDER_TYPE = {
|
|
12
|
+
[utils_1.ProtocolType.Ethereum]: ProviderType_1.ProviderType.EthersV5,
|
|
13
|
+
[utils_1.ProtocolType.Sealevel]: ProviderType_1.ProviderType.SolanaWeb3,
|
|
14
|
+
};
|
|
10
15
|
/**
|
|
11
16
|
* A version of MultiProvider that can support different
|
|
12
17
|
* provider types across different protocol types.
|
|
@@ -21,9 +26,10 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
21
26
|
constructor(chainMetadata = chainMetadata_1.chainMetadata, options = {}) {
|
|
22
27
|
super(chainMetadata, options);
|
|
23
28
|
this.options = options;
|
|
24
|
-
|
|
29
|
+
// Chain name -> provider type -> signer
|
|
25
30
|
this.signers = {}; // TODO signer support
|
|
26
31
|
this.logger = (0, debug_1.debug)(options?.loggerName || 'hyperlane:MultiProtocolProvider');
|
|
32
|
+
this.providers = options.providers || {};
|
|
27
33
|
this.providerBuilders =
|
|
28
34
|
options.providerBuilders || providerBuilders_1.defaultProviderBuilderMap;
|
|
29
35
|
}
|
|
@@ -36,16 +42,30 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
36
42
|
newMp.setProviders(typedProviders);
|
|
37
43
|
return newMp;
|
|
38
44
|
}
|
|
45
|
+
toMultiProvider(options) {
|
|
46
|
+
const newMp = new MultiProvider_1.MultiProvider(this.metadata, options);
|
|
47
|
+
const providers = (0, utils_1.objMap)(this.providers, (_, typeToProviders) => typeToProviders[ProviderType_1.ProviderType.EthersV5]?.provider);
|
|
48
|
+
const filteredProviders = (0, utils_1.objFilter)(providers, (_, p) => !!p);
|
|
49
|
+
newMp.setProviders(filteredProviders);
|
|
50
|
+
return newMp;
|
|
51
|
+
}
|
|
39
52
|
extendChainMetadata(additionalMetadata) {
|
|
40
53
|
const newMetadata = super.extendChainMetadata(additionalMetadata).metadata;
|
|
41
|
-
|
|
54
|
+
const newMp = new MultiProtocolProvider(newMetadata, {
|
|
55
|
+
...this.options,
|
|
56
|
+
providers: this.providers,
|
|
57
|
+
});
|
|
58
|
+
return newMp;
|
|
42
59
|
}
|
|
43
60
|
tryGetProvider(chainNameOrId, type) {
|
|
44
61
|
var _a;
|
|
45
62
|
const metadata = this.tryGetChainMetadata(chainNameOrId);
|
|
46
63
|
if (!metadata)
|
|
47
64
|
return null;
|
|
48
|
-
const { name, chainId, rpcUrls } = metadata;
|
|
65
|
+
const { protocol, name, chainId, rpcUrls } = metadata;
|
|
66
|
+
type = type || exports.PROTOCOL_DEFAULT_PROVIDER_TYPE[protocol];
|
|
67
|
+
if (!type)
|
|
68
|
+
return null;
|
|
49
69
|
if (this.providers[name]?.[type])
|
|
50
70
|
return this.providers[name][type];
|
|
51
71
|
const builder = this.providerBuilders[type];
|
|
@@ -71,19 +91,19 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
71
91
|
// getEthersV6Provider(
|
|
72
92
|
// chainNameOrId: ChainName | number,
|
|
73
93
|
// ): EthersV6Provider['provider'] {
|
|
74
|
-
// const provider = this.getProvider(chainNameOrId, ProviderType.
|
|
94
|
+
// const provider = this.getProvider(chainNameOrId, ProviderType.EthersV6);
|
|
75
95
|
// if (provider.type !== ProviderType.EthersV6)
|
|
76
96
|
// throw new Error('Invalid provider type');
|
|
77
97
|
// return provider.provider;
|
|
78
98
|
// }
|
|
79
99
|
getViemProvider(chainNameOrId) {
|
|
80
|
-
const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.
|
|
100
|
+
const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.Viem);
|
|
81
101
|
if (provider.type !== ProviderType_1.ProviderType.Viem)
|
|
82
102
|
throw new Error('Invalid provider type');
|
|
83
103
|
return provider.provider;
|
|
84
104
|
}
|
|
85
105
|
getSolanaWeb3Provider(chainNameOrId) {
|
|
86
|
-
const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.
|
|
106
|
+
const provider = this.getProvider(chainNameOrId, ProviderType_1.ProviderType.SolanaWeb3);
|
|
87
107
|
if (provider.type !== ProviderType_1.ProviderType.SolanaWeb3)
|
|
88
108
|
throw new Error('Invalid provider type');
|
|
89
109
|
return provider.provider;
|
|
@@ -100,6 +120,14 @@ class MultiProtocolProvider extends ChainMetadataManager_1.ChainMetadataManager
|
|
|
100
120
|
this.setProvider(chain, providers[chain]);
|
|
101
121
|
}
|
|
102
122
|
}
|
|
123
|
+
intersect(chains, throwIfNotSubset = false) {
|
|
124
|
+
const { intersection, result } = super.intersect(chains, throwIfNotSubset);
|
|
125
|
+
const multiProvider = new MultiProtocolProvider(result.metadata, {
|
|
126
|
+
...this.options,
|
|
127
|
+
providers: (0, utils_1.pick)(this.providers, intersection),
|
|
128
|
+
});
|
|
129
|
+
return { intersection, result: multiProvider };
|
|
130
|
+
}
|
|
103
131
|
}
|
|
104
132
|
exports.MultiProtocolProvider = MultiProtocolProvider;
|
|
105
133
|
//# sourceMappingURL=MultiProtocolProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProtocolProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":";;;AAAA,iCAAwC;AAExC,
|
|
1
|
+
{"version":3,"file":"MultiProtocolProvider.js","sourceRoot":"","sources":["../../src/providers/MultiProtocolProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,7 +8,9 @@ import { ProviderBuilderFn } from './providerBuilders';
|
|
|
8
8
|
type Provider = providers.Provider;
|
|
9
9
|
export interface MultiProviderOptions {
|
|
10
10
|
loggerName?: string;
|
|
11
|
+
providers?: ChainMap<Provider>;
|
|
11
12
|
providerBuilder?: ProviderBuilderFn<Provider>;
|
|
13
|
+
signers?: ChainMap<Signer>;
|
|
12
14
|
}
|
|
13
15
|
/**
|
|
14
16
|
* A utility class to create and manage providers and signers for multiple chains
|
|
@@ -94,17 +96,12 @@ export declare class MultiProvider<MetaExt = {}> extends ChainMetadataManager<Me
|
|
|
94
96
|
*/
|
|
95
97
|
intersect(chains: ChainName[], throwIfNotSubset?: boolean): {
|
|
96
98
|
intersection: ChainName[];
|
|
97
|
-
|
|
99
|
+
result: MultiProvider<MetaExt>;
|
|
98
100
|
};
|
|
99
101
|
/**
|
|
100
102
|
* Get a block explorer URL for given chain's address
|
|
101
103
|
*/
|
|
102
104
|
tryGetExplorerAddressUrl(chainNameOrId: ChainName | number, address?: string): Promise<string | null>;
|
|
103
|
-
/**
|
|
104
|
-
* Get a block explorer URL for given chain's address
|
|
105
|
-
* @throws if chain's metadata, signer, or block explorer data has no been set
|
|
106
|
-
*/
|
|
107
|
-
getExplorerAddressUrl(chainNameOrId: ChainName | number, address?: string): Promise<string>;
|
|
108
105
|
/**
|
|
109
106
|
* Get the transaction overrides for a given chain name, chain id, or domain id
|
|
110
107
|
* @throws if chain's metadata has not been set
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAS,MAAM,OAAO,CAAC;AACxC,OAAO,EACL,SAAS,EACT,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,SAAS,EACV,MAAM,QAAQ,CAAC;AAEhB,OAAO,EAAE,OAAO,EAAQ,MAAM,sBAAsB,CAAC;AAIrD,OAAO,EAAE,oBAAoB,EAAE,MAAM,kCAAkC,CAAC;AACxE,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAEL,iBAAiB,EAElB,MAAM,oBAAoB,CAAC;AAE5B,KAAK,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;AAEnC,MAAM,WAAW,oBAAoB;IACnC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,iBAAiB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"MultiProvider.d.ts","sourceRoot":"","sources":["../../src/providers/MultiProvider.ts"],"names":[],"mappings":"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"}
|