0.000025 g
Est. CO₂e / Transfer
Transfers
Holders
Info
Contract
Name: CX3 Unit
Symbol: CXU1
Standard: CX31
Target: WASM
Status: active
Decimals: 18
Total Supply: 100,000 CXU1
Deployed: Sep 30, 2026, 07:24:31 PM
Enterprise Contract — Source Code Protected
Public Contract ABI (CX31 methods & events) is published. WIT is the separate WASM runtime interface — shown below when deployed. Source code remains protected.
Standard: CX31
Compile Target: WASM
Compiler: cxvm-1.0.0
Source Type: CX3Script
License: Proprietary
Optimization: Disabled (200 runs)
Bytecode Size: 51.6 KB
Deployed Block: #148
Creator: 0x31e94235dc6841...
Status: Active
{"abi":{"name":"CX31","version":"1.0.0","description":"CarbonX3 Green Chain Unit Token Standard - 1:1 Pegged Stable Value Token","extends":"CX30","features":{"peggedValue":true,"collateralized":true,"redeemable":true,"auditable":true},"methods":{"init":{"type":"tx","inputs":[{"name":"name","type":"string"},{"name":"symbol","type":"string"},{"name":"pegAsset","type":"string","description":"Pegged asset identifier (e.g., USD, EUR, tCO2e)"},{"name":"pegRatio","type":"uint256","description":"Peg ratio in basis points (10000 = 1:1)"},{"name":"owner","type":"address","optional":true},{"name":"treasury","type":"address","description":"Treasury address for collateral"},{"name":"mintable","type":"bool","optional":true},{"name":"burnable","type":"bool","optional":true},{"name":"pausable","type":"bool","optional":true}],"outputs":[{"type":"bool"}]},"name":{"type":"view","inputs":[],"outputs":[{"type":"string"}]},"symbol":{"type":"view","inputs":[],"outputs":[{"type":"string"}]},"decimals":{"type":"view","inputs":[],"outputs":[{"type":"uint8"}],"description":"Always returns 18 for unit tokens"},"totalSupply":{"type":"view","inputs":[],"outputs":[{"type":"uint256"}]},"balanceOf":{"type":"view","inputs":[{"name":"address","type":"address"}],"outputs":[{"type":"uint256"}]},"transfer":{"type":"tx","inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"}],"outputs":[{"type":"bool"}]},"pegAsset":{"type":"view","inputs":[],"outputs":[{"type":"string"}],"description":"Returns the pegged asset identifier"},"pegRatio":{"type":"view","inputs":[],"outputs":[{"type":"uint256"}],"description":"Returns peg ratio in basis points"},"treasury":{"type":"view","inputs":[],"outputs":[{"type":"address"}],"description":"Returns treasury address"},"collateralBalance":{"type":"view","inputs":[],"outputs":[{"type":"uint256"}],"description":"Returns total collateral backing the token"},"collateralizationRatio":{"type":"view","inputs":[],"outputs":[{"type":"uint256"}],"description":"Returns collateralization ratio in basis points"},"mint":{"type":"tx","inputs":[{"name":"to","type":"address"},{"name":"amount","type":"uint256"},{"name":"collateralProof","type":"string","optional":true,"description":"Reference to collateral deposit proof"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:mint","description":"Mint new tokens with collateral backing"},"burn":{"type":"tx","inputs":[{"name":"amount","type":"uint256"}],"outputs":[{"type":"bool"}],"description":"Burn tokens (anyone can burn their own tokens)"},"redeem":{"type":"tx","inputs":[{"name":"amount","type":"uint256"},{"name":"redemptionAddress","type":"string","optional":true,"description":"Off-chain address for redemption"}],"outputs":[{"type":"string"}],"description":"Redeem tokens for underlying collateral, returns redemption ID"},"depositCollateral":{"type":"tx","inputs":[{"name":"amount","type":"uint256"},{"name":"proof","type":"string","description":"Proof of collateral deposit"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:treasury"},"withdrawCollateral":{"type":"tx","inputs":[{"name":"amount","type":"uint256"},{"name":"reason","type":"string"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:treasury","description":"Withdraw excess collateral (must maintain minimum ratio)"},"setMinCollateralizationRatio":{"type":"tx","inputs":[{"name":"ratio","type":"uint256","description":"Minimum ratio in basis points (10000 = 100%)"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:admin"},"minCollateralizationRatio":{"type":"view","inputs":[],"outputs":[{"type":"uint256"}]},"pause":{"type":"tx","inputs":[],"outputs":[{"type":"bool"}],"requiresRole":"unit:pause"},"unpause":{"type":"tx","inputs":[],"outputs":[{"type":"bool"}],"requiresRole":"unit:pause"},"isPaused":{"type":"view","inputs":[],"outputs":[{"type":"bool"}]},"owner":{"type":"view","inputs":[],"outputs":[{"type":"address"}]},"transferOwnership":{"type":"tx","inputs":[{"name":"newOwner","type":"address"}],"outputs":[{"type":"bool"}]},"setTreasury":{"type":"tx","inputs":[{"name":"newTreasury","type":"address"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:admin"},"getRedemption":{"type":"view","inputs":[{"name":"redemptionId","type":"string"}],"outputs":[{"name":"redeemer","type":"address"},{"name":"amount","type":"uint256"},{"name":"status","type":"string"},{"name":"timestamp","type":"uint256"}]},"processRedemption":{"type":"tx","inputs":[{"name":"redemptionId","type":"string"},{"name":"proof","type":"string","description":"Proof of collateral release"}],"outputs":[{"type":"bool"}],"requiresRole":"unit:treasury"}},"events":{"TokenDeployed":{"inputs":[{"name":"owner","type":"address","indexed":true},{"name":"treasury","type":"address","indexed":true},{"name":"pegAsset","type":"string"},{"name":"pegRatio","type":"uint256"},{"name":"name","type":"string"},{"name":"symbol","type":"string"}]},"Transfer":{"inputs":[{"name":"from","type":"address","indexed":true},{"name":"to","type":"address","indexed":true},{"name":"amount","type":"uint256"}]},"Mint":{"inputs":[{"name":"to","type":"address","indexed":true},{"name":"amount","type":"uint256"},{"name":"collateralProof","type":"string"}]},"Burn":{"inputs":[{"name":"from","type":"address","indexed":true},{"name":"amount","type":"uint256"}]},"RedemptionRequested":{"inputs":[{"name":"redemptionId","type":"string","indexed":true},{"name":"redeemer","type":"address","indexed":true},{"name":"amount","type":"uint256"},{"name":"redemptionAddress","type":"string"}]},"RedemptionProcessed":{"inputs":[{"name":"redemptionId","type":"string","indexed":true},{"name":"proof","type":"string"}]},"CollateralDeposited":{"inputs":[{"name":"amount","type":"uint256"},{"name":"proof","type":"string"},{"name":"newBalance","type":"uint256"}]},"CollateralWithdrawn":{"inputs":[{"name":"amount","type":"uint256"},{"name":"reason","type":"string"},{"name":"newBalance","type":"uint256"}]},"TreasuryChanged":{"inputs":[{"name":"oldTreasury","type":"address","indexed":true},{"name":"newTreasury","type":"address","indexed":true}]},"MinCollateralizationRatioChanged":{"inputs":[{"name":"oldRatio","type":"uint256"},{"name":"newRatio","type":"uint256"}]},"Paused":{"inputs":[{"name":"by","type":"address","indexed":true}]},"Unpaused":{"inputs":[{"name":"by","type":"address","indexed":true}]},"OwnershipTransferred":{"inputs":[{"name":"previousOwner","type":"address","indexed":true},{"name":"newOwner","type":"address","indexed":true}]}},"hooks":{"audit":{"events":["UNIT_TOKEN_DEPLOYED","UNIT_TOKEN_TRANSFER","UNIT_TOKEN_MINT","UNIT_TOKEN_BURN","UNIT_REDEMPTION_REQUESTED","UNIT_REDEMPTION_PROCESSED","UNIT_COLLATERAL_DEPOSITED","UNIT_COLLATERAL_WITHDRAWN","UNIT_TREASURY_CHANGED","UNIT_PAUSED","UNIT_UNPAUSED"]},"compliance":{"checkTransfer":true,"checkMint":true,"checkRedemption":true},"rbac":{"roles":["unit:mint","unit:treasury","unit:admin","unit:pause"]}},"constants":{"DECIMALS":18,"BASIS_POINTS":10000,"DEFAULT_MIN_COLLATERALIZATION_RATIO":10000,"REDEMPTION_STATUS":{"PENDING":"PENDING","PROCESSING":"PROCESSING","COMPLETED":"COMPLETED","CANCELLED":"CANCELLED"}},"runtimes":{"js":{"basic":"js/CX31UnitToken.js"}}},"abiFormat":"cx3-standard-interface","witCode":"/// CX3Unit - CX3 Smart Contract\n/// Standard: CX31\n/// Generated by CX3Script Compiler\n/// \n/// @copyright 2026 Mersolution Technology Ltd. All rights reserved.\n\npackage cx3:cx3unit@1.0.0;\n\n/// Contract interface\ninterface cx3unit {\n /// Event: Transfer\n record transfer-event {\n from: string,\n to: string,\n amount: u64,\n }\n\n /// Event: Approval\n record approval-event {\n owner: string,\n spender: string,\n amount: u64,\n }\n\n /// Event: Mint\n record mint-event {\n to: string,\n amount: u64,\n reserve-added: u64,\n minter: string,\n }\n\n /// Event: Burn\n record burn-event {\n from: string,\n amount: u64,\n reserve-released: u64,\n }\n\n /// Event: ReserveDeposit\n record reserve-deposit-event {\n from: string,\n amount: u64,\n }\n\n /// Event: ReserveWithdraw\n record reserve-withdraw-event {\n to: string,\n amount: u64,\n }\n\n /// Event: PegUpdated\n record peg-updated-event {\n old-value: u64,\n new-value: u64,\n updated-by: string,\n }\n\n /// Event: AccountFrozen\n record account-frozen-event {\n account: string,\n amount: u64,\n }\n\n /// Event: AccountUnfrozen\n record account-unfrozen-event {\n account: string,\n amount: u64,\n }\n\n /// Event: TreasurerChanged\n record treasurer-changed-event {\n old-treasurer: string,\n new-treasurer: string,\n }\n\n /// [view] balanceOf\n balance-of: func(account: string) -\u003e u64;\n\n /// [view] availableBalance\n available-balance: func(account: string) -\u003e u64;\n\n /// [view] allowance\n allowance: func(token-owner: string, spender: string) -\u003e u64;\n\n /// [view] isMinter\n is-minter: func(account: string) -\u003e bool;\n\n /// [view] getReserveInfo\n get-reserve-info: func() -\u003e tuple\u003cu64, u64, u64\u003e;\n\n /// [view] getTokenValue\n get-token-value: func(amount: u64) -\u003e u64;\n\n /// transfer\n transfer: func(to: string, amount: u64) -\u003e bool;\n\n /// approve\n approve: func(spender: string, amount: u64) -\u003e bool;\n\n /// transferFrom\n transfer-from: func(from: string, to: string, amount: u64) -\u003e bool;\n\n /// mint\n mint: func(to: string, amount: u64, reserve-amount: u64);\n\n /// burn\n burn: func(amount: u64);\n\n /// depositReserve\n deposit-reserve: func(amount: u64);\n\n /// withdrawReserve\n withdraw-reserve: func(to: string, amount: u64);\n\n /// setReserveRatio\n set-reserve-ratio: func(new-ratio: u64);\n\n /// addToBlacklist\n add-to-blacklist: func(account: string);\n\n /// removeFromBlacklist\n remove-from-blacklist: func(account: string);\n\n /// freezeAccount\n freeze-account: func(account: string, amount: u64);\n\n /// unfreezeAccount\n unfreeze-account: func(account: string, amount: u64);\n\n /// pause\n pause: func();\n\n /// unpause\n unpause: func();\n\n /// addMinter\n add-minter: func(account: string);\n\n /// removeMinter\n remove-minter: func(account: string);\n\n /// setTreasurer\n set-treasurer: func(new-treasurer: string);\n\n /// updatePegValue\n update-peg-value: func(new-value: u64);\n\n}\n\n/// World definition\nworld cx3unit-world {\n /// Import CX3 runtime interfaces\n import cx3:runtime/state;\n import cx3:runtime/audit;\n import cx3:runtime/events;\n import cx3:runtime/context;\n\n /// Export contract interface\n export cx3unit;\n}\n","target":"CX3WASM","standard":"CX31"}
[{"address":"0x31e94235dc68414f541f9165449fe4f98e276d92","balance":"100000","humanBalance":"100000","percentage":"100.00"}]