Class: DeployAdvancedPoolHooks
Defined in: cct/evm/advanced-pool-hooks/operations/deploy-advanced-pool-hooks.ts:73
Deploys an AdvancedPoolHooks; execute resolves to { hash, contractAddress, verification },
where verification.encodedConstructorArgs is the ABI-encoded ctor tuple a block explorer
needs to verify the source.
Extends
EVMDeployOperation<DeployAdvancedPoolHooksParams>
Constructors
Constructor
new DeployAdvancedPoolHooks():
DeployAdvancedPoolHooks
Returns
DeployAdvancedPoolHooks
Inherited from
EVMDeployOperation<DeployAdvancedPoolHooksParams>.constructor
Properties
name
readonlyname:"deployAdvancedPoolHooks"='deployAdvancedPoolHooks'
Defined in: cct/evm/advanced-pool-hooks/operations/deploy-advanced-pool-hooks.ts:74
camelCase id; matches the token-manager facade method and error context.
Overrides
EVMDeployOperation.name
Methods
artifact()
protectedartifact():DeployArtifact
Defined in: cct/evm/advanced-pool-hooks/operations/deploy-advanced-pool-hooks.ts:91
Deploy artifact for AdvancedPoolHooks (v2.0.0).
Returns
Overrides
EVMDeployOperation.artifact
buildUnsigned()
protectedbuildUnsigned(_chain:EVMChain,params:DeployAdvancedPoolHooksParams):UnsignedEVMTx
Defined in: cct/evm/operation.ts:176
Builds a deployment tx (no to): creation bytecode + ABI-encoded constructor args.
Parameters
| Parameter | Type |
|---|---|
_chain | EVMChain |
params | DeployAdvancedPoolHooksParams |
Returns
Inherited from
EVMDeployOperation.buildUnsigned
encode()
protectedencode(iface:Interface,p:DeployAdvancedPoolHooksParams):string
Defined in: cct/evm/advanced-pool-hooks/operations/deploy-advanced-pool-hooks.ts:96
ABI-encodes the AdvancedPoolHooks (v2.0.0) constructor args; omitted params encode as off.
Parameters
| Parameter | Type |
|---|---|
iface | Interface |
p | DeployAdvancedPoolHooksParams |
Returns
string
Overrides
EVMDeployOperation.encode
execute()
execute(
chain:EVMChain,params:EVMExecuteParams<DeployAdvancedPoolHooksParams>):Promise<DeployResult>
Defined in: cct/evm/operation.ts:191
generate, then sign and submit; resolves to the tx hash and the newly deployed contract address (validated against the submitted CREATE sender and nonce), plus the ExplorerVerificationInput for verifying its source on a block explorer.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | EVMExecuteParams<DeployAdvancedPoolHooksParams> |
Returns
Promise<DeployResult>
Remarks
Assumes a direct EOA CREATE deployment. Factory/CREATE2 deployments derive their address differently and must not use this base.
Throws
CCTTxFailedError if the tx mined without the expected contract address
Inherited from
EVMDeployOperation.execute
generate()
generate(
chain:EVMChain,params:DeployAdvancedPoolHooksParams):Promise<UnsignedEVMTx>
Defined in: cct/evm/operation.ts:110
Run prepare and buildUnsigned, applying optional sender; no signing.
Parameters
| Parameter | Type |
|---|---|
chain | EVMChain |
params | DeployAdvancedPoolHooksParams |
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
EVMDeployOperation.generate
parse()
protectedparse(params:DeployAdvancedPoolHooksParams):DeployAdvancedPoolHooksParams
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 | DeployAdvancedPoolHooksParams |
Returns
Inherited from
EVMDeployOperation.parse
prepare()
protectedprepare(params:DeployAdvancedPoolHooksParams):DeployAdvancedPoolHooksParams
Defined in: cct/operation.ts:48
validate then parse — the single pre-RPC step, before any chain access.
Parameters
| Parameter | Type |
|---|---|
params | DeployAdvancedPoolHooksParams |
Returns
Inherited from
EVMDeployOperation.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
EVMDeployOperation.resolveWalletSender
validate()
protectedvalidate(params:DeployAdvancedPoolHooksParams):void
Defined in: cct/evm/advanced-pool-hooks/operations/deploy-advanced-pool-hooks.ts:83
Validates the constructor params before building init-code. Not parse: a normalizing
deploy op would publish verification args that differ from the deployed ones, because
EVMDeployOperation.execute re-derives them from the raw params.
Parameters
| Parameter | Type |
|---|---|
params | DeployAdvancedPoolHooksParams |
Returns
void
Remarks
A zero in allowlist is the nastier of the two zero cases — the constructor skips
it but still counts it, permanently enabling an allowlist containing nobody.
Overrides
EVMDeployOperation.validate