@across-protocol/sdk 4.3.120-alpha.1 → 4.3.120

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (59) hide show
  1. package/dist/cjs/src/utils/NetworkUtils.js +2 -0
  2. package/dist/cjs/src/utils/NetworkUtils.js.map +1 -1
  3. package/dist/cjs/test/constants.d.ts +8 -58
  4. package/dist/cjs/test/constants.js +13 -70
  5. package/dist/cjs/test/constants.js.map +1 -1
  6. package/dist/cjs/test/fixtures/SpokePool.Fixture.d.ts +1 -91
  7. package/dist/cjs/test/fixtures/SpokePool.Fixture.js +1 -196
  8. package/dist/cjs/test/fixtures/SpokePool.Fixture.js.map +1 -1
  9. package/dist/cjs/test/types/index.d.ts +11 -10
  10. package/dist/cjs/test/utils/MerkleLib.utils.d.ts +1 -26
  11. package/dist/cjs/test/utils/MerkleLib.utils.js +0 -40
  12. package/dist/cjs/test/utils/MerkleLib.utils.js.map +1 -1
  13. package/dist/cjs/test/utils/index.d.ts +1 -0
  14. package/dist/cjs/test/utils/index.js +2 -1
  15. package/dist/cjs/test/utils/index.js.map +1 -1
  16. package/dist/cjs/test/utils/utils.d.ts +17 -44
  17. package/dist/cjs/test/utils/utils.js +37 -223
  18. package/dist/cjs/test/utils/utils.js.map +1 -1
  19. package/dist/esm/src/utils/NetworkUtils.js +2 -0
  20. package/dist/esm/src/utils/NetworkUtils.js.map +1 -1
  21. package/dist/esm/test/constants.d.ts +8 -58
  22. package/dist/esm/test/constants.js +13 -87
  23. package/dist/esm/test/constants.js.map +1 -1
  24. package/dist/esm/test/fixtures/SpokePool.Fixture.d.ts +1 -92
  25. package/dist/esm/test/fixtures/SpokePool.Fixture.js +1 -201
  26. package/dist/esm/test/fixtures/SpokePool.Fixture.js.map +1 -1
  27. package/dist/esm/test/types/index.d.ts +11 -10
  28. package/dist/esm/test/utils/MerkleLib.utils.d.ts +1 -32
  29. package/dist/esm/test/utils/MerkleLib.utils.js +0 -44
  30. package/dist/esm/test/utils/MerkleLib.utils.js.map +1 -1
  31. package/dist/esm/test/utils/index.d.ts +1 -0
  32. package/dist/esm/test/utils/index.js +2 -0
  33. package/dist/esm/test/utils/index.js.map +1 -1
  34. package/dist/esm/test/utils/utils.d.ts +17 -44
  35. package/dist/esm/test/utils/utils.js +29 -205
  36. package/dist/esm/test/utils/utils.js.map +1 -1
  37. package/dist/types/src/utils/NetworkUtils.d.ts.map +1 -1
  38. package/dist/types/test/constants.d.ts +8 -58
  39. package/dist/types/test/constants.d.ts.map +1 -1
  40. package/dist/types/test/fixtures/SpokePool.Fixture.d.ts +1 -92
  41. package/dist/types/test/fixtures/SpokePool.Fixture.d.ts.map +1 -1
  42. package/dist/types/test/types/index.d.ts +11 -10
  43. package/dist/types/test/types/index.d.ts.map +1 -1
  44. package/dist/types/test/utils/MerkleLib.utils.d.ts +1 -32
  45. package/dist/types/test/utils/MerkleLib.utils.d.ts.map +1 -1
  46. package/dist/types/test/utils/index.d.ts +1 -0
  47. package/dist/types/test/utils/index.d.ts.map +1 -1
  48. package/dist/types/test/utils/utils.d.ts +17 -44
  49. package/dist/types/test/utils/utils.d.ts.map +1 -1
  50. package/package.json +1 -1
  51. package/src/utils/NetworkUtils.ts +2 -0
  52. package/dist/cjs/test/fixtures/MerkleLib.Fixture.d.ts +0 -4
  53. package/dist/cjs/test/fixtures/MerkleLib.Fixture.js +0 -22
  54. package/dist/cjs/test/fixtures/MerkleLib.Fixture.js.map +0 -1
  55. package/dist/esm/test/fixtures/MerkleLib.Fixture.d.ts +0 -4
  56. package/dist/esm/test/fixtures/MerkleLib.Fixture.js +0 -19
  57. package/dist/esm/test/fixtures/MerkleLib.Fixture.js.map +0 -1
  58. package/dist/types/test/fixtures/MerkleLib.Fixture.d.ts +0 -5
  59. package/dist/types/test/fixtures/MerkleLib.Fixture.d.ts.map +0 -1
