From 2472515ba11c2673009461382ea03dc86c84daf5 Mon Sep 17 00:00:00 2001 From: Etienne Wallet <116115319+EtienneWallet@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:04:39 +0100 Subject: [PATCH 1/2] fix wrong prototype creation --- multiversx_sdk/abi/abi.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/multiversx_sdk/abi/abi.py b/multiversx_sdk/abi/abi.py index 02ebab54..35092055 100644 --- a/multiversx_sdk/abi/abi.py +++ b/multiversx_sdk/abi/abi.py @@ -14,6 +14,7 @@ ) from multiversx_sdk.abi.address_value import AddressValue from multiversx_sdk.abi.array_value import ArrayValue +from multiversx_sdk.abi.bigint_value import BigIntValue from multiversx_sdk.abi.biguint_value import BigUIntValue from multiversx_sdk.abi.bool_value import BoolValue from multiversx_sdk.abi.bytes_value import BytesValue @@ -298,7 +299,7 @@ def _create_prototype(self, type_formula: TypeFormula) -> Any: if name == "BigUint": return BigUIntValue() if name == "BigInt": - return BigUIntValue() + return BigIntValue() if name == "bytes": return BytesValue() if name == "utf-8 string": From b9ad4c037e9b0f2b3d49b4b68299ed9e63424701 Mon Sep 17 00:00:00 2001 From: Etienne Wallet <116115319+EtienneWallet@users.noreply.github.com> Date: Fri, 17 Jan 2025 18:04:47 +0100 Subject: [PATCH 2/2] add test to cover BigIntValue prototype --- multiversx_sdk/abi/abi_test.py | 4 ++++ .../testutils/testdata/artificial.abi.json | 15 ++++++++++++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/multiversx_sdk/abi/abi_test.py b/multiversx_sdk/abi/abi_test.py index 3501ae7e..bb0ccc40 100644 --- a/multiversx_sdk/abi/abi_test.py +++ b/multiversx_sdk/abi/abi_test.py @@ -6,6 +6,7 @@ from multiversx_sdk.abi.abi import Abi from multiversx_sdk.abi.abi_definition import AbiDefinition, ParameterDefinition from multiversx_sdk.abi.address_value import AddressValue +from multiversx_sdk.abi.bigint_value import BigIntValue from multiversx_sdk.abi.biguint_value import BigUIntValue from multiversx_sdk.abi.bytes_value import BytesValue from multiversx_sdk.abi.counted_variadic_values import CountedVariadicValues @@ -73,6 +74,9 @@ def test_abi_artificial(): assert len(abi.definition.events) == 1 assert abi.events_prototypes_by_name["firstEvent"].fields[0].value == BigUIntValue() + assert abi.endpoints_prototypes_by_name["black"].input_parameters == [BigIntValue()] + assert abi.endpoints_prototypes_by_name["black"].output_parameters == [] + def test_load_abi_with_counted_variadic(): abi = Abi.load(testdata / "counted-variadic.abi.json") diff --git a/multiversx_sdk/testutils/testdata/artificial.abi.json b/multiversx_sdk/testutils/testdata/artificial.abi.json index 633dcfc7..6c2ee562 100644 --- a/multiversx_sdk/testutils/testdata/artificial.abi.json +++ b/multiversx_sdk/testutils/testdata/artificial.abi.json @@ -74,6 +74,17 @@ } ], "outputs": [] + }, + { + "name": "black", + "mutability": "mutable", + "inputs": [ + { + "name": "a", + "type": "BigInt" + } + ], + "outputs": [] } ], "types": { @@ -81,7 +92,9 @@ "type": "explicit-enum", "variants": [ { - "docs": ["indicates that operation was completed"], + "docs": [ + "indicates that operation was completed" + ], "name": "completed" }, {