| type | index |
|---|
The deterministic building blocks: one page per user-facing script, grouped by area. Each page has the
primitive's description, modes, safety flags, and inputs. Agents can consume the full structured index
at catalog.json. These pages are generated from the scripts and cannot drift; run
npm run docs:catalog to regenerate.
- DeployAdvancedPoolHooks - Optional script to deploy AdvancedPoolHooks for enhanced token pool security (write)
- GetAdvancedPoolHooks - Reads and displays the AdvancedPoolHooks contract address currently attached to a token pool. (read-only)
- GetAllowList - Script to fetch and print the allowlist from an AdvancedPoolHooks contract Usage: POOL_HOOKS=0x... forge script script/configure/allowlist/GetAllowList.s.sol --rpc-url $ETHEREUM_SEPOLIA_RPC_URL --account $KEYSTORE_NAME / (read-only)
- IsAllowListed - Script to check if an address is allowlisted in an AdvancedPoolHooks contract Usage: POOL_HOOKS=0x... (read-only)
- UpdateAdvancedPoolHooks - Script to update the AdvancedPoolHooks address for a deployed TokenPool (write)
- UpdateAllowList - Script to update the allowlist for a TokenPool or AdvancedPoolHooks (write)
- GetAuthorizedCallers - Script to fetch and print the authorized callers from an AdvancedPoolHooks or ERC20LockBox contract Usage: POOL_HOOKS=0x... forge script script/configure/authorized-callers/GetAuthorizedCallers.s.sol --rpc-url $ETHEREUM_SEPOLIA_RPC_URL --account $KEYSTORE_NAME LOCK_BOX=0x... forge script script/configure/authorized-callers/GetAuthorizedCallers.s.sol --rpc-url $ETHEREUM_SEPOLIA_RPC_URL --account $KEYSTORE_NAME Environment variables: POOL_HOOKS -- address of an AdvancedPoolHooks contract (one of POOL_HOOKS or LOCK_BOX required) LOCK_BOX -- address of an ERC20LockBox contract (one of POOL_HOOKS or LOCK_BOX required) / (read-only)
- UpdateAuthorizedCallers - Script to add or remove authorized callers on an AdvancedPoolHooks or ERC20LockBox contract (write)
- GetCCVConfig - Reads and displays the CCV (Cross-Chain Verifier) configuration for a token pool: every configured remote lane's four verifier arrays plus the pool-global additional-CCV threshold. (read-only)
- UpdateCCVConfig - Applies CCV (Cross-Chain Verifier) configuration to a token pool's AdvancedPoolHooks: the four per-lane verifier arrays and/or the pool-global additional-CCV threshold. (write)
- AdoptToken - Adopts an externally deployed token (and optionally its pool) into the address registry, so contracts this repo did NOT deploy resolve exactly like the ones it did (the zero-export
active.<role>ladder). (write) - ForgetDeployment - Removes one retired entry from
addresses.deploymentsin the project store, typically the old pool after a migration. (write) - ProbeChain - Read a chain's CCIP wiring over plain JSON-RPC, WITHOUT forking it. (write)
- RolesCheck -
make roles-check CHAIN=<name>- READ-ONLY reconcile of the declaredroles{}against the live chain. It never writes a file and never broadcasts; the only outputs are the aligned [PASS]/[FAIL]/[WARN]/[SKIP] lines fromRolesAuditorand the exit status. (write) - SnapshotChain -
make snapshot-chain CHAIN=<name>- backfill the DECLARED authority state FROM chain. Reads the live role surface (owner/defaultAdmin/getCCIPAdmin/hasRole/TAR getTokenConfig/ dual-generation pool admins/getAllAuthorizedCallers/getAllowList/...) throughRolesSnapshotand writes theroles{}subtree ofproject/<selectorName>.json(preserve-and-replace, the same single-subtree pattern as theccip{}sync). (write) - SyncCcipConfig - The config-sync entrypoints: everything that generates, refreshes, or drift-checks a
config/chains/<name>.jsonfile from the live CCIP REST API v2. (write) - VerifyChain - The layered chain-config doctor. (write)
- GetLockBox - Reads and displays the ERC20LockBox contract address currently attached to a LockReleaseTokenPool. (read-only)
- DeployBurnMintTokenPool - Deploys a BurnMint token pool for a token and records it in the address registry. (write)
- DeployERC20LockBox - Script to deploy an ERC20LockBox for use with a LockReleaseTokenPool (write)
- DeployLockReleaseTokenPool - Deploys a LockRelease token pool (paired with an ERC20 LockBox) and records it in the registry. (write)
- DeploySiloedLockReleaseTokenPool - Deploys a SiloedLockRelease token pool and records it in the registry. (write)
- DeployToken - Deploys a cross-chain ERC20 token (CrossChainToken) and records it in the address registry. (write)
- GetDynamicConfig - Reads and displays the dynamic configuration of a TokenPool. (read-only)
- SetDynamicConfig - Updates the dynamic configuration of a TokenPool (router, rateLimitAdmin, feeAdmin). (write)
- GetTokenTransferFeeConfig - Reads and displays the token transfer fee configuration for a token pool on a given destination lane. (read-only)
- UpdateTokenTransferFeeConfig - Applies token transfer fee configuration updates to a token pool on a given destination lane. (write)
- GetFinalityConfig - Reads and displays the allowed finality configuration on a TokenPool. (read-only)
- SetFinalityConfig - Sets the allowed finality configuration on a TokenPool, and optionally updates rate limits for the fast finality bucket on a specific remote chain lane. (write)
- DeploySafe - Deploys a Safe from the canonical Safe v1.4.1 stack:
SafeProxyFactory.createProxyWithNonce(SafeL2, setup(...), saltNonce). (write) - ExecuteBatch - Composes several independently emitted Safe batches into ONE Safe meta-transaction. (read-only)
- VerifyRoles - The privileged-role audit reader (read-only) - prints the CURRENT holder of every authority slot for a token / pool / lockbox / hooks set. (read-only)
- GetRebalancer - Reads and displays the rebalancer of a v1.x LockRelease token pool (
getRebalancer). (read-only) - ProvideLiquidity - Provides lock/release liquidity to a v1.x LockRelease token pool (
provideLiquidity). (write) - SetRebalancer - Sets the rebalancer on a v1.x LockRelease token pool (
setRebalancer, onlyOwner). (write) - WithdrawLiquidity - Withdraws lock/release liquidity from a v1.x LockRelease token pool (
withdrawLiquidity). (write, destructive)
- DepositToLockBox - Script to deposit tokens into an ERC20LockBox (write)
- GetFeeTokenBalances - Displays the fee token balances currently held by a token pool. (read-only)
- MintTokens - Mints tokens to a receiver (requires the signer to hold the token's minter role). (write)
- WithdrawFeeTokens - Withdraws accrued fee token balances from a token pool to a specified recipient. (write, destructive)
- WithdrawFromLockBox - Script to withdraw tokens from an ERC20LockBox (write, destructive)
- AcceptOwnership - Completes a two-step ownership transfer initiated by TransferOwnership for any Ownable contract (a token pool, pool hooks, or a lockbox). (write)
- TransferOwnership - Initiates a two-step ownership transfer for any Ownable contract (a token pool, pool hooks, or a lockbox). (write)
- GetPolicyEngine - Script to read the ACE Policy Engine address currently set on an AdvancedPoolHooks contract. (read-only)
- SetPolicyEngine - Script to point an AdvancedPoolHooks contract at an ACE Policy Engine on the same chain, or disconnect the engine with the zero address. (write, destructive)
- GetCurrentRateLimits - Reads and displays the current rate limiter state for a TokenPool, compatible with v1 and v2 pools. (read-only)
- UpdateRateLimiters - Updates rate limiter configuration on a TokenPool, compatible with both v1 and v2 pools. (write)
- RemoveChain - Fully unsupports a remote chain on the source TokenPool: removes the chain selector and deletes its remote-chain config (pools, remote token, rate limits). (write, destructive)
- AddRemotePool - Adds a remote pool address to a TokenPool for a given remote chain. (write)
- GetRemotePools - Reads and displays the remote pool addresses configured on a TokenPool for a given remote chain. (read-only)
- GetRemoteToken - Reads and displays the remote token configured on a TokenPool for a given remote chain. (read-only)
- RemoveRemotePool - Removes a remote pool address from a TokenPool for a given remote chain. (write, destructive)
- ConfigureLockBoxes - Maps remote chains to lock boxes on a SiloedLockReleaseTokenPool 2.0.0 (
configureLockBoxes, onlyOwner). (read-only) - GetSiloedPoolState - Reads where a SiloedLockReleaseTokenPool keeps its liquidity, per remote chain. (read-only)
- ProvideSiloedLiquidity - Adds liquidity to one silo of a SiloedLockReleaseTokenPool 1.6.x:
approvethenprovideSiloedLiquidity, as the silo's rebalancer. (read-only) - SetSiloRebalancer - Sets the rebalancer of one silo on a SiloedLockReleaseTokenPool 1.6.x (onlyOwner). (read-only)
- UpdateSiloDesignations - Silos or unsilos remote chains on a SiloedLockReleaseTokenPool 1.6.x (
updateSiloDesignations, onlyOwner). (read-only) - WithdrawSiloedLiquidity - Withdraws liquidity from one silo of a SiloedLockReleaseTokenPool 1.6.x to the silo rebalancer. (read-only)
- AcceptAdminRole - Accepts the pending administrator role for a token in the TokenAdminRegistry (step 2 of the two-step claim; the signer must be the pending administrator set by ClaimAdmin). (write)
- ApplyChainUpdates - Configures cross-chain lanes on the source TokenPool by calling applyChainUpdates. (write, destructive)
- ClaimAdmin - Registers the token administrator in the TokenAdminRegistry, auto-detecting the claim path (getCCIPAdmin, then owner, then AccessControl DEFAULT_ADMIN_ROLE) in that precedence. (write)
- ClaimAndAcceptAdmin - Claims AND accepts the CCIP token admin as ONE atomic registration pair - the claim sets the executing account as the registry's pending administrator, so the accept in the same batch succeeds. (write)
- GetSupportedChains - Reads and displays all remote chains supported by a TokenPool. (read-only)
- GetTokenConfig - Reads and displays TokenAdminRegistry.getTokenConfig(tokenAddress) for a token. (read-only)
- GetTypeAndVersion - Reads and displays the typeAndVersion string from any contract implementing ITypeAndVersion. (read-only)
- SetPool - Points the TokenAdminRegistry at the token's pool, activating the token for cross-chain transfers. (write)
- TransferTokenAdminRole - Initiates a transfer of the token admin role to a new address. (write)
- GrantTokenRole - Grants a token role (minter / burner / burnMintAdmin) to a holder, template-dispatched: AccessControl templates (
crosschain,burnmint) getgrantRolewith the token's resolved role id; the Ownablefactorytemplate getsgrantMintRole/grantBurnRole. (write) - RevokeTokenRole - Revokes a token role (minter / burner / burnMintAdmin) from a holder, template-dispatched exactly like
GrantTokenRole:revokeRoleon AccessControl templates,revokeMintRole/revokeBurnRoleon the Ownablefactorytemplate. (write, destructive) - SetCCIPAdmin - Sets the token's CCIP admin (
setCCIPAdmin, one-step, no accept). (write) - TransferTokenAdmin - Moves the token's TOP-LEVEL admin (its template's own mechanism). (write)