Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Added password flag #946

Merged
merged 3 commits into from
Sep 26, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -353,8 +353,9 @@ docker exec -it razor-go razor vote --address <address>
run vote command in background

```
docker exec -it -d razor-go razor vote --address <address>
docker exec -it -d razor-go razor vote --address <address> --password /root/.razor/<file_name>
```
>**_NOTE:_** To run command with password flag with the help of docker, password file should present in $HOME/.razor/ directory

Example:

Expand Down Expand Up @@ -678,6 +679,8 @@ docker
docker exec -it razor-go razor collectionList
```

Note : _All the commands have an additional --password flag that you can provide with the file path from which password must be picked._

### Expose Metrics

Expose Prometheus-based metrics for monitoring
Expand Down Expand Up @@ -929,6 +932,13 @@ $ ./razor contractAddresses
```bash
#Provide password through CLI
docker-compose run razor-go /usr/local/bin/razor addStake --address <address> --value 50000

#Provide password through File

#Create file and put password string
vi ~/.razor/pass
#Start Staking
docker-compose run razor-go /usr/local/bin/razor addStake --address <address> --value 50000 --password /root/.razor/pass
```

9. To Start **Voting**,
Expand All @@ -938,6 +948,9 @@ $ ./razor contractAddresses
```bash
# Run process in foreground and provide password through cli
docker-compose run razor-go /usr/local/bin/razor vote --address <address>

# Run process in background and provide password through file
docker-compose run -d razor-go /usr/local/bin/razor vote --address <address> --password /root/.razor/pass
```

```bash
Expand All @@ -949,6 +962,9 @@ $ ./razor contractAddresses
```bash
#Provide password with cli
docker-compose run razor-go /usr/local/bin/razor setDelegation --address <address> --status true --commission 10

#provide password through file
docker-compose run razor-go /usr/local/bin/razor setDelegation --address <address> --status true --commission 10 --password /root/.razor/pass
```

