Releases: icdevsorg/icrc1.mo
Releases · icdevsorg/icrc1.mo
ReRelease
[0.2.0] - 2026-02-24
Added
- Mixin pattern (
mo:icrc1-mo/ICRC1/mixin) for automatic endpoint generation usingpersistent actor classand Class+ - Inspect module (
mo:icrc1-mo/ICRC1/Inspect) for cycle drain protection with two-layer defense:inspect*functions (returnBool) for use insystem func inspect()guard*functions (trap on invalid) for inter-canister protection- Built-in guards in mixin for
icrc1_transfer,icrc1_balance_of,icrc107_set_fee_collector,icrc21_canister_call_consent_message - Configurable limits via
Configtype andconfigWith()helper
- Interface module (
mo:icrc1-mo/ICRC1/Interface) with extensible before/after hooks for all ICRC-1 endpoints - ICRC-107 fee collector management:
icrc107_set_fee_collector,icrc107_get_fee_collectorwith authorization viacanSetFeeCollector - ICRC-106 index principal:
icrc106_get_index_principal,set_icrc106_index_principalwith authorization viacanSetIndexPrincipal - ICRC-21 consent message support:
icrc21_canister_call_consent_messagewith pluggable consent builders - ICRC-10 supported standards alias:
icrc10_supported_standardsmirrorsicrc1_supported_standards - ICRC-85 Open Value Sharing integration via
ovs-fixedfor sustainable open-source funding defaultMixinArgs()helper for ergonomic mixin configuration withwithsyntaxMixinFunctionArgstype withcanTransfer,canSetFeeCollector,canSetIndexPrincipalfieldsInit()ClassPlus-compatible initialization function- Complete README with mixin usage examples, inspect documentation, and API reference tables
- Performance benchmarks for account operations and balance operations
Changed
- Migrated to
mo:core(Map, Set, List) frommo:map/mo:vector - Migrated to Motoko 1.1.0 with Enhanced Orthogonal Persistence (64-bit heap)
- Removed
mo:basedependency in favor ofmo:core - Created migration
v000_002_000for state type conversions - Updated
mops.tomlto requiremoc = "1.1.0"toolchain
Technical Details
- Uses
persistent actor classsyntax (Motoko 1.1.0+) - ClassPlus async initialization with
ClassPlusInitializationManager - Star monad error handling for transfer/mint/burn operations
- Representational Independent Hash-based deduplication
- Automatic account pruning when exceeding
max_accounts