@across-protocol/sdk 4.1.42 → 4.1.43
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 +15 -0
- package/dist/cjs/arch/evm/SpokeUtils.js +312 -0
- package/dist/cjs/arch/evm/SpokeUtils.js.map +1 -0
- package/dist/cjs/arch/evm/index.d.ts +1 -1
- package/dist/cjs/arch/evm/index.js +2 -2
- package/dist/cjs/arch/evm/index.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +3 -2
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -2
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +11 -8
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +2 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/index.d.ts +1 -0
- package/dist/cjs/index.js +2 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/providers/types.d.ts +2 -2
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js +2 -1
- package/dist/cjs/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.js +1 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/SpokeUtils.d.ts +2 -14
- package/dist/cjs/utils/SpokeUtils.js +8 -313
- package/dist/cjs/utils/SpokeUtils.js.map +1 -1
- package/dist/esm/arch/evm/SpokeUtils.d.ts +58 -0
- package/dist/esm/arch/evm/SpokeUtils.js +345 -0
- package/dist/esm/arch/evm/SpokeUtils.js.map +1 -0
- package/dist/esm/arch/evm/index.d.ts +1 -1
- package/dist/esm/arch/evm/index.js +1 -1
- package/dist/esm/arch/evm/index.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +3 -2
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -2
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +7 -4
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +9 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/types.d.ts +2 -2
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js +2 -1
- package/dist/esm/relayFeeCalculator/chain-queries/baseQuery.js.map +1 -1
- package/dist/esm/utils/DepositUtils.js +2 -1
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/SpokeUtils.d.ts +5 -55
- package/dist/esm/utils/SpokeUtils.js +11 -348
- package/dist/esm/utils/SpokeUtils.js.map +1 -1
- package/dist/types/arch/evm/SpokeUtils.d.ts +59 -0
- package/dist/types/arch/evm/SpokeUtils.d.ts.map +1 -0
- package/dist/types/arch/evm/index.d.ts +1 -1
- package/dist/types/arch/evm/index.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/BundleDataClient.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +8 -8
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts +3 -2
- package/dist/types/clients/SpokePoolClient/EVMSpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts +9 -1
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/index.d.ts +1 -0
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/providers/types.d.ts +2 -2
- package/dist/types/relayFeeCalculator/chain-queries/baseQuery.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/SpokeUtils.d.ts +5 -55
- package/dist/types/utils/SpokeUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/arch/evm/SpokeUtils.ts +324 -0
- package/src/arch/evm/index.ts +1 -1
- package/src/clients/BundleDataClient/BundleDataClient.ts +2 -3
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +27 -16
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +13 -5
- package/src/index.ts +1 -0
- package/src/relayFeeCalculator/chain-queries/baseQuery.ts +1 -1
- package/src/utils/DepositUtils.ts +2 -1
- package/src/utils/SpokeUtils.ts +16 -314
|
@@ -320,8 +320,16 @@ export declare abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
320
320
|
/**
|
|
321
321
|
* Retrieves the fill status for a given relay data.
|
|
322
322
|
* @param relayData The relay data to retrieve the fill status for.
|
|
323
|
+
* @param blockTag The block at which to query the fill status.
|
|
323
324
|
* @returns The fill status for the given relay data.
|
|
324
325
|
*/
|
|
325
|
-
abstract relayFillStatus(relayData: RelayData, blockTag?: number | "latest"
|
|
326
|
+
abstract relayFillStatus(relayData: RelayData, blockTag?: number | "latest"): Promise<FillStatus>;
|
|
327
|
+
/**
|
|
328
|
+
* Retrieves the fill status for an array of given relay data.
|
|
329
|
+
* @param relayData The array relay data to retrieve the fill status for.
|
|
330
|
+
* @param blockTag The block at which to query the fill status.
|
|
331
|
+
* @returns The fill status for each of the given relay data.
|
|
332
|
+
*/
|
|
333
|
+
abstract fillStatusArray(relayData: RelayData[], blockTag?: number | "latest"): Promise<(FillStatus | undefined)[]>;
|
|
326
334
|
}
|
|
327
335
|
//# sourceMappingURL=SpokePoolClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SpokePoolClient.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"SpokePoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/SpokePoolClient/SpokePoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EACL,SAAS,EACT,SAAS,EAET,gBAAgB,EAChB,mBAAmB,EACnB,iBAAiB,EAEjB,YAAY,EAUb,MAAM,aAAa,CAAC;AAQrB,OAAO,EACL,OAAO,EACP,gBAAgB,EAChB,IAAI,EACJ,UAAU,EACV,aAAa,EACb,GAAG,EACH,SAAS,EACT,+BAA+B,EAC/B,wBAAwB,EACxB,wBAAwB,EACxB,gBAAgB,EAChB,aAAa,EACd,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,IAAI,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,GAAG,EAAE,EAAE,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;CACxB,CAAC;AACF,MAAM,MAAM,sBAAsB,GAAG;IACnC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,mBAAmB,CAAC;CAC7B,CAAC;AACF,MAAM,MAAM,eAAe,GAAG,sBAAsB,GAAG,sBAAsB,CAAC;AAE9E,eAAO,MAAM,eAAe,UAa3B,CAAC;AAEF;;;GAGG;AACH,8BAAsB,eAAgB,SAAQ,kBAAkB;IAwB5D,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM;IAE/B,QAAQ,CAAC,aAAa,EAAE,aAAa,GAAG,IAAI;IAC5C,QAAQ,CAAC,OAAO,EAAE,MAAM;IACjB,eAAe,EAAE,MAAM;IA3BhC,SAAS,CAAC,WAAW,SAAK;IAC1B,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,CAAA;KAAE,CAAM;IAC1E,SAAS,CAAC,sBAAsB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;KAAE,CAAM;IACrF,SAAS,CAAC,oBAAoB,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,CAAM;IAChF,SAAS,CAAC,QAAQ,EAAE;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAAE,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;SAAE,CAAA;KAAE,CAAM;IACrG,SAAS,CAAC,gBAAgB,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,CAAA;KAAE,CAAM;IACvF,SAAS,CAAC,aAAa,EAAE;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG;YAAE,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE,CAAM;IACnG,SAAS,CAAC,aAAa,EAAE,aAAa,EAAE,CAAM;IAC9C,SAAS,CAAC,gBAAgB,EAAE,wBAAwB,EAAE,CAAM;IAC5D,SAAS,CAAC,uBAAuB,EAAE,+BAA+B,EAAE,CAAM;IAC1E,SAAS,CAAC,iBAAiB,EAAE,uBAAuB,GAAG,SAAS,CAAC;IACjE,SAAS,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,CAAC,CAAa;IACzC,KAAK,EAAE;QAAE,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE,CAAA;KAAE,CAAM;IAEhE;;;;;;;OAOG;IACH,SAAS,aACE,MAAM,EAAE,OAAO,CAAC,MAAM,EAEtB,aAAa,EAAE,aAAa,GAAG,IAAI,EACnC,OAAO,EAAE,MAAM,EACjB,eAAe,EAAE,MAAM,EAC9B,iBAAiB,GAAE,YAAY,CAAC,iBAAiB,EAAE,SAAS,CAAyC;IAQvG;;;;OAIG;IACI,8BAA8B,CAAC,kBAAkB,EAAE,MAAM,GAAG,gBAAgB,EAAE;IAIrF;;;;;;OAMG;IACH,OAAO,CAAC,qBAAqB;IAK7B;;;;;;OAMG;IACI,4CAA4C,CAAC,kBAAkB,EAAE,MAAM,GAAG,gBAAgB,EAAE;IASnG;;;;OAIG;IACI,WAAW,CAAC,MAAM,CAAC,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,gBAAgB,EAAE;IAUvF;;;OAGG;IACI,gBAAgB,IAAI,aAAa,EAAE;IAI1C;;;OAGG;IACI,gBAAgB,IAAI;QAAE,CAAC,WAAW,EAAE,MAAM,GAAG;YAAE,CAAC,kBAAkB,EAAE,MAAM,GAAG,OAAO,CAAA;SAAE,CAAA;KAAE;IAI/F;;;OAGG;IACI,QAAQ,IAAI,aAAa,EAAE;IAIlC;;;;OAIG;IACI,sBAAsB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,EAAE;IAIrE;;;;OAIG;IACI,kBAAkB,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,EAAE;IAI3D;;;;;OAKG;IACI,wBAAwB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,aAAa,EAAE;IAI5F;;;OAGG;IACI,mBAAmB,IAAI,wBAAwB,EAAE;IAIxD;;;OAGG;IACI,qBAAqB,IAAI,MAAM;IAMtC;;;OAGG;IACI,0BAA0B,IAAI,+BAA+B,EAAE;IAItE;;;;OAIG;IACI,kCAAkC,CAAC,OAAO,EAAE,gBAAgB,GAAG,gBAAgB;IAgCtF;;;;;OAKG;IACI,UAAU,CAAC,SAAS,EAAE,SAAS,GAAG,gBAAgB,GAAG,SAAS;IAIrE;;;OAGG;IACI,mBAAmB,IAAI,wBAAwB,EAAE;IAIxD;;;;OAIG;IACI,kBAAkB,CAAC,SAAS,EAAE,SAAS,GAAG,wBAAwB,GAAG,SAAS;IAMrF;;;;OAIG;IACI,iCAAiC,CAAC,aAAa,EAAE,MAAM,GAAG,wBAAwB,EAAE;IAI3F;;;OAGG;IACI,WAAW,IAAI;QAAE,CAAC,gBAAgB,EAAE,MAAM,GAAG;YAAE,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,EAAE,CAAA;SAAE,CAAA;KAAE;IAIjG;;;;OAIG;IACI,iBAAiB,CAAC,IAAI,EAAE,IAAI,GAAG,gBAAgB,GAAG,SAAS;IAM3D,kBAAkB,CAAC,OAAO,EAAE,OAAO,GAAG,aAAa,EAAE;IAI5D;;;;;;OAMG;IACI,gCAAgC,CAAC,OAAO,EAAE,OAAO,GAAG;QACzD,cAAc,EAAE,SAAS,CAAC;QAC1B,SAAS,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,aAAa,EAAE,CAAC;KAC/B;IAwFD;;;;;;OAMG;IACI,cAAc,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIrF;;;;;;;OAOG;IACU,MAAM,CAAC,aAAa,WAA8B,GAAG,OAAO,CAAC,IAAI,CAAC;IAgO/E;;;;OAIG;IACH,SAAS,CAAC,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAI5D;;;;OAIG;IACH,SAAS,CAAC,eAAe,CAAC,UAAU,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAAE,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAO9F;;;;OAIG;IACH,SAAS,CAAC,6BAA6B,CAAC,OAAO,EAAE,gBAAgB,GAAG,MAAM;IAK1E;;;;;OAKG;IACH,SAAS,CAAC,GAAG,CAAC,KAAK,EAAE,gBAAgB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS;IAIxE;;;OAGG;IACI,cAAc,IAAI,MAAM;IAI/B;;;;;OAKG;IACH,SAAS,CAAC,iBAAiB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAI/D;;;;;OAKG;IACH,SAAS,CAAC,sBAAsB,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAUpE;;;OAGG;aACa,oBAAoB,IAAI,MAAM,EAAE;IAEhD;;;;;OAKG;IACH,SAAS,CAAC,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAE7E;;;;;;;;;;;;OAYG;aACa,yBAAyB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEhG;;;;OAIG;aACa,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAEvE;;;OAGG;aACa,SAAS,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAE/D;;;;;OAKG;aACa,WAAW,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAE/E;;;;;OAKG;aACa,eAAe,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC,UAAU,CAAC;IAExG;;;;;OAKG;aACa,eAAe,CAC7B,SAAS,EAAE,SAAS,EAAE,EACtB,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,GAC3B,OAAO,CAAC,CAAC,UAAU,GAAG,SAAS,CAAC,EAAE,CAAC;CACvC"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,eAAe,MAAM,mBAAmB,CAAC;AACrD,OAAO,KAAK,IAAI,MAAM,QAAQ,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,sBAAsB,CAAC;AAC3D,OAAO,KAAK,KAAK,MAAM,SAAS,CAAC;AACjC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,cAAc,MAAM,kBAAkB,CAAC;AACnD,OAAO,KAAK,WAAW,MAAM,eAAe,CAAC;AAC7C,OAAO,KAAK,iBAAiB,MAAM,qBAAqB,CAAC;AACzD,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,UAAU,MAAM,cAAc,CAAC;AAC3C,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,OAAO,MAAM,WAAW,CAAC;AACrC,OAAO,KAAK,SAAS,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,GAAG,MAAM,OAAO,CAAC"}
|
|
@@ -2,8 +2,8 @@ export type RPCProvider = "ALCHEMY" | "DRPC" | "INFURA" | "INFURA_DIN";
|
|
|
2
2
|
export type RPCTransport = "https" | "wss";
|
|
3
3
|
export declare const JsonRpcError: import("superstruct").Struct<{
|
|
4
4
|
error: {
|
|
5
|
-
message: string;
|
|
6
5
|
code: number;
|
|
6
|
+
message: string;
|
|
7
7
|
data?: any;
|
|
8
8
|
};
|
|
9
9
|
id: string | number;
|
|
@@ -12,8 +12,8 @@ export declare const JsonRpcError: import("superstruct").Struct<{
|
|
|
12
12
|
jsonrpc: import("superstruct").Struct<"2.0", "2.0">;
|
|
13
13
|
id: import("superstruct").Struct<string | number, null>;
|
|
14
14
|
error: import("superstruct").Struct<{
|
|
15
|
-
message: string;
|
|
16
15
|
code: number;
|
|
16
|
+
message: string;
|
|
17
17
|
data?: any;
|
|
18
18
|
}, {
|
|
19
19
|
code: import("superstruct").Struct<number, null>;
|
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"baseQuery.d.ts","sourceRoot":"","sources":["../../../../src/relayFeeCalculator/chain-queries/baseQuery.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAavH,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;
|
|
1
|
+
{"version":3,"file":"DepositUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/DepositUtils.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,yBAAyB,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAavH,oBAAY,WAAW;IACrB,gBAAgB,IAAI;IACpB,iBAAiB,IAAA;IACjB,YAAY,IAAA;IACZ,mBAAmB,IAAA;CACpB;AAED,MAAM,MAAM,mBAAmB,GAC3B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAA;CAAE,GAC1C;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,IAAI,EAAE,WAAW,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAExD;;;;;;;;;;;GAWG;AAEH,wBAAsB,6BAA6B,CACjD,eAAe,EAAE,eAAe,EAChC,IAAI,EAAE,IAAI,GAAG,eAAe,EAC5B,KAAK,CAAC,EAAE,yBAAyB,GAChC,OAAO,CAAC,mBAAmB,CAAC,CAkF9B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,GACrF,MAAM,CAkBR;AAoBD,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,CAAC,GAAG;IAAE,WAAW,EAAE,MAAM,CAAC;IAAC,kBAAkB,EAAE,MAAM,CAAA;CAAE,EAC3F,OAAO,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,gBAAgB,GAAG,eAAe,GAAG,aAAa,CAAC,GAC1E;IAAE,KAAK,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAkBpD;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,GAAG,SAAS,CAAC,GAAG,OAAO,CAE7F;AAED,wBAAgB,gCAAgC,CAC9C,CAAC,EAAE,IAAI,CAAC,IAAI,GAAG,eAAe,EAAE,aAAa,GAAG,aAAa,CAAC,GAC7D,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAAC,OAAO,SAAgB,GAAG,OAAO,CAE/D;AAED,wBAAgB,mCAAmC,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAE5E;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,OAAO,GAAG,OAAO,CAEzD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,OAAO,GAAG,MAAM,CAI9D"}
|
|
@@ -1,39 +1,11 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { Deposit, FillStatus, FillWithBlock, RelayData } from "../interfaces";
|
|
1
|
+
import { Deposit, RelayData } from "../interfaces";
|
|
3
2
|
import { BigNumber } from "./BigNumberUtils";
|
|
4
|
-
type BlockTag = providers.BlockTag;
|
|
5
3
|
/**
|
|
6
|
-
*
|
|
7
|
-
* @param deposit
|
|
8
|
-
* @
|
|
9
|
-
* @returns An Ethers UnsignedTransaction instance.
|
|
4
|
+
* Produce the RelayData for a Deposit.
|
|
5
|
+
* @param deposit Deposit instance.
|
|
6
|
+
* @returns The corresponding RelayData object.
|
|
10
7
|
*/
|
|
11
|
-
export declare function
|
|
12
|
-
/**
|
|
13
|
-
* Retrieves the time from the SpokePool contract at a particular block.
|
|
14
|
-
* @returns The time at the specified block tag.
|
|
15
|
-
*/
|
|
16
|
-
export declare function getTimeAt(spokePool: Contract, blockNumber: number): Promise<number>;
|
|
17
|
-
/**
|
|
18
|
-
* Retrieves the chain time at a particular block.
|
|
19
|
-
* @note This should be the same as getTimeAt() but can differ in test. These two functions should be consolidated.
|
|
20
|
-
* @returns The chain time at the specified block tag.
|
|
21
|
-
*/
|
|
22
|
-
export declare function getTimestampForBlock(provider: providers.Provider, blockNumber: number): Promise<number>;
|
|
23
|
-
/**
|
|
24
|
-
* Return maximum of fill deadline buffer at start and end of block range.
|
|
25
|
-
* @param spokePool SpokePool contract instance
|
|
26
|
-
* @param startBlock start block
|
|
27
|
-
* @param endBlock end block
|
|
28
|
-
* @returns maximum of fill deadline buffer at start and end block
|
|
29
|
-
*/
|
|
30
|
-
export declare function getMaxFillDeadlineInRange(spokePool: Contract, startBlock: number, endBlock: number): Promise<number>;
|
|
31
|
-
/**
|
|
32
|
-
* Finds the deposit id at a specific block number.
|
|
33
|
-
* @param blockTag The block number to search for the deposit ID at.
|
|
34
|
-
* @returns The deposit ID.
|
|
35
|
-
*/
|
|
36
|
-
export declare function getDepositIdAtBlock(contract: Contract, blockTag: number): Promise<BigNumber>;
|
|
8
|
+
export declare function getDepositRelayData(deposit: Omit<Deposit, "messageHash">): RelayData;
|
|
37
9
|
/**
|
|
38
10
|
* Compute the RelayData hash for a fill. This can be used to determine the fill status.
|
|
39
11
|
* @param relayData RelayData information that is used to complete a fill.
|
|
@@ -44,29 +16,7 @@ export declare function getRelayDataHash(relayData: RelayData, destinationChainI
|
|
|
44
16
|
export declare function getRelayHashFromEvent(e: RelayData & {
|
|
45
17
|
destinationChainId: number;
|
|
46
18
|
}): string;
|
|
47
|
-
export declare function findDepositBlock(spokePool: Contract, depositId: BigNumber, lowBlock: number, highBlock?: number): Promise<number | undefined>;
|
|
48
19
|
export declare function isUnsafeDepositId(depositId: BigNumber): boolean;
|
|
49
|
-
/**
|
|
50
|
-
* Find the amount filled for a deposit at a particular block.
|
|
51
|
-
* @param spokePool SpokePool contract instance.
|
|
52
|
-
* @param relayData Deposit information that is used to complete a fill.
|
|
53
|
-
* @param blockTag Block tag (numeric or "latest") to query at.
|
|
54
|
-
* @returns The amount filled for the specified deposit at the requested block (or latest).
|
|
55
|
-
*/
|
|
56
|
-
export declare function relayFillStatus(spokePool: Contract, relayData: RelayData, blockTag?: number | "latest", destinationChainId?: number): Promise<FillStatus>;
|
|
57
|
-
export declare function fillStatusArray(spokePool: Contract, relayData: RelayData[], blockTag?: BlockTag): Promise<(FillStatus | undefined)[]>;
|
|
58
|
-
/**
|
|
59
|
-
* Find the block at which a fill was completed.
|
|
60
|
-
* @todo After SpokePool upgrade, this function can be simplified to use the FillStatus enum.
|
|
61
|
-
* @param spokePool SpokePool contract instance.
|
|
62
|
-
* @param relayData Deposit information that is used to complete a fill.
|
|
63
|
-
* @param lowBlockNumber The lower bound of the search. Must be bounded by SpokePool deployment.
|
|
64
|
-
* @param highBlocknumber Optional upper bound for the search.
|
|
65
|
-
* @returns The block number at which the relay was completed, or undefined.
|
|
66
|
-
*/
|
|
67
|
-
export declare function findFillBlock(spokePool: Contract, relayData: RelayData, lowBlockNumber: number, highBlockNumber?: number): Promise<number | undefined>;
|
|
68
|
-
export declare function findFillEvent(spokePool: Contract, relayData: RelayData, lowBlockNumber: number, highBlockNumber?: number): Promise<FillWithBlock | undefined>;
|
|
69
20
|
export declare function isZeroAddress(address: string): boolean;
|
|
70
21
|
export declare function getMessageHash(message: string): string;
|
|
71
|
-
export {};
|
|
72
22
|
//# sourceMappingURL=SpokeUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"SpokeUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/SpokeUtils.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAGnD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,OAAO,EAAE,aAAa,CAAC,GAAG,SAAS,CAepF;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,MAAM,GAAG,MAAM,CA+BzF;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,MAAM,GAAG,OAAO,CAEtD;AAED,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAEtD"}
|
package/package.json
CHANGED
|
@@ -0,0 +1,324 @@
|
|
|
1
|
+
import assert from "assert";
|
|
2
|
+
import { BytesLike, Contract, PopulatedTransaction, providers } from "ethers";
|
|
3
|
+
import { CHAIN_IDs } from "../../constants";
|
|
4
|
+
import { Deposit, FillStatus, FillWithBlock, RelayData } from "../../interfaces";
|
|
5
|
+
import {
|
|
6
|
+
bnUint32Max,
|
|
7
|
+
BigNumber,
|
|
8
|
+
toBN,
|
|
9
|
+
bnZero,
|
|
10
|
+
chunk,
|
|
11
|
+
getMessageHash,
|
|
12
|
+
getRelayDataHash,
|
|
13
|
+
isDefined,
|
|
14
|
+
isUnsafeDepositId,
|
|
15
|
+
isZeroAddress,
|
|
16
|
+
getDepositRelayData,
|
|
17
|
+
getNetworkName,
|
|
18
|
+
paginatedEventQuery,
|
|
19
|
+
spreadEventWithBlockNumber,
|
|
20
|
+
toBytes32,
|
|
21
|
+
} from "../../utils";
|
|
22
|
+
|
|
23
|
+
type BlockTag = providers.BlockTag;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* @param spokePool SpokePool Contract instance.
|
|
27
|
+
* @param deposit V3Deopsit instance.
|
|
28
|
+
* @param repaymentChainId Optional repaymentChainId (defaults to destinationChainId).
|
|
29
|
+
* @returns An Ethers UnsignedTransaction instance.
|
|
30
|
+
*/
|
|
31
|
+
export function populateV3Relay(
|
|
32
|
+
spokePool: Contract,
|
|
33
|
+
deposit: Omit<Deposit, "messageHash">,
|
|
34
|
+
relayer: string,
|
|
35
|
+
repaymentChainId = deposit.destinationChainId
|
|
36
|
+
): Promise<PopulatedTransaction> {
|
|
37
|
+
const relayData = getDepositRelayData(deposit);
|
|
38
|
+
|
|
39
|
+
if (isDefined(deposit.speedUpSignature)) {
|
|
40
|
+
assert(isDefined(deposit.updatedRecipient) && !isZeroAddress(deposit.updatedRecipient));
|
|
41
|
+
assert(isDefined(deposit.updatedOutputAmount));
|
|
42
|
+
assert(isDefined(deposit.updatedMessage));
|
|
43
|
+
return spokePool.populateTransaction.fillRelayWithUpdatedDeposit(
|
|
44
|
+
relayData,
|
|
45
|
+
repaymentChainId,
|
|
46
|
+
toBytes32(relayer),
|
|
47
|
+
deposit.updatedOutputAmount,
|
|
48
|
+
toBytes32(deposit.updatedRecipient),
|
|
49
|
+
deposit.updatedMessage,
|
|
50
|
+
deposit.speedUpSignature,
|
|
51
|
+
{ from: relayer }
|
|
52
|
+
);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
return spokePool.populateTransaction.fillRelay(relayData, repaymentChainId, toBytes32(relayer), { from: relayer });
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* Retrieves the time from the SpokePool contract at a particular block.
|
|
60
|
+
* @returns The time at the specified block tag.
|
|
61
|
+
*/
|
|
62
|
+
export async function getTimeAt(spokePool: Contract, blockNumber: number): Promise<number> {
|
|
63
|
+
const currentTime = await spokePool.getCurrentTime({ blockTag: blockNumber });
|
|
64
|
+
assert(BigNumber.isBigNumber(currentTime) && currentTime.lt(bnUint32Max));
|
|
65
|
+
return currentTime.toNumber();
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* Retrieves the chain time at a particular block.
|
|
70
|
+
* @note This should be the same as getTimeAt() but can differ in test. These two functions should be consolidated.
|
|
71
|
+
* @returns The chain time at the specified block tag.
|
|
72
|
+
*/
|
|
73
|
+
export async function getTimestampForBlock(provider: providers.Provider, blockNumber: number): Promise<number> {
|
|
74
|
+
const block = await provider.getBlock(blockNumber);
|
|
75
|
+
return block.timestamp;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* Return maximum of fill deadline buffer at start and end of block range.
|
|
80
|
+
* @param spokePool SpokePool contract instance
|
|
81
|
+
* @param startBlock start block
|
|
82
|
+
* @param endBlock end block
|
|
83
|
+
* @returns maximum of fill deadline buffer at start and end block
|
|
84
|
+
*/
|
|
85
|
+
export async function getMaxFillDeadlineInRange(
|
|
86
|
+
spokePool: Contract,
|
|
87
|
+
startBlock: number,
|
|
88
|
+
endBlock: number
|
|
89
|
+
): Promise<number> {
|
|
90
|
+
const fillDeadlineBuffers = await Promise.all([
|
|
91
|
+
spokePool.fillDeadlineBuffer({ blockTag: startBlock }),
|
|
92
|
+
spokePool.fillDeadlineBuffer({ blockTag: endBlock }),
|
|
93
|
+
]);
|
|
94
|
+
return Math.max(fillDeadlineBuffers[0], fillDeadlineBuffers[1]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Finds the deposit id at a specific block number.
|
|
99
|
+
* @param blockTag The block number to search for the deposit ID at.
|
|
100
|
+
* @returns The deposit ID.
|
|
101
|
+
*/
|
|
102
|
+
export async function getDepositIdAtBlock(contract: Contract, blockTag: number): Promise<BigNumber> {
|
|
103
|
+
const _depositIdAtBlock = await contract.numberOfDeposits({ blockTag });
|
|
104
|
+
const depositIdAtBlock = toBN(_depositIdAtBlock);
|
|
105
|
+
// Sanity check to ensure that the deposit ID is greater than or equal to zero.
|
|
106
|
+
if (depositIdAtBlock.lt(bnZero)) {
|
|
107
|
+
throw new Error("Invalid deposit count");
|
|
108
|
+
}
|
|
109
|
+
return depositIdAtBlock;
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
export async function findDepositBlock(
|
|
113
|
+
spokePool: Contract,
|
|
114
|
+
depositId: BigNumber,
|
|
115
|
+
lowBlock: number,
|
|
116
|
+
highBlock?: number
|
|
117
|
+
): Promise<number | undefined> {
|
|
118
|
+
// We can only perform this search when we have a safe deposit ID.
|
|
119
|
+
if (isUnsafeDepositId(depositId)) {
|
|
120
|
+
throw new Error(`Cannot binary search for depositId ${depositId}`);
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
highBlock ??= await spokePool.provider.getBlockNumber();
|
|
124
|
+
assert(highBlock > lowBlock, `Block numbers out of range (${lowBlock} >= ${highBlock})`);
|
|
125
|
+
|
|
126
|
+
// Make sure the deposit occurred within the block range supplied by the caller.
|
|
127
|
+
const [nDepositsLow, nDepositsHigh] = (
|
|
128
|
+
await Promise.all([
|
|
129
|
+
spokePool.numberOfDeposits({ blockTag: lowBlock }),
|
|
130
|
+
spokePool.numberOfDeposits({ blockTag: highBlock }),
|
|
131
|
+
])
|
|
132
|
+
).map((n) => toBN(n));
|
|
133
|
+
|
|
134
|
+
if (nDepositsLow.gt(depositId) || nDepositsHigh.lte(depositId)) {
|
|
135
|
+
return undefined; // Deposit did not occur within the specified block range.
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
// Find the lowest block number where numberOfDeposits is greater than the requested depositId.
|
|
139
|
+
do {
|
|
140
|
+
const midBlock = Math.floor((highBlock + lowBlock) / 2);
|
|
141
|
+
const nDeposits = toBN(await spokePool.numberOfDeposits({ blockTag: midBlock }));
|
|
142
|
+
|
|
143
|
+
if (nDeposits.gt(depositId)) {
|
|
144
|
+
highBlock = midBlock; // depositId occurred at or earlier than midBlock.
|
|
145
|
+
} else {
|
|
146
|
+
lowBlock = midBlock + 1; // depositId occurred later than midBlock.
|
|
147
|
+
}
|
|
148
|
+
} while (lowBlock < highBlock);
|
|
149
|
+
|
|
150
|
+
return lowBlock;
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/**
|
|
154
|
+
* Find the amount filled for a deposit at a particular block.
|
|
155
|
+
* @param spokePool SpokePool contract instance.
|
|
156
|
+
* @param relayData Deposit information that is used to complete a fill.
|
|
157
|
+
* @param blockTag Block tag (numeric or "latest") to query at.
|
|
158
|
+
* @returns The amount filled for the specified deposit at the requested block (or latest).
|
|
159
|
+
*/
|
|
160
|
+
export async function relayFillStatus(
|
|
161
|
+
spokePool: Contract,
|
|
162
|
+
relayData: RelayData,
|
|
163
|
+
blockTag?: number | "latest",
|
|
164
|
+
destinationChainId?: number
|
|
165
|
+
): Promise<FillStatus> {
|
|
166
|
+
destinationChainId ??= await spokePool.chainId();
|
|
167
|
+
assert(isDefined(destinationChainId));
|
|
168
|
+
|
|
169
|
+
const hash = getRelayDataHash(relayData, destinationChainId);
|
|
170
|
+
const _fillStatus = await spokePool.fillStatuses(hash, { blockTag });
|
|
171
|
+
const fillStatus = Number(_fillStatus);
|
|
172
|
+
|
|
173
|
+
if (![FillStatus.Unfilled, FillStatus.RequestedSlowFill, FillStatus.Filled].includes(fillStatus)) {
|
|
174
|
+
const { originChainId, depositId } = relayData;
|
|
175
|
+
throw new Error(
|
|
176
|
+
`relayFillStatus: Unexpected fillStatus for ${originChainId} deposit ${depositId.toString()} (${fillStatus})`
|
|
177
|
+
);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
return fillStatus;
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
export async function fillStatusArray(
|
|
184
|
+
spokePool: Contract,
|
|
185
|
+
relayData: RelayData[],
|
|
186
|
+
blockTag: BlockTag = "latest"
|
|
187
|
+
): Promise<(FillStatus | undefined)[]> {
|
|
188
|
+
const fillStatuses = "fillStatuses";
|
|
189
|
+
const destinationChainId = await spokePool.chainId();
|
|
190
|
+
|
|
191
|
+
const queries = relayData.map((relayData) => {
|
|
192
|
+
const hash = getRelayDataHash(relayData, destinationChainId);
|
|
193
|
+
return spokePool.interface.encodeFunctionData(fillStatuses, [hash]);
|
|
194
|
+
});
|
|
195
|
+
|
|
196
|
+
// Chunk the hashes into appropriate sizes to avoid death by rpc.
|
|
197
|
+
const chunkSize = 250;
|
|
198
|
+
const chunkedQueries = chunk(queries, chunkSize);
|
|
199
|
+
|
|
200
|
+
const multicalls = await Promise.all(
|
|
201
|
+
chunkedQueries.map((queries) => spokePool.callStatic.multicall(queries, { blockTag }))
|
|
202
|
+
);
|
|
203
|
+
const status = multicalls
|
|
204
|
+
.map((multicall: BytesLike[]) =>
|
|
205
|
+
multicall.map((result) => spokePool.interface.decodeFunctionResult(fillStatuses, result)[0])
|
|
206
|
+
)
|
|
207
|
+
.flat();
|
|
208
|
+
|
|
209
|
+
const bnUnfilled = toBN(FillStatus.Unfilled);
|
|
210
|
+
const bnFilled = toBN(FillStatus.Filled);
|
|
211
|
+
|
|
212
|
+
return status.map((status: unknown) => {
|
|
213
|
+
return BigNumber.isBigNumber(status) && status.gte(bnUnfilled) && status.lte(bnFilled)
|
|
214
|
+
? status.toNumber()
|
|
215
|
+
: undefined;
|
|
216
|
+
});
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* Find the block at which a fill was completed.
|
|
221
|
+
* @todo After SpokePool upgrade, this function can be simplified to use the FillStatus enum.
|
|
222
|
+
* @param spokePool SpokePool contract instance.
|
|
223
|
+
* @param relayData Deposit information that is used to complete a fill.
|
|
224
|
+
* @param lowBlockNumber The lower bound of the search. Must be bounded by SpokePool deployment.
|
|
225
|
+
* @param highBlocknumber Optional upper bound for the search.
|
|
226
|
+
* @returns The block number at which the relay was completed, or undefined.
|
|
227
|
+
*/
|
|
228
|
+
export async function findFillBlock(
|
|
229
|
+
spokePool: Contract,
|
|
230
|
+
relayData: RelayData,
|
|
231
|
+
lowBlockNumber: number,
|
|
232
|
+
highBlockNumber?: number
|
|
233
|
+
): Promise<number | undefined> {
|
|
234
|
+
const { provider } = spokePool;
|
|
235
|
+
highBlockNumber ??= await provider.getBlockNumber();
|
|
236
|
+
assert(highBlockNumber > lowBlockNumber, `Block numbers out of range (${lowBlockNumber} >= ${highBlockNumber})`);
|
|
237
|
+
|
|
238
|
+
// In production the chainId returned from the provider matches 1:1 with the actual chainId. Querying the provider
|
|
239
|
+
// object saves an RPC query because the chainId is cached by StaticJsonRpcProvider instances. In hre, the SpokePool
|
|
240
|
+
// may be configured with a different chainId than what is returned by the provider.
|
|
241
|
+
const destinationChainId = Object.values(CHAIN_IDs).includes(relayData.originChainId)
|
|
242
|
+
? (await provider.getNetwork()).chainId
|
|
243
|
+
: Number(await spokePool.chainId());
|
|
244
|
+
assert(
|
|
245
|
+
relayData.originChainId !== destinationChainId,
|
|
246
|
+
`Origin & destination chain IDs must not be equal (${destinationChainId})`
|
|
247
|
+
);
|
|
248
|
+
|
|
249
|
+
// Make sure the relay was completed within the block range supplied by the caller.
|
|
250
|
+
const [initialFillStatus, finalFillStatus] = (
|
|
251
|
+
await Promise.all([
|
|
252
|
+
relayFillStatus(spokePool, relayData, lowBlockNumber, destinationChainId),
|
|
253
|
+
relayFillStatus(spokePool, relayData, highBlockNumber, destinationChainId),
|
|
254
|
+
])
|
|
255
|
+
).map(Number);
|
|
256
|
+
|
|
257
|
+
if (finalFillStatus !== FillStatus.Filled) {
|
|
258
|
+
return undefined; // Wasn't filled within the specified block range.
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
// Was filled earlier than the specified lowBlock. This is an error by the caller.
|
|
262
|
+
if (initialFillStatus === FillStatus.Filled) {
|
|
263
|
+
const { depositId, originChainId } = relayData;
|
|
264
|
+
const [srcChain, dstChain] = [getNetworkName(originChainId), getNetworkName(destinationChainId)];
|
|
265
|
+
throw new Error(`${srcChain} deposit ${depositId.toString()} filled on ${dstChain} before block ${lowBlockNumber}`);
|
|
266
|
+
}
|
|
267
|
+
|
|
268
|
+
// Find the leftmost block where filledAmount equals the deposit amount.
|
|
269
|
+
do {
|
|
270
|
+
const midBlockNumber = Math.floor((highBlockNumber + lowBlockNumber) / 2);
|
|
271
|
+
const fillStatus = await relayFillStatus(spokePool, relayData, midBlockNumber, destinationChainId);
|
|
272
|
+
|
|
273
|
+
if (fillStatus === FillStatus.Filled) {
|
|
274
|
+
highBlockNumber = midBlockNumber;
|
|
275
|
+
} else {
|
|
276
|
+
lowBlockNumber = midBlockNumber + 1;
|
|
277
|
+
}
|
|
278
|
+
} while (lowBlockNumber < highBlockNumber);
|
|
279
|
+
|
|
280
|
+
return lowBlockNumber;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
export async function findFillEvent(
|
|
284
|
+
spokePool: Contract,
|
|
285
|
+
relayData: RelayData,
|
|
286
|
+
lowBlockNumber: number,
|
|
287
|
+
highBlockNumber?: number
|
|
288
|
+
): Promise<FillWithBlock | undefined> {
|
|
289
|
+
const blockNumber = await findFillBlock(spokePool, relayData, lowBlockNumber, highBlockNumber);
|
|
290
|
+
if (!blockNumber) return undefined;
|
|
291
|
+
|
|
292
|
+
// We can hardcode this to 0 to instruct paginatedEventQuery to make a single request for the same block number.
|
|
293
|
+
const maxBlockLookBack = 0;
|
|
294
|
+
const [fromBlock, toBlock] = [blockNumber, blockNumber];
|
|
295
|
+
|
|
296
|
+
const query = (
|
|
297
|
+
await Promise.all([
|
|
298
|
+
paginatedEventQuery(
|
|
299
|
+
spokePool,
|
|
300
|
+
spokePool.filters.FilledRelay(null, null, null, null, null, relayData.originChainId, relayData.depositId),
|
|
301
|
+
{ fromBlock, toBlock, maxBlockLookBack }
|
|
302
|
+
),
|
|
303
|
+
paginatedEventQuery(
|
|
304
|
+
spokePool,
|
|
305
|
+
spokePool.filters.FilledV3Relay(null, null, null, null, null, relayData.originChainId, relayData.depositId),
|
|
306
|
+
{ fromBlock, toBlock, maxBlockLookBack }
|
|
307
|
+
),
|
|
308
|
+
])
|
|
309
|
+
).flat();
|
|
310
|
+
if (query.length === 0) throw new Error(`Failed to find fill event at block ${blockNumber}`);
|
|
311
|
+
const event = query[0];
|
|
312
|
+
// In production the chainId returned from the provider matches 1:1 with the actual chainId. Querying the provider
|
|
313
|
+
// object saves an RPC query because the chainId is cached by StaticJsonRpcProvider instances. In hre, the SpokePool
|
|
314
|
+
// may be configured with a different chainId than what is returned by the provider.
|
|
315
|
+
const destinationChainId = Object.values(CHAIN_IDs).includes(relayData.originChainId)
|
|
316
|
+
? (await spokePool.provider.getNetwork()).chainId
|
|
317
|
+
: Number(await spokePool.chainId());
|
|
318
|
+
const fill = {
|
|
319
|
+
...spreadEventWithBlockNumber(event),
|
|
320
|
+
destinationChainId,
|
|
321
|
+
messageHash: getMessageHash(event.args.message),
|
|
322
|
+
} as FillWithBlock;
|
|
323
|
+
return fill;
|
|
324
|
+
}
|
package/src/arch/evm/index.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export
|
|
1
|
+
export * from "./SpokeUtils";
|
|
@@ -20,6 +20,7 @@ import {
|
|
|
20
20
|
DepositWithBlock,
|
|
21
21
|
} from "../../interfaces";
|
|
22
22
|
import { SpokePoolClient } from "..";
|
|
23
|
+
import { findFillEvent } from "../../arch/evm";
|
|
23
24
|
import {
|
|
24
25
|
BigNumber,
|
|
25
26
|
bnZero,
|
|
@@ -37,7 +38,6 @@ import {
|
|
|
37
38
|
mapAsync,
|
|
38
39
|
bnUint32Max,
|
|
39
40
|
isZeroValueDeposit,
|
|
40
|
-
findFillEvent,
|
|
41
41
|
isZeroValueFillOrSlowFillRequest,
|
|
42
42
|
chainIsEvm,
|
|
43
43
|
isValidEvmAddress,
|
|
@@ -728,8 +728,7 @@ export class BundleDataClient {
|
|
|
728
728
|
// hasn't queried. This is because this function will usually be called
|
|
729
729
|
// in production with block ranges that were validated by
|
|
730
730
|
// DataworkerUtils.blockRangesAreInvalidForSpokeClients.
|
|
731
|
-
Math.min(queryBlock, spokePoolClients[deposit.destinationChainId].latestBlockSearched)
|
|
732
|
-
deposit.destinationChainId
|
|
731
|
+
Math.min(queryBlock, spokePoolClients[deposit.destinationChainId].latestBlockSearched)
|
|
733
732
|
);
|
|
734
733
|
};
|
|
735
734
|
|
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
import { Contract, EventFilter } from "ethers";
|
|
2
|
-
import {
|
|
2
|
+
import {
|
|
3
|
+
fillStatusArray,
|
|
4
|
+
findDepositBlock,
|
|
5
|
+
getMaxFillDeadlineInRange as getMaxFillDeadline,
|
|
6
|
+
getTimeAt as _getTimeAt,
|
|
7
|
+
relayFillStatus,
|
|
8
|
+
getTimestampForBlock as _getTimestampForBlock,
|
|
9
|
+
} from "../../arch/evm";
|
|
10
|
+
import { DepositWithBlock, FillStatus, RelayData } from "../../interfaces";
|
|
11
|
+
import {
|
|
12
|
+
BigNumber,
|
|
13
|
+
DepositSearchResult,
|
|
14
|
+
getNetworkName,
|
|
15
|
+
InvalidFill,
|
|
16
|
+
isZeroAddress,
|
|
17
|
+
MakeOptional,
|
|
18
|
+
toBN,
|
|
19
|
+
} from "../../utils";
|
|
3
20
|
import {
|
|
4
21
|
EventSearchConfig,
|
|
5
22
|
paginatedEventQuery,
|
|
@@ -10,15 +27,6 @@ import { isUpdateFailureReason } from "../BaseAbstractClient";
|
|
|
10
27
|
import { knownEventNames, SpokePoolClient, SpokePoolUpdate } from "./SpokePoolClient";
|
|
11
28
|
import winston from "winston";
|
|
12
29
|
import { HubPoolClient } from "../HubPoolClient";
|
|
13
|
-
import {
|
|
14
|
-
findDepositBlock,
|
|
15
|
-
getMaxFillDeadlineInRange as getMaxFillDeadline,
|
|
16
|
-
getTimeAt as _getTimeAt,
|
|
17
|
-
relayFillStatus,
|
|
18
|
-
isZeroAddress,
|
|
19
|
-
getTimestampForBlock as _getTimestampForBlock,
|
|
20
|
-
} from "../../utils/SpokeUtils";
|
|
21
|
-
import { DepositWithBlock, FillStatus, RelayData } from "../../interfaces";
|
|
22
30
|
|
|
23
31
|
/**
|
|
24
32
|
* An EVM-specific SpokePoolClient.
|
|
@@ -35,12 +43,15 @@ export class EVMSpokePoolClient extends SpokePoolClient {
|
|
|
35
43
|
super(logger, hubPoolClient, chainId, deploymentBlock, eventSearchConfig);
|
|
36
44
|
}
|
|
37
45
|
|
|
38
|
-
public override relayFillStatus(
|
|
39
|
-
relayData
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
46
|
+
public override relayFillStatus(relayData: RelayData, blockTag?: number | "latest"): Promise<FillStatus> {
|
|
47
|
+
return relayFillStatus(this.spokePool, relayData, blockTag, this.chainId);
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
public override fillStatusArray(
|
|
51
|
+
relayData: RelayData[],
|
|
52
|
+
blockTag?: number | "latest"
|
|
53
|
+
): Promise<(FillStatus | undefined)[]> {
|
|
54
|
+
return fillStatusArray(this.spokePool, relayData, blockTag);
|
|
44
55
|
}
|
|
45
56
|
|
|
46
57
|
public override getMaxFillDeadlineInRange(startBlock: number, endBlock: number): Promise<number> {
|
|
@@ -810,11 +810,19 @@ export abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
810
810
|
/**
|
|
811
811
|
* Retrieves the fill status for a given relay data.
|
|
812
812
|
* @param relayData The relay data to retrieve the fill status for.
|
|
813
|
+
* @param blockTag The block at which to query the fill status.
|
|
813
814
|
* @returns The fill status for the given relay data.
|
|
814
815
|
*/
|
|
815
|
-
public abstract relayFillStatus(
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
816
|
+
public abstract relayFillStatus(relayData: RelayData, blockTag?: number | "latest"): Promise<FillStatus>;
|
|
817
|
+
|
|
818
|
+
/**
|
|
819
|
+
* Retrieves the fill status for an array of given relay data.
|
|
820
|
+
* @param relayData The array relay data to retrieve the fill status for.
|
|
821
|
+
* @param blockTag The block at which to query the fill status.
|
|
822
|
+
* @returns The fill status for each of the given relay data.
|
|
823
|
+
*/
|
|
824
|
+
public abstract fillStatusArray(
|
|
825
|
+
relayData: RelayData[],
|
|
826
|
+
blockTag?: number | "latest"
|
|
827
|
+
): Promise<(FillStatus | undefined)[]>;
|
|
820
828
|
}
|
package/src/index.ts
CHANGED
|
@@ -6,10 +6,10 @@ import { Coingecko } from "../../coingecko";
|
|
|
6
6
|
import { CHAIN_IDs, DEFAULT_SIMULATED_RELAYER_ADDRESS } from "../../constants";
|
|
7
7
|
import { Deposit } from "../../interfaces";
|
|
8
8
|
import { SpokePool, SpokePool__factory } from "../../typechain";
|
|
9
|
+
import { populateV3Relay } from "../../arch/evm";
|
|
9
10
|
import {
|
|
10
11
|
BigNumberish,
|
|
11
12
|
TransactionCostEstimate,
|
|
12
|
-
populateV3Relay,
|
|
13
13
|
BigNumber,
|
|
14
14
|
toBNWei,
|
|
15
15
|
bnZero,
|