@@ -1,58 +1,14 @@
1
- import { BigNumber } from "ethers";
2
- export declare const TokenRolesEnum: {
1
+ import * as contracts from "@across-protocol/contracts/dist/test-utils";
2
+ export declare const amountToDeposit: contracts.BigNumber, amountToLp: contracts.BigNumber, depositRelayerFeePct: contracts.BigNumber, originChainId: number, destinationChainId: number, repaymentChainId: number, mockTreeRoot: string, refundProposalLiveness: number, totalBond: contracts.BigNumber, TokenRolesEnum: {
3
3
  OWNER: string;
4
4
  MINTER: string;
5
5
  BURNER: string;
6
- };
7
- export declare const destinationChainId = 1342;
8
- export declare const originChainId = 666;
9
- export declare const repaymentChainId = 777;
10
- export declare const maxUint256: BigNumber;
11
- export declare const MAX_UINT32: BigNumber;
12
- export declare const MAX_EXCLUSIVITY_OFFSET_SECONDS: number;
13
- export declare const amountToSeedWallets: BigNumber;
14
- export declare const amountToLp: BigNumber;
15
- export declare const amountToDeposit: BigNumber;
16
- export declare const amountToRelay: BigNumber;
17
- export declare const depositRelayerFeePct: BigNumber;
18
- export declare const modifiedRelayerFeePct: BigNumber;
19
- export declare const incorrectModifiedRelayerFeePct: BigNumber;
20
- export declare const realizedLpFeePct: BigNumber;
21
- export declare const oneHundredPct: BigNumber;
22
- export declare const totalPostFeesPct: BigNumber;
23
- export declare const totalPostModifiedFeesPct: BigNumber;
24
- export declare const amountToRelayPreFees: BigNumber;
25
- export declare const amountReceived: BigNumber;
26
- export declare const amountToRelayPreModifiedFees: BigNumber;
27
- export declare const amountToRelayPreLPFee: BigNumber;
28
- export declare const firstDepositId: BigNumber;
29
- export declare const bondAmount: BigNumber;
30
- export declare const finalFee: BigNumber;
31
- export declare const finalFeeUsdc: BigNumber;
32
- export declare const finalFeeUsdt: BigNumber;
33
- export declare const totalBond: BigNumber;
34
- export declare const refundProposalLiveness = 7200;
35
- export declare const zeroAddress = "0x0000000000000000000000000000000000000000";
36
- export declare const zeroBytes32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
37
- export declare const identifier: string;
38
- export declare const zeroRawValue: {
39
- rawValue: string;
40
- };
41
- export declare const mockBundleEvaluationBlockNumbers: number[];
42
- export declare const mockPoolRebalanceLeafCount = 5;
43
- export declare const mockPoolRebalanceRoot: string;
44
- export declare const mockRelayerRefundRoot: string;
45
- export declare const mockSlowRelayRoot: string;
46
- export declare const mockTreeRoot: string;
47
- export declare const amountHeldByPool: BigNumber;
48
- export declare const amountToReturn: BigNumber;
49
- export declare const sampleL2Gas = 2000000;
50
- export declare const sampleL2GasSendTokens = 300000;
51
- export declare const sampleL2MaxSubmissionCost: BigNumber;
52
- export declare const sampleL2GasPrice = 5000000000;
53
- export declare const maxRefundsPerRelayerRefundLeaf = 3;
54
- export declare const maxL1TokensPerPoolRebalanceLeaf = 3;
55
- export declare const l1TokenTransferThreshold: BigNumber;
6
+ }, bondAmount: contracts.BigNumber, finalFee: contracts.BigNumber, finalFeeUsdc: contracts.BigNumber, finalFeeUsdt: contracts.BigNumber, randomAddress: typeof contracts.randomAddress, zeroAddress: string, identifier: string;
7
+ export declare const CONFIG_STORE_VERSION = 0;
8
+ export declare const randomL1Token: string;
9
+ export declare const randomOriginToken: string;
10
+ export declare const randomDestinationToken: string;
11
+ export declare const randomDestinationToken2: string;
56
12
  export declare const MAX_REFUNDS_PER_RELAYER_REFUND_LEAF = 3;
