From 25c82fdc8185147e7c36dbf6ae0fa40d77e7b419 Mon Sep 17 00:00:00 2001 From: Troy Kessler <43882936+troykessler@users.noreply.github.com> Date: Thu, 29 Aug 2024 14:46:11 +0200 Subject: [PATCH 1/5] chore: implemented dry-run (#150) * chore: implemented dry-run --- common/protocol/src/index.ts | 20 +++++- .../src/methods/checks/isPoolActive.ts | 1 - common/protocol/src/methods/main/runNode.ts | 45 +++++++++++-- .../src/methods/queries/canPropose.ts | 4 ++ .../protocol/src/methods/queries/canVote.ts | 7 +++ .../src/methods/setups/setupMetrics.ts | 2 +- .../src/methods/txs/claimUploaderRole.ts | 5 ++ .../src/methods/txs/voteBundleProposal.ts | 63 +++++++++++-------- 8 files changed, 114 insertions(+), 33 deletions(-) diff --git a/common/protocol/src/index.ts b/common/protocol/src/index.ts index 11bfcb47..d77ec859 100644 --- a/common/protocol/src/index.ts +++ b/common/protocol/src/index.ts @@ -99,6 +99,8 @@ export class Validator { protected metrics!: boolean; protected metricsPort!: number; protected home!: string; + protected dryRun!: boolean; + protected dryRunBundles!: number; // tmp variables protected lastUploadedBundle: { @@ -278,6 +280,15 @@ export class Validator { "--skip-data-availability-check", "Skip data availability check and join pool instantly without waiting for the data source. WARNING: Only use this if you know what you are doing since this can lead to timeout slashes" ) + .option( + "--dry-run", + "Run the node without uploading or voting on bundles so the operator can test his setup before joining as a validator." + ) + .option( + "--dry-run-bundles ", + "Specify the number of bundles that should be tested before the node properly exits. If zero the node will run indefinitely [default = 0]", + "0" + ) .action((options) => { this.start(options); }); @@ -315,6 +326,8 @@ export class Validator { this.metrics = options.metrics; this.metricsPort = parseInt(options.metricsPort); this.home = options.home; + this.dryRun = options.dryRun; + this.dryRunBundles = parseInt(options.dryRunBundles); // name the log file after the time the node got started this.logFile = `${new Date().toISOString()}.log`; @@ -326,7 +339,7 @@ export class Validator { await this.setupSDK(); await this.syncPoolState(true); - if (await this.isStorageBalanceZero()) { + if (!this.dryRun && (await this.isStorageBalanceZero())) { process.exit(1); } @@ -339,7 +352,10 @@ export class Validator { } } - await this.setupValidator(); + if (!this.dryRun) { + await this.setupValidator(); + } + await this.setupCacheProvider(); // start the node process. Validator and cache should run at the same time. diff --git a/common/protocol/src/methods/checks/isPoolActive.ts b/common/protocol/src/methods/checks/isPoolActive.ts index 3dfa7c07..057b0137 100644 --- a/common/protocol/src/methods/checks/isPoolActive.ts +++ b/common/protocol/src/methods/checks/isPoolActive.ts @@ -17,7 +17,6 @@ export function isPoolActive(this: Validator): boolean { case PoolStatus.POOL_STATUS_ACTIVE: return true; case PoolStatus.POOL_STATUS_NO_FUNDS: - this.logger.warn("Pool is out of funds, rewards may be reduced"); return true; case PoolStatus.POOL_STATUS_DISABLED: this.logger.info( diff --git a/common/protocol/src/methods/main/runNode.ts b/common/protocol/src/methods/main/runNode.ts index d9b8560b..99335c16 100644 --- a/common/protocol/src/methods/main/runNode.ts +++ b/common/protocol/src/methods/main/runNode.ts @@ -28,10 +28,13 @@ export async function runNode(this: Validator): Promise { // get latest state of the chain to start round await this.syncPoolState(); - await this.getBalancesForMetrics(); - if (!this.isNodeValidator()) { - process.exit(1); + if (!this.dryRun) { + await this.getBalancesForMetrics(); + + if (!this.isNodeValidator()) { + process.exit(1); + } } if (this.pool.status === PoolStatus.POOL_STATUS_END_KEY_REACHED) { @@ -61,7 +64,13 @@ export async function runNode(this: Validator): Promise { } // log out the role of this node in this particular round - if (this.pool.bundle_proposal!.next_uploader === this.staker) { + if (this.dryRun) { + this.logger.info( + `Participating in bundle proposal round ${ + this.pool.data!.total_bundles + } as NON-VALIDATOR` + ); + } else if (this.pool.bundle_proposal!.next_uploader === this.staker) { this.logger.info( `Participating in bundle proposal round ${ this.pool.data!.total_bundles @@ -87,6 +96,34 @@ export async function runNode(this: Validator): Promise { } } + // exit the node properly if the provided bundle rounds have been reached + if (this.dryRun && this.dryRunBundles > 0) { + const rounds = await this.m.bundles_amount.get(); + + if (rounds.values[0].value === this.dryRunBundles) { + const valid = await this.m.bundles_voted_valid.get(); + const invalid = await this.m.bundles_voted_invalid.get(); + const abstain = await this.m.bundles_voted_abstain.get(); + + console.log(); + this.logger.info( + `Participated in ${rounds.values[0].value} bundle rounds and successfully finished dry run` + ); + + console.log(); + this.logger.info(`Voted valid: ${valid.values[0].value}`); + this.logger.info(`Voted invalid: ${invalid.values[0].value}`); + this.logger.info(`Voted abstain: ${abstain.values[0].value}`); + + console.log(); + this.logger.info( + `Note that the total sum of the votes can be greater than the rounds since a node can still vote valid/invalid after initially voting abstain` + ); + + process.exit(0); + } + } + // wait until the upload interval has passed to continue with the proposal // of a new bundle. the node waits because a new round won't start during // that time diff --git a/common/protocol/src/methods/queries/canPropose.ts b/common/protocol/src/methods/queries/canPropose.ts index cd4552ba..87dbce76 100644 --- a/common/protocol/src/methods/queries/canPropose.ts +++ b/common/protocol/src/methods/queries/canPropose.ts @@ -18,6 +18,10 @@ export async function canPropose( updatedAt: number ): Promise { try { + if (this.dryRun) { + return false; + } + const canPropose = await callWithBackoffStrategy( async () => { for (let l = 0; l < this.lcd.length; l++) { diff --git a/common/protocol/src/methods/queries/canVote.ts b/common/protocol/src/methods/queries/canVote.ts index 8a08ded6..96874b4c 100644 --- a/common/protocol/src/methods/queries/canVote.ts +++ b/common/protocol/src/methods/queries/canVote.ts @@ -46,6 +46,13 @@ export async function canVote( }; } + if (this.dryRun) { + return { + possible: true, + reason: "", + }; + } + this.logger.debug(this.rest[l]); this.logger.debug( `this.lcd.kyve.query.v1beta1.canVote({pool_id: ${this.poolId.toString()},staker: ${ diff --git a/common/protocol/src/methods/setups/setupMetrics.ts b/common/protocol/src/methods/setups/setupMetrics.ts index 36156974..01f6f675 100644 --- a/common/protocol/src/methods/setups/setupMetrics.ts +++ b/common/protocol/src/methods/setups/setupMetrics.ts @@ -279,7 +279,7 @@ export function setupMetrics(this: Validator): void { this.logger.debug(`Initializing metrics: bundles_amount`); - this.m.bundles_amount = new prom_client.Gauge({ + this.m.bundles_amount = new prom_client.Counter({ name: "bundles_amount", help: "The amount of bundles the validator participated in.", }); diff --git a/common/protocol/src/methods/txs/claimUploaderRole.ts b/common/protocol/src/methods/txs/claimUploaderRole.ts index dee1904d..1a9ff041 100644 --- a/common/protocol/src/methods/txs/claimUploaderRole.ts +++ b/common/protocol/src/methods/txs/claimUploaderRole.ts @@ -14,6 +14,11 @@ import { Validator, standardizeError } from "../.."; export async function claimUploaderRole(this: Validator): Promise { for (let c = 0; c < this.client.length; c++) { try { + // if the node runs in dry run abort + if (this.dryRun) { + return false; + } + // if next uploader is already defined abort if (this.pool.bundle_proposal!.next_uploader) { return false; diff --git a/common/protocol/src/methods/txs/voteBundleProposal.ts b/common/protocol/src/methods/txs/voteBundleProposal.ts index 4b9ab88d..b2efdef1 100644 --- a/common/protocol/src/methods/txs/voteBundleProposal.ts +++ b/common/protocol/src/methods/txs/voteBundleProposal.ts @@ -34,37 +34,50 @@ export async function voteBundleProposal( throw Error(`Invalid vote: ${vote}`); } - this.logger.debug(this.rpc[c]); - this.logger.debug( - `this.client.kyve.bundles.v1beta1.voteBundleProposal({staker: ${ - this.staker - },pool_id: ${this.poolId.toString()},storage_id: ${storageId},vote: ${vote}})` - ); + let tx: any; + let receipt = { + code: 0, + }; - // use a higher gas multiplier of 1.5 because while voting the gas can drastically increase, - // making late submitted votes fail due to not enough gas - const tx = await this.client[c].kyve.bundles.v1beta1.voteBundleProposal( - { - staker: this.staker, - pool_id: this.poolId.toString(), - storage_id: storageId, - vote, - }, - { - fee: 1.6, - } - ); + if (!this.dryRun) { + this.logger.debug(this.rpc[c]); + this.logger.debug( + `this.client.kyve.bundles.v1beta1.voteBundleProposal({staker: ${ + this.staker + },pool_id: ${this.poolId.toString()},storage_id: ${storageId},vote: ${vote}})` + ); - this.logger.debug(`VoteProposal = ${tx.txHash}`); + // use a higher gas multiplier of 1.5 because while voting the gas can drastically increase, + // making late submitted votes fail due to not enough gas + tx = await this.client[c].kyve.bundles.v1beta1.voteBundleProposal( + { + staker: this.staker, + pool_id: this.poolId.toString(), + storage_id: storageId, + vote, + }, + { + fee: 1.6, + } + ); - const receipt = await tx.execute(); + this.logger.debug(`VoteProposal = ${tx.txHash}`); - this.logger.debug( - JSON.stringify({ ...receipt, rawLog: null, data: null }) - ); + receipt = await tx.execute(); + + this.logger.debug( + JSON.stringify({ ...receipt, rawLog: null, data: null }) + ); + } if (receipt.code === 0) { - this.logger.info(`Voted ${voteMessage} on bundle "${storageId}"`); + if (this.dryRun) { + this.logger.warn( + `Node would have voted ${voteMessage} on bundle "${storageId}"` + ); + } else { + this.logger.info(`Voted ${voteMessage} on bundle "${storageId}"`); + } this.m.tx_vote_bundle_proposal_successful.inc(); this.m.fees_vote_bundle_proposal.inc( From 06082e7987ae30154a1a095ac8a149a45ba7c2ac Mon Sep 17 00:00:00 2001 From: Troy Kessler Date: Thu, 29 Aug 2024 14:47:35 +0200 Subject: [PATCH 2/5] chore: released new version - @kyvejs/protocol@1.2.3 - @kyvejs/ethereum-blobs@1.0.0-beta.6 - @kyvejs/evm@1.1.0-beta.5 - @kyvejs/tendermint@1.2.4 - @kyvejs/tendermint-bsync@1.2.4 - @kyvejs/tendermint-ssync@1.2.3 --- common/protocol/CHANGELOG.md | 4 ++++ common/protocol/package.json | 2 +- integrations/ethereum-blobs/CHANGELOG.md | 4 ++++ integrations/ethereum-blobs/package.json | 4 ++-- integrations/evm/CHANGELOG.md | 4 ++++ integrations/evm/package.json | 4 ++-- integrations/tendermint-bsync/CHANGELOG.md | 4 ++++ integrations/tendermint-bsync/package.json | 4 ++-- integrations/tendermint-ssync/CHANGELOG.md | 4 ++++ integrations/tendermint-ssync/package.json | 4 ++-- integrations/tendermint/CHANGELOG.md | 4 ++++ integrations/tendermint/package.json | 4 ++-- 12 files changed, 35 insertions(+), 11 deletions(-) diff --git a/common/protocol/CHANGELOG.md b/common/protocol/CHANGELOG.md index ba5a1ef4..03540bb8 100644 --- a/common/protocol/CHANGELOG.md +++ b/common/protocol/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.3](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/protocol@1.2.2...@kyvejs/protocol@1.2.3) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/protocol + ## [1.2.2](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/protocol@1.2.1...@kyvejs/protocol@1.2.2) (2024-08-07) **Note:** Version bump only for package @kyvejs/protocol diff --git a/common/protocol/package.json b/common/protocol/package.json index df2a177b..7791f3c0 100644 --- a/common/protocol/package.json +++ b/common/protocol/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/protocol", - "version": "1.2.2", + "version": "1.2.3", "main": "./dist/src/index.js", "types": "./dist/src/index.d.ts", "repository": { diff --git a/integrations/ethereum-blobs/CHANGELOG.md b/integrations/ethereum-blobs/CHANGELOG.md index 0d94070e..ecb7f0e0 100644 --- a/integrations/ethereum-blobs/CHANGELOG.md +++ b/integrations/ethereum-blobs/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.0.0-beta.6](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/ethereum-blobs@1.0.0-beta.5...@kyvejs/ethereum-blobs@1.0.0-beta.6) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/ethereum-blobs + # [1.0.0-beta.5](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/ethereum-blobs@1.0.0-beta.4...@kyvejs/ethereum-blobs@1.0.0-beta.5) (2024-08-07) **Note:** Version bump only for package @kyvejs/ethereum-blobs diff --git a/integrations/ethereum-blobs/package.json b/integrations/ethereum-blobs/package.json index a9988b16..5ccfa5ad 100644 --- a/integrations/ethereum-blobs/package.json +++ b/integrations/ethereum-blobs/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/ethereum-blobs", - "version": "1.0.0-beta.5", + "version": "1.0.0-beta.6", "license": "MIT", "scripts": { "build": "rimraf dist && tsc", @@ -22,7 +22,7 @@ "singleQuote": true }, "dependencies": { - "@kyvejs/protocol": "1.2.2", + "@kyvejs/protocol": "1.2.3", "axios": "^0.27.2", "dotenv": "^16.3.1" }, diff --git a/integrations/evm/CHANGELOG.md b/integrations/evm/CHANGELOG.md index 35bc097c..18c55e1e 100644 --- a/integrations/evm/CHANGELOG.md +++ b/integrations/evm/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +# [1.1.0-beta.5](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/evm@1.1.0-beta.4...@kyvejs/evm@1.1.0-beta.5) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/evm + # [1.1.0-beta.4](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/evm@1.1.0-beta.3...@kyvejs/evm@1.1.0-beta.4) (2024-08-07) **Note:** Version bump only for package @kyvejs/evm diff --git a/integrations/evm/package.json b/integrations/evm/package.json index fe195e90..ed1fe695 100644 --- a/integrations/evm/package.json +++ b/integrations/evm/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/evm", - "version": "1.1.0-beta.4", + "version": "1.1.0-beta.5", "license": "MIT", "scripts": { "build": "rimraf dist && tsc", @@ -22,7 +22,7 @@ "singleQuote": true }, "dependencies": { - "@kyvejs/protocol": "1.2.2", + "@kyvejs/protocol": "1.2.3", "ethers": "^5.6.5" }, "devDependencies": { diff --git a/integrations/tendermint-bsync/CHANGELOG.md b/integrations/tendermint-bsync/CHANGELOG.md index 29132f5a..92ea43c2 100644 --- a/integrations/tendermint-bsync/CHANGELOG.md +++ b/integrations/tendermint-bsync/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.4](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint-bsync@1.2.3...@kyvejs/tendermint-bsync@1.2.4) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/tendermint-bsync + ## [1.2.3](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint-bsync@1.2.2...@kyvejs/tendermint-bsync@1.2.3) (2024-08-07) **Note:** Version bump only for package @kyvejs/tendermint-bsync diff --git a/integrations/tendermint-bsync/package.json b/integrations/tendermint-bsync/package.json index dc027ac9..5d7b572d 100644 --- a/integrations/tendermint-bsync/package.json +++ b/integrations/tendermint-bsync/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/tendermint-bsync", - "version": "1.2.3", + "version": "1.2.4", "license": "MIT", "scripts": { "build": "rimraf dist && tsc", @@ -22,7 +22,7 @@ "singleQuote": true }, "dependencies": { - "@kyvejs/protocol": "1.2.2", + "@kyvejs/protocol": "1.2.3", "@kyvejs/sdk": "1.3.2", "axios": "^0.27.2" }, diff --git a/integrations/tendermint-ssync/CHANGELOG.md b/integrations/tendermint-ssync/CHANGELOG.md index ceb5fe84..6e7063ea 100644 --- a/integrations/tendermint-ssync/CHANGELOG.md +++ b/integrations/tendermint-ssync/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.3](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint-ssync@1.2.2...@kyvejs/tendermint-ssync@1.2.3) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/tendermint-ssync + ## [1.2.2](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint-ssync@1.2.1...@kyvejs/tendermint-ssync@1.2.2) (2024-08-07) **Note:** Version bump only for package @kyvejs/tendermint-ssync diff --git a/integrations/tendermint-ssync/package.json b/integrations/tendermint-ssync/package.json index 79dad543..fca35464 100644 --- a/integrations/tendermint-ssync/package.json +++ b/integrations/tendermint-ssync/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/tendermint-ssync", - "version": "1.2.2", + "version": "1.2.3", "license": "MIT", "scripts": { "build": "rimraf dist && tsc", @@ -22,7 +22,7 @@ "singleQuote": true }, "dependencies": { - "@kyvejs/protocol": "1.2.2", + "@kyvejs/protocol": "1.2.3", "axios": "^0.27.2" }, "devDependencies": { diff --git a/integrations/tendermint/CHANGELOG.md b/integrations/tendermint/CHANGELOG.md index 50c42398..9a1ff260 100644 --- a/integrations/tendermint/CHANGELOG.md +++ b/integrations/tendermint/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.2.4](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint@1.2.3...@kyvejs/tendermint@1.2.4) (2024-08-29) + +**Note:** Version bump only for package @kyvejs/tendermint + ## [1.2.3](https://github.com/KYVENetwork/kyvejs/compare/@kyvejs/tendermint@1.2.2...@kyvejs/tendermint@1.2.3) (2024-08-07) **Note:** Version bump only for package @kyvejs/tendermint diff --git a/integrations/tendermint/package.json b/integrations/tendermint/package.json index c3c4d61d..e60e8379 100644 --- a/integrations/tendermint/package.json +++ b/integrations/tendermint/package.json @@ -1,6 +1,6 @@ { "name": "@kyvejs/tendermint", - "version": "1.2.3", + "version": "1.2.4", "license": "MIT", "scripts": { "build": "rimraf dist && tsc", @@ -22,7 +22,7 @@ "singleQuote": true }, "dependencies": { - "@kyvejs/protocol": "1.2.2", + "@kyvejs/protocol": "1.2.3", "@kyvejs/sdk": "1.3.2", "ajv": "^8.12.0", "axios": "^0.27.2", From 6256f74e61c664bc80c40972d2535fe40f24b35f Mon Sep 17 00:00:00 2001 From: Troy Kessler <43882936+troykessler@users.noreply.github.com> Date: Mon, 2 Sep 2024 17:06:20 +0200 Subject: [PATCH 3/5] chore: added dry-run flag to kysor (#153) --- tools/kysor/src/commands/start.ts | 9 +++++++++ tools/kysor/src/kysor.ts | 9 +++++++++ 2 files changed, 18 insertions(+) diff --git a/tools/kysor/src/commands/start.ts b/tools/kysor/src/commands/start.ts index b406d637..3b3873f7 100644 --- a/tools/kysor/src/commands/start.ts +++ b/tools/kysor/src/commands/start.ts @@ -15,6 +15,15 @@ start "Specify the path to an .env file which should be used when starting a binary" ) .option("--debug", "Run the validator node in debug mode") + .option( + "--dry-run", + "Run the node without uploading or voting on bundles so the operator can test his setup before joining as a validator." + ) + .option( + "--dry-run-bundles ", + "Specify the number of bundles that should be tested before the node properly exits. If zero the node will run indefinitely [default = 0]", + "0" + ) .action(async (options) => { await run(options); }); diff --git a/tools/kysor/src/kysor.ts b/tools/kysor/src/kysor.ts index 92622f3e..0cea2699 100644 --- a/tools/kysor/src/kysor.ts +++ b/tools/kysor/src/kysor.ts @@ -408,6 +408,15 @@ export const run = async (options: any) => { args.push("--debug"); } + if (options.dryRun) { + args.push("--dry-run"); + } + + if (options.dryRunBundles > 0) { + args.push("--dry-run-bundles"); + args.push(`${options.dryRunBundles}`); + } + if (valaccount.requestBackoff) { args.push(`--request-backoff`); args.push(`${valaccount.requestBackoff}`); From f326f17d800143dc4422c51de3eaea5b55901cbd Mon Sep 17 00:00:00 2001 From: Troy Kessler Date: Mon, 2 Sep 2024 17:06:48 +0200 Subject: [PATCH 4/5] chore: released new version - @kyve/kysor@1.4.3 --- tools/kysor/CHANGELOG.md | 4 ++++ tools/kysor/package.json | 2 +- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/tools/kysor/CHANGELOG.md b/tools/kysor/CHANGELOG.md index 18729ec7..46eea6fc 100644 --- a/tools/kysor/CHANGELOG.md +++ b/tools/kysor/CHANGELOG.md @@ -3,6 +3,10 @@ All notable changes to this project will be documented in this file. See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. +## [1.4.3](https://github.com/KYVENetwork/kyvejs/compare/@kyve/kysor@1.4.2...@kyve/kysor@1.4.3) (2024-09-02) + +**Note:** Version bump only for package @kyve/kysor + ## [1.4.2](https://github.com/KYVENetwork/kyvejs/compare/@kyve/kysor@1.4.1...@kyve/kysor@1.4.2) (2024-08-07) **Note:** Version bump only for package @kyve/kysor diff --git a/tools/kysor/package.json b/tools/kysor/package.json index ef0e3aa5..09c3d8db 100644 --- a/tools/kysor/package.json +++ b/tools/kysor/package.json @@ -1,7 +1,7 @@ { "name": "@kyve/kysor", "description": "The Cosmovisor for KYVE protocol nodes", - "version": "1.4.2", + "version": "1.4.3", "main": "./dist/index.js", "types": "./dist/index.d.ts", "homepage": "https://github.com/KYVENetwork/kysor#readme", From 87aadf0ce8a2f140046853ba50b292011a7d3362 Mon Sep 17 00:00:00 2001 From: Derek Sonnenberg Date: Thu, 12 Sep 2024 01:37:53 -0500 Subject: [PATCH 5/5] chore: avoid downstream dependency runtime errors (#154) --- common/sdk/package.json | 2 ++ common/types/package.json | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/common/sdk/package.json b/common/sdk/package.json index 4fad09ee..48d99142 100644 --- a/common/sdk/package.json +++ b/common/sdk/package.json @@ -26,6 +26,7 @@ "@cosmjs/amino": "^0.32.3", "@cosmjs/crypto": "^0.32.3", "@cosmjs/encoding": "^0.32.3", + "@cosmjs/math": "^0.32.4", "@cosmjs/proto-signing": "^0.32.3", "@cosmjs/stargate": "^0.32.3", "@cosmostation/extension-client": "^0.1.15", @@ -34,6 +35,7 @@ "axios": "^0.27.2", "bech32": "2.0.0", "bignumber.js": "9.1.2", + "cosmjs-types": "^0.9.0", "humanize-number": "0.0.2", "qs": "^6.10.5" }, diff --git a/common/types/package.json b/common/types/package.json index 5d800438..740675ff 100644 --- a/common/types/package.json +++ b/common/types/package.json @@ -24,5 +24,9 @@ "devDependencies": { "rimraf": "^3.0.2", "typescript": "^4.7.3" + }, + "dependencies": { + "long": "^5.2.3", + "protobufjs": "^7.4.0" } }