From 8f0294a6ee00ce3ae394e0a8e3ad21fb82b42047 Mon Sep 17 00:00:00 2001 From: Yashk767 <76935991+Yashk767@users.noreply.github.com> Date: Fri, 19 Jul 2024 13:09:07 +0530 Subject: [PATCH] Develop backup (#5) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Releases/v1.1.0 (#1163) * feat: Github Migration (#1146) * feat: migrate to github actions * chore: migrate from circle ci * Update develop.yml (#1148) * Update develop.yml (#1149) * Update develop.yml * Update develop.yml * Update develop.yml * Fix go mod tidy * Replaced curve instance elliptic.P256() with crypto.S256() (#1150) * fix: Update Dockerfile with version bumps (#1152) * chore: hotfix missing workflow * chore: fix dockerfile versions * Feature/v1.1.0 (#1154) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Reduced wait for block completion to 1 second (#984) * changed tolerance flag type to uint32 (#983) * Removed ethBalanceCheck (#982) * Moved constant values to constants.go (#987) * moved gasLimitMultiplier as constant in constants.go * Moved path.go strings to constants.go * Replaced common.Hash{0x00} with core.NilHash * Update geth version to v1.10.25 and updated depreciated bindings (#985) * Updated geth version * Updated depriciated bindings * updated go.sum to fix tests * Replaced errors package * Validate contract calls (Changes from v1-audit) (#981) * Added retry mechanism for fetchBalance * Added ETA for unlockWithdraw * Added check of staker is slashed for stake * Added valid ERC20 check for addresses * Changed name from IsValidErc20Address to IsValidAddress * Functions Refactor (#989) * changed state name to Buffer instead of -1 * CalculateBlockNumberAtEpochBeginning cleanup * Renamed functions in array.go * ApproveUnstake sends StakerTokenAddress instead of StakerStruct * Returned error from getMerkleTree() * Returned error from getMerkleRoot() * Removed unused functions * Added tree is nil condition in GetMerkleRoot() * fixed BenchmarkGenerateTreeRevealData * Code CleanUp (Issues from v1-audit) (#990) * Renamed getDelayedState to getBufferedState * remove uint64 from block time * Renamed handleRevealState to CheckForLastCommitted * CalculateBlockNumberAtEpochBeginning renamed to EstimateBlockNumberAtEpochBeginning * Renamed claimStakeReward to ClaimStakerReward * Renamed GetStatesAllowed to GetFormattedStateNames * GetSalt clean up * changed int64 to uint64 in constants * Used block.Time directly instead of blockTime variable * Txn hash made consistent in logging * remove redundant uint64 typecast from GetEpoch() * Rename coinContract to erc20contract * Updated mocks after renaming coinContract to erc20Contract * Removed redundant code in logger.go * Removed space from xhtml job result (#991) * Log changes from v1-audit (#994) * Renamed eth balance to sFuel balance * used log.Info instead of fmt.Println for contractAddresses * Added do not mopdify note in constants.go * Added a warning for low ethBalance * replaced path.join with filepath.join (#992) * Removed redundant cmd/utilsInterface (#997) * Removed UtilsInterface in cmd package * Compilation successful for tests * replaced utils.UtilsInterface with razorUtils * Included CheckAmountAndBalance in utils/utilsInterface * Fixed tests * Fixed benchmark * Fixed MakeBlock benchmark * Moved waitForAppropriateState after epoch check (#1008) * Implemented timeout for logger on fetching blockNumber (#1009) * Implemented timeout for logger on fethcing blockNumber * Added comments * updated dockerfile and readme for non-root user (#1014) * Moved Lumberjack constants to config (#1011) * Added logFile parameters to config * Initialised logger with getting parameters from config * Added logFile paramters in config set up script * Added config as a parameter in AssignLogFile() * Fixed tests * Avoided passing nil types.Configurations{] * Passed types.Configuations{} for setConfig * updated readme for expose metric and running cmd in background (#1015) * Cached API Response (#1016) * Added cache package containing caching utils * Used cache to get data from API * Fixed tests * Fixed test * minor fixes * removed unwanted test * Added condition to fetch value only if the key is present in json (#1028) * Added support for Post Requests (#1020) * Added POST request support * datasource URL struct support * Updated createJob command and new format for assets.json file * Fixed tests * Fixed URlStruct in test * Removed unwanted comment * Backwards compatible * Removed unwanted logs * Merge `v1.0.5`into `v1.0.6` (#1031) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * renamed variable correctly Co-authored-by: Shrikant upadhyay * Refactor utilsInterface (#1024) * FileUtils, GasUtils, ClientUtils * Added test_utils.go to initialiase all the mocked interface * test_utils.go support for all tests * Initialised new utils interfaces * Fetched v1.0.5 updates to v1.0.6 (#1045) * Fetched the updated changes from v1.0.5 * Staging deployement parameters (#1046) * Added http timeout as a config parameter (#1055) * added http timeout as a config parameter * Fixed and Added tests * added httpTimeout in config * Added logFile config parameters to readMe * Fixed comments * Fetched API key from env file (#1048) * Added dot env file utils * Fetched API key from .env file when required * updated dependencies * Changed API key regex * Added name field in customJob struct * Replaced content-type field with headers in dataSourceURLStruct * Updated post request creation * picked API Regex from constants.go * Removed unwanted field from header * returned error as well from GetkeywordAndAPIKey * replaces regexp.Match() with strings.Contains() * support for headers in GET requests * Refactored GetDataFromAPI * Added processRequest retry constants * Added condition to check if there was a value in previous block (#1056) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Merge v1.0.5 to main (#1038) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * V1.0.5 beta ready (#1032) * Production support * Updated release version * Updated maxSize of log file to 200MB * Added mutex lock in blockNumber calculation (#1035) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Added mutex lock in blockNumber calculation * Added new staging addresses and chainId * updated version Co-authored-by: Shrikant upadhyay * v1.0.5-beta-patch1 (#1037) * Updated depolyment paramters to prod * updated version to v1.0.5-beta-patch1 * Updated version to v1.0.5 (#1033) * Made v1.0.5 branch in sync with main branch (#1039) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Deleted password file (#1040) Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat Co-authored-by: Shrikant upadhyay * Releases/v1.0.5 (#1043) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * V1.0.5 beta ready (#1032) * Production support * Updated release version * Updated maxSize of log file to 200MB * Added mutex lock in blockNumber calculation (#1035) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Added mutex lock in blockNumber calculation * Added new staging addresses and chainId * updated version Co-authored-by: Shrikant upadhyay * v1.0.5-beta-patch1 (#1037) * Updated depolyment paramters to prod * updated version to v1.0.5-beta-patch1 * Updated version to v1.0.5 (#1033) * Made v1.0.5 branch in sync with main branch (#1039) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Deleted password file (#1040) * Added sleep time to reduce amount of RPC calls to get blockNumber (#1042) add sleep after client call to get blockNumber Signed-off-by: Ashish Kumar Mishra Co-authored-by: Yashk767 <76935991+Yashk767@users.noreply.github.com> Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat Co-authored-by: Shrikant upadhyay Co-authored-by: YashK * updated CI for dockerhub token. (#1052) * added condition to check if there was a value in previous block * changed error messaged --------- Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shrikant upadhyay Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Checked password is correct at the immediate start of command (#1069) * Added function CheckPassword() * Checked password at immediate start of command * Added CheckPassword in UtilsInterface * fixed tests * Fetch `main` branch into `v1.0.6` (#1076) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Merge v1.0.5 to main (#1038) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * V1.0.5 beta ready (#1032) * Production support * Updated release version * Updated maxSize of log file to 200MB * Added mutex lock in blockNumber calculation (#1035) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Added mutex lock in blockNumber calculation * Added new staging addresses and chainId * updated version Co-authored-by: Shrikant upadhyay * v1.0.5-beta-patch1 (#1037) * Updated depolyment paramters to prod * updated version to v1.0.5-beta-patch1 * Updated version to v1.0.5 (#1033) * Made v1.0.5 branch in sync with main branch (#1039) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Deleted password file (#1040) Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat Co-authored-by: Shrikant upadhyay * Releases/v1.0.5 (#1043) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * V1.0.5 beta ready (#1032) * Production support * Updated release version * Updated maxSize of log file to 200MB * Added mutex lock in blockNumber calculation (#1035) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Added mutex lock in blockNumber calculation * Added new staging addresses and chainId * updated version Co-authored-by: Shrikant upadhyay * v1.0.5-beta-patch1 (#1037) * Updated depolyment paramters to prod * updated version to v1.0.5-beta-patch1 * Updated version to v1.0.5 (#1033) * Made v1.0.5 branch in sync with main branch (#1039) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Deleted password file (#1040) * Added sleep time to reduce amount of RPC calls to get blockNumber (#1042) add sleep after client call to get blockNumber Signed-off-by: Ashish Kumar Mishra Co-authored-by: Yashk767 <76935991+Yashk767@users.noreply.github.com> Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat Co-authored-by: Shrikant upadhyay Co-authored-by: YashK * updated CI for dockerhub token. (#1052) * updated CI for tests (#1075) * updated CI for tests * removed docker from test ci * Merge `v1.0.5-patch2` to main (#1073) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * updated version to v1.0.5-alpha (#978) * Changes Requested in v1.0.5 Review (#1006) * updated logs and readMe for v1.0.5 * Canges string formater for errors to %v * Inserted Logs in the entire codebase (#1018) * Inserted Logs * Corrected logs * Modified lumberJack constants * V1.0.5-alpha-patch1 Ready (#1022) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Log corrections * updated release * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Calculated blockNumber in a separate go-routine for logging (#1025) * Cached block number in logger * Revert "Cached block number in logger" This reverts commit 760e3adf38f106bd444ef2d64494565d9bd6dae1. * Added block/block.go for calculating latestBlock in a seperate goroutine * Fetched block number from block package * log corrections * Increased max size of file to 182MB (#1027) * V1.0.5 beta ready (#1032) * Production support * Updated release version * Updated maxSize of log file to 200MB * Added mutex lock in blockNumber calculation (#1035) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. * Added mutex lock in blockNumber calculation * Added new staging addresses and chainId * updated version Co-authored-by: Shrikant upadhyay * v1.0.5-beta-patch1 (#1037) * Updated depolyment paramters to prod * updated version to v1.0.5-beta-patch1 * Updated version to v1.0.5 (#1033) * Made v1.0.5 branch in sync with main branch (#1039) * Merge `v1.0.4` release to main branch (#977) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Updated user in dockerfile (#1012) * updating user in dockerfile * updating readme for non-root user * Revert "Updated user in dockerfile (#1012)" (#1021) This reverts commit 7f95edbdc1c2963077805a9da6b0b5aa7e4c0f22. Co-authored-by: Shrikant upadhyay * Deleted password file (#1040) * Added sleep time to reduce amount of RPC calls to get blockNumber (#1042) add sleep after client call to get blockNumber * Merge `V1.0.5-gasLimitFix` to `releases/v1.0.5` (#1062) * Hardcoded gas limit for reveal (#1060) * Updated version to v1.0.5-patch2 (#1061) * Added gasLimit to override as a config parameter (#1063) * Added gasLimitOverride config parameter * Taking the gas limit value from config if present * Added tests * Added default gas limit override value * Added gas limit overridr in readMe * Updated deployment parameters to staging for `v1.0.5-patch2-alpha` (#1065) * Updated deployment parameters to staging * updated version * Updated to v1.0.5-patch2-beta (#1066) * Updated version to v1.0.5-patch2-beta * Updated deployement parameters to prod * Updated version to `v1.0.5-patch2` release (#1067) * Merge v1.0.5 to main (#1038) * v1.2.0 (#965) * Hotfix-logImprovements (#952) * Set up blocknumber and epoch in logs * updated blocknumber and epoch logger info in every command * Hotfix-getDataFromAPI (#951) * Changed numm of retry attempts * removed redundant retry attempts * corrected tests * changed http timeout and logged time elapsed to fetch data (#954) * Updated version (#960) * Updated version * updated version to v1.2.0 * version update (#972) * Merged `v1.3.0-alpha` into `v1.0.5` (#973) * Merged `v1` into `v1.3.0-aplha` with hotfixes (#966) * Hotfix-proposed data (#913) * Updated propose data global variables correctly * Fixed tests * Returned correct waitForBlockCompletion error * coverage increase * GetLocalData returns type types.ProposeFileData * fixed benchmark * Fetched Last proposed from contracts (#917) * fetched getLastProposedEpoch from contracts and tests for it * typo fix * V1 propose hotfix (#918) * Change propose.go to get sorted proposed block ids. * Fix sorted proposed block issue. Signed-off-by: Ashish Kumar Mishra * allow stakers to addStake < minSafeRazor (#928) * Call claimStakerReward only if there reward to claim (#926) * Make contract call only if there is commission to claim * Add tests for claimCommission file * update check * Hotfix-giveSorted (#921) * ResetDispute only done after FinalizeDispute * Fixed tests * Update README (#931) * Update README * Update logs path * Fix home dir path * Add logs to vote.go and commit.go Signed-off-by: Ashish Kumar Mishra * Add logs for dispute and propose. Signed-off-by: Ashish Kumar Mishra * Fix tests. Signed-off-by: Ashish Kumar Mishra * Suppress unneccessary error logs. (#935) Signed-off-by: Ashish Kumar Mishra * changed http timeout to 30 sec (#943) * saving commit data only after successfull commit (#947) * Added password flag (#946) * added password flag * README updated * Hotfix-giveSorted (new implementation) (#953) * GiveSorted linear recursion * Added backupNode flag * Compilation success for tests * Fixed tests * removed recusrsion, called giveSorted linearly * fixed tests * Added leafId to giveSortedLeafIds[] on successful giveSorted * Hotfix-sortedProposedBlocks (#957) * Shuffled copied slice instead of original slice * returned error from giveSorted when len(sortedValues)=0 * Fixed dispute tests * Changed pending nonce at to nonce at. (#948) * Changed pending nonce at to nonce at. * Update mockery Signed-off-by: Ashish Kumar Mishra * Hotfix -RPCTimeout (#955) * Added a generic function with timeout for contract calls * Moved generic function to utils and implemented to all contract getter calls * Implemented timeout for contract setter functions * rpc timeout custom error * type asserting structs from contract mappings * Shifted timeout to constants * passed timeout in int in constants.go * Added rpcTimeout as config * Removed errorIndex paramter from CheckIfAnyError() * Function renamed * Fixed tests * Unrequired change * Added backup node info in readme (#963) * Passed a initialized varible instead of nil value as a parameter Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Skanda Bhat * Updated `v1.3.0` branch to staging parameters for v1.3.0-alpha version (#967) * Updated contract addresses and chainId to staging * Updated razor-go version to v1.3.0-alpha * Fixed `CheckIfAnyError()` on RPCTimeout. (#974) * Added errorIndexInReturnedValues as a parameter in function * Fixed comparios of error data type from returned values * Added a check if config key is present in yaml file before fetching value (#975) * Added default values for config parameters * Checked if config key is present in yaml file before fetching * Fixed tests * returned default values uniformly Signed-off-by: Ashish Kumar Mishra Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Skanda Bhat Co-authored-by: Yohan Nelson Co-authored-by: SkandaBhat Co-authored-by: Shekhar Gaur <65169767+shekhar2807@users.noreply.github.com> Co-authored-by: Ashish Kumar Mishra Co-authored-by: Shyam Patel Co-authored-by: Raj Kharvar Co-authored-by: Shrikant upadhyay --- cmd/dispute.go | 72 +++++++++++++++++++++++---------------------- cmd/dispute_test.go | 52 ++++++++++++++++++++++---------- 2 files changed, 74 insertions(+), 50 deletions(-) diff --git a/cmd/dispute.go b/cmd/dispute.go index 539d9e802..ae662c917 100644 --- a/cmd/dispute.go +++ b/cmd/dispute.go @@ -110,7 +110,6 @@ func (*UtilsStruct) HandleDispute(client *ethclient.Client, config types.Configu err = cmdUtils.StoreBountyId(client, account) if err != nil { log.Error(err) - break } continue } @@ -124,6 +123,7 @@ func (*UtilsStruct) HandleDispute(client *ethclient.Client, config types.Configu idDisputeTxn, err := cmdUtils.CheckDisputeForIds(client, transactionOptions, epoch, uint8(blockIndex), proposedBlock.Ids, revealedCollectionIds) if err != nil { log.Error("Error in disputing: ", err) + continue } if idDisputeTxn != nil { idDisputeTxnHash := transactionUtils.Hash(idDisputeTxn) @@ -136,7 +136,6 @@ func (*UtilsStruct) HandleDispute(client *ethclient.Client, config types.Configu err = cmdUtils.StoreBountyId(client, account) if err != nil { log.Error(err) - break } continue } @@ -153,6 +152,11 @@ func (*UtilsStruct) HandleDispute(client *ethclient.Client, config types.Configu // ids [1, 2, 3, 4] // Sorted revealed values would be the vote values for the wrong median, here 230 log.Debug("HandleDispute: Mismatch index while iterating: ", mismatchIndex) + if mismatchIndex < 0 || mismatchIndex >= len(proposedBlock.Ids) { + log.Error("Mismatch index is out of bounds, cannot continue dispute for medians") + continue + } + collectionIdOfWrongMedian := proposedBlock.Ids[mismatchIndex] log.Debug("HandleDispute: Collection Id of wrong median: ", collectionIdOfWrongMedian) @@ -190,65 +194,63 @@ func (*UtilsStruct) HandleDispute(client *ethclient.Client, config types.Configu //This function returns the local median data func (*UtilsStruct) GetLocalMediansData(client *ethclient.Client, account types.Account, epoch uint32, blockNumber *big.Int, rogueData types.Rogue) (types.ProposeFileData, error) { - if (globalProposedDataStruct.MediansData == nil && !rogueData.IsRogue) || epoch != globalProposedDataStruct.Epoch { + if rogueData.IsRogue { + // As the staker has proposed with incorrect medians in rogue mode so those values needs to be compared with the correct calculated medians + log.Debug("Staker proposed in rogue mode, now calculating medians correctly...") + return calculateMedian(client, account, epoch, blockNumber) + } + + // Fetching the data from file only if the node is not in rogue mode and + // the proposed data in memory is nil or epoch in propose data from memory doesn't match with current epoch + nilProposedData := globalProposedDataStruct.MediansData == nil || globalProposedDataStruct.RevealedDataMaps == nil || globalProposedDataStruct.RevealedCollectionIds == nil + if nilProposedData || epoch != globalProposedDataStruct.Epoch { log.Debug("Global propose data struct is not updated, getting the proposed data from file...") fileName, err := pathUtils.GetProposeDataFileName(account.Address) if err != nil { log.Error("Error in getting file name to read median data: ", err) - goto CalculateMedian + return calculateMedian(client, account, epoch, blockNumber) } log.Debug("GetLocalMediansData: Propose data file path: ", fileName) proposedData, err := fileUtils.ReadFromProposeJsonFile(fileName) if err != nil { log.Errorf("Error in getting propose data from file %s: %v", fileName, err) - goto CalculateMedian + return calculateMedian(client, account, epoch, blockNumber) } log.Debugf("GetLocalMediansData: Proposed data from file: %+v", proposedData) if proposedData.Epoch != epoch { log.Errorf("File %s doesn't contain latest median data", fileName) - goto CalculateMedian + return calculateMedian(client, account, epoch, blockNumber) } - log.Debug("Updating global proposed data struct...") - updateGlobalProposedDataStruct(proposedData) - log.Debugf("GetLocalMediansData: Global proposed data struct: %+v", globalProposedDataStruct) + return proposedData, err } -CalculateMedian: + + return globalProposedDataStruct, nil +} + +func calculateMedian(client *ethclient.Client, account types.Account, epoch uint32, blockNumber *big.Int) (types.ProposeFileData, error) { stakerId, err := razorUtils.GetStakerId(client, account.Address) if err != nil { log.Error("Error in getting stakerId: ", err) return types.ProposeFileData{}, err } log.Debug("GetLocalMediansData: Staker Id: ", stakerId) - lastProposedEpoch, err := razorUtils.GetEpochLastProposed(client, stakerId) + + log.Debug("Calculating the medians data again...") + log.Debugf("GetLocalMediansData: Calling MakeBlock() with arguments blockNumber = %s, epoch = %d, rogueData = %+v", blockNumber, epoch, types.Rogue{IsRogue: false}) + medians, revealedCollectionIds, revealedDataMaps, err := cmdUtils.MakeBlock(client, blockNumber, epoch, types.Rogue{IsRogue: false}) if err != nil { - log.Error("Error in getting last proposed epoch: ", err) + log.Error("Error in calculating block medians: ", err) return types.ProposeFileData{}, err } - log.Debug("GetLocalMediansData: Last proposed epoch: ", lastProposedEpoch) - - nilProposedData := globalProposedDataStruct.MediansData == nil || globalProposedDataStruct.RevealedDataMaps == nil || globalProposedDataStruct.RevealedCollectionIds == nil - epochCheck := epoch != lastProposedEpoch - - if nilProposedData || rogueData.IsRogue || epochCheck { - log.Debug("Calculating the medians data again...") - log.Debugf("GetLocalMediansData: Calling MakeBlock() with arguments blockNumber = %s, epoch = %d, rogueData = %+v", blockNumber, epoch, types.Rogue{IsRogue: false}) - medians, revealedCollectionIds, revealedDataMaps, err := cmdUtils.MakeBlock(client, blockNumber, epoch, types.Rogue{IsRogue: false}) - if err != nil { - log.Error("Error in calculating block medians") - return types.ProposeFileData{}, err - } - log.Debug("Updating global proposed data struct...") - updateGlobalProposedDataStruct(types.ProposeFileData{ - MediansData: medians, - RevealedCollectionIds: revealedCollectionIds, - RevealedDataMaps: revealedDataMaps, - Epoch: epoch, - }) - log.Debugf("GetLocalMediansData: Global proposed data struct: %+v", globalProposedDataStruct) + calculatedProposedData := types.ProposeFileData{ + MediansData: medians, + RevealedCollectionIds: revealedCollectionIds, + RevealedDataMaps: revealedDataMaps, + Epoch: epoch, } - log.Debugf("Locally calculated data, Medians: %s", globalProposedDataStruct.MediansData) - return globalProposedDataStruct, nil + log.Debugf("Locally calculated data, Medians: %s", calculatedProposedData.MediansData) + return calculatedProposedData, nil } //This function check for the dispute in different type of Id's diff --git a/cmd/dispute_test.go b/cmd/dispute_test.go index 96573a2af..6723f7e32 100644 --- a/cmd/dispute_test.go +++ b/cmd/dispute_test.go @@ -494,6 +494,30 @@ func TestHandleDispute(t *testing.T) { }, want: nil, }, + { + name: "Test 19: When the mismatch id index is out of range", + args: args{ + sortedProposedBlockIds: []uint32{45, 65, 23, 64, 12}, + biggestStake: big.NewInt(1).Mul(big.NewInt(5356), big.NewInt(1e18)), + biggestStakeId: 2, + medians: []*big.Int{big.NewInt(6901548), big.NewInt(498307)}, + revealedCollectionIds: []uint16{1}, + revealedDataMaps: &types.RevealedDataMaps{ + SortedRevealedValues: nil, + VoteWeights: nil, + InfluenceSum: nil, + }, + proposedBlock: bindings.StructsBlock{ + Medians: []*big.Int{big.NewInt(6901548)}, + Ids: []uint16{1}, + Valid: true, + BiggestStake: big.NewInt(1).Mul(big.NewInt(5356), big.NewInt(1e18)), + }, + idDisputeTxn: nil, + disputeErr: nil, + }, + want: nil, + }, } for _, tt := range tests { @@ -656,7 +680,6 @@ func TestGetLocalMediansData(t *testing.T) { client *ethclient.Client account types.Account blockNumber *big.Int - rogueData types.Rogue ) type args struct { epoch uint32 @@ -670,8 +693,7 @@ func TestGetLocalMediansData(t *testing.T) { mediansErr error stakerId uint32 stakerIdErr error - lastProposedEpoch uint32 - lastProposedEpochErr error + isRogue bool } tests := []struct { name string @@ -717,7 +739,8 @@ func TestGetLocalMediansData(t *testing.T) { { name: "Test 4: When there is an error in getting medians", args: args{ - mediansErr: errors.New("error in fetching medians"), + fileNameErr: errors.New("error in getting fileName"), + mediansErr: errors.New("error in fetching medians"), }, want: nil, want1: nil, @@ -725,8 +748,9 @@ func TestGetLocalMediansData(t *testing.T) { wantErr: true, }, { - name: "Test 5: When GetLocalMediansData executes successfully", + name: "Test 5: When GetLocalMediansData executes successfully when there is an error in getting file name", args: args{ + fileNameErr: errors.New("error in getting fileName"), medians: []*big.Int{big.NewInt(100), big.NewInt(200), big.NewInt(300)}, revealedCollectionIds: []uint16{1, 2, 3}, revealedDataMaps: &types.RevealedDataMaps{}, @@ -739,6 +763,7 @@ func TestGetLocalMediansData(t *testing.T) { { name: "Test 6: When there is an error in getting stakerId", args: args{ + fileNameErr: errors.New("error in getting fileName"), medians: []*big.Int{big.NewInt(100), big.NewInt(200), big.NewInt(300)}, revealedCollectionIds: []uint16{1, 2, 3}, revealedDataMaps: &types.RevealedDataMaps{}, @@ -750,19 +775,17 @@ func TestGetLocalMediansData(t *testing.T) { wantErr: true, }, { - name: "Test 7: When there is an error in getting last proposed epoch", + name: "Test 7: When staker votes in rogue mode and needs to calculate median again", args: args{ + isRogue: true, medians: []*big.Int{big.NewInt(100), big.NewInt(200), big.NewInt(300)}, revealedCollectionIds: []uint16{1, 2, 3}, revealedDataMaps: &types.RevealedDataMaps{}, - stakerId: 2, - epoch: 5, - lastProposedEpochErr: errors.New("lastProposedEpoch error"), }, - want: nil, - want1: nil, - want2: nil, - wantErr: true, + want: []*big.Int{big.NewInt(100), big.NewInt(200), big.NewInt(300)}, + want1: []uint16{1, 2, 3}, + want2: &types.RevealedDataMaps{}, + wantErr: false, }, } for _, tt := range tests { @@ -773,9 +796,8 @@ func TestGetLocalMediansData(t *testing.T) { fileUtilsMock.On("ReadFromProposeJsonFile", mock.Anything).Return(tt.args.proposedData, tt.args.proposeDataErr) cmdUtilsMock.On("MakeBlock", mock.AnythingOfType("*ethclient.Client"), mock.Anything, mock.Anything, mock.Anything).Return(tt.args.medians, tt.args.revealedCollectionIds, tt.args.revealedDataMaps, tt.args.mediansErr) utilsMock.On("GetStakerId", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("string")).Return(tt.args.stakerId, tt.args.stakerIdErr) - utilsMock.On("GetEpochLastProposed", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("uint32")).Return(tt.args.lastProposedEpoch, tt.args.lastProposedEpochErr) ut := &UtilsStruct{} - localProposedData, err := ut.GetLocalMediansData(client, account, tt.args.epoch, blockNumber, rogueData) + localProposedData, err := ut.GetLocalMediansData(client, account, tt.args.epoch, blockNumber, types.Rogue{IsRogue: tt.args.isRogue}) if (err != nil) != tt.wantErr { t.Errorf("GetLocalMediansData() error = %v, wantErr %v", err, tt.wantErr) return