Skip to content

Commit 7aa66a1

Browse files
authored
Merge pull request #459 from multiversx/fix-hardcoded-validators-address
Fix hardcoded address to use config hrp
2 parents e467c0e + 3260310 commit 7aa66a1

3 files changed

Lines changed: 18 additions & 17 deletions

File tree

multiversx_sdk_cli/delegation/staking_provider.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
Transaction, ValidatorPublicKey)
66
from multiversx_sdk.core.serializer import args_to_string
77

8+
from multiversx_sdk_cli.config import get_address_hrp
89
from multiversx_sdk_cli.errors import BadUsage
910
from multiversx_sdk_cli.interfaces import IAddress, ITransaction
1011
from multiversx_sdk_cli.validators.validators_file import ValidatorsFile
@@ -408,7 +409,7 @@ def prepare_transaction_for_setting_metadata(self, owner: IAccount, args: Any) -
408409
return tx
409410

410411
def prepare_transaction_for_creating_delegation_contract_from_validator(self, owner: IAccount, args: Any) -> ITransaction:
411-
receiver = "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqylllslmq6y6"
412+
receiver = Address.new_from_hex("000000000000000000010000000000000000000000000000000000000004ffff", get_address_hrp()).to_bech32()
412413
max_cap = int(args.max_cap)
413414
fee = int(args.fee)
414415
data = "makeNewContractFromValidatorData@" + args_to_string([max_cap, fee])

multiversx_sdk_cli/validators/core.py

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,14 +8,14 @@
88
from multiversx_sdk_cli.accounts import Account
99
from multiversx_sdk_cli.cli_password import load_password
1010
from multiversx_sdk_cli.config import (GAS_PER_DATA_BYTE, MIN_GAS_LIMIT,
11-
MetaChainSystemSCsCost)
11+
MetaChainSystemSCsCost, get_address_hrp)
1212
from multiversx_sdk_cli.contracts import prepare_execute_transaction_data
1313
from multiversx_sdk_cli.errors import BadUsage
1414
from multiversx_sdk_cli.validators.validators_file import ValidatorsFile
1515

1616
logger = logging.getLogger("validators")
1717

18-
VALIDATORS_SMART_CONTRACT_ADDRESS = "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqplllst77y4l"
18+
VALIDATORS_SMART_CONTRACT_ADDRESS_HEX = "000000000000000000010000000000000000000000000000000000000001ffff"
1919

2020

2121
def prepare_args_for_stake(args: Any):
@@ -36,7 +36,7 @@ def prepare_args_for_stake(args: Any):
3636

3737
data, gas_limit = prepare_transaction_data_for_stake(node_operator.address, validators_file_path, reward_address)
3838
args.data = data
39-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
39+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
4040

4141
if args.estimate_gas:
4242
args.gas_limit = gas_limit
@@ -74,7 +74,7 @@ def prepare_transaction_data_for_stake(node_operator_address: Address, validator
7474

7575
def prepare_args_for_top_up(args: Any):
7676
args.data = 'stake'
77-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
77+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
7878

7979
if args.estimate_gas:
8080
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.STAKE, 1)
@@ -83,7 +83,7 @@ def prepare_args_for_top_up(args: Any):
8383
def prepare_args_for_unstake(args: Any):
8484
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
8585
args.data = 'unStake' + parsed_keys
86-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
86+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
8787

8888
if args.estimate_gas:
8989
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNSTAKE, num_keys)
@@ -92,7 +92,7 @@ def prepare_args_for_unstake(args: Any):
9292
def prepare_args_for_unbond(args: Any):
9393
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
9494
args.data = 'unBond' + parsed_keys
95-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
95+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
9696

9797
if args.estimate_gas:
9898
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNBOND, num_keys)
@@ -101,7 +101,7 @@ def prepare_args_for_unbond(args: Any):
101101
def prepare_args_for_unjail(args: Any):
102102
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
103103
args.data = 'unJail' + parsed_keys
104-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
104+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
105105

106106
if args.estimate_gas:
107107
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNJAIL, num_keys)
@@ -110,15 +110,15 @@ def prepare_args_for_unjail(args: Any):
110110
def prepare_args_for_change_reward_address(args: Any):
111111
reward_address = Address.new_from_bech32(args.reward_address)
112112
args.data = 'changeRewardAddress@' + reward_address.hex()
113-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
113+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
114114

115115
if args.estimate_gas:
116116
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.CHANGE_REWARD_ADDRESS)
117117

118118

119119
def prepare_args_for_claim(args: Any):
120120
args.data = 'claim'
121-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
121+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
122122

123123
if args.estimate_gas:
124124
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.CLAIM)
@@ -128,7 +128,7 @@ def prepare_args_for_unstake_nodes(args: Any):
128128
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
129129
args.data = 'unStakeNodes' + parsed_keys
130130

131-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
131+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
132132
if args.estimate_gas:
133133
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNSTAKE, num_keys)
134134

@@ -137,7 +137,7 @@ def prepare_args_for_unstake_tokens(args: Any):
137137
args.data = 'unStakeTokens'
138138
args.data += '@' + utils.str_int_to_hex_str(str(args.unstake_value))
139139

140-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
140+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
141141
if args.estimate_gas:
142142
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNSTAKE_TOKENS)
143143

@@ -146,7 +146,7 @@ def prepare_args_for_unbond_nodes(args: Any):
146146
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
147147
args.data = 'unBondNodes' + parsed_keys
148148

149-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
149+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
150150
if args.estimate_gas:
151151
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNBOND, num_keys)
152152

@@ -155,15 +155,15 @@ def prepare_args_for_unbond_tokens(args: Any):
155155
args.data = 'unBondTokens'
156156
args.data += '@' + utils.str_int_to_hex_str(str(args.unbond_value))
157157

158-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
158+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
159159
if args.estimate_gas:
160160
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.UNBOND_TOKENS)
161161

162162

163163
def prepare_args_for_clean_registered_data(args: Any):
164164
args.data = 'cleanRegisteredData'
165165

166-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
166+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
167167
if args.estimate_gas:
168168
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.STAKE)
169169

@@ -172,7 +172,7 @@ def prepare_args_for_restake_unstaked_nodes(args: Any):
172172
parsed_keys, num_keys = utils.parse_keys(args.nodes_public_keys)
173173
args.data = 'reStakeUnStakedNodes' + parsed_keys
174174

175-
args.receiver = VALIDATORS_SMART_CONTRACT_ADDRESS
175+
args.receiver = Address.new_from_hex(VALIDATORS_SMART_CONTRACT_ADDRESS_HEX, get_address_hrp()).to_bech32()
176176
if args.estimate_gas:
177177
args.gas_limit = estimate_system_sc_call(args.data, MetaChainSystemSCsCost.STAKE, num_keys)
178178

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
44

55
[project]
66
name = "multiversx-sdk-cli"
7-
version = "9.9.0"
7+
version = "9.9.1"
88
authors = [
99
{ name="MultiversX" },
1010
]

0 commit comments

Comments
 (0)