Class: SetChainRateLimiterConfigs
Defined in: cct/evm/token-pool/operations/set-chain-rate-limiter-configs.ts:244
Sets the inbound/outbound rate limits of one or more configured lanes on a token pool, in a
single transaction. Gated on the pool's owner or its rateLimitAdmin.
Extends
EVMOperation<SetChainRateLimiterConfigsParams>
Constructors
Constructor
new SetChainRateLimiterConfigs():
SetChainRateLimiterConfigs
Returns
SetChainRateLimiterConfigs
Inherited from
EVMOperation<SetChainRateLimiterConfigsParams>.constructor
Properties
name
readonlyname:"setChainRateLimiterConfigs"='setChainRateLimiterConfigs'
Defined in: cct/evm/token-pool/operations/set-chain-rate-limiter-configs.ts:245
camelCase id; matches the token-manager facade method and error context.
Overrides
EVMOperation.name
Methods
buildUnsigned()
protectedbuildUnsigned(chain:EVMChain,params:SetChainRateLimiterConfigsParams):Promise<UnsignedEVMTx>
Defined in: cct/evm/token-pool/operations/set-chain-rate-limiter-configs.ts:285
Reads the pool's type-and-version, floor-matches the encoder and its contract interface, then
— when sender is known — pre-flights it against the pool's owner or its
rateLimitAdmin.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | SetChainRateLimiterConfigsParams |
Returns
Promise<UnsignedEVMTx>
Remarks
The role check lives here, not only in execute, so the offline / multisig
path gets it too: generateUnsignedSetChainRateLimiterConfigs with an unauthorized sender
would otherwise hand back a fully-formed transaction that reverts Unauthorized only after
being reviewed and signed. Every sibling pool write gates in buildUnsigned for the same
reason; this one is gated on a disjunction rather than the owner alone, so it reads both
roles instead of using assertPoolOwner.
Throws
CCTParamsInvalidError if sender is neither the pool owner nor its (set)
rateLimitAdmin, or a multi-lane updates is sent to a v1.5.0 pool
Overrides
EVMOperation.buildUnsigned
execute()
execute(
chain:EVMChain,params:EVMExecuteParams<SetChainRateLimiterConfigsParams>):Promise<TransactionResult>
Defined in: cct/evm/operation.ts:150
generate, then sign and submit; returns the confirmed tx hash.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | EVMExecuteParams<SetChainRateLimiterConfigsParams> |
Returns
Promise<TransactionResult>
Inherited from
EVMOperation.execute
generate()
generate(
chain:EVMChain,params:SetChainRateLimiterConfigsParams):Promise<UnsignedEVMTx>
Defined in: cct/evm/operation.ts:110
Run prepare and buildUnsigned, applying optional sender; no signing.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | SetChainRateLimiterConfigsParams |
Returns
Promise<UnsignedEVMTx>
Remarks
Also pins every built transaction to chain.network.chainId (no RPC, known at
construction). This is the one point every CCT builder and both execute paths pass
through; unpinned, ethers would infer the chain from the eventual signer's provider.
Inherited from
EVMOperation.generate
parse()
protectedparse(params:SetChainRateLimiterConfigsParams):SetChainRateLimiterConfigsParams
Defined in: cct/operation.ts:42
Normalize validated params for the builder — defaults, conversions, derived values. Identity by default, so an op that needs no normalization declares nothing.
Parameters
| Parameter | Type |
|---|---|
params | SetChainRateLimiterConfigsParams |
Returns
SetChainRateLimiterConfigsParams
Inherited from
EVMOperation.parse
prepare()
protectedprepare(params:SetChainRateLimiterConfigsParams):SetChainRateLimiterConfigsParams
Defined in: cct/operation.ts:48
validate then parse — the single pre-RPC step, before any chain access.
Parameters
| Parameter | Type |
|---|---|
params | SetChainRateLimiterConfigsParams |
Returns
SetChainRateLimiterConfigsParams
Inherited from
EVMOperation.prepare
resolveWalletSender()
protectedresolveWalletSender(wallet:unknown,sender?:string):Promise<string>
Defined in: cct/evm/operation.ts:130
Resolves the address a signed submission is authorized against: the signing wallet's own.
The chain gates on msg.sender, and submit clears any builder-set tx.from before
populating the tx (so ethers' own from/signer guard never fires) — an explicit sender that
differs from the wallet would therefore let an op's pre-tx checks authorize one address while
a different one actually signs, passing every local guard and reverting on-chain. Ops that
gate on an on-chain role call this from execute; build with generateUnsigned* instead
when the eventual signer isn't known yet, where sender is trusted as given.
Parameters
| Parameter | Type |
|---|---|
wallet | unknown |
sender? | string |
Returns
Promise<string>
Throws
CCIPWalletInvalidError if wallet is not a valid signer
Throws
CCTParamsInvalidError if sender is given and is not the wallet's address
Inherited from
EVMOperation.resolveWalletSender
validate()
protectedvalidate(__namedParameters:SetChainRateLimiterConfigsParams):void
Defined in: cct/evm/token-pool/operations/set-chain-rate-limiter-configs.ts:264
Validates the pool address and every update before any RPC. fastFinality is permitted
here, and the version-specific rate bounds are not applied (null version) — whether this
pool has that field, and which bound its RateLimiter enforces, are only known once its
version is resolved, so the version-specific encoder is what rejects those (see
parseUpdates).
Parameters
| Parameter | Type |
|---|---|
__namedParameters | SetChainRateLimiterConfigsParams |
Returns
void
Overrides
EVMOperation.validate