@across-protocol/sdk 4.2.7 → 4.2.9-alpha.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/cjs/arch/evm/SpokeUtils.d.ts +2 -2
- package/dist/cjs/arch/evm/SpokeUtils.js +18 -3
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/SpokeUtils.js +7 -7
- package/dist/cjs/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/cjs/arch/svm/utils.d.ts +1 -1
- package/dist/cjs/arch/svm/utils.js +15 -13
- package/dist/cjs/arch/svm/utils.js.map +1 -1
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +4 -2
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +57 -53
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +13 -13
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +3 -2
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +3 -3
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +11 -8
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +20 -20
- package/dist/cjs/clients/HubPoolClient.js +78 -57
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -3
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +35 -29
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +15 -9
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.d.ts +9 -13
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +40 -56
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js +2 -2
- package/dist/cjs/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/cjs/interfaces/HubPool.d.ts +18 -13
- package/dist/cjs/interfaces/SpokePool.d.ts +14 -16
- package/dist/cjs/interfaces/SpokePool.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +7 -7
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js +10 -10
- package/dist/cjs/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js +7 -7
- package/dist/cjs/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/cjs/utils/AddressUtils.d.ts +7 -4
- package/dist/cjs/utils/AddressUtils.js +21 -8
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +3 -3
- package/dist/cjs/utils/SpokeUtils.js +4 -22
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/cjs/utils/TokenUtils.d.ts +4 -4
- package/dist/cjs/utils/TokenUtils.js +3 -3
- package/dist/cjs/utils/TokenUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +2 -2
- package/dist/esm/arch/evm/SpokeUtils.js +19 -4
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/SpokeUtils.js +8 -8
- package/dist/esm/arch/svm/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/svm/utils.d.ts +1 -1
- package/dist/esm/arch/svm/utils.js +15 -13
- package/dist/esm/arch/svm/utils.js.map +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +4 -2
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +58 -54
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +14 -14
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +4 -3
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +4 -4
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +12 -9
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +22 -21
- package/dist/esm/clients/HubPoolClient.js +91 -61
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +3 -3
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -3
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +37 -30
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/esm/clients/mocks/MockHubPoolClient.js +16 -10
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.d.ts +9 -13
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +44 -60
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js +3 -3
- package/dist/esm/clients/mocks/MockSvmSpokePoolClient.js.map +1 -1
- package/dist/esm/interfaces/HubPool.d.ts +18 -13
- package/dist/esm/interfaces/SpokePool.d.ts +14 -16
- package/dist/esm/interfaces/SpokePool.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +8 -8
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js +10 -10
- package/dist/esm/relayFeeCalculator/chain-queries/svmQuery.js.map +1 -1
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js +8 -8
- package/dist/esm/relayFeeCalculator/relayFeeCalculator.js.map +1 -1
- package/dist/esm/utils/AddressUtils.d.ts +7 -4
- package/dist/esm/utils/AddressUtils.js +25 -10
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +3 -8
- package/dist/esm/utils/SpokeUtils.js +4 -26
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/utils/TokenUtils.d.ts +4 -16
- package/dist/esm/utils/TokenUtils.js +3 -3
- package/dist/esm/utils/TokenUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +2 -2
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/SpokeUtils.d.ts.map +1 -1
- package/dist/types/arch/svm/utils.d.ts +1 -1
- package/dist/types/arch/svm/utils.d.ts.map +1 -1
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/types/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts +2 -2
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/DataworkerUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts +2 -1
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +63 -63
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +22 -21
- package/dist/types/clients/HubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +5 -3
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +9 -9
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts +9 -13
- package/dist/types/clients/mocks/MockSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts +2 -2
- package/dist/types/clients/mocks/MockSvmSpokePoolClient.d.ts.map +1 -1
- package/dist/types/interfaces/HubPool.d.ts +18 -13
- package/dist/types/interfaces/HubPool.d.ts.map +1 -1
- package/dist/types/interfaces/SpokePool.d.ts +14 -16
- package/dist/types/interfaces/SpokePool.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts +6 -6
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts +3 -3
- package/dist/types/relayFeeCalculator/chain-queries/svmQuery.d.ts.map +1 -1
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts +5 -5
- package/dist/types/relayFeeCalculator/relayFeeCalculator.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +7 -4
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +3 -8
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/dist/types/utils/TokenUtils.d.ts +4 -16
- package/dist/types/utils/TokenUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/evm/SpokeUtils.ts +22 -8
- package/src/arch/svm/SpokeUtils.ts +7 -8
- package/src/arch/svm/utils.ts +3 -3
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +7 -4
- package/src/clients/BundleDataClient/BundleDataClient.ts +49 -47
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +28 -13
- package/src/clients/BundleDataClient/utils/FillUtils.ts +6 -4
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +4 -4
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +13 -9
- package/src/clients/HubPoolClient.ts +113 -79
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +7 -1
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +104 -37
- package/src/clients/mocks/MockHubPoolClient.ts +24 -19
- package/src/clients/mocks/MockSpokePoolClient.ts +53 -74
- package/src/clients/mocks/MockSvmSpokePoolClient.ts +12 -3
- package/src/interfaces/HubPool.ts +22 -13
- package/src/interfaces/SpokePool.ts +14 -17
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +10 -8
- package/src/relayFeeCalculator/chain-queries/svmQuery.ts +10 -10
- package/src/relayFeeCalculator/relayFeeCalculator.ts +11 -9
- package/src/utils/AddressUtils.ts +32 -14
- package/src/utils/SpokeUtils.ts +11 -33
- package/src/utils/TokenUtils.ts +7 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,+CAA+C,CAAC;AAG3E,OAAO,EAAE,oBAAoB,EAAE,SAAS,EAAc,MAAM,QAAQ,CAAC;AAGrE,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAC3C,OAAO,EAAE,SAAS,EAAsB,MAAM,iBAAiB,CAAC;AAEhE,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,SAAS,
|
|
1
|
+
{"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -46,7 +46,7 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
46
46
|
* @param options.transport Optional transport object for custom gas price retrieval.
|
|
47
47
|
* @returns The gas estimate for this function call (multiplied with the optional buffer).
|
|
48
48
|
*/
|
|
49
|
-
getGasCosts(deposit: Omit<Deposit, "messageHash">, _relayer?:
|
|
49
|
+
getGasCosts(deposit: Omit<Deposit, "messageHash">, _relayer?: SvmAddress | import("../../utils").Address | import("../../utils").EvmAddress, options?: Partial<{
|
|
50
50
|
gasPrice: BigNumberish;
|
|
51
51
|
gasUnits: BigNumberish;
|
|
52
52
|
baseFeeMultiplier: BigNumber;
|
|
@@ -58,14 +58,14 @@ export declare class SvmQuery implements QueryInterface {
|
|
|
58
58
|
* @param relayer SVM address of the relayer
|
|
59
59
|
* @returns Estimated gas cost in compute units
|
|
60
60
|
*/
|
|
61
|
-
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?:
|
|
61
|
+
getNativeGasCost(deposit: Omit<Deposit, "messageHash">, _relayer?: SvmAddress | import("../../utils").Address | import("../../utils").EvmAddress): Promise<BigNumber>;
|
|
62
62
|
/**
|
|
63
63
|
* @notice Return the fillRelay transaction for a given deposit
|
|
64
64
|
* @param deposit
|
|
65
65
|
* @param relayer SVM address of the relayer
|
|
66
66
|
* @returns FillRelay transaction
|
|
67
67
|
*/
|
|
68
|
-
getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?:
|
|
68
|
+
getFillRelayTx(deposit: Omit<Deposit, "messageHash">, _relayer?: SvmAddress | import("../../utils").Address | import("../../utils").EvmAddress): Promise<import("@solana/kit").TransactionMessageWithBlockhashLifetime & import("@solana/kit").ITransactionMessageWithFeePayer<string> & Omit<Readonly<{
|
|
69
69
|
instructions: readonly IInstruction<string, readonly (import("@solana/kit").IAccountMeta<string> | import("@solana/kit").IAccountLookupMeta<string, string>)[]>[];
|
|
70
70
|
version: 0;
|
|
71
71
|
}>, "feePayer">>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"svmQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,UAAU,EAIX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqC,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAIL,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAOL,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,qBAAa,QAAS,YAAW,cAAc;IAe3C,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,gBAAgB,EAAE,UAAU;IACrC,QAAQ,CAAC,uBAAuB,EAAE,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IArBxC,SAAS,CAAC,oBAAoB;;;;;;sEAAC;IAE/B;;;;;;;;;;OAUG;gBAEQ,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,UAAU,EAC5B,uBAAuB,EAAE,UAAU,EACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,0BAAc,EAC5B,qBAAqB,GAAE,MAAc;IAOhD;;;;;;;;;OASG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,
|
|
1
|
+
{"version":3,"file":"svmQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/svmQuery.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,iBAAiB,EAAE,MAAM,IAAI,CAAC;AAEvC,OAAO,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE3C,OAAO,EACL,YAAY,EACZ,uBAAuB,EACvB,SAAS,EACT,UAAU,EAIX,MAAM,aAAa,CAAC;AACrB,OAAO,EAAqC,MAAM,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAIL,WAAW,EAGZ,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAOL,YAAY,EACb,MAAM,aAAa,CAAC;AAIrB;;;GAGG;AACH,qBAAa,QAAS,YAAW,cAAc;IAe3C,QAAQ,CAAC,QAAQ,EAAE,WAAW;IAC9B,QAAQ,CAAC,aAAa,EAAE,iBAAiB;IACzC,QAAQ,CAAC,gBAAgB,EAAE,UAAU;IACrC,QAAQ,CAAC,uBAAuB,EAAE,UAAU;IAC5C,QAAQ,CAAC,MAAM,EAAE,MAAM;IACvB,QAAQ,CAAC,kBAAkB,CAAC;IAC5B,QAAQ,CAAC,aAAa,CAAC;IACvB,QAAQ,CAAC,qBAAqB,EAAE,MAAM;IArBxC,SAAS,CAAC,oBAAoB;;;;;;sEAAC;IAE/B;;;;;;;;;;OAUG;gBAEQ,QAAQ,EAAE,WAAW,EACrB,aAAa,EAAE,iBAAiB,EAChC,gBAAgB,EAAE,UAAU,EAC5B,uBAAuB,EAAE,UAAU,EACnC,MAAM,EAAE,MAAM,EACd,kBAAkB,CAAC,oBAAQ,EAC3B,aAAa,CAAC,0BAAc,EAC5B,qBAAqB,GAAE,MAAc;IAOhD;;;;;;;;;OASG;IACG,WAAW,CACf,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,gFAA+E,EACvF,OAAO,GAAE,OAAO,CAAC;QACf,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC;QACvB,iBAAiB,EAAE,SAAS,CAAC;QAC7B,qBAAqB,EAAE,SAAS,CAAC;KAClC,CAAM,GACN,OAAO,CAAC,uBAAuB,CAAC;IA4BnC;;;;;OAKG;IACG,gBAAgB,CACpB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,gFAA+E,GACtF,OAAO,CAAC,SAAS,CAAC;IAMrB;;;;;OAKG;IACG,cAAc,CAClB,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,QAAQ,gFAA+E;;;;IA6DzF;;;;OAIG;IACG,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAUzD;;;;OAIG;IACH,gBAAgB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM;CAI9C"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Deposit } from "../interfaces";
|
|
2
|
-
import { BigNumber, BigNumberish, TransactionCostEstimate } from "../utils";
|
|
2
|
+
import { BigNumber, BigNumberish, TransactionCostEstimate, Address } from "../utils";
|
|
3
3
|
import { Transport } from "viem";
|
|
4
4
|
export interface QueryInterface {
|
|
5
|
-
getGasCosts: (deposit: Omit<Deposit, "messageHash">, relayer:
|
|
5
|
+
getGasCosts: (deposit: Omit<Deposit, "messageHash">, relayer: Address, options?: Partial<{
|
|
6
6
|
gasPrice: BigNumberish;
|
|
7
7
|
gasUnits: BigNumberish;
|
|
8
8
|
baseFeeMultiplier: BigNumber;
|
|
@@ -11,7 +11,7 @@ export interface QueryInterface {
|
|
|
11
11
|
transport: Transport;
|
|
12
12
|
}>) => Promise<TransactionCostEstimate>;
|
|
13
13
|
getTokenPrice: (tokenSymbol: string) => Promise<number>;
|
|
14
|
-
getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer:
|
|
14
|
+
getNativeGasCost: (deposit: Omit<Deposit, "messageHash">, relayer: Address) => Promise<BigNumber>;
|
|
15
15
|
}
|
|
16
16
|
export declare const expectedCapitalCostsKeys: string[];
|
|
17
17
|
export interface CapitalCostConfig {
|
|
@@ -127,7 +127,7 @@ export declare class RelayFeeCalculator {
|
|
|
127
127
|
* a message & recipient contract is provided as this function may not simulate with
|
|
128
128
|
* the correct parameters to see a full fill.
|
|
129
129
|
*/
|
|
130
|
-
gasFeePercent(deposit: Deposit, outputAmount: BigNumberish, simulateZeroFill?: boolean, relayerAddress?:
|
|
130
|
+
gasFeePercent(deposit: Deposit, outputAmount: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: import("../utils").SvmAddress | Address | import("../utils").EvmAddress, _tokenPrice?: number, tokenMapping?: {
|
|
131
131
|
ACX: {
|
|
132
132
|
name: string;
|
|
133
133
|
symbol: string;
|
|
@@ -549,7 +549,7 @@ export declare class RelayFeeCalculator {
|
|
|
549
549
|
* @param gasUnits Optional gas units to use for the simulation
|
|
550
550
|
* @returns A resulting `RelayerFeeDetails` object
|
|
551
551
|
*/
|
|
552
|
-
relayerFeeDetails(deposit: Deposit, outputAmount?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?:
|
|
552
|
+
relayerFeeDetails(deposit: Deposit, outputAmount?: BigNumberish, simulateZeroFill?: boolean, relayerAddress?: import("../utils").SvmAddress | Address | import("../utils").EvmAddress, _tokenPrice?: number, gasPrice?: BigNumberish, gasUnits?: BigNumberish, tokenGasCost?: BigNumberish): Promise<RelayerFeeDetails>;
|
|
553
553
|
}
|
|
554
554
|
export {};
|
|
555
555
|
//# sourceMappingURL=relayFeeCalculator.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,uBAAuB,
|
|
1
|
+
{"version":3,"file":"relayFeeCalculator.d.ts","sourceRoot":"","sources":["../../../src/relayFeeCalculator/relayFeeCalculator.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,EACL,SAAS,EACT,YAAY,EAEZ,uBAAuB,EAgBvB,OAAO,EACR,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,SAAS,EAAE,MAAM,MAAM,CAAC;AAGjC,MAAM,WAAW,cAAc;IAC7B,WAAW,EAAE,CACX,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EACrC,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,OAAO,CAAC;QAChB,QAAQ,EAAE,YAAY,CAAC;QACvB,QAAQ,EAAE,YAAY,CAAC;QACvB,iBAAiB,EAAE,SAAS,CAAC;QAC7B,qBAAqB,EAAE,SAAS,CAAC;QACjC,0BAA0B,EAAE,SAAS,CAAC;QACtC,SAAS,EAAE,SAAS,CAAC;KACtB,CAAC,KACC,OAAO,CAAC,uBAAuB,CAAC,CAAC;IACtC,aAAa,EAAE,CAAC,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IACxD,gBAAgB,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,EAAE,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,SAAS,CAAC,CAAC;CACnG;AAED,eAAO,MAAM,wBAAwB,UAAqD,CAAC;AAC3F,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AACD,KAAK,eAAe,GAAG,MAAM,CAAC;AAC9B,MAAM,WAAW,yBAAyB;IACxC,OAAO,EAAE,iBAAiB,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC,CAAC;IACrF,yBAAyB,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;IACvE,oBAAoB,CAAC,EAAE,MAAM,CAAC,eAAe,EAAE,iBAAiB,CAAC,CAAC;CACnE;AACD,MAAM,MAAM,sBAAsB,GAAG,yBAAyB,GAAG,iBAAiB,CAAC;AACnF,MAAM,WAAW,4BAA4B;IAC3C,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAChC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kBAAkB,EAAE;QAClB,CAAC,KAAK,EAAE,MAAM,GAAG,iBAAiB,GAAG,yBAAyB,CAAC;KAChE,CAAC;CACH;AACD,MAAM,WAAW,mCAAoC,SAAQ,4BAA4B;IACvF,OAAO,EAAE,cAAc,CAAC;CACzB;AACD,MAAM,WAAW,+BAAgC,SAAQ,4BAA4B;IACnF,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;CAC5C;AACD,MAAM,MAAM,wBAAwB,GAAG,mCAAmC,GAAG,+BAA+B,CAAC;AAE7G,MAAM,WAAW,iBAAiB;IAChC,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,sBAAsB,EAAE,MAAM,CAAC;IAC/B,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,CAAC;IACxB,cAAc,EAAE,OAAO,CAAC;IACxB,gBAAgB,EAAE,MAAM,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,eAAe;IAC9B,CAAC,IAAI,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,GAAG,IAAI,CAAC;CACvE;AAED,MAAM,WAAW,MAAM;IACrB,KAAK,EAAE,eAAe,CAAC;IACvB,IAAI,EAAE,eAAe,CAAC;IACtB,IAAI,EAAE,eAAe,CAAC;IACtB,KAAK,EAAE,eAAe,CAAC;CACxB;AAED,eAAO,MAAM,cAAc,EAAE,MAK5B,CAAC;AAEF,wBAAgB,iCAAiC,CAAC,OAAO,CAAC,EAAE,MAAM,iGAIjE;AAKD,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,kBAAkB,CAA2D;IACrF,OAAO,CAAC,sBAAsB,CAA+D;IAC7F,OAAO,CAAC,eAAe,CAAwD;IAC/E,OAAO,CAAC,mBAAmB,CAA4D;IACvF,OAAO,CAAC,kBAAkB,CAAiD;IAI3E,OAAO,CAAC,MAAM,CAAS;gBAEX,MAAM,EAAE,mCAAmC,EAAE,MAAM,CAAC,EAAE,MAAM;gBAC5D,MAAM,EAAE,+BAA+B,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE,MAAM;IAuCjG;;;;;;;;;OASG;IACH,OAAO,CAAC,MAAM,CAAC,2BAA2B;IAM1C;;;;OAIG;IACH,MAAM,CAAC,8CAA8C,CACnD,YAAY,EAAE,yBAAyB,GAAG,iBAAiB,GAC1D,yBAAyB;IAsB5B;;;OAGG;IACH,MAAM,CAAC,0BAA0B,CAAC,YAAY,EAAE,iBAAiB,GAAG,IAAI;IAKxE,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAInD;;;;;;;;;;;;;;;;;;OAkBG;IACG,aAAa,CACjB,OAAO,EAAE,OAAO,EAChB,YAAY,EAAE,YAAY,EAC1B,gBAAgB,UAAQ,EACxB,cAAc,0EAA+E,EAC7F,WAAW,CAAC,EAAE,MAAM,EACpB,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoB,EAChC,QAAQ,CAAC,EAAE,YAAY,EACvB,QAAQ,CAAC,EAAE,YAAY,EACvB,aAAa,CAAC,EAAE,YAAY,EAC5B,SAAS,CAAC,EAAE,SAAS,GACpB,OAAO,CAAC,SAAS,CAAC;IA2DrB,iBAAiB,CACf,aAAa,EAAE,YAAY,EAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,CAAC,EAAE,eAAe,EAC9B,iBAAiB,CAAC,EAAE,eAAe,GAClC,SAAS;IAmEZ;;;;;OAKG;IACH,OAAO,CAAC,uBAAuB;IA0C/B;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IA8B7B;;;;;;;;;;;;;;OAcG;IACG,iBAAiB,CACrB,OAAO,EAAE,OAAO,EAChB,YAAY,CAAC,EAAE,YAAY,EAC3B,gBAAgB,UAAQ,EACxB,cAAc,0EAA+E,EAC7F,WAAW,CAAC,EAAE,MAAM,EACpB,QAAQ,CAAC,EAAE,YAAY,EACvB,QAAQ,CAAC,EAAE,YAAY,EACvB,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,iBAAiB,CAAC;CAuE9B"}
|
|
@@ -29,7 +29,9 @@ export declare class Address {
|
|
|
29
29
|
svmAddress: string | undefined;
|
|
30
30
|
bnAddress: BigNumber | undefined;
|
|
31
31
|
constructor(_rawAddress: Uint8Array);
|
|
32
|
+
static __unsafeConstruct(_rawAddress: Uint8Array): Address;
|
|
32
33
|
toBytes32(): string;
|
|
34
|
+
truncateToBytes20(): string;
|
|
33
35
|
toBase58(): string;
|
|
34
36
|
toBigNumber(): BigNumber;
|
|
35
37
|
toEvmAddress(): string;
|
|
@@ -41,21 +43,22 @@ export declare class Address {
|
|
|
41
43
|
static isAddress(obj: unknown): boolean;
|
|
42
44
|
toString(): string;
|
|
43
45
|
isZeroAddress(): boolean;
|
|
46
|
+
toV2Address(): V2Address<string>;
|
|
44
47
|
forceSvmAddress(): SvmAddress;
|
|
45
48
|
forceEvmAddress(): EvmAddress;
|
|
46
49
|
eq(other: Address): boolean;
|
|
47
50
|
compare(otherAddress: Address): 1 | -1 | 0;
|
|
51
|
+
static isEvmAddress(address: Address): boolean;
|
|
52
|
+
static isSvmAddress(address: Address): boolean;
|
|
48
53
|
}
|
|
49
54
|
export declare class EvmAddress extends Address {
|
|
50
|
-
constructor(
|
|
55
|
+
private constructor();
|
|
51
56
|
toAddress(): string;
|
|
52
57
|
static from(address: string, encoding?: "base16" | "base58"): EvmAddress;
|
|
53
58
|
}
|
|
54
59
|
export declare class SvmAddress extends Address {
|
|
55
|
-
constructor(
|
|
60
|
+
private constructor();
|
|
56
61
|
toAddress(): string;
|
|
57
|
-
toV2Address(): V2Address<string>;
|
|
58
|
-
toEvmAddress(): string;
|
|
59
62
|
static from(address: string, encoding?: "base58" | "base16"): SvmAddress;
|
|
60
63
|
}
|
|
61
64
|
//# sourceMappingURL=AddressUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAG1C,OAAO,EAAE,OAAO,IAAI,SAAS,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,EAAE,SAAS,EAAc,MAAM,IAAI,CAAC;AAE3C;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,SAAS,CAAC,QAAQ,GAAG,OAAO,CAAC,OAAO,CAAC,CASjH;AAED,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAY/E;AAED,wBAAgB,sBAAsB,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAKpF;AAKD,wBAAgB,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEjD;AAGD,wBAAgB,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAc1D;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAahF;AAID,qBAAa,OAAO;IAClB,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAGhC,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,cAAc,EAAE,MAAM,GAAG,SAAS,CAAa;IAC/C,UAAU,EAAE,MAAM,GAAG,SAAS,CAAa;IAC3C,SAAS,EAAE,SAAS,GAAG,SAAS,CAAa;gBAEjC,WAAW,EAAE,UAAU;IAWnC,MAAM,CAAC,iBAAiB,CAAC,WAAW,EAAE,UAAU,GAAG,OAAO;IAM1D,SAAS,IAAI,MAAM;IAMnB,iBAAiB,IAAI,MAAM;IAQ3B,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,SAAS;IAMxB,YAAY,IAAI,MAAM;IAWtB,SAAS,IAAI,MAAM;IAKnB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,MAAM;IAKrB,iBAAiB,IAAI,OAAO;IAU5B,SAAS,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO;IASnC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO;IAKvC,QAAQ,IAAI,MAAM;IAKlB,aAAa,IAAI,OAAO;IAKxB,WAAW,IAAI,SAAS,CAAC,MAAM,CAAC;IAKhC,eAAe,IAAI,UAAU;IAK7B,eAAe,IAAI,UAAU;IAK7B,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;IAc1C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;IAI9C,MAAM,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO;CAG/C;AAGD,qBAAa,UAAW,SAAQ,OAAO;IAErC,OAAO;IASE,SAAS,IAAI,MAAM;IAK5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAenF;AAGD,qBAAa,UAAW,SAAQ,OAAO;IAErC,OAAO;IAME,SAAS,IAAI,MAAM;IAK5B,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,QAAQ,GAAG,QAAmB,GAAG,UAAU;CAYnF"}
|
|
@@ -1,11 +1,6 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { RelayData } from "../interfaces";
|
|
2
2
|
import { BigNumber } from "./BigNumberUtils";
|
|
3
|
-
|
|
4
|
-
* Produce the RelayData for a Deposit.
|
|
5
|
-
* @param deposit Deposit instance.
|
|
6
|
-
* @returns The corresponding RelayData object.
|
|
7
|
-
*/
|
|
8
|
-
export declare function getDepositRelayData(deposit: Omit<Deposit, "messageHash">): RelayData;
|
|
3
|
+
import { Address } from "./AddressUtils";
|
|
9
4
|
/**
|
|
10
5
|
* Compute the RelayData hash for a fill. This can be used to determine the fill status.
|
|
11
6
|
* @param relayData RelayData information that is used to complete a fill.
|
|
@@ -17,6 +12,6 @@ export declare function getRelayHashFromEvent(e: RelayData & {
|
|
|
17
12
|
destinationChainId: number;
|
|
18
13
|
}): string;
|
|
19
14
|
export declare function isUnsafeDepositId(depositId: BigNumber): boolean;
|
|
20
|
-
export declare function isZeroAddress(address:
|
|
15
|
+
export declare function isZeroAddress(address: Address): boolean;
|
|
21
16
|
export declare function getMessageHash(message: string): string;
|
|
22
17
|
//# sourceMappingURL=SpokeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAKzC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CAkCzF;AAED,wBAAgB,qBAAqB,CAAC,CAAC,EAAE,SAAS,GAAG;IAAE,kBAAkB,EAAE,MAAM,CAAA;CAAE,GAAG,MAAM,CAE3F;AAED,wBAAgB,iBAAiB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAQ/D;AAGD,wBAAgB,aAAa,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEvD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { BlockTag } from "@ethersproject/abstract-provider";
|
|
2
2
|
import { providers, Signer } from "ethers";
|
|
3
|
-
import {
|
|
3
|
+
import { TokenInfo } from "../interfaces";
|
|
4
4
|
import { BigNumber } from "./BigNumberUtils";
|
|
5
5
|
type SignerOrProvider = providers.Provider | Signer;
|
|
6
|
-
export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<
|
|
6
|
+
export declare function fetchTokenInfo(address: string, signerOrProvider: SignerOrProvider): Promise<TokenInfo>;
|
|
7
7
|
export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: number) => {
|
|
8
8
|
[chainId: number]: string;
|
|
9
9
|
} | undefined;
|
|
@@ -14,7 +14,7 @@ export declare const getL2TokenAddresses: (l1TokenAddress: string, l1ChainId?: n
|
|
|
14
14
|
* @param chainId Chain ID to query on.
|
|
15
15
|
* @returns Symbol, decimals and contract address on the requested chain.
|
|
16
16
|
*/
|
|
17
|
-
export declare function resolveSymbolOnChain(chainId: number, symbol: string):
|
|
17
|
+
export declare function resolveSymbolOnChain(chainId: number, symbol: string): TokenInfo;
|
|
18
18
|
/**
|
|
19
19
|
* Returns the contract address for a given token symbol and chainId.
|
|
20
20
|
* @param symbol A case-insensitive token symbol.
|
|
@@ -296,12 +296,6 @@ export declare const resolveContractFromSymbol: (symbol: string, chainId: string
|
|
|
296
296
|
l1TokenDecimals: number;
|
|
297
297
|
coingeckoId: string;
|
|
298
298
|
};
|
|
299
|
-
/**
|
|
300
|
-
* Get the USDC symbol for the given token address and chain ID.
|
|
301
|
-
* @param l2Token A Web3 token address (not case sensitive)
|
|
302
|
-
* @param chainId A chain Id to reference
|
|
303
|
-
* @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
|
|
304
|
-
*/
|
|
305
299
|
USDT: {
|
|
306
300
|
name: string;
|
|
307
301
|
symbol: string;
|
|
@@ -717,12 +711,6 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
717
711
|
l1TokenDecimals: number;
|
|
718
712
|
coingeckoId: string;
|
|
719
713
|
};
|
|
720
|
-
/**
|
|
721
|
-
* Get the USDC symbol for the given token address and chain ID.
|
|
722
|
-
* @param l2Token A Web3 token address (not case sensitive)
|
|
723
|
-
* @param chainId A chain Id to reference
|
|
724
|
-
* @returns Either USDC (if native) or USDbC/USDC.e (if bridged) or undefined if the token address is not recognized.
|
|
725
|
-
*/
|
|
726
714
|
USDT: {
|
|
727
715
|
name: string;
|
|
728
716
|
symbol: string;
|
|
@@ -842,7 +830,7 @@ export declare function getTokenInfo(l2TokenAddress: string, chainId: number, to
|
|
|
842
830
|
};
|
|
843
831
|
coingeckoId: string;
|
|
844
832
|
};
|
|
845
|
-
}):
|
|
833
|
+
}): TokenInfo;
|
|
846
834
|
/**
|
|
847
835
|
* Get the USDC symbol for the given token address and chain ID.
|
|
848
836
|
* @param l2Token A Web3 token address (not case sensitive)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"TokenUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/TokenUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kCAAkC,CAAC;AAC5D,OAAO,EAAY,SAAS,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAErD,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAE1C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAM7C,KAAK,gBAAgB,GAAG,SAAS,CAAC,QAAQ,GAAG,MAAM,CAAC;AAEpD,wBAAsB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,GAAG,OAAO,CAAC,SAAS,CAAC,CAI5G;AAED,eAAO,MAAM,mBAAmB,mBACd,MAAM;;aAMvB,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,SAAS,CAY/E;AAED;;;;;;GAMG;AACH,eAAO,MAAM,yBAAyB,WAC5B,MAAM,WACL,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAEd,MAAM,GAAG,SAIX,CAAC;AAEF,wBAAgB,4BAA4B,CAAC,eAAe,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAM7F;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,EACpB,gBAAgB,EAAE,gBAAgB,EAClC,QAAQ,GAAE,QAAmB,GAC5B,OAAO,CAAC,SAAS,CAAC,CAGpB;AAED,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAI1D;AAED,wBAAgB,YAAY,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAIzD;AAED;;;;;;;;GAQG;AACH,wBAAgB,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAAoB,GAAG,SAAS,CAqBjH;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAOlF;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,cAAc,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,MAAM,CAUjF"}
|
package/package.json
CHANGED
|
@@ -13,11 +13,10 @@ import {
|
|
|
13
13
|
isDefined,
|
|
14
14
|
isUnsafeDepositId,
|
|
15
15
|
isZeroAddress,
|
|
16
|
-
getDepositRelayData,
|
|
17
16
|
getNetworkName,
|
|
18
17
|
paginatedEventQuery,
|
|
19
18
|
spreadEventWithBlockNumber,
|
|
20
|
-
|
|
19
|
+
Address,
|
|
21
20
|
} from "../../utils";
|
|
22
21
|
|
|
23
22
|
type BlockTag = providers.BlockTag;
|
|
@@ -31,10 +30,23 @@ type BlockTag = providers.BlockTag;
|
|
|
31
30
|
export function populateV3Relay(
|
|
32
31
|
spokePool: Contract,
|
|
33
32
|
deposit: Omit<Deposit, "messageHash">,
|
|
34
|
-
relayer:
|
|
33
|
+
relayer: Address,
|
|
35
34
|
repaymentChainId = deposit.destinationChainId
|
|
36
35
|
): Promise<PopulatedTransaction> {
|
|
37
|
-
const relayData =
|
|
36
|
+
const relayData = {
|
|
37
|
+
depositor: deposit.depositor.toBytes32(),
|
|
38
|
+
recipient: deposit.recipient.toBytes32(),
|
|
39
|
+
inputToken: deposit.inputToken.toBytes32(),
|
|
40
|
+
outputToken: deposit.outputToken.toBytes32(),
|
|
41
|
+
inputAmount: deposit.inputAmount,
|
|
42
|
+
outputAmount: deposit.outputAmount,
|
|
43
|
+
originChainId: deposit.originChainId,
|
|
44
|
+
depositId: deposit.depositId,
|
|
45
|
+
fillDeadline: deposit.fillDeadline,
|
|
46
|
+
exclusivityDeadline: deposit.exclusivityDeadline,
|
|
47
|
+
message: deposit.message,
|
|
48
|
+
exclusiveRelayer: deposit.exclusiveRelayer.toBytes32(),
|
|
49
|
+
};
|
|
38
50
|
|
|
39
51
|
if (isDefined(deposit.speedUpSignature)) {
|
|
40
52
|
assert(isDefined(deposit.updatedRecipient) && !isZeroAddress(deposit.updatedRecipient));
|
|
@@ -43,16 +55,18 @@ export function populateV3Relay(
|
|
|
43
55
|
return spokePool.populateTransaction.fillRelayWithUpdatedDeposit(
|
|
44
56
|
relayData,
|
|
45
57
|
repaymentChainId,
|
|
46
|
-
toBytes32(
|
|
58
|
+
relayer.toBytes32(),
|
|
47
59
|
deposit.updatedOutputAmount,
|
|
48
|
-
|
|
60
|
+
deposit.updatedRecipient.toBytes32(),
|
|
49
61
|
deposit.updatedMessage,
|
|
50
62
|
deposit.speedUpSignature,
|
|
51
|
-
{ from: relayer }
|
|
63
|
+
{ from: relayer.toAddress() }
|
|
52
64
|
);
|
|
53
65
|
}
|
|
54
66
|
|
|
55
|
-
return spokePool.populateTransaction.fillRelay(relayData, repaymentChainId, toBytes32(
|
|
67
|
+
return spokePool.populateTransaction.fillRelay(relayData, repaymentChainId, relayer.toBytes32(), {
|
|
68
|
+
from: relayer.toAddress(),
|
|
69
|
+
});
|
|
56
70
|
}
|
|
57
71
|
|
|
58
72
|
/**
|
|
@@ -33,7 +33,6 @@ import {
|
|
|
33
33
|
isDefined,
|
|
34
34
|
isUnsafeDepositId,
|
|
35
35
|
keccak256,
|
|
36
|
-
toAddressType,
|
|
37
36
|
} from "../../utils";
|
|
38
37
|
import { SvmCpiEventsClient, getEventAuthority, getFillStatusPda, getStatePda, unwrapEventData } from "./";
|
|
39
38
|
import { SVMEventNames, SVMProvider } from "./types";
|
|
@@ -356,7 +355,7 @@ export async function fillRelayInstruction(
|
|
|
356
355
|
deposit.exclusiveRelayer,
|
|
357
356
|
deposit.inputToken,
|
|
358
357
|
deposit.outputToken,
|
|
359
|
-
].map((addr) =>
|
|
358
|
+
].map((addr) => addr.forceSvmAddress());
|
|
360
359
|
|
|
361
360
|
const _relayDataHash = getRelayDataHash(deposit, deposit.destinationChainId);
|
|
362
361
|
const relayDataHash = new Uint8Array(Buffer.from(_relayDataHash.slice(2), "hex"));
|
|
@@ -367,7 +366,7 @@ export async function fillRelayInstruction(
|
|
|
367
366
|
const [statePda, fillStatusPda, eventAuthority] = await Promise.all([
|
|
368
367
|
getStatePda(spokePool.toV2Address()),
|
|
369
368
|
getFillStatusPda(spokePool.toV2Address(), deposit, deposit.destinationChainId),
|
|
370
|
-
getEventAuthority(),
|
|
369
|
+
getEventAuthority(spokePool.toV2Address()),
|
|
371
370
|
]);
|
|
372
371
|
const depositIdBuffer = new Uint8Array(32);
|
|
373
372
|
const shortenedBuffer = new Uint8Array(Buffer.from(deposit.depositId.toHexString().slice(2), "hex"));
|
|
@@ -485,11 +484,11 @@ export function getRelayDataHash(relayData: RelayData, destinationChainId: numbe
|
|
|
485
484
|
assert(relayData.message.startsWith("0x"), "Message must be a hex string");
|
|
486
485
|
|
|
487
486
|
const contentToHash = Buffer.concat([
|
|
488
|
-
Uint8Array.from(addressEncoder.encode(
|
|
489
|
-
Uint8Array.from(addressEncoder.encode(
|
|
490
|
-
Uint8Array.from(addressEncoder.encode(
|
|
491
|
-
Uint8Array.from(addressEncoder.encode(
|
|
492
|
-
Uint8Array.from(addressEncoder.encode(
|
|
487
|
+
Uint8Array.from(addressEncoder.encode(address(relayData.depositor.toBase58()))),
|
|
488
|
+
Uint8Array.from(addressEncoder.encode(address(relayData.recipient.toBase58()))),
|
|
489
|
+
Uint8Array.from(addressEncoder.encode(address(relayData.exclusiveRelayer.toBase58()))),
|
|
490
|
+
Uint8Array.from(addressEncoder.encode(address(relayData.inputToken.toBase58()))),
|
|
491
|
+
Uint8Array.from(addressEncoder.encode(address(relayData.outputToken.toBase58()))),
|
|
493
492
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.inputAmount.toString()))),
|
|
494
493
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.outputAmount.toString()))),
|
|
495
494
|
Uint8Array.from(uint64Encoder.encode(BigInt(relayData.originChainId.toString()))),
|
package/src/arch/svm/utils.ts
CHANGED
|
@@ -264,13 +264,13 @@ export async function getInstructionParamsPda(programId: Address, signer: Addres
|
|
|
264
264
|
* Returns the PDA for the Event Authority.
|
|
265
265
|
* @returns The PDA for the Event Authority.
|
|
266
266
|
*/
|
|
267
|
-
export
|
|
267
|
+
export async function getEventAuthority(programId: Address): Promise<Address> {
|
|
268
268
|
const [eventAuthority] = await getProgramDerivedAddress({
|
|
269
|
-
programAddress:
|
|
269
|
+
programAddress: programId,
|
|
270
270
|
seeds: ["__event_authority"],
|
|
271
271
|
});
|
|
272
272
|
return eventAuthority;
|
|
273
|
-
}
|
|
273
|
+
}
|
|
274
274
|
|
|
275
275
|
/**
|
|
276
276
|
* Returns a random SVM address.
|
|
@@ -5,6 +5,7 @@ import winston from "winston";
|
|
|
5
5
|
import { isError } from "../../typeguards";
|
|
6
6
|
import {
|
|
7
7
|
EventSearchConfig,
|
|
8
|
+
EvmAddress,
|
|
8
9
|
MakeOptional,
|
|
9
10
|
isArrayOf,
|
|
10
11
|
isDefined,
|
|
@@ -107,7 +108,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
107
108
|
}
|
|
108
109
|
|
|
109
110
|
getRateModelForBlockNumber(
|
|
110
|
-
l1Token:
|
|
111
|
+
l1Token: EvmAddress,
|
|
111
112
|
originChainId: number | string,
|
|
112
113
|
destinationChainId: number | string,
|
|
113
114
|
blockNumber: number | undefined = undefined
|
|
@@ -121,7 +122,9 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
121
122
|
|
|
122
123
|
const defaultRateModelUpdate = sortEventsDescending(this.cumulativeRateModelUpdates).find(
|
|
123
124
|
(config) =>
|
|
124
|
-
config.blockNumber <= (blockNumber ?? 0) &&
|
|
125
|
+
config.blockNumber <= (blockNumber ?? 0) &&
|
|
126
|
+
config.l1Token === l1Token.toEvmAddress() &&
|
|
127
|
+
config.rateModel !== undefined
|
|
125
128
|
);
|
|
126
129
|
if (!defaultRateModelUpdate) {
|
|
127
130
|
throw new Error(`Could not find TokenConfig update for ${l1Token} at block ${blockNumber}`);
|
|
@@ -130,12 +133,12 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
130
133
|
}
|
|
131
134
|
|
|
132
135
|
getRouteRateModelForBlockNumber(
|
|
133
|
-
l1Token:
|
|
136
|
+
l1Token: EvmAddress,
|
|
134
137
|
route: string,
|
|
135
138
|
blockNumber: number | undefined = undefined
|
|
136
139
|
): RateModel | undefined {
|
|
137
140
|
const config = (sortEventsDescending(this.cumulativeRouteRateModelUpdates) as RouteRateModelUpdate[]).find(
|
|
138
|
-
(config) => config.blockNumber <= (blockNumber ?? 0) && config.l1Token === l1Token
|
|
141
|
+
(config) => config.blockNumber <= (blockNumber ?? 0) && config.l1Token === l1Token.toEvmAddress()
|
|
139
142
|
);
|
|
140
143
|
if (config?.routeRateModel[route] === undefined) {
|
|
141
144
|
return undefined;
|
|
@@ -40,9 +40,9 @@ import {
|
|
|
40
40
|
isZeroValueDeposit,
|
|
41
41
|
isZeroValueFillOrSlowFillRequest,
|
|
42
42
|
chainIsEvm,
|
|
43
|
-
isValidEvmAddress,
|
|
44
43
|
duplicateEvent,
|
|
45
44
|
invalidOutputToken,
|
|
45
|
+
Address,
|
|
46
46
|
} from "../../utils";
|
|
47
47
|
import winston from "winston";
|
|
48
48
|
import {
|
|
@@ -67,22 +67,20 @@ type DataCache = Record<string, Promise<LoadDataReturnValue>>;
|
|
|
67
67
|
// V3 dictionary helper functions
|
|
68
68
|
function updateExpiredDepositsV3(dict: ExpiredDepositsToRefundV3, deposit: V3DepositWithBlock): void {
|
|
69
69
|
// A deposit refund for a deposit is invalid if the depositor has a bytes32 address input for an EVM chain. It is valid otherwise.
|
|
70
|
-
if (chainIsEvm(deposit.originChainId) && !
|
|
70
|
+
if (chainIsEvm(deposit.originChainId) && !deposit.depositor.isValidEvmAddress()) {
|
|
71
71
|
return;
|
|
72
72
|
}
|
|
73
73
|
const { originChainId, inputToken } = deposit;
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
dict[originChainId][inputToken].push(deposit);
|
|
74
|
+
dict[originChainId] ??= {};
|
|
75
|
+
dict[originChainId][inputToken.toBytes32()] ??= [];
|
|
76
|
+
dict[originChainId][inputToken.toBytes32()].push(deposit);
|
|
78
77
|
}
|
|
79
78
|
|
|
80
79
|
function updateBundleDepositsV3(dict: BundleDepositsV3, deposit: V3DepositWithBlock): void {
|
|
81
80
|
const { originChainId, inputToken } = deposit;
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
dict[originChainId][inputToken].push(deposit);
|
|
81
|
+
dict[originChainId] ??= {};
|
|
82
|
+
dict[originChainId][inputToken.toBytes32()] ??= [];
|
|
83
|
+
dict[originChainId][inputToken.toBytes32()].push(deposit);
|
|
86
84
|
}
|
|
87
85
|
|
|
88
86
|
function updateBundleFillsV3(
|
|
@@ -90,29 +88,28 @@ function updateBundleFillsV3(
|
|
|
90
88
|
fill: V3FillWithBlock,
|
|
91
89
|
lpFeePct: BigNumber,
|
|
92
90
|
repaymentChainId: number,
|
|
93
|
-
repaymentToken:
|
|
94
|
-
repaymentAddress:
|
|
91
|
+
repaymentToken: Address,
|
|
92
|
+
repaymentAddress: Address
|
|
95
93
|
): void {
|
|
96
94
|
// We shouldn't pass any unrepayable fills into this function, so we perform an extra safety check.
|
|
97
|
-
if (chainIsEvm(repaymentChainId) && !
|
|
95
|
+
if (chainIsEvm(repaymentChainId) && !fill.relayer.isValidEvmAddress()) {
|
|
98
96
|
return;
|
|
99
97
|
}
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
98
|
+
dict[repaymentChainId] ??= {};
|
|
99
|
+
dict[repaymentChainId][repaymentToken.toBytes32()] ??= {
|
|
100
|
+
fills: [],
|
|
101
|
+
totalRefundAmount: bnZero,
|
|
102
|
+
realizedLpFees: bnZero,
|
|
103
|
+
refunds: {},
|
|
104
|
+
};
|
|
108
105
|
|
|
109
106
|
const bundleFill: BundleFillV3 = { ...fill, lpFeePct, relayer: repaymentAddress };
|
|
110
107
|
|
|
111
108
|
// Add all fills, slow and fast, to dictionary.
|
|
112
|
-
assign(dict, [repaymentChainId, repaymentToken, "fills"], [bundleFill]);
|
|
109
|
+
assign(dict, [repaymentChainId, repaymentToken.toBytes32(), "fills"], [bundleFill]);
|
|
113
110
|
|
|
114
111
|
// All fills update the bundle LP fees.
|
|
115
|
-
const refundObj = dict[repaymentChainId][repaymentToken];
|
|
112
|
+
const refundObj = dict[repaymentChainId][repaymentToken.toBytes32()];
|
|
116
113
|
const realizedLpFee = bundleFill.inputAmount.mul(bundleFill.lpFeePct).div(fixedPointAdjustment);
|
|
117
114
|
refundObj.realizedLpFees = refundObj.realizedLpFees ? refundObj.realizedLpFees.add(realizedLpFee) : realizedLpFee;
|
|
118
115
|
|
|
@@ -126,10 +123,11 @@ function updateBundleFillsV3(
|
|
|
126
123
|
// Instantiate dictionary if it doesn't exist.
|
|
127
124
|
refundObj.refunds ??= {};
|
|
128
125
|
|
|
129
|
-
if (refundObj.refunds[bundleFill.relayer]) {
|
|
130
|
-
refundObj.refunds[bundleFill.relayer] =
|
|
126
|
+
if (refundObj.refunds[bundleFill.relayer.toBytes32()]) {
|
|
127
|
+
refundObj.refunds[bundleFill.relayer.toBytes32()] =
|
|
128
|
+
refundObj.refunds[bundleFill.relayer.toBytes32()].add(refundAmount);
|
|
131
129
|
} else {
|
|
132
|
-
refundObj.refunds[bundleFill.relayer] = refundAmount;
|
|
130
|
+
refundObj.refunds[bundleFill.relayer.toBytes32()] = refundAmount;
|
|
133
131
|
}
|
|
134
132
|
}
|
|
135
133
|
}
|
|
@@ -139,21 +137,19 @@ function updateBundleExcessSlowFills(
|
|
|
139
137
|
deposit: V3DepositWithBlock & { lpFeePct: BigNumber }
|
|
140
138
|
): void {
|
|
141
139
|
const { destinationChainId, outputToken } = deposit;
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
dict[destinationChainId][outputToken].push(deposit);
|
|
140
|
+
dict[destinationChainId] ??= {};
|
|
141
|
+
dict[destinationChainId][outputToken.toBytes32()] ??= [];
|
|
142
|
+
dict[destinationChainId][outputToken.toBytes32()].push(deposit);
|
|
146
143
|
}
|
|
147
144
|
|
|
148
145
|
function updateBundleSlowFills(dict: BundleSlowFills, deposit: V3DepositWithBlock & { lpFeePct: BigNumber }): void {
|
|
149
|
-
if (chainIsEvm(deposit.destinationChainId) && !
|
|
146
|
+
if (chainIsEvm(deposit.destinationChainId) && !deposit.recipient.isValidEvmAddress()) {
|
|
150
147
|
return;
|
|
151
148
|
}
|
|
152
149
|
const { destinationChainId, outputToken } = deposit;
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
dict[destinationChainId][outputToken].push(deposit);
|
|
150
|
+
dict[destinationChainId] ??= {};
|
|
151
|
+
dict[destinationChainId][outputToken.toBytes32()] ??= [];
|
|
152
|
+
dict[destinationChainId][outputToken.toBytes32()].push(deposit);
|
|
157
153
|
}
|
|
158
154
|
|
|
159
155
|
// @notice Shared client for computing data needed to construct or validate a bundle.
|
|
@@ -489,21 +485,23 @@ export class BundleDataClient {
|
|
|
489
485
|
// worst from the relayer's perspective.
|
|
490
486
|
const { relayer, inputAmount: refundAmount } = fill;
|
|
491
487
|
refundsForChain[chainToSendRefundTo] ??= {};
|
|
492
|
-
refundsForChain[chainToSendRefundTo][repaymentToken] ??= {};
|
|
493
|
-
const existingRefundAmount =
|
|
494
|
-
|
|
488
|
+
refundsForChain[chainToSendRefundTo][repaymentToken.toBytes32()] ??= {};
|
|
489
|
+
const existingRefundAmount =
|
|
490
|
+
refundsForChain[chainToSendRefundTo][repaymentToken.toBytes32()][relayer.toBytes32()] ?? bnZero;
|
|
491
|
+
refundsForChain[chainToSendRefundTo][repaymentToken.toBytes32()][relayer.toBytes32()] =
|
|
492
|
+
existingRefundAmount.add(refundAmount);
|
|
495
493
|
});
|
|
496
494
|
}
|
|
497
495
|
return refundsForChain;
|
|
498
496
|
}
|
|
499
497
|
|
|
500
|
-
getUpcomingDepositAmount(chainId: number, l2Token:
|
|
498
|
+
getUpcomingDepositAmount(chainId: number, l2Token: Address, latestBlockToSearch: number): BigNumber {
|
|
501
499
|
if (this.spokePoolClients[chainId] === undefined) {
|
|
502
500
|
return toBN(0);
|
|
503
501
|
}
|
|
504
502
|
return this.spokePoolClients[chainId]
|
|
505
503
|
.getDeposits()
|
|
506
|
-
.filter((deposit) => deposit.blockNumber > latestBlockToSearch && deposit.inputToken
|
|
504
|
+
.filter((deposit) => deposit.blockNumber > latestBlockToSearch && deposit.inputToken.eq(l2Token))
|
|
507
505
|
.reduce((acc, deposit) => {
|
|
508
506
|
return acc.add(deposit.inputAmount);
|
|
509
507
|
}, toBN(0));
|
|
@@ -626,18 +624,18 @@ export class BundleDataClient {
|
|
|
626
624
|
const executedRefunds: { [tokenAddress: string]: { [relayer: string]: BigNumber } } = {};
|
|
627
625
|
for (const refundLeaf of executedRefundLeaves) {
|
|
628
626
|
const tokenAddress = refundLeaf.l2TokenAddress;
|
|
629
|
-
if (executedRefunds[tokenAddress] === undefined) {
|
|
630
|
-
executedRefunds[tokenAddress] = {};
|
|
627
|
+
if (executedRefunds[tokenAddress.toBytes32()] === undefined) {
|
|
628
|
+
executedRefunds[tokenAddress.toBytes32()] = {};
|
|
631
629
|
}
|
|
632
|
-
const executedTokenRefunds = executedRefunds[tokenAddress];
|
|
630
|
+
const executedTokenRefunds = executedRefunds[tokenAddress.toBytes32()];
|
|
633
631
|
|
|
634
632
|
for (let i = 0; i < refundLeaf.refundAddresses.length; i++) {
|
|
635
633
|
const relayer = refundLeaf.refundAddresses[i];
|
|
636
634
|
const refundAmount = refundLeaf.refundAmounts[i];
|
|
637
|
-
if (executedTokenRefunds[relayer] === undefined) {
|
|
638
|
-
executedTokenRefunds[relayer] = bnZero;
|
|
635
|
+
if (executedTokenRefunds[relayer.toBytes32()] === undefined) {
|
|
636
|
+
executedTokenRefunds[relayer.toBytes32()] = bnZero;
|
|
639
637
|
}
|
|
640
|
-
executedTokenRefunds[relayer] = executedTokenRefunds[relayer].add(refundAmount);
|
|
638
|
+
executedTokenRefunds[relayer.toBytes32()] = executedTokenRefunds[relayer.toBytes32()].add(refundAmount);
|
|
641
639
|
}
|
|
642
640
|
}
|
|
643
641
|
return executedRefunds;
|
|
@@ -899,7 +897,11 @@ export class BundleDataClient {
|
|
|
899
897
|
"Not using correct bundle deposit hash key"
|
|
900
898
|
);
|
|
901
899
|
if (deposit.blockNumber >= originChainBlockRange[0]) {
|
|
902
|
-
if (
|
|
900
|
+
if (
|
|
901
|
+
bundleDepositsV3?.[originChainId]?.[deposit.inputToken.toBytes32()]?.find((d) =>
|
|
902
|
+
duplicateEvent(deposit, d)
|
|
903
|
+
)
|
|
904
|
+
) {
|
|
903
905
|
this.logger.debug({
|
|
904
906
|
at: "BundleDataClient#loadData",
|
|
905
907
|
message: "Duplicate deposit detected",
|