### Contribute to razor-go
Expand Down
4 changes: 3 additions & 1 deletion cmd/addStake.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func (*UtilsStruct) ExecuteStake(flagSet *pflag.FlagSet) {

config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)
password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)
client := razorUtils.ConnectToClient(config.Provider)
balance, err := razorUtils.FetchBalance(client, address)
utils.CheckError("Error in fetching razor balance for account: "+address, err)
Expand Down Expand Up @@ -111,11 +111,13 @@ func init() {
var (
Amount string
Address string
Password string
WeiRazor bool
)

stakeCmd.Flags().StringVarP(&Amount, "value", "v", "0", "amount of Razors to stake")
stakeCmd.Flags().StringVarP(&Address, "address", "a", "", "address of the staker")
stakeCmd.Flags().StringVarP(&Password, "password", "", "", "password path of staker to protect the keystore")
stakeCmd.Flags().BoolVarP(&WeiRazor, "weiRazor", "", false, "value can be passed in wei")

amountErr := stakeCmd.MarkFlagRequired("value")
Expand Down
2 changes: 1 addition & 1 deletion cmd/addStake_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ func TestExecuteStake(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.password)
flagSetUtilsMock.On("GetStringAddress", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.address, tt.args.addressErr)
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
utilsMock.On("WaitForBlockCompletion", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("string")).Return(nil)
Expand Down
4 changes: 3 additions & 1 deletion cmd/claimBounty.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (*UtilsStruct) ExecuteClaimBounty(flagSet *pflag.FlagSet) {
config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)

client := razorUtils.ConnectToClient(config.Provider)

Expand Down Expand Up @@ -183,10 +183,12 @@ func init() {
rootCmd.AddCommand(claimBountyCmd)
var (
Address string
Password string
BountyId uint32
)

claimBountyCmd.Flags().StringVarP(&Address, "address", "a", "", "address of the staker")
claimBountyCmd.Flags().StringVarP(&Password, "password", "", "", "password path of staker to protect the keystore")
claimBountyCmd.Flags().Uint32VarP(&BountyId, "bountyId", "", 0, "bountyId of the bounty hunter")

addrErr := claimBountyCmd.MarkFlagRequired("address")
Expand Down
2 changes: 1 addition & 1 deletion cmd/claimBounty_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -136,7 +136,7 @@ func TestExecuteClaimBounty(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.password)
flagSetUtilsMock.On("GetStringAddress", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.address, tt.args.addressErr)
flagSetUtilsMock.On("GetUint32BountyId", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.bountyId, tt.args.bountyIdErr)
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
Expand Down
6 changes: 4 additions & 2 deletions cmd/claimCommission.go
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,7 @@ func (*UtilsStruct) ClaimCommission(flagSet *pflag.FlagSet) {

config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)
password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)
client := razorUtils.ConnectToClient(config.Provider)

razorUtils.CheckEthBalanceIsZero(client, address)
Expand Down Expand Up @@ -76,10 +76,12 @@ func init() {
rootCmd.AddCommand(claimCommissionCmd)

var (
Address string
Address string
Password string
)

claimCommissionCmd.Flags().StringVarP(&Address, "address", "a", "", "address of the staker")
claimCommissionCmd.Flags().StringVarP(&Password, "password", "", "", "password path of staker to protect the keystore")

addrErr := claimCommissionCmd.MarkFlagRequired("address")
utils.CheckError("Address error: ", addrErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/claimCommission_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -218,7 +218,7 @@ func TestUtilsStruct_ClaimCommission(t *testing.T) {
utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
utilsMock.On("GetStakerId", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("string")).Return(tt.args.stakerId, tt.args.stakerIdErr)
utilsMock.On("GetOptions").Return(callOpts)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.password)
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
utilsMock.On("CheckEthBalanceIsZero", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("string")).Return()
utilsMock.On("GetTxnOpts", mock.AnythingOfType("types.TransactionOptions")).Return(txnOpts)
Expand Down
8 changes: 7 additions & 1 deletion cmd/create.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ func initialiseCreate(cmd *cobra.Command, args []string) {
func (*UtilsStruct) ExecuteCreate(flagSet *pflag.FlagSet) {
razorUtils.AssignLogFile(flagSet)
log.Info("The password should be of minimum 8 characters containing least 1 uppercase, lowercase, digit and special character.")
password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)
account, err := cmdUtils.Create(password)
utils.CheckError("Create error: ", err)
log.Info("Account address: ", account.Address)
Expand All @@ -51,4 +51,10 @@ func (*UtilsStruct) Create(password string) (accounts.Account, error) {

func init() {
rootCmd.AddCommand(createCmd)

var (
Password string
)

createCmd.Flags().StringVarP(&Password, "password", "", "", "password file path to protect the keystore")
}
4 changes: 3 additions & 1 deletion cmd/createCollection.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (*UtilsStruct) ExecuteCreateCollection(flagSet *pflag.FlagSet) {
config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)
name, err := flagSetUtils.GetStringName(flagSet)
utils.CheckError("Error in getting name: ", err)

Expand Down Expand Up @@ -114,6 +114,7 @@ func init() {
Account string
JobIds []uint
AggregationMethod uint32
Password string
Power int8
Tolerance uint32
)
Expand All @@ -124,6 +125,7 @@ func init() {
createCollectionCmd.Flags().Uint32VarP(&AggregationMethod, "aggregation", "", 1, "aggregation method to be used")
createCollectionCmd.Flags().Uint32VarP(&Tolerance, "tolerance", "", 0, "tolerance")
createCollectionCmd.Flags().Int8VarP(&Power, "power", "", 0, "multiplier for the collection")
createCollectionCmd.Flags().StringVarP(&Password, "password", "", "", "password path of job creator to protect the keystore")

nameErr := createCollectionCmd.MarkFlagRequired("name")
utils.CheckError("Name error: ", nameErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/createCollection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -302,7 +302,7 @@ func TestExecuteCreateCollection(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", flagSet).Return(tt.args.password)
flagsetUtilsMock.On("GetStringAddress", flagSet).Return(tt.args.address, tt.args.addressErr)
flagsetUtilsMock.On("GetStringName", flagSet).Return(tt.args.name, tt.args.nameErr)
flagsetUtilsMock.On("GetUintSliceJobIds", flagSet).Return(tt.args.jobId, tt.args.jobIdErr)
Expand Down
4 changes: 3 additions & 1 deletion cmd/createJob.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ func (*UtilsStruct) ExecuteCreateJob(flagSet *pflag.FlagSet) {
config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)

name, err := flagSetUtils.GetStringName(flagSet)
utils.CheckError("Error in getting name: ", err)
Expand Down Expand Up @@ -117,6 +117,7 @@ func init() {
Name string
Power int8
Account string
Password string
Weight uint8
)

Expand All @@ -127,6 +128,7 @@ func init() {
createJobCmd.Flags().Int8VarP(&Power, "power", "", 0, "power")
createJobCmd.Flags().Uint8VarP(&Weight, "weight", "", 0, "weight assigned to the job")
createJobCmd.Flags().StringVarP(&Account, "address", "a", "", "address of the job creator")
createJobCmd.Flags().StringVarP(&Password, "password", "", "", "password path of job creator to protect the keystore")

urlErr := createJobCmd.MarkFlagRequired("url")
utils.CheckError("URL error: ", urlErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/createJob_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -320,7 +320,7 @@ func TestExecuteCreateJob(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", flagSet).Return(tt.args.password)
flagsetUtilsMock.On("GetStringAddress", flagSet).Return(tt.args.address, tt.args.addressErr)
flagsetUtilsMock.On("GetStringName", flagSet).Return(tt.args.name, tt.args.nameErr)
flagsetUtilsMock.On("GetStringUrl", flagSet).Return(tt.args.url, tt.args.urlErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/create_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -144,7 +144,7 @@ func TestExecuteCreate(t *testing.T) {
cmdUtils = cmdUtilsMock

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.password)
cmdUtilsMock.On("Create", mock.AnythingOfType("string")).Return(tt.args.account, tt.args.accountErr)

utils := &UtilsStruct{}
Expand Down
4 changes: 3 additions & 1 deletion cmd/delegate.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ func (*UtilsStruct) ExecuteDelegate(flagSet *pflag.FlagSet) {
config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)

stakerId, err := flagSetUtils.GetUint32StakerId(flagSet)
utils.CheckError("Error in getting stakerId: ", err)
Expand Down Expand Up @@ -104,12 +104,14 @@ func init() {
Amount string
Address string
StakerId uint32
Password string
WeiRazor bool
)

delegateCmd.Flags().StringVarP(&Amount, "value", "v", "0", "amount to stake (in Wei)")
delegateCmd.Flags().StringVarP(&Address, "address", "a", "", "your account address")
delegateCmd.Flags().Uint32VarP(&StakerId, "stakerId", "", 0, "staker id")
delegateCmd.Flags().StringVarP(&Password, "password", "", "", "password path to protect the keystore")
delegateCmd.Flags().BoolVarP(&WeiRazor, "weiRazor", "", false, "value can be passed in wei")

valueErr := delegateCmd.MarkFlagRequired("value")
Expand Down
2 changes: 1 addition & 1 deletion cmd/delegate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -265,7 +265,7 @@ func TestExecuteDelegate(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", flagSet).Return(tt.args.password)
flagSetUtilsMock.On("GetStringAddress", mock.AnythingOfType("*pflag.FlagSet")).Return(tt.args.address, tt.args.addressErr)
flagSetUtilsMock.On("GetUint32StakerId", flagSet).Return(tt.args.stakerId, tt.args.stakerIdErr)
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
Expand Down
4 changes: 3 additions & 1 deletion cmd/initiateWithdraw.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ func (*UtilsStruct) ExecuteInitiateWithdraw(flagSet *pflag.FlagSet) {
config, err := cmdUtils.GetConfigData()
utils.CheckError("Error in getting config: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)

client := razorUtils.ConnectToClient(config.Provider)

Expand Down Expand Up @@ -149,10 +149,12 @@ func init() {

var (
Address string
Password string
StakerId uint32
)

initiateWithdrawCmd.Flags().StringVarP(&Address, "address", "a", "", "address of the user")
initiateWithdrawCmd.Flags().StringVarP(&Password, "password", "", "", "password path of user to protect the keystore")
initiateWithdrawCmd.Flags().Uint32VarP(&StakerId, "stakerId", "", 0, "password path of user to protect the keystore")

addrErr := initiateWithdrawCmd.MarkFlagRequired("address")
Expand Down
2 changes: 1 addition & 1 deletion cmd/initiateWithdraw_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ func TestExecuteWithdraw(t *testing.T) {

utilsMock.On("AssignLogFile", mock.AnythingOfType("*pflag.FlagSet"))
cmdUtilsMock.On("GetConfigData").Return(tt.args.config, tt.args.configErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", flagSet).Return(tt.args.password)
flagSetUtilsMock.On("GetStringAddress", flagSet).Return(tt.args.address, tt.args.addressErr)
utilsMock.On("CheckEthBalanceIsZero", mock.AnythingOfType("*ethclient.Client"), mock.AnythingOfType("string")).Return()
utilsMock.On("AssignStakerId", flagSet, mock.AnythingOfType("*ethclient.Client"), mock.Anything).Return(tt.args.stakerId, tt.args.stakerIdErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/interface.go
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ type UtilsInterface interface {
GetOptions() bind.CallOpts
CalculateBlockTime(client *ethclient.Client) int64
GetTxnOpts(transactionData types.TransactionOptions) *bind.TransactOpts
AssignPassword() string
AssignPassword(flagSet *pflag.FlagSet) string
GetStringAddress(flagSet *pflag.FlagSet) (string, error)
GetUint32BountyId(flagSet *pflag.FlagSet) (uint32, error)
ConnectToClient(provider string) *ethclient.Client
Expand Down
8 changes: 4 additions & 4 deletions cmd/mocks/utils_cmd_interface.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

10 changes: 5 additions & 5 deletions cmd/mocks/utils_interface.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

4 changes: 3 additions & 1 deletion cmd/modifyCollectionStatus.go
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ func (*UtilsStruct) ExecuteModifyCollectionStatus(flagSet *pflag.FlagSet) {
status, err := stringUtils.ParseBool(statusString)
utils.CheckError("Error in parsing status: ", err)

password := razorUtils.AssignPassword()
password := razorUtils.AssignPassword(flagSet)

client := razorUtils.ConnectToClient(config.Provider)

Expand Down Expand Up @@ -117,11 +117,13 @@ func init() {
Address string
CollectionId uint16
Status string
Password string
)

modifyCollectionStatusCmd.Flags().StringVarP(&Address, "address", "a", "", "address of the user")
modifyCollectionStatusCmd.Flags().Uint16VarP(&CollectionId, "collectionId", "", 0, "collectionId of the collection")
modifyCollectionStatusCmd.Flags().StringVarP(&Status, "status", "", "true", "active status of the collection")
modifyCollectionStatusCmd.Flags().StringVarP(&Password, "password", "", "", "password path of user to protect the keystore")

addressErr := modifyCollectionStatusCmd.MarkFlagRequired("address")
utils.CheckError("Address error: ", addressErr)
Expand Down
2 changes: 1 addition & 1 deletion cmd/modifyCollectionStatus_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -357,7 +357,7 @@ func TestExecuteModifyAssetStatus(t *testing.T) {
flagsetUtilsMock.On("GetStringAddress", flagSet).Return(tt.args.address, tt.args.addressErr)
flagsetUtilsMock.On("GetUint16CollectionId", flagSet).Return(tt.args.collectionId, tt.args.collectionIdErr)
flagsetUtilsMock.On("GetStringStatus", flagSet).Return(tt.args.status, tt.args.statusErr)
utilsMock.On("AssignPassword").Return(tt.args.password)
utilsMock.On("AssignPassword", flagSet).Return(tt.args.password)
stringMock.On("ParseBool", mock.AnythingOfType("string")).Return(tt.args.parseStatus, tt.args.parseStatusErr)
utilsMock.On("ConnectToClient", mock.AnythingOfType("string")).Return(client)
cmdUtilsMock.On("ModifyCollectionStatus", mock.Anything, mock.Anything, mock.Anything).Return(tt.args.ModifyCollectionStatusHash, tt.args.ModifyCollectionStatusErr)
Expand Down
Loading