Class: ApplyChainUpdates
Defined in: cct/evm/token-pool/operations/apply-chain-updates.ts:330
Configures, enables and disables a token pool's remote lanes via applyChainUpdates.
Remarks
Owner-gated on-chain (onlyOwner). Supply sender to have that checked against the
pool's owner() before a tx is built; ApplyChainUpdates.execute defaults it to the
signing wallet, the only address a broadcast tx can satisfy it with.
Extends
EVMOperation<ApplyChainUpdatesParams,ParsedApplyChainUpdatesParams>
Constructors
Constructor
new ApplyChainUpdates():
ApplyChainUpdates
Returns
ApplyChainUpdates
Inherited from
EVMOperation< ApplyChainUpdatesParams, ParsedApplyChainUpdatesParams >.constructor
Properties
name
readonlyname:"applyChainUpdates"='applyChainUpdates'
Defined in: cct/evm/token-pool/operations/apply-chain-updates.ts:334
camelCase id; matches the token-manager facade method and error context.
Overrides
EVMOperation.name
Methods
buildUnsigned()
protectedbuildUnsigned(chain:EVMChain,params:ParsedApplyChainUpdatesParams):Promise<UnsignedEVMTx>
Defined in: cct/evm/token-pool/operations/apply-chain-updates.ts:379
Resolves the pool's type and version, applies the checks that needed it, then encodes for that
version's signature — adapting the params to v1.5.0's chains array on a legacy pool.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | ParsedApplyChainUpdatesParams |
Returns
Promise<UnsignedEVMTx>
Throws
CCTParamsInvalidError if a rate limit breaks its enabled-bucket bound, a lane
lists several remote pools for a v1.5.0 pool, or sender is not the pool owner
Throws
CCTContractTypeInvalidError if the address is not a supported pool type
Throws
CCTContractVersionUnsupportedError if the pool reports an unknown version
Overrides
EVMOperation.buildUnsigned
execute()
execute(
chain:EVMChain,params:EVMExecuteParams<ApplyChainUpdatesParams>):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<ApplyChainUpdatesParams> |
Returns
Promise<TransactionResult>
Inherited from
EVMOperation.execute
generate()
generate(
chain:EVMChain,params:ApplyChainUpdatesParams):Promise<UnsignedEVMTx>
Defined in: cct/evm/operation.ts:110
Run prepare and buildUnsigned, applying optional sender; no signing.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | ApplyChainUpdatesParams |
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
prepare()
protectedprepare(params:ApplyChainUpdatesParams):ParsedApplyChainUpdatesParams
Defined in: cct/evm/token-pool/operations/apply-chain-updates.ts:348
Validates the pool address and every lane entry before any RPC, keeping what each check produced so neither buildUnsigned nor an encoder re-derives it. Only the version-conditional checks are left for once the pool's version is known.
Parameters
| Parameter | Type |
|---|---|
params | ApplyChainUpdatesParams |
Returns
ParsedApplyChainUpdatesParams
Throws
CCTParamsInvalidError if any lane field is invalid
Overrides
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