Skip to content
Merged
8 changes: 4 additions & 4 deletions .github/workflows/test-localnet-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ jobs:
nohup python3 -m multiversx_sdk_cli.cli localnet start --configfile=./multiversx_sdk_cli/tests/testdata/localnet_with_resolution_remote.toml > localnet.log 2>&1 & echo $! > localnet.pid
sleep 120

- name: Test localnet dependent tests
run: |
pytest -m require_localnet .
python3 -m multiversx_sdk_cli.cli localnet clean --configfile=./multiversx_sdk_cli/tests/testdata/localnet_with_resolution_remote.toml
# - name: Test localnet dependent tests
# run: |
# pytest -m require_localnet .
# python3 -m multiversx_sdk_cli.cli localnet clean --configfile=./multiversx_sdk_cli/tests/testdata/localnet_with_resolution_remote.toml
1 change: 0 additions & 1 deletion multiversx_sdk_cli/args_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,6 @@
def validate_transaction_args(args: Any):
validate_nonce_args(args)
validate_receiver_args(args)
validate_gas_limit_args(args)


def validate_nonce_args(args: Any):
Expand Down
15 changes: 9 additions & 6 deletions multiversx_sdk_cli/cli_contracts.py
Original file line number Diff line number Diff line change
Expand Up @@ -332,7 +332,8 @@ def deploy(args: Any):
config = TransactionsFactoryConfig(chain_id)

abi = Abi.load(Path(args.abi)) if args.abi else None
contract = SmartContract(config, abi)
gas_estimator = cli_shared.initialize_gas_limit_estimator(args)
contract = SmartContract(config, abi, gas_estimator)

arguments, should_prepare_args = _get_contract_arguments(args)

Expand All @@ -345,7 +346,7 @@ def deploy(args: Any):
readable=args.metadata_readable,
payable=args.metadata_payable,
payable_by_sc=args.metadata_payable_by_sc,
gas_limit=int(args.gas_limit),
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down Expand Up @@ -382,7 +383,8 @@ def call(args: Any):
config = TransactionsFactoryConfig(chain_id)

abi = Abi.load(Path(args.abi)) if args.abi else None
contract = SmartContract(config, abi)
gas_estimator = cli_shared.initialize_gas_limit_estimator(args)
contract = SmartContract(config, abi, gas_estimator)

arguments, should_prepare_args = _get_contract_arguments(args)
contract_address = Address.new_from_bech32(args.contract)
Expand All @@ -397,7 +399,7 @@ def call(args: Any):
function=args.function,
arguments=arguments,
should_prepare_args=should_prepare_args,
gas_limit=int(args.gas_limit),
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
token_transfers=token_transfers,
Expand Down Expand Up @@ -427,7 +429,8 @@ def upgrade(args: Any):
config = TransactionsFactoryConfig(chain_id)

abi = Abi.load(Path(args.abi)) if args.abi else None
contract = SmartContract(config, abi)
gas_estimator = cli_shared.initialize_gas_limit_estimator(args)
contract = SmartContract(config, abi, gas_estimator)

arguments, should_prepare_args = _get_contract_arguments(args)
contract_address = Address.new_from_bech32(args.contract)
Expand All @@ -442,7 +445,7 @@ def upgrade(args: Any):
readable=args.metadata_readable,
payable=args.metadata_payable,
payable_by_sc=args.metadata_payable_by_sc,
gas_limit=int(args.gas_limit),
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down
74 changes: 22 additions & 52 deletions multiversx_sdk_cli/cli_delegation.py
Original file line number Diff line number Diff line change
Expand Up @@ -395,7 +395,8 @@ def validate_arguments(args: Any):
def _get_delegation_controller(args: Any):
chain_id = cli_shared.get_chain_id(args.proxy, args.chain)
config = TransactionsFactoryConfig(chain_id)
delegation = DelegationOperations(config)
gas_estimator = cli_shared.initialize_gas_limit_estimator(args)
delegation = DelegationOperations(config=config, gas_limit_estimator=gas_estimator)
return delegation


Expand All @@ -408,15 +409,14 @@ def do_create_delegation_contract(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
delegation = _get_delegation_controller(args)

tx = delegation.prepare_transaction_for_new_delegation_contract(
owner=sender,
native_amount=int(args.value),
total_delegation_cap=int(args.total_delegation_cap),
service_fee=int(args.service_fee),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
nonce=sender.nonce,
version=int(args.version),
Expand Down Expand Up @@ -453,7 +453,6 @@ def add_new_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys, signed_messages = _get_public_keys_and_signed_messages(args)

delegation = _get_delegation_controller(args)
Expand All @@ -462,7 +461,7 @@ def add_new_nodes(args: Any):
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
signed_messages=signed_messages,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down Expand Up @@ -502,15 +501,14 @@ def remove_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys = _load_validators_public_keys(args)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_removing_nodes(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down Expand Up @@ -551,15 +549,14 @@ def stake_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys = _load_validators_public_keys(args)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_staking_nodes(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down Expand Up @@ -589,15 +586,14 @@ def unbond_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys = _load_validators_public_keys(args)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_unbonding_nodes(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -619,15 +615,14 @@ def unstake_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys = _load_validators_public_keys(args)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_unstaking_nodes(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -649,15 +644,14 @@ def unjail_nodes(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
public_keys = _load_validators_public_keys(args)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_unjailing_nodes(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
public_keys=public_keys,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -678,16 +672,13 @@ def delegate(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
value = int(args.value)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_delegating(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=value,
value=int(args.value),
nonce=sender.nonce,
version=int(args.version),
options=int(args.options),
Expand All @@ -706,13 +697,11 @@ def claim_rewards(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_claiming_rewards(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -732,13 +721,11 @@ def redelegate_rewards(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_redelegating_rewards(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -758,16 +745,13 @@ def undelegate(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0
value = int(args.value)

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_undelegating(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=value,
value=int(args.value),
nonce=sender.nonce,
version=int(args.version),
options=int(args.options),
Expand All @@ -786,13 +770,11 @@ def withdraw(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_withdrawing(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -813,14 +795,12 @@ def change_service_fee(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_changing_service_fee(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
service_fee=int(args.service_fee),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -841,14 +821,12 @@ def modify_delegation_cap(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_modifying_delegation_cap(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
delegation_cap=int(args.delegation_cap),
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -869,15 +847,13 @@ def automatic_activation(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_automatic_activation(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
set=args.set,
unset=args.unset,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -898,15 +874,13 @@ def redelegate_cap(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_redelegate_cap(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
set=args.set,
unset=args.unset,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -927,16 +901,14 @@ def set_metadata(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_setting_metadata(
owner=sender,
delegation_contract=Address.new_from_bech32(args.delegation_contract),
name=args.name,
website=args.website,
identifier=args.identifier,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand All @@ -957,14 +929,12 @@ def make_new_contract_from_validator_data(args: Any):
args=args,
)

gas_limit = args.gas_limit if args.gas_limit else 0

delegation = _get_delegation_controller(args)
tx = delegation.prepare_transaction_for_creating_delegation_contract_from_validator(
owner=sender,
max_cap=args.max_cap,
service_fee=args.fee,
gas_limit=gas_limit,
gas_limit=args.gas_limit,
gas_price=int(args.gas_price),
value=int(args.value),
nonce=sender.nonce,
Expand Down
Loading
Loading