Files
wire-sysio/artifacts/sysio.depot.v3-final.abi
swampdaddy e58cdf9c9d depot v3: running balance guard + sysio.payer auth + clearmsgs admin action
Fixes:
- yield_reward and wire_purchase transfers now check available WIRE balance
  before sending, preventing overdrawn balance errors during crank
- Running balance tracker across process_ready_messages loop prevents
  deferred inline action overdraw (inline actions execute after caller returns)
- sysio.payer permission_level added to transfer actions for Wire ROA model
- clearmsgs admin action to flush garbage inbound messages (testnet only)

Deploy tx: 5ab93b7c (wasm), b67ccc07 (wasm+abi)
Code hash: eca6e8ee71c4b8d4e96f8543036f677775320bcea87aaf522b096f18a4cae9ac
Wasm size: 113,014 bytes
2026-03-13 17:26:39 +00:00

1066 lines
27 KiB
Plaintext

{
"____comment": "This file was generated with sysio-abigen. DO NOT EDIT ",
"version": "sysio::abi/1.2",
"types": [
{
"new_type_name": "assertion_type_t",
"type": "uint16"
},
{
"new_type_name": "chain_kind_t",
"type": "uint8"
},
{
"new_type_name": "chain_status_t",
"type": "uint8"
},
{
"new_type_name": "challenge_status_t",
"type": "uint8"
},
{
"new_type_name": "depot_state_t",
"type": "uint8"
},
{
"new_type_name": "message_direction_t",
"type": "uint8"
},
{
"new_type_name": "message_status_t",
"type": "uint8"
},
{
"new_type_name": "operator_status_t",
"type": "uint8"
},
{
"new_type_name": "operator_type_t",
"type": "uint8"
},
{
"new_type_name": "underwrite_status_t",
"type": "uint8"
}
],
"structs": [
{
"name": "activateop",
"base": "",
"fields": [
{
"name": "wire_account",
"type": "name"
}
]
},
{
"name": "bootstrap",
"base": "",
"fields": []
},
{
"name": "challenge",
"base": "",
"fields": [
{
"name": "challenger",
"type": "name"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "evidence",
"type": "bytes"
}
]
},
{
"name": "challenge_info",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "status",
"type": "challenge_status_t"
},
{
"name": "round",
"type": "uint8"
},
{
"name": "challenge_data",
"type": "bytes"
}
]
},
{
"name": "chalresolve",
"base": "",
"fields": [
{
"name": "proposer",
"type": "name"
},
{
"name": "challenge_id",
"type": "uint64"
},
{
"name": "original_hash",
"type": "checksum256"
},
{
"name": "round1_hash",
"type": "checksum256"
},
{
"name": "round2_hash",
"type": "checksum256"
}
]
},
{
"name": "chalresp",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "challenge_id",
"type": "uint64"
},
{
"name": "response_data",
"type": "bytes"
}
]
},
{
"name": "chalvote",
"base": "",
"fields": [
{
"name": "voter",
"type": "name"
},
{
"name": "challenge_id",
"type": "uint64"
},
{
"name": "approve",
"type": "bool"
}
]
},
{
"name": "clearmsgs",
"base": "",
"fields": []
},
{
"name": "crank",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
}
]
},
{
"name": "depot_global_state",
"base": "",
"fields": [
{
"name": "state",
"type": "depot_state_t"
},
{
"name": "chain_id",
"type": "chain_kind_t"
},
{
"name": "current_epoch",
"type": "uint64"
},
{
"name": "next_epoch",
"type": "uint64"
},
{
"name": "next_msg_out",
"type": "uint64"
},
{
"name": "last_crank_time",
"type": "time_point_sec"
},
{
"name": "token_contract",
"type": "name"
},
{
"name": "initialized",
"type": "bool"
}
]
},
{
"name": "emitchain",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "epoch_number",
"type": "uint64"
}
]
},
{
"name": "epoch_vote",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "operator_id",
"type": "uint64"
},
{
"name": "chain_hash",
"type": "checksum256"
},
{
"name": "submitted_at",
"type": "time_point_sec"
}
]
},
{
"name": "exitop",
"base": "",
"fields": [
{
"name": "wire_account",
"type": "name"
}
]
},
{
"name": "getquote",
"base": "",
"fields": [
{
"name": "source_sym",
"type": "symbol"
},
{
"name": "target_sym",
"type": "symbol"
},
{
"name": "amount",
"type": "asset"
}
]
},
{
"name": "init",
"base": "",
"fields": [
{
"name": "chain_id",
"type": "chain_kind_t"
},
{
"name": "token_contract",
"type": "name"
}
]
},
{
"name": "known_operator",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "op_type",
"type": "operator_type_t"
},
{
"name": "status",
"type": "operator_status_t"
},
{
"name": "wire_account",
"type": "name"
},
{
"name": "secp256k1_pubkey",
"type": "bytes"
},
{
"name": "ed25519_pubkey",
"type": "bytes"
},
{
"name": "collateral",
"type": "asset"
},
{
"name": "registered_at",
"type": "time_point_sec"
},
{
"name": "status_changed_at",
"type": "time_point_sec"
}
]
},
{
"name": "message_chain",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "direction",
"type": "message_direction_t"
},
{
"name": "status",
"type": "chain_status_t"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "merkle_root",
"type": "checksum256"
},
{
"name": "epoch_hash",
"type": "checksum256"
},
{
"name": "prev_epoch_hash",
"type": "checksum256"
},
{
"name": "payload",
"type": "bytes"
},
{
"name": "operator_signature",
"type": "bytes"
},
{
"name": "operator_id",
"type": "uint64"
},
{
"name": "created_at",
"type": "time_point_sec"
}
]
},
{
"name": "oneshot",
"base": "",
"fields": [
{
"name": "beneficiary",
"type": "name"
},
{
"name": "amount",
"type": "asset"
}
]
},
{
"name": "op_schedule",
"base": "",
"fields": [
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "elected_operator_ids",
"type": "uint64[]"
},
{
"name": "created_at",
"type": "time_point_sec"
}
]
},
{
"name": "opp_epoch_in",
"base": "",
"fields": [
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "start_message",
"type": "uint64"
},
{
"name": "end_message",
"type": "uint64"
},
{
"name": "epoch_merkle",
"type": "checksum256"
},
{
"name": "challenge_flag",
"type": "bool"
}
]
},
{
"name": "opp_epoch_out",
"base": "",
"fields": [
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "start_message",
"type": "uint64"
},
{
"name": "end_message",
"type": "uint64"
},
{
"name": "merkle_root",
"type": "checksum256"
}
]
},
{
"name": "opp_fork",
"base": "",
"fields": [
{
"name": "fork_id",
"type": "uint64"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "end_message_id",
"type": "uint64"
},
{
"name": "merkle_root",
"type": "checksum256"
}
]
},
{
"name": "opp_fork_vote",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "fork_id",
"type": "uint64"
},
{
"name": "voter",
"type": "name"
},
{
"name": "vote_state",
"type": "uint8"
}
]
},
{
"name": "opp_message_in",
"base": "",
"fields": [
{
"name": "message_number",
"type": "uint64"
},
{
"name": "assertion_type",
"type": "assertion_type_t"
},
{
"name": "status",
"type": "message_status_t"
},
{
"name": "payload",
"type": "bytes"
}
]
},
{
"name": "opp_message_out",
"base": "",
"fields": [
{
"name": "message_number",
"type": "uint64"
},
{
"name": "assertion_type",
"type": "assertion_type_t"
},
{
"name": "payload",
"type": "bytes"
}
]
},
{
"name": "regoperator",
"base": "",
"fields": [
{
"name": "wire_account",
"type": "name"
},
{
"name": "op_type",
"type": "operator_type_t"
},
{
"name": "secp256k1_pubkey",
"type": "bytes"
},
{
"name": "ed25519_pubkey",
"type": "bytes"
},
{
"name": "collateral",
"type": "asset"
}
]
},
{
"name": "reserve_balance",
"base": "",
"fields": [
{
"name": "reserve_total",
"type": "asset"
},
{
"name": "wire_equivalent",
"type": "asset"
}
]
},
{
"name": "setreserve",
"base": "",
"fields": [
{
"name": "authority",
"type": "name"
},
{
"name": "reserve_total",
"type": "asset"
},
{
"name": "wire_equivalent",
"type": "asset"
}
]
},
{
"name": "slashop",
"base": "",
"fields": [
{
"name": "wire_account",
"type": "name"
},
{
"name": "reason",
"type": "string"
}
]
},
{
"name": "submitchain",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "epoch_hash",
"type": "checksum256"
},
{
"name": "prev_epoch_hash",
"type": "checksum256"
},
{
"name": "merkle_root",
"type": "checksum256"
},
{
"name": "signature",
"type": "bytes"
}
]
},
{
"name": "underwrite_entry",
"base": "",
"fields": [
{
"name": "id",
"type": "uint64"
},
{
"name": "operator_id",
"type": "uint64"
},
{
"name": "status",
"type": "underwrite_status_t"
},
{
"name": "source_amount",
"type": "asset"
},
{
"name": "target_amount",
"type": "asset"
},
{
"name": "source_chain",
"type": "chain_kind_t"
},
{
"name": "target_chain",
"type": "chain_kind_t"
},
{
"name": "exchange_rate_bps",
"type": "uint64"
},
{
"name": "unlock_at",
"type": "time_point_sec"
},
{
"name": "created_at",
"type": "time_point_sec"
},
{
"name": "source_tx_hash",
"type": "checksum256"
},
{
"name": "target_tx_hash",
"type": "checksum256"
}
]
},
{
"name": "unregop",
"base": "",
"fields": [
{
"name": "wire_account",
"type": "name"
}
]
},
{
"name": "updreserve",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "token_sym",
"type": "symbol"
},
{
"name": "delta",
"type": "int64"
}
]
},
{
"name": "uploadmsgs",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "epoch_number",
"type": "uint64"
},
{
"name": "messages",
"type": "bytes"
},
{
"name": "merkle_proofs",
"type": "bytes"
}
]
},
{
"name": "uwcancel",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "ledger_entry_id",
"type": "uint64"
},
{
"name": "reason",
"type": "string"
}
]
},
{
"name": "uwconfirm",
"base": "",
"fields": [
{
"name": "operator_account",
"type": "name"
},
{
"name": "ledger_entry_id",
"type": "uint64"
}
]
},
{
"name": "uwexpire",
"base": "",
"fields": []
},
{
"name": "uwintent",
"base": "",
"fields": [
{
"name": "underwriter",
"type": "name"
},
{
"name": "message_id",
"type": "uint64"
},
{
"name": "source_amount",
"type": "asset"
},
{
"name": "target_amount",
"type": "asset"
},
{
"name": "source_chain",
"type": "chain_kind_t"
},
{
"name": "target_chain",
"type": "chain_kind_t"
},
{
"name": "source_sig",
"type": "bytes"
},
{
"name": "target_sig",
"type": "bytes"
}
]
}
],
"actions": [
{
"name": "activateop",
"type": "activateop",
"ricardian_contract": ""
},
{
"name": "bootstrap",
"type": "bootstrap",
"ricardian_contract": ""
},
{
"name": "challenge",
"type": "challenge",
"ricardian_contract": ""
},
{
"name": "chalresolve",
"type": "chalresolve",
"ricardian_contract": ""
},
{
"name": "chalresp",
"type": "chalresp",
"ricardian_contract": ""
},
{
"name": "chalvote",
"type": "chalvote",
"ricardian_contract": ""
},
{
"name": "clearmsgs",
"type": "clearmsgs",
"ricardian_contract": ""
},
{
"name": "crank",
"type": "crank",
"ricardian_contract": ""
},
{
"name": "emitchain",
"type": "emitchain",
"ricardian_contract": ""
},
{
"name": "exitop",
"type": "exitop",
"ricardian_contract": ""
},
{
"name": "getquote",
"type": "getquote",
"ricardian_contract": ""
},
{
"name": "init",
"type": "init",
"ricardian_contract": ""
},
{
"name": "oneshot",
"type": "oneshot",
"ricardian_contract": ""
},
{
"name": "regoperator",
"type": "regoperator",
"ricardian_contract": ""
},
{
"name": "setreserve",
"type": "setreserve",
"ricardian_contract": ""
},
{
"name": "slashop",
"type": "slashop",
"ricardian_contract": ""
},
{
"name": "submitchain",
"type": "submitchain",
"ricardian_contract": ""
},
{
"name": "unregop",
"type": "unregop",
"ricardian_contract": ""
},
{
"name": "updreserve",
"type": "updreserve",
"ricardian_contract": ""
},
{
"name": "uploadmsgs",
"type": "uploadmsgs",
"ricardian_contract": ""
},
{
"name": "uwcancel",
"type": "uwcancel",
"ricardian_contract": ""
},
{
"name": "uwconfirm",
"type": "uwconfirm",
"ricardian_contract": ""
},
{
"name": "uwexpire",
"type": "uwexpire",
"ricardian_contract": ""
},
{
"name": "uwintent",
"type": "uwintent",
"ricardian_contract": ""
}
],
"tables": [
{
"name": "challenges",
"type": "challenge_info",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "depotstate",
"type": "depot_global_state",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "epochvotes",
"type": "epoch_vote",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "knownops",
"type": "known_operator",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "msgchains",
"type": "message_chain",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppepochin",
"type": "opp_epoch_in",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppepochout",
"type": "opp_epoch_out",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppforks",
"type": "opp_fork",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppforkvote",
"type": "opp_fork_vote",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppin",
"type": "opp_message_in",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "oppout",
"type": "opp_message_out",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "opschedule",
"type": "op_schedule",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "reserves",
"type": "reserve_balance",
"index_type": "i64",
"key_names": [],
"key_types": []
},
{
"name": "uwledger",
"type": "underwrite_entry",
"index_type": "i64",
"key_names": [],
"key_types": []
}
],
"ricardian_clauses": [],
"variants": [],
"action_results": []
}