ore_api/
instruction.rs

1use steel::*;
2
3#[repr(u8)]
4#[derive(Clone, Copy, Debug, Eq, PartialEq, TryFromPrimitive)]
5pub enum OreInstruction {
6    // User
7    Claim = 0,
8    Close = 1,
9    Mine = 2,
10    Open = 3,
11    Reset = 4,
12    #[deprecated(since = "2.4.0", note = "Please stake with the boost program")]
13    Stake = 5,
14    Update = 6,
15    #[deprecated(since = "2.6.0", note = "v1 tokens are no longer eligable to upgrade")]
16    Upgrade = 7,
17
18    // Admin
19    Initialize = 100,
20}
21
22#[repr(C)]
23#[derive(Clone, Copy, Debug, Pod, Zeroable)]
24pub struct Claim {
25    pub amount: [u8; 8],
26}
27
28#[repr(C)]
29#[derive(Clone, Copy, Debug, Pod, Zeroable)]
30pub struct Close {}
31
32#[repr(C)]
33#[derive(Clone, Copy, Debug, Pod, Zeroable)]
34pub struct Mine {
35    pub digest: [u8; 16],
36    pub nonce: [u8; 8],
37}
38
39#[repr(C)]
40#[derive(Clone, Copy, Debug, Pod, Zeroable)]
41pub struct Open {
42    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
43    pub bump: u8,
44}
45
46#[repr(C)]
47#[derive(Clone, Copy, Debug, Pod, Zeroable)]
48pub struct Reset {}
49
50#[deprecated(since = "2.4.0", note = "Please stake with the boost program")]
51#[repr(C)]
52#[derive(Clone, Copy, Debug, Pod, Zeroable)]
53pub struct Stake {
54    pub amount: [u8; 8],
55}
56
57#[repr(C)]
58#[derive(Clone, Copy, Debug, Pod, Zeroable)]
59pub struct Update {}
60
61#[deprecated(since = "2.6.0", note = "v1 tokens are no longer eligable to upgrade")]
62#[repr(C)]
63#[derive(Clone, Copy, Debug, Pod, Zeroable)]
64pub struct Upgrade {
65    pub amount: [u8; 8],
66}
67
68#[repr(C)]
69#[derive(Clone, Copy, Debug, Pod, Zeroable)]
70pub struct Initialize {
71    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
72    pub bus_0_bump: u8,
73    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
74    pub bus_1_bump: u8,
75    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
76    pub bus_2_bump: u8,
77    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
78    pub bus_3_bump: u8,
79    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
80    pub bus_4_bump: u8,
81    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
82    pub bus_5_bump: u8,
83    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
84    pub bus_6_bump: u8,
85    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
86    pub bus_7_bump: u8,
87    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
88    pub config_bump: u8,
89    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
90    pub metadata_bump: u8,
91    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
92    pub mint_bump: u8,
93    #[deprecated(since = "2.5.0", note = "Bump no longer used")]
94    pub treasury_bump: u8,
95}
96
97instruction!(OreInstruction, Claim);
98instruction!(OreInstruction, Close);
99instruction!(OreInstruction, Mine);
100instruction!(OreInstruction, Open);
101instruction!(OreInstruction, Reset);
102instruction!(OreInstruction, Stake);
103instruction!(OreInstruction, Update);
104instruction!(OreInstruction, Upgrade);
105instruction!(OreInstruction, Initialize);