57
13
  export declare const MAX_L1_TOKENS_PER_POOL_REBALANCE_LEAF = 3;
58
14
  export declare const sampleRateModel: {
@@ -61,10 +17,4 @@ export declare const sampleRateModel: {
61
17
  R1: string;
62
18
  R2: string;
63
19
  };
64
- export declare const CONFIG_STORE_VERSION = 0;
65
- export declare function randomAddress(): string;
66
- export declare const randomL1Token: string;
67
- export declare const randomOriginToken: string;
68
- export declare const randomDestinationToken: string;
69
- export declare const randomDestinationToken2: string;
70
20
  export declare const CHAIN_ID_TEST_LIST: number[];
@@ -1,96 +1,22 @@
1
- import { BigNumber, ethers } from "ethers";
2
- import { toWei, toBN, utf8ToHex } from "../src/utils";
3
- import { ZERO_ADDRESS } from "../src/constants";
1
+ import * as contracts from "@across-protocol/contracts/dist/test-utils"; // Contains all the Across contract constants.
4
2
  import { DEFAULT_CONFIG_STORE_VERSION } from "./mocks";
5
- // Re-export TokenRolesEnum locally instead of from @uma/common
6
- export var TokenRolesEnum = {
7
- OWNER: "0",
8
- MINTER: "1",
9
- BURNER: "3",
10
- };
11
- // Chain IDs
12
- export var destinationChainId = 1342; // Should be equal to MockSpokePool.chainId() return value.
13
- export var originChainId = 666;
14
- export var repaymentChainId = 777;
15
- // Max values
16
- export var maxUint256 = ethers.constants.MaxInt256;
17
- export var MAX_UINT32 = BigNumber.from("0xFFFFFFFF");
18
- export var MAX_EXCLUSIVITY_OFFSET_SECONDS = 24 * 60 * 60 * 365;
19
- // Seed / LP / deposit / relay amounts
20
- export var amountToSeedWallets = toWei("1500");
21
- export var amountToLp = toWei("1000");
22
- export var amountToDeposit = toWei("100");
23
- export var amountToRelay = toWei("25");
24
- // Fee percentages (wei-scaled)
25
- export var depositRelayerFeePct = toWei("0.1");
26
- export var modifiedRelayerFeePct = toBN(depositRelayerFeePct).add(toBN(toWei("0.1")));
27
- export var incorrectModifiedRelayerFeePct = toBN(modifiedRelayerFeePct).add(toBN(toWei("0.01")));
28
- export var realizedLpFeePct = toWei("0.1");
29
- export var oneHundredPct = toWei("1");
30
- // Computed fee percentages
31
- export var totalPostFeesPct = toBN(oneHundredPct).sub(toBN(depositRelayerFeePct).add(realizedLpFeePct));
32
- export var totalPostModifiedFeesPct = toBN(oneHundredPct).sub(toBN(modifiedRelayerFeePct).add(realizedLpFeePct));
33
- // Computed relay amounts
34
- export var amountToRelayPreFees = toBN(amountToRelay).mul(toBN(oneHundredPct)).div(totalPostFeesPct);
35
- export var amountReceived = toBN(amountToDeposit).mul(toBN(totalPostFeesPct)).div(toBN(oneHundredPct));
36
- export var amountToRelayPreModifiedFees = toBN(amountToRelay).mul(toBN(oneHundredPct)).div(totalPostModifiedFeesPct);
37
- export var amountToRelayPreLPFee = amountToRelayPreFees.mul(oneHundredPct.sub(realizedLpFeePct)).div(oneHundredPct);
38
- // Deposit ID
39
- export var firstDepositId = toBN(0);
40
- // Bond and fee values
41
- export var bondAmount = toWei("5");
42
- export var finalFee = toWei("1");
43
- export var finalFeeUsdc = ethers.utils.parseUnits("1", 6);
44
- export var finalFeeUsdt = ethers.utils.parseUnits("1", 6);
45
- export var totalBond = bondAmount.add(finalFee);
46
- // Liveness
47
- export var refundProposalLiveness = 7200;
48
- // Addresses
49
- export var zeroAddress = ZERO_ADDRESS;
50
- export var zeroBytes32 = "0x0000000000000000000000000000000000000000000000000000000000000000";
51
- // Identifier
52
- export var identifier = utf8ToHex("ACROSS-V2");
53
- // Raw value
54
- export var zeroRawValue = { rawValue: "0" };
55
- // Merkle tree / bundle mock data
56
- export var mockBundleEvaluationBlockNumbers = [1, 2, 3];
57
- export var mockPoolRebalanceLeafCount = 5;
58
- export var mockPoolRebalanceRoot = ethers.utils.hexlify(ethers.utils.randomBytes(32));
59
- export var mockRelayerRefundRoot = ethers.utils.hexlify(ethers.utils.randomBytes(32));
60
- export var mockSlowRelayRoot = ethers.utils.hexlify(ethers.utils.randomBytes(32));
61
- export var mockTreeRoot = ethers.utils.hexlify(ethers.utils.randomBytes(32));
62
- // Pool amounts
63
- export var amountHeldByPool = amountToRelay.mul(4);
64
- export var amountToReturn = toWei("1");
65
- // L2 gas parameters
66
- export var sampleL2Gas = 2000000;
67
- export var sampleL2GasSendTokens = 300000;
68
- export var sampleL2MaxSubmissionCost = toWei("0.01");
69
- export var sampleL2GasPrice = 5e9;
70
- // Leaf size limits (lowercase versions matching contracts repo)
71
- export var maxRefundsPerRelayerRefundLeaf = 3;
72
- export var maxL1TokensPerPoolRebalanceLeaf = 3;
73
- // L1 token transfer threshold
74
- export var l1TokenTransferThreshold = toWei(100);
75
- // Uppercase versions used by SDK tests
3
+ export var amountToDeposit = contracts.amountToDeposit, amountToLp = contracts.amountToLp, depositRelayerFeePct = contracts.depositRelayerFeePct, originChainId = contracts.originChainId, destinationChainId = contracts.destinationChainId, repaymentChainId = contracts.repaymentChainId, mockTreeRoot = contracts.mockTreeRoot, refundProposalLiveness = contracts.refundProposalLiveness, totalBond = contracts.totalBond, TokenRolesEnum = contracts.TokenRolesEnum, bondAmount = contracts.bondAmount, finalFee = contracts.finalFee, finalFeeUsdc = contracts.finalFeeUsdc, finalFeeUsdt = contracts.finalFeeUsdt, randomAddress = contracts.randomAddress, zeroAddress = contracts.zeroAddress, identifier = contracts.identifier;
4
+ export var CONFIG_STORE_VERSION = DEFAULT_CONFIG_STORE_VERSION;
5
+ export var randomL1Token = contracts.randomAddress();
6
+ export var randomOriginToken = contracts.randomAddress();
7
+ export var randomDestinationToken = contracts.randomAddress();
8
+ export var randomDestinationToken2 = contracts.randomAddress();
9
+ // Max number of refunds in relayer refund leaf for a { repaymentChainId, L2TokenAddress }.
76
10
  export var MAX_REFUNDS_PER_RELAYER_REFUND_LEAF = 3;
11
+ // Max number of L1 tokens for a chain ID in a pool rebalance leaf.
77
12
  export var MAX_L1_TOKENS_PER_POOL_REBALANCE_LEAF = 3;
78
13
  // DAI's Rate model.
79
14
  export var sampleRateModel = {
80
- UBar: toWei(0.8).toString(),
81
- R0: toWei(0.04).toString(),
82
- R1: toWei(0.07).toString(),
83
- R2: toWei(0.75).toString(),
15
+ UBar: contracts.toWei(0.8).toString(),
16
+ R0: contracts.toWei(0.04).toString(),
17
+ R1: contracts.toWei(0.07).toString(),
18
+ R2: contracts.toWei(0.75).toString(),
84
19
  };
85
- export var CONFIG_STORE_VERSION = DEFAULT_CONFIG_STORE_VERSION;
86
- // Random address helper (uses ethers directly to avoid circular deps)
87
- export function randomAddress() {
88
- return ethers.utils.getAddress(ethers.utils.hexlify(ethers.utils.randomBytes(20)));
89
- }
90
- export var randomL1Token = randomAddress();
91
- export var randomOriginToken = randomAddress();
92
- export var randomDestinationToken = randomAddress();
93
- export var randomDestinationToken2 = randomAddress();
94
20
  // Add Mainnet chain ID 1 to the chain ID list because the dataworker uses this chain to look up latest GlobalConfig
95
21
  // updates for config variables like MAX_REFUND_COUNT_FOR_RELAYER_REPAYMENT_LEAF.
96
22
  export var CHAIN_ID_TEST_LIST = [originChainId, destinationChainId, repaymentChainId, 1];
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../test/constants.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../test/constants.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,SAAS,MAAM,4CAA4C,CAAC,CAAC,8CAA8C;AACvH,OAAO,EAAE,4BAA4B,EAAE,MAAM,SAAS,CAAC;AAEvD,MAAM,CACJ,IAAA,eAAe,GAiBb,SAAS,gBAjBI,EACf,UAAU,GAgBR,SAAS,WAhBD,EACV,oBAAoB,GAelB,SAAS,qBAfS,EACpB,aAAa,GAcX,SAAS,cAdE,EACb,kBAAkB,GAahB,SAAS,mBAbO,EAClB,gBAAgB,GAYd,SAAS,iBAZK,EAChB,YAAY,GAWV,SAAS,aAXC,EACZ,sBAAsB,GAUpB,SAAS,uBAVW,EACtB,SAAS,GASP,SAAS,UATF,EACT,cAAc,GAQZ,SAAS,eARG,EACd,UAAU,GAOR,SAAS,WAPD,EACV,QAAQ,GAMN,SAAS,SANH,EACR,YAAY,GAKV,SAAS,aALC,EACZ,YAAY,GAIV,SAAS,aAJC,EACZ,aAAa,GAGX,SAAS,cAHE,EACb,WAAW,GAET,SAAS,YAFA,EACX,UAAU,GACR,SAAS,WADD,CACE;AACd,MAAM,CAAC,IAAM,oBAAoB,GAAG,4BAA4B,CAAC;AACjE,MAAM,CAAC,IAAM,aAAa,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;AACvD,MAAM,CAAC,IAAM,iBAAiB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;AAC3D,MAAM,CAAC,IAAM,sBAAsB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;AAChE,MAAM,CAAC,IAAM,uBAAuB,GAAG,SAAS,CAAC,aAAa,EAAE,CAAC;AAEjE,2FAA2F;AAC3F,MAAM,CAAC,IAAM,mCAAmC,GAAG,CAAC,CAAC;AAErD,mEAAmE;AACnE,MAAM,CAAC,IAAM,qCAAqC,GAAG,CAAC,CAAC;AAEvD,oBAAoB;AACpB,MAAM,CAAC,IAAM,eAAe,GAAG;IAC7B,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACrC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACpC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;IACpC,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC;AAEF,oHAAoH;AACpH,iFAAiF;AACjF,MAAM,CAAC,IAAM,kBAAkB,GAAG,CAAC,aAAa,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,CAAC,CAAC,CAAC"}
@@ -2,100 +2,9 @@ import "@nomiclabs/hardhat-ethers";
2
2
  import "@openzeppelin/hardhat-upgrades";
3
3
  import "hardhat-deploy";
4
4
  import hre from "hardhat";
5
- import { BigNumber, Contract } from "ethers";
6
- import type { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers";
5
+ import { Contract } from "ethers";
7
6
  import { zeroAddress } from "../constants";
8
7
  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>;
99
8
  /**
100
9
  * Deploys a SpokePool with associated tokens for testing.
101
10
  * This is a local implementation that uses our local getContractFactory
@@ -3,209 +3,9 @@ import "@nomiclabs/hardhat-ethers";
3
3
  import "@openzeppelin/hardhat-upgrades";
4
4
  import "hardhat-deploy";
5
5
  import hre from "hardhat";
6
- import { ethers as ethersLib } from "ethers";
7
6
  import { getContractFactory } from "../utils/getContractFactory";
8
- import { amountToDeposit, depositRelayerFeePct, destinationChainId, maxUint256, realizedLpFeePct, repaymentChainId, TokenRolesEnum, zeroAddress, randomAddress, } from "../constants";
9
- var _a = ethersLib.utils, defaultAbiCoder = _a.defaultAbiCoder, keccak256 = _a.keccak256;
7
+ import { destinationChainId, TokenRolesEnum, zeroAddress } from "../constants";
10
8
  export { zeroAddress };
11
- // ---------------------------------------------------------------------------
12
- // Relay hash helpers
13
- // ---------------------------------------------------------------------------
14
- export function getRelayHash(_depositor, _recipient, _depositId, _originChainId, _destinationChainId, _destinationToken, _amount, _realizedLpFeePct, _relayerFeePct, _message) {
15
- var relayData = {
16
- depositor: _depositor,
17
- recipient: _recipient,
18
- destinationToken: _destinationToken,
19
- amount: _amount || amountToDeposit,
20
- originChainId: _originChainId.toString(),
21
- destinationChainId: _destinationChainId.toString(),
22
- realizedLpFeePct: _realizedLpFeePct || realizedLpFeePct,
23
- relayerFeePct: _relayerFeePct || depositRelayerFeePct,
24
- depositId: _depositId.toString(),
25
- message: _message || "0x",
26
- };
27
- var relayHash = keccak256(defaultAbiCoder.encode([
28
- "tuple(address depositor, address recipient, address destinationToken, uint256 amount, uint256 originChainId, uint256 destinationChainId, int64 realizedLpFeePct, int64 relayerFeePct, uint32 depositId, bytes message)",
29
- ], [relayData]));
30
- return { relayHash: relayHash, relayData: relayData };
31
- }
32
- export function getV3RelayHash(relayData, destChainId) {
33
- return keccak256(defaultAbiCoder.encode([
34
- "tuple(bytes32 depositor, bytes32 recipient, bytes32 exclusiveRelayer, bytes32 inputToken, bytes32 outputToken, uint256 inputAmount, uint256 outputAmount, uint256 originChainId, uint256 depositId, uint32 fillDeadline, uint32 exclusivityDeadline, bytes message)",
35
- "uint256 destinationChainId",
36
- ], [relayData, destChainId]));
37
- }
38
- export function getLegacyV3RelayHash(relayData, destChainId) {
39
- return keccak256(defaultAbiCoder.encode([
40
- "tuple(address depositor, address recipient, address exclusiveRelayer, address inputToken, address outputToken, uint256 inputAmount, uint256 outputAmount, uint256 originChainId, uint32 depositId, uint32 fillDeadline, uint32 exclusivityDeadline, bytes message)",
41
- "uint256 destinationChainId",
42
- ], [relayData, destChainId]));
43
- }
44
- // ---------------------------------------------------------------------------
45
- // Parameter builders
46
- // ---------------------------------------------------------------------------
47
- export function getDepositParams(args) {
48
- var _a, _b, _c, _d;
49
- return [
50
- (_a = args.recipient) !== null && _a !== void 0 ? _a : randomAddress(),
51
- args.originToken,
52
- args.amount.toString(),
53
- args.destinationChainId.toString(),
54
- args.relayerFeePct.toString(),
55
- args.quoteTimestamp.toString(),
56
- (_b = args.message) !== null && _b !== void 0 ? _b : "0x",
57
- (_d = (_c = args === null || args === void 0 ? void 0 : args.maxCount) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : maxUint256.toString(),
58
- ];
59
- }
60
- export function getFillRelayParams(_relayData, _maxTokensToSend, _repaymentChain, _maxCount) {
61
- return [
62
- _relayData.depositor,
63
- _relayData.recipient,
64
- _relayData.destinationToken,
65
- _relayData.amount.toString(),
66
- _maxTokensToSend.toString(),
67
- _repaymentChain ? _repaymentChain.toString() : repaymentChainId.toString(),
68
- _relayData.originChainId,
69
- _relayData.realizedLpFeePct.toString(),
70
- _relayData.relayerFeePct.toString(),
71
- _relayData.depositId,
72
- _relayData.message || "0x",
73
- _maxCount ? _maxCount.toString() : maxUint256.toString(),
74
- ];
75
- }
76
- export function getFillRelayUpdatedFeeParams(_relayData, _maxTokensToSend, _updatedFee, _signature, _repaymentChain, _updatedRecipient, _updatedMessage, _maxCount) {
77
- return [
78
- _relayData.depositor,
79
- _relayData.recipient,
80
- _updatedRecipient || _relayData.recipient,
81
- _relayData.destinationToken,
82
- _relayData.amount.toString(),
83
- _maxTokensToSend.toString(),
84
- _repaymentChain ? _repaymentChain.toString() : repaymentChainId.toString(),
85
- _relayData.originChainId,
86
- _relayData.realizedLpFeePct.toString(),
87
- _relayData.relayerFeePct.toString(),
88
- _updatedFee.toString(),
89
- _relayData.depositId,
90
- _relayData.message,
91
- _updatedMessage || _relayData.message,
92
- _signature,
93
- _maxCount ? _maxCount.toString() : maxUint256.toString(),
94
- ];
95
- }
96
- export function getExecuteSlowRelayParams(_depositor, _recipient, _destToken, _amount, _originChainId, _realizedLpFeePct, _relayerFeePct, _depositId, _relayerRefundId, _message, _payoutAdjustment, _proof) {
97
- return [
98
- _depositor,
99
- _recipient,
100
- _destToken,
101
- _amount.toString(),
102
- _originChainId.toString(),
103
- _realizedLpFeePct.toString(),
104
- _relayerFeePct.toString(),
105
- _depositId.toString(),
106
- _relayerRefundId.toString(),
107
- _message,
108
- _payoutAdjustment.toString(),
109
- _proof,
110
- ];
111
- }
112
- // ---------------------------------------------------------------------------
113
- // EIP-712 signature helpers
114
- // ---------------------------------------------------------------------------
115
- export function modifyRelayHelper(modifiedRelayerFeePct, depositId, originChainId, depositor, updatedRecipient, updatedMessage) {
116
- return __awaiter(this, void 0, void 0, function () {
117
- var typedData, signature;
118
- return __generator(this, function (_a) {
119
- switch (_a.label) {
120
- case 0:
121
- typedData = {
122
- types: {
123
- UpdateDepositDetails: [
124
- { name: "depositId", type: "uint32" },
125
- { name: "originChainId", type: "uint256" },
126
- { name: "updatedRelayerFeePct", type: "int64" },
127
- { name: "updatedRecipient", type: "address" },
128
- { name: "updatedMessage", type: "bytes" },
129
- ],
130
- },
131
- domain: {
132
- name: "ACROSS-V2",
133
- version: "1.0.0",
134
- chainId: Number(originChainId),
135
- },
136
- message: {
137
- depositId: depositId,
138
- originChainId: originChainId,
139
- updatedRelayerFeePct: modifiedRelayerFeePct,
140
- updatedRecipient: updatedRecipient,
141
- updatedMessage: updatedMessage,
142
- },
143
- };
144
- return [4 /*yield*/, depositor._signTypedData(typedData.domain, typedData.types, typedData.message)];
145
- case 1:
146
- signature = _a.sent();
147
- return [2 /*return*/, { signature: signature }];
148
- }
149
- });
150
- });
151
- }
152
- export function getUpdatedV3DepositSignature(depositor, depositId, originChainId, updatedOutputAmount, updatedRecipient, updatedMessage) {
153
- return __awaiter(this, void 0, void 0, function () {
154
- var typedData;
155
- return __generator(this, function (_a) {
156
- switch (_a.label) {
157
- case 0:
158
- typedData = {
159
- types: {
160
- UpdateDepositDetails: [
161
- { name: "depositId", type: "uint256" },
162
- { name: "originChainId", type: "uint256" },
163
- { name: "updatedOutputAmount", type: "uint256" },
164
- { name: "updatedRecipient", type: "bytes32" },
165
- { name: "updatedMessage", type: "bytes" },
166
- ],
167
- },
168
- domain: {
169
- name: "ACROSS-V2",
170
- version: "1.0.0",
171
- chainId: originChainId,
172
- },
173
- message: {
174
- depositId: depositId,
175
- originChainId: originChainId,
176
- updatedOutputAmount: updatedOutputAmount,
177
- updatedRecipient: updatedRecipient,
178
- updatedMessage: updatedMessage,
179
- },
180
- };
181
- return [4 /*yield*/, depositor._signTypedData(typedData.domain, typedData.types, typedData.message)];
182
- case 1: return [2 /*return*/, _a.sent()];
183
- }
184
- });
185
- });
186
- }
187
- // ---------------------------------------------------------------------------
188
- // Mock deployers
189
- // ---------------------------------------------------------------------------
190
- export function deployMockSpokePoolCaller(spokePool, rootBundleId, leaf, proof) {
191
- return __awaiter(this, void 0, void 0, function () {
192
- var _a, _b;
193
- return __generator(this, function (_c) {
194
- switch (_c.label) {
195
- case 0:
196
- _a = getContractFactory;
197
- _b = ["MockCaller"];
198
- return [4 /*yield*/, hre.ethers.getSigners()];
199
- case 1: return [4 /*yield*/, _a.apply(void 0, _b.concat([(_c.sent())[0]]))];
200
- case 2: return [4 /*yield*/, (_c.sent()).deploy(spokePool.address, rootBundleId, leaf, proof)];
201
- case 3: return [2 /*return*/, _c.sent()];
202
- }
203
- });
204
- });
205
- }
206
- // ---------------------------------------------------------------------------
207
- // Deployment
208
- // ---------------------------------------------------------------------------
209
9
  /**
210
10
  * Deploys a SpokePool with associated tokens for testing.
211
11
  * This is a local implementation that uses our local getContractFactory
@@ -1 +1 @@
1
- {"version":3,"file":"SpokePool.Fixture.js","sourceRoot":"","sources":["../../../../test/fixtures/SpokePool.Fixture.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SpokePool.Fixture.js","sourceRoot":"","sources":["../../../../test/fixtures/SpokePool.Fixture.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { HardhatEthersHelpers } from "@nomiclabs/hardhat-ethers/types";
2
- import type { ethers, Contract, BigNumber } from "ethers";
2
+ import type { ethers } from "ethers";
3
3
  import winston from "winston";
4
+ import * as utils from "@across-protocol/contracts/dist/test-utils";
4
5
  import { sinon } from "../utils";
5
6
  export type EthersTestLibrary = typeof ethers & HardhatEthersHelpers;
6
7
  export type SpyLoggerResult = {
@@ -8,20 +9,20 @@ export type SpyLoggerResult = {
8
9
  spyLogger: winston.Logger;
9
10
  };
10
11
  export type SpokePoolDeploymentResult = {
11
- weth: Contract;
12
- erc20: Contract;
13
- spokePool: Contract;
14
- unwhitelistedErc20: Contract;
15
- destErc20: Contract;
12
+ weth: utils.Contract;
13
+ erc20: utils.Contract;
14
+ spokePool: utils.Contract;
15
+ unwhitelistedErc20: utils.Contract;
16
+ destErc20: utils.Contract;
16
17
  deploymentBlock: number;
17
18
  };
18
19
  export type ContractsV2SlowFillRelayData = {
19
20
  depositor: string;
20
21
  recipient: string;
21
22
  destinationToken: string;
22
- amount: BigNumber;
23
- realizedLpFeePct: BigNumber;
24
- relayerFeePct: BigNumber;
23
+ amount: utils.BigNumber;
24
+ realizedLpFeePct: utils.BigNumber;
25
+ relayerFeePct: utils.BigNumber;
25
26
  depositId: string;
26
27
  originChainId: string;
27
28
  destinationChainId: string;
@@ -29,5 +30,5 @@ export type ContractsV2SlowFillRelayData = {
29
30
  };
30
31
  export type ContractsV2SlowFill = {
31
32
  relayData: ContractsV2SlowFillRelayData;
32
- payoutAdjustmentPct: BigNumber;
33
+ payoutAdjustmentPct: utils.BigNumber;
33
34
  };
@@ -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, Contract, ethers } from "ethers";
6
+ import { BigNumber, 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,34 +64,3 @@ 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
- }>;