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.