IEas.getParams
getParams() external view returns (EasParams memory params) Returns the canonical addresses of the Ethereum Attestation Service deployment on this Maroo network — the SchemaRegistry, the EAS contract, and the Indexer. Call this once at app startup so your code resolves the right addresses on testnet and mainnet without hard-coding. The return struct is named EasParams (the un-namespaced Params name was renamed to avoid collisions when multiple precompile interfaces are imported together).
Parameters
This method has no parameters.
Returns
EasParams An EasParams tuple with three fields: address schemaRegistry (the SchemaRegistry contract), address eas (the EAS attestation contract), and address indexer (the EAS Indexer contract for reverse lookups).
Examples
Resolve EAS addresses from Solidity
Import the EasParams struct alongside the interface. The constant EAS_CONTRACT resolves to the precompile at 0x1000000000000000000000000000000000000009.
// SPDX-License-Identifier: Apache-2.0
pragma solidity ^0.8.18;
import { IEas, EasParams, EAS_CONTRACT } from "@maroo-chain/contracts/precompiles/eas/IEas.sol";
contract EasResolver {
function readEas() external view returns (address schemaRegistry, address eas, address indexer) {
EasParams memory p = EAS_CONTRACT.getParams();
return (p.schemaRegistry, p.eas, p.indexer);
}
} Resolve EAS addresses with viem
From the client side the rename is invisible — viem and ethers describe the return as an anonymous tuple. Only Solidity imports need to track the new struct name.
import { createPublicClient, http } from "viem";
const EAS_PRECOMPILE = "0x1000000000000000000000000000000000000009";
const easPrecompileAbi = [{
name: "getParams",
type: "function",
stateMutability: "view",
inputs: [],
outputs: [{
type: "tuple",
components: [
{ name: "schemaRegistry", type: "address" },
{ name: "eas", type: "address" },
{ name: "indexer", type: "address" },
],
}],
}] as const;
const client = createPublicClient({ transport: http("https://rpc-testnet.maroo.io") });
const params = await client.readContract({
address: EAS_PRECOMPILE,
abi: easPrecompileAbi,
functionName: "getParams",
});
console.log("schemaRegistry:", params.schemaRegistry);
console.log("eas: ", params.eas);
console.log("indexer: ", params.indexer);