From 5191fd39b65e22d3060f910d23fa8c448a1d5317 Mon Sep 17 00:00:00 2001 From: dankelleher Date: Sun, 25 Aug 2024 09:19:56 +0200 Subject: [PATCH 1/3] Fix scripts not working with existing client --- Cargo.toml | 3 ++- packages/client/src/index.ts | 10 +++++++++- packages/client/src/util.ts | 5 +++++ packages/scripts/recoverTickets.ts | 10 +++++----- packages/scripts/resizeState.ts | 11 ++++------- packages/scripts/token/updateGSolMetadata.ts | 12 ++++++------ packages/scripts/util.ts | 3 +++ packages/scripts/withdraw.ts | 6 +++--- .../sunrise-stake/src/sunrise_spl/withdraw_stake.rs | 2 +- 9 files changed, 38 insertions(+), 24 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 82c5a9b4..3f15b53a 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -2,6 +2,7 @@ members = [ "programs/*" ] +resolver = "2" [profile.release] overflow-checks = true @@ -15,4 +16,4 @@ codegen-units = 1 [workspace.metadata.dylint] libraries = [ { git = "https://github.com/crytic/solana-lints", pattern = "lints/*" }, -] \ No newline at end of file +] diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 9d92c264..333bdf9c 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -555,6 +555,8 @@ export class SunriseStakeClient { epochReport.tickets.toNumber() ); + console.log("Previous epoch tickets: ", previousEpochTickets.length); + const previousEpochTicketAccountMetas = previousEpochTickets.map( (ticket) => ({ pubkey: ticket, @@ -563,6 +565,11 @@ export class SunriseStakeClient { }) ); + if (previousEpochTickets.length === 0) { + this.log("No tickets to recover"); + return null; + } + type Accounts = Parameters< ReturnType["accounts"] >[0]; @@ -627,6 +634,8 @@ export class SunriseStakeClient { const { address: epochReportAccountAddress, account: epochReport } = await getEpochReportAccount(this.config, this.program); + console.log("Epoch report account: ", epochReportAccountAddress.toString()); + if (!epochReport) { // no epoch report account found at all - something went wrong throw new Error("No epoch report account found during recoverTickets"); @@ -758,7 +767,6 @@ export class SunriseStakeClient { "Extractable Yield": `${toSol(details.extractableYield)}`, "Epoch Report Epoch": `${details.epochReport.epoch.toNumber()}`, "Current Epoch": `${details.currentEpoch.epoch}`, - "Epoch Report Tickets": `${details.epochReport.tickets.toNumber()}`, }; Object.keys(report).forEach((key) => { diff --git a/packages/client/src/util.ts b/packages/client/src/util.ts index 21fce06d..39656bb0 100644 --- a/packages/client/src/util.ts +++ b/packages/client/src/util.ts @@ -269,6 +269,11 @@ export const findAllTickets = async ( tickets.push(orderUnstakeTicketAccount); } + // Uncomment to inject one not found by the above script + // tickets.push(new PublicKey("...")); + console.log("found tickets", tickets.map((t) => t.toBase58()).join(", ")); + console.log("expected count", expectedCount); + // get the actual accounts (in case they have been closed somehow in the meantime) // TODO Later add pagination here in case the count is too high for one call const accountInfos = await connection.getMultipleAccountsInfo(tickets); diff --git a/packages/scripts/recoverTickets.ts b/packages/scripts/recoverTickets.ts index 101529c6..fbd0a0ce 100644 --- a/packages/scripts/recoverTickets.ts +++ b/packages/scripts/recoverTickets.ts @@ -18,9 +18,9 @@ import {Transaction} from "@solana/web3.js"; return; } - // const txSig = await client.sendAndConfirmTransaction( - // new Transaction().add(recoverIx) - // ); - // - // console.log("Action complete:", txSig) + const txSig = await client.sendAndConfirmTransaction( + new Transaction().add(recoverIx) + ); + + console.log("Action complete:", txSig) })().catch(console.error); diff --git a/packages/scripts/resizeState.ts b/packages/scripts/resizeState.ts index cc4726f1..5c82023a 100644 --- a/packages/scripts/resizeState.ts +++ b/packages/scripts/resizeState.ts @@ -2,12 +2,9 @@ import "./util"; import { AnchorProvider, Program } from "@coral-xyz/anchor"; import BN from "bn.js"; import { SystemProgram } from "@solana/web3.js"; -import { - IDL, - SunriseStake, -} from "@sunrisestake/app/src/lib/client/types/sunrise_stake"; -import { PROGRAM_ID } from "@sunrisestake/app/src/lib/client/util"; -import { SUNRISE_STAKE_STATE } from "@sunrisestake/app/src/lib/constants"; +import {IDL, SunriseStake} from "@sunrisestake/client"; +import {PROGRAM_ID} from "../client/src/util.js"; +import { SUNRISE_STAKE_STATE } from "./util.js"; /** * USAGE (devnet) @@ -25,7 +22,7 @@ console.log("Resizing to", resizeAmount); await program.methods .resizeState(new BN(resizeAmount)) .accounts({ - state: SUNRISE_STAKE_STATE, + state: SUNRISE_STAKE_STATE.state, payer: provider.publicKey, updateAuthority: provider.publicKey, systemProgram: SystemProgram.programId, diff --git a/packages/scripts/token/updateGSolMetadata.ts b/packages/scripts/token/updateGSolMetadata.ts index 44fd1266..1a15bf94 100644 --- a/packages/scripts/token/updateGSolMetadata.ts +++ b/packages/scripts/token/updateGSolMetadata.ts @@ -1,23 +1,23 @@ /* eslint-disable @typescript-eslint/no-non-null-assertion */ import "../util"; -import { SunriseStakeClient } from "@sunrisestake/app/src/lib/client"; +import { SunriseStakeClient } from "../../client/src/index.js"; import { getMetadataAddress, metadata, provider, uploadMetadata } from "./util"; import { PROGRAM_ID as TOKEN_METADATA_PROGRAM_ID } from "@metaplex-foundation/mpl-token-metadata"; -import { findGSolMintAuthority } from "@sunrisestake/app/src/lib/client/util"; -import { SUNRISE_STAKE_STATE } from "@sunrisestake/app/src/lib/constants"; +import {findGSolMintAuthority} from "../../client/src/util"; +import {WalletAdapterNetwork} from "@solana/wallet-adapter-base"; console.log("Updating gSol metadata"); (async () => { const uri = await uploadMetadata(); - const client = await SunriseStakeClient.get(provider, SUNRISE_STAKE_STATE); + const client = await SunriseStakeClient.get(provider, process.env.REACT_APP_SOLANA_NETWORK as WalletAdapterNetwork|| 'devnet'); const [gsolMintAuthority] = findGSolMintAuthority(client.config!); console.log("gsol mint auth", gsolMintAuthority); const sunriseStakeState = await client.program.account.state.fetch( - client.stateAddress + client.config!.stateAddress ); const metadataAddress = getMetadataAddress(sunriseStakeState.gsolMint); @@ -25,7 +25,7 @@ console.log("Updating gSol metadata"); const transactionSignature = await client.program.methods .updateMetadata(uri, metadata.name, metadata.symbol) .accounts({ - state: client.stateAddress, + state: client.config!.stateAddress, marinadeState: client.marinade!.config.marinadeStateAddress, gsolMint: sunriseStakeState.gsolMint, gsolMintAuthority, diff --git a/packages/scripts/util.ts b/packages/scripts/util.ts index 8e482192..cef43673 100644 --- a/packages/scripts/util.ts +++ b/packages/scripts/util.ts @@ -1,6 +1,7 @@ import os from "os"; import {Cluster, clusterApiUrl, PublicKey} from "@solana/web3.js"; import {AnchorProvider} from "@coral-xyz/anchor"; +import {Environment} from "@sunrisestake/client"; export const idWallet = os.homedir() + "/.config/solana/id.json"; @@ -20,3 +21,5 @@ export const readOnlyProvider = (publicKey: PublicKey): AnchorProvider => { envProvider.opts, ); } + +export const SUNRISE_STAKE_STATE = Environment["mainnet-beta"]; diff --git a/packages/scripts/withdraw.ts b/packages/scripts/withdraw.ts index 1ee3932e..7c3e6634 100644 --- a/packages/scripts/withdraw.ts +++ b/packages/scripts/withdraw.ts @@ -1,13 +1,13 @@ -import { SunriseStakeClient } from "../app/src/lib/client/"; +import { SunriseStakeClient } from "../client/src/index.js"; import "./util"; import { AnchorProvider } from "@coral-xyz/anchor"; import BN from "bn.js"; -import { SUNRISE_STAKE_STATE } from "@sunrisestake/app/src/lib/constants"; +import {WalletAdapterNetwork} from "@solana/wallet-adapter-base"; (async () => { const provider = AnchorProvider.env(); - const client = await SunriseStakeClient.get(provider, SUNRISE_STAKE_STATE); + const client = await SunriseStakeClient.get(provider, process.env.REACT_APP_SOLANA_NETWORK as WalletAdapterNetwork|| 'devnet'); const txSig = await client.unstake(new BN(process.argv[2])); console.log("Withdraw tx sig: ", txSig); diff --git a/programs/sunrise-stake/src/sunrise_spl/withdraw_stake.rs b/programs/sunrise-stake/src/sunrise_spl/withdraw_stake.rs index 2aa2d8a8..ba70fc25 100644 --- a/programs/sunrise-stake/src/sunrise_spl/withdraw_stake.rs +++ b/programs/sunrise-stake/src/sunrise_spl/withdraw_stake.rs @@ -43,7 +43,7 @@ use spl_stake_pool::state::StakePool; /// 10. `[]` Sysvar clock account (required) /// 11. `[]` Pool token program id /// 12. `[]` Stake program id, -/// userdata: amount of pool tokens to withdraw +/// userdata: amount of pool tokens to withdraw #[derive(Accounts)] pub struct SplWithdrawStake<'info> { From 9b4a9d298cfcc7c992ae9139a56fbdbffbfbca14 Mon Sep 17 00:00:00 2001 From: dankelleher Date: Wed, 11 Sep 2024 10:26:13 +0200 Subject: [PATCH 2/3] Fix scripts not working with existing client --- .env.example | 2 + .github/workflows/build.yml | 1 - .gitignore | 2 + Cargo.lock | 1476 ++++++++++++----- packages/client/src/index.ts | 5 +- packages/client/src/util.ts | 15 +- packages/scripts/get.ts | 8 +- packages/scripts/util.ts | 22 + programs/sunrise-stake/Cargo.toml | 10 +- .../src/instructions/init_epoch_report.rs | 2 +- .../src/instructions/init_lock_account.rs | 2 +- .../src/instructions/lock_gsol.rs | 4 +- .../src/instructions/update_lock_account.rs | 2 +- programs/sunrise-stake/src/utils/metaplex.rs | 24 +- 14 files changed, 1144 insertions(+), 431 deletions(-) create mode 100644 .env.example diff --git a/.env.example b/.env.example new file mode 100644 index 00000000..d88d0a7d --- /dev/null +++ b/.env.example @@ -0,0 +1,2 @@ +ANCHOR_PROVIDER_URL= +ANCHOR_WALLET= \ No newline at end of file diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 9f3ee31c..9fdc14eb 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -133,7 +133,6 @@ jobs: - name: run tests run: | export PATH="/home/runner/.local/share/solana/install/active_release/bin:$PATH" - ls node_modules/.bin yarn test - uses: actions/upload-artifact@v3 diff --git a/.gitignore b/.gitignore index 42d16865..00e3570d 100644 --- a/.gitignore +++ b/.gitignore @@ -10,3 +10,5 @@ yarn-error.log* test-ledger dist/ + +.env diff --git a/Cargo.lock b/Cargo.lock index ed631cca..57de7269 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -18,7 +18,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9e8b47f52ea9bae42228d07ec09eb676433d7c4ed1ebdf0f1d1c29ed446f1ab8" dependencies = [ "cfg-if", - "cipher 0.3.0", + "cipher", "cpufeatures", "opaque-debug", ] @@ -31,7 +31,7 @@ checksum = "589c637f0e68c877bbd59a4599bbe849cac8e5f3e4b5a3ebae8f528cd218dcdc" dependencies = [ "aead", "aes", - "cipher 0.3.0", + "cipher", "ctr", "polyval", "subtle", @@ -40,13 +40,25 @@ dependencies = [ [[package]] name = "ahash" -version = "0.7.6" +version = "0.7.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "891477e0c6a8957309ee5c45a6368af3ae14bb510732d2684ffa19af310920f9" +dependencies = [ + "getrandom 0.2.15", + "once_cell", + "version_check", +] + +[[package]] +name = "ahash" +version = "0.8.11" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fcb51a0695d8f838b1ee009b3fbf66bda078cd64590202a864a8f3e8c4315c47" +checksum = "e89da841a80418a9b391ebaea17f5c112ffaaa96f621d2c285b5174da76b9011" dependencies = [ - "getrandom 0.2.8", + "cfg-if", "once_cell", "version_check", + "zerocopy", ] [[package]] @@ -60,120 +72,113 @@ dependencies = [ [[package]] name = "anchor-attribute-access-control" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319" +checksum = "47fe28365b33e8334dd70ae2f34a43892363012fe239cf37d2ee91693575b1f8" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", + "anchor-syn 0.30.1", "proc-macro2", "quote", - "regex", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-account" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29" +checksum = "3c288d496168268d198d9b53ee9f4f9d260a55ba4df9877ea1d4486ad6109e0f" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", - "bs58 0.4.0", + "anchor-syn 0.30.1", + "bs58 0.5.1", "proc-macro2", "quote", - "rustversion", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-constant" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28" +checksum = "49b77b6948d0eeaaa129ce79eea5bbbb9937375a9241d909ca8fb9e006bb6e90" dependencies = [ - "anchor-syn 0.26.0", - "proc-macro2", - "syn", + "anchor-syn 0.30.1", + "quote", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-error" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4" +checksum = "4d20bb569c5a557c86101b944721d865e1fd0a4c67c381d31a44a84f07f84828" dependencies = [ - "anchor-syn 0.26.0", - "proc-macro2", + "anchor-syn 0.30.1", "quote", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-attribute-event" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582" +checksum = "4cebd8d0671a3a9dc3160c48598d652c34c77de6be4d44345b8b514323284d57" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", + "anchor-syn 0.30.1", "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] -name = "anchor-attribute-interface" -version = "0.26.0" +name = "anchor-attribute-program" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480" +checksum = "efb2a5eb0860e661ab31aff7bb5e0288357b176380e985bade4ccb395981b42d" dependencies = [ - "anchor-syn 0.26.0", + "anchor-lang-idl", + "anchor-syn 0.30.1", "anyhow", + "bs58 0.5.1", "heck 0.3.3", "proc-macro2", "quote", - "syn", + "serde_json", + "syn 1.0.107", ] [[package]] -name = "anchor-attribute-program" -version = "0.26.0" +name = "anchor-derive-accounts" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712" +checksum = "04368b5abef4266250ca8d1d12f4dff860242681e4ec22b885dcfe354fd35aa1" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", - "proc-macro2", + "anchor-syn 0.30.1", "quote", - "syn", + "syn 1.0.107", ] [[package]] -name = "anchor-attribute-state" -version = "0.26.0" +name = "anchor-derive-serde" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116" +checksum = "e0bb0e0911ad4a70cab880cdd6287fe1e880a1a9d8e4e6defa8e9044b9796a6c" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", + "anchor-syn 0.30.1", + "borsh-derive-internal 0.10.3", "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] -name = "anchor-derive-accounts" -version = "0.26.0" +name = "anchor-derive-space" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8" +checksum = "5ef415ff156dc82e9ecb943189b0cb241b3a6bfc26a180234dc21bd3ef3ce0cb" dependencies = [ - "anchor-syn 0.26.0", - "anyhow", "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] @@ -193,7 +198,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "03e8733d55b8492bde0d6f219c25769786758ff9e5e90a16e6a348f91284af50" dependencies = [ "anchor-idl", - "syn", + "syn 1.0.107", ] [[package]] @@ -203,8 +208,8 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7092a50cf959ebf53460162cb07e88d4cc8ea7fa8c45292e80503a3186033daf" dependencies = [ "anchor-idl", - "darling", - "syn", + "darling 0.14.2", + "syn 1.0.107", ] [[package]] @@ -214,48 +219,76 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3de2665dc06ee0bd3c7d08f47f136a3d5b1e34b7ac1bc632c86a812add04d68b" dependencies = [ "anchor-syn 0.24.2", - "darling", + "darling 0.14.2", "heck 0.4.0", "proc-macro2", "quote", "serde_json", - "syn", + "syn 1.0.107", ] [[package]] name = "anchor-lang" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8" +checksum = "6620c9486d9d36a4389cab5e37dc34a42ed0bfaa62e6a75a2999ce98f8f2e373" dependencies = [ "anchor-attribute-access-control", "anchor-attribute-account", "anchor-attribute-constant", "anchor-attribute-error", "anchor-attribute-event", - "anchor-attribute-interface", "anchor-attribute-program", - "anchor-attribute-state", "anchor-derive-accounts", + "anchor-derive-serde", + "anchor-derive-space", "arrayref", - "base64 0.13.1", + "base64 0.21.7", "bincode", - "borsh 0.9.3", + "borsh 0.10.3", "bytemuck", + "getrandom 0.2.15", "solana-program", "thiserror", ] +[[package]] +name = "anchor-lang-idl" +version = "0.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "31cf97b4e6f7d6144a05e435660fcf757dbc3446d38d0e2b851d11ed13625bba" +dependencies = [ + "anchor-lang-idl-spec", + "anyhow", + "heck 0.3.3", + "serde", + "serde_json", + "sha2 0.10.8", +] + +[[package]] +name = "anchor-lang-idl-spec" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2bdf143115440fe621bdac3a29a1f7472e09f6cd82b2aa569429a0c13f103838" +dependencies = [ + "anyhow", + "serde", +] + [[package]] name = "anchor-spl" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f32390ce8356f54c0f0245ea156f8190717e37285b8bf4f406a613dc4b954cde" +checksum = "04bd077c34449319a1e4e0bc21cea572960c9ae0d0fefda0dd7c52fcc3c647a3" dependencies = [ "anchor-lang", - "solana-program", "spl-associated-token-account", + "spl-pod 0.2.5", "spl-token", + "spl-token-2022 3.0.4", + "spl-token-group-interface", + "spl-token-metadata-interface 0.3.5", ] [[package]] @@ -273,26 +306,25 @@ dependencies = [ "serde", "serde_json", "sha2 0.9.9", - "syn", + "syn 1.0.107", "thiserror", ] [[package]] name = "anchor-syn" -version = "0.26.0" +version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc" +checksum = "f99daacb53b55cfd37ce14d6c9905929721137fd4c67bbab44a19802aecb622f" dependencies = [ "anyhow", - "bs58 0.3.1", + "bs58 0.5.1", "heck 0.3.3", "proc-macro2", - "proc-macro2-diagnostics", "quote", "serde", "serde_json", - "sha2 0.9.9", - "syn", + "sha2 0.10.8", + "syn 1.0.107", "thiserror", ] @@ -302,17 +334,134 @@ version = "1.0.68" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2cb2f989d18dd141ab8ae82f64d1a8cdd37e0840f73a406896cf5e99502fab61" +[[package]] +name = "ark-bn254" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a22f4561524cd949590d78d7d4c5df8f592430d221f7f3c9497bbafd8972120f" +dependencies = [ + "ark-ec", + "ark-ff", + "ark-std", +] + +[[package]] +name = "ark-ec" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "defd9a439d56ac24968cca0571f598a61bc8c55f71d50a89cda591cb750670ba" +dependencies = [ + "ark-ff", + "ark-poly", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", + "itertools", + "num-traits", + "zeroize", +] + +[[package]] +name = "ark-ff" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec847af850f44ad29048935519032c33da8aa03340876d351dfab5660d2966ba" +dependencies = [ + "ark-ff-asm", + "ark-ff-macros", + "ark-serialize", + "ark-std", + "derivative", + "digest 0.10.7", + "itertools", + "num-bigint", + "num-traits", + "paste", + "rustc_version", + "zeroize", +] + +[[package]] +name = "ark-ff-asm" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3ed4aa4fe255d0bc6d79373f7e31d2ea147bcf486cba1be5ba7ea85abdb92348" +dependencies = [ + "quote", + "syn 1.0.107", +] + +[[package]] +name = "ark-ff-macros" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7abe79b0e4288889c4574159ab790824d0033b9fdcb2a112a3182fac2e514565" +dependencies = [ + "num-bigint", + "num-traits", + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "ark-poly" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d320bfc44ee185d899ccbadfa8bc31aab923ce1558716e1997a1e74057fe86bf" +dependencies = [ + "ark-ff", + "ark-serialize", + "ark-std", + "derivative", + "hashbrown 0.13.2", +] + +[[package]] +name = "ark-serialize" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "adb7b85a02b83d2f22f89bd5cac66c9c89474240cb6207cb1efc16d098e822a5" +dependencies = [ + "ark-serialize-derive", + "ark-std", + "digest 0.10.7", + "num-bigint", +] + +[[package]] +name = "ark-serialize-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae3281bc6d0fd7e549af32b52511e1302185bd688fd3359fa36423346ff682ea" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "ark-std" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "94893f1e0c6eeab764ade8dc4c0db24caf4fe7cbbaafc0eba0a9030f447b5185" +dependencies = [ + "num-traits", + "rand 0.8.5", +] + [[package]] name = "arrayref" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a4c527152e37cf757a3f78aae5a06fbeefdb07ccc535c980a3208ee3060dd544" +checksum = "9d151e35f61089500b617991b791fc8bfd237ae50cd5950803758a179b41e67a" [[package]] name = "arrayvec" -version = "0.7.2" +version = "0.7.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8da52d66c7071e2e3fa2a1e5c6d088fec47b593032b254f5e980de8ea54454d6" +checksum = "7c02d123df017efcdfbd739ef81735b36c5ba83ec3c59c80a9d7ecc718f92e50" [[package]] name = "assert_matches" @@ -345,9 +494,9 @@ checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" [[package]] name = "base64" -version = "0.13.1" +version = "0.21.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" +checksum = "9d297deb1925b89f2ccc13d7635fa0714f12c87adce1c75356b39ca9b7178567" [[package]] name = "bincode" @@ -364,6 +513,15 @@ version = "1.3.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a" +[[package]] +name = "bitflags" +version = "2.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b048fb63fd8b5923fc5aa7b340d8e156aec7ec02f0c78fa8a6ddc2613f6f71de" +dependencies = [ + "serde", +] + [[package]] name = "bitmaps" version = "2.1.0" @@ -375,16 +533,16 @@ dependencies = [ [[package]] name = "blake3" -version = "1.3.3" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42ae2468a89544a466886840aa467a25b766499f4f04bf7d9fcd10ecee9fccef" +checksum = "30cca6d3674597c30ddf2c587bf8d9d65c9a84d2326d941cc79c9842dfe0ef52" dependencies = [ "arrayref", "arrayvec", "cc", "cfg-if", "constant_time_eq", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -399,9 +557,9 @@ dependencies = [ [[package]] name = "block-buffer" -version = "0.10.3" +version = "0.10.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "69cce20737498f97b993470a6e536b8523f0af7892a4f928cceb1ac5e52ebe7e" +checksum = "3078c7629b62d3f0439517fa394996acacc5cbc91c5a20d8c658e77abd503a71" dependencies = [ "generic-array", ] @@ -412,15 +570,6 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" -[[package]] -name = "borsh" -version = "0.7.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b42b13fa9bf62be34702e5ee4526aff22530ae22fe34a0c4290d30d5e4e782e6" -dependencies = [ - "borsh-derive 0.7.2", -] - [[package]] name = "borsh" version = "0.9.3" @@ -432,28 +581,23 @@ dependencies = [ ] [[package]] -name = "borsh-derive" -version = "0.7.2" +name = "borsh" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6aaa45f8eec26e4bf71e7e5492cf53a91591af8f871f422d550e7cc43f6b927" +checksum = "4114279215a005bc675e386011e594e1d9b800918cea18fcadadcce864a2046b" dependencies = [ - "borsh-derive-internal 0.7.2", - "borsh-schema-derive-internal 0.7.2", - "proc-macro2", - "syn", + "borsh-derive 0.10.3", + "hashbrown 0.13.2", ] [[package]] -name = "borsh-derive" -version = "0.8.2" +name = "borsh" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "307f3740906bac2c118a8122fe22681232b244f1369273e45f1156b45c43d2dd" +checksum = "a6362ed55def622cddc70a4746a68554d7b687713770de539e59a739b249f8ed" dependencies = [ - "borsh-derive-internal 0.8.2", - "borsh-schema-derive-internal 0.8.2", - "proc-macro-crate 0.1.5", - "proc-macro2", - "syn", + "borsh-derive 1.5.1", + "cfg_aliases", ] [[package]] @@ -466,29 +610,34 @@ dependencies = [ "borsh-schema-derive-internal 0.9.3", "proc-macro-crate 0.1.5", "proc-macro2", - "syn", + "syn 1.0.107", ] [[package]] -name = "borsh-derive-internal" -version = "0.7.2" +name = "borsh-derive" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "61621b9d3cca65cc54e2583db84ef912d59ae60d2f04ba61bc0d7fc57556bda2" +checksum = "0754613691538d51f329cce9af41d7b7ca150bc973056f1156611489475f54f7" dependencies = [ + "borsh-derive-internal 0.10.3", + "borsh-schema-derive-internal 0.10.3", + "proc-macro-crate 0.1.5", "proc-macro2", - "quote", - "syn", + "syn 1.0.107", ] [[package]] -name = "borsh-derive-internal" -version = "0.8.2" +name = "borsh-derive" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d2104c73179359431cc98e016998f2f23bc7a05bc53e79741bcba705f30047bc" +checksum = "c3ef8005764f53cd4dca619f5bf64cafd4664dada50ece25e4d81de54c80cc0b" dependencies = [ + "once_cell", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn", + "syn 2.0.76", + "syn_derive", ] [[package]] @@ -499,40 +648,40 @@ checksum = "5449c28a7b352f2d1e592a8a28bf139bc71afb0764a14f3c02500935d8c44065" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] -name = "borsh-schema-derive-internal" -version = "0.7.2" +name = "borsh-derive-internal" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "85b38abfda570837b0949c2c7ebd31417e15607861c23eacb2f668c69f6f3bf7" +checksum = "afb438156919598d2c7bad7e1c0adf3d26ed3840dbc010db1a882a65583ca2fb" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] name = "borsh-schema-derive-internal" -version = "0.8.2" +version = "0.9.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae29eb8418fcd46f723f8691a2ac06857d31179d33d2f2d91eb13967de97c728" +checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] name = "borsh-schema-derive-internal" -version = "0.9.3" +version = "0.10.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cdbd5696d8bfa21d53d9fe39a714a18538bad11492a42d066dbbc395fb1951c0" +checksum = "634205cc43f74a1b9046ef87c4540ebda95696ec0f315024860cad7c5b0f5ccd" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", ] [[package]] @@ -547,6 +696,15 @@ version = "0.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "771fe0050b883fcc3ea2359b1a96bcfbc090b7116eae7c3c512c7a083fdf23d3" +[[package]] +name = "bs58" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "bf88ba1141d185c399bee5288d850d63b8369520c1eafc32a0430b5b6c287bf4" +dependencies = [ + "tinyvec", +] + [[package]] name = "bumpalo" version = "3.12.0" @@ -565,37 +723,39 @@ dependencies = [ [[package]] name = "bytemuck" -version = "1.12.3" +version = "1.17.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "aaa3a8d9a1ca92e282c96a32d6511b695d7d994d1d102ba85d279f9b2756947f" +checksum = "6fd4c6dcc3b0aea2f5c0b4b82c2b15fe39ddbc76041a310848f4706edf76bb31" dependencies = [ "bytemuck_derive", ] [[package]] name = "bytemuck_derive" -version = "1.3.0" +version = "1.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5fe233b960f12f8007e3db2d136e3cb1c291bfd7396e384ee76025fc1a3932b4" +checksum = "0cc8b54b395f2fcfbb3d90c47b01c7f444d94d05bdeb775811dec868ac3bbc26" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.76", ] [[package]] name = "byteorder" -version = "1.4.3" +version = "1.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "14c189c53d098945499cdfa7ecc63567cf3886b3332b312a5b4585d8d3a6a610" +checksum = "1fd0f2584146f6f2ef48085050886acf353beff7305ebd1ae69500e27c67f64b" [[package]] name = "cc" -version = "1.0.78" +version = "1.1.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a20104e2335ce8a659d6dd92a51a767a0c062599c73b343fd152cb401e828c3d" +checksum = "50d2eb3cd3d1bf4529e31c215ee6f93ec5a3d536d9f578f93d9d33ee19562932" dependencies = [ "jobserver", + "libc", + "shlex", ] [[package]] @@ -604,13 +764,18 @@ version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" +[[package]] +name = "cfg_aliases" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724" + [[package]] name = "chrono" -version = "0.4.23" +version = "0.4.38" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16b0a3d9ed01224b22057780a37bb8c5dbfe1be8ba48678e7bf57ec4b385411f" +checksum = "a21f936df1771bf62b77f047b726c4625ff2e8aa607c01ec06e5a05bd8463401" dependencies = [ - "num-integer", "num-traits", ] @@ -623,16 +788,6 @@ dependencies = [ "generic-array", ] -[[package]] -name = "cipher" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1873270f8f7942c191139cb8a40fd228da6c3fd2fc376d7e92d47aa14aeb59e" -dependencies = [ - "crypto-common", - "inout", -] - [[package]] name = "console_error_panic_hook" version = "0.1.7" @@ -645,9 +800,9 @@ dependencies = [ [[package]] name = "console_log" -version = "0.2.0" +version = "0.2.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "501a375961cef1a0d44767200e66e4a559283097e91d0730b1d75dfb2f8a1494" +checksum = "e89f72f65e8501878b8a004d5a1afb780987e2ce2b4532c562e367a72c57499f" dependencies = [ "log", "web-sys", @@ -655,9 +810,9 @@ dependencies = [ [[package]] name = "constant_time_eq" -version = "0.2.4" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3ad85c1f65dc7b37604eb0e89748faf0b9653065f2a8ef69f96a687ec1e9279" +checksum = "f7144d30dcf0fafbce74250a3963025d8d52177934239851c917d29f1df280c2" [[package]] name = "cpufeatures" @@ -743,7 +898,7 @@ version = "0.8.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "049bb91fb4aaf0e3c7efa6cd5ef877dbbbd15b39dad06d9948de4ec8a75761ea" dependencies = [ - "cipher 0.3.0", + "cipher", ] [[package]] @@ -766,8 +921,18 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b0dd3cd20dc6b5a876612a6e5accfe7f3dd883db6d07acfbf14c128f61550dfa" dependencies = [ - "darling_core", - "darling_macro", + "darling_core 0.14.2", + "darling_macro 0.14.2", +] + +[[package]] +name = "darling" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6f63b86c8a8826a49b8c21f08a2d07338eec8d900540f8630dc76284be802989" +dependencies = [ + "darling_core 0.20.10", + "darling_macro 0.20.10", ] [[package]] @@ -780,8 +945,22 @@ dependencies = [ "ident_case", "proc-macro2", "quote", - "strsim", - "syn", + "strsim 0.10.0", + "syn 1.0.107", +] + +[[package]] +name = "darling_core" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "95133861a8032aaea082871032f5815eb9e98cef03fa916ab4500513994df9e5" +dependencies = [ + "fnv", + "ident_case", + "proc-macro2", + "quote", + "strsim 0.11.1", + "syn 2.0.76", ] [[package]] @@ -790,9 +969,20 @@ version = "0.14.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7618812407e9402654622dd402b0a89dff9ba93badd6540781526117b92aab7e" dependencies = [ - "darling_core", + "darling_core 0.14.2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "darling_macro" +version = "0.20.10" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d336a2a514f6ccccaa3e09b02d41d35330c07ddf03a62165fcec10bb561c7806" +dependencies = [ + "darling_core 0.20.10", "quote", - "syn", + "syn 2.0.76", ] [[package]] @@ -801,6 +991,17 @@ version = "0.2.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6e5c37193a1db1d8ed868c03ec7b152175f26160a5b740e5e484143877e0adf0" +[[package]] +name = "derivative" +version = "2.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fcc3dd5e9e9c0b295d6e1e4d811fb6f157d5ffd784b8d202fc62eac8035a770b" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "digest" version = "0.9.0" @@ -812,11 +1013,11 @@ dependencies = [ [[package]] name = "digest" -version = "0.10.6" +version = "0.10.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8168378f4e5023e7218c89c891c0fd8ecdb5e5e4f18cb78f38cf245dd021e76f" +checksum = "9ed9a281f7bc9b7576e61468ba615a66a5c8cfdff42420a70aa82701a3b1e292" dependencies = [ - "block-buffer 0.10.3", + "block-buffer 0.10.4", "crypto-common", "subtle", ] @@ -838,7 +1039,7 @@ checksum = "c762bae6dcaf24c4c84667b8579785430908723d5c889f469d76a41d59cc7a9d" dependencies = [ "curve25519-dalek", "ed25519", - "rand", + "rand 0.7.3", "serde", "sha2 0.9.9", "zeroize", @@ -853,14 +1054,14 @@ dependencies = [ "derivation-path", "ed25519-dalek", "hmac 0.12.1", - "sha2 0.10.6", + "sha2 0.10.8", ] [[package]] name = "either" -version = "1.8.0" +version = "1.13.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "90e5c1c8368803113bf0c9584fc495a58b86dc8a29edbf8fe877d21d9507e797" +checksum = "60b1af1c220855b6ceac025d3f6ecdd2b7c4894bfe9cd9bda4fbb4bc7c0d4cf0" [[package]] name = "env_logger" @@ -875,6 +1076,12 @@ dependencies = [ "termcolor", ] +[[package]] +name = "equivalent" +version = "1.0.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "5443807d6dff69373d433ab9ef5378ad8df50ca6298caf15de6e52e24aaf54d5" + [[package]] name = "feature-probe" version = "0.1.1" @@ -889,9 +1096,9 @@ checksum = "3f9eec918d3f24069decb9af1554cad7c880e2da24a9afd88aca000531ab82c1" [[package]] name = "generic-array" -version = "0.14.6" +version = "0.14.7" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bff49e947297f3312447abdca79f45f4738097cc82b06e72054d2223f601f1b9" +checksum = "85649ca51fd72272d7821adaf274ad91c288277713d9c18820d8499a7ff69e9a" dependencies = [ "serde", "typenum", @@ -913,9 +1120,9 @@ dependencies = [ [[package]] name = "getrandom" -version = "0.2.8" +version = "0.2.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c05aeb6a22b8f62540c194aac980f2115af067bfe15a0734d7277a768d396b31" +checksum = "c4567c8db10ae91089c99af84c68c38da3ec2f087c3f82960bcdbf3656b6f4d7" dependencies = [ "cfg-if", "js-sys", @@ -930,18 +1137,24 @@ version = "0.11.2" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ab5ef0d4909ef3724cc8cce6ccc8572c5c817592e9285f5464f8e86f8bd3726e" dependencies = [ - "ahash", + "ahash 0.7.8", ] [[package]] name = "hashbrown" -version = "0.12.3" +version = "0.13.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8a9ee70c43aaf417c914396645a0fa852624801b24ebb7ae78fe8272889ac888" +checksum = "43a3c133739dddd0d2990f9a4bdf8eb4b21ef50e4851ca85ab661199821d510e" dependencies = [ - "ahash", + "ahash 0.8.11", ] +[[package]] +name = "hashbrown" +version = "0.14.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e5274423e17b7c9fc20b6e7e208532f9b19825d82dfd615708b70edd83df41f1" + [[package]] name = "heck" version = "0.3.3" @@ -975,6 +1188,12 @@ dependencies = [ "libc", ] +[[package]] +name = "hex" +version = "0.4.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" + [[package]] name = "hmac" version = "0.8.1" @@ -991,7 +1210,7 @@ version = "0.12.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6c49c37c09c17a53d937dfbb742eb3a961d65a994e6bcdcf37e7399d0cc8ab5e" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1042,12 +1261,13 @@ dependencies = [ ] [[package]] -name = "inout" -version = "0.1.3" +name = "indexmap" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a0c10553d664a4d0bcff9f4215d0aac67a639cc68ef660840afe309b807bc9f5" +checksum = "93ead53efc7ea8ed3cfb0c79fc8023fbb782a5432b52830b6518941cebe6505c" dependencies = [ - "generic-array", + "equivalent", + "hashbrown 0.14.5", ] [[package]] @@ -1067,18 +1287,18 @@ checksum = "fad582f4b9e86b6caa621cabeb0963332d92eea04729ab12892c2533951e6440" [[package]] name = "jobserver" -version = "0.1.25" +version = "0.1.32" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "068b1ee6743e4d11fb9c6a1e6064b3693a1b600e7f5f5988047d98b3dc9fb90b" +checksum = "48d1dbcbbeb6a7fec7e059840aa538bd62aaccf972c7346c4d9d2059312853d0" dependencies = [ "libc", ] [[package]] name = "js-sys" -version = "0.3.60" +version = "0.3.70" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "49409df3e3bf0856b916e2ceaca09ee28e6871cf7d9ce97a692cacfdb2a25a47" +checksum = "1868808506b929d7b0cfa8f75951347aa71bb21144b7791bae35d9bccfcfe37a" dependencies = [ "wasm-bindgen", ] @@ -1100,9 +1320,9 @@ checksum = "e2abad23fbc42b3700f2f279844dc832adb2b2eb069b2df918f455c4e18cc646" [[package]] name = "libc" -version = "0.2.139" +version = "0.2.158" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "201de327520df007757c1f0adce6e827fe8562fbc28bfd9c15571c66ca1f5f79" +checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439" [[package]] name = "libsecp256k1" @@ -1117,7 +1337,7 @@ dependencies = [ "libsecp256k1-core", "libsecp256k1-gen-ecmult", "libsecp256k1-gen-genmult", - "rand", + "rand 0.7.3", "serde", "sha2 0.9.9", "typenum", @@ -1152,6 +1372,18 @@ dependencies = [ "libsecp256k1-core", ] +[[package]] +name = "light-poseidon" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3c9a85a9752c549ceb7578064b4ed891179d20acd85f27318573b64d2d7ee7ee" +dependencies = [ + "ark-bn254", + "ark-ff", + "num-bigint", + "thiserror", +] + [[package]] name = "lock_api" version = "0.4.9" @@ -1164,12 +1396,9 @@ dependencies = [ [[package]] name = "log" -version = "0.4.17" +version = "0.4.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "abb12e687cfb44aa40f41fc3978ef76448f9b6038cad6aef4259d3c095a2382e" -dependencies = [ - "cfg-if", -] +checksum = "a7a70ba024b9dc04c27ea2f0c0548feb474ec5c54bba33a7f72f873a39d07b24" [[package]] name = "marinade-cpi" @@ -1189,27 +1418,27 @@ checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" [[package]] name = "memmap2" -version = "0.5.8" +version = "0.5.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b182332558b18d807c4ce1ca8ca983b34c3ee32765e47b3f0f69b90355cc1dc" +checksum = "83faa42c0a078c393f6b29d5db232d8be22776a891f8f56e5284faee4a20b327" dependencies = [ "libc", ] [[package]] name = "memoffset" -version = "0.6.5" +version = "0.7.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5aa361d4faea93603064a027415f07bd8e1d5c88c9fbf68bf56a285428fd79ce" +checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" dependencies = [ "autocfg", ] [[package]] name = "memoffset" -version = "0.7.1" +version = "0.9.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5de893c32cde5f383baa4c04c5d6dbdd735cfd4a794b0debdb2bb1b421da5ff4" +checksum = "488016bfae457b036d996092f6cb448677611ce4449e970ceaf42695203f218a" dependencies = [ "autocfg", ] @@ -1228,34 +1457,25 @@ dependencies = [ [[package]] name = "mpl-token-metadata" -version = "1.4.3" +version = "4.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e719d7e0b5a9d97c7fd4d6f52ebfc32f1e3942e068173e47355f8c275656488a" +checksum = "caf0f61b553e424a6234af1268456972ee66c2222e1da89079242251fa7479e5" dependencies = [ - "arrayref", - "borsh 0.9.3", - "mpl-token-vault", - "num-derive", + "borsh 0.10.3", + "num-derive 0.3.3", "num-traits", - "shank", "solana-program", - "spl-associated-token-account", - "spl-token", "thiserror", ] [[package]] -name = "mpl-token-vault" -version = "0.1.0" +name = "num-bigint" +version = "0.4.6" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7ade4ef15bc06a6033076c4ff28cba9b42521df5ec61211d6f419415ace2746a" +checksum = "a5e44f723f1133c9deac646763579fdb3ac745e418f2a7af9cd0c431da1f20b9" dependencies = [ - "borsh 0.9.3", - "num-derive", + "num-integer", "num-traits", - "solana-program", - "spl-token", - "thiserror", ] [[package]] @@ -1266,24 +1486,34 @@ checksum = "876a53fff98e03a936a674b29568b0e605f06b29372c2489ff4de23f1949743d" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", +] + +[[package]] +name = "num-derive" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ed3955f1a9c7c0c15e092f9c887db08b1fc683305fdf6eb6684f22555355e202" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", ] [[package]] name = "num-integer" -version = "0.1.45" +version = "0.1.46" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "225d3389fb3509a24c93f5c29eb6bde2586b98d9f016636dff58d7c6f7569cd9" +checksum = "7969661fd2958a5cb096e56c8e1ad0444ac2bbcd0061bd28660485a44879858f" dependencies = [ - "autocfg", "num-traits", ] [[package]] name = "num-traits" -version = "0.2.15" +version = "0.2.19" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "578ede34cf02f8924ab9447f50c28075b4d3e5b269972345e7e0372b38c6cdcd" +checksum = "071dfc062690e90b734c0b2273ce72ad0ffa95f0c74596bc250dcfd960262841" dependencies = [ "autocfg", ] @@ -1300,30 +1530,30 @@ dependencies = [ [[package]] name = "num_enum" -version = "0.5.7" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cf5395665662ef45796a4ff5486c5d41d29e0c09640af4c5f17fd94ee2c119c9" +checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ "num_enum_derive", ] [[package]] name = "num_enum_derive" -version = "0.5.7" +version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b0498641e53dd6ac1a4f22547548caa6864cc4933784319cd1775271c5a46ce" +checksum = "af1844ef2428cc3e1cb900be36181049ef3d3193c63e43026cfe202983b27a56" dependencies = [ - "proc-macro-crate 1.2.1", + "proc-macro-crate 3.1.0", "proc-macro2", "quote", - "syn", + "syn 2.0.76", ] [[package]] name = "once_cell" -version = "1.17.0" +version = "1.19.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6f61fba1741ea2b3d6a1e3178721804bb716a68a6aeba1149b5d52e3d464ea66" +checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "opaque-debug" @@ -1354,6 +1584,12 @@ dependencies = [ "windows-sys", ] +[[package]] +name = "paste" +version = "1.0.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c0d7b74b563b49d38dae00a0c37d4d6de9b432382b2892f0574ddcae73fd0a" + [[package]] name = "pbkdf2" version = "0.4.0" @@ -1369,7 +1605,7 @@ version = "0.11.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "83a0692ec44e4cf1ef28ca317f14f8f07da2d95ec3fa01f86e4467b725e60917" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1407,20 +1643,41 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "1.2.1" +version = "3.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eda0fc3b0fb7c975631757e14d9049da17374063edb6ebbcbc54d880d4fe94e9" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" dependencies = [ - "once_cell", - "thiserror", - "toml", + "toml_edit", +] + +[[package]] +name = "proc-macro-error" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" +dependencies = [ + "proc-macro-error-attr", + "proc-macro2", + "quote", + "version_check", +] + +[[package]] +name = "proc-macro-error-attr" +version = "1.0.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a1be40180e52ecc98ad80b184934baf3d0d29f979574e439af5a55274b35f869" +dependencies = [ + "proc-macro2", + "quote", + "version_check", ] [[package]] name = "proc-macro2" -version = "1.0.50" +version = "1.0.86" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6ef7d57beacfaf2d8aee5937dab7b7f28de3cb8b1828479bb5de2a7106f2bae2" +checksum = "5e719e8df665df0d1c8fbfd238015744736151d4445ec0836b8e628aae103b77" dependencies = [ "unicode-ident", ] @@ -1433,7 +1690,7 @@ checksum = "4bf29726d67464d49fa6224a1d07936a8c08bb3fba727c7493f6cf1616fdaada" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", "version_check", "yansi", ] @@ -1447,11 +1704,22 @@ dependencies = [ "percent-encoding", ] +[[package]] +name = "qualifier_attr" +version = "0.2.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e2e25ee72f5b24d773cae88422baddefff7714f97aab68d96fe2b6fc4a28fb2" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "quote" -version = "1.0.23" +version = "1.0.37" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8856d8364d252a14d474036ea1358d63c9e6965c8e5c1885c18f73d70bff9c7b" +checksum = "b5b9d34b8991d19d98081b46eacdd8eb58c6f2b201139f7c5f643cc155a633af" dependencies = [ "proc-macro2", ] @@ -1464,11 +1732,22 @@ checksum = "6a6b1679d49b24bbfe0c803429aa1874472f50d9b363131f0e89fc356b544d03" dependencies = [ "getrandom 0.1.16", "libc", - "rand_chacha", + "rand_chacha 0.2.2", "rand_core 0.5.1", "rand_hc", ] +[[package]] +name = "rand" +version = "0.8.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "34af8d1a0e25924bc5b7c43c079c942339d8f0a8b57c39049bef581b46327404" +dependencies = [ + "libc", + "rand_chacha 0.3.1", + "rand_core 0.6.4", +] + [[package]] name = "rand_chacha" version = "0.2.2" @@ -1479,6 +1758,16 @@ dependencies = [ "rand_core 0.5.1", ] +[[package]] +name = "rand_chacha" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6c10a63a0fa32252be49d21e7709d4d4baf8d231c2dbce1eaa8141b9b127d88" +dependencies = [ + "ppv-lite86", + "rand_core 0.6.4", +] + [[package]] name = "rand_core" version = "0.5.1" @@ -1494,7 +1783,7 @@ version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" dependencies = [ - "getrandom 0.2.8", + "getrandom 0.2.15", ] [[package]] @@ -1543,7 +1832,7 @@ version = "0.2.16" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fb5a58c1855b4b6819d59012155603f0b22ad30cad752600aadfcb695265519a" dependencies = [ - "bitflags", + "bitflags 1.3.2", ] [[package]] @@ -1569,12 +1858,6 @@ version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" -[[package]] -name = "rustc-hex" -version = "2.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" - [[package]] name = "rustc_version" version = "0.4.0" @@ -1586,9 +1869,9 @@ dependencies = [ [[package]] name = "rustversion" -version = "1.0.11" +version = "1.0.17" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "5583e89e108996506031660fe09baa5011b9dd0341b89029313006d1fb508d70" +checksum = "955d28af4278de8121b7ebeb796b6a45735dc01436d898801014aced2773a3d6" [[package]] name = "ryu" @@ -1610,44 +1893,67 @@ checksum = "58bc9567378fc7690d6b2addae4e60ac2eeea07becb2c64b9f218b53865cba2a" [[package]] name = "serde" -version = "1.0.152" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bb7d1f0d3021d347a83e556fc4683dea2ea09d87bccdf88ff5c12545d89d5efb" +checksum = "99fce0ffe7310761ca6bf9faf5115afbc19688edd00171d81b1bb1b116c63e09" dependencies = [ "serde_derive", ] [[package]] name = "serde_bytes" -version = "0.11.8" +version = "0.11.15" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "718dc5fff5b36f99093fc49b280cfc96ce6fc824317783bff5a1fed0c7a64819" +checksum = "387cc504cb06bb40a96c8e04e951fe01854cf6bc921053c954e4a606d9675c6a" dependencies = [ "serde", ] [[package]] name = "serde_derive" -version = "1.0.152" +version = "1.0.209" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "af487d118eecd09402d70a5d72551860e788df87b464af30e5ea6a38c75c541e" +checksum = "a5831b979fd7b5439637af1752d535ff49f4860c0f341d1baeb6faf0f4242170" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.76", ] [[package]] name = "serde_json" -version = "1.0.91" +version = "1.0.127" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "877c235533714907a8c2464236f5c4b2a17262ef1bd71f38f35ea592c8da6883" +checksum = "8043c06d9f82bd7271361ed64f415fe5e12a77fdb52e573e7f06a516dea329ad" dependencies = [ "itoa", + "memchr", "ryu", "serde", ] +[[package]] +name = "serde_with" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07ff71d2c147a7b57362cead5e22f772cd52f6ab31cfcd9edcd7f6aeb2a0afbe" +dependencies = [ + "serde", + "serde_with_macros", +] + +[[package]] +name = "serde_with_macros" +version = "2.3.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "881b6f881b17d13214e5d494c939ebab463d01264ce1811e9d4ac3a882e7695f" +dependencies = [ + "darling 0.20.10", + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "sha2" version = "0.9.9" @@ -1663,13 +1969,13 @@ dependencies = [ [[package]] name = "sha2" -version = "0.10.6" +version = "0.10.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "82e6b795fe2e3b1e845bafcb27aa35405c4d47cdfc92af5fc8d3002f76cebdc0" +checksum = "793db75ad2bcafc3ffa7c68b215fee268f537982cd901d132f89c6343f3a3dc8" dependencies = [ "cfg-if", "cpufeatures", - "digest 0.10.6", + "digest 0.10.7", ] [[package]] @@ -1690,55 +1996,15 @@ version = "0.10.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "bdf0c33fae925bdc080598b84bc15c55e7b9a4a43b3c704da051f977469691c9" dependencies = [ - "digest 0.10.6", + "digest 0.10.7", "keccak", ] [[package]] -name = "shank" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "439c00542aa8b4c777750b3130ce36fcff86ba215d54006d47d67359513b70be" -dependencies = [ - "shank_macro", -] - -[[package]] -name = "shank_macro" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3498d6ea2ba012f26ad3d79a19773ba8e1c7a69f14dec67e3ed51c723cc9f30a" -dependencies = [ - "proc-macro2", - "quote", - "shank_macro_impl", - "shank_render", - "syn", -] - -[[package]] -name = "shank_macro_impl" -version = "0.0.12" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "271c0b0b47ef930d7455d11a02164e3f0e71704d639bcaa6581f23e4b2073227" -dependencies = [ - "anyhow", - "proc-macro2", - "quote", - "serde", - "syn", -] - -[[package]] -name = "shank_render" -version = "0.0.1" +name = "shlex" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "142e11124c70d1702424011209621551adf775988033dedea428ce4a21d3acdf" -dependencies = [ - "proc-macro2", - "quote", - "shank_macro_impl", -] +checksum = "0fda2ff0d084019ba4d7c6f371c95d8fd75ce3524c3cb8fb653a3023f6323e64" [[package]] name = "signature" @@ -1746,6 +2012,12 @@ version = "1.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "74233d3b3b2f6d4b006dc19dee745e73e2a6bfb6f93607cd3b02bd5b00797d7c" +[[package]] +name = "siphasher" +version = "0.3.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d" + [[package]] name = "sized-chunks" version = "0.6.5" @@ -1764,33 +2036,24 @@ checksum = "a507befe795404456341dfab10cef66ead4c041f62b8b11bbb92bffe5d0953e0" [[package]] name = "solana-frozen-abi" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f44a019070a6cec4d3ad8605c5caa65bdaa13f00b5f1849340f44ffea63b625b" +checksum = "20a6ef2db80dceb124b7bf81cca3300804bf427d2711973fc3df450ed7dfb26d" dependencies = [ - "ahash", - "blake3", - "block-buffer 0.9.0", + "block-buffer 0.10.4", "bs58 0.4.0", "bv", - "byteorder", - "cc", "either", "generic-array", - "getrandom 0.1.16", - "hashbrown 0.12.3", "im", "lazy_static", "log", "memmap2", - "once_cell", - "rand_core 0.6.4", "rustc_version", "serde", "serde_bytes", "serde_derive", - "serde_json", - "sha2 0.10.6", + "sha2 0.10.8", "solana-frozen-abi-macro", "subtle", "thiserror", @@ -1798,21 +2061,21 @@ dependencies = [ [[package]] name = "solana-frozen-abi-macro" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be23cc7a382f54dfe1348edb94610e5cc146b8eb21563cdd04062a403c75ba62" +checksum = "70088de7d4067d19a7455609e2b393e6086bd847bb39c4d2bf234fc14827ef9e" dependencies = [ "proc-macro2", "quote", "rustc_version", - "syn", + "syn 2.0.76", ] [[package]] name = "solana-logger" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "447d16a70a1b5383736ef44801050c0e1affd022303b22ed899352f958c2de4b" +checksum = "b129da15193f26db62d62ae6bb9f72361f361bcdc36054be3ab8bc04cc7a4f31" dependencies = [ "env_logger", "lazy_static", @@ -1821,16 +2084,21 @@ dependencies = [ [[package]] name = "solana-program" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d0937481f080f5dd495fae456c94718a7bacf30fb5fdabb02dcb8a9622e446d5" +checksum = "fb2b2c8babfae4cace1a25b6efa00418f3acd852cf55d7cecc0360d3c5050479" dependencies = [ - "base64 0.13.1", + "ark-bn254", + "ark-ec", + "ark-ff", + "ark-serialize", + "base64 0.21.7", "bincode", - "bitflags", + "bitflags 2.6.0", "blake3", + "borsh 0.10.3", "borsh 0.9.3", - "borsh-derive 0.9.3", + "borsh 1.5.1", "bs58 0.4.0", "bv", "bytemuck", @@ -1838,26 +2106,27 @@ dependencies = [ "console_error_panic_hook", "console_log", "curve25519-dalek", - "getrandom 0.2.8", + "getrandom 0.2.15", "itertools", "js-sys", "lazy_static", "libc", "libsecp256k1", + "light-poseidon", "log", - "memoffset 0.6.5", - "num-derive", + "memoffset 0.9.1", + "num-bigint", + "num-derive 0.4.2", "num-traits", "parking_lot", - "rand", - "rand_chacha", + "rand 0.8.5", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.6", + "sha2 0.10.8", "sha3 0.10.6", "solana-frozen-abi", "solana-frozen-abi-macro", @@ -1870,21 +2139,21 @@ dependencies = [ [[package]] name = "solana-sdk" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "390e7481c56dda2ceab2652beeda30a533e9667b34861a2eb4eec92fa1d826d7" +checksum = "b5e0f0def5c5af07f53d321cea7b104487b522cfff77c3cae3da361bfe956e9e" dependencies = [ "assert_matches", - "base64 0.13.1", + "base64 0.21.7", "bincode", - "bitflags", - "borsh 0.9.3", + "bitflags 2.6.0", + "borsh 1.5.1", "bs58 0.4.0", "bytemuck", "byteorder", "chrono", "derivation-path", - "digest 0.10.6", + "digest 0.10.7", "ed25519-dalek", "ed25519-dalek-bip32", "generic-array", @@ -1895,20 +2164,24 @@ dependencies = [ "libsecp256k1", "log", "memmap2", - "num-derive", + "num-derive 0.4.2", "num-traits", + "num_enum", "pbkdf2 0.11.0", "qstring", - "rand", - "rand_chacha", + "qualifier_attr", + "rand 0.7.3", + "rand 0.8.5", "rustc_version", "rustversion", "serde", "serde_bytes", "serde_derive", "serde_json", - "sha2 0.10.6", + "serde_with", + "sha2 0.10.8", "sha3 0.10.6", + "siphasher", "solana-frozen-abi", "solana-frozen-abi-macro", "solana-logger", @@ -1921,38 +2194,42 @@ dependencies = [ [[package]] name = "solana-sdk-macro" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "33d0acbad862093ea123f3a27364336dcb0c8373522cd6810496a34e932c56c1" +checksum = "c55c196c8050834c391a34b58e3c9fd86b15452ef1feeeafa1dbeb9d2291dfec" dependencies = [ "bs58 0.4.0", "proc-macro2", "quote", "rustversion", - "syn", + "syn 2.0.76", ] +[[package]] +name = "solana-security-txt" +version = "1.1.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" + [[package]] name = "solana-zk-token-sdk" -version = "1.14.13" +version = "1.18.22" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cebca4083e982ae01583d1a590c4d679e6f648a4761364ddfb43026d2c433142" +checksum = "57ee07fa523b4cfcff68de774db7aa87d2da2c4357155a90bacd9a0a0af70a99" dependencies = [ "aes-gcm-siv", - "arrayref", - "base64 0.13.1", + "base64 0.21.7", "bincode", "bytemuck", "byteorder", - "cipher 0.4.3", "curve25519-dalek", "getrandom 0.1.16", "itertools", "lazy_static", "merlin", - "num-derive", + "num-derive 0.4.2", "num-traits", - "rand", + "rand 0.7.3", "serde", "serde_json", "sha3 0.9.1", @@ -1965,29 +2242,98 @@ dependencies = [ [[package]] name = "spl-associated-token-account" -version = "1.1.2" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fbc000f0fdf1f12f99d77d398137c1751345b18c88258ce0f99b7872cf6c9bd6" +checksum = "143109d789171379e6143ef23191786dfaac54289ad6e7917cfb26b36c432b10" dependencies = [ "assert_matches", - "borsh 0.9.3", - "num-derive", + "borsh 1.5.1", + "num-derive 0.4.2", "num-traits", "solana-program", "spl-token", - "spl-token-2022", + "spl-token-2022 3.0.4", "thiserror", ] [[package]] -name = "spl-math" +name = "spl-discriminator" version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2ecdd22720b9e5ab578a862928f5010ca197419502bdace600ccd5d23dae9352" +checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" dependencies = [ - "borsh 0.7.2", - "borsh-derive 0.8.2", - "num-derive", + "bytemuck", + "solana-program", + "spl-discriminator-derive 0.1.2", +] + +[[package]] +name = "spl-discriminator" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "210101376962bb22bb13be6daea34656ea1cbc248fce2164b146e39203b55e03" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator-derive 0.2.0", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" +dependencies = [ + "quote", + "spl-discriminator-syn 0.1.2", + "syn 2.0.76", +] + +[[package]] +name = "spl-discriminator-derive" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" +dependencies = [ + "quote", + "spl-discriminator-syn 0.2.0", + "syn 2.0.76", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.1.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "18fea7be851bd98d10721782ea958097c03a0c2a07d8d4997041d0ece6319a63" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.76", + "thiserror", +] + +[[package]] +name = "spl-discriminator-syn" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.76", + "thiserror", +] + +[[package]] +name = "spl-math" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "102d87a7608c793497fa3e85e9d0e24a33be06a94fb029b2cd30d794295f8110" +dependencies = [ + "borsh 0.10.3", + "num-derive 0.3.3", "num-traits", "solana-program", "thiserror", @@ -1996,66 +2342,300 @@ dependencies = [ [[package]] name = "spl-memo" -version = "3.0.1" +version = "4.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" +checksum = "a49f49f95f2d02111ded31696ab38a081fab623d4c76bd4cb074286db4560836" dependencies = [ "solana-program", ] +[[package]] +name = "spl-pod" +version = "0.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" +dependencies = [ + "borsh 0.10.3", + "bytemuck", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error 0.3.0", +] + +[[package]] +name = "spl-pod" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c52d84c55efeef8edcc226743dc089d7e3888b8e3474569aa3eff152b37b9996" +dependencies = [ + "borsh 1.5.1", + "bytemuck", + "solana-program", + "solana-zk-token-sdk", + "spl-program-error 0.4.4", +] + +[[package]] +name = "spl-program-error" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive 0.3.2", + "thiserror", +] + +[[package]] +name = "spl-program-error" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e45a49acb925db68aa501b926096b2164adbdcade7a0c24152af9f0742d0a602" +dependencies = [ + "num-derive 0.4.2", + "num-traits", + "solana-program", + "spl-program-error-derive 0.4.1", + "thiserror", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.3.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1845dfe71fd68f70382232742e758557afe973ae19e6c06807b2c30f5d5cb474" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.76", +] + +[[package]] +name = "spl-program-error-derive" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" +dependencies = [ + "proc-macro2", + "quote", + "sha2 0.10.8", + "syn 2.0.76", +] + [[package]] name = "spl-stake-pool" -version = "0.6.4" +version = "1.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "027ca58e3b61c000dcc264878d4b6fd98f6f89ad363d91e972c11abf167168c5" +checksum = "48f973333ac37c47dac368cc13088ebebaa7d67e50a7f56a2a83f090bc32c2cb" dependencies = [ "arrayref", "bincode", - "borsh 0.9.3", - "num-derive", + "borsh 0.10.3", + "bytemuck", + "num-derive 0.4.2", "num-traits", "num_enum", "serde", "serde_derive", "solana-program", + "solana-security-txt", "spl-math", - "spl-token", + "spl-pod 0.1.0", + "spl-token-2022 0.9.0", "thiserror", ] +[[package]] +name = "spl-tlv-account-resolution" +version = "0.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "062e148d3eab7b165582757453632ffeef490c02c86a48bfdb4988f63eefb3b9" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-type-length-value 0.3.0", +] + +[[package]] +name = "spl-tlv-account-resolution" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fab8edfd37be5fa17c9e42c1bff86abbbaf0494b031b37957f2728ad2ff842ba" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-type-length-value 0.4.6", +] + [[package]] name = "spl-token" -version = "3.5.0" +version = "4.0.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b9eb465e4bf5ce1d498f05204c8089378c1ba34ef2777ea95852fc53a1fd4fb2" +dependencies = [ + "arrayref", + "bytemuck", + "num-derive 0.4.2", + "num-traits", + "num_enum", + "solana-program", + "thiserror", +] + +[[package]] +name = "spl-token-2022" +version = "0.9.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" +checksum = "e4abf34a65ba420584a0c35f3903f8d727d1f13ababbdc3f714c6b065a686e86" dependencies = [ "arrayref", "bytemuck", - "num-derive", + "num-derive 0.4.2", "num-traits", "num_enum", "solana-program", + "solana-zk-token-sdk", + "spl-memo", + "spl-pod 0.1.0", + "spl-token", + "spl-token-metadata-interface 0.2.0", + "spl-transfer-hook-interface 0.3.0", + "spl-type-length-value 0.3.0", "thiserror", ] [[package]] name = "spl-token-2022" -version = "0.5.0" +version = "3.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0edb869dbe159b018f17fb9bfa67118c30f232d7f54a73742bc96794dff77ed8" +checksum = "b01d1b2851964e257187c0bca43a0de38d0af59192479ca01ac3e2b58b1bd95a" dependencies = [ "arrayref", "bytemuck", - "num-derive", + "num-derive 0.4.2", "num-traits", "num_enum", "solana-program", + "solana-security-txt", "solana-zk-token-sdk", "spl-memo", + "spl-pod 0.2.5", "spl-token", + "spl-token-group-interface", + "spl-token-metadata-interface 0.3.5", + "spl-transfer-hook-interface 0.6.5", + "spl-type-length-value 0.4.6", "thiserror", ] +[[package]] +name = "spl-token-group-interface" +version = "0.2.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "014817d6324b1e20c4bbc883e8ee30a5faa13e59d91d1b2b95df98b920150c17" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", +] + +[[package]] +name = "spl-token-metadata-interface" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" +dependencies = [ + "borsh 0.10.3", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-type-length-value 0.3.0", +] + +[[package]] +name = "spl-token-metadata-interface" +version = "0.3.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f3da00495b602ebcf5d8ba8b3ecff1ee454ce4c125c9077747be49c2d62335ba" +dependencies = [ + "borsh 1.5.1", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-type-length-value 0.4.6", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "051d31803f873cabe71aec3c1b849f35248beae5d19a347d93a5c9cccc5d5a9b" +dependencies = [ + "arrayref", + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", + "spl-tlv-account-resolution 0.4.0", + "spl-type-length-value 0.3.0", +] + +[[package]] +name = "spl-transfer-hook-interface" +version = "0.6.5" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a9b5c08a89838e5a2931f79b17f611857f281a14a2100968a3ccef352cb7414b" +dependencies = [ + "arrayref", + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", + "spl-tlv-account-resolution 0.6.5", + "spl-type-length-value 0.4.6", +] + +[[package]] +name = "spl-type-length-value" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.1.0", + "spl-pod 0.1.0", + "spl-program-error 0.3.0", +] + +[[package]] +name = "spl-type-length-value" +version = "0.4.6" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c872f93d0600e743116501eba2d53460e73a12c9a496875a42a7d70e034fe06d" +dependencies = [ + "bytemuck", + "solana-program", + "spl-discriminator 0.2.5", + "spl-pod 0.2.5", + "spl-program-error 0.4.4", +] + [[package]] name = "static_assertions" version = "1.1.0" @@ -2068,6 +2648,12 @@ version = "0.10.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "73473c0e59e6d5812c5dfe2a064a6444949f089e20eec9a2e5506596494e4623" +[[package]] +name = "strsim" +version = "0.11.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7da8b5736845d9f2fcb837ea5d9e2628564b3b043a70948a3f0b778838c5fb4f" + [[package]] name = "subtle" version = "2.4.1" @@ -2078,12 +2664,14 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" name = "sunrise-stake" version = "0.1.0" dependencies = [ + "ahash 0.7.8", "anchor-lang", "anchor-spl", "impact-nft-cpi", "marinade-cpi", "mpl-token-metadata", "spl-stake-pool", + "spl-token-2022 3.0.4", ] [[package]] @@ -2097,6 +2685,29 @@ dependencies = [ "unicode-ident", ] +[[package]] +name = "syn" +version = "2.0.76" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "578e081a14e0cefc3279b0472138c513f37b41a08d5a3cca9b6e4e8ceb6cd525" +dependencies = [ + "proc-macro2", + "quote", + "unicode-ident", +] + +[[package]] +name = "syn_derive" +version = "0.1.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1329189c02ff984e9736652b1631330da25eaa6bc639089ed4915d25446cbe7b" +dependencies = [ + "proc-macro-error", + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "synstructure" version = "0.12.6" @@ -2105,7 +2716,7 @@ checksum = "f36bdaa60a83aca3921b5259d5400cbf5e90fc51931376a9bd4a0eb79aa7210f" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", "unicode-xid", ] @@ -2120,22 +2731,22 @@ dependencies = [ [[package]] name = "thiserror" -version = "1.0.38" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6a9cd18aa97d5c45c6603caea1da6628790b37f7a34b6ca89522331c5180fed0" +checksum = "c0342370b38b6a11b6cc11d6a805569958d54cfa061a29969c3b5ce2ea405724" dependencies = [ "thiserror-impl", ] [[package]] name = "thiserror-impl" -version = "1.0.38" +version = "1.0.63" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1fb327af4685e4d03fa8cbcf1716380da910eeb2bb8be417e7f9fd3fb164f36f" +checksum = "a4558b58466b9ad7ca0f102865eccc95938dca1a74a856f2b57b6629050da261" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.76", ] [[package]] @@ -2148,7 +2759,7 @@ dependencies = [ "hmac 0.8.1", "once_cell", "pbkdf2 0.4.0", - "rand", + "rand 0.7.3", "rustc-hash", "sha2 0.9.9", "thiserror", @@ -2181,6 +2792,23 @@ dependencies = [ "serde", ] +[[package]] +name = "toml_datetime" +version = "0.6.8" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" + +[[package]] +name = "toml_edit" +version = "0.21.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6a8534fd7f78b5405e860340ad6575217ce99f38d4d5c8f2442cb5ecb50090e1" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + [[package]] name = "typenum" version = "1.16.0" @@ -2189,13 +2817,13 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" -version = "0.8.5" +version = "0.9.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177" +checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" dependencies = [ "byteorder", "crunchy", - "rustc-hex", + "hex", "static_assertions", ] @@ -2266,34 +2894,35 @@ checksum = "9c8d87e72b64a3b4db28d11ce29237c246188f4f51057d65a7eab63b7987e423" [[package]] name = "wasm-bindgen" -version = "0.2.83" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eaf9f5aceeec8be17c128b2e93e031fb8a4d469bb9c4ae2d7dc1888b26887268" +checksum = "a82edfc16a6c469f5f44dc7b571814045d60404b55a0ee849f9bcfa2e63dd9b5" dependencies = [ "cfg-if", + "once_cell", "wasm-bindgen-macro", ] [[package]] name = "wasm-bindgen-backend" -version = "0.2.83" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c8ffb332579b0557b52d268b91feab8df3615f265d5270fec2a8c95b17c1142" +checksum = "9de396da306523044d3302746f1208fa71d7532227f15e347e2d93e4145dd77b" dependencies = [ "bumpalo", "log", "once_cell", "proc-macro2", "quote", - "syn", + "syn 2.0.76", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-macro" -version = "0.2.83" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "052be0f94026e6cbc75cdefc9bae13fd6052cdcaf532fa6c45e7ae33a1e6c810" +checksum = "585c4c91a46b072c92e908d99cb1dcdf95c5218eeb6f3bf1efa991ee7a68cccf" dependencies = [ "quote", "wasm-bindgen-macro-support", @@ -2301,22 +2930,22 @@ dependencies = [ [[package]] name = "wasm-bindgen-macro-support" -version = "0.2.83" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07bc0c051dc5f23e307b13285f9d75df86bfdf816c5721e573dec1f9b8aa193c" +checksum = "afc340c74d9005395cf9dd098506f7f44e38f2b4a21c6aaacf9a105ea5e1e836" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 2.0.76", "wasm-bindgen-backend", "wasm-bindgen-shared", ] [[package]] name = "wasm-bindgen-shared" -version = "0.2.83" +version = "0.2.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1c38c045535d93ec4f0b4defec448e4291638ee608530863b1e2ba115d4fff7f" +checksum = "c62a0a307cb4a311d3a07867860911ca130c3494e8c2719593806c08bc5d0484" [[package]] name = "web-sys" @@ -2416,12 +3045,41 @@ version = "0.42.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "447660ad36a13288b1db4d4248e857b510e8c3a225c822ba4fb748c0aafecffd" +[[package]] +name = "winnow" +version = "0.5.40" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f593a95398737aeed53e489c785df13f3618e41dbcd6718c6addbf1395aa6876" +dependencies = [ + "memchr", +] + [[package]] name = "yansi" version = "0.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "09041cd90cf85f7f8b2df60c646f853b7f535ce68f85244eb6731cf89fa498ec" +[[package]] +name = "zerocopy" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b9b4fd18abc82b8136838da5d50bae7bdea537c574d8dc1a34ed098d6c166f0" +dependencies = [ + "zerocopy-derive", +] + +[[package]] +name = "zerocopy-derive" +version = "0.7.35" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fa4f8080344d4671fb4e831a13ad1e68092748387dfc4f55e356242fae12ce3e" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.76", +] + [[package]] name = "zeroize" version = "1.3.0" @@ -2439,6 +3097,6 @@ checksum = "44bf07cb3e50ea2003396695d58bf46bc9887a1f362260446fad6bc4e79bd36c" dependencies = [ "proc-macro2", "quote", - "syn", + "syn 1.0.107", "synstructure", ] diff --git a/packages/client/src/index.ts b/packages/client/src/index.ts index 333bdf9c..2f7efa11 100644 --- a/packages/client/src/index.ts +++ b/packages/client/src/index.ts @@ -565,7 +565,10 @@ export class SunriseStakeClient { }) ); - if (previousEpochTickets.length === 0) { + if ( + previousEpochTickets.length === 0 && + process.env.OVERRIDE_NULL_RECOVER !== undefined + ) { this.log("No tickets to recover"); return null; } diff --git a/packages/client/src/util.ts b/packages/client/src/util.ts index 39656bb0..48599023 100644 --- a/packages/client/src/util.ts +++ b/packages/client/src/util.ts @@ -271,7 +271,11 @@ export const findAllTickets = async ( } // Uncomment to inject one not found by the above script // tickets.push(new PublicKey("...")); - console.log("found tickets", tickets.map((t) => t.toBase58()).join(", ")); + if (tickets.length) + console.log( + "potential tickets", + tickets.map((t) => t.toBase58()).join(", ") + ); console.log("expected count", expectedCount); // get the actual accounts (in case they have been closed somehow in the meantime) @@ -279,7 +283,7 @@ export const findAllTickets = async ( const accountInfos = await connection.getMultipleAccountsInfo(tickets); // remove missing accounts and return the pubkeys of the non-missing ones. - return accountInfos + const filteredTickets = accountInfos .map((accountInfo, i): [PublicKey, ArrayElement] => [ tickets[i], accountInfo, @@ -289,6 +293,13 @@ export const findAllTickets = async ( element[1] !== null ) .map(([ticket]) => ticket); + + console.log( + "found tickets", + filteredTickets.map((t) => t.toBase58()).join(", ") + ); + + return filteredTickets; }; export const proportionalBN = ( diff --git a/packages/scripts/get.ts b/packages/scripts/get.ts index 80b005b9..76f01d8b 100644 --- a/packages/scripts/get.ts +++ b/packages/scripts/get.ts @@ -1,8 +1,8 @@ import {SunriseStakeClient} from "../client/src/index.js"; import "./util.js"; -import { AnchorProvider } from "@coral-xyz/anchor"; +import {AnchorProvider} from "@coral-xyz/anchor"; import {WalletAdapterNetwork} from "@solana/wallet-adapter-base"; -import {readOnlyProvider} from "./util.js"; +import {readOnlyProvider, recursiveToString} from "./util.js"; import {PublicKey} from "@solana/web3.js"; const getProvider = () => { @@ -23,8 +23,8 @@ const getProvider = () => { verbose: true, }); - if (process.env.VERBOSE) console.log(await client.config); - if (process.env.VERBOSE) console.log(await client.details()); + if (process.env.VERBOSE) console.log("Config:", recursiveToString(await client.config)); + if (process.env.VERBOSE) console.log("Details", recursiveToString(await client.details())); await client.report(); })().catch(console.error); diff --git a/packages/scripts/util.ts b/packages/scripts/util.ts index cef43673..01318771 100644 --- a/packages/scripts/util.ts +++ b/packages/scripts/util.ts @@ -2,6 +2,7 @@ import os from "os"; import {Cluster, clusterApiUrl, PublicKey} from "@solana/web3.js"; import {AnchorProvider} from "@coral-xyz/anchor"; import {Environment} from "@sunrisestake/client"; +import BN, {isBN} from "bn.js"; export const idWallet = os.homedir() + "/.config/solana/id.json"; @@ -22,4 +23,25 @@ export const readOnlyProvider = (publicKey: PublicKey): AnchorProvider => { ); } +export const recursiveToString = (json: any, result: any = {}) => { + for (const key in json) { + // if the object has a toString method (not inherited on its prototype), use it + if (json[key] && json[key].toString && json[key].toString !== Object.prototype.toString) { + result[key] = json[key].toString(); + } else if (json[key] instanceof PublicKey) { + result[key] = json[key].toBase58(); + } else if (isBN(json[key])) { + result[key] = new BN(json[key]).toString(); + } else if (Array.isArray(json[key])) { + result[key] = json[key].map(recursiveToString); + } else if (typeof json[key] === "object") { + result[key] = recursiveToString(json[key]); + } else { + result[key] = json[key]; + } + } + + return result; +} + export const SUNRISE_STAKE_STATE = Environment["mainnet-beta"]; diff --git a/programs/sunrise-stake/Cargo.toml b/programs/sunrise-stake/Cargo.toml index f9376b2b..38d0aa9c 100644 --- a/programs/sunrise-stake/Cargo.toml +++ b/programs/sunrise-stake/Cargo.toml @@ -16,9 +16,11 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -anchor-lang = { version = "0.26.0", features = ["init-if-needed", "allow-missing-optionals"] } -anchor-spl = "0.26.0" +anchor-lang = { version = "0.30.1", features = ["init-if-needed", "allow-missing-optionals"] } +anchor-spl = "0.30.1" +ahash = "0.7.8" impact-nft-cpi = { path = "../../dependencies/impact-nft-cpi" } marinade-cpi = "0.3.0" -spl-stake-pool = {version = "0.6.4", features = ["no-entrypoint"] } -mpl-token-metadata = { version="1.4.1", features = ["no-entrypoint"] } +spl-stake-pool = {version = "1.0.0", features = ["no-entrypoint"] } +mpl-token-metadata = "4.1.2" +spl-token-2022 = { version = "3.0.4", features = ["no-entrypoint"] } diff --git a/programs/sunrise-stake/src/instructions/init_epoch_report.rs b/programs/sunrise-stake/src/instructions/init_epoch_report.rs index 7a1c8874..9fdffc3b 100644 --- a/programs/sunrise-stake/src/instructions/init_epoch_report.rs +++ b/programs/sunrise-stake/src/instructions/init_epoch_report.rs @@ -104,7 +104,7 @@ pub fn init_epoch_report_handler<'info>( ctx.accounts.epoch_report_account.tickets = 0; ctx.accounts.epoch_report_account.total_ordered_lamports = 0; ctx.accounts.epoch_report_account.current_gsol_supply = ctx.accounts.gsol_mint.supply; - ctx.accounts.epoch_report_account.bump = *ctx.bumps.get("epoch_report_account").unwrap(); + ctx.accounts.epoch_report_account.bump = ctx.bumps.epoch_report_account; let calculate_yield_accounts: CalculateExtractableYieldProperties = ctx.accounts.deref().into(); let extractable_yield = marinade::calculate_extractable_yield(&calculate_yield_accounts)?; diff --git a/programs/sunrise-stake/src/instructions/init_lock_account.rs b/programs/sunrise-stake/src/instructions/init_lock_account.rs index 95e5e715..81792043 100644 --- a/programs/sunrise-stake/src/instructions/init_lock_account.rs +++ b/programs/sunrise-stake/src/instructions/init_lock_account.rs @@ -47,7 +47,7 @@ pub fn init_lock_account_handler(ctx: Context) -> Result<()> { ctx.accounts.lock_account.updated_to_epoch = None; ctx.accounts.lock_account.owner = ctx.accounts.authority.key(); ctx.accounts.lock_account.token_account = ctx.accounts.lock_gsol_account.key(); - ctx.accounts.lock_account.bump = *ctx.bumps.get("lock_account").unwrap(); + ctx.accounts.lock_account.bump = ctx.bumps.lock_account; ctx.accounts.lock_account.sunrise_yield_at_start = 0; ctx.accounts.lock_account.yield_accrued_by_owner = 0; Ok(()) diff --git a/programs/sunrise-stake/src/instructions/lock_gsol.rs b/programs/sunrise-stake/src/instructions/lock_gsol.rs index ec8db739..4c1b65a2 100644 --- a/programs/sunrise-stake/src/instructions/lock_gsol.rs +++ b/programs/sunrise-stake/src/instructions/lock_gsol.rs @@ -138,13 +138,13 @@ pub fn lock_gsol_handler(ctx: Context, lamports: u64) -> Result<()> { let mint_authority_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_AUTHORITY, - &[*ctx.bumps.get("nft_mint_authority").unwrap()], + &[ctx.bumps.nft_mint_authority], ]; let mint_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_ACCOUNT, ctx.accounts.authority.key.as_ref(), - &[*ctx.bumps.get("nft_mint").unwrap()], + &[ctx.bumps.nft_mint], ]; let pda_signer = &[&mint_authority_seeds[..], &mint_seeds[..]]; diff --git a/programs/sunrise-stake/src/instructions/update_lock_account.rs b/programs/sunrise-stake/src/instructions/update_lock_account.rs index c42495fa..f7a36ede 100644 --- a/programs/sunrise-stake/src/instructions/update_lock_account.rs +++ b/programs/sunrise-stake/src/instructions/update_lock_account.rs @@ -109,7 +109,7 @@ pub fn update_lock_account_handler(ctx: Context) -> Result<() let mint_authority_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_AUTHORITY, - &[*ctx.bumps.get("nft_mint_authority").unwrap()], + &[ctx.bumps.nft_mint_authority], ]; msg!( "Mint authority {:?} seeds: {:?}", diff --git a/programs/sunrise-stake/src/utils/metaplex.rs b/programs/sunrise-stake/src/utils/metaplex.rs index c2e4b5ff..dab4a7fe 100644 --- a/programs/sunrise-stake/src/utils/metaplex.rs +++ b/programs/sunrise-stake/src/utils/metaplex.rs @@ -1,11 +1,12 @@ +use anchor_lang::idl::IdlInstruction::Create; use crate::utils::seeds::GSOL_MINT_AUTHORITY; use crate::CreateMetadata; use anchor_lang::prelude::*; use anchor_lang::solana_program::program::invoke_signed; -use mpl_token_metadata::{ - instruction::{create_metadata_accounts_v3, update_metadata_accounts_v2}, - state::DataV2, -}; +// use mpl_token_metadata::{ +// instruction::{create_metadata_accounts_v3, update_metadata_accounts_v2}, +// state::DataV2, +// }; pub fn create_metadata_account( accounts: &CreateMetadata, @@ -32,7 +33,20 @@ pub fn create_metadata_account( ]; invoke_signed( - &create_metadata_accounts_v3( + &mpl_token_metadata::instructions::CreateMetadataAccountV3(CreateMetadata { + state: Box::new(()), + marinade_state: Box::new(()), + gsol_mint: Box::new(()), + gsol_mint_authority: (), + update_authority: (), + system_program: (), + rent: (), + token_program: (), + metadata: AccountInfo {}, + token_metadata_program: accounts.token_metadata_program.key(), + }, name, symbol, uri) + + accounts.token_metadata_program.key(), accounts.metadata.key(), accounts.gsol_mint.key(), From cb8747b261b072593891cc973bfb52d33c990f84 Mon Sep 17 00:00:00 2001 From: dankelleher Date: Wed, 11 Sep 2024 16:09:37 +0200 Subject: [PATCH 3/3] Rollback program updates --- Cargo.lock | 875 ++++++++++-------- programs/sunrise-stake/Cargo.toml | 10 +- .../src/instructions/init_epoch_report.rs | 2 +- .../src/instructions/init_lock_account.rs | 2 +- .../src/instructions/lock_gsol.rs | 4 +- .../src/instructions/update_lock_account.rs | 2 +- programs/sunrise-stake/src/utils/metaplex.rs | 24 +- 7 files changed, 518 insertions(+), 401 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 57de7269..b63d94ad 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -70,6 +70,20 @@ dependencies = [ "memchr", ] +[[package]] +name = "anchor-attribute-access-control" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "cf7d535e1381be3de2c0716c0a1c1e32ad9df1042cddcf7bc18d743569e53319" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "proc-macro2", + "quote", + "regex", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-access-control" version = "0.30.1" @@ -82,6 +96,21 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-account" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3bcd731f21048a032be27c7791701120e44f3f6371358fc4261a7f716283d29" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "bs58 0.4.0", + "proc-macro2", + "quote", + "rustversion", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-account" version = "0.30.1" @@ -95,6 +124,17 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-constant" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e1be64a48e395fe00b8217287f226078be2cf32dae42fdf8a885b997945c3d28" +dependencies = [ + "anchor-syn 0.26.0", + "proc-macro2", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-constant" version = "0.30.1" @@ -106,6 +146,18 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-error" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "38ea6713d1938c0da03656ff8a693b17dc0396da66d1ba320557f07e86eca0d4" +dependencies = [ + "anchor-syn 0.26.0", + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-error" version = "0.30.1" @@ -117,6 +169,19 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-event" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d401f11efb3644285685f8339829a9786d43ed7490bb1699f33c478d04d5a582" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-event" version = "0.30.1" @@ -129,6 +194,33 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-interface" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c6700a6f5c888a9c33fe8afc0c64fd8575fa28d05446037306d0f96102ae4480" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "heck 0.3.3", + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "anchor-attribute-program" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6ad769993b5266714e8939e47fbdede90e5c030333c7522d99a4d4748cf26712" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "anchor-attribute-program" version = "0.30.1" @@ -146,6 +238,32 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-attribute-state" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "4e677fae4a016a554acdd0e3b7f178d3acafaa7e7ffac6b8690cf4e171f1c116" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "anchor-derive-accounts" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "340beef6809d1c3fcc7ae219153d981e95a8a277ff31985bd7050e32645dc9a8" +dependencies = [ + "anchor-syn 0.26.0", + "anyhow", + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "anchor-derive-accounts" version = "0.30.1" @@ -227,19 +345,43 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "anchor-lang" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "662ceafe667448ee4199a4be2ee83b6bb76da28566eee5cea05f96ab38255af8" +dependencies = [ + "anchor-attribute-access-control 0.26.0", + "anchor-attribute-account 0.26.0", + "anchor-attribute-constant 0.26.0", + "anchor-attribute-error 0.26.0", + "anchor-attribute-event 0.26.0", + "anchor-attribute-interface", + "anchor-attribute-program 0.26.0", + "anchor-attribute-state", + "anchor-derive-accounts 0.26.0", + "arrayref", + "base64 0.13.1", + "bincode", + "borsh 0.9.3", + "bytemuck", + "solana-program", + "thiserror", +] + [[package]] name = "anchor-lang" version = "0.30.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6620c9486d9d36a4389cab5e37dc34a42ed0bfaa62e6a75a2999ce98f8f2e373" dependencies = [ - "anchor-attribute-access-control", - "anchor-attribute-account", - "anchor-attribute-constant", - "anchor-attribute-error", - "anchor-attribute-event", - "anchor-attribute-program", - "anchor-derive-accounts", + "anchor-attribute-access-control 0.30.1", + "anchor-attribute-account 0.30.1", + "anchor-attribute-constant 0.30.1", + "anchor-attribute-error 0.30.1", + "anchor-attribute-event 0.30.1", + "anchor-attribute-program 0.30.1", + "anchor-derive-accounts 0.30.1", "anchor-derive-serde", "anchor-derive-space", "arrayref", @@ -278,17 +420,14 @@ dependencies = [ [[package]] name = "anchor-spl" -version = "0.30.1" +version = "0.26.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "04bd077c34449319a1e4e0bc21cea572960c9ae0d0fefda0dd7c52fcc3c647a3" +checksum = "f32390ce8356f54c0f0245ea156f8190717e37285b8bf4f406a613dc4b954cde" dependencies = [ - "anchor-lang", + "anchor-lang 0.26.0", + "solana-program", "spl-associated-token-account", - "spl-pod 0.2.5", "spl-token", - "spl-token-2022 3.0.4", - "spl-token-group-interface", - "spl-token-metadata-interface 0.3.5", ] [[package]] @@ -310,6 +449,25 @@ dependencies = [ "thiserror", ] +[[package]] +name = "anchor-syn" +version = "0.26.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0418bcb5daac3b8cb1b60d8fdb1d468ca36f5509f31fb51179326fae1028fdcc" +dependencies = [ + "anyhow", + "bs58 0.3.1", + "heck 0.3.3", + "proc-macro2", + "proc-macro2-diagnostics", + "quote", + "serde", + "serde_json", + "sha2 0.9.9", + "syn 1.0.107", + "thiserror", +] + [[package]] name = "anchor-syn" version = "0.30.1" @@ -492,6 +650,12 @@ version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "3441f0f7b02788e948e47f457ca01f1d7e6d92c693bc132c22b087d3141c03ff" +[[package]] +name = "base64" +version = "0.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" + [[package]] name = "base64" version = "0.21.7" @@ -570,6 +734,15 @@ version = "0.2.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "8d696c370c750c948ada61c69a0ee2cbbb9c50b1019ddb86d9317157a99c2cae" +[[package]] +name = "borsh" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b42b13fa9bf62be34702e5ee4526aff22530ae22fe34a0c4290d30d5e4e782e6" +dependencies = [ + "borsh-derive 0.7.2", +] + [[package]] name = "borsh" version = "0.9.3" @@ -600,6 +773,31 @@ dependencies = [ "cfg_aliases", ] +[[package]] +name = "borsh-derive" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "e6aaa45f8eec26e4bf71e7e5492cf53a91591af8f871f422d550e7cc43f6b927" +dependencies = [ + "borsh-derive-internal 0.7.2", + "borsh-schema-derive-internal 0.7.2", + "proc-macro2", + "syn 1.0.107", +] + +[[package]] +name = "borsh-derive" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "307f3740906bac2c118a8122fe22681232b244f1369273e45f1156b45c43d2dd" +dependencies = [ + "borsh-derive-internal 0.8.2", + "borsh-schema-derive-internal 0.8.2", + "proc-macro-crate 0.1.5", + "proc-macro2", + "syn 1.0.107", +] + [[package]] name = "borsh-derive" version = "0.9.3" @@ -640,6 +838,28 @@ dependencies = [ "syn_derive", ] +[[package]] +name = "borsh-derive-internal" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "61621b9d3cca65cc54e2583db84ef912d59ae60d2f04ba61bc0d7fc57556bda2" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "borsh-derive-internal" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d2104c73179359431cc98e016998f2f23bc7a05bc53e79741bcba705f30047bc" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "borsh-derive-internal" version = "0.9.3" @@ -662,6 +882,28 @@ dependencies = [ "syn 1.0.107", ] +[[package]] +name = "borsh-schema-derive-internal" +version = "0.7.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "85b38abfda570837b0949c2c7ebd31417e15607861c23eacb2f668c69f6f3bf7" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + +[[package]] +name = "borsh-schema-derive-internal" +version = "0.8.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ae29eb8418fcd46f723f8691a2ac06857d31179d33d2f2d91eb13967de97c728" +dependencies = [ + "proc-macro2", + "quote", + "syn 1.0.107", +] + [[package]] name = "borsh-schema-derive-internal" version = "0.9.3" @@ -1188,12 +1430,6 @@ dependencies = [ "libc", ] -[[package]] -name = "hex" -version = "0.4.3" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7f24254aa9a54b5c858eaee2f5bccdb46aaf0e486a595ed5fd8f86ba55232a70" - [[package]] name = "hmac" version = "0.8.1" @@ -1257,7 +1493,7 @@ name = "impact-nft-cpi" version = "0.3.0" dependencies = [ "anchor-gen", - "anchor-lang", + "anchor-lang 0.30.1", ] [[package]] @@ -1407,7 +1643,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2fcdda1bb55ae7f617068d8d4c8b13b849f9e08f1dd27a7b793f1af800c2bd10" dependencies = [ "anchor-gen", - "anchor-lang", + "anchor-lang 0.30.1", ] [[package]] @@ -1456,18 +1692,76 @@ dependencies = [ ] [[package]] -name = "mpl-token-metadata" -version = "4.1.2" +name = "mpl-token-auth-rules" +version = "1.5.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "caf0f61b553e424a6234af1268456972ee66c2222e1da89079242251fa7479e5" +checksum = "8637dd3d13d045a43a2410dbb57f0257d506838aa71461faf0eaf2806e6d5071" dependencies = [ "borsh 0.10.3", + "bytemuck", + "mpl-token-metadata-context-derive 0.2.1", + "num-derive 0.3.3", + "num-traits", + "rmp-serde", + "serde", + "shank 0.3.0", + "solana-program", + "solana-zk-token-sdk", + "thiserror", +] + +[[package]] +name = "mpl-token-metadata" +version = "1.13.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "84e73b5df66f4e6f98606e3fb327cbc6a0dba8df11085246f2e766949acb96bb" +dependencies = [ + "arrayref", + "borsh 0.9.3", + "mpl-token-auth-rules", + "mpl-token-metadata-context-derive 0.3.0", + "mpl-utils", "num-derive 0.3.3", "num-traits", + "shank 0.0.11", "solana-program", + "spl-associated-token-account", + "spl-token", "thiserror", ] +[[package]] +name = "mpl-token-metadata-context-derive" +version = "0.2.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "12989bc45715b0ee91944855130131479f9c772e198a910c3eb0ea327d5bffc3" +dependencies = [ + "quote", + "syn 1.0.107", +] + +[[package]] +name = "mpl-token-metadata-context-derive" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b5a739019e11d93661a64ef5fe108ab17c79b35961e944442ff6efdd460ad01a" +dependencies = [ + "quote", + "syn 1.0.107", +] + +[[package]] +name = "mpl-utils" +version = "0.2.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "822133b6cba8f9a43e5e0e189813be63dd795858f54155c729833be472ffdb51" +dependencies = [ + "arrayref", + "borsh 0.9.3", + "solana-program", + "spl-token", +] + [[package]] name = "num-bigint" version = "0.4.6" @@ -1528,13 +1822,34 @@ dependencies = [ "libc", ] +[[package]] +name = "num_enum" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1f646caf906c20226733ed5b1374287eb97e3c2a5c227ce668c1f2ce20ae57c9" +dependencies = [ + "num_enum_derive 0.5.11", +] + [[package]] name = "num_enum" version = "0.7.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "4e613fc340b2220f734a8595782c551f1250e969d87d3be1ae0579e8d4065179" dependencies = [ - "num_enum_derive", + "num_enum_derive 0.7.3", +] + +[[package]] +name = "num_enum_derive" +version = "0.5.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "dcbff9bc912032c62bf65ef1d5aea88983b420f4f839db1e9b0c281a25c9c799" +dependencies = [ + "proc-macro-crate 1.3.1", + "proc-macro2", + "quote", + "syn 1.0.107", ] [[package]] @@ -1643,15 +1958,25 @@ dependencies = [ [[package]] name = "proc-macro-crate" -version = "3.1.0" +version = "1.3.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +checksum = "7f4c021e1093a56626774e81216a4ce732a735e5bad4868a03f3ed65ca0c3919" dependencies = [ - "toml_edit", + "once_cell", + "toml_edit 0.19.15", ] [[package]] -name = "proc-macro-error" +name = "proc-macro-crate" +version = "3.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "6d37c51ca738a55da99dc0c4a34860fd675453b8b36209178c2249bb13651284" +dependencies = [ + "toml_edit 0.21.1", +] + +[[package]] +name = "proc-macro-error" version = "1.0.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "da25490ff9892aab3fcf7c36f08cfb902dd3e71ca0f9f9517bea02a73a5ce38c" @@ -1852,12 +2177,40 @@ version = "0.6.28" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "456c603be3e8d448b072f410900c09faf164fbce2d480456f50eea6e25f9c848" +[[package]] +name = "rmp" +version = "0.8.14" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "228ed7c16fa39782c3b3468e974aec2795e9089153cd08ee2e9aefb3613334c4" +dependencies = [ + "byteorder", + "num-traits", + "paste", +] + +[[package]] +name = "rmp-serde" +version = "1.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "52e599a477cf9840e92f2cde9a7189e67b42c57532749bf90aea6ec10facd4db" +dependencies = [ + "byteorder", + "rmp", + "serde", +] + [[package]] name = "rustc-hash" version = "1.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "08d43f7aa6b08d49f382cde6a7982047c3426db949b1424bc4b7ec9ae12c6ce2" +[[package]] +name = "rustc-hex" +version = "2.1.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "3e75f6a532d0fd9f7f13144f392b6ad56a32696bfcd9c78f797f16bbb6f072d6" + [[package]] name = "rustc_version" version = "0.4.0" @@ -2000,6 +2353,86 @@ dependencies = [ "keccak", ] +[[package]] +name = "shank" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b63e565b5e95ad88ab38f312e89444c749360641c509ef2de0093b49f55974a5" +dependencies = [ + "shank_macro 0.0.11", +] + +[[package]] +name = "shank" +version = "0.3.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "57c9395612d493b69a522725eef78a095f199d43eeb847f4a4b77ec0cacab535" +dependencies = [ + "shank_macro 0.3.0", +] + +[[package]] +name = "shank_macro" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "63927d22a1e8b74bda98cc6e151fcdf178b7abb0dc6c4f81e0bbf5ffe2fc4ec8" +dependencies = [ + "proc-macro2", + "quote", + "shank_macro_impl 0.0.11", + "syn 1.0.107", +] + +[[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 0.3.0", + "shank_render", + "syn 1.0.107", +] + +[[package]] +name = "shank_macro_impl" +version = "0.0.11" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "40ce03403df682f80f4dc1efafa87a4d0cb89b03726d0565e6364bdca5b9a441" +dependencies = [ + "anyhow", + "proc-macro2", + "quote", + "serde", + "syn 1.0.107", +] + +[[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.107", +] + +[[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 0.3.0", +] + [[package]] name = "shlex" version = "1.3.0" @@ -2166,7 +2599,7 @@ dependencies = [ "memmap2", "num-derive 0.4.2", "num-traits", - "num_enum", + "num_enum 0.7.3", "pbkdf2 0.11.0", "qstring", "qualifier_attr", @@ -2205,12 +2638,6 @@ dependencies = [ "syn 2.0.76", ] -[[package]] -name = "solana-security-txt" -version = "1.1.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "468aa43b7edb1f9b7b7b686d5c3aeb6630dc1708e86e31343499dd5c4d775183" - [[package]] name = "solana-zk-token-sdk" version = "1.18.22" @@ -2242,97 +2669,28 @@ dependencies = [ [[package]] name = "spl-associated-token-account" -version = "3.0.4" +version = "1.1.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "143109d789171379e6143ef23191786dfaac54289ad6e7917cfb26b36c432b10" +checksum = "978dba3bcbe88d0c2c58366c254d9ea41c5f73357e72fc0bdee4d6b5fc99c8f4" dependencies = [ "assert_matches", - "borsh 1.5.1", - "num-derive 0.4.2", + "borsh 0.9.3", + "num-derive 0.3.3", "num-traits", "solana-program", "spl-token", - "spl-token-2022 3.0.4", - "thiserror", -] - -[[package]] -name = "spl-discriminator" -version = "0.1.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cce5d563b58ef1bb2cdbbfe0dfb9ffdc24903b10ae6a4df2d8f425ece375033f" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator-derive 0.1.2", -] - -[[package]] -name = "spl-discriminator" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "210101376962bb22bb13be6daea34656ea1cbc248fce2164b146e39203b55e03" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator-derive 0.2.0", -] - -[[package]] -name = "spl-discriminator-derive" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "07fd7858fc4ff8fb0e34090e41d7eb06a823e1057945c26d480bfc21d2338a93" -dependencies = [ - "quote", - "spl-discriminator-syn 0.1.2", - "syn 2.0.76", -] - -[[package]] -name = "spl-discriminator-derive" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d9e8418ea6269dcfb01c712f0444d2c75542c04448b480e87de59d2865edc750" -dependencies = [ - "quote", - "spl-discriminator-syn 0.2.0", - "syn 2.0.76", -] - -[[package]] -name = "spl-discriminator-syn" -version = "0.1.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "18fea7be851bd98d10721782ea958097c03a0c2a07d8d4997041d0ece6319a63" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.76", - "thiserror", -] - -[[package]] -name = "spl-discriminator-syn" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8c1f05593b7ca9eac7caca309720f2eafb96355e037e6d373b909a80fe7b69b9" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.76", + "spl-token-2022", "thiserror", ] [[package]] name = "spl-math" -version = "0.2.0" +version = "0.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "102d87a7608c793497fa3e85e9d0e24a33be06a94fb029b2cd30d794295f8110" +checksum = "2ecdd22720b9e5ab578a862928f5010ca197419502bdace600ccd5d23dae9352" dependencies = [ - "borsh 0.10.3", + "borsh 0.7.2", + "borsh-derive 0.8.2", "num-derive 0.3.3", "num-traits", "solana-program", @@ -2342,300 +2700,66 @@ dependencies = [ [[package]] name = "spl-memo" -version = "4.0.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a49f49f95f2d02111ded31696ab38a081fab623d4c76bd4cb074286db4560836" -dependencies = [ - "solana-program", -] - -[[package]] -name = "spl-pod" -version = "0.1.0" +version = "3.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2881dddfca792737c0706fa0175345ab282b1b0879c7d877bad129645737c079" +checksum = "bd0dc6f70db6bacea7ff25870b016a65ba1d1b6013536f08e4fd79a8f9005325" dependencies = [ - "borsh 0.10.3", - "bytemuck", "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.3.0", -] - -[[package]] -name = "spl-pod" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c52d84c55efeef8edcc226743dc089d7e3888b8e3474569aa3eff152b37b9996" -dependencies = [ - "borsh 1.5.1", - "bytemuck", - "solana-program", - "solana-zk-token-sdk", - "spl-program-error 0.4.4", -] - -[[package]] -name = "spl-program-error" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "249e0318493b6bcf27ae9902600566c689b7dfba9f1bdff5893e92253374e78c" -dependencies = [ - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-program-error-derive 0.3.2", - "thiserror", -] - -[[package]] -name = "spl-program-error" -version = "0.4.4" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e45a49acb925db68aa501b926096b2164adbdcade7a0c24152af9f0742d0a602" -dependencies = [ - "num-derive 0.4.2", - "num-traits", - "solana-program", - "spl-program-error-derive 0.4.1", - "thiserror", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.3.2" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "1845dfe71fd68f70382232742e758557afe973ae19e6c06807b2c30f5d5cb474" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.76", -] - -[[package]] -name = "spl-program-error-derive" -version = "0.4.1" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e6d375dd76c517836353e093c2dbb490938ff72821ab568b545fd30ab3256b3e" -dependencies = [ - "proc-macro2", - "quote", - "sha2 0.10.8", - "syn 2.0.76", ] [[package]] name = "spl-stake-pool" -version = "1.0.0" +version = "0.6.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48f973333ac37c47dac368cc13088ebebaa7d67e50a7f56a2a83f090bc32c2cb" +checksum = "027ca58e3b61c000dcc264878d4b6fd98f6f89ad363d91e972c11abf167168c5" dependencies = [ "arrayref", "bincode", - "borsh 0.10.3", - "bytemuck", - "num-derive 0.4.2", + "borsh 0.9.3", + "num-derive 0.3.3", "num-traits", - "num_enum", + "num_enum 0.5.11", "serde", "serde_derive", "solana-program", - "solana-security-txt", "spl-math", - "spl-pod 0.1.0", - "spl-token-2022 0.9.0", + "spl-token", "thiserror", ] -[[package]] -name = "spl-tlv-account-resolution" -version = "0.4.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "062e148d3eab7b165582757453632ffeef490c02c86a48bfdb4988f63eefb3b9" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-tlv-account-resolution" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fab8edfd37be5fa17c9e42c1bff86abbbaf0494b031b37957f2728ad2ff842ba" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-type-length-value 0.4.6", -] - [[package]] name = "spl-token" -version = "4.0.3" +version = "3.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b9eb465e4bf5ce1d498f05204c8089378c1ba34ef2777ea95852fc53a1fd4fb2" +checksum = "8e85e168a785e82564160dcb87b2a8e04cee9bfd1f4d488c729d53d6a4bd300d" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.4.2", - "num-traits", - "num_enum", - "solana-program", - "thiserror", -] - -[[package]] -name = "spl-token-2022" -version = "0.9.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e4abf34a65ba420584a0c35f3903f8d727d1f13ababbdc3f714c6b065a686e86" -dependencies = [ - "arrayref", - "bytemuck", - "num-derive 0.4.2", + "num-derive 0.3.3", "num-traits", - "num_enum", + "num_enum 0.5.11", "solana-program", - "solana-zk-token-sdk", - "spl-memo", - "spl-pod 0.1.0", - "spl-token", - "spl-token-metadata-interface 0.2.0", - "spl-transfer-hook-interface 0.3.0", - "spl-type-length-value 0.3.0", "thiserror", ] [[package]] name = "spl-token-2022" -version = "3.0.4" +version = "0.6.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b01d1b2851964e257187c0bca43a0de38d0af59192479ca01ac3e2b58b1bd95a" +checksum = "0043b590232c400bad5ee9eb983ced003d15163c4c5d56b090ac6d9a57457b47" dependencies = [ "arrayref", "bytemuck", - "num-derive 0.4.2", + "num-derive 0.3.3", "num-traits", - "num_enum", + "num_enum 0.5.11", "solana-program", - "solana-security-txt", "solana-zk-token-sdk", "spl-memo", - "spl-pod 0.2.5", "spl-token", - "spl-token-group-interface", - "spl-token-metadata-interface 0.3.5", - "spl-transfer-hook-interface 0.6.5", - "spl-type-length-value 0.4.6", "thiserror", ] -[[package]] -name = "spl-token-group-interface" -version = "0.2.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "014817d6324b1e20c4bbc883e8ee30a5faa13e59d91d1b2b95df98b920150c17" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", -] - -[[package]] -name = "spl-token-metadata-interface" -version = "0.2.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4c16ce3ba6979645fb7627aa1e435576172dd63088dc7848cb09aa331fa1fe4f" -dependencies = [ - "borsh 0.10.3", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-token-metadata-interface" -version = "0.3.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f3da00495b602ebcf5d8ba8b3ecff1ee454ce4c125c9077747be49c2d62335ba" -dependencies = [ - "borsh 1.5.1", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-type-length-value 0.4.6", -] - -[[package]] -name = "spl-transfer-hook-interface" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "051d31803f873cabe71aec3c1b849f35248beae5d19a347d93a5c9cccc5d5a9b" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", - "spl-tlv-account-resolution 0.4.0", - "spl-type-length-value 0.3.0", -] - -[[package]] -name = "spl-transfer-hook-interface" -version = "0.6.5" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a9b5c08a89838e5a2931f79b17f611857f281a14a2100968a3ccef352cb7414b" -dependencies = [ - "arrayref", - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", - "spl-tlv-account-resolution 0.6.5", - "spl-type-length-value 0.4.6", -] - -[[package]] -name = "spl-type-length-value" -version = "0.3.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "a468e6f6371f9c69aae760186ea9f1a01c2908351b06a5e0026d21cfc4d7ecac" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.1.0", - "spl-pod 0.1.0", - "spl-program-error 0.3.0", -] - -[[package]] -name = "spl-type-length-value" -version = "0.4.6" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c872f93d0600e743116501eba2d53460e73a12c9a496875a42a7d70e034fe06d" -dependencies = [ - "bytemuck", - "solana-program", - "spl-discriminator 0.2.5", - "spl-pod 0.2.5", - "spl-program-error 0.4.4", -] - [[package]] name = "static_assertions" version = "1.1.0" @@ -2664,14 +2788,12 @@ checksum = "6bdef32e8150c2a081110b42772ffe7d7c9032b606bc226c8260fd97e0976601" name = "sunrise-stake" version = "0.1.0" dependencies = [ - "ahash 0.7.8", - "anchor-lang", + "anchor-lang 0.26.0", "anchor-spl", "impact-nft-cpi", "marinade-cpi", "mpl-token-metadata", "spl-stake-pool", - "spl-token-2022 3.0.4", ] [[package]] @@ -2798,6 +2920,17 @@ version = "0.6.8" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "0dd7358ecb8fc2f8d014bf86f6f638ce72ba252a2c3a2572f2a795f1d23efb41" +[[package]] +name = "toml_edit" +version = "0.19.15" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1b5bb770da30e5cbfde35a2d7b9b8a2c4b8ef89548a7a6aeab5c9a576e3e7421" +dependencies = [ + "indexmap", + "toml_datetime", + "winnow", +] + [[package]] name = "toml_edit" version = "0.21.1" @@ -2817,13 +2950,13 @@ checksum = "497961ef93d974e23eb6f433eb5fe1b7930b659f06d12dec6fc44a8f554c0bba" [[package]] name = "uint" -version = "0.9.5" +version = "0.8.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "76f64bba2c53b04fcab63c01a7d7427eadc821e3bc48c34dc9ba29c501164b52" +checksum = "9db035e67dfaf7edd9aebfe8676afcd63eed53c8a4044fed514c8cccf1835177" dependencies = [ "byteorder", "crunchy", - "hex", + "rustc-hex", "static_assertions", ] diff --git a/programs/sunrise-stake/Cargo.toml b/programs/sunrise-stake/Cargo.toml index 38d0aa9c..f9376b2b 100644 --- a/programs/sunrise-stake/Cargo.toml +++ b/programs/sunrise-stake/Cargo.toml @@ -16,11 +16,9 @@ cpi = ["no-entrypoint"] default = [] [dependencies] -anchor-lang = { version = "0.30.1", features = ["init-if-needed", "allow-missing-optionals"] } -anchor-spl = "0.30.1" -ahash = "0.7.8" +anchor-lang = { version = "0.26.0", features = ["init-if-needed", "allow-missing-optionals"] } +anchor-spl = "0.26.0" impact-nft-cpi = { path = "../../dependencies/impact-nft-cpi" } marinade-cpi = "0.3.0" -spl-stake-pool = {version = "1.0.0", features = ["no-entrypoint"] } -mpl-token-metadata = "4.1.2" -spl-token-2022 = { version = "3.0.4", features = ["no-entrypoint"] } +spl-stake-pool = {version = "0.6.4", features = ["no-entrypoint"] } +mpl-token-metadata = { version="1.4.1", features = ["no-entrypoint"] } diff --git a/programs/sunrise-stake/src/instructions/init_epoch_report.rs b/programs/sunrise-stake/src/instructions/init_epoch_report.rs index 9fdffc3b..7a1c8874 100644 --- a/programs/sunrise-stake/src/instructions/init_epoch_report.rs +++ b/programs/sunrise-stake/src/instructions/init_epoch_report.rs @@ -104,7 +104,7 @@ pub fn init_epoch_report_handler<'info>( ctx.accounts.epoch_report_account.tickets = 0; ctx.accounts.epoch_report_account.total_ordered_lamports = 0; ctx.accounts.epoch_report_account.current_gsol_supply = ctx.accounts.gsol_mint.supply; - ctx.accounts.epoch_report_account.bump = ctx.bumps.epoch_report_account; + ctx.accounts.epoch_report_account.bump = *ctx.bumps.get("epoch_report_account").unwrap(); let calculate_yield_accounts: CalculateExtractableYieldProperties = ctx.accounts.deref().into(); let extractable_yield = marinade::calculate_extractable_yield(&calculate_yield_accounts)?; diff --git a/programs/sunrise-stake/src/instructions/init_lock_account.rs b/programs/sunrise-stake/src/instructions/init_lock_account.rs index 81792043..95e5e715 100644 --- a/programs/sunrise-stake/src/instructions/init_lock_account.rs +++ b/programs/sunrise-stake/src/instructions/init_lock_account.rs @@ -47,7 +47,7 @@ pub fn init_lock_account_handler(ctx: Context) -> Result<()> { ctx.accounts.lock_account.updated_to_epoch = None; ctx.accounts.lock_account.owner = ctx.accounts.authority.key(); ctx.accounts.lock_account.token_account = ctx.accounts.lock_gsol_account.key(); - ctx.accounts.lock_account.bump = ctx.bumps.lock_account; + ctx.accounts.lock_account.bump = *ctx.bumps.get("lock_account").unwrap(); ctx.accounts.lock_account.sunrise_yield_at_start = 0; ctx.accounts.lock_account.yield_accrued_by_owner = 0; Ok(()) diff --git a/programs/sunrise-stake/src/instructions/lock_gsol.rs b/programs/sunrise-stake/src/instructions/lock_gsol.rs index 4c1b65a2..ec8db739 100644 --- a/programs/sunrise-stake/src/instructions/lock_gsol.rs +++ b/programs/sunrise-stake/src/instructions/lock_gsol.rs @@ -138,13 +138,13 @@ pub fn lock_gsol_handler(ctx: Context, lamports: u64) -> Result<()> { let mint_authority_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_AUTHORITY, - &[ctx.bumps.nft_mint_authority], + &[*ctx.bumps.get("nft_mint_authority").unwrap()], ]; let mint_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_ACCOUNT, ctx.accounts.authority.key.as_ref(), - &[ctx.bumps.nft_mint], + &[*ctx.bumps.get("nft_mint").unwrap()], ]; let pda_signer = &[&mint_authority_seeds[..], &mint_seeds[..]]; diff --git a/programs/sunrise-stake/src/instructions/update_lock_account.rs b/programs/sunrise-stake/src/instructions/update_lock_account.rs index f7a36ede..c42495fa 100644 --- a/programs/sunrise-stake/src/instructions/update_lock_account.rs +++ b/programs/sunrise-stake/src/instructions/update_lock_account.rs @@ -109,7 +109,7 @@ pub fn update_lock_account_handler(ctx: Context) -> Result<() let mint_authority_seeds = &[ state_address.as_ref(), IMPACT_NFT_MINT_AUTHORITY, - &[ctx.bumps.nft_mint_authority], + &[*ctx.bumps.get("nft_mint_authority").unwrap()], ]; msg!( "Mint authority {:?} seeds: {:?}", diff --git a/programs/sunrise-stake/src/utils/metaplex.rs b/programs/sunrise-stake/src/utils/metaplex.rs index dab4a7fe..c2e4b5ff 100644 --- a/programs/sunrise-stake/src/utils/metaplex.rs +++ b/programs/sunrise-stake/src/utils/metaplex.rs @@ -1,12 +1,11 @@ -use anchor_lang::idl::IdlInstruction::Create; use crate::utils::seeds::GSOL_MINT_AUTHORITY; use crate::CreateMetadata; use anchor_lang::prelude::*; use anchor_lang::solana_program::program::invoke_signed; -// use mpl_token_metadata::{ -// instruction::{create_metadata_accounts_v3, update_metadata_accounts_v2}, -// state::DataV2, -// }; +use mpl_token_metadata::{ + instruction::{create_metadata_accounts_v3, update_metadata_accounts_v2}, + state::DataV2, +}; pub fn create_metadata_account( accounts: &CreateMetadata, @@ -33,20 +32,7 @@ pub fn create_metadata_account( ]; invoke_signed( - &mpl_token_metadata::instructions::CreateMetadataAccountV3(CreateMetadata { - state: Box::new(()), - marinade_state: Box::new(()), - gsol_mint: Box::new(()), - gsol_mint_authority: (), - update_authority: (), - system_program: (), - rent: (), - token_program: (), - metadata: AccountInfo {}, - token_metadata_program: accounts.token_metadata_program.key(), - }, name, symbol, uri) - - + &create_metadata_accounts_v3( accounts.token_metadata_program.key(), accounts.metadata.key(), accounts.gsol_mint.key(),