From 8cf488edb24be2c75e906029ee66ac88a81929d0 Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Mon, 29 Jul 2024 04:58:29 +0000 Subject: [PATCH] remove shank --- Cargo.lock | 47 --------------------- Cargo.toml | 1 - api/Cargo.toml | 1 - api/src/instruction.rs | 89 +-------------------------------------- api/src/state/bus.rs | 3 +- api/src/state/config.rs | 3 +- api/src/state/proof.rs | 3 +- api/src/state/treasury.rs | 3 +- 8 files changed, 6 insertions(+), 144 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index f4d3deb..704f64a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1296,7 +1296,6 @@ dependencies = [ "mpl-token-metadata", "num_enum", "ore-utils", - "shank", "solana-program", "spl-associated-token-account", "spl-token", @@ -1770,52 +1769,6 @@ dependencies = [ "keccak", ] -[[package]] -name = "shank" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "57c9395612d493b69a522725eef78a095f199d43eeb847f4a4b77ec0cacab535" -dependencies = [ - "shank_macro", -] - -[[package]] -name = "shank_macro" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8abef069c02e15f62233679b1e71f3152fac10f90b3ff89ebbad6a25b7497754" -dependencies = [ - "proc-macro2", - "quote", - "shank_macro_impl", - "shank_render", - "syn 1.0.109", -] - -[[package]] -name = "shank_macro_impl" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "64d3d92bfcc6e08f882f2264d774d1a2f46dc36122adc1b76416ba6405a29a9c" -dependencies = [ - "anyhow", - "proc-macro2", - "quote", - "serde", - "syn 1.0.109", -] - -[[package]] -name = "shank_render" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5a2ea9c6dd95ea311b3b81e63cf4e9c808ed04b098819e6d2c4b1a467d587203" -dependencies = [ - "proc-macro2", - "quote", - "shank_macro_impl", -] - [[package]] name = "signature" version = "1.6.4" diff --git a/Cargo.toml b/Cargo.toml index 95b762e..19933db 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -21,7 +21,6 @@ mpl-token-metadata = "4.1.2" num_enum = "0.7.2" ore-api = { path = "api", version = "2.0.0-beta.3" } ore-utils = { path = "utils", version = "2.0.0-beta.3", features = ["spl"] } -shank = "0.3.0" solana-program = "^1.18" spl-token = { version = "^4", features = ["no-entrypoint"] } spl-associated-token-account = { version = "^2.3", features = [ "no-entrypoint" ] } diff --git a/api/Cargo.toml b/api/Cargo.toml index cc90bb1..aad2498 100644 --- a/api/Cargo.toml +++ b/api/Cargo.toml @@ -17,7 +17,6 @@ drillx.workspace = true mpl-token-metadata.workspace = true num_enum.workspace = true ore-utils.workspace = true -shank.workspace = true solana-program.workspace = true spl-token.workspace = true spl-associated-token-account.workspace = true diff --git a/api/src/instruction.rs b/api/src/instruction.rs index ff4f5fa..be6a60e 100644 --- a/api/src/instruction.rs +++ b/api/src/instruction.rs @@ -1,7 +1,6 @@ use bytemuck::{Pod, Zeroable}; use drillx::Solution; use num_enum::TryFromPrimitive; -use shank::ShankInstruction; use solana_program::{ instruction::{AccountMeta, Instruction}, pubkey::Pubkey, @@ -14,102 +13,18 @@ use crate::{ }; #[repr(u8)] -#[derive(Clone, Copy, Debug, Eq, PartialEq, ShankInstruction, TryFromPrimitive)] +#[derive(Clone, Copy, Debug, Eq, PartialEq, TryFromPrimitive)] #[rustfmt::skip] pub enum OreInstruction { - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "beneficiary", desc = "Beneficiary token account", writable)] - #[account(3, name = "proof", desc = "Ore proof account", writable)] - #[account(4, name = "treasury", desc = "Ore treasury account", writable)] - #[account(5, name = "treasury_tokens", desc = "Ore treasury token account", writable)] - #[account(6, name = "token_program", desc = "SPL token program")] Claim = 0, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "proof", desc = "Ore proof account", writable)] - #[account(3, name = "system_program", desc = "Solana system program")] Close = 1, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "bus", desc = "Ore bus account", writable)] - #[account(3, name = "config", desc = "Ore config account")] - #[account(4, name = "noise", desc = "Ore noise account")] - #[account(5, name = "proof", desc = "Ore proof account", writable)] - #[account(6, name = "slot_hashes", desc = "Solana slot hashes sysvar")] Mine = 2, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "miner", desc = "Address to be initialized as the miner")] - #[account(3, name = "payer", desc = "Account to pay for account creation", writable, signer)] - #[account(4, name = "proof", desc = "Ore proof account", writable)] - #[account(5, name = "system_program", desc = "Solana system program")] - #[account(6, name = "slot_hashes", desc = "Solana slot hashes sysvar")] Open = 3, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "bus_0", desc = "Ore bus account 0", writable)] - #[account(3, name = "bus_1", desc = "Ore bus account 1", writable)] - #[account(4, name = "bus_2", desc = "Ore bus account 2", writable)] - #[account(5, name = "bus_3", desc = "Ore bus account 3", writable)] - #[account(6, name = "bus_4", desc = "Ore bus account 4", writable)] - #[account(7, name = "bus_5", desc = "Ore bus account 5", writable)] - #[account(8, name = "bus_6", desc = "Ore bus account 6", writable)] - #[account(9, name = "bus_7", desc = "Ore bus account 7", writable)] - #[account(10, name = "config", desc = "Ore config account")] - #[account(11, name = "mint", desc = "Ore token mint account", writable)] - #[account(12, name = "treasury", desc = "Ore treasury account", writable)] - #[account(13, name = "treasury_tokens", desc = "Ore treasury token account", writable)] - #[account(14, name = "token_program", desc = "SPL token program")] Reset = 4, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "proof", desc = "Ore proof account", writable)] - #[account(3, name = "sender", desc = "Signer token account", writable)] - #[account(4, name = "treasury_tokens", desc = "Ore treasury token account", writable)] - #[account(5, name = "token_program", desc = "SPL token program")] Stake = 5, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "proof", desc = "Ore proof account", writable)] Update = 6, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Signer", signer)] - #[account(2, name = "beneficiary", desc = "Beneficiary token account", writable)] - #[account(3, name = "sender", desc = "Signer token account", writable)] - #[account(4, name = "treasury", desc = "Ore treasury account", writable)] - #[account(5, name = "mint", desc = "Ore token mint account", writable)] - #[account(6, name = "mint_v1", desc = "Ore v1 token mint account", writable)] - #[account(7, name = "token_program", desc = "SPL token program")] Upgrade = 7, - - #[account(0, name = "ore_program", desc = "Ore program")] - #[account(1, name = "signer", desc = "Admin signer", signer)] - #[account(2, name = "bus_0", desc = "Ore bus account 0", writable)] - #[account(3, name = "bus_1", desc = "Ore bus account 1", writable)] - #[account(4, name = "bus_2", desc = "Ore bus account 2", writable)] - #[account(5, name = "bus_3", desc = "Ore bus account 3", writable)] - #[account(6, name = "bus_4", desc = "Ore bus account 4", writable)] - #[account(7, name = "bus_5", desc = "Ore bus account 5", writable)] - #[account(8, name = "bus_6", desc = "Ore bus account 6", writable)] - #[account(9, name = "bus_7", desc = "Ore bus account 7", writable)] - #[account(10, name = "metadata", desc = "Ore mint metadata account", writable)] - #[account(11, name = "mint", desc = "Ore mint account", writable)] - #[account(12, name = "noise", desc = "Ore noise account", writable)] - #[account(13, name = "treasury", desc = "Ore treasury account", writable)] - #[account(14, name = "treasury_tokens", desc = "Ore treasury token account", writable)] - #[account(15, name = "system_program", desc = "Solana system program")] - #[account(16, name = "token_program", desc = "SPL token program")] - #[account(17, name = "associated_token_program", desc = "SPL associated token program")] - #[account(18, name = "mpl_metadata_program", desc = "Metaplex metadata program")] - #[account(19, name = "rent", desc = "Solana rent sysvar")] + Initialize = 100, } diff --git a/api/src/state/bus.rs b/api/src/state/bus.rs index 113b7dd..f8bc481 100644 --- a/api/src/state/bus.rs +++ b/api/src/state/bus.rs @@ -1,5 +1,4 @@ use bytemuck::{Pod, Zeroable}; -use shank::ShankAccount; use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator}; @@ -8,7 +7,7 @@ use super::AccountDiscriminator; /// Bus accounts are responsible for distributing mining rewards. /// There are 8 busses total to minimize write-lock contention and allow for parallel mine operations. #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] pub struct Bus { /// The ID of the bus account. pub id: u64, diff --git a/api/src/state/config.rs b/api/src/state/config.rs index d6fd073..a741788 100644 --- a/api/src/state/config.rs +++ b/api/src/state/config.rs @@ -1,5 +1,4 @@ use bytemuck::{Pod, Zeroable}; -use shank::ShankAccount; use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator}; @@ -7,7 +6,7 @@ use super::AccountDiscriminator; /// Config is a singleton account which manages admin configurable variables. #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] pub struct Config { /// The base reward rate paid out for a hash of minimum difficulty. pub base_reward_rate: u64, diff --git a/api/src/state/proof.rs b/api/src/state/proof.rs index 83e9dd5..c876c13 100644 --- a/api/src/state/proof.rs +++ b/api/src/state/proof.rs @@ -1,5 +1,4 @@ use bytemuck::{Pod, Zeroable}; -use shank::ShankAccount; use solana_program::pubkey::Pubkey; use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator}; @@ -9,7 +8,7 @@ use super::AccountDiscriminator; /// Proof accounts track a miner's current hash, claimable rewards, and lifetime stats. /// Every miner is allowed one proof account which is required by the program to mine or claim rewards. #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] pub struct Proof { /// The signer authorized to use this proof. pub authority: Pubkey, diff --git a/api/src/state/treasury.rs b/api/src/state/treasury.rs index 5b78b6c..16a0f60 100644 --- a/api/src/state/treasury.rs +++ b/api/src/state/treasury.rs @@ -1,5 +1,4 @@ use bytemuck::{Pod, Zeroable}; -use shank::ShankAccount; use crate::utils::{impl_account_from_bytes, impl_to_bytes, Discriminator}; @@ -8,7 +7,7 @@ use super::AccountDiscriminator; /// Treasury is a singleton account which manages all program wide variables. /// It is the mint authority for the Ore token and also the authority of the program-owned token account. #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] pub struct Treasury {} impl Discriminator for Treasury {