From 0d01893247dfcdb5d324a05e6faf6b173a547a32 Mon Sep 17 00:00:00 2001 From: Guillermo Bescos Date: Mon, 7 Oct 2024 19:45:44 +0100 Subject: [PATCH] go --- apps/staking/src/api.ts | 58 ++++-- apps/staking/src/hooks/use-api.tsx | 17 +- .../idl/stake_caps_parameters.json | 76 ++++++++ governance/pyth_staking_sdk/package.json | 1 + governance/pyth_staking_sdk/src/constants.ts | 4 + governance/pyth_staking_sdk/src/index.ts | 1 + governance/pyth_staking_sdk/src/pdas.ts | 9 + .../pyth_staking_sdk/src/pythnet-client.ts | 58 ++++++ governance/pyth_staking_sdk/src/types.ts | 4 + .../types/stake_caps_parameters.ts | 82 ++++++++ pnpm-lock.yaml | 179 +++--------------- 11 files changed, 322 insertions(+), 167 deletions(-) create mode 100644 governance/pyth_staking_sdk/idl/stake_caps_parameters.json create mode 100644 governance/pyth_staking_sdk/src/pythnet-client.ts create mode 100644 governance/pyth_staking_sdk/types/stake_caps_parameters.ts diff --git a/apps/staking/src/api.ts b/apps/staking/src/api.ts index 26b012a94..af056c36e 100644 --- a/apps/staking/src/api.ts +++ b/apps/staking/src/api.ts @@ -5,6 +5,7 @@ import { getAmountByTargetAndState, getCurrentEpoch, PositionState, + PythnetClient, PythStakingClient, type StakeAccountPositions, } from "@pythnetwork/staking-sdk"; @@ -43,6 +44,8 @@ type Data = { cooldown2: bigint; }; yieldRate: bigint; + m: bigint; + z: bigint; integrityStakingPublishers: { name: string | undefined; publicKey: PublicKey; @@ -95,18 +98,29 @@ export const getStakeAccount = async ( export const loadData = async ( client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, stakeAccount?: PublicKey | undefined, ): Promise => stakeAccount === undefined - ? loadDataNoStakeAccount(client, hermesClient) - : loadDataForStakeAccount(client, hermesClient, stakeAccount); + ? loadDataNoStakeAccount(client, pythnetClient, hermesClient) + : loadDataForStakeAccount( + client, + pythnetClient, + hermesClient, + stakeAccount, + ); const loadDataNoStakeAccount = async ( client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, ): Promise => { - const { publishers, ...baseInfo } = await loadBaseInfo(client, hermesClient); + const { publishers, ...baseInfo } = await loadBaseInfo( + client, + pythnetClient, + hermesClient, + ); return { ...baseInfo, @@ -127,6 +141,7 @@ const loadDataNoStakeAccount = async ( const loadDataForStakeAccount = async ( client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, stakeAccount: PublicKey, ): Promise => { @@ -137,7 +152,7 @@ const loadDataForStakeAccount = async ( claimableRewards, stakeAccountPositions, ] = await Promise.all([ - loadBaseInfo(client, hermesClient), + loadBaseInfo(client, pythnetClient, hermesClient), client.getStakeAccountCustody(stakeAccount), client.getUnlockSchedule(stakeAccount), client.getClaimableRewards(stakeAccount), @@ -196,36 +211,49 @@ const loadDataForStakeAccount = async ( const loadBaseInfo = async ( client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, ) => { - const [publishers, walletAmount, poolConfig, currentEpoch] = + const [publishers, walletAmount, poolConfig, currentEpoch, parameters] = await Promise.all([ - loadPublisherData(client, hermesClient), + loadPublisherData(client, pythnetClient, hermesClient), client.getOwnerPythBalance(), client.getPoolConfigAccount(), getCurrentEpoch(client.connection), + pythnetClient.getStakeCapParameters(), ]); - return { yieldRate: poolConfig.y, walletAmount, publishers, currentEpoch }; + return { + yieldRate: poolConfig.y, + walletAmount, + publishers, + currentEpoch, + m: parameters.m, + z: parameters.z, + }; }; const loadPublisherData = async ( client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, ) => { - const [poolData, publisherRankings, publisherCaps] = await Promise.all([ - client.getPoolDataAccount(), - getPublisherRankings(), - hermesClient.getLatestPublisherCaps({ - parsed: true, - }), - ]); + const [poolData, publisherRankings, publisherCaps, publisherNumberOfSymbols] = + await Promise.all([ + client.getPoolDataAccount(), + getPublisherRankings(), + hermesClient.getLatestPublisherCaps({ + parsed: true, + }), + pythnetClient.getPublisherNumberOfSymbols(), + ]); return extractPublisherData(poolData).map((publisher) => { const publisherPubkeyString = publisher.pubkey.toBase58(); const publisherRanking = publisherRankings.find( (ranking) => ranking.publisher === publisherPubkeyString, ); + const numberOfSymbols = publisherNumberOfSymbols[publisherPubkeyString]; const apyHistory = publisher.apyHistory.map(({ epoch, apy }) => ({ date: epochToDate(epoch + 1n), apy, @@ -234,7 +262,7 @@ const loadPublisherData = async ( return { apyHistory, name: undefined, // TODO - numFeeds: publisherRanking?.numSymbols ?? 0, + numFeeds: numberOfSymbols ?? 0, poolCapacity: getPublisherCap(publisherCaps, publisher.pubkey), poolUtilization: publisher.totalDelegation, poolUtilizationDelta: publisher.totalDelegationDelta, diff --git a/apps/staking/src/hooks/use-api.tsx b/apps/staking/src/hooks/use-api.tsx index f1fedfaaa..6d1da9d0d 100644 --- a/apps/staking/src/hooks/use-api.tsx +++ b/apps/staking/src/hooks/use-api.tsx @@ -1,10 +1,10 @@ "use client"; import { HermesClient } from "@pythnetwork/hermes-client"; -import { PythStakingClient } from "@pythnetwork/staking-sdk"; +import { PythnetClient, PythStakingClient } from "@pythnetwork/staking-sdk"; import { useLocalStorageValue } from "@react-hookz/web"; import { useConnection, useWallet } from "@solana/wallet-adapter-react"; -import type { PublicKey } from "@solana/web3.js"; +import { Connection, type PublicKey } from "@solana/web3.js"; import { type ComponentProps, createContext, useContext, useMemo } from "react"; import { useSWRConfig } from "swr"; @@ -43,6 +43,7 @@ const State = { [StateType.LoadedNoStakeAccount]: ( isMainnet: boolean, client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, onCreateAccount: (newAccount: PublicKey) => Promise, ) => ({ @@ -51,7 +52,7 @@ const State = { isMainnet ? "mainnet" : "devnet", client.wallet.publicKey.toBase58(), ], - loadData: () => api.loadData(client, hermesClient), + loadData: () => api.loadData(client, pythnetClient, hermesClient), deposit: async (amount: bigint) => { const account = await api.createStakeAccountAndDeposit(client, amount); return onCreateAccount(account); @@ -61,6 +62,7 @@ const State = { [StateType.Loaded]: ( isMainnet: boolean, client: PythStakingClient, + pythnetClient: PythnetClient, hermesClient: HermesClient, account: PublicKey, allAccounts: [PublicKey, ...PublicKey[]], @@ -92,7 +94,8 @@ const State = { selectAccount, dashboardDataCacheKey, - loadData: () => api.loadData(client, hermesClient, account), + loadData: () => + api.loadData(client, pythnetClient, hermesClient, account), claim: bindApi(api.claim), deposit: bindApi(api.deposit), @@ -141,6 +144,10 @@ const useApiContext = (hermesUrl: string) => { const { isMainnet } = useNetwork(); const { mutate } = useSWRConfig(); const hermesClient = useMemo(() => new HermesClient(hermesUrl), [hermesUrl]); + const pythnetClient = useMemo( + () => new PythnetClient(new Connection("https://pythnet.rpcpool.com")), + [], + ); const pythStakingClient = useMemo( () => wallet.publicKey && wallet.signAllTransactions && wallet.signTransaction @@ -209,6 +216,7 @@ const useApiContext = (hermesUrl: string) => { return State[StateType.Loaded]( isMainnet, pythStakingClient, + pythnetClient, hermesClient, selectedAccount ?? firstAccount, [firstAccount, ...otherAccounts], @@ -221,6 +229,7 @@ const useApiContext = (hermesUrl: string) => { return State[StateType.LoadedNoStakeAccount]( isMainnet, pythStakingClient, + pythnetClient, hermesClient, async (newAccount) => { await stakeAccounts.mutate([newAccount]); diff --git a/governance/pyth_staking_sdk/idl/stake_caps_parameters.json b/governance/pyth_staking_sdk/idl/stake_caps_parameters.json new file mode 100644 index 000000000..93c63b959 --- /dev/null +++ b/governance/pyth_staking_sdk/idl/stake_caps_parameters.json @@ -0,0 +1,76 @@ +{ + "address": "ujSFv8q8woXW5PUnby52PQyxYGUudxkrvgN6A631Qmm", + "metadata": { + "name": "stake_caps_parameters", + "version": "0.1.0", + "spec": "0.1.0", + "description": "Created with Anchor" + }, + "instructions": [ + { + "name": "set_parameters", + "discriminator": [218, 114, 41, 75, 208, 237, 97, 28], + "accounts": [ + { + "name": "signer", + "writable": true, + "signer": true + }, + { + "name": "parameters", + "writable": true, + "pda": { + "seeds": [ + { + "kind": "const", + "value": [112, 97, 114, 97, 109, 101, 116, 101, 114, 115] + } + ] + } + }, + { + "name": "system_program", + "address": "11111111111111111111111111111111" + } + ], + "args": [ + { + "name": "parameters", + "type": { + "defined": { + "name": "Parameters" + } + } + } + ] + } + ], + "accounts": [ + { + "name": "Parameters", + "discriminator": [233, 2, 25, 109, 70, 228, 206, 228] + } + ], + "types": [ + { + "name": "Parameters", + "type": { + "kind": "struct", + "fields": [ + { + "name": "current_authority", + "type": "pubkey" + }, + { + "name": "m", + "type": "u64" + }, + { + "name": "z", + "type": "u64" + } + ] + } + } + ] +} diff --git a/governance/pyth_staking_sdk/package.json b/governance/pyth_staking_sdk/package.json index d023d2644..2b263f597 100644 --- a/governance/pyth_staking_sdk/package.json +++ b/governance/pyth_staking_sdk/package.json @@ -38,6 +38,7 @@ }, "dependencies": { "@coral-xyz/anchor": "^0.30.1", + "@pythnetwork/client": "^2.22.0", "@pythnetwork/solana-utils": "workspace:*", "@solana/spl-governance": "^0.3.28", "@solana/spl-token": "^0.3.7", diff --git a/governance/pyth_staking_sdk/src/constants.ts b/governance/pyth_staking_sdk/src/constants.ts index 0b5249ef9..21ddf52b8 100644 --- a/governance/pyth_staking_sdk/src/constants.ts +++ b/governance/pyth_staking_sdk/src/constants.ts @@ -33,3 +33,7 @@ export const PUBLISHER_CAPS_PROGRAM_ADDRESS = new PublicKey( export const GOVERNANCE_ADDRESS = new PublicKey( "pytGY6tWRgGinSCvRLnSv4fHfBTMoiDGiCsesmHWM6U", ); + +export const STAKE_CAPS_PARAMETERS_PROGRAM_ADDRESS = new PublicKey( + "ujSFv8q8woXW5PUnby52PQyxYGUudxkrvgN6A631Qmm", +); diff --git a/governance/pyth_staking_sdk/src/index.ts b/governance/pyth_staking_sdk/src/index.ts index ed5133977..0606d1f3d 100644 --- a/governance/pyth_staking_sdk/src/index.ts +++ b/governance/pyth_staking_sdk/src/index.ts @@ -1,5 +1,6 @@ export * from "./pdas"; export * from "./pyth-staking-client"; +export * from "./pythnet-client"; export * from "./types"; export * from "./utils/apy"; export * from "./utils/clock"; diff --git a/governance/pyth_staking_sdk/src/pdas.ts b/governance/pyth_staking_sdk/src/pdas.ts index 29df5af88..5fbc05cd9 100644 --- a/governance/pyth_staking_sdk/src/pdas.ts +++ b/governance/pyth_staking_sdk/src/pdas.ts @@ -2,6 +2,8 @@ import { PublicKey } from "@solana/web3.js"; import { INTEGRITY_POOL_PROGRAM_ADDRESS, + STAKE_CAPS_PARAMETERS, + STAKE_CAPS_PARAMETERS_PROGRAM_ADDRESS, STAKING_PROGRAM_ADDRESS, } from "./constants"; @@ -73,3 +75,10 @@ export const getMaxVoterWeightRecordAddress = () => { STAKING_PROGRAM_ADDRESS, ); }; + +export const getStakeCapsParametersAddress = () => { + return PublicKey.findProgramAddressSync( + [Buffer.from("parameters")], + STAKE_CAPS_PARAMETERS_PROGRAM_ADDRESS, + ); +}; diff --git a/governance/pyth_staking_sdk/src/pythnet-client.ts b/governance/pyth_staking_sdk/src/pythnet-client.ts new file mode 100644 index 000000000..bbd9a35b6 --- /dev/null +++ b/governance/pyth_staking_sdk/src/pythnet-client.ts @@ -0,0 +1,58 @@ +import { AnchorProvider, Program } from "@coral-xyz/anchor"; +import { + AccountType, + getPythProgramKeyForCluster, + parseBaseData, + parsePriceData, +} from "@pythnetwork/client"; +import { Connection } from "@solana/web3.js"; + +import { getStakeCapsParametersAddress } from "./pdas"; +import type { Parameters, StakeCapParametersAccount } from "./types"; +import { convertBNToBigInt } from "./utils/bn"; +import { DummyWallet } from "./utils/wallet"; +import * as StakeCapsParametersIdl from "../idl/stake_caps_parameters.json"; +import type { StakeCapsParameters } from "../types/stake_caps_parameters"; +export class PythnetClient { + connection: Connection; + provider: AnchorProvider; + stakeCapParametersProgram: Program; + + constructor(connection: Connection) { + this.connection = connection; + this.provider = new AnchorProvider(connection, DummyWallet); + this.stakeCapParametersProgram = new Program( + StakeCapsParametersIdl as StakeCapsParameters, + this.provider, + ); + } + + async getPublisherNumberOfSymbols() { + const publisherNumberOfSymbols: Record = {}; + const pythAccounts = await this.connection.getProgramAccounts( + getPythProgramKeyForCluster("pythnet"), + ); + for (const account of pythAccounts) { + const base = parseBaseData(account.account.data); + if (base?.type === AccountType.Price) { + const parsed = parsePriceData(account.account.data); + for (const priceComponent of parsed.priceComponents) { + if (publisherNumberOfSymbols[priceComponent.publisher.toBase58()]) { + publisherNumberOfSymbols[priceComponent.publisher.toBase58()]! += 1; + } else { + publisherNumberOfSymbols[priceComponent.publisher.toBase58()] = 1; + } + } + } + } + return publisherNumberOfSymbols; + } + + async getStakeCapParameters(): Promise { + const parameters = + await this.stakeCapParametersProgram.account.parameters.fetch( + getStakeCapsParametersAddress()[0], + ); + return convertBNToBigInt(parameters); + } +} diff --git a/governance/pyth_staking_sdk/src/types.ts b/governance/pyth_staking_sdk/src/types.ts index 92abacd46..5d5c5f226 100644 --- a/governance/pyth_staking_sdk/src/types.ts +++ b/governance/pyth_staking_sdk/src/types.ts @@ -1,5 +1,6 @@ import type { BN, IdlAccounts, IdlTypes } from "@coral-xyz/anchor"; import { PublicKey } from "@solana/web3.js"; +import { StakeCapsParameters } from "types/stake_caps_parameters"; import type { IntegrityPool } from "../types/integrity-pool"; import type { Staking } from "../types/staking"; @@ -40,6 +41,9 @@ export type TargetAccount = ConvertBNToBigInt; export type VoterWeightAction = IdlTypes["voterWeightAction"]; +export type Parameters = IdlTypes["parameters"]; +export type StakeCapParametersAccount = ConvertBNToBigInt; + export type UnlockSchedule = { type: "fullyUnlocked" | "periodicUnlockingAfterListing" | "periodicUnlocking"; schedule: { diff --git a/governance/pyth_staking_sdk/types/stake_caps_parameters.ts b/governance/pyth_staking_sdk/types/stake_caps_parameters.ts new file mode 100644 index 000000000..9c8bfa3e3 --- /dev/null +++ b/governance/pyth_staking_sdk/types/stake_caps_parameters.ts @@ -0,0 +1,82 @@ +/** + * Program IDL in camelCase format in order to be used in JS/TS. + * + * Note that this is only a type helper and is not the actual IDL. The original + * IDL can be found at `target/idl/stake_caps_parameters.json`. + */ +export type StakeCapsParameters = { + address: "ujSFv8q8woXW5PUnby52PQyxYGUudxkrvgN6A631Qmm"; + metadata: { + name: "stakeCapsParameters"; + version: "0.1.0"; + spec: "0.1.0"; + description: "Created with Anchor"; + }; + instructions: [ + { + name: "setParameters"; + discriminator: [218, 114, 41, 75, 208, 237, 97, 28]; + accounts: [ + { + name: "signer"; + writable: true; + signer: true; + }, + { + name: "parameters"; + writable: true; + pda: { + seeds: [ + { + kind: "const"; + value: [112, 97, 114, 97, 109, 101, 116, 101, 114, 115]; + }, + ]; + }; + }, + { + name: "systemProgram"; + address: "11111111111111111111111111111111"; + }, + ]; + args: [ + { + name: "parameters"; + type: { + defined: { + name: "parameters"; + }; + }; + }, + ]; + }, + ]; + accounts: [ + { + name: "parameters"; + discriminator: [233, 2, 25, 109, 70, 228, 206, 228]; + }, + ]; + types: [ + { + name: "parameters"; + type: { + kind: "struct"; + fields: [ + { + name: "currentAuthority"; + type: "pubkey"; + }, + { + name: "m"; + type: "u64"; + }, + { + name: "z"; + type: "u64"; + }, + ]; + }; + }, + ]; +}; diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 794a9b42c..d26c31616 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -359,13 +359,13 @@ importers: version: 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-react': specifier: ^0.15.28 - version: 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + version: 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/wallet-adapter-react-ui': specifier: ^0.9.27 - version: 0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + version: 0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/wallet-adapter-wallets': specifier: 0.19.10 - version: 0.19.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.23.1(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)))(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10) + version: 0.19.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.23.1(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)))(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10) '@solana/web3.js': specifier: 1.92.3 version: 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) @@ -420,7 +420,7 @@ importers: version: 4.9.1 '@cprussin/eslint-config': specifier: ^3.0.0 - version: 3.0.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))(typescript@5.5.4) + version: 3.0.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))(typescript@5.5.4) '@cprussin/jest-config': specifier: ^1.4.1 version: 1.4.1(@babel/core@7.24.7)(@jest/globals@29.7.0)(@jest/transform@29.7.0)(@jest/types@29.6.3)(@types/jest@29.5.12)(@types/node@22.2.0)(babel-jest@29.7.0(@babel/core@7.24.7))(bufferutil@4.0.8)(eslint@9.9.0(jiti@1.21.0))(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))(utf-8-validate@5.0.10) @@ -718,6 +718,9 @@ importers: '@coral-xyz/anchor': specifier: ^0.30.1 version: 0.30.1(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) + '@pythnetwork/client': + specifier: ^2.22.0 + version: 2.22.0(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) '@pythnetwork/solana-utils': specifier: workspace:* version: link:../../target_chains/solana/sdk/js/solana_utils @@ -745,7 +748,7 @@ importers: version: 3.0.1 '@solana/wallet-adapter-react': specifier: ^0.15.28 - version: 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + version: 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@types/jest': specifier: ^29.5.12 version: 29.5.12 @@ -24635,45 +24638,6 @@ snapshots: transitivePeerDependencies: - debug - '@cprussin/eslint-config@3.0.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))(typescript@5.5.4)': - dependencies: - '@babel/core': 7.24.7 - '@babel/eslint-parser': 7.24.7(@babel/core@7.24.7)(eslint@9.5.0) - '@babel/plugin-syntax-import-assertions': 7.24.7(@babel/core@7.24.7) - '@eslint/compat': 1.1.0 - '@eslint/eslintrc': 3.1.0 - '@eslint/js': 9.5.0 - '@next/eslint-plugin-next': 14.2.3 - eslint: 9.5.0 - eslint-config-prettier: 9.1.0(eslint@9.5.0) - eslint-config-turbo: 1.13.4(eslint@9.5.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.5.0) - eslint-plugin-jest: 28.6.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4) - eslint-plugin-jest-dom: 5.4.0(eslint@9.5.0) - eslint-plugin-jsonc: 2.16.0(eslint@9.5.0) - eslint-plugin-jsx-a11y: 6.8.0(eslint@9.5.0) - eslint-plugin-n: 17.9.0(eslint@9.5.0) - eslint-plugin-react: 7.34.2(eslint@9.5.0) - eslint-plugin-react-hooks: 4.6.2(eslint@9.5.0) - eslint-plugin-storybook: 0.8.0(eslint@9.5.0)(typescript@5.5.4) - eslint-plugin-tailwindcss: 3.17.3(tailwindcss@3.4.4(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))) - eslint-plugin-testing-library: 6.2.2(eslint@9.5.0)(typescript@5.5.4) - eslint-plugin-tsdoc: 0.3.0 - eslint-plugin-unicorn: 53.0.0(eslint@9.5.0) - globals: 15.6.0 - tailwindcss: 3.4.4(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)) - typescript-eslint: 7.13.1(eslint@9.5.0)(typescript@5.5.4) - transitivePeerDependencies: - - '@testing-library/dom' - - '@typescript-eslint/eslint-plugin' - - '@typescript-eslint/parser' - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - jest - - supports-color - - ts-node - - typescript - '@cprussin/eslint-config@3.0.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4))(typescript@5.5.4)': dependencies: '@babel/core': 7.24.7 @@ -24687,7 +24651,7 @@ snapshots: eslint-config-prettier: 9.1.0(eslint@9.5.0) eslint-config-turbo: 1.13.4(eslint@9.5.0) eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0) - eslint-plugin-jest: 28.6.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4) + eslint-plugin-jest: 28.6.0(@typescript-eslint/eslint-plugin@7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4) eslint-plugin-jest-dom: 5.4.0(eslint@9.5.0) eslint-plugin-jsonc: 2.16.0(eslint@9.5.0) eslint-plugin-jsx-a11y: 6.8.0(eslint@9.5.0) @@ -24725,7 +24689,7 @@ snapshots: eslint: 9.5.0 eslint-config-prettier: 9.1.0(eslint@9.5.0) eslint-config-turbo: 1.13.4(eslint@9.5.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.5.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0) eslint-plugin-jest: 28.6.0(@typescript-eslint/eslint-plugin@7.13.1(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(jest@29.7.0(@types/node@20.14.7)(ts-node@10.9.2(@types/node@20.14.7)(typescript@5.5.2)))(typescript@5.5.2) eslint-plugin-jest-dom: 5.4.0(eslint@9.5.0) eslint-plugin-jsonc: 2.16.0(eslint@9.5.0) @@ -29664,12 +29628,6 @@ snapshots: crypto-js: 4.2.0 uuidv4: 6.2.13 - '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)': - dependencies: - '@particle-network/auth': 1.3.1 - '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - bs58: 5.0.0 - '@particle-network/solana-wallet@1.3.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)': dependencies: '@particle-network/auth': 1.3.1 @@ -32031,18 +31989,18 @@ snapshots: '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@solana/wallet-adapter-base-ui@0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@solana/wallet-adapter-base-ui@0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) react: 18.3.1 transitivePeerDependencies: - bs58 - react-native - '@solana/wallet-adapter-base-ui@0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@solana/wallet-adapter-base-ui@0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) react: 18.3.1 transitivePeerDependencies: @@ -32196,14 +32154,6 @@ snapshots: '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@solana/wallet-adapter-particle@0.1.12(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)': - dependencies: - '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0) - '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - transitivePeerDependencies: - - bs58 - '@solana/wallet-adapter-particle@0.1.12(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)': dependencies: '@particle-network/solana-wallet': 1.3.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0) @@ -32217,11 +32167,11 @@ snapshots: '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) - '@solana/wallet-adapter-react-ui@0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@solana/wallet-adapter-react-ui@0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@solana/wallet-adapter-base-ui': 0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-base-ui': 0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -32229,11 +32179,11 @@ snapshots: - bs58 - react-native - '@solana/wallet-adapter-react-ui@0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': + '@solana/wallet-adapter-react-ui@0.9.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-dom@18.3.1(react@18.3.1))(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1)': dependencies: '@solana/wallet-adapter-base': 0.9.23(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@solana/wallet-adapter-base-ui': 0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) - '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.0)(@babel/preset-env@7.24.7(@babel/core@7.24.0))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-base-ui': 0.1.2(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) + '@solana/wallet-adapter-react': 0.15.35(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10))(react@18.3.1) '@solana/web3.js': 1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10) react: 18.3.1 react-dom: 18.3.1(react@18.3.1) @@ -32498,7 +32448,7 @@ snapshots: - uWebSockets.js - utf-8-validate - '@solana/wallet-adapter-wallets@0.19.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.23.1(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)))(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)': + '@solana/wallet-adapter-wallets@0.19.10(@babel/runtime@7.25.0)(@react-native-async-storage/async-storage@1.23.1(react-native@0.74.2(@babel/core@7.24.7)(@babel/preset-env@7.24.7(@babel/core@7.24.7))(@types/react@18.3.3)(bufferutil@4.0.8)(encoding@0.1.13)(react@18.3.1)(utf-8-validate@5.0.10)))(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0)(bufferutil@4.0.8)(encoding@0.1.13)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(utf-8-validate@5.0.10)': dependencies: '@solana/wallet-adapter-alpha': 0.1.10(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-avana': 0.1.13(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) @@ -32526,7 +32476,7 @@ snapshots: '@solana/wallet-adapter-nightly': 0.1.16(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-nufi': 0.1.17(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-onto': 0.1.7(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) - '@solana/wallet-adapter-particle': 0.1.12(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@5.0.0) + '@solana/wallet-adapter-particle': 0.1.12(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10))(bs58@6.0.0) '@solana/wallet-adapter-phantom': 0.9.24(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-safepal': 0.5.18(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) '@solana/wallet-adapter-saifu': 0.1.15(@solana/web3.js@1.92.3(bufferutil@4.0.8)(encoding@0.1.13)(utf-8-validate@5.0.10)) @@ -34457,7 +34407,7 @@ snapshots: '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.5.0)(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.5.4) '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/type-utils': 7.13.1(eslint@9.5.0)(typescript@5.5.4) '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.5.4) @@ -34472,25 +34422,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4)': - dependencies: - '@eslint-community/regexpp': 4.10.0 - '@typescript-eslint/parser': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/scope-manager': 7.13.1 - '@typescript-eslint/type-utils': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/utils': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - '@typescript-eslint/visitor-keys': 7.13.1 - eslint: 9.9.0(jiti@1.21.0) - graphemer: 1.4.0 - ignore: 5.3.1 - natural-compare: 1.4.0 - ts-api-utils: 1.3.0(typescript@5.5.4) - optionalDependencies: - typescript: 5.5.4 - transitivePeerDependencies: - - supports-color - optional: true - '@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4)': dependencies: '@eslint-community/regexpp': 4.10.0 @@ -34639,14 +34570,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4)': + '@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4)': dependencies: '@typescript-eslint/scope-manager': 7.13.1 '@typescript-eslint/types': 7.13.1 '@typescript-eslint/typescript-estree': 7.13.1(typescript@5.5.4) '@typescript-eslint/visitor-keys': 7.13.1 debug: 4.3.6(supports-color@8.1.1) - eslint: 9.9.0(jiti@1.21.0) + eslint: 9.5.0 optionalDependencies: typescript: 5.5.4 transitivePeerDependencies: @@ -40055,16 +39986,6 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@9.5.0): - dependencies: - debug: 3.2.7 - optionalDependencies: - '@typescript-eslint/parser': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - eslint: 9.5.0 - eslint-import-resolver-node: 0.3.9 - transitivePeerDependencies: - - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@9.5.0): dependencies: debug: 3.2.7 @@ -40082,33 +40003,6 @@ snapshots: eslint: 9.5.0 eslint-compat-utils: 0.5.1(eslint@9.5.0) - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.5.0): - dependencies: - array-includes: 3.1.8 - array.prototype.findlastindex: 1.2.5 - array.prototype.flat: 1.3.2 - array.prototype.flatmap: 1.3.2 - debug: 3.2.7 - doctrine: 2.1.0 - eslint: 9.5.0 - eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint-import-resolver-node@0.3.9)(eslint@9.5.0) - hasown: 2.0.2 - is-core-module: 2.13.1 - is-glob: 4.0.3 - minimatch: 3.1.2 - object.fromentries: 2.0.8 - object.groupby: 1.0.3 - object.values: 1.2.0 - semver: 6.3.1 - tsconfig-paths: 3.15.0 - optionalDependencies: - '@typescript-eslint/parser': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - transitivePeerDependencies: - - eslint-import-resolver-typescript - - eslint-import-resolver-webpack - - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@8.3.0(eslint@8.56.0)(typescript@5.4.5))(eslint@8.56.0): dependencies: array-includes: 3.1.8 @@ -40169,18 +40063,18 @@ snapshots: eslint: 9.5.0 requireindex: 1.2.0 - eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4): + eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.13.1(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(jest@29.7.0(@types/node@20.14.7)(ts-node@10.9.2(@types/node@20.14.7)(typescript@5.5.2)))(typescript@5.5.2): dependencies: - '@typescript-eslint/utils': 7.7.1(eslint@9.5.0)(typescript@5.5.4) + '@typescript-eslint/utils': 7.7.1(eslint@9.5.0)(typescript@5.5.2) eslint: 9.5.0 optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) - jest: 29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)) + '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(typescript@5.5.2) + jest: 29.7.0(@types/node@20.14.7)(ts-node@10.9.2(@types/node@20.14.7)(typescript@5.5.2)) transitivePeerDependencies: - supports-color - typescript - eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.13.1(@typescript-eslint/parser@8.3.0(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4): + eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4))(eslint@9.5.0)(jest@29.7.0(@types/node@22.2.0)(ts-node@10.9.2(@types/node@22.2.0)(typescript@5.5.4)))(typescript@5.5.4): dependencies: '@typescript-eslint/utils': 7.7.1(eslint@9.5.0)(typescript@5.5.4) eslint: 9.5.0 @@ -40191,17 +40085,6 @@ snapshots: - supports-color - typescript - eslint-plugin-jest@28.6.0(@typescript-eslint/eslint-plugin@7.13.1(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(jest@29.7.0(@types/node@20.14.7)(ts-node@10.9.2(@types/node@20.14.7)(typescript@5.5.2)))(typescript@5.5.2): - dependencies: - '@typescript-eslint/utils': 7.7.1(eslint@9.5.0)(typescript@5.5.2) - eslint: 9.5.0 - optionalDependencies: - '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.2))(eslint@9.5.0)(typescript@5.5.2) - jest: 29.7.0(@types/node@20.14.7)(ts-node@10.9.2(@types/node@20.14.7)(typescript@5.5.2)) - transitivePeerDependencies: - - supports-color - - typescript - eslint-plugin-jsonc@2.16.0(eslint@9.5.0): dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@9.5.0) @@ -51547,7 +51430,7 @@ snapshots: typescript-eslint@7.13.1(eslint@9.5.0)(typescript@5.5.4): dependencies: '@typescript-eslint/eslint-plugin': 7.13.1(@typescript-eslint/parser@7.13.1(eslint@9.5.0)(typescript@5.5.4))(eslint@9.5.0)(typescript@5.5.4) - '@typescript-eslint/parser': 7.13.1(eslint@9.9.0(jiti@1.21.0))(typescript@5.5.4) + '@typescript-eslint/parser': 7.13.1(eslint@9.5.0)(typescript@5.5.4) '@typescript-eslint/utils': 7.13.1(eslint@9.5.0)(typescript@5.5.4) eslint: 9.5.0 optionalDependencies: