Reference

Glossary

Key Terms & Concepts

A
Active Contract
Daml

A contract that has been created and not yet archived. In Daml's UTXO model, only active contracts can be exercised.

Addr
CosmWasm

A validated blockchain address in CosmWasm. Use deps.api.addr_validate() to convert a string to an Addr.

Archive
Daml

To mark a contract as consumed/inactive. Archived contracts cannot be exercised. Most choices archive their contract by default (consuming choices).

B
BFT (Byzantine Fault Tolerance)
General

Consensus mechanism that can tolerate up to 1/3 malicious nodes. Used by Tendermint/CometBFT in the Cosmos ecosystem.

BankMsg
CosmWasm

A message type for transferring native tokens. Includes BankMsg::Send for transfers and BankMsg::Burn for burning tokens.

C
Canton
Canton

A privacy-enabled distributed ledger protocol that runs Daml smart contracts. Enables atomic transactions across multiple domains with sub-transaction privacy.

Choice
Daml

An action that can be performed on a contract. Defined with a controller (who can exercise), parameters, and a body of actions. Similar to methods in OOP.

Types: Consuming (default), nonconsuming, preconsuming, postconsuming
CosmWasm
CosmWasm

A smart contract platform for Cosmos SDK blockchains. Contracts are written in Rust and compiled to WebAssembly (WASM).

ContractId
Daml

A unique identifier for a specific contract instance. Type is ContractId a where a is the template type.

Controller
Daml

The party (or parties) authorized to exercise a choice. Defined in the choice declaration and enforced by the ledger.

CW20
CosmWasm

The fungible token standard for CosmWasm, similar to ERC-20. Defines standard interfaces for token transfers, allowances, and queries.

CW721
CosmWasm

The non-fungible token (NFT) standard for CosmWasm, similar to ERC-721.

D
Daml
Daml

Digital Asset Modeling Language. A purpose-built smart contract language for multi-party business workflows with built-in authorization.

DAR (Daml Archive)
Daml

The compiled package format for Daml code. Created by daml build and deployed to ledgers.

Deps / DepsMut
CosmWasm

Dependency injection in CosmWasm providing access to storage, API (address validation), and querier. DepsMut allows writes, Deps is read-only.

Domain
Canton

A synchronization domain in Canton. Provides ordering and validation for transactions. Participants can connect to multiple domains for cross-domain atomic transactions.

E
Entry Point
CosmWasm

Functions marked with #[entry_point] that the blockchain runtime can call: instantiate, execute, query, migrate, and IBC handlers.

Env
CosmWasm

Environment information provided to contract calls including block height, time, chain ID, and the contract's own address.

Exercise
Daml

To invoke a choice on a contract. Requires the caller to be a valid controller. Use exercise or exerciseCmd in scripts.

I
IBC (Inter-Blockchain Communication)
Cosmos

Protocol for communication between Cosmos SDK blockchains. Enables token transfers and arbitrary message passing across chains via light client verification.

Interface
Daml

A Daml 2.0+ feature allowing templates to implement common behaviors. Enables polymorphism and reusable choice definitions.

M
Mediator
Canton

A Canton component that validates transaction confirmations without seeing the transaction content. Enables privacy-preserving consensus.

MessageInfo
CosmWasm

Information about the message sender including their address (info.sender) and any funds sent with the message (info.funds).

Migrate
CosmWasm

Entry point for upgrading a contract to new code. Only callable by the contract admin. Used for schema migrations and bug fixes.

O
Observer
Daml

A party who can see a contract but is not a signatory. Observers can see the contract's existence and data but cannot exercise choices unless also a controller.

P
Participant
Canton

A node in the Canton network that hosts parties and executes Daml contracts. Participants connect to domains and can participate in multi-domain transactions.

Party
Daml

An identity on the ledger that can create contracts, exercise choices, and observe data. Parties are the fundamental unit of authorization in Daml.

R
Response
CosmWasm

The return type from execute entry points. Contains messages to dispatch, sub-messages for replies, attributes for events, and optional data.

S
Sequencer
Canton

A Canton component that provides total ordering of messages within a domain. Does not see transaction contents, only encrypted envelopes.

Signatory
Daml

A party whose authorization is required to create or archive a contract. Signatories implicitly observe the contract and guarantee its validity.

SubMsg
CosmWasm

A message that can trigger a reply callback. Used for composing contract calls where you need to handle the response. Has reply modes: always, on_success, on_error, never.

T
Template
Daml

A Daml contract type definition. Specifies the data fields, signatories, observers, choices, and other contract properties. Similar to a class in OOP.

U
UTXO (Unspent Transaction Output)
General

A model where contracts are consumed and new ones created, rather than mutated. Daml uses a UTXO-like model where exercising a choice typically archives the contract.

Uint128
CosmWasm

A 128-bit unsigned integer type commonly used for token amounts in CosmWasm. Prevents overflow and provides safe arithmetic operations.

W
WASM (WebAssembly)
CosmWasm

A binary instruction format that CosmWasm contracts compile to. Provides sandboxed execution, determinism, and portability across different blockchain implementations.

WasmMsg
CosmWasm

Message types for interacting with other CosmWasm contracts: Execute, Instantiate, Migrate, UpdateAdmin, ClearAdmin.