diff --git a/scripts/spokepool.ts b/scripts/spokepool.ts index cef9687cd..a797bf35d 100644 --- a/scripts/spokepool.ts +++ b/scripts/spokepool.ts @@ -6,6 +6,7 @@ import { Contract, ethers, Signer } from "ethers"; import { LogDescription } from "@ethersproject/abi"; import { constants as sdkConsts, utils as sdkUtils } from "@across-protocol/sdk"; import { ExpandedERC20__factory as ERC20 } from "@across-protocol/contracts"; +import { RelayData } from "../src/interfaces"; import { BigNumber, formatFeePct, @@ -62,11 +63,18 @@ function printDeposit(originChainId: number, log: LogDescription): void { function printFill(destinationChainId: number, log: LogDescription): void { const { originChainId, outputToken } = log.args; const eventArgs = Object.keys(log.args).filter((key) => isNaN(Number(key))); - const padLeft = eventArgs.reduce((acc, cur) => (cur.length > acc ? cur.length : acc), 0); + + const relayDataHash = sdkUtils.getRelayDataHash( + Object.fromEntries(eventArgs.map((arg) => [arg, log.args[arg]])) as RelayData, + destinationChainId + ); + + const padLeft = [...eventArgs, "relayDataHash" ].reduce((acc, cur) => (cur.length > acc ? cur.length : acc), 0); const fields = { tokenSymbol: resolveTokenSymbols([outputToken], destinationChainId)[0], ...Object.fromEntries(eventArgs.map((key) => [key, log.args[key]])), + relayDataHash, }; console.log( `Fill for ${getNetworkName(originChainId)} deposit # ${log.args.depositId}:\n` + diff --git a/src/interfaces/index.ts b/src/interfaces/index.ts index 783e38024..5cbdeac7d 100644 --- a/src/interfaces/index.ts +++ b/src/interfaces/index.ts @@ -52,6 +52,7 @@ export type SetPoolRebalanceRoot = interfaces.SetPoolRebalanceRoot; export type PendingRootBundle = interfaces.PendingRootBundle; // SpokePool interfaces +export type RelayData = interfaces.RelayData; export type FundsDepositedEvent = interfaces.FundsDepositedEvent; export type Deposit = interfaces.Deposit; export type DepositWithBlock = interfaces.DepositWithBlock;