LEARN · DOCUMENTATION
Documentation
Pages from 29 sources, kept in sync: the official Canton Network and Digital Asset docs, documentation from teams building on Canton, and readmes from their code. Search all of it, or start from a path below.
3,253pages
synced 4h ago29 sources
1 more source4 pages
ShowingCode
Code
OpenZeppelin/canton-stablecoin: simple-token-test/daml/SimpleToken/Test/Setup.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token-test/daml/SimpleToken/Test/Setup.daml -- | Common test setup: party allocation, registry init, initial holdings. module SimpleToken.Test.Setup where import DA.Date import DA.Time import Splice.Api.Token.MetadataV1 import Spli
Code
OpenZeppelin/canton-stablecoin: simple-token-test/daml/SimpleToken/Test/Transfer.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token-test/daml/SimpleToken/Test/Transfer.daml -- | Transfer lifecycle tests (9 tests). module SimpleToken.Test.Transfer where import DA.Date import DA.Time import DA.Optional (fromSome) import DA.TextMap qualified as TextMap impor
Code
OpenZeppelin/canton-stablecoin: simple-token-test/daml/SimpleToken/Testing/SimpleRegistry.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token-test/daml/SimpleToken/Testing/SimpleRegistry.daml -- | SimpleRegistry: off-ledger API simulation for tests. -- Mirrors Splice's AmuletRegistry pattern but much simpler (no mining rounds, no fees). module SimpleToken.Testing.S
Code
OpenZeppelin/canton-stablecoin: simple-token-test/daml/SimpleToken/Testing/WalletClient.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token-test/daml/SimpleToken/Testing/WalletClient.daml -- | Test wallet helpers: list holdings, check balances, list transfer offers. module SimpleToken.Testing.WalletClient where import DA.Action (unless) import DA.Optional (isSome
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/Allocation.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/Allocation.daml -- | Allocation for DvP settlement. -- SimpleAllocation: backed by a locked holding, supports execute/cancel/withdraw. module SimpleToken.Allocation where import Splice.Api.Token.MetadataV1 im
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/AllocationRequest.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/AllocationRequest.daml -- | Allocation request template for DvP test scenarios. -- Allows an executor to request allocations from senders. module SimpleToken.AllocationRequest where import DA.TextMap qualifie
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/ContextUtils.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/ContextUtils.daml -- | Choice context utilities for the simple token standard. -- Copied from Splice.Amulet.TokenApiUtils to avoid transitive dependency on splice-amulet. module SimpleToken.ContextUtils where
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/Holding.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/Holding.daml -- | Holdings for the simple token standard implementation. -- SimpleHolding: unlocked holding with flat Decimal amount. -- LockedSimpleHolding: locked holding with admin-only lock holder and ext
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/Preapproval.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/Preapproval.daml -- | Transfer preapproval for direct transfers. -- Nonconsuming: any sender can transfer to the receiver without consuming this contract. module SimpleToken.Preapproval where import Splice.Ap
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/Rules.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/Rules.daml -- | SimpleTokenRules: the factory contract implementing TransferFactory and AllocationFactory. -- Supports multiple instruments via supportedInstruments list. -- Implements 3-way transfer dispatch
Code
OpenZeppelin/canton-stablecoin: simple-token/daml/SimpleToken/TransferInstruction.daml
Daml contract source - OpenZeppelin/canton-stablecoin/simple-token/daml/SimpleToken/TransferInstruction.daml -- | Transfer instruction for two-step transfers. -- Created when receiver has no preapproval; requires explicit accept/reject/withdraw. module SimpleToken.TransferInstruction where i
Code
OpenZeppelin/canton-stablecoin: stablecoin-test/daml/Stablecoin/Test/Cdp.daml
Daml contract source - OpenZeppelin/canton-stablecoin/stablecoin-test/daml/Stablecoin/Test/Cdp.daml -- | CDP vault system tests: happy path + negative/security tests. module Stablecoin.Test.Cdp where import DA.Date import DA.Optional (fromSome, isNone, isSome) import DA.Time import Daml.Scri
Code
OpenZeppelin/canton-stablecoin: stablecoin-test/daml/Stablecoin/Test/VaultModel.daml
Daml contract source - OpenZeppelin/canton-stablecoin/stablecoin-test/daml/Stablecoin/Test/VaultModel.daml -- | Pure state-machine model of daml-stablecoin vault system. -- Models the vault arithmetic without Script effects. -- Follows DamlProps/Dogfood/SimpleToken/Model.daml conventions: --
Code
OpenZeppelin/canton-stablecoin: stablecoin-test/daml/Stablecoin/Test/VaultProperties.daml
Daml contract source - OpenZeppelin/canton-stablecoin/stablecoin-test/daml/Stablecoin/Test/VaultProperties.daml -- | Property-based tests for the vault state-machine model. -- Each test_ function is discovered by dpm test. module Stablecoin.Test.VaultProperties where import Daml.Script impor
Code
OpenZeppelin/canton-stablecoin: stablecoin/daml/Stablecoin/Oracle.daml
Daml contract source - OpenZeppelin/canton-stablecoin/stablecoin/daml/Stablecoin/Oracle.daml -- | Admin-controlled price oracle for collateral valuation. -- Price is denominated in stablecoin units per one unit of collateral. -- E.g., price = 2000.0 means 1 collateral = 2000 stablecoin. modu
Code
OpenZeppelin/canton-stablecoin: stablecoin/daml/Stablecoin/Vault.daml
Daml contract source - OpenZeppelin/canton-stablecoin/stablecoin/daml/Stablecoin/Vault.daml -- | MakerDAO-esque CDP vault system. -- Users deposit collateral to mint stablecoins. Overcollateralization enforced. -- Undercollateralized vaults can be liquidated by any party (with admin co-sign)
Code
OpenZeppelin/canton-token-template: docs/AUDIT.md
Verification Report: Canton Network Token Standard Three open-source verification tools and manual code review by the author were used to analyze this codebase. All findings have been patched or acknowledged. Summary | Metric | Value | |--------|-------| | Tools used | 3 (daml-lint, daml-props,
Code
OpenZeppelin/canton-token-template: docs/PLAN.md
PLAN: CIP-056 Simple Token Implementation Status: on-ledger implementation complete (36/36 tests passing) Scope: see SCOPE.md for authoritative scope boundaries, out-of-scope items, and post-MVP backlog. Goal Deliver a minimal, secure, readable Canton token-standard implementation i
Code
OpenZeppelin/canton-token-template: docs/SCOPE.md
SCOPE: Canton Network Token Standard (CIP-056) 1. Mission This project delivers a minimal, correct DAML/Haskell implementation of the 6 CIP-056 on-ledger interfaces (splice-api-token-*-v1 version 1.0.0). It proves a non-Splice registry can implement the standard and interoperate with standard
Code
OpenZeppelin/canton-token-template: README.md
canton-token-template > [!WARNING] > This software is experimental and not intended for production use. Use at your own risk. A DAML template for building CIP-056 token registries on
Code
OpenZeppelin/canton-token-template: SECURITY.md
Security Policy Security vulnerabilities should be disclosed to the project maintainers, or alternatively by email to <security@openzeppelin.com>. Reporting a Vulnerability We're extremely grateful for security researchers and users that report vuln
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Allocation.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Allocation.daml -- | Allocation lifecycle tests (5 tests) including DvP. module SimpleToken.Test.Allocation where import Splice.Api.Token.MetadataV1 import Splice.Api.Token.HoldingV1 import Spli
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Defragmentation.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Defragmentation.daml -- | Defragmentation and multi-instrument tests (2 tests). module SimpleToken.Test.Defragmentation where import DA.TextMap qualified as TextMap import Splice.Api.Token.Metad
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Negative.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Negative.daml -- | Security and negative tests (20 tests). module SimpleToken.Test.Negative where import DA.Date import DA.Time import DA.TextMap qualified as TextMap import Splice.Api.Token.Met
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Props/Model.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Props/Model.daml -- | Pure state-machine model of canton-network-token-standard simple-token. -- Models the transfer logic from SimpleToken/Rules.daml without Script effects. -- Parties are repr
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Props/Properties.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Props/Properties.daml -- | Property-based tests for the simple-token model. -- Each test_ function is discovered by dpm test. module SimpleToken.Test.Props.Properties where import Daml.Script im
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Setup.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Setup.daml -- | Common test setup: party allocation, registry init, initial holdings. module SimpleToken.Test.Setup where import DA.Date import DA.Time import Splice.Api.Token.MetadataV1 import
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Test/Transfer.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Test/Transfer.daml -- | Transfer lifecycle tests (9 tests). module SimpleToken.Test.Transfer where import DA.Date import DA.Time import DA.Optional (fromSome) import DA.TextMap qualified as TextMap i
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Testing/SimpleRegistry.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Testing/SimpleRegistry.daml -- | SimpleRegistry: off-ledger API simulation for tests. -- Mirrors Splice's AmuletRegistry pattern but much simpler (no mining rounds, no fees). module SimpleToken.Testi
Code
OpenZeppelin/canton-token-template: simple-token-test/daml/SimpleToken/Testing/WalletClient.daml
Daml contract source - OpenZeppelin/canton-token-template/simple-token-test/daml/SimpleToken/Testing/WalletClient.daml -- | Test wallet helpers: list holdings, check balances, list transfer offers. module SimpleToken.Testing.WalletClient where import DA.Action (unless) import DA.Optional (is
Showing 451 to 480 of 742Search all sources →