From adc8292fb55bf17f159a78bff501a4ebd302de62 Mon Sep 17 00:00:00 2001 From: Hardhat Chad Date: Sat, 17 Feb 2024 17:00:06 +0000 Subject: [PATCH] shank account --- idl/ore.json | 82 +++++++++++++++++++++++++++++++++++++++++++ src/state/bus.rs | 3 +- src/state/proof.rs | 3 +- src/state/treasury.rs | 3 +- 4 files changed, 88 insertions(+), 3 deletions(-) diff --git a/idl/ore.json b/idl/ore.json index de6aaf2..2157a96 100644 --- a/idl/ore.json +++ b/idl/ore.json @@ -497,6 +497,88 @@ } } ], + "accounts": [ + { + "name": "Bus", + "type": { + "kind": "struct", + "fields": [ + { + "name": "id", + "type": "u64" + }, + { + "name": "rewards", + "type": "u64" + } + ] + } + }, + { + "name": "Proof", + "type": { + "kind": "struct", + "fields": [ + { + "name": "authority", + "type": "publicKey" + }, + { + "name": "claimableRewards", + "type": "u64" + }, + { + "name": "hash", + "type": { + "defined": "Hash" + } + }, + { + "name": "totalHashes", + "type": "u64" + }, + { + "name": "totalRewards", + "type": "u64" + } + ] + } + }, + { + "name": "Treasury", + "type": { + "kind": "struct", + "fields": [ + { + "name": "admin", + "type": "publicKey" + }, + { + "name": "bump", + "type": "u64" + }, + { + "name": "difficulty", + "type": { + "defined": "Hash" + } + }, + { + "name": "epochStartAt", + "type": "i64" + }, + { + "name": "rewardRate", + "type": "u64" + }, + { + "name": "totalClaimedRewards", + "type": "u64" + } + ] + } + } + ], "errors": [ { "code": 0, diff --git a/src/state/bus.rs b/src/state/bus.rs index 4f826a7..5e4f5fa 100644 --- a/src/state/bus.rs +++ b/src/state/bus.rs @@ -1,4 +1,5 @@ use bytemuck::{Pod, Zeroable}; +use shank::ShankAccount; use crate::{ impl_account_from_bytes, impl_to_bytes, @@ -6,7 +7,7 @@ use crate::{ }; #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] pub struct Bus { /// The ID of the bus account. pub id: u64, diff --git a/src/state/proof.rs b/src/state/proof.rs index deef0b5..746cfe6 100644 --- a/src/state/proof.rs +++ b/src/state/proof.rs @@ -1,4 +1,5 @@ use bytemuck::{Pod, Zeroable}; +use shank::ShankAccount; use solana_program::pubkey::Pubkey; use crate::{ @@ -8,7 +9,7 @@ use crate::{ }; #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] pub struct Proof { /// The account (i.e. miner) authorized to use this proof. pub authority: Pubkey, diff --git a/src/state/treasury.rs b/src/state/treasury.rs index c42d28c..e0f26c6 100644 --- a/src/state/treasury.rs +++ b/src/state/treasury.rs @@ -1,4 +1,5 @@ use bytemuck::{Pod, Zeroable}; +use shank::ShankAccount; use solana_program::pubkey::Pubkey; use crate::{ @@ -8,7 +9,7 @@ use crate::{ }; #[repr(C)] -#[derive(Clone, Copy, Debug, PartialEq, Pod, Zeroable)] +#[derive(Clone, Copy, Debug, PartialEq, Pod, ShankAccount, Zeroable)] pub struct Treasury { /// The admin authority with permission to update the difficulty. pub admin: Pubkey,