CONTRACT_LINKS: readonly [
{
readonly protocol: "aave-v2";
readonly contract: "LendingPool";
readonly kind: "singleton";
readonly roleKey: "lendingPool";
readonly abiExport: "LendingPoolABI";
},
{
readonly protocol: "aave-v3";
readonly contract: "Pool";
readonly kind: "singleton";
readonly roleKey: "pool";
readonly abiExport: "PoolABI";
},
{
readonly protocol: "aave-v3";
readonly contract: "PoolAddressesProvider";
readonly kind: "address-only";
readonly roleKey: "poolAddressesProvider";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "aave-v4";
readonly contract: "MainSpoke";
readonly kind: "singleton";
readonly roleKey: "mainSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "ForexSpoke";
readonly kind: "singleton";
readonly roleKey: "forexSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "BluechipSpoke";
readonly kind: "singleton";
readonly roleKey: "bluechipSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "EthenaCorrelatedSpoke";
readonly kind: "singleton";
readonly roleKey: "ethenaCorrelatedSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "EthenaEcosystemSpoke";
readonly kind: "singleton";
readonly roleKey: "ethenaEcosystemSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "GoldSpoke";
readonly kind: "singleton";
readonly roleKey: "goldSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "PaxgGoldSpoke";
readonly kind: "singleton";
readonly roleKey: "paxgGoldSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "LombardBtcSpoke";
readonly kind: "singleton";
readonly roleKey: "lombardBtcSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "UsdgPendleSpoke";
readonly kind: "singleton";
readonly roleKey: "usdgPendleSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "EtherfiESpoke";
readonly kind: "singleton";
readonly roleKey: "etherfiESpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "KelpESpoke";
readonly kind: "singleton";
readonly roleKey: "kelpESpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "LidoESpoke";
readonly kind: "singleton";
readonly roleKey: "lidoESpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "UsdgMapleESpoke";
readonly kind: "singleton";
readonly roleKey: "usdgMapleESpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "Mag7Spoke";
readonly kind: "singleton";
readonly roleKey: "mag7Spoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "AvaxCorrelatedSpoke";
readonly kind: "singleton";
readonly roleKey: "avaxCorrelatedSpoke";
readonly abiExport: "AaveV4SpokeABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "CoreHub";
readonly kind: "singleton";
readonly roleKey: "coreHub";
readonly abiExport: "AaveV4HubABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "PlusHub";
readonly kind: "singleton";
readonly roleKey: "plusHub";
readonly abiExport: "AaveV4HubABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "PrimeHub";
readonly kind: "singleton";
readonly roleKey: "primeHub";
readonly abiExport: "AaveV4HubABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "GlobalDollarHub";
readonly kind: "singleton";
readonly roleKey: "globalDollarHub";
readonly abiExport: "AaveV4HubABI";
},
{
readonly protocol: "aave-v4";
readonly contract: "EquitiesHub";
readonly kind: "singleton";
readonly roleKey: "equitiesHub";
readonly abiExport: "AaveV4HubABI";
},
{
readonly protocol: "abracadabra";
readonly contract: "Cauldron";
readonly kind: "interface";
readonly abiExport: "CauldronABI";
},
{
readonly protocol: "abracadabra";
readonly contract: "DegenBox";
readonly kind: "singleton";
readonly roleKey: "degenBox";
readonly abiExport: "DegenBoxABI";
},
{
readonly protocol: "abracadabra";
readonly contract: "Mim";
readonly kind: "address-only";
readonly roleKey: "mim";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "across";
readonly contract: "HubPool";
readonly kind: "singleton";
readonly roleKey: "hubPool";
readonly abiExport: "AcrossHubPoolABI";
},
{
readonly protocol: "across";
readonly contract: "SpokePool";
readonly kind: "singleton";
readonly roleKey: "spokePool";
readonly abiExport: "AcrossSpokePoolABI";
},
{
readonly protocol: "aerodrome";
readonly contract: "PoolFactory";
readonly kind: "singleton";
readonly roleKey: "poolFactory";
readonly abiExport: "AerodromePoolFactoryABI";
},
{
readonly protocol: "aerodrome";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "AerodromeRouterABI";
},
{
readonly protocol: "aerodrome";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "AerodromePoolABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "CLFactory";
readonly kind: "singleton";
readonly roleKey: "clFactory";
readonly abiExport: "SlipstreamCLFactoryABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "CLFactoryGaugeCaps";
readonly kind: "singleton";
readonly roleKey: "clFactoryGaugeCaps";
readonly abiExport: "SlipstreamCLFactoryABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "CLFactoryGaugesV3";
readonly kind: "singleton";
readonly roleKey: "clFactoryGaugesV3";
readonly abiExport: "SlipstreamCLFactoryABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "NonfungiblePositionManager";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManager";
readonly abiExport: "SlipstreamPositionManagerABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "NonfungiblePositionManagerGaugeCaps";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManagerGaugeCaps";
readonly abiExport: "SlipstreamPositionManagerABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "NonfungiblePositionManagerGaugesV3";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManagerGaugesV3";
readonly abiExport: "SlipstreamPositionManagerABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "Metarouter";
readonly kind: "singleton";
readonly roleKey: "metarouter";
readonly abiExport: "AeroMetarouterABI";
},
{
readonly protocol: "aerodrome-slipstream";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "AerodromeSlipstreamPoolABI";
},
{
readonly protocol: "aevo";
readonly contract: "DepositContract";
readonly kind: "singleton";
readonly roleKey: "depositContract";
readonly abiExport: "DepositContractABI";
},
{
readonly protocol: "alchemix";
readonly contract: "AlchemistAlUSD";
readonly kind: "singleton";
readonly roleKey: "alchemistAlUSD";
readonly abiExport: "AlchemistABI";
},
{
readonly protocol: "alchemix";
readonly contract: "AlchemistAlETH";
readonly kind: "singleton";
readonly roleKey: "alchemistAlETH";
readonly abiExport: "AlchemistABI";
},
{
readonly protocol: "alchemix";
readonly contract: "AlUSD";
readonly kind: "address-only";
readonly roleKey: "alUSD";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "alchemix";
readonly contract: "AlETH";
readonly kind: "address-only";
readonly roleKey: "alETH";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "ambient";
readonly contract: "CrocSwapDex";
readonly kind: "singleton";
readonly roleKey: "crocSwapDex";
readonly abiExport: "CrocSwapDexABI";
},
{
readonly protocol: "arbitrum-bridge";
readonly contract: "L1GatewayRouter";
readonly kind: "singleton";
readonly roleKey: "l1GatewayRouter";
readonly abiExport: "ArbitrumL1GatewayRouterABI";
},
{
readonly protocol: "arbitrum-bridge";
readonly contract: "L2GatewayRouter";
readonly kind: "address-only";
readonly roleKey: "l2GatewayRouter";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "arrakis";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "ArrakisRouterABI";
},
{
readonly protocol: "arrakis";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "ArrakisVaultABI";
},
{
readonly protocol: "arrakis";
readonly contract: "Factory";
readonly kind: "address-only";
readonly roleKey: "factory";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "axelar";
readonly contract: "GasService";
readonly kind: "singleton";
readonly roleKey: "gasService";
readonly abiExport: "AxelarGasServiceABI";
},
{
readonly protocol: "axelar";
readonly contract: "Gateway";
readonly kind: "singleton";
readonly roleKey: "gateway";
readonly abiExport: "AxelarGatewayABI";
},
{
readonly protocol: "axelar";
readonly contract: "ITS";
readonly kind: "singleton";
readonly roleKey: "its";
readonly abiExport: "AxelarITSABI";
},
{
readonly protocol: "balancer-v2";
readonly contract: "Vault";
readonly kind: "singleton";
readonly roleKey: "vault";
readonly abiExport: "BalancerV2VaultABI";
},
{
readonly protocol: "base-bridge";
readonly contract: "L1StandardBridge";
readonly kind: "singleton";
readonly roleKey: "l1StandardBridge";
readonly abiExport: "BaseL1StandardBridgeABI";
},
{
readonly protocol: "base-bridge";
readonly contract: "L2StandardBridge";
readonly kind: "address-only";
readonly roleKey: "l2StandardBridge";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "baseswap";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "BaseSwapRouterABI";
},
{
readonly protocol: "beefy";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "BeefyVaultABI";
},
{
readonly protocol: "beefy";
readonly contract: "BIFI";
readonly kind: "address-only";
readonly roleKey: "BIFI";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "benqi";
readonly contract: "Comptroller";
readonly kind: "singleton";
readonly roleKey: "comptroller";
readonly abiExport: "BenqiComptrollerABI";
},
{
readonly protocol: "benqi";
readonly contract: "QiToken";
readonly kind: "interface";
readonly abiExport: "QiTokenABI";
},
{
readonly protocol: "camelot";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "CamelotV2RouterABI";
},
{
readonly protocol: "camelot";
readonly contract: "V3SwapRouter";
readonly kind: "singleton";
readonly roleKey: "v3SwapRouter";
readonly abiExport: "CamelotV3SwapRouterABI";
},
{
readonly protocol: "camelot";
readonly contract: "V2Factory";
readonly kind: "singleton";
readonly roleKey: "v2Factory";
readonly abiExport: "CamelotV2FactoryABI";
},
{
readonly protocol: "camelot";
readonly contract: "V2Pair";
readonly kind: "interface";
readonly abiExport: "CamelotV2PairABI";
},
{
readonly protocol: "camelot";
readonly contract: "V3Factory";
readonly kind: "singleton";
readonly roleKey: "v3Factory";
readonly abiExport: "CamelotV3FactoryABI";
},
{
readonly protocol: "camelot";
readonly contract: "V3Pool";
readonly kind: "interface";
readonly abiExport: "CamelotV3PoolABI";
},
{
readonly protocol: "cbeth";
readonly contract: "CbETH";
readonly kind: "singleton";
readonly roleKey: "cbETH";
readonly abiExport: "CbETHABI";
readonly caveats: readonly [
"exchangeRate() is not available on base: Base cbETH is the bridged OptimismMintableERC20; the exchange rate lives only on the Ethereum StakedTokenV1",
"mint(address,uint256) is not available on base: Base cbETH's mint is the bridge's (returns nothing); the ABI describes the Ethereum token, whose mint returns bool"
];
},
{
readonly protocol: "cctp";
readonly contract: "TokenMessenger";
readonly kind: "singleton";
readonly roleKey: "tokenMessenger";
readonly abiExport: "TokenMessengerABI";
},
{
readonly protocol: "celer";
readonly contract: "Bridge";
readonly kind: "singleton";
readonly roleKey: "bridge";
readonly abiExport: "CelerBridgeABI";
},
{
readonly protocol: "chainlink";
readonly contract: "EthUsdFeed";
readonly kind: "singleton";
readonly roleKey: "ethUsdFeed";
readonly abiExport: "AggregatorV3ABI";
},
{
readonly protocol: "chainlink";
readonly contract: "FeedRegistry";
readonly kind: "singleton";
readonly roleKey: "feedRegistry";
readonly abiExport: "FeedRegistryABI";
},
{
readonly protocol: "chainlink";
readonly contract: "VrfV2Coordinator";
readonly kind: "address-only";
readonly roleKey: "vrfV2Coordinator";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "chainlink-ccip";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "CCIPRouterABI";
},
{
readonly protocol: "circle-gateway";
readonly contract: "GatewayWallet";
readonly kind: "singleton";
readonly roleKey: "gatewayWallet";
readonly abiExport: "GatewayWalletABI";
},
{
readonly protocol: "circle-gateway";
readonly contract: "GatewayMinter";
readonly kind: "singleton";
readonly roleKey: "gatewayMinter";
readonly abiExport: "GatewayMinterABI";
},
{
readonly protocol: "compound-v2";
readonly contract: "CUSDC";
readonly kind: "singleton";
readonly roleKey: "cUSDC";
readonly abiExport: "CErc20ABI";
},
{
readonly protocol: "compound-v2";
readonly contract: "Comptroller";
readonly kind: "singleton";
readonly roleKey: "comptroller";
readonly abiExport: "ComptrollerABI";
},
{
readonly protocol: "compound-v2";
readonly contract: "CETH";
readonly kind: "address-only";
readonly roleKey: "cETH";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "compound-v3";
readonly contract: "CUSDCv3";
readonly kind: "singleton";
readonly roleKey: "cUSDCv3";
readonly abiExport: "CometABI";
},
{
readonly protocol: "compound-v3";
readonly contract: "CWETHv3";
readonly kind: "singleton";
readonly roleKey: "cWETHv3";
readonly abiExport: "CometABI";
},
{
readonly protocol: "compound-v3";
readonly contract: "CUSDTv3";
readonly kind: "singleton";
readonly roleKey: "cUSDTv3";
readonly abiExport: "CometABI";
},
{
readonly protocol: "connext";
readonly contract: "EverclearSpoke";
readonly kind: "singleton";
readonly roleKey: "everclearSpoke";
readonly abiExport: "EverclearSpokeABI";
},
{
readonly protocol: "convex";
readonly contract: "BaseRewardPool";
readonly kind: "interface";
readonly abiExport: "BaseRewardPoolABI";
},
{
readonly protocol: "convex";
readonly contract: "Booster";
readonly kind: "singleton";
readonly roleKey: "booster";
readonly abiExport: "BoosterABI";
},
{
readonly protocol: "convex";
readonly contract: "CvxRewardPool";
readonly kind: "address-only";
readonly roleKey: "cvxRewardPool";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "cowswap";
readonly contract: "GPv2Settlement";
readonly kind: "singleton";
readonly roleKey: "gpv2Settlement";
readonly abiExport: "GPv2SettlementABI";
},
{
readonly protocol: "crvusd";
readonly contract: "CrvUSD";
readonly kind: "singleton";
readonly roleKey: "crvusd";
readonly abiExport: "CrvUSDERC20ABI";
},
{
readonly protocol: "curve";
readonly contract: "AddressProvider";
readonly kind: "singleton";
readonly roleKey: "addressProvider";
readonly abiExport: "CurveAddressProviderABI";
},
{
readonly protocol: "curve";
readonly contract: "RouterNG";
readonly kind: "singleton";
readonly roleKey: "routerNG";
readonly abiExport: "CurveRouterNGABI";
},
{
readonly protocol: "curve";
readonly contract: "StableSwap";
readonly kind: "interface";
readonly abiExport: "CurveStableSwapABI";
},
{
readonly protocol: "curve";
readonly contract: "ThreePool";
readonly kind: "singleton";
readonly roleKey: "threePool";
readonly abiExport: "CurveThreePoolABI";
},
{
readonly protocol: "curve";
readonly contract: "CrvToken";
readonly kind: "address-only";
readonly roleKey: "crvToken";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "debridge";
readonly contract: "DlnDestination";
readonly kind: "singleton";
readonly roleKey: "dlnDestination";
readonly abiExport: "DlnDestinationABI";
},
{
readonly protocol: "debridge";
readonly contract: "DlnSource";
readonly kind: "singleton";
readonly roleKey: "dlnSource";
readonly abiExport: "DlnSourceABI";
},
{
readonly protocol: "dodo";
readonly contract: "DODOV2Proxy";
readonly kind: "singleton";
readonly roleKey: "dodoV2Proxy";
readonly abiExport: "DODOV2ProxyABI";
},
{
readonly protocol: "eigenlayer";
readonly contract: "DelegationManager";
readonly kind: "singleton";
readonly roleKey: "delegationManager";
readonly abiExport: "DelegationManagerABI";
},
{
readonly protocol: "eigenlayer";
readonly contract: "StETHStrategy";
readonly kind: "singleton";
readonly roleKey: "stETHStrategy";
readonly abiExport: "StrategyABI";
},
{
readonly protocol: "eigenlayer";
readonly contract: "RETHStrategy";
readonly kind: "singleton";
readonly roleKey: "rETHStrategy";
readonly abiExport: "StrategyABI";
},
{
readonly protocol: "eigenlayer";
readonly contract: "CbETHStrategy";
readonly kind: "singleton";
readonly roleKey: "cbETHStrategy";
readonly abiExport: "StrategyABI";
},
{
readonly protocol: "eigenlayer";
readonly contract: "StrategyManager";
readonly kind: "singleton";
readonly roleKey: "strategyManager";
readonly abiExport: "StrategyManagerABI";
},
{
readonly protocol: "ens";
readonly contract: "BaseRegistrar";
readonly kind: "singleton";
readonly roleKey: "baseRegistrar";
readonly abiExport: "BaseRegistrarABI";
},
{
readonly protocol: "ens";
readonly contract: "Registry";
readonly kind: "singleton";
readonly roleKey: "registry";
readonly abiExport: "ENSRegistryABI";
},
{
readonly protocol: "erc20";
readonly contract: "ERC20";
readonly kind: "interface";
readonly abiExport: "ERC20ABI";
},
{
readonly protocol: "erc3156";
readonly contract: "FlashLender";
readonly kind: "interface";
readonly abiExport: "FlashLenderABI";
},
{
readonly protocol: "erc4626";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "VaultABI";
},
{
readonly protocol: "ethena";
readonly contract: "Susde";
readonly kind: "singleton";
readonly roleKey: "susde";
readonly abiExport: "StakedUSDeABI";
},
{
readonly protocol: "ethena";
readonly contract: "USDe";
readonly kind: "singleton";
readonly roleKey: "usde";
readonly abiExport: "USDeABI";
},
{
readonly protocol: "etherfi";
readonly contract: "EETH";
readonly kind: "singleton";
readonly roleKey: "eETH";
readonly abiExport: "EETHABI";
},
{
readonly protocol: "etherfi";
readonly contract: "LiquidityPool";
readonly kind: "singleton";
readonly roleKey: "liquidityPool";
readonly abiExport: "LiquidityPoolABI";
},
{
readonly protocol: "etherfi";
readonly contract: "WeETH";
readonly kind: "singleton";
readonly roleKey: "weETH";
readonly abiExport: "WeETHABI";
},
{
readonly protocol: "euler-v2";
readonly contract: "EthereumVaultConnector";
readonly kind: "singleton";
readonly roleKey: "ethereumVaultConnector";
readonly abiExport: "EVCABI";
},
{
readonly protocol: "euler-v2";
readonly contract: "EVault";
readonly kind: "interface";
readonly abiExport: "EVaultABI";
},
{
readonly protocol: "fenix";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "FenixRouterABI";
},
{
readonly protocol: "fluid";
readonly contract: "Lending";
readonly kind: "interface";
readonly abiExport: "FluidLendingABI";
},
{
readonly protocol: "fluid";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "FluidVaultABI";
},
{
readonly protocol: "fluid";
readonly contract: "Liquidity";
readonly kind: "address-only";
readonly roleKey: "liquidity";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "frax";
readonly contract: "Frax";
readonly kind: "singleton";
readonly roleKey: "frax";
readonly abiExport: "FraxERC20ABI";
},
{
readonly protocol: "frax-ether";
readonly contract: "FrxETHMinter";
readonly kind: "singleton";
readonly roleKey: "frxETHMinter";
readonly abiExport: "FrxETHMinterABI";
},
{
readonly protocol: "frax-ether";
readonly contract: "SfrxETH";
readonly kind: "singleton";
readonly roleKey: "sfrxETH";
readonly abiExport: "SfrxETHABI";
},
{
readonly protocol: "gains-network";
readonly contract: "Diamond";
readonly kind: "singleton";
readonly roleKey: "diamond";
readonly abiExport: "DiamondABI";
},
{
readonly protocol: "gains-network";
readonly contract: "Gns";
readonly kind: "address-only";
readonly roleKey: "gns";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "gamma";
readonly contract: "Hypervisor";
readonly kind: "interface";
readonly abiExport: "HypervisorABI";
},
{
readonly protocol: "gamma";
readonly contract: "UniProxy";
readonly kind: "singleton";
readonly roleKey: "uniProxy";
readonly abiExport: "UniProxyABI";
readonly chains: readonly [
137
];
},
{
readonly protocol: "gamma";
readonly contract: "UniProxyLegacy";
readonly kind: "singleton";
readonly roleKey: "uniProxy";
readonly abiExport: "UniProxyLegacyABI";
readonly chains: readonly [
1
];
},
{
readonly protocol: "gelato";
readonly contract: "Automate";
readonly kind: "singleton";
readonly roleKey: "automate";
readonly abiExport: "GelatoAutomateABI";
},
{
readonly protocol: "gho";
readonly contract: "Gho";
readonly kind: "singleton";
readonly roleKey: "gho";
readonly abiExport: "GhoTokenABI";
},
{
readonly protocol: "gmx-v1";
readonly contract: "PositionRouter";
readonly kind: "singleton";
readonly roleKey: "positionRouter";
readonly abiExport: "PositionRouterABI";
},
{
readonly protocol: "gmx-v1";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "RouterABI";
},
{
readonly protocol: "gmx-v1";
readonly contract: "Vault";
readonly kind: "singleton";
readonly roleKey: "vault";
readonly abiExport: "VaultABI";
},
{
readonly protocol: "gmx-v1";
readonly contract: "Glp";
readonly kind: "address-only";
readonly roleKey: "glp";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "gmx-v2";
readonly contract: "ExchangeRouter";
readonly kind: "singleton";
readonly roleKey: "exchangeRouter";
readonly abiExport: "ExchangeRouterABI";
},
{
readonly protocol: "gmx-v2";
readonly contract: "DataStore";
readonly kind: "address-only";
readonly roleKey: "dataStore";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "harvest";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "VaultABI";
},
{
readonly protocol: "harvest";
readonly contract: "Controller";
readonly kind: "address-only";
readonly roleKey: "controller";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "harvest";
readonly contract: "Farm";
readonly kind: "address-only";
readonly roleKey: "farm";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "harvest";
readonly contract: "DepositHelper";
readonly kind: "address-only";
readonly roleKey: "depositHelper";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "hegic";
readonly contract: "OperationalTreasury";
readonly kind: "singleton";
readonly roleKey: "operationalTreasury";
readonly abiExport: "HegicABI";
},
{
readonly protocol: "hegic";
readonly contract: "Hegic";
readonly kind: "address-only";
readonly roleKey: "hegic";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "hop";
readonly contract: "L1EthBridge";
readonly kind: "singleton";
readonly roleKey: "l1EthBridge";
readonly abiExport: "HopL1BridgeABI";
},
{
readonly protocol: "hop";
readonly contract: "L1UsdcBridge";
readonly kind: "singleton";
readonly roleKey: "l1UsdcBridge";
readonly abiExport: "HopL1BridgeABI";
},
{
readonly protocol: "hop";
readonly contract: "L2AmmWrapper";
readonly kind: "singleton";
readonly roleKey: "l2AmmWrapper";
readonly abiExport: "HopL2AmmWrapperABI";
},
{
readonly protocol: "hyperlane";
readonly contract: "Mailbox";
readonly kind: "singleton";
readonly roleKey: "mailbox";
readonly abiExport: "HyperlaneMailboxABI";
},
{
readonly protocol: "instadapp";
readonly contract: "FlashloanAggregator";
readonly kind: "singleton";
readonly roleKey: "flashloanAggregator";
readonly abiExport: "FlashAggregatorABI";
},
{
readonly protocol: "kelp";
readonly contract: "LRTDepositPool";
readonly kind: "singleton";
readonly roleKey: "lrtDepositPool";
readonly abiExport: "LRTDepositPoolABI";
},
{
readonly protocol: "kelp";
readonly contract: "RsETH";
readonly kind: "singleton";
readonly roleKey: "rsETH";
readonly abiExport: "RsETHABI";
},
{
readonly protocol: "kim";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "KimRouterABI";
},
{
readonly protocol: "kyberswap";
readonly contract: "ElasticRouter";
readonly kind: "singleton";
readonly roleKey: "elasticRouter";
readonly abiExport: "KyberSwapElasticRouterABI";
},
{
readonly protocol: "kyberswap";
readonly contract: "MetaAggregationRouterV2";
readonly kind: "singleton";
readonly roleKey: "metaAggregationRouterV2";
readonly abiExport: "KyberSwapMetaAggregationRouterABI";
},
{
readonly protocol: "kyberswap";
readonly contract: "ElasticFactory";
readonly kind: "address-only";
readonly roleKey: "elasticFactory";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "kyberswap-aggregator";
readonly contract: "MetaAggregationRouter";
readonly kind: "singleton";
readonly roleKey: "metaAggregationRouter";
readonly abiExport: "KyberSwapMetaAggregationRouterABI";
},
{
readonly protocol: "layerbank";
readonly contract: "LToken";
readonly kind: "interface";
readonly abiExport: "LTokenABI";
},
{
readonly protocol: "layerbank";
readonly contract: "Core";
readonly kind: "singleton";
readonly roleKey: "core";
readonly abiExport: "LayerBankCoreABI";
},
{
readonly protocol: "layerzero";
readonly contract: "EndpointV2";
readonly kind: "singleton";
readonly roleKey: "endpointV2";
readonly abiExport: "LayerZeroEndpointV2ABI";
},
{
readonly protocol: "level-finance";
readonly contract: "LiquidityPool";
readonly kind: "singleton";
readonly roleKey: "liquidityPool";
readonly abiExport: "LiquidityPoolABI";
},
{
readonly protocol: "lido";
readonly contract: "StETH";
readonly kind: "singleton";
readonly roleKey: "stETH";
readonly abiExport: "LidoABI";
},
{
readonly protocol: "lido";
readonly contract: "WstETH";
readonly kind: "singleton";
readonly roleKey: "wstETH";
readonly abiExport: "WstETHABI";
readonly chains: readonly [
1
];
},
{
readonly protocol: "lido";
readonly contract: "WstETHBridged";
readonly kind: "singleton";
readonly roleKey: "wstETH";
readonly abiExport: "WstETHBridgedABI";
readonly chains: readonly [
42161
];
},
{
readonly protocol: "lifi";
readonly contract: "LiFiDiamond";
readonly kind: "singleton";
readonly roleKey: "lifiDiamond";
readonly abiExport: "LiFiDiamondABI";
readonly caveats: readonly [
"startBridgeTokensViaAcrossV4((bytes32,string,string,address,address,address,uint256,uint256,bool,bool),(bytes32,bytes32,bytes32,bytes32,uint256,uint128,bytes32,uint32,uint32,uint32,bytes)) is not available on gnosis: this chain's diamond has no Across V4 facet: facetAddress returns zero for the selector",
"startBridgeTokensViaAcrossV4((bytes32,string,string,address,address,address,uint256,uint256,bool,bool),(bytes32,bytes32,bytes32,bytes32,uint256,uint128,bytes32,uint32,uint32,uint32,bytes)) is not available on fantom: this chain's diamond has no Across V4 facet: facetAddress returns zero for the selector",
"startBridgeTokensViaAcrossV4((bytes32,string,string,address,address,address,uint256,uint256,bool,bool),(bytes32,bytes32,bytes32,bytes32,uint256,uint128,bytes32,uint32,uint32,uint32,bytes)) is not available on avalanche: this chain's diamond has no Across V4 facet: facetAddress returns zero for the selector"
];
},
{
readonly protocol: "linea-bridge";
readonly contract: "L1MessageService";
readonly kind: "singleton";
readonly roleKey: "l1MessageService";
readonly abiExport: "LineaL1MessageServiceABI";
},
{
readonly protocol: "linea-bridge";
readonly contract: "L2MessageService";
readonly kind: "address-only";
readonly roleKey: "l2MessageService";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "liquity-v1";
readonly contract: "BorrowerOperations";
readonly kind: "singleton";
readonly roleKey: "borrowerOperations";
readonly abiExport: "BorrowerOperationsABI";
},
{
readonly protocol: "liquity-v1";
readonly contract: "Lusd";
readonly kind: "address-only";
readonly roleKey: "lusd";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "liquity-v2";
readonly contract: "Bold";
readonly kind: "singleton";
readonly roleKey: "bold";
readonly abiExport: "BoldTokenABI";
},
{
readonly protocol: "lynex";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "LynexRouterABI";
},
{
readonly protocol: "maker";
readonly contract: "Pot";
readonly kind: "singleton";
readonly roleKey: "pot";
readonly abiExport: "PotABI";
},
{
readonly protocol: "maker";
readonly contract: "SDAI";
readonly kind: "singleton";
readonly roleKey: "sDAI";
readonly abiExport: "SavingsDaiABI";
},
{
readonly protocol: "maker";
readonly contract: "Dai";
readonly kind: "address-only";
readonly roleKey: "dai";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "maker";
readonly contract: "Usds";
readonly kind: "address-only";
readonly roleKey: "usds";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "maker";
readonly contract: "Vat";
readonly kind: "address-only";
readonly roleKey: "vat";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "mantle-meth";
readonly contract: "METH";
readonly kind: "singleton";
readonly roleKey: "mETH";
readonly abiExport: "METHABI";
},
{
readonly protocol: "mantle-meth";
readonly contract: "Staking";
readonly kind: "singleton";
readonly roleKey: "staking";
readonly abiExport: "METHStakingABI";
},
{
readonly protocol: "maverick";
readonly contract: "V2Factory";
readonly kind: "singleton";
readonly roleKey: "v2Factory";
readonly abiExport: "MaverickV2FactoryABI";
readonly caveats: readonly [
"lookup(address,address,uint256,uint256) is checked against the deployed bytecode only: the MaverickV2Factory has no verified source on Sourcify, Blockscout or Routescan; the selector is proven by the factory bytecode, and the address[] output is not verifiable"
];
},
{
readonly protocol: "maverick";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "MaverickV2RouterABI";
},
{
readonly protocol: "maverick";
readonly contract: "V2Pool";
readonly kind: "interface";
readonly abiExport: "MaverickV2PoolABI";
},
{
readonly protocol: "moonwell";
readonly contract: "MToken";
readonly kind: "interface";
readonly abiExport: "MTokenABI";
},
{
readonly protocol: "moonwell";
readonly contract: "Comptroller";
readonly kind: "singleton";
readonly roleKey: "comptroller";
readonly abiExport: "MoonwellComptrollerABI";
},
{
readonly protocol: "morpho-blue";
readonly contract: "Morpho";
readonly kind: "singleton";
readonly roleKey: "morpho";
readonly abiExport: "MorphoABI";
},
{
readonly protocol: "morpho-blue";
readonly contract: "Bundler3";
readonly kind: "address-only";
readonly roleKey: "bundler3";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "mux-protocol";
readonly contract: "LiquidityPool";
readonly kind: "singleton";
readonly roleKey: "liquidityPool";
readonly abiExport: "LiquidityPoolABI";
},
{
readonly protocol: "mux-protocol";
readonly contract: "OrderBook";
readonly kind: "singleton";
readonly roleKey: "orderBook";
readonly abiExport: "OrderBookABI";
},
{
readonly protocol: "olympus";
readonly contract: "Staking";
readonly kind: "singleton";
readonly roleKey: "staking";
readonly abiExport: "StakingABI";
},
{
readonly protocol: "olympus";
readonly contract: "Ohm";
readonly kind: "address-only";
readonly roleKey: "ohm";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "olympus";
readonly contract: "StakingHelper";
readonly kind: "address-only";
readonly roleKey: "stakingHelper";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "oneinch";
readonly contract: "AggregationRouterV6";
readonly kind: "singleton";
readonly roleKey: "aggregationRouterV6";
readonly abiExport: "AggregationRouterV6ABI";
},
{
readonly protocol: "openocean";
readonly contract: "ExchangeV2";
readonly kind: "singleton";
readonly roleKey: "exchangeV2";
readonly abiExport: "OpenOceanExchangeV2ABI";
},
{
readonly protocol: "optimism-bridge";
readonly contract: "L1StandardBridge";
readonly kind: "singleton";
readonly roleKey: "l1StandardBridge";
readonly abiExport: "OptimismL1StandardBridgeABI";
},
{
readonly protocol: "optimism-bridge";
readonly contract: "L2StandardBridge";
readonly kind: "address-only";
readonly roleKey: "l2StandardBridge";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "opyn";
readonly contract: "Controller";
readonly kind: "singleton";
readonly roleKey: "controller";
readonly abiExport: "ControllerABI";
},
{
readonly protocol: "opyn";
readonly contract: "OSQTH";
readonly kind: "address-only";
readonly roleKey: "oSQTH";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "pancakeswap-v2";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "PancakeSwapV2FactoryABI";
},
{
readonly protocol: "pancakeswap-v2";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "PancakeSwapV2RouterABI";
},
{
readonly protocol: "pancakeswap-v2";
readonly contract: "Pair";
readonly kind: "interface";
readonly abiExport: "PancakeSwapV2PairABI";
},
{
readonly protocol: "pancakeswap-v3";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "PancakeSwapV3FactoryABI";
},
{
readonly protocol: "pancakeswap-v3";
readonly contract: "NonfungiblePositionManager";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManager";
readonly abiExport: "PancakeSwapV3NFPMABI";
},
{
readonly protocol: "pancakeswap-v3";
readonly contract: "SmartRouter";
readonly kind: "singleton";
readonly roleKey: "smartRouter";
readonly abiExport: "PancakeSwapV3SmartRouterABI";
},
{
readonly protocol: "pancakeswap-v3";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "PancakeSwapV3PoolABI";
},
{
readonly protocol: "paraswap";
readonly contract: "AugustusV5";
readonly kind: "singleton";
readonly roleKey: "augustusV5";
readonly abiExport: "AugustusV5ABI";
readonly caveats: readonly [
"simpleSwap((address,address,uint256,uint256,uint256,address[],bytes,uint256[],uint256[],address,address,uint256,bytes,uint256,bytes16)) is not available on base: Augustus V5 on Base has no SimpleSwap router registered: getImplementation returns zero for the selector"
];
},
{
readonly protocol: "paraswap";
readonly contract: "AugustusV6";
readonly kind: "address-only";
readonly roleKey: "augustusV6";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "pendle";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "PendleRouterABI";
},
{
readonly protocol: "permit2";
readonly contract: "Permit2";
readonly kind: "singleton";
readonly roleKey: "permit2";
readonly abiExport: "Permit2ABI";
},
{
readonly protocol: "perpetual-protocol";
readonly contract: "ClearingHouse";
readonly kind: "singleton";
readonly roleKey: "clearingHouse";
readonly abiExport: "ClearingHouseABI";
},
{
readonly protocol: "perpetual-protocol";
readonly contract: "Vault";
readonly kind: "singleton";
readonly roleKey: "vault";
readonly abiExport: "VaultABI";
},
{
readonly protocol: "polygon-bridge";
readonly contract: "RootChainManager";
readonly kind: "singleton";
readonly roleKey: "rootChainManager";
readonly abiExport: "PolygonRootChainManagerABI";
},
{
readonly protocol: "polygon-bridge";
readonly contract: "Erc20Predicate";
readonly kind: "address-only";
readonly roleKey: "erc20Predicate";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "polygon-bridge";
readonly contract: "EtherPredicate";
readonly kind: "address-only";
readonly roleKey: "etherPredicate";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "polygon-bridge";
readonly contract: "ChildChainManager";
readonly kind: "address-only";
readonly roleKey: "childChainManager";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "premia";
readonly contract: "Diamond";
readonly kind: "interface";
readonly abiExport: "DiamondABI";
},
{
readonly protocol: "premia";
readonly contract: "PoolFactory";
readonly kind: "address-only";
readonly roleKey: "poolFactory";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "puffer";
readonly contract: "PufferVault";
readonly kind: "singleton";
readonly roleKey: "pufferVault";
readonly abiExport: "PufferVaultABI";
},
{
readonly protocol: "puffer";
readonly contract: "PufETH";
readonly kind: "address-only";
readonly roleKey: "pufETH";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "pyth";
readonly contract: "Oracle";
readonly kind: "singleton";
readonly roleKey: "oracle";
readonly abiExport: "PythOracleABI";
readonly caveats: readonly [
"updatePriceFeeds(bytes[]) is checked against the deployed bytecode only: the Pyth implementation behind the proxy (0x3f38404a2e3cb949bcdfa19a5c3bdf3fe375feb0) has no verified source on Sourcify, Blockscout or Routescan; the selector is proven by its bytecode",
"getUpdateFee(bytes[]) is checked against the deployed bytecode only: the Pyth implementation behind the proxy (0x3f38404a2e3cb949bcdfa19a5c3bdf3fe375feb0) has no verified source on Sourcify, Blockscout or Routescan; the selector is proven by its bytecode",
"getPrice(bytes32) is checked against the deployed bytecode only: the Pyth implementation behind the proxy (0x3f38404a2e3cb949bcdfa19a5c3bdf3fe375feb0) has no verified source on Sourcify, Blockscout or Routescan; the selector is proven by its bytecode; the PythStructs.Price output types come from the Pyth SDK and are not verifiable"
];
},
{
readonly protocol: "quickswap";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "QuickSwapV2RouterABI";
},
{
readonly protocol: "quickswap";
readonly contract: "V3SwapRouter";
readonly kind: "singleton";
readonly roleKey: "v3SwapRouter";
readonly abiExport: "QuickSwapV3SwapRouterABI";
},
{
readonly protocol: "quickswap";
readonly contract: "V2Factory";
readonly kind: "singleton";
readonly roleKey: "v2Factory";
readonly abiExport: "QuickSwapV2FactoryABI";
},
{
readonly protocol: "quickswap";
readonly contract: "V2Pair";
readonly kind: "interface";
readonly abiExport: "QuickSwapV2PairABI";
},
{
readonly protocol: "quickswap";
readonly contract: "V3Factory";
readonly kind: "singleton";
readonly roleKey: "v3Factory";
readonly abiExport: "QuickSwapV3FactoryABI";
},
{
readonly protocol: "quickswap";
readonly contract: "V3Pool";
readonly kind: "interface";
readonly abiExport: "QuickSwapV3PoolABI";
},
{
readonly protocol: "radiant";
readonly contract: "LendingPool";
readonly kind: "address-only";
readonly roleKey: "lendingPool";
readonly caveats: readonly [
"RadiantLendingPoolABI does not describe this deployment: the only listed deployment (Arbitrum LendingPool proxy 0xF4B1486DD74D07706052A33d31d7c0AAFD0659E1) now delegates to a three-function stub (0x3d4c56cdb97355807157f5c7d4f54957f0e9af44): deposit/withdraw/borrow/repay no longer exist on-chain, and no verified source exists for the stub"
];
},
{
readonly protocol: "ramses";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "RamsesRouterABI";
},
{
readonly protocol: "reflexer";
readonly contract: "CoinJoin";
readonly kind: "singleton";
readonly roleKey: "coinJoin";
readonly abiExport: "CoinJoinABI";
},
{
readonly protocol: "reflexer";
readonly contract: "ETHJoin";
readonly kind: "singleton";
readonly roleKey: "ethJoin";
readonly abiExport: "ETHJoinABI";
},
{
readonly protocol: "reflexer";
readonly contract: "SAFEEngine";
readonly kind: "singleton";
readonly roleKey: "safeEngine";
readonly abiExport: "SAFEEngineABI";
},
{
readonly protocol: "reflexer";
readonly contract: "Rai";
readonly kind: "address-only";
readonly roleKey: "rai";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "renzo";
readonly contract: "EzETH";
readonly kind: "singleton";
readonly roleKey: "ezETH";
readonly abiExport: "EzETHABI";
},
{
readonly protocol: "renzo";
readonly contract: "RestakeManager";
readonly kind: "singleton";
readonly roleKey: "restakeManager";
readonly abiExport: "RestakeManagerABI";
},
{
readonly protocol: "rocket-pool";
readonly contract: "RETH";
readonly kind: "singleton";
readonly roleKey: "rETH";
readonly abiExport: "RETHABI";
},
{
readonly protocol: "rocket-pool";
readonly contract: "RocketDepositPool";
readonly kind: "singleton";
readonly roleKey: "rocketDepositPool";
readonly abiExport: "RocketDepositPoolABI";
},
{
readonly protocol: "sablier";
readonly contract: "LockupLinear";
readonly kind: "singleton";
readonly roleKey: "lockupLinear";
readonly abiExport: "LockupLinearABI";
},
{
readonly protocol: "safe";
readonly contract: "SafeV141";
readonly kind: "singleton";
readonly roleKey: "safeV141";
readonly abiExport: "SafeABI";
},
{
readonly protocol: "safe";
readonly contract: "SafeL2V130";
readonly kind: "singleton";
readonly roleKey: "safeL2V130";
readonly abiExport: "SafeABI";
},
{
readonly protocol: "scroll-bridge";
readonly contract: "L1GatewayRouter";
readonly kind: "singleton";
readonly roleKey: "l1GatewayRouter";
readonly abiExport: "ScrollL1GatewayRouterABI";
},
{
readonly protocol: "scroll-bridge";
readonly contract: "L1ScrollMessenger";
readonly kind: "singleton";
readonly roleKey: "l1ScrollMessenger";
readonly abiExport: "ScrollL1MessengerABI";
},
{
readonly protocol: "scroll-bridge";
readonly contract: "L2ScrollMessenger";
readonly kind: "address-only";
readonly roleKey: "l2ScrollMessenger";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "scroll-bridge";
readonly contract: "L2GatewayRouter";
readonly kind: "address-only";
readonly roleKey: "l2GatewayRouter";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "seaport";
readonly contract: "SeaportV16";
readonly kind: "singleton";
readonly roleKey: "seaportV16";
readonly abiExport: "SeaportABI";
},
{
readonly protocol: "silo";
readonly contract: "Silo";
readonly kind: "interface";
readonly abiExport: "SiloABI";
},
{
readonly protocol: "silo";
readonly contract: "SiloRepository";
readonly kind: "singleton";
readonly roleKey: "siloRepository";
readonly abiExport: "SiloRepositoryABI";
},
{
readonly protocol: "socket";
readonly contract: "SocketGateway";
readonly kind: "singleton";
readonly roleKey: "socketGateway";
readonly abiExport: "SocketGatewayABI";
},
{
readonly protocol: "sommelier";
readonly contract: "Cellar";
readonly kind: "interface";
readonly abiExport: "CellarABI";
},
{
readonly protocol: "sommelier";
readonly contract: "CellarRouter";
readonly kind: "address-only";
readonly roleKey: "cellarRouter";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "spark";
readonly contract: "Pool";
readonly kind: "singleton";
readonly roleKey: "pool";
readonly abiExport: "SparkPoolABI";
},
{
readonly protocol: "spark";
readonly contract: "PoolAddressesProvider";
readonly kind: "address-only";
readonly roleKey: "poolAddressesProvider";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "spookyswap";
readonly contract: "V2Router";
readonly kind: "singleton";
readonly roleKey: "v2Router";
readonly abiExport: "SpookySwapRouterABI";
readonly caveats: readonly [
"swapExactTokensForTokens(uint256,uint256,address[],address,uint256) is checked against the deployed bytecode only: the Fantom router has no verified source on Sourcify, and neither Blockscout nor Routescan serves Fantom keylessly; the selector is proven by the router bytecode (a UniswapV2Router02 fork: factory() and WETH() answer)",
"addLiquidity(address,address,uint256,uint256,uint256,uint256,address,uint256) is checked against the deployed bytecode only: the Fantom router has no verified source on Sourcify, and neither Blockscout nor Routescan serves Fantom keylessly; the selector is proven by the router bytecode (a UniswapV2Router02 fork: factory() and WETH() answer)",
"removeLiquidity(address,address,uint256,uint256,uint256,address,uint256) is checked against the deployed bytecode only: the Fantom router has no verified source on Sourcify, and neither Blockscout nor Routescan serves Fantom keylessly; the selector is proven by the router bytecode (a UniswapV2Router02 fork: factory() and WETH() answer)"
];
},
{
readonly protocol: "squid";
readonly contract: "SquidRouter";
readonly kind: "singleton";
readonly roleKey: "squidRouter";
readonly abiExport: "SquidRouterABI";
},
{
readonly protocol: "stader";
readonly contract: "ETHx";
readonly kind: "singleton";
readonly roleKey: "ETHx";
readonly abiExport: "ETHxABI";
},
{
readonly protocol: "stader";
readonly contract: "StakePoolManager";
readonly kind: "singleton";
readonly roleKey: "stakePoolManager";
readonly abiExport: "StakePoolManagerABI";
},
{
readonly protocol: "stargate";
readonly contract: "PoolNative";
readonly kind: "singleton";
readonly roleKey: "poolNative";
readonly abiExport: "StargatePoolABI";
},
{
readonly protocol: "stargate";
readonly contract: "PoolUSDC";
readonly kind: "singleton";
readonly roleKey: "poolUSDC";
readonly abiExport: "StargatePoolABI";
},
{
readonly protocol: "stargate";
readonly contract: "PoolUSDT";
readonly kind: "singleton";
readonly roleKey: "poolUSDT";
readonly abiExport: "StargatePoolABI";
},
{
readonly protocol: "superfluid";
readonly contract: "CFAForwarder";
readonly kind: "singleton";
readonly roleKey: "cfaForwarder";
readonly abiExport: "CFAForwarderABI";
},
{
readonly protocol: "superfluid";
readonly contract: "Host";
readonly kind: "address-only";
readonly roleKey: "host";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "sushiswap-v2";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "SushiSwapV2FactoryABI";
},
{
readonly protocol: "sushiswap-v2";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "SushiSwapV2RouterABI";
},
{
readonly protocol: "sushiswap-v2";
readonly contract: "Pair";
readonly kind: "interface";
readonly abiExport: "SushiSwapV2PairABI";
},
{
readonly protocol: "swell";
readonly contract: "RswETH";
readonly kind: "singleton";
readonly roleKey: "rswETH";
readonly abiExport: "RswETHABI";
},
{
readonly protocol: "swell";
readonly contract: "SwETH";
readonly kind: "singleton";
readonly roleKey: "swETH";
readonly abiExport: "SwETHABI";
},
{
readonly protocol: "synapse";
readonly contract: "SynapseBridge";
readonly kind: "singleton";
readonly roleKey: "synapseBridge";
readonly abiExport: "SynapseBridgeABI";
},
{
readonly protocol: "synapse";
readonly contract: "CctpRouter";
readonly kind: "address-only";
readonly roleKey: "cctpRouter";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "syncswap";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "SyncSwapRouterABI";
},
{
readonly protocol: "synthetix-v3";
readonly contract: "CoreProxy";
readonly kind: "singleton";
readonly roleKey: "coreProxy";
readonly abiExport: "CoreProxyABI";
},
{
readonly protocol: "synthetix-v3";
readonly contract: "PerpsMarketProxy";
readonly kind: "singleton";
readonly roleKey: "perpsMarketProxy";
readonly abiExport: "PerpsMarketProxyABI";
},
{
readonly protocol: "synthra-v3";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "SynthraV3FactoryABI";
readonly caveats: readonly [
"getPool(address,address,uint24) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"createPool(address,address,uint24) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode"
];
},
{
readonly protocol: "synthra-v3";
readonly contract: "SwapRouter02";
readonly kind: "singleton";
readonly roleKey: "swapRouter02";
readonly abiExport: "SynthraV3SwapRouter02ABI";
readonly caveats: readonly [
"exactInputSingle((address,address,uint24,address,uint256,uint256,uint160)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"exactInput((bytes,address,uint256,uint256)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"exactOutputSingle((address,address,uint24,address,uint256,uint256,uint160)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"exactOutput((bytes,address,uint256,uint256)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode"
];
},
{
readonly protocol: "synthra-v3";
readonly contract: "QuoterV2";
readonly kind: "singleton";
readonly roleKey: "quoterV2";
readonly abiExport: "SynthraV3QuoterV2ABI";
readonly caveats: readonly [
"quoteExactInputSingle((address,address,uint256,uint24,uint160)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode"
];
},
{
readonly protocol: "synthra-v3";
readonly contract: "NonfungiblePositionManager";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManager";
readonly abiExport: "SynthraV3NonfungiblePositionManagerABI";
readonly caveats: readonly [
"mint((address,address,uint24,int24,int24,uint256,uint256,uint256,uint256,address,uint256)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"increaseLiquidity((uint256,uint256,uint256,uint256,uint256,uint256)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"decreaseLiquidity((uint256,uint128,uint256,uint256,uint256)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode",
"collect((uint256,address,uint128,uint128)) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge), nor on Robinhood Chain's; Synthra V3 is a Uniswap V3 fork (renamed pool callbacks only), so the fragment is Uniswap V3's, and the selector is proven by the bytecode"
];
},
{
readonly protocol: "synthra-v3";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "SynthraV3PoolABI";
},
{
readonly protocol: "thales";
readonly contract: "SpeedMarketsAMM";
readonly kind: "singleton";
readonly roleKey: "speedMarketsAMM";
readonly abiExport: "SpeedMarketsAMMABI";
},
{
readonly protocol: "thales";
readonly contract: "ThalesAMM";
readonly kind: "singleton";
readonly roleKey: "thalesAMM";
readonly abiExport: "ThalesAMMABI";
},
{
readonly protocol: "thales";
readonly contract: "PositionalMarket";
readonly kind: "interface";
readonly abiExport: "PositionalMarketABI";
},
{
readonly protocol: "thena";
readonly contract: "RouterV2";
readonly kind: "singleton";
readonly roleKey: "routerV2";
readonly abiExport: "ThenaRouterABI";
},
{
readonly protocol: "thruster";
readonly contract: "V3SwapRouter";
readonly kind: "singleton";
readonly roleKey: "v3SwapRouter";
readonly abiExport: "ThrusterV3SwapRouterABI";
},
{
readonly protocol: "tokemak";
readonly contract: "Autopool";
readonly kind: "interface";
readonly abiExport: "AutopoolABI";
},
{
readonly protocol: "tokemak";
readonly contract: "Toke";
readonly kind: "address-only";
readonly roleKey: "toke";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "tokemak";
readonly contract: "SystemRegistry";
readonly kind: "address-only";
readonly roleKey: "systemRegistry";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "tokemak";
readonly contract: "AutopoolRegistry";
readonly kind: "address-only";
readonly roleKey: "autopoolRegistry";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "trader-joe";
readonly contract: "LBFactory";
readonly kind: "singleton";
readonly roleKey: "lbFactory";
readonly abiExport: "LBFactoryABI";
},
{
readonly protocol: "trader-joe";
readonly contract: "LBRouter";
readonly kind: "singleton";
readonly roleKey: "lbRouter";
readonly abiExport: "LBRouterABI";
},
{
readonly protocol: "trader-joe";
readonly contract: "LBPair";
readonly kind: "interface";
readonly abiExport: "LBPairABI";
},
{
readonly protocol: "uniswap-v2";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "UniswapV2FactoryABI";
},
{
readonly protocol: "uniswap-v2";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "UniswapV2RouterABI";
},
{
readonly protocol: "uniswap-v2";
readonly contract: "Pair";
readonly kind: "interface";
readonly abiExport: "UniswapV2PairABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "UniswapV3FactoryABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "NonfungiblePositionManager";
readonly kind: "singleton";
readonly roleKey: "nonfungiblePositionManager";
readonly abiExport: "UniswapV3NonfungiblePositionManagerABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "QuoterV2";
readonly kind: "singleton";
readonly roleKey: "quoterV2";
readonly abiExport: "UniswapV3QuoterV2ABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "SwapRouter";
readonly kind: "singleton";
readonly roleKey: "swapRouter";
readonly abiExport: "UniswapV3SwapRouterABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "SwapRouter02";
readonly kind: "singleton";
readonly roleKey: "swapRouter02";
readonly abiExport: "UniswapV3SwapRouter02ABI";
},
{
readonly protocol: "uniswap-v3";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "UniswapV3PoolABI";
},
{
readonly protocol: "uniswap-v4";
readonly contract: "PoolManager";
readonly kind: "singleton";
readonly roleKey: "poolManager";
readonly abiExport: "UniswapV4PoolManagerABI";
},
{
readonly protocol: "uniswap-v4";
readonly contract: "PositionManager";
readonly kind: "singleton";
readonly roleKey: "positionManager";
readonly abiExport: "UniswapV4PositionManagerABI";
},
{
readonly protocol: "uniswap-v4";
readonly contract: "UniversalRouter";
readonly kind: "singleton";
readonly roleKey: "universalRouter";
readonly abiExport: "UniswapV4UniversalRouterABI";
},
{
readonly protocol: "uniswap-v4";
readonly contract: "StateView";
readonly kind: "singleton";
readonly roleKey: "stateView";
readonly abiExport: "UniswapV4StateViewABI";
},
{
readonly protocol: "unitflow-v3";
readonly contract: "Factory";
readonly kind: "singleton";
readonly roleKey: "factory";
readonly abiExport: "UnitFlowV3FactoryABI";
readonly caveats: readonly [
"getPool(address,address,uint24) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge); the fragment is IUnitFlowV3Factory's (UnitFlow-Finance/UnitFlowV3-contract) and the selector is proven by the factory bytecode",
"feeAmountTickSpacing(uint24) is checked against the deployed bytecode only: the Arc deployment has no verified source on Sourcify, and Arc's explorer API is not served keylessly (Cloudflare challenge); the fragment is IUnitFlowV3Factory's (UnitFlow-Finance/UnitFlowV3-contract) and the selector is proven by the factory bytecode"
];
},
{
readonly protocol: "unitflow-v3";
readonly contract: "Router";
readonly kind: "singleton";
readonly roleKey: "router";
readonly abiExport: "UnitFlowV3RouterABI";
},
{
readonly protocol: "unitflow-v3";
readonly contract: "Quoter";
readonly kind: "singleton";
readonly roleKey: "quoter";
readonly abiExport: "UnitFlowV3QuoterABI";
},
{
readonly protocol: "unitflow-v3";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "UnitFlowV3PoolABI";
},
{
readonly protocol: "velodrome";
readonly contract: "PoolFactory";
readonly kind: "singleton";
readonly roleKey: "poolFactory";
readonly abiExport: "VelodromePoolFactoryABI";
},
{
readonly protocol: "velodrome";
readonly contract: "RouterV2";
readonly kind: "singleton";
readonly roleKey: "routerV2";
readonly abiExport: "VelodromeRouterABI";
},
{
readonly protocol: "velodrome";
readonly contract: "Pool";
readonly kind: "interface";
readonly abiExport: "VelodromePoolABI";
},
{
readonly protocol: "venus";
readonly contract: "VBNB";
readonly kind: "singleton";
readonly roleKey: "vBNB";
readonly abiExport: "VBNBABI";
},
{
readonly protocol: "venus";
readonly contract: "VToken";
readonly kind: "interface";
readonly abiExport: "VTokenABI";
},
{
readonly protocol: "venus";
readonly contract: "Comptroller";
readonly kind: "singleton";
readonly roleKey: "comptroller";
readonly abiExport: "VenusComptrollerABI";
readonly caveats: readonly [
"enterMarkets(address[]) is checked against the deployed bytecode only: the Diamond routes it (facetAddress) to MarketFacet 0x21f8e1471b153f49be1d645a008e4a57434eed23, which has no verified source on Sourcify or Routescan; the selector is proven by the routing only",
"exitMarket(address) is checked against the deployed bytecode only: the Diamond routes it (facetAddress) to MarketFacet 0x21f8e1471b153f49be1d645a008e4a57434eed23, which has no verified source on Sourcify or Routescan; the selector is proven by the routing only"
];
},
{
readonly protocol: "vertex";
readonly contract: "Clearinghouse";
readonly kind: "singleton";
readonly roleKey: "clearinghouse";
readonly abiExport: "ClearinghouseABI";
},
{
readonly protocol: "vertex";
readonly contract: "Endpoint";
readonly kind: "singleton";
readonly roleKey: "endpoint";
readonly abiExport: "EndpointABI";
},
{
readonly protocol: "wormhole";
readonly contract: "CoreBridge";
readonly kind: "singleton";
readonly roleKey: "coreBridge";
readonly abiExport: "WormholeCoreBridgeABI";
},
{
readonly protocol: "wormhole";
readonly contract: "TokenBridge";
readonly kind: "singleton";
readonly roleKey: "tokenBridge";
readonly abiExport: "WormholeTokenBridgeABI";
},
{
readonly protocol: "yearn-v3";
readonly contract: "Vault";
readonly kind: "interface";
readonly abiExport: "YearnV3VaultABI";
},
{
readonly protocol: "yearn-v3";
readonly contract: "VaultFactory";
readonly kind: "address-only";
readonly roleKey: "vaultFactory";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
},
{
readonly protocol: "zerolend";
readonly contract: "Pool";
readonly kind: "singleton";
readonly roleKey: "pool";
readonly abiExport: "ZeroLendPoolABI";
},
{
readonly protocol: "zerox";
readonly contract: "ExchangeProxy";
readonly kind: "singleton";
readonly roleKey: "exchangeProxy";
readonly abiExport: "ExchangeProxyABI";
},
{
readonly protocol: "zksync-bridge";
readonly contract: "DiamondProxy";
readonly kind: "singleton";
readonly roleKey: "diamondProxy";
readonly abiExport: "ZkSyncDiamondProxyABI";
},
{
readonly protocol: "zksync-bridge";
readonly contract: "L2Bridge";
readonly kind: "address-only";
readonly roleKey: "l2Bridge";
readonly caveats: readonly [
"the registry has no ABI for this contract: its address only"
];
}
]