@hyperlane-xyz/sdk 14.3.0 → 14.4.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.
- package/dist/core/HyperlaneRelayer.d.ts +8 -8
- package/dist/core/types.d.ts +132 -132
- package/dist/fork/types.d.ts +15 -15
- package/dist/hook/types.d.ts +1 -1
- package/dist/hook/types.d.ts.map +1 -1
- package/dist/hook/types.js +1 -1
- package/dist/hook/types.js.map +1 -1
- package/dist/ica/types.d.ts +18 -18
- package/dist/index.d.ts +26 -30
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +22 -26
- package/dist/index.js.map +1 -1
- package/dist/ism/types.d.ts +10 -10
- package/dist/metadata/agentConfig.d.ts +4 -4
- package/dist/middleware/account/InterchainAccount.d.ts +4 -4
- package/dist/middleware/account/types.d.ts +6 -6
- package/dist/providers/transactions/submitter/builder/types.d.ts +11 -11
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts +16 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.d.ts.map +1 -1
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js +46 -22
- package/dist/providers/transactions/submitter/submitterBuilderGetter.js.map +1 -1
- package/dist/providers/transactions/submitter/types.d.ts +4 -4
- package/dist/providers/transactions/types.d.ts +2 -2
- package/dist/router/types.d.ts +24 -24
- package/dist/token/types.d.ts +103 -103
- package/dist/types.d.ts +3 -3
- package/dist/utils/cosmos.d.ts +2 -2
- package/dist/warp/types.d.ts +14 -14
- package/package.json +5 -5
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts +0 -35
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.d.ts.map +0 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js +0 -171
- package/dist/middleware/liquidity-layer/LiquidityLayerApp.js.map +0 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts +0 -49
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.d.ts.map +0 -1
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js +0 -115
- package/dist/middleware/liquidity-layer/LiquidityLayerRouterDeployer.js.map +0 -1
- package/dist/middleware/liquidity-layer/contracts.d.ts +0 -10
- package/dist/middleware/liquidity-layer/contracts.d.ts.map +0 -1
- package/dist/middleware/liquidity-layer/contracts.js +0 -9
- package/dist/middleware/liquidity-layer/contracts.js.map +0 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.d.ts +0 -2
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.d.ts.map +0 -1
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js +0 -112
- package/dist/middleware/liquidity-layer/liquidity-layer.hardhat-test.js.map +0 -1
package/dist/types.d.ts
CHANGED
|
@@ -32,14 +32,14 @@ export declare const DeployedOwnableSchema: z.ZodObject<{
|
|
|
32
32
|
}>;
|
|
33
33
|
export type DeployedOwnableConfig = z.infer<typeof DeployedOwnableSchema>;
|
|
34
34
|
export declare const DerivedOwnableSchema: z.ZodObject<{
|
|
35
|
-
owner: z.ZodString;
|
|
36
35
|
address: z.ZodString;
|
|
36
|
+
owner: z.ZodString;
|
|
37
37
|
}, "strip", z.ZodTypeAny, {
|
|
38
|
-
owner: string;
|
|
39
38
|
address: string;
|
|
40
|
-
}, {
|
|
41
39
|
owner: string;
|
|
40
|
+
}, {
|
|
42
41
|
address: string;
|
|
42
|
+
owner: string;
|
|
43
43
|
}>;
|
|
44
44
|
export type DerivedOwnableConfig = z.infer<typeof DerivedOwnableSchema>;
|
|
45
45
|
export declare const PausableSchema: z.ZodObject<{
|
package/dist/utils/cosmos.d.ts
CHANGED
|
@@ -1025,7 +1025,7 @@ export declare const CosmosChainSchema: z.ZodIntersection<z.ZodObject<{
|
|
|
1025
1025
|
extra_codecs: z.ZodOptional<z.ZodArray<z.ZodEnum<["ethermint", "injective"]>, "many">>;
|
|
1026
1026
|
}, "strict", z.ZodTypeAny, {
|
|
1027
1027
|
chain_name: string;
|
|
1028
|
-
chain_type: "
|
|
1028
|
+
chain_type: "starknet" | "unknown" | "cosmos" | "eip155" | "bip122" | "polkadot" | "solana" | "algorand" | "arweave" | "ergo" | "fil" | "hedera" | "monero" | "reef" | "stacks" | "stellar" | "tezos" | "vechain" | "waves" | "xrpl";
|
|
1029
1029
|
$schema?: string | undefined;
|
|
1030
1030
|
chain_id?: string | undefined;
|
|
1031
1031
|
pre_fork_chain_name?: string | undefined;
|
|
@@ -1247,7 +1247,7 @@ export declare const CosmosChainSchema: z.ZodIntersection<z.ZodObject<{
|
|
|
1247
1247
|
extra_codecs?: ("injective" | "ethermint")[] | undefined;
|
|
1248
1248
|
}, {
|
|
1249
1249
|
chain_name: string;
|
|
1250
|
-
chain_type: "
|
|
1250
|
+
chain_type: "starknet" | "unknown" | "cosmos" | "eip155" | "bip122" | "polkadot" | "solana" | "algorand" | "arweave" | "ergo" | "fil" | "hedera" | "monero" | "reef" | "stacks" | "stellar" | "tezos" | "vechain" | "waves" | "xrpl";
|
|
1251
1251
|
$schema?: string | undefined;
|
|
1252
1252
|
chain_id?: string | undefined;
|
|
1253
1253
|
pre_fork_chain_name?: string | undefined;
|
package/dist/warp/types.d.ts
CHANGED
|
@@ -12,13 +12,13 @@ declare const FeeConstantConfigSchema: z.ZodArray<z.ZodObject<{
|
|
|
12
12
|
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
|
|
13
13
|
addressOrDenom: z.ZodOptional<z.ZodString>;
|
|
14
14
|
}, "strip", z.ZodTypeAny, {
|
|
15
|
-
origin: string;
|
|
16
15
|
amount: string | number | bigint;
|
|
16
|
+
origin: string;
|
|
17
17
|
destination: string;
|
|
18
18
|
addressOrDenom?: string | undefined;
|
|
19
19
|
}, {
|
|
20
|
-
origin: string;
|
|
21
20
|
amount: string | number | bigint;
|
|
21
|
+
origin: string;
|
|
22
22
|
destination: string;
|
|
23
23
|
addressOrDenom?: string | undefined;
|
|
24
24
|
}>, "many">;
|
|
@@ -150,13 +150,13 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
150
150
|
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
|
|
151
151
|
addressOrDenom: z.ZodOptional<z.ZodString>;
|
|
152
152
|
}, "strip", z.ZodTypeAny, {
|
|
153
|
-
origin: string;
|
|
154
153
|
amount: string | number | bigint;
|
|
154
|
+
origin: string;
|
|
155
155
|
destination: string;
|
|
156
156
|
addressOrDenom?: string | undefined;
|
|
157
157
|
}, {
|
|
158
|
-
origin: string;
|
|
159
158
|
amount: string | number | bigint;
|
|
159
|
+
origin: string;
|
|
160
160
|
destination: string;
|
|
161
161
|
addressOrDenom?: string | undefined;
|
|
162
162
|
}>, "many">>;
|
|
@@ -166,13 +166,13 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
166
166
|
amount: z.ZodUnion<[z.ZodString, z.ZodNumber, z.ZodBigInt]>;
|
|
167
167
|
addressOrDenom: z.ZodOptional<z.ZodString>;
|
|
168
168
|
}, "strip", z.ZodTypeAny, {
|
|
169
|
-
origin: string;
|
|
170
169
|
amount: string | number | bigint;
|
|
170
|
+
origin: string;
|
|
171
171
|
destination: string;
|
|
172
172
|
addressOrDenom?: string | undefined;
|
|
173
173
|
}, {
|
|
174
|
-
origin: string;
|
|
175
174
|
amount: string | number | bigint;
|
|
175
|
+
origin: string;
|
|
176
176
|
destination: string;
|
|
177
177
|
addressOrDenom?: string | undefined;
|
|
178
178
|
}>, "many">>;
|
|
@@ -188,14 +188,14 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
188
188
|
}>, "many">>;
|
|
189
189
|
}, "strip", z.ZodTypeAny, {
|
|
190
190
|
localFeeConstants?: {
|
|
191
|
-
origin: string;
|
|
192
191
|
amount: string | number | bigint;
|
|
192
|
+
origin: string;
|
|
193
193
|
destination: string;
|
|
194
194
|
addressOrDenom?: string | undefined;
|
|
195
195
|
}[] | undefined;
|
|
196
196
|
interchainFeeConstants?: {
|
|
197
|
-
origin: string;
|
|
198
197
|
amount: string | number | bigint;
|
|
198
|
+
origin: string;
|
|
199
199
|
destination: string;
|
|
200
200
|
addressOrDenom?: string | undefined;
|
|
201
201
|
}[] | undefined;
|
|
@@ -205,14 +205,14 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
205
205
|
}[] | undefined;
|
|
206
206
|
}, {
|
|
207
207
|
localFeeConstants?: {
|
|
208
|
-
origin: string;
|
|
209
208
|
amount: string | number | bigint;
|
|
209
|
+
origin: string;
|
|
210
210
|
destination: string;
|
|
211
211
|
addressOrDenom?: string | undefined;
|
|
212
212
|
}[] | undefined;
|
|
213
213
|
interchainFeeConstants?: {
|
|
214
|
-
origin: string;
|
|
215
214
|
amount: string | number | bigint;
|
|
215
|
+
origin: string;
|
|
216
216
|
destination: string;
|
|
217
217
|
addressOrDenom?: string | undefined;
|
|
218
218
|
}[] | undefined;
|
|
@@ -254,14 +254,14 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
254
254
|
}[];
|
|
255
255
|
options?: {
|
|
256
256
|
localFeeConstants?: {
|
|
257
|
-
origin: string;
|
|
258
257
|
amount: string | number | bigint;
|
|
258
|
+
origin: string;
|
|
259
259
|
destination: string;
|
|
260
260
|
addressOrDenom?: string | undefined;
|
|
261
261
|
}[] | undefined;
|
|
262
262
|
interchainFeeConstants?: {
|
|
263
|
-
origin: string;
|
|
264
263
|
amount: string | number | bigint;
|
|
264
|
+
origin: string;
|
|
265
265
|
destination: string;
|
|
266
266
|
addressOrDenom?: string | undefined;
|
|
267
267
|
}[] | undefined;
|
|
@@ -303,14 +303,14 @@ export declare const WarpCoreConfigSchema: z.ZodObject<{
|
|
|
303
303
|
}[];
|
|
304
304
|
options?: {
|
|
305
305
|
localFeeConstants?: {
|
|
306
|
-
origin: string;
|
|
307
306
|
amount: string | number | bigint;
|
|
307
|
+
origin: string;
|
|
308
308
|
destination: string;
|
|
309
309
|
addressOrDenom?: string | undefined;
|
|
310
310
|
}[] | undefined;
|
|
311
311
|
interchainFeeConstants?: {
|
|
312
|
-
origin: string;
|
|
313
312
|
amount: string | number | bigint;
|
|
313
|
+
origin: string;
|
|
314
314
|
destination: string;
|
|
315
315
|
addressOrDenom?: string | undefined;
|
|
316
316
|
}[] | undefined;
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@hyperlane-xyz/sdk",
|
|
3
3
|
"description": "The official SDK for the Hyperlane Network",
|
|
4
|
-
"version": "14.
|
|
4
|
+
"version": "14.4.0",
|
|
5
5
|
"dependencies": {
|
|
6
6
|
"@arbitrum/sdk": "^4.0.0",
|
|
7
7
|
"@aws-sdk/client-s3": "^3.577.0",
|
|
8
8
|
"@chain-registry/types": "^0.50.122",
|
|
9
9
|
"@cosmjs/cosmwasm-stargate": "^0.32.4",
|
|
10
10
|
"@cosmjs/stargate": "^0.32.4",
|
|
11
|
-
"@hyperlane-xyz/core": "
|
|
12
|
-
"@hyperlane-xyz/cosmos-sdk": "14.
|
|
13
|
-
"@hyperlane-xyz/starknet-core": "14.
|
|
14
|
-
"@hyperlane-xyz/utils": "14.
|
|
11
|
+
"@hyperlane-xyz/core": "9.0.0",
|
|
12
|
+
"@hyperlane-xyz/cosmos-sdk": "14.4.0",
|
|
13
|
+
"@hyperlane-xyz/starknet-core": "14.4.0",
|
|
14
|
+
"@hyperlane-xyz/utils": "14.4.0",
|
|
15
15
|
"@safe-global/api-kit": "1.3.0",
|
|
16
16
|
"@safe-global/protocol-kit": "1.3.0",
|
|
17
17
|
"@safe-global/safe-core-sdk-types": "2.3.0",
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
import { HyperlaneApp } from '../../app/HyperlaneApp.js';
|
|
2
|
-
import { HyperlaneContracts } from '../../contracts/types.js';
|
|
3
|
-
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
4
|
-
import { ChainMap, ChainName } from '../../types.js';
|
|
5
|
-
import { BridgeAdapterConfig } from './LiquidityLayerRouterDeployer.js';
|
|
6
|
-
import { liquidityLayerFactories } from './contracts.js';
|
|
7
|
-
interface CircleBridgeMessage {
|
|
8
|
-
chain: ChainName;
|
|
9
|
-
remoteChain: ChainName;
|
|
10
|
-
txHash: string;
|
|
11
|
-
message: string;
|
|
12
|
-
nonce: number;
|
|
13
|
-
domain: number;
|
|
14
|
-
nonceHash: string;
|
|
15
|
-
}
|
|
16
|
-
interface PortalBridgeMessage {
|
|
17
|
-
origin: ChainName;
|
|
18
|
-
nonce: number;
|
|
19
|
-
portalSequence: number;
|
|
20
|
-
destination: ChainName;
|
|
21
|
-
}
|
|
22
|
-
export declare class LiquidityLayerApp extends HyperlaneApp<typeof liquidityLayerFactories> {
|
|
23
|
-
readonly contractsMap: ChainMap<HyperlaneContracts<typeof liquidityLayerFactories>>;
|
|
24
|
-
readonly multiProvider: MultiProvider;
|
|
25
|
-
readonly config: ChainMap<BridgeAdapterConfig>;
|
|
26
|
-
constructor(contractsMap: ChainMap<HyperlaneContracts<typeof liquidityLayerFactories>>, multiProvider: MultiProvider, config: ChainMap<BridgeAdapterConfig>);
|
|
27
|
-
fetchCircleMessageTransactions(chain: ChainName): Promise<string[]>;
|
|
28
|
-
fetchPortalBridgeTransactions(chain: ChainName): Promise<string[]>;
|
|
29
|
-
parsePortalMessages(chain: ChainName, txHash: string): Promise<PortalBridgeMessage[]>;
|
|
30
|
-
parseCircleMessages(chain: ChainName, txHash: string): Promise<CircleBridgeMessage[]>;
|
|
31
|
-
attemptPortalTransferCompletion(message: PortalBridgeMessage): Promise<void>;
|
|
32
|
-
attemptCircleAttestationSubmission(message: CircleBridgeMessage): Promise<void>;
|
|
33
|
-
}
|
|
34
|
-
export {};
|
|
35
|
-
//# sourceMappingURL=LiquidityLayerApp.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerApp.d.ts","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/LiquidityLayerApp.ts"],"names":[],"mappings":"AAiBA,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,0BAA0B,CAAC;AAC9D,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAC;AACjE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAGrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAC;AACxE,OAAO,EAAE,uBAAuB,EAAE,MAAM,gBAAgB,CAAC;AA2BzD,UAAU,mBAAmB;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,WAAW,EAAE,SAAS,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,SAAS,CAAC;CACxB;AAED,qBAAa,iBAAkB,SAAQ,YAAY,CACjD,OAAO,uBAAuB,CAC/B;aAEmB,YAAY,EAAE,QAAQ,CACpC,kBAAkB,CAAC,OAAO,uBAAuB,CAAC,CACnD;aACe,aAAa,EAAE,aAAa;aAC5B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;gBAJrC,YAAY,EAAE,QAAQ,CACpC,kBAAkB,CAAC,OAAO,uBAAuB,CAAC,CACnD,EACe,aAAa,EAAE,aAAa,EAC5B,MAAM,EAAE,QAAQ,CAAC,mBAAmB,CAAC;IAKjD,8BAA8B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAgBnE,6BAA6B,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBlE,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAsB3B,mBAAmB,CACvB,KAAK,EAAE,SAAS,EAChB,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAqD3B,+BAA+B,CACnC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;IA+DV,kCAAkC,CACtC,OAAO,EAAE,mBAAmB,GAC3B,OAAO,CAAC,IAAI,CAAC;CA4CjB"}
|
|
@@ -1,171 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { CircleBridgeAdapter__factory, ICircleMessageTransmitter__factory, ITokenMessenger__factory, Mailbox__factory, PortalAdapter__factory, } from '@hyperlane-xyz/core';
|
|
3
|
-
import { addressToBytes32, ensure0x, eqAddress, rootLogger, strip0x, } from '@hyperlane-xyz/utils';
|
|
4
|
-
import { HyperlaneApp } from '../../app/HyperlaneApp.js';
|
|
5
|
-
import { fetchWithTimeout } from '../../utils/fetch.js';
|
|
6
|
-
const logger = rootLogger.child({ module: 'LiquidityLayerApp' });
|
|
7
|
-
const PORTAL_VAA_SERVICE_TESTNET_BASE_URL = 'https://wormhole-v2-testnet-api.certus.one/v1/signed_vaa/';
|
|
8
|
-
const CIRCLE_ATTESTATIONS_TESTNET_BASE_URL = 'https://iris-api-sandbox.circle.com/attestations/';
|
|
9
|
-
const CIRCLE_ATTESTATIONS_MAINNET_BASE_URL = 'https://iris-api.circle.com/attestations/';
|
|
10
|
-
const PORTAL_VAA_SERVICE_SUCCESS_CODE = 5;
|
|
11
|
-
const TokenMessengerInterface = ITokenMessenger__factory.createInterface();
|
|
12
|
-
const CircleBridgeAdapterInterface = CircleBridgeAdapter__factory.createInterface();
|
|
13
|
-
const PortalAdapterInterface = PortalAdapter__factory.createInterface();
|
|
14
|
-
const MailboxInterface = Mailbox__factory.createInterface();
|
|
15
|
-
const BridgedTokenTopic = CircleBridgeAdapterInterface.getEventTopic(CircleBridgeAdapterInterface.getEvent('BridgedToken'));
|
|
16
|
-
const PortalBridgedTokenTopic = PortalAdapterInterface.getEventTopic(PortalAdapterInterface.getEvent('BridgedToken'));
|
|
17
|
-
export class LiquidityLayerApp extends HyperlaneApp {
|
|
18
|
-
contractsMap;
|
|
19
|
-
multiProvider;
|
|
20
|
-
config;
|
|
21
|
-
constructor(contractsMap, multiProvider, config) {
|
|
22
|
-
super(contractsMap, multiProvider);
|
|
23
|
-
this.contractsMap = contractsMap;
|
|
24
|
-
this.multiProvider = multiProvider;
|
|
25
|
-
this.config = config;
|
|
26
|
-
}
|
|
27
|
-
async fetchCircleMessageTransactions(chain) {
|
|
28
|
-
logger.info(`Fetch circle messages for ${chain}`);
|
|
29
|
-
const url = new URL(this.multiProvider.getExplorerApiUrl(chain));
|
|
30
|
-
url.searchParams.set('module', 'logs');
|
|
31
|
-
url.searchParams.set('action', 'getLogs');
|
|
32
|
-
url.searchParams.set('address', this.getContracts(chain).circleBridgeAdapter.address);
|
|
33
|
-
url.searchParams.set('topic0', BridgedTokenTopic);
|
|
34
|
-
const req = await fetchWithTimeout(url);
|
|
35
|
-
const response = await req.json();
|
|
36
|
-
return response.result.map((tx) => tx.transactionHash).flat();
|
|
37
|
-
}
|
|
38
|
-
async fetchPortalBridgeTransactions(chain) {
|
|
39
|
-
const url = new URL(this.multiProvider.getExplorerApiUrl(chain));
|
|
40
|
-
url.searchParams.set('module', 'logs');
|
|
41
|
-
url.searchParams.set('action', 'getLogs');
|
|
42
|
-
url.searchParams.set('address', this.getContracts(chain).portalAdapter.address);
|
|
43
|
-
url.searchParams.set('topic0', PortalBridgedTokenTopic);
|
|
44
|
-
const req = await fetchWithTimeout(url);
|
|
45
|
-
const response = await req.json();
|
|
46
|
-
if (!response.result) {
|
|
47
|
-
throw Error(`Expected result in response: ${response}`);
|
|
48
|
-
}
|
|
49
|
-
return response.result.map((tx) => tx.transactionHash).flat();
|
|
50
|
-
}
|
|
51
|
-
async parsePortalMessages(chain, txHash) {
|
|
52
|
-
const provider = this.multiProvider.getProvider(chain);
|
|
53
|
-
const receipt = await provider.getTransactionReceipt(txHash);
|
|
54
|
-
const matchingLogs = receipt.logs
|
|
55
|
-
.map((log) => {
|
|
56
|
-
try {
|
|
57
|
-
return [PortalAdapterInterface.parseLog(log)];
|
|
58
|
-
}
|
|
59
|
-
catch {
|
|
60
|
-
return [];
|
|
61
|
-
}
|
|
62
|
-
})
|
|
63
|
-
.flat();
|
|
64
|
-
if (matchingLogs.length == 0)
|
|
65
|
-
return [];
|
|
66
|
-
const event = matchingLogs.find((log) => log.name === 'BridgedToken');
|
|
67
|
-
const portalSequence = event.args.portalSequence.toNumber();
|
|
68
|
-
const nonce = event.args.nonce.toNumber();
|
|
69
|
-
const destination = this.multiProvider.getChainName(event.args.destination);
|
|
70
|
-
return [{ origin: chain, nonce, portalSequence, destination }];
|
|
71
|
-
}
|
|
72
|
-
async parseCircleMessages(chain, txHash) {
|
|
73
|
-
logger.debug(`Parse Circle messages for chain ${chain} ${txHash}`);
|
|
74
|
-
const provider = this.multiProvider.getProvider(chain);
|
|
75
|
-
const receipt = await provider.getTransactionReceipt(txHash);
|
|
76
|
-
const matchingLogs = receipt.logs
|
|
77
|
-
.map((log) => {
|
|
78
|
-
try {
|
|
79
|
-
return [TokenMessengerInterface.parseLog(log)];
|
|
80
|
-
}
|
|
81
|
-
catch {
|
|
82
|
-
try {
|
|
83
|
-
return [CircleBridgeAdapterInterface.parseLog(log)];
|
|
84
|
-
}
|
|
85
|
-
catch {
|
|
86
|
-
try {
|
|
87
|
-
return [MailboxInterface.parseLog(log)];
|
|
88
|
-
}
|
|
89
|
-
catch {
|
|
90
|
-
return [];
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
})
|
|
95
|
-
.flat();
|
|
96
|
-
if (matchingLogs.length == 0)
|
|
97
|
-
return [];
|
|
98
|
-
const message = matchingLogs.find((log) => log.name === 'MessageSent')
|
|
99
|
-
.args.message;
|
|
100
|
-
const nonce = matchingLogs.find((log) => log.name === 'BridgedToken').args
|
|
101
|
-
.nonce;
|
|
102
|
-
const destinationDomain = matchingLogs.find((log) => log.name === 'Dispatch').args.destination;
|
|
103
|
-
const remoteChain = this.multiProvider.getChainName(destinationDomain);
|
|
104
|
-
const domain = this.config[chain].circle.circleDomainMapping.find((mapping) => mapping.hyperlaneDomain === this.multiProvider.getDomainId(chain)).circleDomain;
|
|
105
|
-
return [
|
|
106
|
-
{
|
|
107
|
-
chain,
|
|
108
|
-
remoteChain,
|
|
109
|
-
txHash,
|
|
110
|
-
message,
|
|
111
|
-
nonce,
|
|
112
|
-
domain,
|
|
113
|
-
nonceHash: ethers.utils.solidityKeccak256(['uint32', 'uint64'], [domain, nonce]),
|
|
114
|
-
},
|
|
115
|
-
];
|
|
116
|
-
}
|
|
117
|
-
async attemptPortalTransferCompletion(message) {
|
|
118
|
-
const destinationPortalAdapter = this.getContracts(message.destination).portalAdapter;
|
|
119
|
-
const transferId = await destinationPortalAdapter.transferId(this.multiProvider.getDomainId(message.origin), message.nonce);
|
|
120
|
-
const transferTokenAddress = await destinationPortalAdapter.portalTransfersProcessed(transferId);
|
|
121
|
-
if (!eqAddress(transferTokenAddress, ethers.constants.AddressZero)) {
|
|
122
|
-
logger.info(`Transfer with nonce ${message.nonce} from ${message.origin} to ${message.destination} already processed`);
|
|
123
|
-
return;
|
|
124
|
-
}
|
|
125
|
-
const wormholeOriginDomain = this.config[message.destination].portal.wormholeDomainMapping.find((mapping) => mapping.hyperlaneDomain ===
|
|
126
|
-
this.multiProvider.getDomainId(message.origin))?.wormholeDomain;
|
|
127
|
-
const emitter = strip0x(addressToBytes32(this.config[message.origin].portal.portalBridgeAddress));
|
|
128
|
-
const vaa = await fetchWithTimeout(`${PORTAL_VAA_SERVICE_TESTNET_BASE_URL}${wormholeOriginDomain}/${emitter}/${message.portalSequence}`).then((response) => response.json());
|
|
129
|
-
if (vaa.code && vaa.code === PORTAL_VAA_SERVICE_SUCCESS_CODE) {
|
|
130
|
-
logger.info(`VAA not yet found for nonce ${message.nonce}`);
|
|
131
|
-
return;
|
|
132
|
-
}
|
|
133
|
-
logger.debug(`Complete portal transfer for nonce ${message.nonce} on ${message.destination}`);
|
|
134
|
-
try {
|
|
135
|
-
await this.multiProvider.handleTx(message.destination, destinationPortalAdapter.completeTransfer(ensure0x(Buffer.from(vaa.vaaBytes, 'base64').toString('hex'))));
|
|
136
|
-
}
|
|
137
|
-
catch (error) {
|
|
138
|
-
if (error?.error?.reason?.includes('no wrapper for this token')) {
|
|
139
|
-
logger.info('No wrapper for this token, you should register the token at https://wormhole-foundation.github.io/example-token-bridge-ui/#/register');
|
|
140
|
-
logger.info(message);
|
|
141
|
-
return;
|
|
142
|
-
}
|
|
143
|
-
throw error;
|
|
144
|
-
}
|
|
145
|
-
}
|
|
146
|
-
async attemptCircleAttestationSubmission(message) {
|
|
147
|
-
const signer = this.multiProvider.getSigner(message.remoteChain);
|
|
148
|
-
const transmitter = ICircleMessageTransmitter__factory.connect(this.config[message.remoteChain].circle.messageTransmitterAddress, signer);
|
|
149
|
-
const alreadyProcessed = await transmitter.usedNonces(message.nonceHash);
|
|
150
|
-
if (alreadyProcessed) {
|
|
151
|
-
logger.info(`Message sent on ${message.txHash} was already processed`);
|
|
152
|
-
return;
|
|
153
|
-
}
|
|
154
|
-
logger.info(`Attempt Circle message delivery`, JSON.stringify(message));
|
|
155
|
-
const messageHash = ethers.utils.keccak256(message.message);
|
|
156
|
-
const baseurl = this.multiProvider.getChainMetadata(message.chain).isTestnet
|
|
157
|
-
? CIRCLE_ATTESTATIONS_TESTNET_BASE_URL
|
|
158
|
-
: CIRCLE_ATTESTATIONS_MAINNET_BASE_URL;
|
|
159
|
-
const attestationsB = await fetchWithTimeout(`${baseurl}${messageHash}`);
|
|
160
|
-
const attestations = await attestationsB.json();
|
|
161
|
-
if (attestations.status !== 'complete') {
|
|
162
|
-
logger.info(`Attestations not available for message nonce ${message.nonce} on ${message.txHash}`);
|
|
163
|
-
return;
|
|
164
|
-
}
|
|
165
|
-
logger.info(`Ready to submit attestations for message ${message.nonce}`);
|
|
166
|
-
const tx = await transmitter.receiveMessage(message.message, attestations.attestation);
|
|
167
|
-
logger.info(`Submitted attestations in ${this.multiProvider.tryGetExplorerTxUrl(message.remoteChain, tx)}`);
|
|
168
|
-
await this.multiProvider.handleTx(message.remoteChain, tx);
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
//# sourceMappingURL=LiquidityLayerApp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerApp.js","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/LiquidityLayerApp.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { CircleBridgeAdapter, LiquidityLayerRouter, PortalAdapter, Router } from '@hyperlane-xyz/core';
|
|
2
|
-
import { Address } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { HyperlaneContracts, HyperlaneContractsMap } from '../../contracts/types.js';
|
|
4
|
-
import { ContractVerifier } from '../../deploy/verify/ContractVerifier.js';
|
|
5
|
-
import { MultiProvider } from '../../providers/MultiProvider.js';
|
|
6
|
-
import { ProxiedRouterDeployer } from '../../router/ProxiedRouterDeployer.js';
|
|
7
|
-
import { RouterConfig } from '../../router/types.js';
|
|
8
|
-
import { ChainMap, ChainName } from '../../types.js';
|
|
9
|
-
import { LiquidityLayerFactories } from './contracts.js';
|
|
10
|
-
export declare enum BridgeAdapterType {
|
|
11
|
-
Circle = "Circle",
|
|
12
|
-
Portal = "Portal"
|
|
13
|
-
}
|
|
14
|
-
export interface CircleBridgeAdapterConfig {
|
|
15
|
-
type: BridgeAdapterType.Circle;
|
|
16
|
-
tokenMessengerAddress: string;
|
|
17
|
-
messageTransmitterAddress: string;
|
|
18
|
-
usdcAddress: string;
|
|
19
|
-
circleDomainMapping: {
|
|
20
|
-
hyperlaneDomain: number;
|
|
21
|
-
circleDomain: number;
|
|
22
|
-
}[];
|
|
23
|
-
}
|
|
24
|
-
export interface PortalAdapterConfig {
|
|
25
|
-
type: BridgeAdapterType.Portal;
|
|
26
|
-
portalBridgeAddress: string;
|
|
27
|
-
wormholeDomainMapping: {
|
|
28
|
-
hyperlaneDomain: number;
|
|
29
|
-
wormholeDomain: number;
|
|
30
|
-
}[];
|
|
31
|
-
}
|
|
32
|
-
export type BridgeAdapterConfig = {
|
|
33
|
-
circle?: CircleBridgeAdapterConfig;
|
|
34
|
-
portal?: PortalAdapterConfig;
|
|
35
|
-
};
|
|
36
|
-
export type LiquidityLayerConfig = RouterConfig & BridgeAdapterConfig;
|
|
37
|
-
export declare class LiquidityLayerDeployer extends ProxiedRouterDeployer<LiquidityLayerConfig, LiquidityLayerFactories> {
|
|
38
|
-
constructor(multiProvider: MultiProvider, contractVerifier?: ContractVerifier, concurrentDeploy?: boolean);
|
|
39
|
-
routerContractName(): string;
|
|
40
|
-
routerContractKey<K extends keyof LiquidityLayerFactories>(_: RouterConfig): K;
|
|
41
|
-
router(contracts: HyperlaneContracts<LiquidityLayerFactories>): Router;
|
|
42
|
-
constructorArgs<K extends keyof LiquidityLayerFactories>(_: string, config: LiquidityLayerConfig): Promise<Parameters<LiquidityLayerFactories[K]['deploy']>>;
|
|
43
|
-
initializeArgs(chain: string, config: LiquidityLayerConfig): Promise<any>;
|
|
44
|
-
enrollRemoteRouters(contractsMap: HyperlaneContractsMap<LiquidityLayerFactories>, configMap: ChainMap<LiquidityLayerConfig>, foreignRouters: ChainMap<Address>): Promise<void>;
|
|
45
|
-
deployContracts(chain: ChainName, config: LiquidityLayerConfig): Promise<HyperlaneContracts<LiquidityLayerFactories>>;
|
|
46
|
-
deployPortalAdapter(chain: ChainName, adapterConfig: PortalAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<PortalAdapter>;
|
|
47
|
-
deployCircleBridgeAdapter(chain: ChainName, adapterConfig: CircleBridgeAdapterConfig, owner: string, router: LiquidityLayerRouter): Promise<CircleBridgeAdapter>;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=LiquidityLayerRouterDeployer.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerRouterDeployer.d.ts","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { ethers } from 'ethers';
|
|
2
|
-
import { eqAddress, objFilter, objMap } from '@hyperlane-xyz/utils';
|
|
3
|
-
import { ProxiedRouterDeployer } from '../../router/ProxiedRouterDeployer.js';
|
|
4
|
-
import { liquidityLayerFactories, } from './contracts.js';
|
|
5
|
-
export var BridgeAdapterType;
|
|
6
|
-
(function (BridgeAdapterType) {
|
|
7
|
-
BridgeAdapterType["Circle"] = "Circle";
|
|
8
|
-
BridgeAdapterType["Portal"] = "Portal";
|
|
9
|
-
})(BridgeAdapterType || (BridgeAdapterType = {}));
|
|
10
|
-
export class LiquidityLayerDeployer extends ProxiedRouterDeployer {
|
|
11
|
-
constructor(multiProvider, contractVerifier, concurrentDeploy = false) {
|
|
12
|
-
super(multiProvider, liquidityLayerFactories, {
|
|
13
|
-
contractVerifier,
|
|
14
|
-
concurrentDeploy,
|
|
15
|
-
});
|
|
16
|
-
}
|
|
17
|
-
routerContractName() {
|
|
18
|
-
return 'LiquidityLayerRouter';
|
|
19
|
-
}
|
|
20
|
-
routerContractKey(_) {
|
|
21
|
-
return 'liquidityLayerRouter';
|
|
22
|
-
}
|
|
23
|
-
router(contracts) {
|
|
24
|
-
return contracts.liquidityLayerRouter;
|
|
25
|
-
}
|
|
26
|
-
async constructorArgs(_, config) {
|
|
27
|
-
return [config.mailbox];
|
|
28
|
-
}
|
|
29
|
-
async initializeArgs(chain, config) {
|
|
30
|
-
const owner = await this.multiProvider.getSignerAddress(chain);
|
|
31
|
-
if (typeof config.interchainSecurityModule === 'object') {
|
|
32
|
-
throw new Error('ISM as object unimplemented');
|
|
33
|
-
}
|
|
34
|
-
return [
|
|
35
|
-
config.hook ?? ethers.constants.AddressZero,
|
|
36
|
-
config.interchainSecurityModule ?? ethers.constants.AddressZero,
|
|
37
|
-
owner,
|
|
38
|
-
];
|
|
39
|
-
}
|
|
40
|
-
async enrollRemoteRouters(contractsMap, configMap, foreignRouters) {
|
|
41
|
-
this.logger.debug(`Enroll LiquidityLayerRouters with each other`);
|
|
42
|
-
await super.enrollRemoteRouters(contractsMap, configMap, foreignRouters);
|
|
43
|
-
this.logger.debug(`Enroll CircleBridgeAdapters with each other`);
|
|
44
|
-
// Hack to allow use of super.enrollRemoteRouters
|
|
45
|
-
await super.enrollRemoteRouters(objMap(objFilter(contractsMap, (_, c) => !!c.circleBridgeAdapter), (_, contracts) => ({
|
|
46
|
-
liquidityLayerRouter: contracts.circleBridgeAdapter,
|
|
47
|
-
})), configMap, foreignRouters);
|
|
48
|
-
this.logger.debug(`Enroll PortalAdapters with each other`);
|
|
49
|
-
// Hack to allow use of super.enrollRemoteRouters
|
|
50
|
-
await super.enrollRemoteRouters(objMap(objFilter(contractsMap, (_, c) => !!c.portalAdapter), (_, contracts) => ({
|
|
51
|
-
liquidityLayerRouter: contracts.portalAdapter,
|
|
52
|
-
})), configMap, foreignRouters);
|
|
53
|
-
}
|
|
54
|
-
// Custom contract deployment logic can go here
|
|
55
|
-
// If no custom logic is needed, call deployContract for the router
|
|
56
|
-
async deployContracts(chain, config) {
|
|
57
|
-
// This is just the temp owner for contracts, and HyperlaneRouterDeployer#transferOwnership actually sets the configured owner
|
|
58
|
-
const deployer = await this.multiProvider.getSignerAddress(chain);
|
|
59
|
-
const routerContracts = await super.deployContracts(chain, config);
|
|
60
|
-
const bridgeAdapters = {};
|
|
61
|
-
if (config.circle) {
|
|
62
|
-
bridgeAdapters.circleBridgeAdapter = await this.deployCircleBridgeAdapter(chain, config.circle, deployer, routerContracts.liquidityLayerRouter);
|
|
63
|
-
}
|
|
64
|
-
if (config.portal) {
|
|
65
|
-
bridgeAdapters.portalAdapter = await this.deployPortalAdapter(chain, config.portal, deployer, routerContracts.liquidityLayerRouter);
|
|
66
|
-
}
|
|
67
|
-
return {
|
|
68
|
-
...routerContracts,
|
|
69
|
-
...bridgeAdapters,
|
|
70
|
-
};
|
|
71
|
-
}
|
|
72
|
-
async deployPortalAdapter(chain, adapterConfig, owner, router) {
|
|
73
|
-
const mailbox = await router.mailbox();
|
|
74
|
-
const portalAdapter = await this.deployContract(chain, 'portalAdapter', [mailbox], [owner, adapterConfig.portalBridgeAddress, router.address]);
|
|
75
|
-
for (const { wormholeDomain, hyperlaneDomain, } of adapterConfig.wormholeDomainMapping) {
|
|
76
|
-
const expectedCircleDomain = await portalAdapter.hyperlaneDomainToWormholeDomain(hyperlaneDomain);
|
|
77
|
-
if (expectedCircleDomain === wormholeDomain)
|
|
78
|
-
continue;
|
|
79
|
-
this.logger.debug(`Set wormhole domain ${wormholeDomain} for hyperlane domain ${hyperlaneDomain}`);
|
|
80
|
-
await this.runIfOwner(chain, portalAdapter, () => this.multiProvider.handleTx(chain, portalAdapter.addDomain(hyperlaneDomain, wormholeDomain)));
|
|
81
|
-
}
|
|
82
|
-
if (!eqAddress(await router.liquidityLayerAdapters('Portal'), portalAdapter.address)) {
|
|
83
|
-
this.logger.debug('Set Portal as LiquidityLayerAdapter on Router');
|
|
84
|
-
await this.runIfOwner(chain, portalAdapter, () => this.multiProvider.handleTx(chain, router.setLiquidityLayerAdapter(adapterConfig.type, portalAdapter.address)));
|
|
85
|
-
}
|
|
86
|
-
return portalAdapter;
|
|
87
|
-
}
|
|
88
|
-
async deployCircleBridgeAdapter(chain, adapterConfig, owner, router) {
|
|
89
|
-
const mailbox = await router.mailbox();
|
|
90
|
-
const circleBridgeAdapter = await this.deployContract(chain, 'circleBridgeAdapter', [mailbox], [
|
|
91
|
-
owner,
|
|
92
|
-
adapterConfig.tokenMessengerAddress,
|
|
93
|
-
adapterConfig.messageTransmitterAddress,
|
|
94
|
-
router.address,
|
|
95
|
-
]);
|
|
96
|
-
if (!eqAddress(await circleBridgeAdapter.tokenSymbolToAddress('USDC'), adapterConfig.usdcAddress)) {
|
|
97
|
-
this.logger.debug(`Set USDC token contract`);
|
|
98
|
-
await this.runIfOwner(chain, circleBridgeAdapter, () => this.multiProvider.handleTx(chain, circleBridgeAdapter.addToken(adapterConfig.usdcAddress, 'USDC')));
|
|
99
|
-
}
|
|
100
|
-
// Set domain mappings
|
|
101
|
-
for (const { circleDomain, hyperlaneDomain, } of adapterConfig.circleDomainMapping) {
|
|
102
|
-
const expectedCircleDomain = await circleBridgeAdapter.hyperlaneDomainToCircleDomain(hyperlaneDomain);
|
|
103
|
-
if (expectedCircleDomain === circleDomain)
|
|
104
|
-
continue;
|
|
105
|
-
this.logger.debug(`Set circle domain ${circleDomain} for hyperlane domain ${hyperlaneDomain}`);
|
|
106
|
-
await this.runIfOwner(chain, circleBridgeAdapter, () => this.multiProvider.handleTx(chain, circleBridgeAdapter.addDomain(hyperlaneDomain, circleDomain)));
|
|
107
|
-
}
|
|
108
|
-
if (!eqAddress(await router.liquidityLayerAdapters('Circle'), circleBridgeAdapter.address)) {
|
|
109
|
-
this.logger.debug('Set Circle as LiquidityLayerAdapter on Router');
|
|
110
|
-
await this.runIfOwner(chain, circleBridgeAdapter, () => this.multiProvider.handleTx(chain, router.setLiquidityLayerAdapter(adapterConfig.type, circleBridgeAdapter.address)));
|
|
111
|
-
}
|
|
112
|
-
return circleBridgeAdapter;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=LiquidityLayerRouterDeployer.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"LiquidityLayerRouterDeployer.js","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/LiquidityLayerRouterDeployer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { CircleBridgeAdapter__factory, LiquidityLayerRouter__factory, PortalAdapter__factory } from '@hyperlane-xyz/core';
|
|
2
|
-
export declare const liquidityLayerFactories: {
|
|
3
|
-
proxyAdmin: import("@hyperlane-xyz/core").ProxyAdmin__factory;
|
|
4
|
-
timelockController: import("@hyperlane-xyz/core").TimelockController__factory;
|
|
5
|
-
circleBridgeAdapter: CircleBridgeAdapter__factory;
|
|
6
|
-
portalAdapter: PortalAdapter__factory;
|
|
7
|
-
liquidityLayerRouter: LiquidityLayerRouter__factory;
|
|
8
|
-
};
|
|
9
|
-
export type LiquidityLayerFactories = typeof liquidityLayerFactories;
|
|
10
|
-
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,EACvB,MAAM,qBAAqB,CAAC;AAI7B,eAAO,MAAM,uBAAuB;;;;;;CAKnC,CAAC;AAEF,MAAM,MAAM,uBAAuB,GAAG,OAAO,uBAAuB,CAAC"}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { CircleBridgeAdapter__factory, LiquidityLayerRouter__factory, PortalAdapter__factory, } from '@hyperlane-xyz/core';
|
|
2
|
-
import { proxiedFactories } from '../../router/types.js';
|
|
3
|
-
export const liquidityLayerFactories = {
|
|
4
|
-
circleBridgeAdapter: new CircleBridgeAdapter__factory(),
|
|
5
|
-
portalAdapter: new PortalAdapter__factory(),
|
|
6
|
-
liquidityLayerRouter: new LiquidityLayerRouter__factory(),
|
|
7
|
-
...proxiedFactories,
|
|
8
|
-
};
|
|
9
|
-
//# sourceMappingURL=contracts.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/contracts.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,4BAA4B,EAC5B,6BAA6B,EAC7B,sBAAsB,GACvB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAEzD,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,mBAAmB,EAAE,IAAI,4BAA4B,EAAE;IACvD,aAAa,EAAE,IAAI,sBAAsB,EAAE;IAC3C,oBAAoB,EAAE,IAAI,6BAA6B,EAAE;IACzD,GAAG,gBAAgB;CACpB,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"liquidity-layer.hardhat-test.d.ts","sourceRoot":"","sources":["../../../src/middleware/liquidity-layer/liquidity-layer.hardhat-test.ts"],"names":[],"mappings":""}
|