You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A complete reference of the public API both contracts expose, so downstream
repos (octraban_backend, octraban_frontend) can integrate without reading
the Rust source. For event topics/payloads specifically, see
docs/EVENTS.md — this document covers function signatures,
types, and errors.
Deployed testnet contract IDs
See DEPLOYMENTS.md for the full deployment record
(network, RPC, deployer account). Current addresses:
structContractMeta{version:u32,// caller-supplied schema versionabi_version:u32,// contract-managed; 0 on register, +1 per update_contractmin_ledger:u32,// ledger sequence this ABI version was written atname:String,description:String,functions:Vec<FunctionAbi>,registered_by:Address,}structFunctionAbi{name:Symbol,description:String,params:Vec<ParamDef>,}structParamDef{name:Symbol,kind:Symbol,}structDecodedEvent{seq:u64,contract_id:BytesN<32>,function:Symbol,ledger:u32,description:String,raw_topics:Vec<String>,raw_data:Bytes,}structEventInput{// submit_event argument; same shape as DecodedEvent minus `seq`contract_id:BytesN<32>,function:Symbol,ledger:u32,description:String,raw_topics:Vec<String>,raw_data:Bytes,}
Errors (Error enum)
Value
Variant
Meaning
1
NotFound
Requested contract/version/event does not exist
2
Unauthorized
Caller is not the admin (or, where applicable, the registrant)
3
AlreadyExists
init called twice, or register_contract called with an already-registered contract_id
4
BelowFloor
set_max_events called with new_max < MIN_MAX_EVENTS (1,000)
5
ContractPaused
State-changing call attempted while the contract is paused
6
InvalidInput
submit_event called with an empty function symbol, or get_events called with limit == 0
7
Unsupported
Reserved; not currently returned by any entry point
Admin/organizer only; panics "sold out" at max_tickets
transfer_ticket
from: Address, to: Address, ticket_id: u64, sale_price: i128
Result<(), Error>
Ticket owner (from) only; panics if not owner or ticket not Valid
verify_ticket
verifier: Address, ticket_id: u64
Result<bool, Error> — true if newly marked Used
Admin/organizer only
get_ticket
ticket_id: u64
Result<Ticket, Error>
Read-only
tickets_sold
—
u64
Read-only
upgrade
caller: Address, new_wasm_hash: BytesN<32>
Result<(), Error>
Admin/organizer only
Events published: MINTED (recipient) -> ticket_id, TRANSFER (from, to) -> ticket_id,
VERIFIED () -> ticket_id, upgrade () -> new_wasm_hash. These are not yet
covered by docs/EVENTS.md, which currently documents explorer only.