From 86368be75dc2d79c1bed435b780842c4b0616e1b Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Mon, 2 Dec 2024 12:06:24 +0100 Subject: [PATCH 1/8] fix(relayer): Respect chainId input argument in ethers listener (#1934) --- src/libexec/RelayerSpokePoolIndexer.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/libexec/RelayerSpokePoolIndexer.ts b/src/libexec/RelayerSpokePoolIndexer.ts index cca604523..618413037 100644 --- a/src/libexec/RelayerSpokePoolIndexer.ts +++ b/src/libexec/RelayerSpokePoolIndexer.ts @@ -122,7 +122,7 @@ async function run(argv: string[]): Promise { }; const args = minimist(argv, minimistOpts); - const { chainId: chainId, lookback, relayer = null, blockrange: maxBlockRange = 10_000 } = args; + const { chainid: chainId, lookback, relayer = null, blockrange: maxBlockRange = 10_000 } = args; assert(Number.isInteger(chainId), "chainId must be numeric "); assert(Number.isInteger(maxBlockRange), "maxBlockRange must be numeric"); assert(!isDefined(relayer) || ethersUtils.isAddress(relayer), `relayer address is invalid (${relayer})`); From e393a92aad9273925160684eae6483b1aede228e Mon Sep 17 00:00:00 2001 From: Matt Rice Date: Thu, 5 Dec 2024 05:10:31 -0500 Subject: [PATCH 2/8] fix: make datadog logs more digestible in datadog (#1937) --- src/monitor/Monitor.ts | 37 +++++++++++++++++++++---------------- 1 file changed, 21 insertions(+), 16 deletions(-) diff --git a/src/monitor/Monitor.ts b/src/monitor/Monitor.ts index 1122f8c5a..0b488694e 100644 --- a/src/monitor/Monitor.ts +++ b/src/monitor/Monitor.ts @@ -8,8 +8,6 @@ import { L1Token, RelayerBalanceReport, RelayerBalanceTable, - RelayerBalanceColumns, - RelayerBalanceCell, TokenTransfer, } from "../interfaces"; import { @@ -44,14 +42,13 @@ import { resolveTokenDecimals, sortEventsDescending, getWidestPossibleExpectedBlockRange, + utils, } from "../utils"; import { MonitorClients, updateMonitorClients } from "./MonitorClientHelper"; import { MonitorConfig } from "./MonitorConfig"; import { CombinedRefunds } from "../dataworker/DataworkerUtils"; -import lodash from "lodash"; - // 60 minutes, which is the length of the challenge window, so if a rebalance takes longer than this to finalize, // then its finalizing after the subsequent challenge period has started, which is sub-optimal. export const REBALANCE_FINALIZE_GRACE_PERIOD = Number(process.env.REBALANCE_FINALIZE_GRACE_PERIOD ?? 60 * 60); @@ -301,22 +298,30 @@ export class Monitor { }); // Note: types are here for clarity, not necessity. - const machineReadableReport = lodash.mapValues(reports, (table: RelayerBalanceTable) => - lodash.mapValues(table, (columns: RelayerBalanceColumns, tokenSymbol: string) => { + + Object.entries(reports).forEach(([relayer, balanceTable]) => { + Object.entries(balanceTable).forEach(([tokenSymbol, columns]) => { const decimals = allL1Tokens.find((token) => token.symbol === tokenSymbol)?.decimals; if (!decimals) { throw new Error(`No decimals found for ${tokenSymbol}`); } - return lodash.mapValues(columns, (cell: RelayerBalanceCell) => - lodash.mapValues(cell, (balance: BigNumber) => Number(convertFromWei(balance.toString(), decimals))) - ); - }) - ); - - this.logger.debug({ - at: "Monitor#reportRelayerBalances", - message: "Machine-readable balance report", - report: machineReadableReport, + Object.entries(columns).forEach(([chainName, cell]) => { + Object.entries(cell).forEach(([balanceType, balance]) => { + this.logger.debug({ + at: "Monitor#reportRelayerBalances", + message: "Machine-readable single balance report", + relayer, + tokenSymbol, + decimals, + chainName, + balanceType, + balanceInWei: balance.toString(), + balance: Number(utils.formatUnits(balance, decimals)), + datadog: true, + }); + }); + }); + }); }); } } From 8d79323ff527250078eab54353473faddeec3550 Mon Sep 17 00:00:00 2001 From: bmzig <57361391+bmzig@users.noreply.github.com> Date: Fri, 6 Dec 2024 12:06:56 -0600 Subject: [PATCH 3/8] improve: only log relayer balances for tokens on supported chains (#1938) Signed-off-by: bennett --- src/monitor/Monitor.ts | 39 +++++++++++++++++++++++++-------------- 1 file changed, 25 insertions(+), 14 deletions(-) diff --git a/src/monitor/Monitor.ts b/src/monitor/Monitor.ts index 0b488694e..7202af238 100644 --- a/src/monitor/Monitor.ts +++ b/src/monitor/Monitor.ts @@ -44,10 +44,10 @@ import { getWidestPossibleExpectedBlockRange, utils, } from "../utils"; - import { MonitorClients, updateMonitorClients } from "./MonitorClientHelper"; import { MonitorConfig } from "./MonitorConfig"; import { CombinedRefunds } from "../dataworker/DataworkerUtils"; +import { PUBLIC_NETWORKS } from "@across-protocol/constants"; // 60 minutes, which is the length of the challenge window, so if a rebalance takes longer than this to finalize, // then its finalizing after the subsequent challenge period has started, which is sub-optimal. @@ -306,20 +306,22 @@ export class Monitor { throw new Error(`No decimals found for ${tokenSymbol}`); } Object.entries(columns).forEach(([chainName, cell]) => { - Object.entries(cell).forEach(([balanceType, balance]) => { - this.logger.debug({ - at: "Monitor#reportRelayerBalances", - message: "Machine-readable single balance report", - relayer, - tokenSymbol, - decimals, - chainName, - balanceType, - balanceInWei: balance.toString(), - balance: Number(utils.formatUnits(balance, decimals)), - datadog: true, + if (this._tokenEnabledForNetwork(tokenSymbol, chainName)) { + Object.entries(cell).forEach(([balanceType, balance]) => { + this.logger.debug({ + at: "Monitor#reportRelayerBalances", + message: "Machine-readable single balance report", + relayer, + tokenSymbol, + decimals, + chainName, + balanceType, + balanceInWei: balance.toString(), + balance: Number(utils.formatUnits(balance, decimals)), + datadog: true, + }); }); - }); + } }); }); }); @@ -1289,4 +1291,13 @@ export class Monitor { }) ); } + + private _tokenEnabledForNetwork(tokenSymbol: string, networkName: string): boolean { + for (const [chainId, network] of Object.entries(PUBLIC_NETWORKS)) { + if (network.name === networkName) { + return isDefined(TOKEN_SYMBOLS_MAP[tokenSymbol]?.addresses[chainId]); + } + } + return false; + } } From e32d3de5b043f12188319661623d96fcd2c09710 Mon Sep 17 00:00:00 2001 From: Matt Rice Date: Fri, 6 Dec 2024 14:58:04 -0500 Subject: [PATCH 4/8] fix: remove excess reporter datadog logs (#1939) Signed-off-by: Matt Rice --- src/monitor/Monitor.ts | 55 +++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 27 deletions(-) diff --git a/src/monitor/Monitor.ts b/src/monitor/Monitor.ts index 7202af238..0182ef912 100644 --- a/src/monitor/Monitor.ts +++ b/src/monitor/Monitor.ts @@ -296,36 +296,37 @@ export class Monitor { message: `Balance report for ${relayer} 📖`, mrkdwn, }); - - // Note: types are here for clarity, not necessity. - - Object.entries(reports).forEach(([relayer, balanceTable]) => { - Object.entries(balanceTable).forEach(([tokenSymbol, columns]) => { - const decimals = allL1Tokens.find((token) => token.symbol === tokenSymbol)?.decimals; - if (!decimals) { - throw new Error(`No decimals found for ${tokenSymbol}`); - } - Object.entries(columns).forEach(([chainName, cell]) => { - if (this._tokenEnabledForNetwork(tokenSymbol, chainName)) { - Object.entries(cell).forEach(([balanceType, balance]) => { - this.logger.debug({ - at: "Monitor#reportRelayerBalances", - message: "Machine-readable single balance report", - relayer, - tokenSymbol, - decimals, - chainName, - balanceType, - balanceInWei: balance.toString(), - balance: Number(utils.formatUnits(balance, decimals)), - datadog: true, - }); + } + Object.entries(reports).forEach(([relayer, balanceTable]) => { + Object.entries(balanceTable).forEach(([tokenSymbol, columns]) => { + const decimals = allL1Tokens.find((token) => token.symbol === tokenSymbol)?.decimals; + if (!decimals) { + throw new Error(`No decimals found for ${tokenSymbol}`); + } + Object.entries(columns).forEach(([chainName, cell]) => { + if (this._tokenEnabledForNetwork(tokenSymbol, chainName)) { + Object.entries(cell).forEach(([balanceType, balance]) => { + // Don't log zero balances. + if (balance.isZero()) { + return; + } + this.logger.debug({ + at: "Monitor#reportRelayerBalances", + message: "Machine-readable single balance report", + relayer, + tokenSymbol, + decimals, + chainName, + balanceType, + balanceInWei: balance.toString(), + balance: Number(utils.formatUnits(balance, decimals)), + datadog: true, }); - } - }); + }); + } }); }); - } + }); } // Update current balances of all tokens on each supported chain for each relayer. From 452ed8138d863627157c32167e00cf08b8adff88 Mon Sep 17 00:00:00 2001 From: nicholaspai <9457025+nicholaspai@users.noreply.github.com> Date: Tue, 10 Dec 2024 09:51:18 -0600 Subject: [PATCH 5/8] improve(Relayer): Don't include log about outstanding xchain txfers if there are 0 txfers (#1944) * improve(Relayer): Don't include log about outstanding xchain txfers if there are 0 txfers * Update Relayer.ts --- src/relayer/Relayer.ts | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/src/relayer/Relayer.ts b/src/relayer/Relayer.ts index fa2428dd9..3f992385e 100644 --- a/src/relayer/Relayer.ts +++ b/src/relayer/Relayer.ts @@ -1251,21 +1251,29 @@ export class Relayer { if (this.clients.inventoryClient.isInventoryManagementEnabled() && chainId !== hubChainId) { // Shortfalls are mapped to deposit output tokens so look up output token in token symbol map. const l1Token = this.clients.hubPoolClient.getL1TokenInfoForAddress(token, chainId); - crossChainLog = - "There is " + - formatter( - this.clients.inventoryClient.crossChainTransferClient - .getOutstandingCrossChainTransferAmount(this.relayerAddress, chainId, l1Token.address, token) - // TODO: Add in additional l2Token param here once we can specify it - .toString() - ) + - ` inbound L1->L2 ${symbol} transfers. `; + const outstandingCrossChainTransferAmount = + this.clients.inventoryClient.crossChainTransferClient.getOutstandingCrossChainTransferAmount( + this.relayerAddress, + chainId, + l1Token.address, + token + ); + crossChainLog = outstandingCrossChainTransferAmount.gt(0) + ? " There is " + + formatter( + this.clients.inventoryClient.crossChainTransferClient + .getOutstandingCrossChainTransferAmount(this.relayerAddress, chainId, l1Token.address, token) + // TODO: Add in additional l2Token param here once we can specify it + .toString() + ) + + ` inbound L1->L2 ${symbol} transfers. ` + : undefined; } mrkdwn += ` - ${symbol} cumulative shortfall of ` + `${formatter(shortfall.toString())} ` + `(have ${formatter(balance.toString())} but need ` + - `${formatter(needed.toString())}). ${crossChainLog}` + + `${formatter(needed.toString())}).${crossChainLog}` + `This is blocking deposits: ${deposits}.\n`; }); }); From 5ed67e430dc91d841528ffb333e51ad777781b96 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Tue, 10 Dec 2024 21:35:18 +0100 Subject: [PATCH 6/8] chore: Bump constants (#1945) For POOL on World Chain. --- package.json | 2 +- yarn.lock | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/package.json b/package.json index 59fd040d0..81c5304f4 100644 --- a/package.json +++ b/package.json @@ -10,7 +10,7 @@ "node": ">=20" }, "dependencies": { - "@across-protocol/constants": "^3.1.20", + "@across-protocol/constants": "^3.1.21", "@across-protocol/contracts": "^3.0.16", "@across-protocol/sdk": "^3.3.21", "@arbitrum/sdk": "^4.0.2", diff --git a/yarn.lock b/yarn.lock index 1b90d9793..117f6cb6d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -21,6 +21,11 @@ resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.20.tgz#305bd41f5644b7db5d9fd12a6a6b4bbbbe2fd016" integrity sha512-B5RsvuOQsZdFgLk0WcFZGmoivm6g6gv95a+YKVBydcxZkNxAsyP065UQEDAmvRXvPhqGyehhd52515Xa/3bzyg== +"@across-protocol/constants@^3.1.21": + version "3.1.21" + resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.21.tgz#e5852daa51b4e1a215a32672c252287fea593256" + integrity sha512-ajDGLpsbmse3XYPFKsih98RO/CSzpRj4iiPIzfOUvmslBfm3vIYj5nVdLKahgPumsQ+Yq2W3+PF+ZSr6Ac3tRg== + "@across-protocol/contracts@^0.1.4": version "0.1.4" resolved "https://registry.yarnpkg.com/@across-protocol/contracts/-/contracts-0.1.4.tgz#64b3d91e639d2bb120ea94ddef3d160967047fa5" From 3ea50ffe512a9adfd98678075df5f3d54f2ed5fe Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Mon, 16 Dec 2024 16:50:52 +0100 Subject: [PATCH 7/8] chore: Bump constants, contracts & sdk (#1941) For some RPC-related improvements & bugfixes, as well as: - WBTC on Lisk. - POOL on World Chain. - USDC.e on Aleph Zero. --- package.json | 6 +- test/Dataworker.loadData.slowFill.ts | 2 - test/Relayer.BasicFill.ts | 2 - test/Relayer.SlowFill.ts | 1 - yarn.lock | 152 ++++++++++++++++++--------- 5 files changed, 106 insertions(+), 57 deletions(-) diff --git a/package.json b/package.json index 81c5304f4..d0c2e86e3 100644 --- a/package.json +++ b/package.json @@ -10,9 +10,9 @@ "node": ">=20" }, "dependencies": { - "@across-protocol/constants": "^3.1.21", - "@across-protocol/contracts": "^3.0.16", - "@across-protocol/sdk": "^3.3.21", + "@across-protocol/constants": "^3.1.22", + "@across-protocol/contracts": "^3.0.18", + "@across-protocol/sdk": "^3.3.25", "@arbitrum/sdk": "^4.0.2", "@consensys/linea-sdk": "^0.2.1", "@defi-wonderland/smock": "^2.3.5", diff --git a/test/Dataworker.loadData.slowFill.ts b/test/Dataworker.loadData.slowFill.ts index 1fb54e715..926c9e873 100644 --- a/test/Dataworker.loadData.slowFill.ts +++ b/test/Dataworker.loadData.slowFill.ts @@ -321,8 +321,6 @@ describe("BundleDataClient: Slow fill handling & validation", async function () const destinationChainDeposit = spokePoolClient_2.getDeposits()[0]; // Generate slow fill requests for the slow fill-eligible deposits - await spokePool_1.setCurrentTime(depositsWithSlowFillRequests[1].exclusivityDeadline + 1); // Temporary workaround - await spokePool_2.setCurrentTime(depositsWithSlowFillRequests[0].exclusivityDeadline + 1); // Temporary workaround await requestSlowFill(spokePool_2, relayer, depositsWithSlowFillRequests[0]); await requestSlowFill(spokePool_1, relayer, depositsWithSlowFillRequests[1]); const lastDestinationChainSlowFillRequestBlock = await spokePool_2.provider.getBlockNumber(); diff --git a/test/Relayer.BasicFill.ts b/test/Relayer.BasicFill.ts index f9d322cc4..3522cc43a 100644 --- a/test/Relayer.BasicFill.ts +++ b/test/Relayer.BasicFill.ts @@ -937,7 +937,6 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () { spy.getCalls().find(({ lastArg }) => lastArg.message.includes("Skipping fill for deposit with message")) ).to.not.be.undefined; } else { - await spokePool_2.setCurrentTime(deposit.exclusivityDeadline + 1); // Temporary workaround. // Now speed up deposit again with a higher fee and a message of 0x. This should be filled. expect((await txnReceipts[destinationChainId]).length).to.equal(1); expect(lastSpyLogIncludes(spy, "Filled v3 deposit")).to.be.true; @@ -1011,7 +1010,6 @@ describe("Relayer: Check for Unfilled Deposits and Fill", async function () { depositor ); - await spokePool_2.setCurrentTime(deposit.exclusivityDeadline + 1); // Temporary workaround. await updateAllClients(); txnReceipts = await relayerInstance.checkForUnfilledDepositsAndFill(); expect((await txnReceipts[destinationChainId]).length).to.equal(1); diff --git a/test/Relayer.SlowFill.ts b/test/Relayer.SlowFill.ts index 15e4d305a..008559a1b 100644 --- a/test/Relayer.SlowFill.ts +++ b/test/Relayer.SlowFill.ts @@ -209,7 +209,6 @@ describe("Relayer: Initiates slow fill requests", async function () { ); expect(deposit).to.exist; - await spokePool_2.setCurrentTime(deposit.exclusivityDeadline + 1); // Temporary workaround await updateAllClients(); const _txnReceipts = await relayerInstance.checkForUnfilledDepositsAndFill(); const txnHashes = await _txnReceipts[destinationChainId]; diff --git a/yarn.lock b/yarn.lock index 117f6cb6d..5c34e9a5e 100644 --- a/yarn.lock +++ b/yarn.lock @@ -11,20 +11,10 @@ "@uma/common" "^2.17.0" hardhat "^2.9.3" -"@across-protocol/constants@^3.1.19": - version "3.1.19" - resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.19.tgz#3c29b52ec5f2eece93a6abd50d580668b03dd7b3" - integrity sha512-XOFF+o64TDn57xNfUB38kWy8lYyE9lB7PBdyoMOadsXx00HC3KMznFi/paLRKT1iZ50vDwHp00tNZbr7Z7umzA== - -"@across-protocol/constants@^3.1.20": - version "3.1.20" - resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.20.tgz#305bd41f5644b7db5d9fd12a6a6b4bbbbe2fd016" - integrity sha512-B5RsvuOQsZdFgLk0WcFZGmoivm6g6gv95a+YKVBydcxZkNxAsyP065UQEDAmvRXvPhqGyehhd52515Xa/3bzyg== - -"@across-protocol/constants@^3.1.21": - version "3.1.21" - resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.21.tgz#e5852daa51b4e1a215a32672c252287fea593256" - integrity sha512-ajDGLpsbmse3XYPFKsih98RO/CSzpRj4iiPIzfOUvmslBfm3vIYj5nVdLKahgPumsQ+Yq2W3+PF+ZSr6Ac3tRg== +"@across-protocol/constants@^3.1.22": + version "3.1.22" + resolved "https://registry.yarnpkg.com/@across-protocol/constants/-/constants-3.1.22.tgz#888fb6852b9781aa9f872ac44e888d7bf2a643c7" + integrity sha512-l9CteL0FGHPPIbLaAztANpm/uNk8jV7hmDuecAToZdqAgqcN9E9Hfi44Fflr6H882uVsNlTU0/h1oWkTeifUnA== "@across-protocol/contracts@^0.1.4": version "0.1.4" @@ -35,12 +25,12 @@ "@openzeppelin/contracts" "4.1.0" "@uma/core" "^2.18.0" -"@across-protocol/contracts@^3.0.16": - version "3.0.16" - resolved "https://registry.yarnpkg.com/@across-protocol/contracts/-/contracts-3.0.16.tgz#22eb0c1dcdb01e8ca504dc2351d46513d9f71cc6" - integrity sha512-vwg+PmWaenlrx7kTHZdjDTTj1PwXWFU3rMlFyfKM8xBXbPWhIfMQCKCYOwFrGmZw2nRTYgoyhoKN/f6rUs/snw== +"@across-protocol/contracts@^3.0.18": + version "3.0.18" + resolved "https://registry.yarnpkg.com/@across-protocol/contracts/-/contracts-3.0.18.tgz#b5acbebcb249b193a4d9a019a7cd5af00131a70b" + integrity sha512-4eWgmK8D33ezNZPx/ePLnh3Za0FfcHj5mmDK5FfWbeOM+AjXOzV7miV2/xBcEZXclhIc52e3GcPdbegI15lA2w== dependencies: - "@across-protocol/constants" "^3.1.19" + "@across-protocol/constants" "^3.1.22" "@coral-xyz/anchor" "^0.30.1" "@defi-wonderland/smock" "^2.3.4" "@eth-optimism/contracts" "^0.5.40" @@ -54,28 +44,28 @@ "@solana/spl-token" "^0.4.6" "@solana/web3.js" "^1.31.0" "@types/yargs" "^17.0.33" - "@uma/common" "^2.34.0" + "@uma/common" "^2.37.3" "@uma/contracts-node" "^0.4.17" - "@uma/core" "^2.56.0" + "@uma/core" "^2.61.0" axios "^1.7.4" bs58 "^6.0.0" prettier-plugin-rust "^0.1.9" yargs "^17.7.2" zksync-web3 "^0.14.3" -"@across-protocol/sdk@^3.3.21": - version "3.3.21" - resolved "https://registry.yarnpkg.com/@across-protocol/sdk/-/sdk-3.3.21.tgz#f223a0d88b09c5f2335723b89e777a36df5255ca" - integrity sha512-N/0H5KwPS+iyMh8m1QvIPBNJuPFhHlRW1841AzcmhXdzwRtbarmSWXaXNDifeWDWMf3Fie8TN2WnSW4oQKd1HQ== +"@across-protocol/sdk@^3.3.25": + version "3.3.25" + resolved "https://registry.yarnpkg.com/@across-protocol/sdk/-/sdk-3.3.25.tgz#6eec255fb7a1025050e0415b56f1bf8681936b1e" + integrity sha512-nBBrXY/kslvfsYnVd6kTNOuDSomlfRTw6v4uI40au/rEzPQ6G8X5d/F+DGN3iPfi3ltHY5BEiqE+E6s7AxHA8A== dependencies: "@across-protocol/across-token" "^1.0.0" - "@across-protocol/constants" "^3.1.20" - "@across-protocol/contracts" "^3.0.16" + "@across-protocol/constants" "^3.1.22" + "@across-protocol/contracts" "^3.0.18" "@eth-optimism/sdk" "^3.3.1" "@ethersproject/bignumber" "^5.7.0" "@pinata/sdk" "^2.1.0" "@types/mocha" "^10.0.1" - "@uma/sdk" "^0.34.1" + "@uma/sdk" "^0.34.10" arweave "^1.14.4" async "^3.2.5" axios "^0.27.2" @@ -3539,17 +3529,63 @@ web3 "^1.6.0" winston "^3.2.1" -"@uma/contracts-frontend@^0.4.18": - version "0.4.18" - resolved "https://registry.yarnpkg.com/@uma/contracts-frontend/-/contracts-frontend-0.4.18.tgz#339093239ea6f2ba2914de424ad609e6f9346379" - integrity sha512-0UcA0Io+RB8p2BAeoyubNb0wQzvIWynQ2805ZzbwWhDB2jlW2xRNAKPRP6kcxaqtzCYcEoLnsTLwOP0ojmeWjw== +"@uma/common@^2.37.3": + version "2.37.3" + resolved "https://registry.yarnpkg.com/@uma/common/-/common-2.37.3.tgz#0d7fda1227e3a05563544bb36f418a790c81129d" + integrity sha512-DLcM2xtiFWDbty21r2gsL6AJbOc8G/CMqg0iMxssvkKbz8varsWS44zJF85XGxMlY8fE40w0ZS8MR92xpbsu4g== + dependencies: + "@across-protocol/contracts" "^0.1.4" + "@ethersproject/address" "^5.7.0" + "@ethersproject/bignumber" "^5.0.5" + "@ethersproject/bytes" "^5.7.0" + "@ethersproject/constants" "^5.7.0" + "@google-cloud/kms" "^3.0.1" + "@google-cloud/storage" "^6.4.2" + "@nomicfoundation/hardhat-verify" "^1.0.4" + "@nomiclabs/hardhat-ethers" "^2.2.1" + "@nomiclabs/hardhat-web3" "^2.0.0" + "@truffle/contract" "4.6.17" + "@truffle/hdwallet-provider" eip1559-beta + "@types/ethereum-protocol" "^1.0.0" + "@uniswap/v3-core" "^1.0.0-rc.2" + abi-decoder "github:UMAprotocol/abi-decoder" + async-retry "^1.3.3" + axios "^1.6.1" + bignumber.js "^8.0.1" + chalk-pipe "^3.0.0" + decimal.js "^10.2.1" + dotenv "^9.0.0" + eth-crypto "^2.4.0" + hardhat-deploy "0.9.1" + hardhat-gas-reporter "^1.0.4" + hardhat-typechain "^0.3.5" + lodash.uniqby "^4.7.0" + minimist "^1.2.0" + moment "^2.24.0" + node-fetch "^2.6.0" + node-metamask "github:UMAprotocol/node-metamask" + require-context "^1.1.0" + solidity-coverage "^0.7.13" + truffle-deploy-registry "^0.5.1" + web3 "^1.6.0" + winston "^3.2.1" -"@uma/contracts-node@^0.4.0", "@uma/contracts-node@^0.4.17", "@uma/contracts-node@^0.4.18": +"@uma/contracts-frontend@^0.4.25": + version "0.4.25" + resolved "https://registry.yarnpkg.com/@uma/contracts-frontend/-/contracts-frontend-0.4.25.tgz#86fd9e07d0466e04be41c48856e292b0f0de0722" + integrity sha512-LfkMw0lO+H+hUPevoAFogVu5iJTXp+Q2ChddqiynvvrwZ/lrNHrOjj0uEX1winjJXTLFs78jBK1AsIkkYK2VTQ== + +"@uma/contracts-node@^0.4.0", "@uma/contracts-node@^0.4.17": version "0.4.18" resolved "https://registry.yarnpkg.com/@uma/contracts-node/-/contracts-node-0.4.18.tgz#3d3e0ad7dc70b81b3d0dbe722b4eba93bd29f9bf" integrity sha512-JiICiNPEfL18JrddxjSNQUs0/gRMAvdqejIu7UP8JTG4Cup8tDJ6TejZJxBVHlmtB6hSOBnbLoPXb/uLtfdQiw== -"@uma/core@^2.18.0", "@uma/core@^2.56.0": +"@uma/contracts-node@^0.4.25": + version "0.4.25" + resolved "https://registry.yarnpkg.com/@uma/contracts-node/-/contracts-node-0.4.25.tgz#d5c82f1f2c7e0dc2dec26fe876db73ba3f0689d7" + integrity sha512-WaFojX4qyMmXpy5MBS7g0M0KnWESGusdSfTmlkZpCh65TksGaJwAyOM1YBRLL3xm3xSgxPoG+n6tTilSomUmOw== + +"@uma/core@^2.18.0": version "2.56.0" resolved "https://registry.yarnpkg.com/@uma/core/-/core-2.56.0.tgz#c19aa427f08691a85e99ec523d23abf359a6b0c3" integrity sha512-unylWwHeD/1mYcj1t2UPVgj1V+ceBLSo/BcYKgZyyBIHYAkC6bOx4egV/2NrhWPt3sX5CZFG1I1kMAqgp245tQ== @@ -3566,6 +3602,22 @@ "@uniswap/v3-core" "^1.0.0-rc.2" "@uniswap/v3-periphery" "^1.0.0-beta.23" +"@uma/core@^2.61.0": + version "2.61.0" + resolved "https://registry.yarnpkg.com/@uma/core/-/core-2.61.0.tgz#29580736349a47af8fb10beb4bb3b50bfcf912f5" + integrity sha512-bnk+CWW+uWpRilrgUny/gDXHKomG+h1Ug84OXdx+AAvj1/BtlMDOCNNt1OX8LSAz+a0hkiN9s24/zgHclTC/sg== + dependencies: + "@gnosis.pm/safe-contracts" "^1.3.0" + "@gnosis.pm/zodiac" "3.2.0" + "@maticnetwork/fx-portal" "^1.0.4" + "@openzeppelin/contracts" "4.9.6" + "@uma/common" "^2.37.3" + "@uniswap/lib" "4.0.1-alpha" + "@uniswap/v2-core" "1.0.0" + "@uniswap/v2-periphery" "1.1.0-beta.0" + "@uniswap/v3-core" "^1.0.0-rc.2" + "@uniswap/v3-periphery" "^1.0.0-beta.23" + "@uma/logger@^1.3.0": version "1.3.0" resolved "https://registry.yarnpkg.com/@uma/logger/-/logger-1.3.0.tgz#df5beb2efb4333aa3da320ba3a02168a627dbe72" @@ -3599,19 +3651,19 @@ mocha "^8.3.0" node-fetch "^2.6.1" -"@uma/sdk@^0.34.1": - version "0.34.3" - resolved "https://registry.yarnpkg.com/@uma/sdk/-/sdk-0.34.3.tgz#cd358e11df02abcf163703d94d4c5f448220b999" - integrity sha512-1DqzkculvR5qlRv0R1by9F/RJfMWgFgQa4nn4W2pWhyTvhsTi7/9ZFDbRgm5iU9xRHnWWZiEQE89SIZ8Vl+UiQ== +"@uma/sdk@^0.34.10": + version "0.34.10" + resolved "https://registry.yarnpkg.com/@uma/sdk/-/sdk-0.34.10.tgz#ae2bb4d1f5f4140aef0f7d6141620d70dbd57f35" + integrity sha512-Jo64XpbCxquuPIIktQCWFMNN/vCTyA1SbVXMrlmXgO7NAtPPMyPBlsKJr+N0/QrqymBQcO5wzdmo+EqJaeKIHw== dependencies: "@eth-optimism/core-utils" "^0.7.7" "@ethersproject/abstract-signer" "^5.4.0" "@ethersproject/providers" "^5.4.2" "@google-cloud/datastore" "^8.2.1" "@types/lodash-es" "^4.17.5" - "@uma/contracts-frontend" "^0.4.18" - "@uma/contracts-node" "^0.4.18" - axios "^0.24.0" + "@uma/contracts-frontend" "^0.4.25" + "@uma/contracts-node" "^0.4.25" + axios "^1.6.0" bluebird "^3.7.2" bn.js "^4.11.9" decimal.js "^10.3.1" @@ -4295,13 +4347,6 @@ axios@^0.21.1, axios@^0.21.2: dependencies: follow-redirects "^1.14.0" -axios@^0.24.0: - version "0.24.0" - resolved "https://registry.yarnpkg.com/axios/-/axios-0.24.0.tgz#804e6fa1e4b9c5288501dd9dff56a7a0940d20d6" - integrity sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA== - dependencies: - follow-redirects "^1.14.4" - axios@^0.27.2: version "0.27.2" resolved "https://registry.yarnpkg.com/axios/-/axios-0.27.2.tgz#207658cc8621606e586c85db4b41a750e756d972" @@ -4310,6 +4355,15 @@ axios@^0.27.2: follow-redirects "^1.14.9" form-data "^4.0.0" +axios@^1.6.0, axios@^1.6.1: + version "1.7.9" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.9.tgz#d7d071380c132a24accda1b2cfc1535b79ec650a" + integrity sha512-LhLcE7Hbiryz8oMDdDptSrWowmB4Bl6RCt6sIJKpRB4XtVf0iEgewX3au/pJqm+Py1kCASkb/FFKjxQaLtxJvw== + dependencies: + follow-redirects "^1.15.6" + form-data "^4.0.0" + proxy-from-env "^1.1.0" + axios@^1.7.4: version "1.7.4" resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" @@ -7557,7 +7611,7 @@ fn.name@1.x.x: resolved "https://registry.yarnpkg.com/fn.name/-/fn.name-1.1.0.tgz#26cad8017967aea8731bc42961d04a3d5988accc" integrity sha512-GRnmB5gPyJpAhTQdSZTSp9uaPSvl09KoYcMQtsB9rQoOmzs9dH6ffeccH+Z+cv6P68Hu5bC6JjRh4Ah/mHSNRw== -follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.4, follow-redirects@^1.14.9, follow-redirects@^1.15.6: +follow-redirects@^1.12.1, follow-redirects@^1.14.0, follow-redirects@^1.14.9, follow-redirects@^1.15.6: version "1.15.9" resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== From 4d9d83ddb00b7f2566ce3fc3e61b8e5db4e79739 Mon Sep 17 00:00:00 2001 From: Paul <108695806+pxrl@users.noreply.github.com> Date: Mon, 16 Dec 2024 18:11:52 +0100 Subject: [PATCH 8/8] chore: Enable WBTC/Lisk and POOL/WorldChain (#1951) --- src/common/Constants.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/common/Constants.ts b/src/common/Constants.ts index 59fe6b34e..b6dc7d6c7 100644 --- a/src/common/Constants.ts +++ b/src/common/Constants.ts @@ -311,13 +311,13 @@ export const SUPPORTED_TOKENS: { [chainId: number]: string[] } = { [CHAIN_IDs.BASE]: ["BAL", "DAI", "ETH", "WETH", "USDC", "POOL"], [CHAIN_IDs.BLAST]: ["DAI", "WBTC", "WETH"], [CHAIN_IDs.LINEA]: ["USDC", "USDT", "WETH", "WBTC", "DAI"], - [CHAIN_IDs.LISK]: ["WETH", "USDT", "LSK"], + [CHAIN_IDs.LISK]: ["WETH", "USDT", "LSK", "WBTC"], [CHAIN_IDs.MODE]: ["ETH", "WETH", "USDC", "USDT", "WBTC"], [CHAIN_IDs.OPTIMISM]: ["DAI", "SNX", "BAL", "WETH", "USDC", "POOL", "USDT", "WBTC", "UMA", "ACX"], [CHAIN_IDs.POLYGON]: ["USDC", "USDT", "WETH", "DAI", "WBTC", "UMA", "BAL", "ACX", "POOL"], [CHAIN_IDs.REDSTONE]: ["WETH"], [CHAIN_IDs.SCROLL]: ["WETH", "USDC", "USDT", "WBTC", "POOL"], - [CHAIN_IDs.WORLD_CHAIN]: ["WETH", "WBTC", "USDC"], + [CHAIN_IDs.WORLD_CHAIN]: ["WETH", "WBTC", "USDC", "POOL"], [CHAIN_IDs.ZK_SYNC]: ["USDC", "USDT", "WETH", "WBTC", "DAI"], [CHAIN_IDs.ZORA]: ["USDC", "WETH"],