From 85d3cc3643bb3994d13f31f603ce0df8a9ea2e4b Mon Sep 17 00:00:00 2001 From: Noel Hawat Date: Wed, 17 Apr 2024 14:21:55 -0700 Subject: [PATCH] fix(sdk-coin-sol): update `split` with latest SOL library TICKET: WP-0000 --- modules/account-lib/package.json | 2 +- modules/sdk-coin-sol/package.json | 2 +- modules/sdk-coin-sol/src/lib/constants.ts | 1 + .../src/lib/solInstructionFactory.ts | 15 +- .../src/lib/stakingDeactivateBuilder.ts | 5 +- .../unit/instructionParamsFactory.staking.ts | 139 +++++++++------ package.json | 1 + yarn.lock | 161 ++++++------------ 8 files changed, 153 insertions(+), 173 deletions(-) diff --git a/modules/account-lib/package.json b/modules/account-lib/package.json index b877c8d6e5..d1286bc5c9 100644 --- a/modules/account-lib/package.json +++ b/modules/account-lib/package.json @@ -68,7 +68,7 @@ "bs58": "^4.0.1" }, "devDependencies": { - "@solana/web3.js": "1.56.0", + "@solana/web3.js": "1.91.6", "@types/bs58": "^4.0.1", "keccak": "3.0.3", "paillier-bigint": "3.3.0", diff --git a/modules/sdk-coin-sol/package.json b/modules/sdk-coin-sol/package.json index 704bd6ab34..6d64c2caa2 100644 --- a/modules/sdk-coin-sol/package.json +++ b/modules/sdk-coin-sol/package.json @@ -44,7 +44,7 @@ "@bitgo/sdk-lib-mpc": "^9.2.0", "@bitgo/statics": "^48.6.0", "@solana/spl-token": "0.3.1", - "@solana/web3.js": "1.78.0", + "@solana/web3.js": "1.91.6", "bignumber.js": "^9.0.0", "bs58": "^4.0.1", "lodash": "^4.17.14", diff --git a/modules/sdk-coin-sol/src/lib/constants.ts b/modules/sdk-coin-sol/src/lib/constants.ts index 65056bdec7..9ced0f7e92 100644 --- a/modules/sdk-coin-sol/src/lib/constants.ts +++ b/modules/sdk-coin-sol/src/lib/constants.ts @@ -5,6 +5,7 @@ export const MEMO_PROGRAM_PK = 'MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr'; export const SEED_LENGTH = 32; export const MAX_MEMO_LENGTH = 100; +export const STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT = 2282880; export const UNAVAILABLE_TEXT = 'UNAVAILABLE'; diff --git a/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts b/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts index 31ab7d0166..0cbfdf84d1 100644 --- a/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts +++ b/modules/sdk-coin-sol/src/lib/solInstructionFactory.ts @@ -241,12 +241,15 @@ function stakingDeactivateInstruction(data: StakingDeactivate): TransactionInstr }); tx.add(assignAccount); - const splitStake = StakeProgram.split({ - stakePubkey: new PublicKey(stakingAddress), - authorizedPubkey: new PublicKey(fromAddress), - splitStakePubkey: unstakingAddress, - lamports: new BigNumber(data.params.amount).toNumber(), - }); + const splitStake = StakeProgram.split( + { + stakePubkey: new PublicKey(stakingAddress), + authorizedPubkey: new PublicKey(fromAddress), + splitStakePubkey: unstakingAddress, + lamports: new BigNumber(data.params.amount).toNumber(), + }, + 0 + ); tx.add(splitStake.instructions[1]); const deactivateStaking = StakeProgram.deactivate({ diff --git a/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts b/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts index c2ab5aef55..2d937776d7 100644 --- a/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts +++ b/modules/sdk-coin-sol/src/lib/stakingDeactivateBuilder.ts @@ -2,7 +2,7 @@ import { BaseCoin as CoinConfig } from '@bitgo/statics'; import assert from 'assert'; import { BuildTransactionError, TransactionType } from '@bitgo/sdk-core'; -import { InstructionBuilderTypes } from './constants'; +import { InstructionBuilderTypes, STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT } from './constants'; import { StakingDeactivate, Transfer } from './iface'; import { Transaction } from './transaction'; import { TransactionBuilder } from './transactionBuilder'; @@ -12,7 +12,6 @@ export class StakingDeactivateBuilder extends TransactionBuilder { protected _stakingAddress: string; protected _stakingAddresses: string[]; protected _amount?: string; - protected _fundUnstakeAddress = 2282880; protected _unstakingAddress: string; constructor(_coinConfig: Readonly) { @@ -146,7 +145,7 @@ export class StakingDeactivateBuilder extends TransactionBuilder { type: InstructionBuilderTypes.Transfer, params: { fromAddress: this._sender, - amount: this._fundUnstakeAddress.toString(), + amount: STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT.toString(), toAddress: this._unstakingAddress, }, }; diff --git a/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts b/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts index 434bd37eed..6d821eb762 100644 --- a/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts +++ b/modules/sdk-coin-sol/test/unit/instructionParamsFactory.staking.ts @@ -3,7 +3,7 @@ import * as testData from '../resources/sol'; import { instructionParamsFactory } from '../../src/lib/instructionParamsFactory'; import { TransactionType } from '@bitgo/sdk-core'; import { InstructionParams, Nonce, StakingActivate, StakingDeactivate, StakingWithdraw } from '../../src/lib/iface'; -import { InstructionBuilderTypes, MEMO_PROGRAM_PK } from '../../src/lib/constants'; +import { InstructionBuilderTypes, MEMO_PROGRAM_PK, STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT } from '../../src/lib/constants'; import { Keypair as SolKeypair, Lockup, @@ -484,12 +484,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -532,12 +535,15 @@ describe('Instruction Parser Staking Tests: ', function () { space: StakeProgram.space, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -624,12 +630,15 @@ describe('Instruction Parser Staking Tests: ', function () { space: StakeProgram.space, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const assignInstruction = SystemProgram.assign({ accountPubkey: splitStakeAccount, @@ -683,12 +692,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -738,12 +750,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -793,12 +808,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: SystemProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -848,12 +866,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: stakingAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: stakingAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -902,12 +923,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: stakingAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: stakingAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, @@ -951,7 +975,7 @@ describe('Instruction Parser Staking Tests: ', function () { const transferInstruction = SystemProgram.transfer({ fromPubkey: new PublicKey(fromAccount), toPubkey: new PublicKey(splitStakeAccount), - lamports: parseInt((2282880).toString(), 10), + lamports: parseInt(STAKE_ACCOUNT_RENT_EXEMPT_AMOUNT.toString(), 10), }); const allocateInstruction = SystemProgram.allocate({ @@ -964,12 +988,15 @@ describe('Instruction Parser Staking Tests: ', function () { programId: StakeProgram.programId, }); - const splitInstructions = StakeProgram.split({ - stakePubkey: stakingAccount, - authorizedPubkey: fromAccount, - splitStakePubkey: splitStakeAccount, - lamports: 100000, - }).instructions; + const splitInstructions = StakeProgram.split( + { + stakePubkey: stakingAccount, + authorizedPubkey: fromAccount, + splitStakePubkey: splitStakeAccount, + lamports: 100000, + }, + 0 + ).instructions; const stakingDeactivateInstructions = StakeProgram.deactivate({ authorizedPubkey: fromAccount, diff --git a/package.json b/package.json index dfe7fd80b9..139ea236a1 100644 --- a/package.json +++ b/package.json @@ -75,6 +75,7 @@ "@polkadot/x-global": "12.3.2", "@polkadot/x-randomvalues": "12.3.2", "@polkadot/x-ws": "12.3.2", + "@solana/web3.js": "1.91.6", "@substrate/txwrapper-core": "7.0.1", "@substrate/txwrapper-polkadot": "7.0.1", "buffer": "^6.0.3", diff --git a/yarn.lock b/yarn.lock index 54e0321501..628282354c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -986,12 +986,12 @@ dependencies: regenerator-runtime "^0.13.11" -"@babel/runtime@^7.22.3": - version "7.22.6" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.22.6.tgz" - integrity sha512-wDb5pWm4WDdF6LFUde3Jl8WzPA+3ZbxYqkC6xAXuD3irdEHN1k0NfTRrJD8ZD378SJ61miMLCqIOXYhd8x+AJQ== +"@babel/runtime@^7.23.4": + version "7.24.4" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.24.4.tgz#de795accd698007a66ba44add6cc86542aff1edd" + integrity sha512-dkxf7+hn8mFBwKjs9bvBlArzLVxVbS8usaPUDd5p2a9JCL9tB8OaOVN1isD4+Xyk4ns89/xeOmbQvgdK7IIVdA== dependencies: - regenerator-runtime "^0.13.11" + regenerator-runtime "^0.14.0" "@babel/template@^7.18.10", "@babel/template@^7.20.7": version "7.20.7" @@ -3387,7 +3387,7 @@ dependencies: "@noble/hashes" "1.3.0" -"@noble/curves@1.1.0", "@noble/curves@^1.0.0": +"@noble/curves@1.1.0": version "1.1.0" resolved "https://registry.npmjs.org/@noble/curves/-/curves-1.1.0.tgz" integrity sha512-091oBExgENk/kGj3AZmtBDMpxQPDtxQABR2B9lb1JbVTs6ytdzZNwvhxQ4MWasRNEzlbEH8jCWFCwhF/Obj5AA== @@ -3401,22 +3401,24 @@ dependencies: "@noble/hashes" "1.3.3" -"@noble/ed25519@^1.7.0": - version "1.7.3" - resolved "https://registry.npmjs.org/@noble/ed25519/-/ed25519-1.7.3.tgz" - integrity sha512-iR8GBkDt0Q3GyaVcIu7mSsVIqnFbkbRzGLWlvhwunacoLwt4J3swfKhfaM6rN6WY+TBGoYT1GtT1mIh2/jGbRQ== +"@noble/curves@^1.2.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/curves/-/curves-1.4.0.tgz#f05771ef64da724997f69ee1261b2417a49522d6" + integrity sha512-p+4cb332SFCrReJkCYe8Xzm0OWi4Jji5jVdIZRL/PmacmDkFNw6MrrV+gGpiPxLHbV+zKFRywUWbaseT+tZRXg== + dependencies: + "@noble/hashes" "1.4.0" "@noble/hashes@1.2.0", "@noble/hashes@~1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.2.0.tgz" integrity sha512-FZfhjEDbT5GRswV3C6uvLPHMiVD6lQBmpoX5+eSiPaMTXte/IKqI5dykDxzZB/WBeK/CDuQRBWarPdi3FNY2zQ== -"@noble/hashes@1.3.0", "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.1.2", "@noble/hashes@^1.2.0", "@noble/hashes@~1.3.0": +"@noble/hashes@1.3.0", "@noble/hashes@^1", "@noble/hashes@^1.0.0", "@noble/hashes@^1.2.0", "@noble/hashes@~1.3.0": version "1.3.0" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.0.tgz" integrity sha512-ilHEACi9DwqJB0pw7kv+Apvh50jiiSyR/cQ3y4W7lOR5mhvn/50FLUfsnfJz0BDZtl/RR16kXvptiv6q1msYZg== -"@noble/hashes@1.3.1", "@noble/hashes@^1.3.0": +"@noble/hashes@1.3.1": version "1.3.1" resolved "https://registry.npmjs.org/@noble/hashes/-/hashes-1.3.1.tgz" integrity sha512-EbqwksQwz9xDRGfDST86whPBgM65E0OH/pCgqW0GBVzO22bNE+NuIbeTb714+IfSjU3aRk47EUvXIb5bTsenKA== @@ -3426,7 +3428,12 @@ resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.3.3.tgz#39908da56a4adc270147bb07968bf3b16cfe1699" integrity sha512-V7/fPHgl+jsVPXqqeOzT8egNj2iBIVt+ECeMMG8TdcnTikP3oaBtUVqpT/gYCR68aEBJSF+XbYUxStjbFMqIIA== -"@noble/secp256k1@1.6.3", "@noble/secp256k1@1.7.1", "@noble/secp256k1@2.0.0", "@noble/secp256k1@^1.6.3", "@noble/secp256k1@~1.7.0": +"@noble/hashes@1.4.0", "@noble/hashes@^1.3.3": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@noble/hashes/-/hashes-1.4.0.tgz#45814aa329f30e4fe0ba49426f49dfccdd066426" + integrity sha512-V1JJ1WTRUqHHrOSh597hURcMqVKVGL/ea3kv0gSnEdsEZ0/+VyPghM1lMNGc00z7CIQorSvbKpuJkxvuHbvdbg== + +"@noble/secp256k1@1.6.3", "@noble/secp256k1@1.7.1", "@noble/secp256k1@2.0.0", "@noble/secp256k1@~1.7.0": version "1.6.3" resolved "https://registry.npmjs.org/@noble/secp256k1/-/secp256k1-1.6.3.tgz" integrity sha512-T04e4iTurVy7I8Sw4+c5OSN9/RkPlo1uKxAomtxQNLq8j1uPAqnsqG1bqvY3Jv7c13gyr6dui0zmh/I3+f/JaQ== @@ -4446,7 +4453,7 @@ bigint-buffer "^1.1.5" bignumber.js "^9.0.1" -"@solana/buffer-layout@^4.0.0": +"@solana/buffer-layout@^4.0.0", "@solana/buffer-layout@^4.0.1": version "4.0.1" resolved "https://registry.npmjs.org/@solana/buffer-layout/-/buffer-layout-4.0.1.tgz" integrity sha512-E1ImOIAD1tBZFRdjeM4/pzTiTApC0AOBGwyAMS4fwIodCWArzJ3DWdoh8cKxeFM2fElkxBh2Aqts1BPC373rHA== @@ -4455,75 +4462,31 @@ "@solana/spl-token@0.3.1": version "0.3.1" - resolved "https://registry.npmjs.org/@solana/spl-token/-/spl-token-0.3.1.tgz" + resolved "https://registry.yarnpkg.com/@solana/spl-token/-/spl-token-0.3.1.tgz#20ba93f8e86b0913e6bfa49fc0708f7fd3bdaf5e" integrity sha512-26/0XlW5Lyeu3CUlBGt+0o3l4H6AJtRtMMtsxhcKj+DwfGg+QMnPl/exTmZLEsymsn03PFhogd97v5fJXhYeow== dependencies: "@solana/buffer-layout" "^4.0.0" "@solana/buffer-layout-utils" "^0.2.0" "@solana/web3.js" "^1.41.0" -"@solana/web3.js@1.56.0": - version "1.56.0" - resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.56.0.tgz" - integrity sha512-YfQAIvsllVP3Y5QSs/TdJJFwTgFQuXybg+ouwyNE8cmq3+r2Nmvsj69DGWGbN41jy0is8foZf0yruuLQfWxOmQ== - dependencies: - "@babel/runtime" "^7.12.5" - "@noble/ed25519" "^1.7.0" - "@noble/hashes" "^1.1.2" - "@noble/secp256k1" "^1.6.3" - "@solana/buffer-layout" "^4.0.0" - bigint-buffer "^1.1.5" - bn.js "^5.0.0" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.1" - fast-stable-stringify "^1.0.0" - jayson "^3.4.4" - js-sha3 "^0.8.0" - node-fetch "2" - rpc-websockets "^7.5.0" - superstruct "^0.14.2" - -"@solana/web3.js@1.78.0": - version "1.78.0" - resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.78.0.tgz" - integrity sha512-CSjCjo+RELJ5puoZALfznN5EF0YvL1V8NQrQYovsdjE1lCV6SqbKAIZD0+9LlqCBoa1ibuUaR7G2SooYzvzmug== +"@solana/web3.js@1.91.6", "@solana/web3.js@^1.32.0", "@solana/web3.js@^1.41.0": + version "1.91.6" + resolved "https://registry.yarnpkg.com/@solana/web3.js/-/web3.js-1.91.6.tgz#c090661c344cbc61e6cdeb0da67d3ea80d5848e1" + integrity sha512-dm20nN6HQvXToo+kM51nxHdtaa2wMSRdeK37p+WIWESfeiVHqV8XbV4XnWupq6ngt5vIckhGFG7ZnTBxUgLzDA== dependencies: - "@babel/runtime" "^7.22.3" - "@noble/curves" "^1.0.0" - "@noble/hashes" "^1.3.0" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" + "@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.0.0" + bn.js "^5.2.1" borsh "^0.7.0" bs58 "^4.0.1" buffer "6.0.3" fast-stable-stringify "^1.0.0" jayson "^4.1.0" - node-fetch "^2.6.11" - rpc-websockets "^7.5.1" - superstruct "^0.14.2" - -"@solana/web3.js@^1.32.0", "@solana/web3.js@^1.41.0": - version "1.75.0" - resolved "https://registry.npmjs.org/@solana/web3.js/-/web3.js-1.75.0.tgz" - integrity sha512-rHQgdo1EWfb+nPUpHe4O7i8qJPELHKNR5PAZRK+a7XxiykqOfbaAlPt5boDWAGPnYbSv0ziWZv5mq9DlFaQCxg== - dependencies: - "@babel/runtime" "^7.12.5" - "@noble/ed25519" "^1.7.0" - "@noble/hashes" "^1.1.2" - "@noble/secp256k1" "^1.6.3" - "@solana/buffer-layout" "^4.0.0" - agentkeepalive "^4.2.1" - bigint-buffer "^1.1.5" - bn.js "^5.0.0" - borsh "^0.7.0" - bs58 "^4.0.1" - buffer "6.0.3" - fast-stable-stringify "^1.0.0" - jayson "^3.4.4" - node-fetch "^2.6.7" + node-fetch "^2.7.0" rpc-websockets "^7.5.1" superstruct "^0.14.2" @@ -6023,6 +5986,13 @@ agentkeepalive@^4.2.1: depd "^2.0.0" humanize-ms "^1.2.1" +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" + aggregate-error@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz" @@ -7343,7 +7313,7 @@ buffer-xor@^1.0.2, buffer-xor@^1.0.3: resolved "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz" integrity sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ== -buffer@4.9.2, buffer@6.0.1, buffer@6.0.3, buffer@^5.0.2, buffer@^5.0.5, buffer@^5.1.0, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.1, buffer@^6.0.2, buffer@^6.0.3, buffer@~6.0.3: +buffer@4.9.2, buffer@6.0.3, buffer@^5.0.2, buffer@^5.0.5, buffer@^5.1.0, buffer@^5.4.3, buffer@^5.5.0, buffer@^5.6.0, buffer@^5.7.1, buffer@^6.0.2, buffer@^6.0.3, buffer@~6.0.3: version "6.0.3" resolved "https://registry.npmjs.org/buffer/-/buffer-6.0.3.tgz" integrity sha512-FTiCpNxtwiZZHEZbcbTIcZjERVICn9yq/pDFkTl95/AxzD1naBctN7YO68riM/gLSDY7sdrMby8hofADYuuqOA== @@ -12664,28 +12634,9 @@ jasmine-core@^3.6.0: resolved "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.99.1.tgz" integrity sha512-Hu1dmuoGcZ7AfyynN3LsfruwMbxMALMka+YtZeGoLuDEySVmVAPaonkNoBRIw/ectu8b9tVQCJNgp4a4knp+tg== -jayson@^3.4.4: - version "3.7.0" - resolved "https://registry.npmjs.org/jayson/-/jayson-3.7.0.tgz" - integrity sha512-tfy39KJMrrXJ+mFcMpxwBvFDetS8LAID93+rycFglIQM4kl3uNR3W4lBLE/FFhsoUCEox5Dt2adVpDm/XtebbQ== - 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" - lodash "^4.17.20" - uuid "^8.3.2" - ws "^7.4.5" - jayson@^4.1.0: version "4.1.0" - resolved "https://registry.npmjs.org/jayson/-/jayson-4.1.0.tgz" + resolved "https://registry.yarnpkg.com/jayson/-/jayson-4.1.0.tgz#60dc946a85197317f2b1439d672a8b0a99cea2f9" integrity sha512-R6JlbyLN53Mjku329XoRT2zJAE6ZgOQ8f91ucYdMCD4nkGCF9kZSrcGXpHIU4jeKj58zUZke2p+cdQchU7Ly7A== dependencies: "@types/connect" "^3.4.33" @@ -14347,13 +14298,6 @@ node-domexception@^1.0.0: resolved "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz" integrity sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ== -node-fetch@2, node-fetch@^2.6.1, node-fetch@^2.6.7: - version "2.6.9" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz" - integrity sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg== - dependencies: - whatwg-url "^5.0.0" - node-fetch@2.6.7: version "2.6.7" resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz" @@ -14361,10 +14305,10 @@ node-fetch@2.6.7: dependencies: whatwg-url "^5.0.0" -node-fetch@^2.6.11: - version "2.6.12" - resolved "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.12.tgz" - integrity sha512-C/fGU2E8ToujUivIO0H+tpQ6HWo4eEmchoPIoXtxCrVghxdKq+QOHqEZW7tuP3KlV3bC8FRMO5nMCC7Zm1VP6g== +node-fetch@^2.6.1, node-fetch@^2.6.7, 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" @@ -16452,6 +16396,11 @@ regenerator-runtime@^0.13.11, regenerator-runtime@^0.13.2, regenerator-runtime@^ resolved "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz" integrity sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg== +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== + regenerator-transform@^0.15.1: version "0.15.1" resolved "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz" @@ -16829,10 +16778,10 @@ rlp@^2.0.0, rlp@^2.2.3, rlp@^2.2.4: dependencies: bn.js "^5.2.0" -rpc-websockets@^7.5.0, rpc-websockets@^7.5.1: - version "7.5.1" - resolved "https://registry.npmjs.org/rpc-websockets/-/rpc-websockets-7.5.1.tgz" - integrity sha512-kGFkeTsmd37pHPMaHIgN1LVKXMi0JD782v4Ds9ZKtLlwdTKjn+CxM9A9/gLT2LaOuEcEFGL98h1QWQtlOIdW0w== +rpc-websockets@^7.5.1: + version "7.10.0" + resolved "https://registry.yarnpkg.com/rpc-websockets/-/rpc-websockets-7.10.0.tgz#8ffaf6aaab3eb18e603c7549988cf49feeddcd29" + integrity sha512-cemZ6RiDtYZpPiBzYijdOrkQQzmBCmug0E9SdRH2gIUNT15ql4mwCYWIp0VnSZq6Qrw/JkGUygp4PrK1y9KfwQ== dependencies: "@babel/runtime" "^7.17.2" eventemitter3 "^4.0.7"