1use int_enum::IntEnum;
2
3pub const SYS_EXIT: u64 = 93;
4pub const SYS_VM_VERSION: u64 = 2041;
5pub const SYS_CURRENT_CYCLES: u64 = 2042;
6pub const SYS_EXEC: u64 = 2043;
7pub const SYS_LOAD_TRANSACTION: u64 = 2051;
8pub const SYS_LOAD_SCRIPT: u64 = 2052;
9pub const SYS_LOAD_TX_HASH: u64 = 2061;
10pub const SYS_LOAD_SCRIPT_HASH: u64 = 2062;
11pub const SYS_LOAD_CELL: u64 = 2071;
12pub const SYS_LOAD_HEADER: u64 = 2072;
13pub const SYS_LOAD_INPUT: u64 = 2073;
14pub const SYS_LOAD_WITNESS: u64 = 2074;
15pub const SYS_LOAD_CELL_BY_FIELD: u64 = 2081;
16pub const SYS_LOAD_HEADER_BY_FIELD: u64 = 2082;
17pub const SYS_LOAD_INPUT_BY_FIELD: u64 = 2083;
18pub const SYS_LOAD_CELL_DATA_AS_CODE: u64 = 2091;
19pub const SYS_LOAD_CELL_DATA: u64 = 2092;
20pub const SYS_DEBUG: u64 = 2177;
21pub const SYS_SPAWN: u64 = 2601;
22pub const SYS_WAIT: u64 = 2602;
23pub const SYS_PROCESS_ID: u64 = 2603;
24pub const SYS_PIPE: u64 = 2604;
25pub const SYS_WRITE: u64 = 2605;
26pub const SYS_READ: u64 = 2606;
27pub const SYS_INHERITED_FDS: u64 = 2607;
28pub const SYS_CLOSE: u64 = 2608;
29pub const SYS_LOAD_BLOCK_EXTENSION: u64 = 2104;
30
31pub const CKB_SUCCESS: u64 = 0;
32#[derive(Eq, PartialEq, Debug, Clone, Copy, IntEnum)]
33#[repr(u64)]
34pub enum Source {
35 Input = 1,
36 Output = 2,
37 CellDep = 3,
38 HeaderDep = 4,
39 GroupInput = 0x0100000000000001,
40 GroupOutput = 0x0100000000000002,
41}
42
43#[derive(Eq, PartialEq, Debug, Clone, Copy, IntEnum)]
44#[repr(u64)]
45pub enum CellField {
46 Capacity = 0,
47 DataHash = 1,
48 Lock = 2,
49 LockHash = 3,
50 Type = 4,
51 TypeHash = 5,
52 OccupiedCapacity = 6,
53}
54
55#[derive(Eq, PartialEq, Debug, Clone, Copy, IntEnum)]
56#[repr(u64)]
57pub enum HeaderField {
58 EpochNumber = 0,
59 EpochStartBlockNumber = 1,
60 EpochLength = 2,
61}
62
63#[derive(Eq, PartialEq, Debug, Clone, Copy, IntEnum)]
64#[repr(u64)]
65pub enum InputField {
66 OutPoint = 0,
67 Since = 1,
68}