@relay-protocol/settlement-abis
v2.1.0
Published
Relay protocol contract ABIs
Keywords
Readme
Relay Settlement Contract ABIs
Contract ABIs for the Relay Settlement Protocol, published as plain JSON ABI arrays.
Installation
npm install @relay-protocol/settlement-abis
# or
yarn add @relay-protocol/settlement-abisUsage
Every export is a plain ABI array, so it can be passed directly to viem, ethers, or any other library that accepts a JSON ABI.
Reading contract state
import { RelayHub } from "@relay-protocol/settlement-abis"
import { createPublicClient, http } from "viem"
const client = createPublicClient({ transport: http("https://...") })
const balance = await client.readContract({
address: hubAddress,
abi: RelayHub,
functionName: "balanceOf",
args: [account, tokenId],
})Decoding events
import { RelayHub } from "@relay-protocol/settlement-abis"
const transfers = await client.getContractEvents({
address: hubAddress,
abi: RelayHub,
eventName: "Transfer",
})Decoding historical transactions
The RelayOracle export merges the ABIs of every historical version of the oracle, so a
single ABI can decode both current and legacy transactions.
import { RelayOracle, RelayOracleV2 } from "@relay-protocol/settlement-abis"
// RelayOracle covers all deployed versions, RelayOracleV2 only the current one
const executions = await client.getContractEvents({
address: oracleAddress,
abi: RelayOracle,
eventName: "Executed",
})Included ABIs
| Area | Exports |
| ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Core | RelayHub, RelayAllocator, RelayExecutor, Config, ERC20View, WithdrawGasPayer |
| Oracles | RelayOracleV2, RelayOracle, RelayOracleMultisig, RelayOracleIdempotencyStore, RelayPriceOracle |
| Price adapters | ChainlinkDataStreamsAdapter, StorkFastAdapter, IPriceFeedAdapter |
| Depository | RelayDepository, RelayGatewayDepository, ICircleGatewayWallet, ICircleGatewayMinter |
| Payload builders | EthereumVmPayloadBuilder, BitcoinVmPayloadBuilder, SolanaVmPayloadBuilder, TonVmPayloadBuilder, TronVmPayloadBuilder, XrpVmPayloadBuilder, HyperliquidVmPayloadBuilder, LighterVmPayloadBuilder, GatewayVmPayloadBuilder |
| Deposit addresses | RelayDepositAddressManager, SignedPricingOracle, BasicPricingOracle |
| Call resolvers | BasicCallResolver, PoolDrawResolver |
| Routers | Multicall3, MulticallRouter, IMulticallRouter |
Interfaces (IHub, ICallResolver, IPricingOracle, ...) and shared libraries are also
exported. See the TypeScript definitions for the complete list.
Related packages
@relay-protocol/settlement-sdk— encoding and decoding messages for the protocol@relay-protocol/settlement-networks— network and contract address configuration
