Skip to main content

Glossary

Canon Guard​

The entrypoint contract that queues actions, computes the Safe transaction hash, checks approved owners, and executes via MultiSendCallOnly.

Safe​

A multisig wallet that holds funds and executes transactions.

Guard (Safe guard)​

A hook contract the Safe calls before/after execution to allow or reject transactions. OnlyCanonGuard enforces execution only via Canon Guard.

Action​

An onchain call (target, data, value) to execute through Canon Guard.

Action builder​

A contract that returns a list of actions (getActions()) to queue and execute.

Factory​

A contract that deploys known contract types (Canon Guard, hubs, builders) and tracks children (provenance).

Parent / Child​

Parent is the creator contract (PARENT), which can be a factory or hub. Child is the created contract (hub or builder).

Hub (Action hub)​

A policy parent that creates builders and tracks them. Hubs expose isHubChild(child) to prove provenance.

Approved hash (Safe)​

The Safe’s onchain approval record: approvedHashes(owner, safeTxHash) == 1 when an owner approved the hash.

MultiSendCallOnly​

Safe library used by Canon Guard to batch and execute actions in a single Safe transaction.

Short execution delay​

Timelock for pre‑approved actions (pre‑approved via approveActionsBuilderOrHub).

Long execution delay​

Timelock for actions that were not pre‑approved.

Transaction expiry delay​

Time window after executableAt during which a queued action can be executed.

Maximum approval duration​

Maximum time a builder or hub can be pre‑approved.

Approve an action builder or hub​

Pre‑approve a builder or hub so its queued actions use the short delay. If approving a hub, all hub children inherit the approved status.

Queue a transaction​

Add actions to the queue, making them available to approve, and start the timelock.

Execute a transaction​

If the actions have required onchain approvals and have not expired, anyone can execute (emergency mode restricts to the emergency caller).

Cancel enqueued transaction​

Remove a queued item if there are no approved hashes. In emergency mode, only the emergency caller may cancel.

Execute no‑action transaction (no‑op)​

Execute an empty batch to spend the Safe’s nonce and invalidate existing approvals. Used to clear signatures without side effects.