@across-protocol/sdk 4.1.46-beta.0 → 4.1.46-beta.2
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/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +15 -11
- package/dist/cjs/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.d.ts +0 -2
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js +75 -47
- package/dist/cjs/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js +10 -1
- package/dist/cjs/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.d.ts +7 -7
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js +48 -37
- package/dist/cjs/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js +2 -2
- package/dist/cjs/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.d.ts +48 -20
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js +8 -6
- package/dist/cjs/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/cjs/clients/HubPoolClient.d.ts +3 -2
- package/dist/cjs/clients/HubPoolClient.js +65 -32
- package/dist/cjs/clients/HubPoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js +1 -1
- package/dist/cjs/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js +20 -6
- package/dist/cjs/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js +2 -2
- package/dist/cjs/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockHubPoolClient.d.ts +3 -3
- package/dist/cjs/clients/mocks/MockHubPoolClient.js +35 -7
- package/dist/cjs/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js +5 -5
- package/dist/cjs/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/cjs/interfaces/Common.d.ts +2 -2
- package/dist/cjs/utils/AddressUtils.d.ts +1 -0
- package/dist/cjs/utils/AddressUtils.js +3 -0
- package/dist/cjs/utils/AddressUtils.js.map +1 -1
- package/dist/cjs/utils/DepositUtils.d.ts +1 -0
- package/dist/cjs/utils/DepositUtils.js +5 -1
- package/dist/cjs/utils/DepositUtils.js.map +1 -1
- package/dist/cjs/utils/EventUtils.d.ts +2 -1
- package/dist/cjs/utils/EventUtils.js +21 -12
- package/dist/cjs/utils/EventUtils.js.map +1 -1
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.d.ts +3 -3
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js +15 -11
- package/dist/esm/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/BundleDataClient.d.ts +0 -2
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js +82 -52
- package/dist/esm/clients/BundleDataClient/BundleDataClient.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js +16 -1
- package/dist/esm/clients/BundleDataClient/utils/DataworkerUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.d.ts +28 -7
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js +84 -51
- package/dist/esm/clients/BundleDataClient/utils/FillUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js +2 -2
- package/dist/esm/clients/BundleDataClient/utils/PoolRebalanceUtils.js.map +1 -1
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.d.ts +48 -20
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js +5 -3
- package/dist/esm/clients/BundleDataClient/utils/SuperstructUtils.js.map +1 -1
- package/dist/esm/clients/HubPoolClient.d.ts +3 -16
- package/dist/esm/clients/HubPoolClient.js +77 -52
- package/dist/esm/clients/HubPoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js +2 -2
- package/dist/esm/clients/SpokePoolClient/EVMSpokePoolClient.js.map +1 -1
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.d.ts +1 -0
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js +29 -15
- package/dist/esm/clients/SpokePoolClient/SpokePoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockConfigStoreClient.js +3 -3
- package/dist/esm/clients/mocks/MockConfigStoreClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockHubPoolClient.d.ts +3 -3
- package/dist/esm/clients/mocks/MockHubPoolClient.js +35 -7
- package/dist/esm/clients/mocks/MockHubPoolClient.js.map +1 -1
- package/dist/esm/clients/mocks/MockSpokePoolClient.js +5 -5
- package/dist/esm/clients/mocks/MockSpokePoolClient.js.map +1 -1
- package/dist/esm/interfaces/Common.d.ts +2 -2
- package/dist/esm/utils/AddressUtils.d.ts +1 -0
- package/dist/esm/utils/AddressUtils.js +3 -0
- package/dist/esm/utils/AddressUtils.js.map +1 -1
- package/dist/esm/utils/DepositUtils.d.ts +1 -0
- package/dist/esm/utils/DepositUtils.js +5 -1
- package/dist/esm/utils/DepositUtils.js.map +1 -1
- package/dist/esm/utils/EventUtils.d.ts +2 -1
- package/dist/esm/utils/EventUtils.js +18 -10
- package/dist/esm/utils/EventUtils.js.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 +0 -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 +28 -7
- package/dist/types/clients/BundleDataClient/utils/FillUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts +1 -1
- package/dist/types/clients/BundleDataClient/utils/PoolRebalanceUtils.d.ts.map +1 -1
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts +48 -20
- package/dist/types/clients/BundleDataClient/utils/SuperstructUtils.d.ts.map +1 -1
- package/dist/types/clients/HubPoolClient.d.ts +3 -16
- 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 +1 -0
- package/dist/types/clients/SpokePoolClient/SpokePoolClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockConfigStoreClient.d.ts.map +1 -1
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts +3 -3
- package/dist/types/clients/mocks/MockHubPoolClient.d.ts.map +1 -1
- package/dist/types/interfaces/Common.d.ts +2 -2
- package/dist/types/interfaces/Common.d.ts.map +1 -1
- package/dist/types/utils/AddressUtils.d.ts +1 -0
- package/dist/types/utils/AddressUtils.d.ts.map +1 -1
- package/dist/types/utils/DepositUtils.d.ts +1 -0
- package/dist/types/utils/DepositUtils.d.ts.map +1 -1
- package/dist/types/utils/EventUtils.d.ts +2 -1
- package/dist/types/utils/EventUtils.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/clients/AcrossConfigStoreClient/AcrossConfigStoreClient.ts +17 -15
- package/src/clients/BundleDataClient/BundleDataClient.ts +144 -62
- package/src/clients/BundleDataClient/utils/DataworkerUtils.ts +36 -1
- package/src/clients/BundleDataClient/utils/FillUtils.ts +132 -72
- package/src/clients/BundleDataClient/utils/PoolRebalanceUtils.ts +3 -2
- package/src/clients/BundleDataClient/utils/SuperstructUtils.ts +7 -3
- package/src/clients/HubPoolClient.ts +97 -62
- package/src/clients/SpokePoolClient/EVMSpokePoolClient.ts +2 -1
- package/src/clients/SpokePoolClient/SpokePoolClient.ts +55 -17
- package/src/clients/mocks/MockConfigStoreClient.ts +10 -3
- package/src/clients/mocks/MockHubPoolClient.ts +41 -10
- package/src/clients/mocks/MockSpokePoolClient.ts +5 -5
- package/src/interfaces/Common.ts +2 -2
- package/src/utils/AddressUtils.ts +4 -0
- package/src/utils/DepositUtils.ts +6 -1
- package/src/utils/EventUtils.ts +19 -13
|
@@ -218,6 +218,7 @@ export declare abstract class SpokePoolClient extends BaseAbstractClient {
|
|
|
218
218
|
depositId: BigNumber;
|
|
219
219
|
originChainId: number;
|
|
220
220
|
}): string;
|
|
221
|
+
protected canResolveZeroAddressOutputToken(deposit: DepositWithBlock): boolean;
|
|
221
222
|
/**
|
|
222
223
|
* A wrapper over the `_update` method that handles errors and logs. This method additionally calls into the
|
|
223
224
|
* HubPoolClient to update the state of this client with data from the HubPool contract.
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,EAWb,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;IA2FD;;;;;;OAMG;IACI,cAAc,CAAC,KAAK,EAAE;QAAE,SAAS,EAAE,SAAS,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,MAAM;IAIrF,SAAS,CAAC,gCAAgC,CAAC,OAAO,EAAE,gBAAgB,GAAG,OAAO;IAuB9E;;;;;;;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;IAgB1E;;;;;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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockConfigStoreClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockConfigStoreClient.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAU,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,
|
|
1
|
+
{"version":3,"file":"MockConfigStoreClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockConfigStoreClient.ts"],"names":[],"mappings":"AACA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAU,MAAM,QAAQ,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,MAAM,kBAAkB,CAAC;AACvC,OAAO,EAEL,iBAAiB,EACjB,YAAY,EAIb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,uBAAuB,EACvB,iBAAiB,EAGlB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAgB,cAAc,EAAmB,MAAM,cAAc,CAAC;AAE7E,qBAAa,qBAAsB,SAAQ,uBAAuB;IACzD,kBAAkB,SAAgC;IACzD,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,yBAAyB,CAAuB;IAGxD,SAAgB,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAIrD;gBAGA,MAAM,EAAE,OAAO,CAAC,MAAM,EACtB,WAAW,EAAE,QAAQ,EACrB,iBAAiB,wDAAoF,EACrG,kBAAkB,EAAE,MAAM,EAC1B,OAAO,SAAI,EACX,UAAU,UAAQ,EAClB,yBAAyB,CAAC,EAAE,MAAM,EAAE;IAYtC,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI;IAI5C,yBAAyB,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE;IAInD,6BAA6B,CAAC,YAAY,EAAE,MAAM,GAAG,MAAM;IAM3D,qBAAqB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IAI5C,OAAO,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAuCrC,kBAAkB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,cAAmB,GAAG,GAAG;IAInF,iBAAiB,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,GAAE,cAAmB,GAAG,GAAG;IAQlF,OAAO,CAAC,cAAc;CAcvB"}
|
|
@@ -10,7 +10,6 @@ export declare class MockHubPoolClient extends HubPoolClient {
|
|
|
10
10
|
private realizedLpFeePct;
|
|
11
11
|
private realizedLpFeePctOverride;
|
|
12
12
|
private l1TokensMock;
|
|
13
|
-
private tokenInfoToReturn;
|
|
14
13
|
private spokePoolTokens;
|
|
15
14
|
private eventManager;
|
|
16
15
|
constructor(logger: winston.Logger, hubPool: Contract, configStoreClient: ConfigStoreClient, deploymentBlock?: number, chainId?: number);
|
|
@@ -22,15 +21,16 @@ export declare class MockHubPoolClient extends HubPoolClient {
|
|
|
22
21
|
setLatestBlockNumber(blockNumber: number): void;
|
|
23
22
|
addL1Token(l1Token: L1Token): void;
|
|
24
23
|
getL1Tokens(): L1Token[];
|
|
25
|
-
getTokenInfoForAddress(): L1Token;
|
|
26
24
|
setTokenMapping(l1Token: string, chainId: number, l2Token: string): void;
|
|
25
|
+
l2TokenEnabledForL1TokenAtBlock(l1Token: string, destinationChainId: number, hubBlockNumber: number): boolean;
|
|
26
|
+
l2TokenHasPoolRebalanceRoute(l2Token: string, chainId: number, hubPoolBlock: number): boolean;
|
|
27
27
|
deleteTokenMapping(l1Token: string, chainId: number): void;
|
|
28
28
|
getL1TokenForL2TokenAtBlock(l2Token: string, chainId: number, blockNumber: number): string;
|
|
29
29
|
getL2TokenForL1TokenAtBlock(l1Token: string, chainId: number, blockNumber: number): string;
|
|
30
30
|
getTokenInfoForL1Token(l1Token: string): L1Token | undefined;
|
|
31
|
-
setTokenInfoToReturn(tokenInfo: L1Token): void;
|
|
32
31
|
_update(eventNames: string[]): Promise<HubPoolUpdate>;
|
|
33
32
|
readonly eventSignatures: Record<string, string>;
|
|
33
|
+
setCrossChainContractsEvent(l2ChainId: number, adapter: string, spokePool: string, overrides?: EventOverrides): Log;
|
|
34
34
|
setPoolRebalanceRoute(destinationChainId: number, l1Token: string, destinationToken: string, overrides?: EventOverrides): Log;
|
|
35
35
|
proposeRootBundle(challengePeriodEndTimestamp: number, poolRebalanceLeafCount: number, bundleEvaluationBlockNumbers: BigNumber[], poolRebalanceRoot?: string, relayerRefundRoot?: string, slowRelayRoot?: string, proposer?: string, overrides?: EventOverrides): Log;
|
|
36
36
|
executeRootBundle(groupIndex: BigNumber, leafId: number, chainId: BigNumber, l1Tokens: string[], bundleLpFees: BigNumber[], netSendAmounts: BigNumber[], runningBalances: BigNumber[], caller?: string, overrides?: EventOverrides): Log;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MockHubPoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockHubPoolClient.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAC9B,OAAO,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAClC,OAAO,EAAE,SAAS,EAAiC,MAAM,aAAa,CAAC;AACvE,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAClF,OAAO,EAAE,uBAAuB,IAAI,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAC1F,OAAO,EAAE,aAAa,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EAAgB,cAAc,EAAmB,MAAM,cAAc,CAAC;AAa7E,qBAAa,iBAAkB,SAAQ,aAAa;IAC3C,kBAAkB,oBAAmB;IAC5C,OAAO,CAAC,gBAAgB,CAAqB;IAC7C,OAAO,CAAC,wBAAwB,CAAS;IAEzC,OAAO,CAAC,YAAY,CAAiB;
|
|
1
|
+
{"version":3,"file":"MockHubPoolClient.d.ts","sourceRoot":"","sources":["../../../../src/clients/mocks/MockHubPoolClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,9 +8,9 @@ export type Log = _Log & {
|
|
|
8
8
|
};
|
|
9
9
|
export interface SortableEvent {
|
|
10
10
|
blockNumber: number;
|
|
11
|
-
|
|
11
|
+
txnIndex: number;
|
|
12
12
|
logIndex: number;
|
|
13
|
-
|
|
13
|
+
txnRef: string;
|
|
14
14
|
}
|
|
15
15
|
export interface BigNumberForToken {
|
|
16
16
|
[l1TokenAddress: string]: BigNumber;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/interfaces/Common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,
|
|
1
|
+
{"version":3,"file":"Common.d.ts","sourceRoot":"","sources":["../../../src/interfaces/Common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,IAAI,IAAI,EAAE,MAAM,kCAAkC,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAErC,MAAM,MAAM,GAAG,GAAG,IAAI,GAAG;IACvB,KAAK,EAAE,MAAM,CAAC;IAEd,IAAI,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;KAAE,CAAC;CAC9B,CAAC;AAEF,MAAM,WAAW,aAAa;IAC5B,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC"}
|
|
@@ -49,6 +49,7 @@ export declare class EvmAddress extends Address {
|
|
|
49
49
|
export declare class SvmAddress extends Address {
|
|
50
50
|
constructor(rawAddress: Uint8Array);
|
|
51
51
|
toAddress(): string;
|
|
52
|
+
toEvmAddress(): string;
|
|
52
53
|
static from(bs58Address: string): SvmAddress;
|
|
53
54
|
}
|
|
54
55
|
//# 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;AAE1C,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,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAWjG;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;IAanC,SAAS,IAAI,MAAM;IAMnB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,SAAS;IAMxB,YAAY,IAAI,MAAM;IAWtB,SAAS,IAAI,MAAM;IAKnB,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,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CAa3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IASzB,SAAS,IAAI,MAAM;IAK5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;CAG3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IAMzB,SAAS,IAAI,MAAM;
|
|
1
|
+
{"version":3,"file":"AddressUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/AddressUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAS,MAAM,QAAQ,CAAC;AAE1C,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,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,UAAU,CAWjG;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;IAanC,SAAS,IAAI,MAAM;IAMnB,QAAQ,IAAI,MAAM;IAKlB,WAAW,IAAI,SAAS;IAMxB,YAAY,IAAI,MAAM;IAWtB,SAAS,IAAI,MAAM;IAKnB,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,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO;IAK3B,OAAO,CAAC,YAAY,EAAE,OAAO,GAAG,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC;CAa3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IASzB,SAAS,IAAI,MAAM;IAK5B,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,MAAM,GAAG,UAAU;CAG3C;AAGD,qBAAa,UAAW,SAAQ,OAAO;gBAEzB,UAAU,EAAE,UAAU;IAMzB,SAAS,IAAI,MAAM;IAInB,YAAY,IAAI,MAAM;IAK/B,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,GAAG,UAAU;CAG7C"}
|
|
@@ -56,6 +56,7 @@ export declare function validateFillForDeposit(relayData: Omit<RelayData, "messa
|
|
|
56
56
|
* @returns True if deposit's input amount is 0 and message is empty.
|
|
57
57
|
*/
|
|
58
58
|
export declare function isZeroValueDeposit(deposit: Pick<Deposit, "inputAmount" | "message">): boolean;
|
|
59
|
+
export declare function invalidOutputToken(deposit: Pick<DepositWithBlock, "outputToken">): boolean;
|
|
59
60
|
export declare function isZeroValueFillOrSlowFillRequest(e: Pick<Fill | SlowFillRequest, "inputAmount" | "messageHash">): boolean;
|
|
60
61
|
/**
|
|
61
62
|
* Determines if a message is empty or not.
|
|
@@ -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;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
|
+
{"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,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,gBAAgB,EAAE,aAAa,CAAC,GAAG,OAAO,CAG1F;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"}
|
|
@@ -26,12 +26,13 @@ export declare function paginatedEventQuery(contract: Contract, filter: EventFil
|
|
|
26
26
|
* are ordered from smallest to largest.
|
|
27
27
|
*/
|
|
28
28
|
export declare function getPaginatedBlockRanges({ fromBlock, toBlock, maxBlockLookBack, }: EventSearchConfig): [number, number][];
|
|
29
|
+
export declare function logToSortableEvent(log: Log): SortableEvent;
|
|
29
30
|
export declare function spreadEventWithBlockNumber(event: Log): SortableEvent;
|
|
30
31
|
export declare function sortEventsAscending<T extends SortableEvent>(events: T[]): T[];
|
|
31
32
|
export declare function sortEventsAscendingInPlace<T extends SortableEvent>(events: T[]): T[];
|
|
32
33
|
export declare function sortEventsDescending<T extends SortableEvent>(events: T[]): T[];
|
|
33
34
|
export declare function sortEventsDescendingInPlace<T extends SortableEvent>(events: T[]): T[];
|
|
34
35
|
export declare function isEventOlder<T extends SortableEvent>(ex: T, ey: T): boolean;
|
|
35
|
-
export declare function
|
|
36
|
+
export declare function getTransactionRefs(events: SortableEvent[]): string[];
|
|
36
37
|
export declare function duplicateEvent(a: SortableEvent, b: SortableEvent): boolean;
|
|
37
38
|
//# sourceMappingURL=EventUtils.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAuE1F;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,KAAG,GAA0E,CAAC;AAErH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,UAAU,SAAI,GACb,OAAO,CAAC,GAAG,EAAE,CAAC,CAgChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,gBAAgB,GACjB,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAuCxC;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,
|
|
1
|
+
{"version":3,"file":"EventUtils.d.ts","sourceRoot":"","sources":["../../../src/utils/EventUtils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAE5C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AACtD,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAwBnD,wBAAgB,WAAW,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;IAAE,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,CAAA;CAAE,CAuE1F;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,UAAW,KAAK,KAAG,GAA0E,CAAC;AAErH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,QAAQ,EAClB,MAAM,EAAE,WAAW,EACnB,YAAY,EAAE,iBAAiB,EAC/B,UAAU,SAAI,GACb,OAAO,CAAC,GAAG,EAAE,CAAC,CAgChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,uBAAuB,CAAC,EACtC,SAAS,EACT,OAAO,EACP,gBAAgB,GACjB,EAAE,iBAAiB,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAuCxC;AAED,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,GAAG,GAAG,aAAa,CAO1D;AAED,wBAAgB,0BAA0B,CAAC,KAAK,EAAE,GAAG,GAAG,aAAa,CAKpE;AAGD,wBAAgB,mBAAmB,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE7E;AAID,wBAAgB,0BAA0B,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAUpF;AAGD,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAE9E;AAID,wBAAgB,2BAA2B,CAAC,CAAC,SAAS,aAAa,EAAE,MAAM,EAAE,CAAC,EAAE,GAAG,CAAC,EAAE,CAUrF;AAGD,wBAAgB,YAAY,CAAC,CAAC,SAAS,aAAa,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,GAAG,OAAO,CAQ3E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,EAAE,CAEpE;AAED,wBAAgB,cAAc,CAAC,CAAC,EAAE,aAAa,EAAE,CAAC,EAAE,aAAa,GAAG,OAAO,CAE1E"}
|
package/package.json
CHANGED
|
@@ -24,7 +24,6 @@ import {
|
|
|
24
24
|
DisabledChainsUpdate,
|
|
25
25
|
GlobalConfigUpdate,
|
|
26
26
|
LiteChainsIdListUpdate,
|
|
27
|
-
Log,
|
|
28
27
|
ParsedTokenConfig,
|
|
29
28
|
RateModelUpdate,
|
|
30
29
|
RouteRateModelUpdate,
|
|
@@ -43,8 +42,8 @@ type ConfigStoreUpdateSuccess = {
|
|
|
43
42
|
chainId: number;
|
|
44
43
|
searchEndBlock: number;
|
|
45
44
|
events: {
|
|
46
|
-
updatedTokenConfigEvents:
|
|
47
|
-
updatedGlobalConfigEvents:
|
|
45
|
+
updatedTokenConfigEvents: SortableEvent[];
|
|
46
|
+
updatedGlobalConfigEvents: SortableEvent[];
|
|
48
47
|
globalConfigUpdateTimes: number[];
|
|
49
48
|
};
|
|
50
49
|
};
|
|
@@ -341,8 +340,13 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
341
340
|
paginatedEventQuery(this.configStore, this.configStore.filters.UpdatedGlobalConfig(), searchConfig),
|
|
342
341
|
]);
|
|
343
342
|
|
|
343
|
+
const updatedTokenConfigSortableEvents = updatedTokenConfigEvents.map(spreadEventWithBlockNumber);
|
|
344
|
+
const updatedGlobalConfigSortableEvents = updatedGlobalConfigEvents.map(spreadEventWithBlockNumber);
|
|
345
|
+
|
|
344
346
|
// Events *should* normally be received in ascending order, but explicitly enforce the ordering.
|
|
345
|
-
[
|
|
347
|
+
[updatedTokenConfigSortableEvents, updatedGlobalConfigSortableEvents].forEach((events) =>
|
|
348
|
+
sortEventsAscendingInPlace(events)
|
|
349
|
+
);
|
|
346
350
|
|
|
347
351
|
const globalConfigUpdateTimes = (
|
|
348
352
|
await Promise.all(updatedGlobalConfigEvents.map((event) => this.configStore.provider.getBlock(event.blockNumber)))
|
|
@@ -353,8 +357,8 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
353
357
|
chainId,
|
|
354
358
|
searchEndBlock: searchConfig.toBlock,
|
|
355
359
|
events: {
|
|
356
|
-
updatedTokenConfigEvents,
|
|
357
|
-
updatedGlobalConfigEvents,
|
|
360
|
+
updatedTokenConfigEvents: updatedTokenConfigSortableEvents,
|
|
361
|
+
updatedGlobalConfigEvents: updatedGlobalConfigSortableEvents,
|
|
358
362
|
globalConfigUpdateTimes,
|
|
359
363
|
},
|
|
360
364
|
};
|
|
@@ -380,13 +384,11 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
380
384
|
// Save new TokenConfig updates.
|
|
381
385
|
for (const event of updatedTokenConfigEvents) {
|
|
382
386
|
// If transaction hash is known to be invalid, skip it immediately to avoid creating extra logs.
|
|
383
|
-
if (KNOWN_INVALID_TOKEN_CONFIG_UPDATE_HASHES.includes(event.
|
|
387
|
+
if (KNOWN_INVALID_TOKEN_CONFIG_UPDATE_HASHES.includes(event.txnRef.toLowerCase())) {
|
|
384
388
|
continue;
|
|
385
389
|
}
|
|
386
390
|
|
|
387
|
-
const args =
|
|
388
|
-
...(spreadEventWithBlockNumber(event) as TokenConfig),
|
|
389
|
-
};
|
|
391
|
+
const args = event as TokenConfig;
|
|
390
392
|
|
|
391
393
|
try {
|
|
392
394
|
const { rateModel, routeRateModel, spokeTargetBalances } = this.validateTokenConfigUpdate(args);
|
|
@@ -418,7 +420,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
418
420
|
this.logger.debug({
|
|
419
421
|
at: "ConfigStoreClient::update",
|
|
420
422
|
message: `Skipping invalid historical update at block ${event.blockNumber}`,
|
|
421
|
-
|
|
423
|
+
txnRef: event.txnRef,
|
|
422
424
|
});
|
|
423
425
|
}
|
|
424
426
|
continue;
|
|
@@ -427,7 +429,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
427
429
|
|
|
428
430
|
// Save new Global config updates.
|
|
429
431
|
for (let i = 0; i < updatedGlobalConfigEvents.length; i++) {
|
|
430
|
-
const args =
|
|
432
|
+
const args = updatedGlobalConfigEvents[i] as SortableEvent & {
|
|
431
433
|
key: string;
|
|
432
434
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
433
435
|
value: any;
|
|
@@ -562,7 +564,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
562
564
|
rateModel: string | undefined;
|
|
563
565
|
routeRateModel: RouteRateModelUpdate["routeRateModel"];
|
|
564
566
|
} {
|
|
565
|
-
const { value, key,
|
|
567
|
+
const { value, key, txnRef } = args;
|
|
566
568
|
const parsedValue = parseJSONWithNumericString(value) as ParsedTokenConfig;
|
|
567
569
|
const l1Token = key;
|
|
568
570
|
|
|
@@ -578,7 +580,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
578
580
|
const rateModel = parsedValue.rateModel;
|
|
579
581
|
assert(
|
|
580
582
|
this.isValidRateModel(rateModel),
|
|
581
|
-
`Invalid rateModel UBar for ${l1Token} at transaction ${
|
|
583
|
+
`Invalid rateModel UBar for ${l1Token} at transaction ${txnRef}, ${JSON.stringify(rateModel)}`
|
|
582
584
|
);
|
|
583
585
|
rateModelForToken = JSON.stringify(rateModel);
|
|
584
586
|
|
|
@@ -601,7 +603,7 @@ export class AcrossConfigStoreClient extends BaseAbstractClient {
|
|
|
601
603
|
Object.entries(parsedValue.routeRateModel).map(([path, routeRateModel]) => {
|
|
602
604
|
assert(
|
|
603
605
|
this.isValidRateModel(routeRateModel) &&
|
|
604
|
-
`Invalid routeRateModel UBar for ${path} for ${l1Token} at transaction ${
|
|
606
|
+
`Invalid routeRateModel UBar for ${path} for ${l1Token} at transaction ${txnRef}, ${JSON.stringify(
|
|
605
607
|
routeRateModel
|
|
606
608
|
)}`
|
|
607
609
|
);
|
|
@@ -32,7 +32,6 @@ import {
|
|
|
32
32
|
forEachAsync,
|
|
33
33
|
getBlockRangeForChain,
|
|
34
34
|
getImpliedBundleBlockRanges,
|
|
35
|
-
getMessageHash,
|
|
36
35
|
getRelayEventKey,
|
|
37
36
|
isSlowFill,
|
|
38
37
|
mapAsync,
|
|
@@ -42,10 +41,10 @@ import {
|
|
|
42
41
|
chainIsEvm,
|
|
43
42
|
isValidEvmAddress,
|
|
44
43
|
duplicateEvent,
|
|
44
|
+
invalidOutputToken,
|
|
45
45
|
} from "../../utils";
|
|
46
46
|
import winston from "winston";
|
|
47
47
|
import {
|
|
48
|
-
BundleData,
|
|
49
48
|
BundleDataSS,
|
|
50
49
|
getEndBlockBuffers,
|
|
51
50
|
getRefundInformationFromFill,
|
|
@@ -57,7 +56,6 @@ import {
|
|
|
57
56
|
V3FillWithBlock,
|
|
58
57
|
verifyFillRepayment,
|
|
59
58
|
} from "./utils";
|
|
60
|
-
import { UNDEFINED_MESSAGE_HASH } from "../../constants";
|
|
61
59
|
import { isEVMSpokePoolClient } from "../SpokePoolClient";
|
|
62
60
|
|
|
63
61
|
// max(uint256) - 1
|
|
@@ -209,37 +207,6 @@ export class BundleDataClient {
|
|
|
209
207
|
return `bundles-${BundleDataClient.getArweaveClientKey(blockRangesForChains)}`;
|
|
210
208
|
}
|
|
211
209
|
|
|
212
|
-
// Post-populate any missing message hashes.
|
|
213
|
-
// @todo This can be removed once the legacy types hurdle is cleared (earliest 7 days post migration).
|
|
214
|
-
backfillMessageHashes(data: Pick<BundleData, "bundleDepositsV3" | "bundleFillsV3">): void {
|
|
215
|
-
Object.values(data.bundleDepositsV3).forEach((x) =>
|
|
216
|
-
Object.values(x).forEach((deposits) =>
|
|
217
|
-
deposits.forEach((deposit) => {
|
|
218
|
-
if (deposit.messageHash === UNDEFINED_MESSAGE_HASH) {
|
|
219
|
-
deposit.messageHash = getMessageHash(deposit.message);
|
|
220
|
-
}
|
|
221
|
-
})
|
|
222
|
-
)
|
|
223
|
-
);
|
|
224
|
-
|
|
225
|
-
Object.values(data.bundleFillsV3).forEach((x) =>
|
|
226
|
-
Object.values(x).forEach(({ fills }) =>
|
|
227
|
-
fills.forEach((fill) => {
|
|
228
|
-
if (fill.messageHash === UNDEFINED_MESSAGE_HASH && isDefined(fill.message)) {
|
|
229
|
-
// If messageHash is undefined, fill should be of type FilledV3Relay and should have a message.
|
|
230
|
-
fill.messageHash = getMessageHash(fill.message);
|
|
231
|
-
}
|
|
232
|
-
if (
|
|
233
|
-
fill.relayExecutionInfo.updatedMessageHash === UNDEFINED_MESSAGE_HASH &&
|
|
234
|
-
isDefined(fill.relayExecutionInfo.updatedMessage)
|
|
235
|
-
) {
|
|
236
|
-
fill.relayExecutionInfo.updatedMessageHash = getMessageHash(fill.relayExecutionInfo.updatedMessage);
|
|
237
|
-
}
|
|
238
|
-
})
|
|
239
|
-
)
|
|
240
|
-
);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
210
|
private async loadPersistedDataFromArweave(
|
|
244
211
|
blockRangesForChains: number[][]
|
|
245
212
|
): Promise<LoadDataReturnValue | undefined> {
|
|
@@ -270,16 +237,115 @@ export class BundleDataClient {
|
|
|
270
237
|
{} as Record<number, Record<string, UnderlyingType>>
|
|
271
238
|
);
|
|
272
239
|
|
|
273
|
-
const
|
|
240
|
+
const convertSortableEventFieldsIntoRequiredFields = <
|
|
241
|
+
T extends {
|
|
242
|
+
txnIndex?: number;
|
|
243
|
+
transactionIndex?: number;
|
|
244
|
+
txnRef?: string;
|
|
245
|
+
transactionHash?: string;
|
|
246
|
+
},
|
|
247
|
+
>(
|
|
248
|
+
data: T[]
|
|
249
|
+
): Array<
|
|
250
|
+
Omit<T, "txnIndex" | "transactionIndex" | "txnRef" | "transactionHash"> & {
|
|
251
|
+
txnIndex: number;
|
|
252
|
+
txnRef: string;
|
|
253
|
+
}
|
|
254
|
+
> => {
|
|
255
|
+
return data.map((item) => {
|
|
256
|
+
// For txnIndex/transactionIndex: throw if both are defined or both are missing.
|
|
257
|
+
if (
|
|
258
|
+
(item.txnIndex !== undefined && item.transactionIndex !== undefined) ||
|
|
259
|
+
(item.txnIndex === undefined && item.transactionIndex === undefined)
|
|
260
|
+
) {
|
|
261
|
+
throw new Error("Either txnIndex or transactionIndex must be defined, but not both.");
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
// For txnRef/transactionHash: throw if both are defined or both are missing.
|
|
265
|
+
if (
|
|
266
|
+
(item.txnRef !== undefined && item.transactionHash !== undefined) ||
|
|
267
|
+
(item.txnRef === undefined && item.transactionHash === undefined)
|
|
268
|
+
) {
|
|
269
|
+
throw new Error("Either txnRef or transactionHash must be defined, but not both.");
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
// Destructure the fields we don't need anymore
|
|
273
|
+
const { txnIndex, transactionIndex, txnRef, transactionHash, ...rest } = item;
|
|
274
|
+
|
|
275
|
+
// Return a new object with normalized fields.
|
|
276
|
+
// The non-null assertion (!) is safe here because our conditions ensure that one of each pair is defined.
|
|
277
|
+
return {
|
|
278
|
+
...rest,
|
|
279
|
+
txnIndex: txnIndex ?? transactionIndex!,
|
|
280
|
+
txnRef: txnRef ?? transactionHash!,
|
|
281
|
+
};
|
|
282
|
+
});
|
|
283
|
+
};
|
|
274
284
|
|
|
275
|
-
|
|
285
|
+
const convertEmbeddedSortableEventFieldsIntoRequiredFields = <
|
|
286
|
+
T extends {
|
|
287
|
+
txnIndex?: number;
|
|
288
|
+
transactionIndex?: number;
|
|
289
|
+
txnRef?: string;
|
|
290
|
+
transactionHash?: string;
|
|
291
|
+
},
|
|
292
|
+
>(
|
|
293
|
+
data: Record<string, Record<string, T[]>>
|
|
294
|
+
) => {
|
|
295
|
+
return Object.fromEntries(
|
|
296
|
+
Object.entries(data).map(([chainId, tokenData]) => [
|
|
297
|
+
chainId,
|
|
298
|
+
Object.fromEntries(
|
|
299
|
+
Object.entries(tokenData).map(([token, data]) => [
|
|
300
|
+
token,
|
|
301
|
+
convertSortableEventFieldsIntoRequiredFields(data),
|
|
302
|
+
])
|
|
303
|
+
),
|
|
304
|
+
])
|
|
305
|
+
);
|
|
306
|
+
};
|
|
276
307
|
|
|
308
|
+
const data = persistedData[0].data;
|
|
309
|
+
|
|
310
|
+
// This section processes and transforms bundle data loaded from Arweave storage into the correct format:
|
|
311
|
+
// 1. Each field (bundleFillsV3, expiredDepositsToRefundV3, etc.) contains nested records keyed by chainId and token
|
|
312
|
+
// 2. The chainId keys are converted from strings to numbers using convertTypedStringRecordIntoNumericRecord
|
|
313
|
+
// 3. For arrays of events (fills, deposits, etc.), the transaction fields are normalized:
|
|
314
|
+
// - txnIndex/transactionIndex -> txnIndex
|
|
315
|
+
// - txnRef/transactionHash -> txnRef
|
|
316
|
+
// This ensures consistent field names across all event objects
|
|
317
|
+
// 4. The data structure maintains all other fields like refunds, totalRefundAmount, and realizedLpFees
|
|
277
318
|
const bundleData = {
|
|
278
|
-
bundleFillsV3: convertTypedStringRecordIntoNumericRecord(
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
319
|
+
bundleFillsV3: convertTypedStringRecordIntoNumericRecord(
|
|
320
|
+
Object.fromEntries(
|
|
321
|
+
Object.entries(data.bundleFillsV3).map(([chainId, tokenData]) => [
|
|
322
|
+
chainId,
|
|
323
|
+
Object.fromEntries(
|
|
324
|
+
Object.entries(tokenData).map(([token, data]) => [
|
|
325
|
+
token,
|
|
326
|
+
{
|
|
327
|
+
refunds: data.refunds,
|
|
328
|
+
totalRefundAmount: data.totalRefundAmount,
|
|
329
|
+
realizedLpFees: data.realizedLpFees,
|
|
330
|
+
fills: convertSortableEventFieldsIntoRequiredFields(data.fills),
|
|
331
|
+
},
|
|
332
|
+
])
|
|
333
|
+
),
|
|
334
|
+
])
|
|
335
|
+
)
|
|
336
|
+
),
|
|
337
|
+
expiredDepositsToRefundV3: convertTypedStringRecordIntoNumericRecord(
|
|
338
|
+
convertEmbeddedSortableEventFieldsIntoRequiredFields(data.expiredDepositsToRefundV3)
|
|
339
|
+
),
|
|
340
|
+
bundleDepositsV3: convertTypedStringRecordIntoNumericRecord(
|
|
341
|
+
convertEmbeddedSortableEventFieldsIntoRequiredFields(data.bundleDepositsV3)
|
|
342
|
+
),
|
|
343
|
+
unexecutableSlowFills: convertTypedStringRecordIntoNumericRecord(
|
|
344
|
+
convertEmbeddedSortableEventFieldsIntoRequiredFields(data.unexecutableSlowFills)
|
|
345
|
+
),
|
|
346
|
+
bundleSlowFillsV3: convertTypedStringRecordIntoNumericRecord(
|
|
347
|
+
convertEmbeddedSortableEventFieldsIntoRequiredFields(data.bundleSlowFillsV3)
|
|
348
|
+
),
|
|
283
349
|
};
|
|
284
350
|
this.logger.debug({
|
|
285
351
|
at: "BundleDataClient#loadPersistedDataFromArweave",
|
|
@@ -358,6 +424,7 @@ export class BundleDataClient {
|
|
|
358
424
|
// @dev This helper function should probably be moved to the InventoryClient
|
|
359
425
|
async getApproximateRefundsForBlockRange(chainIds: number[], blockRanges: number[][]): Promise<CombinedRefunds> {
|
|
360
426
|
const refundsForChain: CombinedRefunds = {};
|
|
427
|
+
const bundleEndBlockForMainnet = blockRanges[0][1];
|
|
361
428
|
for (const chainId of chainIds) {
|
|
362
429
|
if (this.spokePoolClients[chainId] === undefined) {
|
|
363
430
|
continue;
|
|
@@ -372,7 +439,8 @@ export class BundleDataClient {
|
|
|
372
439
|
if (
|
|
373
440
|
fill.blockNumber < blockRanges[chainIndex][0] ||
|
|
374
441
|
fill.blockNumber > blockRanges[chainIndex][1] ||
|
|
375
|
-
isZeroValueFillOrSlowFillRequest(fill)
|
|
442
|
+
isZeroValueFillOrSlowFillRequest(fill) ||
|
|
443
|
+
invalidOutputToken(fill)
|
|
376
444
|
) {
|
|
377
445
|
return false;
|
|
378
446
|
}
|
|
@@ -399,17 +467,19 @@ export class BundleDataClient {
|
|
|
399
467
|
_fill,
|
|
400
468
|
spokeClient.spokePool.provider,
|
|
401
469
|
matchingDeposit,
|
|
402
|
-
this.clients.hubPoolClient
|
|
470
|
+
this.clients.hubPoolClient,
|
|
471
|
+
bundleEndBlockForMainnet
|
|
403
472
|
);
|
|
404
473
|
if (!isDefined(fill)) {
|
|
405
474
|
return;
|
|
406
475
|
}
|
|
407
476
|
const { chainToSendRefundTo, repaymentToken } = getRefundInformationFromFill(
|
|
408
|
-
|
|
477
|
+
{
|
|
478
|
+
...fill,
|
|
479
|
+
fromLiteChain: matchingDeposit.fromLiteChain,
|
|
480
|
+
},
|
|
409
481
|
this.clients.hubPoolClient,
|
|
410
|
-
|
|
411
|
-
this.chainIdListForBundleEvaluationBlockNumbers,
|
|
412
|
-
matchingDeposit.fromLiteChain
|
|
482
|
+
bundleEndBlockForMainnet
|
|
413
483
|
);
|
|
414
484
|
// Assume that lp fees are 0 for the sake of speed. In the future we could batch compute
|
|
415
485
|
// these or make hardcoded assumptions based on the origin-repayment chain direction. This might result
|
|
@@ -672,6 +742,7 @@ export class BundleDataClient {
|
|
|
672
742
|
}
|
|
673
743
|
|
|
674
744
|
const chainIds = this.clients.configStoreClient.getChainIdIndicesForBlock(blockRangesForChains[0][0]);
|
|
745
|
+
const bundleEndBlockForMainnet = blockRangesForChains[0][1];
|
|
675
746
|
|
|
676
747
|
if (blockRangesForChains.length > chainIds.length) {
|
|
677
748
|
throw new Error(
|
|
@@ -708,7 +779,7 @@ export class BundleDataClient {
|
|
|
708
779
|
deposit.originChainId,
|
|
709
780
|
deposit.outputToken,
|
|
710
781
|
deposit.destinationChainId,
|
|
711
|
-
|
|
782
|
+
bundleEndBlockForMainnet
|
|
712
783
|
) &&
|
|
713
784
|
// Cannot slow fill from or to a lite chain.
|
|
714
785
|
!deposit.fromLiteChain &&
|
|
@@ -885,7 +956,10 @@ export class BundleDataClient {
|
|
|
885
956
|
// tokens to the filler. We can't remove non-empty message deposit here in case there is a slow fill
|
|
886
957
|
// request for the deposit, we'd want to see the fill took place.
|
|
887
958
|
.filter(
|
|
888
|
-
(fill) =>
|
|
959
|
+
(fill) =>
|
|
960
|
+
fill.blockNumber <= destinationChainBlockRange[1] &&
|
|
961
|
+
!isZeroValueFillOrSlowFillRequest(fill) &&
|
|
962
|
+
!invalidOutputToken(fill)
|
|
889
963
|
),
|
|
890
964
|
async (fill) => {
|
|
891
965
|
fillCounter++;
|
|
@@ -904,7 +978,8 @@ export class BundleDataClient {
|
|
|
904
978
|
fill,
|
|
905
979
|
destinationClient.spokePool.provider,
|
|
906
980
|
deposits[0],
|
|
907
|
-
this.clients.hubPoolClient
|
|
981
|
+
this.clients.hubPoolClient,
|
|
982
|
+
bundleEndBlockForMainnet
|
|
908
983
|
);
|
|
909
984
|
if (!isDefined(fillToRefund)) {
|
|
910
985
|
bundleUnrepayableFillsV3.push(fill);
|
|
@@ -1008,7 +1083,8 @@ export class BundleDataClient {
|
|
|
1008
1083
|
fill,
|
|
1009
1084
|
destinationClient.spokePool.provider,
|
|
1010
1085
|
matchedDeposit,
|
|
1011
|
-
this.clients.hubPoolClient
|
|
1086
|
+
this.clients.hubPoolClient,
|
|
1087
|
+
bundleEndBlockForMainnet
|
|
1012
1088
|
);
|
|
1013
1089
|
if (!isDefined(fillToRefund)) {
|
|
1014
1090
|
bundleUnrepayableFillsV3.push(fill);
|
|
@@ -1054,7 +1130,9 @@ export class BundleDataClient {
|
|
|
1054
1130
|
.getSlowFillRequestsForOriginChain(originChainId)
|
|
1055
1131
|
.filter(
|
|
1056
1132
|
(request) =>
|
|
1057
|
-
request.blockNumber <= destinationChainBlockRange[1] &&
|
|
1133
|
+
request.blockNumber <= destinationChainBlockRange[1] &&
|
|
1134
|
+
!isZeroValueFillOrSlowFillRequest(request) &&
|
|
1135
|
+
!invalidOutputToken(request)
|
|
1058
1136
|
),
|
|
1059
1137
|
async (slowFillRequest: SlowFillRequestWithBlock) => {
|
|
1060
1138
|
const relayDataHash = getRelayEventKey(slowFillRequest);
|
|
@@ -1186,7 +1264,8 @@ export class BundleDataClient {
|
|
|
1186
1264
|
fill,
|
|
1187
1265
|
destinationClient.spokePool.provider,
|
|
1188
1266
|
deposits[0],
|
|
1189
|
-
this.clients.hubPoolClient
|
|
1267
|
+
this.clients.hubPoolClient,
|
|
1268
|
+
bundleEndBlockForMainnet
|
|
1190
1269
|
);
|
|
1191
1270
|
if (!isDefined(fillToRefund)) {
|
|
1192
1271
|
bundleUnrepayableFillsV3.push(fill);
|
|
@@ -1242,7 +1321,8 @@ export class BundleDataClient {
|
|
|
1242
1321
|
prefill,
|
|
1243
1322
|
destinationClient.spokePool.provider,
|
|
1244
1323
|
deposit,
|
|
1245
|
-
this.clients.hubPoolClient
|
|
1324
|
+
this.clients.hubPoolClient,
|
|
1325
|
+
bundleEndBlockForMainnet
|
|
1246
1326
|
);
|
|
1247
1327
|
if (!isDefined(verifiedFill)) {
|
|
1248
1328
|
bundleUnrepayableFillsV3.push(prefill);
|
|
@@ -1376,11 +1456,12 @@ export class BundleDataClient {
|
|
|
1376
1456
|
const matchedDeposit = deposits[0];
|
|
1377
1457
|
assert(isDefined(matchedDeposit), "Deposit should exist in relay hash dictionary.");
|
|
1378
1458
|
const { chainToSendRefundTo: paymentChainId } = getRefundInformationFromFill(
|
|
1379
|
-
|
|
1459
|
+
{
|
|
1460
|
+
...fill,
|
|
1461
|
+
fromLiteChain: matchedDeposit.fromLiteChain,
|
|
1462
|
+
},
|
|
1380
1463
|
this.clients.hubPoolClient,
|
|
1381
|
-
|
|
1382
|
-
chainIds,
|
|
1383
|
-
matchedDeposit.fromLiteChain
|
|
1464
|
+
bundleEndBlockForMainnet
|
|
1384
1465
|
);
|
|
1385
1466
|
return {
|
|
1386
1467
|
...fill,
|
|
@@ -1422,11 +1503,12 @@ export class BundleDataClient {
|
|
|
1422
1503
|
const associatedDeposit = deposits[0];
|
|
1423
1504
|
assert(isDefined(associatedDeposit), "Deposit should exist in relay hash dictionary.");
|
|
1424
1505
|
const { chainToSendRefundTo, repaymentToken } = getRefundInformationFromFill(
|
|
1425
|
-
|
|
1506
|
+
{
|
|
1507
|
+
...fill,
|
|
1508
|
+
fromLiteChain: associatedDeposit.fromLiteChain,
|
|
1509
|
+
},
|
|
1426
1510
|
this.clients.hubPoolClient,
|
|
1427
|
-
|
|
1428
|
-
chainIds,
|
|
1429
|
-
associatedDeposit.fromLiteChain
|
|
1511
|
+
bundleEndBlockForMainnet
|
|
1430
1512
|
);
|
|
1431
1513
|
updateBundleFillsV3(bundleFillsV3, fill, realizedLpFeePct, chainToSendRefundTo, repaymentToken, fill.relayer);
|
|
1432
1514
|
});
|