diff --git a/gauntlet/packages/gauntlet-serum-multisig/package.json b/gauntlet/packages/gauntlet-serum-multisig/package.json index 6ed0551c5..a5deaaf34 100644 --- a/gauntlet/packages/gauntlet-serum-multisig/package.json +++ b/gauntlet/packages/gauntlet-serum-multisig/package.json @@ -27,7 +27,7 @@ "dependencies": { "@chainlink/gauntlet-core": "0.1.2", "@chainlink/gauntlet-solana": "*", - "@project-serum/anchor": "^0.25.0", + "@coral-xyz/anchor": "^0.29.0", "@solana/web3.js": "^1.50.1" } } diff --git a/gauntlet/packages/gauntlet-serum-multisig/src/commands/multisig.ts b/gauntlet/packages/gauntlet-serum-multisig/src/commands/multisig.ts index ee6c8b190..3c2c8ecea 100644 --- a/gauntlet/packages/gauntlet-serum-multisig/src/commands/multisig.ts +++ b/gauntlet/packages/gauntlet-serum-multisig/src/commands/multisig.ts @@ -1,7 +1,7 @@ import { SolanaCommand, utils } from '@chainlink/gauntlet-solana' import { logger, BN, prompt } from '@chainlink/gauntlet-core/dist/utils' import { PublicKey, Keypair, TransactionInstruction, SystemProgram, AccountMeta } from '@solana/web3.js' -import { Idl, Program } from '@project-serum/anchor' +import { Program } from '@coral-xyz/anchor' import { MAX_BUFFER_SIZE } from '../lib/constants' import { isDeepEqual } from '../lib/utils' import { CONTRACT_LIST, getContract } from '../lib/contracts' @@ -35,7 +35,7 @@ type ProposalState = { export const wrapCommand = (command) => { return class Multisig extends SolanaCommand { command: SolanaCommand - program: Program + program: any // TODO: typing Program doesn't validate multisigAddress: PublicKey static id = `${command.id}:multisig` diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/close.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/close.ts index 127144bd9..77a5af8be 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/close.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/close.ts @@ -1,5 +1,5 @@ import { getAssociatedTokenAddress, TOKEN_PROGRAM_ID } from '@solana/spl-token' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { PublicKey } from '@solana/web3.js' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' import Close from '../../abstract/close' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/initialize.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/initialize.ts index fca5896e1..9275877d1 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/initialize.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/initialize.ts @@ -3,7 +3,7 @@ import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { Keypair, PublicKey, TransactionInstruction, SystemProgram } from '@solana/web3.js' import { getOrCreateAssociatedTokenAccount } from '@solana/spl-token' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { logger, BN, prompt } from '@chainlink/gauntlet-core/dist/utils' import RDD from '../../../lib/rdd' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/proposal/acceptProposal.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/proposal/acceptProposal.ts index 2b3eefca9..ee1e9ef1f 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/proposal/acceptProposal.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/proposal/acceptProposal.ts @@ -4,7 +4,7 @@ import { logger, prompt, BN } from '@chainlink/gauntlet-core/dist/utils' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { PublicKey } from '@solana/web3.js' import { getAssociatedTokenAddress, TOKEN_PROGRAM_ID } from '@solana/spl-token' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { CONTRACT_LIST, getContract } from '../../../../lib/contracts' import ProposeOffchainConfig, { OffchainConfig } from '../proposeOffchainConfig' import { serializeOffchainConfig, deserializeConfig } from '../../../../lib/encoding' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/setBilling.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/setBilling.ts index 3d88c5eb3..daa7a147f 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/setBilling.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/setBilling.ts @@ -2,7 +2,7 @@ import { Result } from '@chainlink/gauntlet-core' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { PublicKey } from '@solana/web3.js' import { getAssociatedTokenAddress, TOKEN_PROGRAM_ID } from '@solana/spl-token' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { logger, BN, prompt } from '@chainlink/gauntlet-core/dist/utils' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' import RDD from '../../../lib/rdd' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/transmit.dev.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/transmit.dev.ts index e298b6f66..45c3170e8 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/transmit.dev.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/transmit.dev.ts @@ -1,6 +1,6 @@ import { Result } from '@chainlink/gauntlet-core' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' -import { parseIdlErrors, ProgramError, utils } from '@project-serum/anchor' +import { parseIdlErrors, ProgramError, utils } from '@coral-xyz/anchor' import { Keypair, PublicKey, Transaction, TransactionInstruction } from '@solana/web3.js' import { createHash } from 'crypto' import * as secp256k1 from 'secp256k1' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawFunds.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawFunds.ts index 4dfb16082..5deb45443 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawFunds.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawFunds.ts @@ -2,7 +2,7 @@ import { Result } from '@chainlink/gauntlet-core' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { PublicKey } from '@solana/web3.js' import { TOKEN_PROGRAM_ID } from '@solana/spl-token' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { logger, BN, prompt } from '@chainlink/gauntlet-core/dist/utils' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawPayment.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawPayment.ts index 60d165b13..822234358 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawPayment.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ocr2/withdrawPayment.ts @@ -2,7 +2,7 @@ import { Result } from '@chainlink/gauntlet-core' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { PublicKey } from '@solana/web3.js' import { TOKEN_PROGRAM_ID } from '@solana/spl-token' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { logger, prompt } from '@chainlink/gauntlet-core/dist/utils' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ownership/inspectOwnership.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ownership/inspectOwnership.ts index 0aed646f8..6590ad55c 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ownership/inspectOwnership.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/ownership/inspectOwnership.ts @@ -1,7 +1,7 @@ import { Result } from '@chainlink/gauntlet-core' import { logger } from '@chainlink/gauntlet-core/dist/utils' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' -import { Idl, Program } from '@project-serum/anchor' +import { Idl, Program } from '@coral-xyz/anchor' import { PublicKey } from '@solana/web3.js' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' import { SolanaConstructor } from '../../../lib/types' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/store/setWriter.ts b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/store/setWriter.ts index b050516d5..f3fe860a9 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/store/setWriter.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/commands/contracts/store/setWriter.ts @@ -2,7 +2,7 @@ import { Result } from '@chainlink/gauntlet-core' import { logger } from '@chainlink/gauntlet-core/dist/utils' import { SolanaCommand, TransactionResponse } from '@chainlink/gauntlet-solana' import { PublicKey } from '@solana/web3.js' -import { utils } from '@project-serum/anchor' +import { utils } from '@coral-xyz/anchor' import { CONTRACT_LIST, getContract } from '../../../lib/contracts' import RDD from '../../../lib/rdd' diff --git a/gauntlet/packages/gauntlet-solana-contracts/src/lib/events.ts b/gauntlet/packages/gauntlet-solana-contracts/src/lib/events.ts index 35bab6fcf..7dd799cab 100644 --- a/gauntlet/packages/gauntlet-solana-contracts/src/lib/events.ts +++ b/gauntlet/packages/gauntlet-solana-contracts/src/lib/events.ts @@ -1,5 +1,5 @@ import { Connection, PublicKey } from '@solana/web3.js' -import { Program } from '@project-serum/anchor' +import { Program } from '@coral-xyz/anchor' import { provider } from '@chainlink/gauntlet-solana' import { BN } from '@chainlink/gauntlet-core/dist/utils' diff --git a/gauntlet/packages/gauntlet-solana/package.json b/gauntlet/packages/gauntlet-solana/package.json index 9162adbd3..83552b095 100644 --- a/gauntlet/packages/gauntlet-solana/package.json +++ b/gauntlet/packages/gauntlet-solana/package.json @@ -28,8 +28,8 @@ "@chainlink/gauntlet-core": "0.1.2", "@ledgerhq/hw-app-solana": "^6.20.0", "@ledgerhq/hw-transport-node-hid": "^6.20.0", - "@project-serum/anchor": "^0.25.0", - "@project-serum/borsh": "^0.2.2", + "@coral-xyz/anchor": "^0.29.0", + "@coral-xyz/borsh": "^0.29.0", "@solana/web3.js": "^1.50.1" } } diff --git a/gauntlet/packages/gauntlet-solana/src/commands/internal/solana.ts b/gauntlet/packages/gauntlet-solana/src/commands/internal/solana.ts index 8521f7e04..92ed6d7e9 100644 --- a/gauntlet/packages/gauntlet-solana/src/commands/internal/solana.ts +++ b/gauntlet/packages/gauntlet-solana/src/commands/internal/solana.ts @@ -12,7 +12,7 @@ import { } from '@solana/web3.js' import { withProvider, withWallet, withNetwork } from '../middlewares' import { TransactionResponse } from '../types' -import { ProgramError, parseIdlErrors, Idl, Program, AnchorProvider } from '@project-serum/anchor' +import { ProgramError, parseIdlErrors, Idl, Program, AnchorProvider } from '@coral-xyz/anchor' import { SolanaWallet } from '../wallet' import { logger } from '@chainlink/gauntlet-core/dist/utils' import { makeTx } from '../../lib/utils' diff --git a/gauntlet/packages/gauntlet-solana/src/commands/middlewares.ts b/gauntlet/packages/gauntlet-solana/src/commands/middlewares.ts index a5612b0dd..b3c5a51e5 100644 --- a/gauntlet/packages/gauntlet-solana/src/commands/middlewares.ts +++ b/gauntlet/packages/gauntlet-solana/src/commands/middlewares.ts @@ -1,7 +1,7 @@ import { Middleware, Next } from '@chainlink/gauntlet-core' import { boolean } from '@chainlink/gauntlet-core/dist/lib/args' import { assertions, logger } from '@chainlink/gauntlet-core/dist/utils' -import { AnchorProvider } from '@project-serum/anchor' +import { AnchorProvider } from '@coral-xyz/anchor' import { Connection, Keypair } from '@solana/web3.js' import { DEFAULT_DERIVATION_PATH } from '../lib/constants' import SolanaCommand from './internal/solana' diff --git a/gauntlet/packages/gauntlet-solana/src/commands/wallet.ts b/gauntlet/packages/gauntlet-solana/src/commands/wallet.ts index c928e3029..68fdb34c0 100644 --- a/gauntlet/packages/gauntlet-solana/src/commands/wallet.ts +++ b/gauntlet/packages/gauntlet-solana/src/commands/wallet.ts @@ -1,5 +1,5 @@ -import { Wallet } from '@project-serum/anchor' -import { Keypair, PublicKey, Transaction } from '@solana/web3.js' +import { Wallet } from '@coral-xyz/anchor' +import { Keypair, PublicKey, Transaction, VersionedTransaction } from '@solana/web3.js' import TransportNodeHid from '@ledgerhq/hw-transport-node-hid' import Solana from '@ledgerhq/hw-app-solana' import { logger } from '@chainlink/gauntlet-core/dist/utils' @@ -12,8 +12,8 @@ export enum WalletTypes { export abstract class SolanaWallet { static create: (...args) => Promise - abstract signTransaction: (tx: Transaction) => Promise - abstract signAllTransactions: (txs: Transaction[]) => Promise + abstract signTransaction(tx: T): Promise + abstract signAllTransactions(txs: T[]): Promise abstract publicKey: PublicKey abstract payer: Keypair @@ -33,8 +33,12 @@ export class LocalWallet extends SolanaWallet { return new LocalWallet(wallet) } - signTransaction = (tx: Transaction) => this.wallet.signTransaction(tx) - signAllTransactions = (txs: Transaction[]) => this.wallet.signAllTransactions(txs) + async signTransaction(tx: T): Promise { + return this.wallet.signTransaction(tx) + } + async signAllTransactions(txs: T[]): Promise { + return this.wallet.signAllTransactions(txs) + } get publicKey() { return this.wallet.payer.publicKey @@ -47,6 +51,10 @@ export class LocalWallet extends SolanaWallet { type = () => WalletTypes.LOCAL } +const isVersionedTransaction = (tx: Transaction | VersionedTransaction): tx is VersionedTransaction => { + return 'version' in tx +} + export class LedgerWallet extends SolanaWallet { publicKey: PublicKey wallet: Solana @@ -74,15 +82,23 @@ export class LedgerWallet extends SolanaWallet { } } - signTransaction = async (tx: Transaction) => { + signTransaction = async (tx: T) => { logger.info(`Ledger: Request to sign message`) - const msg = tx.serializeMessage() + // serializeMessage on v0, serialize on v1 + + let msg: Buffer + + if (isVersionedTransaction(tx)) { + msg = Buffer.from(tx.serialize()) + } else { + msg = tx.serializeMessage() + } const { signature } = await this.wallet.signTransaction(this.path, msg) tx.addSignature(this.publicKey, signature) return tx } - signAllTransactions = async (txs: Transaction[]) => { + signAllTransactions = async (txs: T[]) => { logger.warn('Signing multiple transactions with Ledger') return Promise.all(txs.map(this.signTransaction)) } diff --git a/gauntlet/packages/gauntlet-solana/src/lib/provider.ts b/gauntlet/packages/gauntlet-solana/src/lib/provider.ts index 02d4a3a67..3feee5cb0 100644 --- a/gauntlet/packages/gauntlet-solana/src/lib/provider.ts +++ b/gauntlet/packages/gauntlet-solana/src/lib/provider.ts @@ -1,5 +1,5 @@ import { Connection, ParsedTransactionWithMeta, PublicKey } from '@solana/web3.js' -import { EventParser, Event, Program } from '@project-serum/anchor' +import { EventParser, Event, Program } from '@coral-xyz/anchor' /* Gets the latest transactions to a contract diff --git a/gauntlet/yarn.lock b/gauntlet/yarn.lock index c2dc5fd33..08e019810 100644 --- a/gauntlet/yarn.lock +++ b/gauntlet/yarn.lock @@ -268,7 +268,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/runtime@^7.10.4", "@babel/runtime@^7.11.2", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5": +"@babel/runtime@^7.10.4", "@babel/runtime@^7.12.5", "@babel/runtime@^7.5.5": version "7.16.3" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.16.3.tgz#b86f0db02a04187a3c17caa77de69840165d42d5" integrity sha512-WBwekcqacdY2e9AF/Q7WLFUWmdJGJTkbjqTjoMDgXkVZ3ZRUvOPsLb5KdwISoQVsbP+DQzVZW4Zhci0DvpbNTQ== @@ -282,6 +282,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.23.4": + version "7.24.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.0.tgz#584c450063ffda59697021430cb47101b085951e" + integrity sha512-Chk32uHMg6TnQdvw2e9IlqPpFX/6NLuK0Ys2PqLb7/gL5uFn9mXvK715FGLlOLQrcO4qIkNHkvPGktzzXexsFw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.16.0", "@babel/template@^7.3.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.16.0.tgz#d16a35ebf4cd74e202083356fab21dd89363ddd6" @@ -530,6 +537,34 @@ exec-sh "^0.3.2" minimist "^1.2.0" +"@coral-xyz/anchor@^0.29.0": + version "0.29.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/anchor/-/anchor-0.29.0.tgz#bd0be95bedfb30a381c3e676e5926124c310ff12" + integrity sha512-eny6QNG0WOwqV0zQ7cs/b1tIuzZGmP7U7EcH+ogt4Gdbl8HDmIYVMh/9aTmYZPaFWjtUaI8qSn73uYEXWfATdA== + dependencies: + "@coral-xyz/borsh" "^0.29.0" + "@noble/hashes" "^1.3.1" + "@solana/web3.js" "^1.68.0" + bn.js "^5.1.2" + bs58 "^4.0.1" + buffer-layout "^1.2.2" + camelcase "^6.3.0" + cross-fetch "^3.1.5" + crypto-hash "^1.3.0" + eventemitter3 "^4.0.7" + pako "^2.0.3" + snake-case "^3.0.4" + superstruct "^0.15.4" + toml "^3.0.0" + +"@coral-xyz/borsh@^0.29.0": + version "0.29.0" + resolved "https://registry.yarnpkg.com/@coral-xyz/borsh/-/borsh-0.29.0.tgz#79f7045df2ef66da8006d47f5399c7190363e71f" + integrity sha512-s7VFVa3a0oqpkuRloWVPdCK7hMbAMY270geZOGfCnaqexrP5dTIpbEHL33req6IYPPJ0hYa71cdvJ1h6V55/oQ== + dependencies: + bn.js "^5.1.2" + buffer-layout "^1.2.0" + "@eslint-community/eslint-utils@^4.2.0", "@eslint-community/eslint-utils@^4.4.0": version "4.4.0" resolved "https://registry.yarnpkg.com/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz#a23514e8fb9af1269d5f7788aa556798d61c6b59" @@ -895,6 +930,18 @@ globby "^11.0.0" read-yaml-file "^1.1.0" +"@noble/curves@^1.2.0": + version "1.3.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.3.0.tgz#01be46da4fd195822dab821e72f71bf4aeec635e" + integrity sha512-t01iSXPuN+Eqzb4eBX0S5oubSqXbK/xXa1Ne18Hj8f9pStxztHCE2gfboSp/dZRLSqfuLpRK2nDXDK+W9puocA== + dependencies: + "@noble/hashes" "1.3.3" + +"@noble/hashes@1.3.3", "@noble/hashes@^1.3.1", "@noble/hashes@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" + integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== + "@nodelib/fs.scandir@2.1.5": version "2.1.5" resolved "https://registry.yarnpkg.com/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz#7619c2eb21b25483f6d167548b4cfd5a7488c3d5" @@ -916,43 +963,6 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" -"@project-serum/anchor@^0.25.0": - version "0.25.0" - resolved "https://registry.yarnpkg.com/@project-serum/anchor/-/anchor-0.25.0.tgz#88ee4843336005cf5a64c80636ce626f0996f503" - integrity sha512-E6A5Y/ijqpfMJ5psJvbw0kVTzLZFUcOFgs6eSM2M2iWE1lVRF18T6hWZVNl6zqZsoz98jgnNHtVGJMs+ds9A7A== - dependencies: - "@project-serum/borsh" "^0.2.5" - "@solana/web3.js" "^1.36.0" - base64-js "^1.5.1" - bn.js "^5.1.2" - bs58 "^4.0.1" - buffer-layout "^1.2.2" - camelcase "^5.3.1" - cross-fetch "^3.1.5" - crypto-hash "^1.3.0" - eventemitter3 "^4.0.7" - js-sha256 "^0.9.0" - pako "^2.0.3" - snake-case "^3.0.4" - superstruct "^0.15.4" - toml "^3.0.0" - -"@project-serum/borsh@^0.2.2": - version "0.2.2" - resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.2.tgz#63e558f2d6eb6ab79086bf499dea94da3182498f" - integrity sha512-Ms+aWmGVW6bWd3b0+MWwoaYig2QD0F90h0uhr7AzY3dpCb5e2S6RsRW02vFTfa085pY2VLB7nTZNbFECQ1liTg== - dependencies: - bn.js "^5.1.2" - buffer-layout "^1.2.0" - -"@project-serum/borsh@^0.2.5": - version "0.2.5" - resolved "https://registry.yarnpkg.com/@project-serum/borsh/-/borsh-0.2.5.tgz#6059287aa624ecebbfc0edd35e4c28ff987d8663" - integrity sha512-UmeUkUoKdQ7rhx6Leve1SssMR/Ghv8qrEiyywyxSWg7ooV7StdpPBhciiy5eB3T0qU1BXvdRNC8TdrkxK7WC5Q== - dependencies: - bn.js "^5.1.2" - buffer-layout "^1.2.0" - "@protobufjs/aspromise@^1.1.1", "@protobufjs/aspromise@^1.1.2": version "1.1.2" resolved "https://registry.yarnpkg.com/@protobufjs/aspromise/-/aspromise-1.1.2.tgz#9b8b0cc663d669a7d8f6f5d0893a14d348f30fbf" @@ -1047,13 +1057,6 @@ bigint-buffer "^1.1.5" bignumber.js "^9.0.1" -"@solana/buffer-layout@^3.0.0": - version "3.0.0" - resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-3.0.0.tgz#b9353caeb9a1589cb77a1b145bcb1a9a93114326" - integrity sha512-MVdgAKKL39tEs0l8je0hKaXLQFb7Rdfb0Xg2LjFZd8Lfdazkg6xiS98uAZrEKvaoF3i4M95ei9RydkGIDMeo3w== - dependencies: - buffer "~6.0.3" - "@solana/buffer-layout@^4.0.0": version "4.0.0" resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.0.tgz#75b1b11adc487234821c81dfae3119b73a5fd734" @@ -1061,6 +1064,13 @@ dependencies: buffer "~6.0.3" +"@solana/buffer-layout@^4.0.1": + version "4.0.1" + resolved "https://registry.yarnpkg.com/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz#b996235eaec15b1e0b5092a8ed6028df77fa6c15" + integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== + dependencies: + buffer "~6.0.3" + "@solana/spl-token@^0.2.0": version "0.2.0" resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.2.0.tgz#329bb6babb5de0f9c40035ddb1657f01a8347acd" @@ -1094,25 +1104,26 @@ superstruct "^0.14.2" tweetnacl "^1.0.0" -"@solana/web3.js@^1.36.0": - version "1.36.0" - resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.36.0.tgz#79d7d5217b49b80139f4de68953adc5b9a9a264f" - integrity sha512-RNT1451iRR7TyW7EJKMCrH/0OXawIe4zVm0DWQASwXlR/u1jmW6FrmH0lujIh7cGTlfOVbH+2ZU9AVUPLBFzwA== +"@solana/web3.js@^1.68.0": + version "1.91.0" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.91.0.tgz#a763b0fcca0fa005adce3d02f3a4b6d1b84eccb7" + integrity sha512-iqOL9RjNra0TM9BbQWxBRUcZUiNmCJJO+vXLp0GiELUJhbNAoE/K6OV6s+gNEsC13dslvKtfA4mmzRnZNWXtIQ== dependencies: - "@babel/runtime" "^7.12.5" - "@ethersproject/sha2" "^5.5.0" - "@solana/buffer-layout" "^3.0.0" - bn.js "^5.0.0" - borsh "^0.4.0" + "@babel/runtime" "^7.23.4" + "@noble/curves" "^1.2.0" + "@noble/hashes" "^1.3.3" + "@solana/buffer-layout" "^4.0.1" + agentkeepalive "^4.5.0" + bigint-buffer "^1.1.5" + bn.js "^5.2.1" + borsh "^0.7.0" bs58 "^4.0.1" - buffer "6.0.1" - cross-fetch "^3.1.4" - jayson "^3.4.4" - js-sha3 "^0.8.0" - rpc-websockets "^7.4.2" - secp256k1 "^4.0.2" + buffer "6.0.3" + fast-stable-stringify "^1.0.0" + jayson "^4.1.0" + node-fetch "^2.7.0" + rpc-websockets "^7.5.1" superstruct "^0.14.2" - tweetnacl "^1.0.0" "@tootallnate/once@1": version "1.1.2" @@ -1152,13 +1163,6 @@ dependencies: "@babel/types" "^7.3.0" -"@types/bn.js@^4.11.5": - version "4.11.6" - resolved "https://registry.yarnpkg.com/@types/bn.js/-/bn.js-4.11.6.tgz#c306c70d9358aaea33cd4eda092a742b9505967c" - integrity sha512-pqr857jrp2kPuO9uRjZ3PwnJTjoQy+fcdxvBTvHm6dkmEL9q+hDD/2j/0ELOBPtPnS8LjCX0gI9nbl8lVkadpg== - dependencies: - "@types/node" "*" - "@types/chai@^4.2.22": version "4.2.22" resolved "https://registry.yarnpkg.com/@types/chai/-/chai-4.2.22.tgz#47020d7e4cf19194d43b5202f35f75bd2ad35ce7" @@ -1453,6 +1457,13 @@ agent-base@6: dependencies: debug "4" +agentkeepalive@^4.5.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/agentkeepalive/-/agentkeepalive-4.5.0.tgz#2673ad1389b3c418c5a20c5d7364f93ca04be923" + integrity sha512-5GG/5IbQQpC9FpkRGsSvZI5QYeSCzlJHdpBQntCsuTOxhKD8lqKhrleg2Yi7yvMIf82Ycmmqln9U8V9qwEiJew== + dependencies: + humanize-ms "^1.2.1" + ajv@^6.12.4: version "6.12.6" resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.6.tgz#baf5a62e802b07d977034586f8c3baf5adf26df4" @@ -1694,7 +1705,7 @@ base-x@^3.0.2: dependencies: safe-buffer "^5.0.1" -base64-js@^1.3.1, base64-js@^1.5.1: +base64-js@^1.3.1: version "1.5.1" resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== @@ -1767,15 +1778,10 @@ bn.js@^5.0.0, bn.js@^5.1.2, bn.js@^5.2.0: resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.0.tgz#358860674396c6997771a9d051fcc1b57d4ae002" integrity sha512-D7iWRBvnZE8ecXiLj/9wbxH7Tk79fAh8IHaTNq1RWRixsS02W+5qS+iE9yq6RYl0asXx5tw0bLhmT5pIfbSquw== -borsh@^0.4.0: - version "0.4.0" - resolved "https://registry.yarnpkg.com/borsh/-/borsh-0.4.0.tgz#9dd6defe741627f1315eac2a73df61421f6ddb9f" - integrity sha512-aX6qtLya3K0AkT66CmYWCCDr77qsE9arV05OmdFpmat9qu8Pg9J5tBUPDztAW5fNh/d/MyVG/OYziP52Ndzx1g== - dependencies: - "@types/bn.js" "^4.11.5" - bn.js "^5.0.0" - bs58 "^4.0.0" - text-encoding-utf-8 "^1.0.2" +bn.js@^5.2.1: + version "5.2.1" + resolved "https://registry.yarnpkg.com/bn.js/-/bn.js-5.2.1.tgz#0bc527a6a0d18d0aa8d5b0538ce4a77dccfa7b70" + integrity sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ== borsh@^0.7.0: version "0.7.0" @@ -1897,6 +1903,14 @@ buffer@6.0.1: base64-js "^1.3.1" ieee754 "^1.2.1" +buffer@6.0.3, buffer@~6.0.3: + version "6.0.3" + resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" + integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== + dependencies: + base64-js "^1.3.1" + ieee754 "^1.2.1" + buffer@^5.4.3, buffer@^5.5.0: version "5.7.1" resolved "https://registry.yarnpkg.com/buffer/-/buffer-5.7.1.tgz#ba62e7c13133053582197160851a8f648e99eed0" @@ -1905,14 +1919,6 @@ buffer@^5.4.3, buffer@^5.5.0: base64-js "^1.3.1" ieee754 "^1.1.13" -buffer@~6.0.3: - version "6.0.3" - resolved "https://registry.yarnpkg.com/buffer/-/buffer-6.0.3.tgz#2ace578459cc8fbe2a70aaa8f52ee63b6a74c6c6" - integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== - dependencies: - base64-js "^1.3.1" - ieee754 "^1.2.1" - bufferutil@^4.0.1: version "4.0.5" resolved "https://registry.yarnpkg.com/bufferutil/-/bufferutil-4.0.5.tgz#da9ea8166911cc276bf677b8aed2d02d31f59028" @@ -1964,6 +1970,11 @@ camelcase@^6.0.0: resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.2.1.tgz#250fd350cfd555d0d2160b1d51510eaf8326e86e" integrity sha512-tVI4q5jjFV5CavAU8DXfza/TJcZutVKo/5Foskmsqcm0MsL91moHvwiGNnqaa2o6PF/7yT5ikDRcVcl8Rj6LCA== +camelcase@^6.3.0: + version "6.3.0" + resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-6.3.0.tgz#5685b95eb209ac9c0c177467778c9c84df58ba9a" + integrity sha512-Gmy6FhYlCY7uOElZUSbxo2UCDH8owEk996gkbrpsgGtrJLM3J7jGxl9Ic7Qwwj4ivOE5AWZWRMecDdF7hqGjFA== + caniuse-lite@^1.0.30001280: version "1.0.30001280" resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001280.tgz#066a506046ba4be34cde5f74a08db7a396718fb7" @@ -2026,11 +2037,6 @@ ci-info@^2.0.0: resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== -circular-json@^0.5.9: - version "0.5.9" - resolved "https://registry.yarnpkg.com/circular-json/-/circular-json-0.5.9.tgz#932763ae88f4f7dead7a0d09c8a51a4743a53b1d" - integrity sha512-4ivwqHpIFJZBuhN3g/pEcdbnGUywkBblloGbkglyloVjjR3uT6tieI89MVOfbP2tHX5sgb01FuLgAOzebNlJNQ== - cjs-module-lexer@^0.6.0: version "0.6.0" resolved "https://registry.yarnpkg.com/cjs-module-lexer/-/cjs-module-lexer-0.6.0.tgz#4186fcca0eae175970aee870b9fe2d6cf8d5655f" @@ -2165,13 +2171,6 @@ core-util-is@~1.0.0: resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.3.tgz#a6042d3634c2b27e9328f837b965fac83808db85" integrity sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ== -cross-fetch@^3.1.4: - version "3.1.4" - resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.4.tgz#9723f3a3a247bf8b89039f3a380a9244e8fa2f39" - integrity sha512-1eAtFWdIubi6T4XPy6ei9iUFoKpUkIF971QLN8lIvvvwueI65+Nw5haMNKUwfJxabqlIIDODJKGrQ66gxC0PbQ== - dependencies: - node-fetch "2.6.1" - cross-fetch@^3.1.5: version "3.1.5" resolved "https://registry.yarnpkg.com/cross-fetch/-/cross-fetch-3.1.5.tgz#e1389f44d9e7ba767907f7af8454787952ab534f" @@ -3271,6 +3270,13 @@ human-signals@^2.1.0: resolved "https://registry.yarnpkg.com/human-signals/-/human-signals-2.1.0.tgz#dc91fcba42e4d06e4abaed33b3e7a3c02f514ea0" integrity sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw== +humanize-ms@^1.2.1: + version "1.2.1" + resolved "https://registry.yarnpkg.com/humanize-ms/-/humanize-ms-1.2.1.tgz#c46e3159a293f6b896da29316d8b6fe8bb79bbed" + integrity sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ== + dependencies: + ms "^2.0.0" + iconv-lite@0.4.24, iconv-lite@^0.4.24: version "0.4.24" resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b" @@ -3634,6 +3640,24 @@ jayson@^3.4.4: uuid "^3.4.0" ws "^7.4.5" +jayson@^4.1.0: + version "4.1.0" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" + integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== + dependencies: + "@types/connect" "^3.4.33" + "@types/node" "^12.12.54" + "@types/ws" "^7.4.4" + JSONStream "^1.3.5" + commander "^2.20.3" + delay "^5.0.0" + es6-promisify "^5.0.0" + eyes "^0.1.8" + isomorphic-ws "^4.0.1" + json-stringify-safe "^5.0.1" + uuid "^8.3.2" + ws "^7.4.5" + jest-changed-files@^26.6.2: version "26.6.2" resolved "https://registry.yarnpkg.com/jest-changed-files/-/jest-changed-files-26.6.2.tgz#f6198479e1cc66f22f9ae1e22acaa0b429c042d0" @@ -4018,11 +4042,6 @@ joi@^17.4.0: "@sideway/formula" "^3.0.0" "@sideway/pinpoint" "^2.0.0" -js-sha256@^0.9.0: - version "0.9.0" - resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.9.0.tgz#0b89ac166583e91ef9123644bd3c5334ce9d0966" - integrity sha512-sga3MHh9sgQN2+pJ9VYZ+1LPwXOxuBJBA5nrR5/ofPfuiJBE2hnjsaN8se8JznOmGLN2p49Pe5U/ttafcs/apA== - js-sha3@0.8.0, js-sha3@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/js-sha3/-/js-sha3-0.8.0.tgz#b9b7a5da73afad7dedd0f8c463954cbde6818840" @@ -4470,6 +4489,11 @@ ms@2.1.2: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== +ms@^2.0.0: + version "2.1.3" + resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" + integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== + multistream@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/multistream/-/multistream-4.1.0.tgz#7bf00dfd119556fbc153cff3de4c6d477909f5a8" @@ -4547,11 +4571,6 @@ node-fetch@2, node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@2.6.1: - version "2.6.1" - resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.1.tgz#045bd323631f76ed2e2b55573394416b639a0052" - integrity sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw== - node-fetch@^2.6.1: version "2.6.6" resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.6.6.tgz#1751a7c01834e8e1697758732e9efb6eeadfaf89" @@ -4559,6 +4578,13 @@ node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" +node-fetch@^2.7.0: + version "2.7.0" + resolved "https://registry.yarnpkg.com/node-fetch/-/node-fetch-2.7.0.tgz#d0f0fa6e3e2dc1d27efcd8ad99d550bda94d187d" + integrity sha512-c4FRfUm/dbcWZ7U+1Wq0AwCyFL+3nt2bEw05wfxSz+DWpWsitgmSgYmy2dQdWyKC1694ELPqMs/YzUSNozLt8A== + dependencies: + whatwg-url "^5.0.0" + node-gyp-build@^4.2.0, node-gyp-build@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.3.0.tgz#9f256b03e5826150be39c764bf51e993946d71a3" @@ -5182,6 +5208,11 @@ regenerator-runtime@^0.13.4: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== +regenerator-runtime@^0.14.0: + version "0.14.1" + resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz#356ade10263f685dda125100cd862c1db895327f" + integrity sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw== + regex-not@^1.0.0, regex-not@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/regex-not/-/regex-not-1.0.2.tgz#1f4ece27e00b0b65e0247a6810e6a85d83a5752c" @@ -5262,24 +5293,23 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" -rpc-websockets@^7.4.2: - version "7.4.16" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.4.16.tgz#eb701cdef577d4357ba5f526d50e25f370396fac" - integrity sha512-0b7OVhutzwRIaYAtJo5tqtaQTWKfwAsKnaThOSOy+VkhVdleNUgb8eZnWSdWITRZZEigV5uPEIDr5KZe4DBrdQ== +rpc-websockets@^7.5.0: + version "7.5.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748" + integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ== dependencies: - "@babel/runtime" "^7.11.2" - circular-json "^0.5.9" + "@babel/runtime" "^7.17.2" eventemitter3 "^4.0.7" - uuid "^8.3.0" - ws "^7.4.5" + uuid "^8.3.2" + ws "^8.5.0" optionalDependencies: bufferutil "^4.0.1" utf-8-validate "^5.0.2" -rpc-websockets@^7.5.0: - version "7.5.0" - resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.5.0.tgz#bbeb87572e66703ff151e50af1658f98098e2748" - integrity sha512-9tIRi1uZGy7YmDjErf1Ax3wtqdSSLIlnmL5OtOzgd5eqPKbsPpwDP5whUDO2LQay3Xp0CcHlcNSGzacNRluBaQ== +rpc-websockets@^7.5.1: + version "7.9.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.9.0.tgz#a3938e16d6f134a3999fdfac422a503731bf8973" + integrity sha512-DwKewQz1IUA5wfLvgM8wDpPRcr+nWSxuFxx5CbrI2z/MyyZ4nXLM86TvIA+cI1ZAdqC8JIBR1mZR55dzaLU+Hw== dependencies: "@babel/runtime" "^7.17.2" eventemitter3 "^4.0.7"