diff --git a/multiversx_sdk/abi/abi_definition.py b/multiversx_sdk/abi/abi_definition.py index 83d05950..0aaf5b3c 100644 --- a/multiversx_sdk/abi/abi_definition.py +++ b/multiversx_sdk/abi/abi_definition.py @@ -86,7 +86,8 @@ def __init__(self, inputs: List["ParameterDefinition"], outputs: List["ParameterDefinition"], payable_in_tokens: List[str], - only_owner: bool) -> None: + only_owner: bool, + title: str = "") -> None: self.name = name self.docs = docs self.mutability = mutability @@ -94,6 +95,7 @@ def __init__(self, self.outputs = outputs self.payable_in_tokens = payable_in_tokens self.only_owner = only_owner + self.title = title @classmethod def from_dict(cls, data: Dict[str, Any]) -> "EndpointDefinition": @@ -107,7 +109,8 @@ def from_dict(cls, data: Dict[str, Any]) -> "EndpointDefinition": inputs=inputs, outputs=outputs, payable_in_tokens=data.get("payableInTokens", []), - only_owner=data.get("onlyOwner", False) + only_owner=data.get("onlyOwner", False), + title=data.get("title", "") ) def __repr__(self): @@ -123,7 +126,8 @@ def __init__(self) -> None: inputs=[], outputs=[], payable_in_tokens=[], - only_owner=False + only_owner=False, + title="" ) def __repr__(self): diff --git a/multiversx_sdk/abi/abi_test.py b/multiversx_sdk/abi/abi_test.py index 93ac0962..0121726f 100644 --- a/multiversx_sdk/abi/abi_test.py +++ b/multiversx_sdk/abi/abi_test.py @@ -36,9 +36,11 @@ def test_abi(): assert abi.definition.endpoints[0].name == "getSum" assert abi.definition.endpoints[0].inputs == [] + assert abi.definition.endpoints[0].title == "Get Sum" assert abi.definition.endpoints[0].outputs == [ParameterDefinition("", "BigUint")] assert abi.definition.endpoints[1].name == "add" + assert abi.definition.endpoints[1].title == "" assert abi.definition.endpoints[1].inputs == [ParameterDefinition("value", "BigUint")] assert abi.definition.endpoints[1].outputs == [] diff --git a/multiversx_sdk/core/transactions_outcome_parsers/smart_contract_transactions_outcome_parser_test.py b/multiversx_sdk/core/transactions_outcome_parsers/smart_contract_transactions_outcome_parser_test.py index ebb714be..e7f800bb 100644 --- a/multiversx_sdk/core/transactions_outcome_parsers/smart_contract_transactions_outcome_parser_test.py +++ b/multiversx_sdk/core/transactions_outcome_parsers/smart_contract_transactions_outcome_parser_test.py @@ -155,4 +155,4 @@ def test_parse_sc_call(self): assert len(parsed.values) == 1 expected_value = 2 - assert parsed.values == [expected_value.to_bytes()] + assert parsed.values == [expected_value.to_bytes(length=1, byteorder="big")] diff --git a/multiversx_sdk/core/transactions_outcome_parsers/transaction_events_parser_test.py b/multiversx_sdk/core/transactions_outcome_parsers/transaction_events_parser_test.py index 6528ef94..f0a1f17e 100644 --- a/multiversx_sdk/core/transactions_outcome_parsers/transaction_events_parser_test.py +++ b/multiversx_sdk/core/transactions_outcome_parsers/transaction_events_parser_test.py @@ -215,7 +215,18 @@ def test_parse_esdt_safe_deposit_event_without_first_topic(): def test_multisig_start_perform_action(): api = ApiNetworkProvider("https://devnet-api.multiversx.com") - transaction_on_network = api.get_transaction("d17f6c129cefa8320365f25d7ab051121b985ad6ff73f20d0005286856b1ac36") + # Test was set up as follows: + # Deploy multisig + # mxpy contract deploy --bytecode=./multisig-full.wasm --gas-limit=100000000 --recall-nonce --arguments 2 erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx --proxy=https://devnet-gateway.multiversx.com --pem=erd1test.pem --send + # Call "proposeTransferExecute" + # mxpy contract call erd1qqqqqqqqqqqqqpgqnquyu4atwjz89p8vd8k0k7sz5qaeyfj2396qmek84v --function proposeTransferExecute --gas-limit=20000000 --recall-nonce --arguments erd1r69gk66fmedhhcg24g2c5kn2f2a5k4kvpr6jfw67dn2lyydd8cfswy6ede 1000000000000000000 0x00 --proxy=https://devnet-gateway.multiversx.com --pem=alice.pem --send + # Call "sign" + # mxpy contract call erd1qqqqqqqqqqqqqpgqnquyu4atwjz89p8vd8k0k7sz5qaeyfj2396qmek84v --function sign --gas-limit=20000000 --recall-nonce --arguments 1 --proxy=https://devnet-gateway.multiversx.com --pem=bob.pem --send + # Call "deposit" + # mxpy contract call erd1qqqqqqqqqqqqqpgqnquyu4atwjz89p8vd8k0k7sz5qaeyfj2396qmek84v --function deposit --gas-limit=20000000 --recall-nonce --value 1000000000000000000 --proxy=https://devnet-gateway.multiversx.com --pem=alice.pem --send + # Call "performAction" + # mxpy contract call erd1qqqqqqqqqqqqqpgqnquyu4atwjz89p8vd8k0k7sz5qaeyfj2396qmek84v --function performAction --gas-limit=20000000 --recall-nonce --arguments 1 --proxy=https://devnet-gateway.multiversx.com --pem=alice.pem --send + transaction_on_network = api.get_transaction("6651b983d494d69d94ce3efb3ae1604480af7c17780ab58daa09a9e5cc1d86c8") abi = Abi.load(testdata / "multisig-full.abi.json") events_parser = TransactionEventsParser(abi) @@ -240,8 +251,6 @@ def test_multisig_start_perform_action(): '__discriminant__': 5 }, ), - signers=[ - Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th").get_public_key(), - Address.new_from_bech32("erd1uwef0vsxup3p84fmg3szjs0ae3d9qx0sn5eqe5ayerlgk34cczpsqm2nrl").get_public_key(), - ] + signers=[Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th").get_public_key(), + Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx").get_public_key()] ) diff --git a/multiversx_sdk/testutils/testdata/adder.abi.json b/multiversx_sdk/testutils/testdata/adder.abi.json index 4772ced4..8ccb8ed0 100644 --- a/multiversx_sdk/testutils/testdata/adder.abi.json +++ b/multiversx_sdk/testutils/testdata/adder.abi.json @@ -21,6 +21,7 @@ "endpoints": [ { "name": "getSum", + "title": "Get Sum", "mutability": "readonly", "inputs": [], "outputs": [ diff --git a/pyproject.toml b/pyproject.toml index ded7fa83..d66bad14 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -7,7 +7,7 @@ allow-direct-references = true [project] name = "multiversx-sdk" -version = "0.13.1" +version = "0.14.0" authors = [ { name="MultiversX" }, ]