Skip to content

Commit

Permalink
Revert "Feat/632 hip 109 (#634)"
Browse files Browse the repository at this point in the history
This reverts commit 10bbfcd.
  • Loading branch information
ChewingGlass committed Jun 18, 2024
1 parent adb6328 commit 40b0292
Show file tree
Hide file tree
Showing 12 changed files with 27 additions and 89 deletions.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

9 changes: 3 additions & 6 deletions packages/helium-admin-cli/src/update-boost-config.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,10 +6,7 @@ import Squads from "@sqds/sdk";
import os from "os";
import yargs from "yargs/yargs";
import { loadKeypair, sendInstructionsOrSquads } from "./utils";
import {
init as initHsd,
subDaoKey,
} from "@helium/helium-sub-daos-sdk";
import { init as initHsd, subDaoKey } from "@helium/helium-sub-daos-sdk";

export async function run(args: any = process.argv) {
const yarg = yargs(args).options({
Expand Down Expand Up @@ -74,8 +71,8 @@ export async function run(args: any = process.argv) {
const instructions: TransactionInstruction[] = [];

const dntMint = new PublicKey(argv.dntMint);
const subDaoK = subDaoKey(dntMint)[0]
const subDao = await hsdProgram.account.subDaoV0.fetch(subDaoK)
const subDaoK = subDaoKey(dntMint)[0];
const subDao = await hsdProgram.account.subDaoV0.fetch(subDaoK);

instructions.push(
await program.methods
Expand Down
17 changes: 1 addition & 16 deletions packages/hexboosting-sdk/src/pdas.ts
Original file line number Diff line number Diff line change
Expand Up @@ -2,30 +2,15 @@ import { PublicKey } from "@solana/web3.js";
import { PROGRAM_ID } from "./constants";
import BN from "bn.js";

enum DeviceType {
cbrsIndoor,
cbrsOutdoor,
wifiIndoor,
wifiOutdoor,
}

export function boostedHexKey(
boostConfig: PublicKey,
deviceType: any,
location: BN,
programId: PublicKey = PROGRAM_ID
) {
const locBuffer = Buffer.alloc(8);
locBuffer.writeBigUint64LE(BigInt(location.toString()));
const deviceTypeName = Object.keys(deviceType)[0];
let deviceTypeValue = DeviceType[deviceTypeName];
return PublicKey.findProgramAddressSync(
[
Buffer.from("boosted_hex", "utf-8"),
boostConfig.toBuffer(),
Buffer.from([deviceTypeValue]),
locBuffer,
],
[Buffer.from("boosted_hex", "utf-8"), boostConfig.toBuffer(), locBuffer],
programId
);
}
Expand Down
10 changes: 1 addition & 9 deletions packages/hexboosting-sdk/src/resolvers.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6,21 +6,13 @@ import {
} from "@helium/anchor-resolvers";
import { subDaoKey } from "@helium/helium-sub-daos-sdk";
import { PublicKey } from "@solana/web3.js";
import { boostedHexKey } from "./pdas";

export const hexboostingResolvers = combineResolvers(
heliumCommonResolver,
resolveIndividual(async ({ path, accounts, args }) => {
resolveIndividual(async ({ path, accounts }) => {
if (path[path.length - 1] === "subDao" && accounts.dntMint) {
return subDaoKey(accounts.dntMint as PublicKey)[0];
}
if (path[path.length - 1] === "boostedHex" && accounts.boostConfig && args[0].deviceType && args[0].location) {
return boostedHexKey(
accounts.boostConfig as PublicKey,
args[0].deviceType,
args[0].location
)[0]
}
}),
ataResolver({
instruction: "boostV0",
Expand Down
2 changes: 1 addition & 1 deletion programs/hexboosting/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "hexboosting"
version = "0.1.0"
version = "0.0.6"
description = "Created with Anchor"
edition = "2021"

Expand Down
13 changes: 5 additions & 8 deletions programs/hexboosting/src/instructions/boost_v0.rs
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
use crate::{error::ErrorCode, DeviceTypeV0};
use crate::error::ErrorCode;
use anchor_lang::prelude::*;
use anchor_spl::{
associated_token::AssociatedToken,
Expand All @@ -8,7 +8,7 @@ use mobile_entity_manager::CarrierV0;
use pyth_solana_receiver_sdk::price_update::PriceUpdateV2;
use shared_utils::resize_to_fit;

use crate::{BoostConfigV0, BoostedHexV1};
use crate::{BoostConfigV0, BoostedHexV0};

pub const TESTING: bool = std::option_env!("TESTING").is_some();

Expand All @@ -20,7 +20,6 @@ pub struct BoostArgsV0 {
// invalid
pub version: u32,
pub amounts: Vec<BoostAmountV0>,
pub device_type: DeviceTypeV0,
}

#[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)]
Expand All @@ -31,7 +30,7 @@ pub struct BoostAmountV0 {

fn get_space(boosted_hex: &AccountInfo) -> usize {
if boosted_hex.data_len() == 0 {
8 + 60 + std::mem::size_of::<BoostedHexV1>()
8 + 60 + std::mem::size_of::<BoostedHexV0>()
} else {
boosted_hex.data_len()
}
Expand Down Expand Up @@ -69,11 +68,11 @@ pub struct BoostV0<'info> {
init_if_needed,
payer = payer,
space = get_space(boosted_hex),
seeds = [b"boosted_hex", boost_config.key().as_ref(), &[(args.device_type as u8)], &args.location.to_le_bytes()],
seeds = [b"boosted_hex", boost_config.key().as_ref(), &args.location.to_le_bytes()],
bump,
constraint = boosted_hex.version == args.version @ ErrorCode::InvalidVersion,
)]
pub boosted_hex: Box<Account<'info, BoostedHexV1>>,
pub boosted_hex: Box<Account<'info, BoostedHexV0>>,
pub system_program: Program<'info, System>,
pub token_program: Program<'info, Token>,
pub associated_token_program: Program<'info, AssociatedToken>,
Expand All @@ -87,7 +86,6 @@ pub fn handler(ctx: Context<BoostV0>, args: BoostArgsV0) -> Result<()> {
ctx.accounts.boosted_hex.location = args.location;
ctx.accounts.boosted_hex.bump_seed = ctx.bumps["boosted_hex"];
ctx.accounts.boosted_hex.version += 1;
ctx.accounts.boosted_hex.device_type = args.device_type;

// Insert the new periods
let max_period = args
Expand All @@ -103,7 +101,6 @@ pub fn handler(ctx: Context<BoostV0>, args: BoostArgsV0) -> Result<()> {
.boosts_by_period
.resize(max_period + 1, 0);
}

let now = Clock::get()?.unix_timestamp;

for amount in args.amounts.clone() {
Expand Down
4 changes: 2 additions & 2 deletions programs/hexboosting/src/instructions/close_boost_v0.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use anchor_lang::prelude::*;

use crate::{BoostConfigV0, BoostedHexV1};
use crate::{BoostConfigV0, BoostedHexV0};

#[derive(Accounts)]
pub struct CloseBoostV0<'info> {
Expand All @@ -15,7 +15,7 @@ pub struct CloseBoostV0<'info> {
constraint = boosted_hex.is_expired(&boost_config),
has_one = boost_config
)]
pub boosted_hex: Box<Account<'info, BoostedHexV1>>,
pub boosted_hex: Box<Account<'info, BoostedHexV0>>,
}

pub fn handler(_ctx: Context<CloseBoostV0>) -> Result<()> {
Expand Down
4 changes: 2 additions & 2 deletions programs/hexboosting/src/instructions/start_boost_v0.rs
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
use anchor_lang::prelude::*;

use crate::{BoostConfigV0, BoostedHexV1};
use crate::{BoostConfigV0, BoostedHexV0};

#[derive(AnchorSerialize, AnchorDeserialize, Clone, Default)]
pub struct StartBoostArgsV0 {
Expand All @@ -18,7 +18,7 @@ pub struct StartBoostV0<'info> {
mut,
has_one = boost_config,
)]
pub boosted_hex: Box<Account<'info, BoostedHexV1>>,
pub boosted_hex: Box<Account<'info, BoostedHexV0>>,
}

pub fn handler(ctx: Context<StartBoostV0>, args: StartBoostArgsV0) -> Result<()> {
Expand Down
26 changes: 1 addition & 25 deletions programs/hexboosting/src/state.rs
Original file line number Diff line number Diff line change
Expand Up @@ -20,15 +20,6 @@ pub struct BoostConfigV0 {
pub start_authority: Pubkey,
}

#[derive(AnchorSerialize, AnchorDeserialize, Clone, Copy, Default, PartialEq)]
pub enum DeviceTypeV0 {
#[default]
CbrsIndoor = 0,
CbrsOutdoor = 1,
WifiIndoor = 2,
WifiOutdoor = 3,
}

#[account]
pub struct BoostedHexV0 {
pub boost_config: Pubkey,
Expand All @@ -45,22 +36,7 @@ pub struct BoostedHexV0 {
pub version: u32,
}

#[account]
pub struct BoostedHexV1 {
pub device_type: DeviceTypeV0,
pub boost_config: Pubkey,
// Track changes to the boosted hex so client can pass what version it made a change to
pub version: u32,
pub location: u64,
// 0 if the boosting has not yet started. Avoding using an option here to keep serialization length
// consistent
pub start_ts: i64,
pub bump_seed: u8,
/// Each entry represents the boost multiplier for a given period
pub boosts_by_period: Vec<u8>,
}

impl BoostedHexV1 {
impl BoostedHexV0 {
pub fn is_expired(&self, boost_config: &BoostConfigV0) -> bool {
if self.start_ts == 0 {
false
Expand Down
26 changes: 9 additions & 17 deletions tests/hexboosting.ts
Original file line number Diff line number Diff line change
Expand Up @@ -207,9 +207,11 @@ describe("hexboosting", () => {
const price = await pythProgram.account.priceUpdateV2.fetch(
new PublicKey("DQ4C1tzvu28cwo1roN1Wm6TW35sfJEjLh517k3ZeWevx")
);
pythPrice = price.priceMessage.emaPrice.sub(
price.priceMessage.emaConf.mul(new BN(2))
).toNumber() * 10 ** price.priceMessage.exponent;
pythPrice =
price.priceMessage.emaPrice
.sub(price.priceMessage.emaConf.mul(new BN(2)))
.toNumber() *
10 ** price.priceMessage.exponent;
console.log(pythPrice);
});

Expand Down Expand Up @@ -254,7 +256,6 @@ describe("hexboosting", () => {
.boostV0({
location: new BN(1),
version: 0,
deviceType: { wifiIndoor: {} },
amounts: [
{
period: 0,
Expand Down Expand Up @@ -303,9 +304,8 @@ describe("hexboosting", () => {
expected
);

const hex = await program.account.boostedHexV1.fetch(boostedHex!);
const hex = await program.account.boostedHexV0.fetch(boostedHex!);

expect(Object.keys(hex.deviceType)[0]).to.eq("wifiIndoor");
expect(hex.location.toNumber()).to.eq(1);
expect(hex.startTs.toNumber()).to.eq(0);
expect(hex.boostsByPeriod.toJSON().data).to.deep.eq([1, 1, 1, 1, 1, 1]);
Expand All @@ -317,7 +317,6 @@ describe("hexboosting", () => {
.boostV0({
location: new BN(1),
version: 0,
deviceType: { wifiIndoor: {} },
amounts: [
{
period: 0,
Expand Down Expand Up @@ -365,7 +364,6 @@ describe("hexboosting", () => {
.boostV0({
location: new BN(1),
version: 1,
deviceType: { wifiIndoor: {} },
amounts: [
{
period: 2,
Expand Down Expand Up @@ -397,19 +395,15 @@ describe("hexboosting", () => {
Number(expected)
);

const hex = await program.account.boostedHexV1.fetch(boostedHex!);
const hex = await program.account.boostedHexV0.fetch(boostedHex!);

expect(hex.boostsByPeriod.toJSON().data).to.deep.eq([
1, 1, 2, 1, 1, 1, 2,
]);
});

it("allows starting a boost", async () => {
const boostedHex = boostedHexKey(
boostConfigKey(mint)[0],
{ wifiIndoor: {} },
new BN(1)
)[0];
const boostedHex = boostedHexKey(boostConfigKey(mint)[0], new BN(1))[0];
await program.methods
.startBoostV0({
startTs: new BN(1),
Expand All @@ -418,7 +412,7 @@ describe("hexboosting", () => {
boostedHex,
})
.rpc({ skipPreflight: true });
const acc = await program.account.boostedHexV1.fetch(boostedHex!);
const acc = await program.account.boostedHexV0.fetch(boostedHex!);
expect(acc.startTs.toNumber()).to.not.eq(0);
});

Expand All @@ -431,7 +425,6 @@ describe("hexboosting", () => {
beforeEach(async () => {
const boostedHex = boostedHexKey(
boostConfigKey(mint)[0],
{ wifiIndoor: {} },
new BN(1)
)[0];
await program.methods
Expand All @@ -447,7 +440,6 @@ describe("hexboosting", () => {
it("allows closing the boost when it's done", async () => {
const boostedHex = boostedHexKey(
boostConfigKey(mint)[0],
{ wifiIndoor: {} },
new BN(1)
)[0];
// Wait 7 seconds so it is fully expired
Expand Down
2 changes: 1 addition & 1 deletion utils/bulk-claim-rewards/Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

1 change: 0 additions & 1 deletion utils/bulk-claim-rewards/src/claim_rewards.rs
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ use solana_sdk::signature::Keypair;
use solana_sdk::{signer::Signer, transaction::Transaction};
use spl_associated_token_account::get_associated_token_address;
use std::ops::Deref;
use std::rc::Rc;
use std::str::FromStr;
use tokio::runtime::Runtime;

Expand Down

0 comments on commit 40b0292

Please sign in to comment.