@across-protocol/sdk 4.3.126 → 4.3.128
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/cjs/src/providers/cachedProvider.js +3 -0
- package/dist/cjs/src/providers/cachedProvider.js.map +1 -1
- package/dist/cjs/src/providers/retryProvider.js +1 -1
- package/dist/cjs/src/providers/retryProvider.js.map +1 -1
- package/dist/cjs/test/constants.d.ts +58 -8
- package/dist/cjs/test/constants.js +70 -13
- package/dist/cjs/test/constants.js.map +1 -1
- package/dist/cjs/test/fixtures/MerkleLib.Fixture.d.ts +4 -0
- package/dist/cjs/test/fixtures/MerkleLib.Fixture.js +22 -0
- package/dist/cjs/test/fixtures/MerkleLib.Fixture.js.map +1 -0
- package/dist/cjs/test/fixtures/SpokePool.Fixture.d.ts +91 -1
- package/dist/cjs/test/fixtures/SpokePool.Fixture.js +196 -1
- package/dist/cjs/test/fixtures/SpokePool.Fixture.js.map +1 -1
- package/dist/cjs/test/types/index.d.ts +10 -11
- package/dist/cjs/test/utils/MerkleLib.utils.d.ts +26 -1
- package/dist/cjs/test/utils/MerkleLib.utils.js +40 -0
- package/dist/cjs/test/utils/MerkleLib.utils.js.map +1 -1
- package/dist/cjs/test/utils/index.d.ts +0 -1
- package/dist/cjs/test/utils/index.js +1 -2
- package/dist/cjs/test/utils/index.js.map +1 -1
- package/dist/cjs/test/utils/utils.d.ts +44 -17
- package/dist/cjs/test/utils/utils.js +223 -37
- package/dist/cjs/test/utils/utils.js.map +1 -1
- package/dist/cjs/test-utils.d.ts +1 -1
- package/dist/cjs/test-utils.js +47 -12
- package/dist/cjs/test-utils.js.map +1 -1
- package/dist/esm/src/providers/cachedProvider.js +4 -0
- package/dist/esm/src/providers/cachedProvider.js.map +1 -1
- package/dist/esm/src/providers/retryProvider.js +3 -3
- package/dist/esm/src/providers/retryProvider.js.map +1 -1
- package/dist/esm/test/constants.d.ts +58 -8
- package/dist/esm/test/constants.js +87 -13
- package/dist/esm/test/constants.js.map +1 -1
- package/dist/esm/test/fixtures/MerkleLib.Fixture.d.ts +4 -0
- package/dist/esm/test/fixtures/MerkleLib.Fixture.js +19 -0
- package/dist/esm/test/fixtures/MerkleLib.Fixture.js.map +1 -0
- package/dist/esm/test/fixtures/SpokePool.Fixture.d.ts +92 -1
- package/dist/esm/test/fixtures/SpokePool.Fixture.js +201 -1
- package/dist/esm/test/fixtures/SpokePool.Fixture.js.map +1 -1
- package/dist/esm/test/types/index.d.ts +10 -11
- package/dist/esm/test/utils/MerkleLib.utils.d.ts +32 -1
- package/dist/esm/test/utils/MerkleLib.utils.js +44 -0
- package/dist/esm/test/utils/MerkleLib.utils.js.map +1 -1
- package/dist/esm/test/utils/index.d.ts +0 -1
- package/dist/esm/test/utils/index.js +0 -2
- package/dist/esm/test/utils/index.js.map +1 -1
- package/dist/esm/test/utils/utils.d.ts +44 -17
- package/dist/esm/test/utils/utils.js +205 -29
- package/dist/esm/test/utils/utils.js.map +1 -1
- package/dist/esm/test-utils.d.ts +1 -1
- package/dist/esm/test-utils.js +1 -1
- package/dist/esm/test-utils.js.map +1 -1
- package/dist/types/src/providers/cachedProvider.d.ts.map +1 -1
- package/dist/types/test/constants.d.ts +58 -8
- package/dist/types/test/constants.d.ts.map +1 -1
- package/dist/types/test/fixtures/MerkleLib.Fixture.d.ts +5 -0
- package/dist/types/test/fixtures/MerkleLib.Fixture.d.ts.map +1 -0
- package/dist/types/test/fixtures/SpokePool.Fixture.d.ts +92 -1
- package/dist/types/test/fixtures/SpokePool.Fixture.d.ts.map +1 -1
- package/dist/types/test/types/index.d.ts +10 -11
- package/dist/types/test/types/index.d.ts.map +1 -1
- package/dist/types/test/utils/MerkleLib.utils.d.ts +32 -1
- package/dist/types/test/utils/MerkleLib.utils.d.ts.map +1 -1
- package/dist/types/test/utils/index.d.ts +0 -1
- package/dist/types/test/utils/index.d.ts.map +1 -1
- package/dist/types/test/utils/utils.d.ts +44 -17
- package/dist/types/test/utils/utils.d.ts.map +1 -1
- package/dist/types/test-utils.d.ts +1 -1
- package/dist/types/test-utils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/providers/cachedProvider.ts +5 -0
- package/src/providers/retryProvider.ts +3 -3
|
@@ -2,9 +2,100 @@ import "@nomiclabs/hardhat-ethers";
|
|
|
2
2
|
import "@openzeppelin/hardhat-upgrades";
|
|
3
3
|
import "hardhat-deploy";
|
|
4
4
|
import hre from "hardhat";
|
|
5
|
-
import { Contract } from "ethers";
|
|
5
|
+
import { BigNumber, Contract } from "ethers";
|
|
6
|
+
import type { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
|
|
6
7
|
import { zeroAddress } from "../constants";
|
|
7
8
|
export { zeroAddress };
|
|
9
|
+
/** V2-era relay data with string chain IDs / deposit IDs */
|
|
10
|
+
export interface ContractRelayData {
|
|
11
|
+
depositor: string;
|
|
12
|
+
recipient: string;
|
|
13
|
+
destinationToken: string;
|
|
14
|
+
amount: BigNumber;
|
|
15
|
+
realizedLpFeePct: BigNumber;
|
|
16
|
+
relayerFeePct: BigNumber;
|
|
17
|
+
depositId: string;
|
|
18
|
+
originChainId: string;
|
|
19
|
+
destinationChainId: string;
|
|
20
|
+
message: string;
|
|
21
|
+
}
|
|
22
|
+
export interface V3RelayData {
|
|
23
|
+
depositor: string;
|
|
24
|
+
recipient: string;
|
|
25
|
+
exclusiveRelayer: string;
|
|
26
|
+
inputToken: string;
|
|
27
|
+
outputToken: string;
|
|
28
|
+
inputAmount: BigNumber;
|
|
29
|
+
outputAmount: BigNumber;
|
|
30
|
+
originChainId: number;
|
|
31
|
+
depositId: BigNumber;
|
|
32
|
+
fillDeadline: number;
|
|
33
|
+
exclusivityDeadline: number;
|
|
34
|
+
message: string;
|
|
35
|
+
}
|
|
36
|
+
export interface V3RelayExecutionParams {
|
|
37
|
+
relay: V3RelayData;
|
|
38
|
+
relayHash: string;
|
|
39
|
+
updatedOutputAmount: BigNumber;
|
|
40
|
+
updatedRecipient: string;
|
|
41
|
+
updatedMessage: string;
|
|
42
|
+
repaymentChainId: number;
|
|
43
|
+
}
|
|
44
|
+
export interface SlowFill {
|
|
45
|
+
relayData: ContractRelayData;
|
|
46
|
+
payoutAdjustmentPct: BigNumber;
|
|
47
|
+
}
|
|
48
|
+
export interface V3SlowFill {
|
|
49
|
+
relayData: V3RelayData;
|
|
50
|
+
chainId: number;
|
|
51
|
+
updatedOutputAmount: BigNumber;
|
|
52
|
+
}
|
|
53
|
+
export interface UpdatedRelayerFeeData {
|
|
54
|
+
newRelayerFeePct: string;
|
|
55
|
+
depositorMessageHash: string;
|
|
56
|
+
depositorSignature: string;
|
|
57
|
+
}
|
|
58
|
+
export declare const enum FillType {
|
|
59
|
+
FastFill = 0,
|
|
60
|
+
ReplacedSlowFill = 1,
|
|
61
|
+
SlowFill = 2
|
|
62
|
+
}
|
|
63
|
+
export declare const enum FillStatus {
|
|
64
|
+
Unfilled = 0,
|
|
65
|
+
RequestedSlowFill = 1,
|
|
66
|
+
Filled = 2
|
|
67
|
+
}
|
|
68
|
+
export declare function getRelayHash(_depositor: string, _recipient: string, _depositId: number, _originChainId: number, _destinationChainId: number, _destinationToken: string, _amount?: BigNumber, _realizedLpFeePct?: BigNumber, _relayerFeePct?: BigNumber, _message?: string): {
|
|
69
|
+
relayHash: string;
|
|
70
|
+
relayData: ContractRelayData;
|
|
71
|
+
};
|
|
72
|
+
export declare function getV3RelayHash(relayData: V3RelayData, destChainId: number): string;
|
|
73
|
+
export declare function getLegacyV3RelayHash(relayData: V3RelayData, destChainId: number): string;
|
|
74
|
+
export declare function getDepositParams(args: {
|
|
75
|
+
recipient?: string;
|
|
76
|
+
originToken: string;
|
|
77
|
+
amount: BigNumber;
|
|
78
|
+
destinationChainId: number;
|
|
79
|
+
relayerFeePct: BigNumber;
|
|
80
|
+
quoteTimestamp: number;
|
|
81
|
+
message?: string;
|
|
82
|
+
maxCount?: BigNumber;
|
|
83
|
+
}): string[];
|
|
84
|
+
export declare function getFillRelayParams(_relayData: ContractRelayData, _maxTokensToSend: BigNumber, _repaymentChain?: number, _maxCount?: BigNumber): string[];
|
|
85
|
+
export declare function getFillRelayUpdatedFeeParams(_relayData: ContractRelayData, _maxTokensToSend: BigNumber, _updatedFee: BigNumber, _signature: string, _repaymentChain?: number, _updatedRecipient?: string, _updatedMessage?: string, _maxCount?: BigNumber): string[];
|
|
86
|
+
export declare function getExecuteSlowRelayParams(_depositor: string, _recipient: string, _destToken: string, _amount: BigNumber, _originChainId: number, _realizedLpFeePct: BigNumber, _relayerFeePct: BigNumber, _depositId: number, _relayerRefundId: number, _message: string, _payoutAdjustment: BigNumber, _proof: string[]): (string | string[])[];
|
|
87
|
+
export declare function modifyRelayHelper(modifiedRelayerFeePct: BigNumber, depositId: string, originChainId: string, depositor: SignerWithAddress, updatedRecipient: string, updatedMessage: string): Promise<{
|
|
88
|
+
signature: string;
|
|
89
|
+
}>;
|
|
90
|
+
export declare function getUpdatedV3DepositSignature(depositor: SignerWithAddress, depositId: BigNumber, originChainId: number, updatedOutputAmount: BigNumber, updatedRecipient: string, updatedMessage: string): Promise<string>;
|
|
91
|
+
export declare function deployMockSpokePoolCaller(spokePool: Contract, rootBundleId: number, leaf: {
|
|
92
|
+
amountToReturn: BigNumber;
|
|
93
|
+
chainId: BigNumber;
|
|
94
|
+
refundAmounts: BigNumber[];
|
|
95
|
+
leafId: BigNumber;
|
|
96
|
+
l2TokenAddress: string;
|
|
97
|
+
refundAddresses: string[];
|
|
98
|
+
}, proof: string[]): Promise<Contract>;
|
|
8
99
|
/**
|
|
9
100
|
* Deploys a SpokePool with associated tokens for testing.
|
|
10
101
|
* This is a local implementation that uses our local getContractFactory
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePool.Fixture.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/SpokePool.Fixture.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,gCAAgC,CAAC;AACxC,OAAO,gBAAgB,CAAC;AACxB,OAAO,GAAG,MAAM,SAAS,CAAC;AAC1B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"SpokePool.Fixture.d.ts","sourceRoot":"","sources":["../../../../test/fixtures/SpokePool.Fixture.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
import { HardhatEthersHelpers } from "@nomiclabs/hardhat-ethers/types";
|
|
2
|
-
import type { ethers } from "ethers";
|
|
2
|
+
import type { ethers, Contract, BigNumber } from "ethers";
|
|
3
3
|
import winston from "winston";
|
|
4
|
-
import * as utils from "@across-protocol/contracts/dist/test-utils";
|
|
5
4
|
import { sinon } from "../utils";
|
|
6
5
|
export type EthersTestLibrary = typeof ethers & HardhatEthersHelpers;
|
|
7
6
|
export type SpyLoggerResult = {
|
|
@@ -9,20 +8,20 @@ export type SpyLoggerResult = {
|
|
|
9
8
|
spyLogger: winston.Logger;
|
|
10
9
|
};
|
|
11
10
|
export type SpokePoolDeploymentResult = {
|
|
12
|
-
weth:
|
|
13
|
-
erc20:
|
|
14
|
-
spokePool:
|
|
15
|
-
unwhitelistedErc20:
|
|
16
|
-
destErc20:
|
|
11
|
+
weth: Contract;
|
|
12
|
+
erc20: Contract;
|
|
13
|
+
spokePool: Contract;
|
|
14
|
+
unwhitelistedErc20: Contract;
|
|
15
|
+
destErc20: Contract;
|
|
17
16
|
deploymentBlock: number;
|
|
18
17
|
};
|
|
19
18
|
export type ContractsV2SlowFillRelayData = {
|
|
20
19
|
depositor: string;
|
|
21
20
|
recipient: string;
|
|
22
21
|
destinationToken: string;
|
|
23
|
-
amount:
|
|
24
|
-
realizedLpFeePct:
|
|
25
|
-
relayerFeePct:
|
|
22
|
+
amount: BigNumber;
|
|
23
|
+
realizedLpFeePct: BigNumber;
|
|
24
|
+
relayerFeePct: BigNumber;
|
|
26
25
|
depositId: string;
|
|
27
26
|
originChainId: string;
|
|
28
27
|
destinationChainId: string;
|
|
@@ -30,6 +29,6 @@ export type ContractsV2SlowFillRelayData = {
|
|
|
30
29
|
};
|
|
31
30
|
export type ContractsV2SlowFill = {
|
|
32
31
|
relayData: ContractsV2SlowFillRelayData;
|
|
33
|
-
payoutAdjustmentPct:
|
|
32
|
+
payoutAdjustmentPct: BigNumber;
|
|
34
33
|
};
|
|
35
34
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAC;AACvE,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEjC,MAAM,MAAM,iBAAiB,GAAG,OAAO,MAAM,GAAG,oBAAoB,CAAC;AACrE,MAAM,MAAM,eAAe,GAAG;IAC5B,GAAG,EAAE,KAAK,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,OAAO,CAAC,CAAC;IACxC,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,QAAQ,CAAC;IAChB,SAAS,EAAE,QAAQ,CAAC;IACpB,kBAAkB,EAAE,QAAQ,CAAC;IAC7B,SAAS,EAAE,QAAQ,CAAC;IACpB,eAAe,EAAE,MAAM,CAAC;CACzB,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,SAAS,CAAC;IAClB,gBAAgB,EAAE,SAAS,CAAC;IAC5B,aAAa,EAAE,SAAS,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,SAAS,EAAE,4BAA4B,CAAC;IACxC,mBAAmB,EAAE,SAAS,CAAC;CAChC,CAAC"}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* These are reimplementations of the utilities from @across-protocol/contracts
|
|
4
4
|
* to avoid dependency on their getContractFactory which looks for Hardhat artifacts.
|
|
5
5
|
*/
|
|
6
|
-
import { BigNumber, ethers } from "ethers";
|
|
6
|
+
import { BigNumber, Contract, ethers } from "ethers";
|
|
7
7
|
import { MerkleTree } from "@across-protocol/contracts/dist/utils/MerkleTree";
|
|
8
8
|
/**
|
|
9
9
|
* Get the parameter type for a contract function parameter.
|
|
@@ -64,4 +64,35 @@ export declare function buildSlowRelayTree(slowFills: unknown[]): Promise<Merkle
|
|
|
64
64
|
* Build a V3 slow relay Merkle tree.
|
|
65
65
|
*/
|
|
66
66
|
export declare function buildV3SlowRelayTree(slowFills: unknown[]): Promise<MerkleTree<unknown>>;
|
|
67
|
+
/**
|
|
68
|
+
* Construct a single-leaf relayer refund tree.
|
|
69
|
+
*/
|
|
70
|
+
export declare function constructSingleRelayerRefundTree(l2Token: Contract | string, destinationChainId: number, amount?: BigNumber): Promise<{
|
|
71
|
+
leaves: {
|
|
72
|
+
leafId: BigNumber;
|
|
73
|
+
chainId: BigNumber;
|
|
74
|
+
amountToReturn: BigNumber;
|
|
75
|
+
l2TokenAddress: string;
|
|
76
|
+
refundAddresses: string[];
|
|
77
|
+
refundAmounts: BigNumber[];
|
|
78
|
+
}[];
|
|
79
|
+
tree: MerkleTree<unknown>;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Construct a single-chain pool rebalance tree.
|
|
83
|
+
*/
|
|
84
|
+
export declare function constructSingleChainTree(token: string, scalingSize?: number, repaymentChain?: number, decimals?: number): Promise<{
|
|
85
|
+
tokensSendToL2: BigNumber;
|
|
86
|
+
realizedLpFees: BigNumber;
|
|
87
|
+
leaves: {
|
|
88
|
+
leafId: BigNumber;
|
|
89
|
+
chainId: BigNumber;
|
|
90
|
+
groupIndex: BigNumber;
|
|
91
|
+
bundleLpFees: BigNumber[];
|
|
92
|
+
netSendAmounts: BigNumber[];
|
|
93
|
+
runningBalances: BigNumber[];
|
|
94
|
+
l1Tokens: string[];
|
|
95
|
+
}[];
|
|
96
|
+
tree: MerkleTree<unknown>;
|
|
97
|
+
}>;
|
|
67
98
|
//# sourceMappingURL=MerkleLib.utils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MerkleLib.utils.d.ts","sourceRoot":"","sources":["../../../../test/utils/MerkleLib.utils.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"MerkleLib.utils.d.ts","sourceRoot":"","sources":["../../../../test/utils/MerkleLib.utils.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../test/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,2BAA2B,CAAC;AACnC,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,KAAK,EAAE,MAAM,wBAAwB,CAAC;AAE/C,cAAc,SAAS,CAAC;AACxB,cAAc,mBAAmB,CAAC;AAClC,cAAc,kBAAkB,CAAC;AACjC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,aAAa,CAAC"}
|
|
@@ -1,47 +1,74 @@
|
|
|
1
1
|
import { AcrossConfigStore } from "@across-protocol/contracts";
|
|
2
|
-
import * as utils from "@across-protocol/contracts/dist/test-utils";
|
|
3
2
|
import chai, { expect } from "chai";
|
|
4
|
-
import { Contract, providers } from "ethers";
|
|
3
|
+
import { ethers, BaseContract, Contract, providers, Signer } from "ethers";
|
|
4
|
+
import { FakeContract } from "@defi-wonderland/smock";
|
|
5
5
|
import sinon from "sinon";
|
|
6
6
|
import winston from "winston";
|
|
7
|
+
import type { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
|
|
7
8
|
import { AcrossConfigStoreClient as ConfigStoreClient } from "../../src/clients";
|
|
8
9
|
import { Deposit, DepositWithBlock, FillWithBlock, RelayData, SlowFillRequestWithBlock } from "../../src/interfaces";
|
|
9
10
|
import { Address, BigNumber, BigNumberish, toBN, toBNWei, toWei, utf8ToHex } from "../../src/utils";
|
|
11
|
+
import { randomAddress, zeroAddress } from "../constants";
|
|
10
12
|
import { SpokePoolDeploymentResult, SpyLoggerResult } from "../types";
|
|
11
13
|
declare const chaiAssert: Chai.AssertStatic;
|
|
12
|
-
export
|
|
13
|
-
export
|
|
14
|
-
export {
|
|
14
|
+
export { ethers };
|
|
15
|
+
export type { SignerWithAddress };
|
|
16
|
+
export { getDepositParams, getUpdatedV3DepositSignature, modifyRelayHelper, getRelayHash, getV3RelayHash, getLegacyV3RelayHash, getFillRelayParams, getFillRelayUpdatedFeeParams, getExecuteSlowRelayParams, deployMockSpokePoolCaller, } from "../fixtures/SpokePool.Fixture";
|
|
17
|
+
export type { ContractRelayData, V3RelayData, V3RelayExecutionParams, SlowFill, V3SlowFill, UpdatedRelayerFeeData, } from "../fixtures/SpokePool.Fixture";
|
|
18
|
+
export { FillType, FillStatus } from "../fixtures/SpokePool.Fixture";
|
|
19
|
+
export { randomAddress, zeroAddress };
|
|
20
|
+
export { buildPoolRebalanceLeafTree, buildPoolRebalanceLeaves, buildRelayerRefundTree, buildRelayerRefundLeaves, buildSlowRelayTree, buildV3SlowRelayTree, getParamType, constructSingleRelayerRefundTree, constructSingleChainTree, } from "./MerkleLib.utils";
|
|
15
21
|
import { getContractFactory } from "./getContractFactory";
|
|
16
22
|
export { getContractFactory };
|
|
17
23
|
import { hubPoolFixture, deployHubPool } from "../fixtures/HubPool.Fixture";
|
|
18
24
|
import { spokePoolFixture, deploySpokePool } from "../fixtures/SpokePool.Fixture";
|
|
19
25
|
export { hubPoolFixture, deployHubPool, spokePoolFixture, deploySpokePool };
|
|
26
|
+
export { merkleLibFixture } from "../fixtures/MerkleLib.Fixture";
|
|
20
27
|
export { BigNumber, Contract, chai, chaiAssert, expect, sinon, toBN, toBNWei, toWei, utf8ToHex, winston };
|
|
28
|
+
declare const defaultAbiCoder: ethers.utils.AbiCoder, keccak256: typeof ethers.utils.keccak256;
|
|
29
|
+
export { defaultAbiCoder, keccak256, Signer, FakeContract };
|
|
30
|
+
export declare const toWeiWithDecimals: (num: string | number | BigNumber, decimals: number) => BigNumber;
|
|
31
|
+
export declare const toBNWeiWithDecimals: (num: string | number | BigNumber, decimals: number) => BigNumber;
|
|
32
|
+
export declare const fromWei: (num: string | number | BigNumber) => string;
|
|
33
|
+
export declare const hexToUtf8: (input: string) => string;
|
|
34
|
+
export declare const hexZeroPad: (input: string, length: number) => string;
|
|
35
|
+
export declare const addressToBytes: (input: string) => string;
|
|
36
|
+
export declare const bytes32ToAddress: (input: string) => string;
|
|
37
|
+
export declare const isBytes32: (input: string) => boolean;
|
|
38
|
+
export declare function randomBigNumber(bytes?: number, signed?: boolean): BigNumber;
|
|
39
|
+
export declare function randomBytes32(): string;
|
|
40
|
+
export declare function seedWallet(walletToFund: Signer, tokens: Contract[], weth: Contract | undefined, amountToSeedWith: number | BigNumber): Promise<void>;
|
|
41
|
+
export declare function seedContract(contract: Contract, walletToFund: Signer, tokens: Contract[], weth: Contract | undefined, amountToSeedWith: number | BigNumber): Promise<void>;
|
|
42
|
+
export declare function createFake(contractName: string, targetAddress?: string): Promise<FakeContract<BaseContract>>;
|
|
43
|
+
export declare function createFakeFromABI(abi: unknown[], targetAddress?: string): Promise<FakeContract<BaseContract>>;
|
|
44
|
+
export declare function createTypedFakeFromABI<T extends BaseContract>(abi: unknown[], targetAddress?: string): Promise<FakeContract<T>>;
|
|
45
|
+
export declare function trimSolanaAddress(bytes32Address: string): string;
|
|
46
|
+
export declare function hashNonEmptyMessage(message: string): string;
|
|
47
|
+
export declare const createRandomBytes32: () => string;
|
|
21
48
|
export declare function deepEqualsWithBigNumber(x: unknown, y: unknown, omitKeys?: string[]): boolean;
|
|
22
49
|
export declare function assertPromiseError<T>(promise: Promise<T>, errMessage?: string): Promise<void>;
|
|
23
50
|
export declare function assertPromisePasses<T>(promise: Promise<T>): Promise<void>;
|
|
24
|
-
export declare function setupTokensForWallet(contractToApprove:
|
|
51
|
+
export declare function setupTokensForWallet(contractToApprove: Contract, wallet: SignerWithAddress, tokens: Contract[], weth?: Contract, seedMultiplier?: number): Promise<void>;
|
|
25
52
|
export declare function createSpyLogger(): SpyLoggerResult;
|
|
26
53
|
export declare function deploySpokePoolWithToken(fromChainId?: number): Promise<SpokePoolDeploymentResult>;
|
|
27
|
-
export declare function deployConfigStore(signer:
|
|
54
|
+
export declare function deployConfigStore(signer: SignerWithAddress, tokensToAdd: Contract[], maxL1TokensPerPoolRebalanceLeaf?: number, maxRefundPerRelayerRefundLeaf?: number, rateModel?: unknown, additionalChainIdIndices?: number[]): Promise<{
|
|
28
55
|
configStore: AcrossConfigStore;
|
|
29
56
|
deploymentBlock: number;
|
|
30
57
|
}>;
|
|
31
|
-
export declare function deployAndConfigureHubPool(signer:
|
|
58
|
+
export declare function deployAndConfigureHubPool(signer: SignerWithAddress, spokePools: {
|
|
32
59
|
l2ChainId: number;
|
|
33
|
-
spokePool:
|
|
60
|
+
spokePool: Contract;
|
|
34
61
|
}[], finderAddress?: string, timerAddress?: string): Promise<{
|
|
35
|
-
hubPool:
|
|
36
|
-
mockAdapter:
|
|
37
|
-
l1Token_1:
|
|
38
|
-
l1Token_2:
|
|
62
|
+
hubPool: Contract;
|
|
63
|
+
mockAdapter: Contract;
|
|
64
|
+
l1Token_1: Contract;
|
|
65
|
+
l1Token_2: Contract;
|
|
39
66
|
hubPoolDeploymentBlock: number;
|
|
40
67
|
}>;
|
|
41
|
-
export declare function enableRoutesOnHubPool(hubPool:
|
|
68
|
+
export declare function enableRoutesOnHubPool(hubPool: Contract, rebalanceRouteTokens: {
|
|
42
69
|
destinationChainId: number;
|
|
43
|
-
l1Token:
|
|
44
|
-
destinationToken:
|
|
70
|
+
l1Token: Contract;
|
|
71
|
+
destinationToken: Contract;
|
|
45
72
|
}[]): Promise<void>;
|
|
46
73
|
/**
|
|
47
74
|
* Takes as input a body and returns a new object with the body and a message property. Used to appease the typescript
|
|
@@ -53,7 +80,7 @@ export declare function appendMessageToResult<T>(body: T): T & {
|
|
|
53
80
|
message: string;
|
|
54
81
|
};
|
|
55
82
|
export declare function getLastBlockTime(provider: providers.Provider): Promise<number>;
|
|
56
|
-
export declare function addLiquidity(signer:
|
|
83
|
+
export declare function addLiquidity(signer: SignerWithAddress, hubPool: Contract, l1Token: Contract, amount: BigNumber): Promise<void>;
|
|
57
84
|
export declare function deposit(spokePool: Contract, destinationChainId: number, signer: SignerWithAddress, inputToken: Address, inputAmount: BigNumber, outputToken: Address, outputAmount: BigNumber, opts?: {
|
|
58
85
|
destinationChainId?: number;
|
|
59
86
|
recipient?: Address;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../test/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../test/utils/utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAE/D,OAAO,IAAI,EAAE,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAEpC,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE3E,OAAO,EAAE,YAAY,EAAS,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAC;AAC3E,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAA4B,MAAM,mBAAmB,CAAC;AAE3G,OAAO,EAAE,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,SAAS,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAC;AACrH,OAAO,EACL,OAAO,EACP,SAAS,EACT,YAAY,EAQZ,IAAI,EACJ,OAAO,EAGP,KAAK,EACL,SAAS,EACV,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAKL,aAAa,EAGb,WAAW,EACZ,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,yBAAyB,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAItE,QAAA,MAAM,UAAU,mBAAc,CAAC;AAE/B,OAAO,EAAE,MAAM,EAAE,CAAC;AAClB,YAAY,EAAE,iBAAiB,EAAE,CAAC;AAGlC,OAAO,EACL,gBAAgB,EAChB,4BAA4B,EAC5B,iBAAiB,EACjB,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,4BAA4B,EAC5B,yBAAyB,EACzB,yBAAyB,GAC1B,MAAM,+BAA+B,CAAC;AACvC,YAAY,EACV,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,QAAQ,EACR,UAAU,EACV,qBAAqB,GACtB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,+BAA+B,CAAC;AAGrE,OAAO,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AAGtC,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,EACZ,gCAAgC,EAChC,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,CAAC;AAG9B,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAC;AAClF,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AAG5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,+BAA+B,CAAC;AAEjE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,CAAC;AAG1G,QAAA,MAAQ,eAAe,yBAAE,SAAS,+BAAiB,CAAC;AACpD,OAAO,EAAE,eAAe,EAAE,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,CAAC;AAM5D,eAAO,MAAM,iBAAiB,GAAI,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,KAAG,SACpC,CAAC;AAEpD,eAAO,MAAM,mBAAmB,GAAI,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,EAAE,UAAU,MAAM,KAAG,SACvC,CAAC;AAEnD,eAAO,MAAM,OAAO,GAAI,KAAK,MAAM,GAAG,MAAM,GAAG,SAAS,KAAG,MAAkD,CAAC;AAE9G,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,MAA0C,CAAC;AAErF,eAAO,MAAM,UAAU,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,KAAG,MAAgD,CAAC;AAE5G,eAAO,MAAM,cAAc,GAAI,OAAO,MAAM,KAAG,MAA6C,CAAC;AAE7F,eAAO,MAAM,gBAAgB,GAAI,OAAO,MAAM,KAAG,MAKhD,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,MAAM,KAAG,OAA4C,CAAC;AAMvF,wBAAgB,eAAe,CAAC,KAAK,SAAK,EAAE,MAAM,UAAQ,GAAG,SAAS,CAIrE;AAED,wBAAgB,aAAa,IAAI,MAAM,CAEtC;AAMD,wBAAsB,UAAU,CAC9B,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,QAAQ,EAAE,EAClB,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,iBAKrC;AAED,wBAAsB,YAAY,CAChC,QAAQ,EAAE,QAAQ,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,QAAQ,EAAE,EAClB,IAAI,EAAE,QAAQ,GAAG,SAAS,EAC1B,gBAAgB,EAAE,MAAM,GAAG,SAAS,GACnC,OAAO,CAAC,IAAI,CAAC,CAIf;AAMD,wBAAsB,UAAU,CAAC,YAAY,EAAE,MAAM,EAAE,aAAa,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAM9G;AAED,wBAAsB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE,aAAa,SAAK,GAAG,OAAO,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC,CAE/G;AAED,wBAAsB,sBAAsB,CAAC,CAAC,SAAS,YAAY,EACjE,GAAG,EAAE,OAAO,EAAE,EACd,aAAa,SAAK,GACjB,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAM1B;AAMD,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAMhE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAO3D;AAMD,eAAO,MAAM,mBAAmB,cAA2D,CAAC;AAM5F,wBAAgB,uBAAuB,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAM,EAAO,GAAG,OAAO,CAkBhG;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,UAAU,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAcnG;AACD,wBAAsB,mBAAmB,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC,CAO/E;AAED,wBAAsB,oBAAoB,CACxC,iBAAiB,EAAE,QAAQ,EAC3B,MAAM,EAAE,iBAAiB,EACzB,MAAM,EAAE,QAAQ,EAAE,EAClB,IAAI,CAAC,EAAE,QAAQ,EACf,cAAc,SAAI,GACjB,OAAO,CAAC,IAAI,CAAC,CAYf;AAED,wBAAgB,eAAe,IAAI,eAAe,CAYjD;AAED,wBAAsB,wBAAwB,CAAC,WAAW,SAAI,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAOlG;AAED,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,iBAAiB,EACzB,WAAW,EAAE,QAAQ,EAAE,EACvB,+BAA+B,GAAE,MAA8C,EAC/E,6BAA6B,GAAE,MAA4C,EAC3E,SAAS,GAAE,OAAyB,EACpC,wBAAwB,CAAC,EAAE,MAAM,EAAE,GAClC,OAAO,CAAC;IAAE,WAAW,EAAE,iBAAiB,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC,CA4BtE;AAED,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE;IAAE,SAAS,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,QAAQ,CAAA;CAAE,EAAE,EACxD,aAAa,GAAE,MAAoB,EACnC,YAAY,GAAE,MAAoB,GACjC,OAAO,CAAC;IACT,OAAO,EAAE,QAAQ,CAAC;IAClB,WAAW,EAAE,QAAQ,CAAC;IACtB,SAAS,EAAE,QAAQ,CAAC;IACpB,SAAS,EAAE,QAAQ,CAAC;IACpB,sBAAsB,EAAE,MAAM,CAAC;CAChC,CAAC,CAmBD;AAED,wBAAsB,qBAAqB,CACzC,OAAO,EAAE,QAAQ,EACjB,oBAAoB,EAAE;IAAE,kBAAkB,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAC;IAAC,gBAAgB,EAAE,QAAQ,CAAA;CAAE,EAAE,GACpG,OAAO,CAAC,IAAI,CAAC,CAKf;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,GAAG,CAAC,GAAG;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAEzE;AAED,wBAAsB,gBAAgB,CAAC,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,MAAM,CAAC,CAEpF;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,iBAAiB,EACzB,OAAO,EAAE,QAAQ,EACjB,OAAO,EAAE,QAAQ,EACjB,MAAM,EAAE,SAAS,GAChB,OAAO,CAAC,IAAI,CAAC,CAKf;AAED,wBAAgB,OAAO,CACrB,SAAS,EAAE,QAAQ,EACnB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,SAAS,EACvB,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AAED,wBAAgB,SAAS,CACvB,SAAS,EAAE,QAAQ,EACnB,kBAAkB,EAAE,MAAM,EAC1B,MAAM,EAAE,iBAAiB,EACzB,UAAU,EAAE,OAAO,EACnB,WAAW,EAAE,SAAS,EACtB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,SAAS,EACvB,IAAI,GAAE;IACJ,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;CACvB,GACL,OAAO,CAAC,gBAAgB,CAAC,CAK3B;AA0FD,wBAAsB,iBAAiB,CACrC,SAAS,EAAE,QAAQ,EACnB,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,iBAAiB,GACxB,OAAO,CAAC,wBAAwB,CAAC,CAyCnC;AAED,wBAAsB,SAAS,CAC7B,SAAS,EAAE,QAAQ,EACnB,QAAQ,EAAE,IAAI,CAAC,OAAO,EAAE,oBAAoB,CAAC,EAC7C,MAAM,EAAE,iBAAiB,EACzB,SAAS,CAAC,EAAE;IACV,gBAAgB,EAAE,MAAM,CAAC;IACzB,gBAAgB,EAAE,OAAO,CAAC;CAC3B,GACA,OAAO,CAAC,aAAa,CAAC,CAsDxB;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC,CAEpD;AAED,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,IAAI,iBAAiB,CAExF;AAKD,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,OAAO,CAAC,OAAO,CAAC,iBAAiB,GAAG,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAgBjH;AAsBD,wBAAgB,6BAA6B,CAC3C,MAAM,EAAE,YAAY,EACpB,WAAW,EAAE,MAAM,EACnB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE,MAAM,GAChB,OAAO,CA8BT"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export * from "./test/utils/utils";
|
|
2
|
-
export {
|
|
2
|
+
export { TokenRolesEnum, destinationChainId, originChainId, repaymentChainId, maxUint256, MAX_UINT32, MAX_EXCLUSIVITY_OFFSET_SECONDS, amountToSeedWallets, amountToLp, amountToDeposit, amountToRelay, depositRelayerFeePct, modifiedRelayerFeePct, incorrectModifiedRelayerFeePct, realizedLpFeePct, oneHundredPct, totalPostFeesPct, totalPostModifiedFeesPct, amountToRelayPreFees, amountReceived, amountToRelayPreModifiedFees, amountToRelayPreLPFee, firstDepositId, bondAmount, finalFee, finalFeeUsdc, finalFeeUsdt, totalBond, refundProposalLiveness, zeroAddress, zeroBytes32, identifier, zeroRawValue, mockBundleEvaluationBlockNumbers, mockPoolRebalanceLeafCount, mockPoolRebalanceRoot, mockRelayerRefundRoot, mockSlowRelayRoot, mockTreeRoot, amountHeldByPool, amountToReturn, sampleL2Gas, sampleL2GasSendTokens, sampleL2MaxSubmissionCost, sampleL2GasPrice, maxRefundsPerRelayerRefundLeaf, maxL1TokensPerPoolRebalanceLeaf, l1TokenTransferThreshold, MAX_REFUNDS_PER_RELAYER_REFUND_LEAF, MAX_L1_TOKENS_PER_POOL_REBALANCE_LEAF, sampleRateModel, CONFIG_STORE_VERSION, randomAddress, randomL1Token, randomOriginToken, randomDestinationToken, randomDestinationToken2, CHAIN_ID_TEST_LIST, } from "./test/constants";
|
|
3
3
|
export { deploySpokePool, spokePoolFixture } from "./test/fixtures/SpokePool.Fixture";
|
|
4
4
|
export { deployHubPool, hubPoolFixture } from "./test/fixtures/HubPool.Fixture";
|
|
5
5
|
export { buildPoolRebalanceLeafTree, buildPoolRebalanceLeaves, buildRelayerRefundTree, buildRelayerRefundLeaves, buildSlowRelayTree, buildV3SlowRelayTree, getParamType, } from "./test/utils/MerkleLib.utils";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../test-utils.ts"],"names":[],"mappings":"AAOA,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"test-utils.d.ts","sourceRoot":"","sources":["../../test-utils.ts"],"names":[],"mappings":"AAOA,cAAc,oBAAoB,CAAC;AAGnC,OAAO,EACL,cAAc,EACd,kBAAkB,EAClB,aAAa,EACb,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,8BAA8B,EAC9B,mBAAmB,EACnB,UAAU,EACV,eAAe,EACf,aAAa,EACb,oBAAoB,EACpB,qBAAqB,EACrB,8BAA8B,EAC9B,gBAAgB,EAChB,aAAa,EACb,gBAAgB,EAChB,wBAAwB,EACxB,oBAAoB,EACpB,cAAc,EACd,4BAA4B,EAC5B,qBAAqB,EACrB,cAAc,EACd,UAAU,EACV,QAAQ,EACR,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,sBAAsB,EACtB,WAAW,EACX,WAAW,EACX,UAAU,EACV,YAAY,EACZ,gCAAgC,EAChC,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,WAAW,EACX,qBAAqB,EACrB,yBAAyB,EACzB,gBAAgB,EAChB,8BAA8B,EAC9B,+BAA+B,EAC/B,wBAAwB,EACxB,mCAAmC,EACnC,qCAAqC,EACrC,eAAe,EACf,oBAAoB,EACpB,aAAa,EACb,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,mCAAmC,CAAC;AACtF,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,iCAAiC,CAAC;AAGhF,OAAO,EACL,0BAA0B,EAC1B,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,kBAAkB,EAClB,oBAAoB,EACpB,YAAY,GACb,MAAM,8BAA8B,CAAC;AAGtC,cAAc,cAAc,CAAC"}
|
package/package.json
CHANGED
|
@@ -59,6 +59,11 @@ export class CacheProvider extends RateLimitedProvider {
|
|
|
59
59
|
// Cache does not have the result. Query it directly and cache.
|
|
60
60
|
const result = await super.send(method, params);
|
|
61
61
|
|
|
62
|
+
// eth_getTransactionReceipt returns null for unmined/replaced txs; not cacheable.
|
|
63
|
+
if (method === "eth_getTransactionReceipt" && result == null) {
|
|
64
|
+
return result;
|
|
65
|
+
}
|
|
66
|
+
|
|
62
67
|
if (cacheType === CacheType.DECIDE_TTL_POST_SEND) {
|
|
63
68
|
const blockNumber = this.getBlockNumberFromRpcResponse(method, result);
|
|
64
69
|
cacheType = await this.cacheTypeForBlock(blockNumber);
|
|
@@ -233,9 +233,9 @@ export class RetryProvider extends ethers.providers.StaticJsonRpcProvider {
|
|
|
233
233
|
|
|
234
234
|
_validateResponse(method: string, _: Array<unknown>, response: unknown): boolean {
|
|
235
235
|
// Basic validation logic to start.
|
|
236
|
-
// Note: eth_getTransactionReceipt
|
|
237
|
-
//
|
|
238
|
-
return isDefined(response) || method === "eth_getTransactionReceipt";
|
|
236
|
+
// Note: eth_getTransactionReceipt and eth_getTransactionByHash are excluded because null responses are valid:
|
|
237
|
+
// ethers polls for receipts (null until mined), and replaced/dropped transactions return null from getTransaction.
|
|
238
|
+
return isDefined(response) || method === "eth_getTransactionReceipt" || method === "eth_getTransactionByHash";
|
|
239
239
|
}
|
|
240
240
|
|
|
241
241
|
async _sendAndValidate(
|