From 3052483304b4ddcf371d4b43699a445064480af9 Mon Sep 17 00:00:00 2001 From: GitHub Actions Date: Wed, 3 Apr 2024 12:00:00 +0000 Subject: [PATCH] Deploy documentation from GitHub Actions --- _modules/index.html | 32 - .../multiversx_sdk/core/account_test.html | 120 --- .../multiversx_sdk/core/address_test.html | 194 ---- .../core/code_metadata_test.html | 117 --- _modules/multiversx_sdk/core/codec_test.html | 181 ---- .../core/contract_query_builder_test.html | 129 --- .../multiversx_sdk/core/message_test.html | 176 ---- .../proto/transaction_serializer_test.html | 208 ---- ...mart_contract_queries_controller_test.html | 224 ---- .../core/token_payment_test.html | 200 ---- _modules/multiversx_sdk/core/tokens_test.html | 218 ---- .../contract_builders_test.html | 290 ------ .../default_configuration_test.html | 117 --- .../esdt_builders_test.html | 140 --- .../relayed_v1_builder_test.html | 294 ------ .../relayed_v2_builder_test.html | 201 ---- .../transfers_builders_test.html | 234 ----- .../token_operations_outcome_parser_test.html | 218 ---- .../multiversx_sdk/core/transaction_test.html | 366 ------- .../account_transactions_factory_test.html | 181 ---- .../delegation_transactions_factory_test.html | 498 --------- .../relayed_transactions_factory_test.html | 359 ------- ...art_contract_transaction_factory_test.html | 375 ------- ..._management_transactions_factory_test.html | 503 --------- .../transfer_transactions_factory_test.html | 229 ---- ...ment_transactions_outcome_parser_test.html | 646 ------------ .../api_network_provider_test.html | 374 ------- .../proxy_network_provider_test.html | 391 ------- .../wallet/libraries/bls_facade_test.html | 198 ---- .../multiversx_sdk/wallet/mnemonic_test.html | 135 --- .../multiversx_sdk/wallet/pem_entry_test.html | 187 ---- _modules/multiversx_sdk/wallet/user_test.html | 354 ------- .../multiversx_sdk/wallet/validator_test.html | 164 --- _sources/index.rst.txt | 2 +- _sources/multiversx_sdk.core.proto.rst.txt | 8 - _sources/multiversx_sdk.core.rst.txt | 88 -- ...ersx_sdk.core.transaction_builders.rst.txt | 48 - ...versx_sdk.core.transaction_parsers.rst.txt | 8 - ...sx_sdk.core.transactions_factories.rst.txt | 48 - ....core.transactions_outcome_parsers.rst.txt | 8 - .../multiversx_sdk.network_providers.rst.txt | 24 - _sources/multiversx_sdk.wallet.crypto.rst.txt | 8 - .../multiversx_sdk.wallet.libraries.rst.txt | 8 - _sources/multiversx_sdk.wallet.rst.txt | 40 - genindex.html | 986 +----------------- modules.html | 19 - multiversx_sdk.core.html | 523 ---------- multiversx_sdk.core.proto.html | 64 -- multiversx_sdk.core.transaction_builders.html | 196 +--- multiversx_sdk.core.transaction_parsers.html | 23 - ...versx_sdk.core.transactions_factories.html | 438 -------- ...sdk.core.transactions_outcome_parsers.html | 104 -- multiversx_sdk.html | 204 ---- multiversx_sdk.network_providers.html | 242 ----- multiversx_sdk.wallet.crypto.html | 3 - multiversx_sdk.wallet.html | 144 --- multiversx_sdk.wallet.libraries.html | 23 - objects.inv | Bin 14509 -> 12106 bytes py-modindex.html | 180 ---- searchindex.js | 2 +- 60 files changed, 26 insertions(+), 11668 deletions(-) delete mode 100644 _modules/multiversx_sdk/core/account_test.html delete mode 100644 _modules/multiversx_sdk/core/address_test.html delete mode 100644 _modules/multiversx_sdk/core/code_metadata_test.html delete mode 100644 _modules/multiversx_sdk/core/codec_test.html delete mode 100644 _modules/multiversx_sdk/core/contract_query_builder_test.html delete mode 100644 _modules/multiversx_sdk/core/message_test.html delete mode 100644 _modules/multiversx_sdk/core/proto/transaction_serializer_test.html delete mode 100644 _modules/multiversx_sdk/core/smart_contract_queries_controller_test.html delete mode 100644 _modules/multiversx_sdk/core/token_payment_test.html delete mode 100644 _modules/multiversx_sdk/core/tokens_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/contract_builders_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/default_configuration_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/esdt_builders_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/relayed_v1_builder_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/relayed_v2_builder_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_builders/transfers_builders_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_parsers/token_operations_outcome_parser_test.html delete mode 100644 _modules/multiversx_sdk/core/transaction_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/account_transactions_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/delegation_transactions_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/relayed_transactions_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/smart_contract_transaction_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/token_management_transactions_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_factories/transfer_transactions_factory_test.html delete mode 100644 _modules/multiversx_sdk/core/transactions_outcome_parsers/token_management_transactions_outcome_parser_test.html delete mode 100644 _modules/multiversx_sdk/network_providers/api_network_provider_test.html delete mode 100644 _modules/multiversx_sdk/network_providers/proxy_network_provider_test.html delete mode 100644 _modules/multiversx_sdk/wallet/libraries/bls_facade_test.html delete mode 100644 _modules/multiversx_sdk/wallet/mnemonic_test.html delete mode 100644 _modules/multiversx_sdk/wallet/pem_entry_test.html delete mode 100644 _modules/multiversx_sdk/wallet/user_test.html delete mode 100644 _modules/multiversx_sdk/wallet/validator_test.html diff --git a/_modules/index.html b/_modules/index.html index f9b65650..ec69497e 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -71,77 +71,51 @@

All modules for which code is available

diff --git a/_modules/multiversx_sdk/core/account_test.html b/_modules/multiversx_sdk/core/account_test.html deleted file mode 100644 index 8defbafe..00000000 --- a/_modules/multiversx_sdk/core/account_test.html +++ /dev/null @@ -1,120 +0,0 @@ - - - - - - multiversx_sdk.core.account_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.account_test

-
-from multiversx_sdk.core.account import AccountNonceHolder
-
-
-
-[docs] -def test_account_nonce_holder(): - account = AccountNonceHolder(41) - account.nonce = 42 - assert account.get_nonce_then_increment() == 42 - assert account.get_nonce_then_increment() == 43 - - account.increment_nonce() - account.increment_nonce() - account.increment_nonce() - assert account.nonce == 47
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/address_test.html b/_modules/multiversx_sdk/core/address_test.html deleted file mode 100644 index ba703753..00000000 --- a/_modules/multiversx_sdk/core/address_test.html +++ /dev/null @@ -1,194 +0,0 @@ - - - - - - multiversx_sdk.core.address_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.address_test

-
-import pytest
-
-from multiversx_sdk.core.address import (Address, AddressComputer,
-                                         AddressFactory, is_valid_bech32)
-from multiversx_sdk.core.errors import ErrBadAddress, ErrBadPubkeyLength
-
-
-
-[docs] -def test_address(): - address = Address.new_from_bech32("erd1l453hd0gt5gzdp7czpuall8ggt2dcv5zwmfdf3sd3lguxseux2fsmsgldz") - assert "fd691bb5e85d102687d81079dffce842d4dc328276d2d4c60d8fd1c3433c3293" == address.to_hex() - assert "erd1l453hd0gt5gzdp7czpuall8ggt2dcv5zwmfdf3sd3lguxseux2fsmsgldz" == address.to_bech32() - - address = Address.new_from_hex("fd691bb5e85d102687d81079dffce842d4dc328276d2d4c60d8fd1c3433c3293", "erd") - assert "fd691bb5e85d102687d81079dffce842d4dc328276d2d4c60d8fd1c3433c3293" == address.to_hex() - assert "erd1l453hd0gt5gzdp7czpuall8ggt2dcv5zwmfdf3sd3lguxseux2fsmsgldz" == address.to_bech32() - - with pytest.raises(ErrBadPubkeyLength): - address = Address(bytes(), "erd") - - with pytest.raises(ErrBadAddress): - address = Address.new_from_bech32("bad")
- - - -
-[docs] -def test_address_with_custom_hrp(): - address = Address.new_from_hex("0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1", "test") - assert address.hrp == "test" - assert address.to_bech32() == "test1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ss5hqhtr" - - address = Address.new_from_bech32("test1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ss5hqhtr") - assert address.hrp == "test" - assert address.to_hex() == "0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1"
- - - -
-[docs] -def test_address_factory(): - factory_foo = AddressFactory("foo") - factory_erd = AddressFactory("erd") - pubkey = bytes.fromhex("0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1") - - assert factory_foo.create_from_public_key(pubkey).to_bech32() == "foo1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssunhpj4" - assert factory_erd.create_from_public_key(pubkey).to_bech32() == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th"
- - - -
-[docs] -def test_is_valid_bech32(): - assert is_valid_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", "erd") - assert is_valid_bech32("foo1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssunhpj4", "foo") - assert not is_valid_bech32("foobar", "foo") - assert not is_valid_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", "foo")
- - - -
-[docs] -def test_get_address_shard(): - address_computer = AddressComputer() - address = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - assert address_computer.get_shard_of_address(address) == 1 - - address = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - assert address_computer.get_shard_of_address(address) == 0 - - address = Address.new_from_bech32("erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8") - assert address_computer.get_shard_of_address(address) == 2
- - - -
-[docs] -def test_compute_contract_address(): - deployer = Address.new_from_bech32("erd1j0hxzs7dcyxw08c4k2nv9tfcaxmqy8rj59meq505w92064x0h40qcxh3ap") - address_computer = AddressComputer() - - contract_address = address_computer.compute_contract_address(deployer, deployment_nonce=0) - assert contract_address.to_hex() == "00000000000000000500bb652200ed1f994200ab6699462cab4b1af7b11ebd5e" - assert contract_address.to_bech32() == "erd1qqqqqqqqqqqqqpgqhdjjyq8dr7v5yq9tv6v5vt9tfvd00vg7h40q6779zn" - - contract_address = address_computer.compute_contract_address(deployer, deployment_nonce=1) - assert contract_address.to_hex() == "000000000000000005006e4f90488e27342f9a46e1809452c85ee7186566bd5e" - assert contract_address.to_bech32() == "erd1qqqqqqqqqqqqqpgqde8eqjywyu6zlxjxuxqfg5kgtmn3setxh40qen8egy"
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/code_metadata_test.html b/_modules/multiversx_sdk/core/code_metadata_test.html deleted file mode 100644 index 45444871..00000000 --- a/_modules/multiversx_sdk/core/code_metadata_test.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - multiversx_sdk.core.code_metadata_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.code_metadata_test

-
-
-from multiversx_sdk.core.code_metadata import CodeMetadata
-
-
-
-[docs] -def test_code_metadata_serialize(): - assert CodeMetadata().serialize() == bytes([0x05, 0x00]) - assert CodeMetadata(upgradeable=True, readable=True).serialize() == bytes([0x05, 0x00]) - assert CodeMetadata(upgradeable=True, readable=True, payable=True, payable_by_contract=True).serialize() == bytes([0x05, 0x06]) - assert CodeMetadata(upgradeable=True, readable=True, payable=False, payable_by_contract=True).serialize() == bytes([0x05, 0x04]) - assert CodeMetadata(upgradeable=False, readable=False, payable=False, payable_by_contract=False).serialize() == bytes([0x00, 0x00])
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/codec_test.html b/_modules/multiversx_sdk/core/codec_test.html deleted file mode 100644 index aea371ea..00000000 --- a/_modules/multiversx_sdk/core/codec_test.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - multiversx_sdk.core.codec_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.codec_test

-from multiversx_sdk.core import codec
-
-test_vectors_1 = [
-    [-1, 0xFF],
-    [1, 0x01],
-    [2, 0x02],
-    [-2, 0xFE],
-    [3, 0x03],
-    [-3, 0xFD],
-    [4, 0x04],
-    [-4, 0xFC],
-]
-
-test_vectors_2 = [
-    [-1, 0xFF],
-    [1, 0x01],
-    [2, 0x02],
-    [-2, 0xFE],
-    [3, 0x03],
-    [-3, 0xFD],
-    [4, 0x04],
-    [-4, 0xFC],
-    [5, 0x05],
-    [-5, 0xFB],
-    [6, 0x06],
-    [-6, 0xFA],
-]
-
-test_vectors_3 = [
-    [125, 0x7D],
-    [-125, 0x83],
-    [126, 0x7E],
-    [-126, 0x82],
-    [127, 0x7F],
-    [-127, 0x81],
-    [-128, 0x80],
-]
-
-test_vectors_4 = [
-    [128, [0x00, 0x80]],
-    [129, [0x00, 0x81]],
-    [-129, [0xFF, 0x7F]],
-    [130, [0x00, 0x82]],
-    [-130, [0xFF, 0x7E]],
-    [253, [0x00, 0xFD]],
-    [256, [0x01, 0x00]],
-    [-256, [0xFF, 0x00]],
-    [-257, [0xFE, 0xFF]],
-    [258, [0x01, 0x02]],
-]
-
-
-
-[docs] -def test_encode_signed_number(): - assert codec.encode_signed_number(-256) == bytes([0xFF, 0x00]) - assert codec.encode_signed_number(-0x11) == bytes([0xEF]) - assert codec.encode_signed_number(-128) == bytes([0x80]) - assert codec.encode_signed_number(-1) == bytes([0xFF]) - assert codec.encode_signed_number(0) == bytes([]) - assert codec.encode_signed_number(1) == bytes([0x01]) - assert codec.encode_signed_number(256) == bytes([0x01, 0x00]) - assert codec.encode_signed_number(127) == bytes([0x7F]) - assert codec.encode_signed_number(0x11) == bytes([0x11]) - assert codec.encode_signed_number(255) == bytes([0x00, 0xFF]) - - for [input_data, expected_data] in test_vectors_1: - assert codec.encode_signed_number(input_data) == bytes([expected_data]) - - for [input_data, expected_data] in test_vectors_2: - assert codec.encode_signed_number(input_data) == bytes([expected_data]) - - for [input_data, expected_data] in test_vectors_3: - assert codec.encode_signed_number(input_data) == bytes([expected_data]) - - for [input_data, [expected_data_1, expected_data_2]] in test_vectors_4: - assert codec.encode_signed_number(input_data) == bytes([expected_data_1, expected_data_2])
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/contract_query_builder_test.html b/_modules/multiversx_sdk/core/contract_query_builder_test.html deleted file mode 100644 index 81a34b7f..00000000 --- a/_modules/multiversx_sdk/core/contract_query_builder_test.html +++ /dev/null @@ -1,129 +0,0 @@ - - - - - - multiversx_sdk.core.contract_query_builder_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.contract_query_builder_test

-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.contract_query_builder import ContractQueryBuilder
-
-
-
-[docs] -def test_contract_query_builder(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - caller = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - - builder = ContractQueryBuilder( - contract=contract, - function="getFoobar", - call_arguments=[42, "test", -836623209073744937290891644], - caller=caller, - value=1 - ) - - query = builder.build() - - assert query.contract == contract - assert query.function == "getFoobar" - assert query.encoded_arguments == ["2a", "74657374", "fd4bf624f561bc2894c6fe84"] - assert query.caller == caller - assert query.value == 1
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/message_test.html b/_modules/multiversx_sdk/core/message_test.html deleted file mode 100644 index 37f31950..00000000 --- a/_modules/multiversx_sdk/core/message_test.html +++ /dev/null @@ -1,176 +0,0 @@ - - - - - - multiversx_sdk.core.message_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.message_test

-from pathlib import Path
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.message import Message, MessageComputer
-from multiversx_sdk.wallet.user_signer import UserSigner
-from multiversx_sdk.wallet.user_verifer import UserVerifier
-
-parent = Path(__file__).parent.parent
-message_computer = MessageComputer()
-alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")
-
-
-
-[docs] -def test_message_v1_serialize_for_signing(): - message = Message( - data="test message".encode() - ) - serialized = message_computer.compute_bytes_for_signing(message) - assert serialized.hex() == "2162d6271208429e6d3e664139e98ba7c5f1870906fb113e8903b1d3f531004d"
- - - -
-[docs] -def test_sign_packed_message_and_verify_unpacked_message(): - message = Message( - data="test".encode(), - address=alice - ) - - signer = UserSigner.from_pem_file(parent / "testutils" / "testwallets" / "alice.pem") - message.signature = signer.sign(message_computer.compute_bytes_for_signing(message)) - assert message.signature.hex() == "7aff43cd6e3d880a65033bf0a1b16274854fd7dfa9fe5faa7fa9a665ee851afd4c449310f5f1697d348e42d1819eaef69080e33e7652d7393521ed50d7427a0e" - - packed_message = message_computer.pack_message(message) - assert packed_message == { - "address": "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - "message": "74657374", - "signature": "7aff43cd6e3d880a65033bf0a1b16274854fd7dfa9fe5faa7fa9a665ee851afd4c449310f5f1697d348e42d1819eaef69080e33e7652d7393521ed50d7427a0e", - "version": 1 - } - - unpacked_message = message_computer.unpack_message(packed_message) - assert unpacked_message.address - assert unpacked_message.address.to_bech32() == alice.to_bech32() - assert unpacked_message.data == message.data - assert unpacked_message.signature == message.signature - assert unpacked_message.version == message.version - - verifier = UserVerifier.from_address(unpacked_message.address) - assert verifier.verify(message_computer.compute_bytes_for_verifying(unpacked_message), unpacked_message.signature)
- - - -
-[docs] -def test_unpack_legacy_message(): - legacy_message = { - "address": "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - "message": "0x7468697320697320612074657374206d657373616765", - "signature": "0xb16847437049986f936dd4a0917c869730cbf29e40a0c0821ca70db33f44758c3d41bcbea446dee70dea13d50942343bb78e74979dc434bbb2b901e0f4fd1809", - "version": 1, - "signer": "ErdJS" - } - message = message_computer.unpack_message(legacy_message) - - assert message.address - assert message.address.to_bech32() == alice.to_bech32() - assert message.data.decode() == "this is a test message" - assert message.signature.hex() == "b16847437049986f936dd4a0917c869730cbf29e40a0c0821ca70db33f44758c3d41bcbea446dee70dea13d50942343bb78e74979dc434bbb2b901e0f4fd1809" - assert message.version == 1
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/proto/transaction_serializer_test.html b/_modules/multiversx_sdk/core/proto/transaction_serializer_test.html deleted file mode 100644 index ef7a12a0..00000000 --- a/_modules/multiversx_sdk/core/proto/transaction_serializer_test.html +++ /dev/null @@ -1,208 +0,0 @@ - - - - - - multiversx_sdk.core.proto.transaction_serializer_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.proto.transaction_serializer_test

-from multiversx_sdk.core.proto.transaction_serializer import ProtoSerializer
-from multiversx_sdk.core.transaction import Transaction, TransactionComputer
-from multiversx_sdk.testutils.wallets import load_wallets
-
-
-
-[docs] -class TestProtoSerializer: - wallets = load_wallets() - alice = wallets["alice"] - bob = wallets["bob"] - carol = wallets["carol"] - proto_serializer = ProtoSerializer() - transaction_computer = TransactionComputer() - -
-[docs] - def test_serialize_tx_no_data_no_value(self): - transaction = Transaction( - sender=self.alice.label, - receiver=self.bob.label, - gas_limit=50000, - chain_id="local-testnet", - nonce=89, - value=0, - ) - transaction.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - - serialized_transaction = self.proto_serializer.serialize_transaction(transaction) - assert serialized_transaction.hex() == "0859120200001a208049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f82a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1388094ebdc0340d08603520d6c6f63616c2d746573746e6574580262403f08a1dd64fbb627d10b048e0b45b1390f29bb0e457762a2ccb710b029f299022a67a4b8e45cf62f4314afec2e56b5574c71e38df96cc41fae757b7ee5062503"
- - -
-[docs] - def test_serialize_tx_with_data_no_value(self): - transaction = Transaction( - sender=self.alice.label, - receiver=self.bob.label, - gas_limit=80000, - chain_id="local-testnet", - data=b"hello", - nonce=90 - ) - transaction.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - - serialized_transaction = self.proto_serializer.serialize_transaction(transaction) - assert serialized_transaction.hex() == "085a120200001a208049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f82a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1388094ebdc034080f1044a0568656c6c6f520d6c6f63616c2d746573746e657458026240f9e8c1caf7f36b99e7e76ee1118bf71b55cde11a2356e2b3adf15f4ad711d2e1982469cbba7eb0afbf74e8a8f78e549b9410cd86eeaa88fcba62611ac9f6e30e"
- - -
-[docs] - def test_serialize_tx_with_data_and_value(self): - transaction = Transaction( - sender=self.alice.label, - receiver=self.bob.label, - gas_limit=100000, - chain_id="local-testnet", - nonce=92, - data=b"for the spaceship", - value=123456789000000000000000000000 - ) - transaction.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - - serialized_transaction = self.proto_serializer.serialize_transaction(transaction) - assert serialized_transaction.hex() == "085c120e00018ee90ff6181f3761632000001a208049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f82a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1388094ebdc0340a08d064a11666f722074686520737061636573686970520d6c6f63616c2d746573746e65745802624001f05aa8cb0614e12a94ab9dcbde5e78370a4e05d23ef25a1fb9d5fcf1cb3b1f33b919cd8dafb1704efb18fa233a8aa0d3344fb6ee9b613a7d7a403786ffbd0a"
- - -
-[docs] - def test_serialize_tx_with_nonce_zero(self): - transaction = Transaction( - sender=self.alice.label, - receiver=self.bob.label, - chain_id="local-testnet", - gas_limit=80000, - nonce=0, - value=0, - data=b"hello", - version=1 - ) - transaction.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - - serialized_transaction = self.proto_serializer.serialize_transaction(transaction) - assert serialized_transaction.hex() == "120200001a208049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f82a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1388094ebdc034080f1044a0568656c6c6f520d6c6f63616c2d746573746e657458016240dfa3e9f2fdec60dcb353bac3b3435b4a2ff251e7e98eaf8620f46c731fc70c8ba5615fd4e208b05e75fe0f7dc44b7a99567e29f94fcd91efac7e67b182cd2a04"
- - -
-[docs] - def test_serialized_tx_with_usernames(self): - transaction = Transaction( - sender=self.carol.label, - receiver=self.alice.label, - gas_limit=50000, - chain_id="T", - nonce=204, - value=1000000000000000000, - sender_username="carol", - receiver_username="alice" - ) - transaction.signature = self.carol.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - - serialized_transaction = self.proto_serializer.serialize_transaction(transaction) - assert serialized_transaction.hex() == "08cc011209000de0b6b3a76400001a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e12205616c6963652a20b2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba32056361726f6c388094ebdc0340d086035201545802624051e6cd78fb3ab4b53ff7ad6864df27cb4a56d70603332869d47a5cf6ea977c30e696103e41e8dddf2582996ad335229fdf4acb726564dbc1a0bc9e705b511f06"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/smart_contract_queries_controller_test.html b/_modules/multiversx_sdk/core/smart_contract_queries_controller_test.html deleted file mode 100644 index 3c8b5095..00000000 --- a/_modules/multiversx_sdk/core/smart_contract_queries_controller_test.html +++ /dev/null @@ -1,224 +0,0 @@ - - - - - - multiversx_sdk.core.smart_contract_queries_controller_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.smart_contract_queries_controller_test

-import base64
-
-import pytest
-
-from multiversx_sdk.core.adapters.query_runner_adapter import \
-    QueryRunnerAdapter
-from multiversx_sdk.core.smart_contract_queries_controller import \
-    SmartContractQueriesController
-from multiversx_sdk.core.smart_contract_query import (
-    SmartContractQuery, SmartContractQueryResponse)
-from multiversx_sdk.network_providers.contract_query_response import \
-    ContractQueryResponse
-from multiversx_sdk.network_providers.proxy_network_provider import \
-    ProxyNetworkProvider
-from multiversx_sdk.testutils.mock_network_provider import MockNetworkProvider
-
-
-
-[docs] -class TestSmartContractQueriesController: - provider = ProxyNetworkProvider("https://devnet-api.multiversx.com") - query_runner = QueryRunnerAdapter(network_provider=provider) - controller = SmartContractQueriesController(query_runner=query_runner) - -
-[docs] - def test_create_query_without_arguments(self): - contract = "erd1qqqqqqqqqqqqqpgqsnwuj85zv7t0wnxfetyqqyjvvg444lpk7uasxv8ktx" - function = "getSum" - - query = self.controller.create_query( - contract=contract, - function=function, - arguments=[] - ) - assert query.contract == contract - assert query.function == function - assert query.arguments == [] - assert query.caller is None - assert query.value is None
- - -
-[docs] - def test_create_query_with_arguments(self): - contract = "erd1qqqqqqqqqqqqqpgqsnwuj85zv7t0wnxfetyqqyjvvg444lpk7uasxv8ktx" - function = "getSum" - - query = self.controller.create_query( - contract=contract, - function=function, - arguments=[int.to_bytes(7), "abba".encode()] - ) - assert query.contract == contract - assert query.function == function - assert query.arguments == [int.to_bytes(7), "abba".encode()] - assert query.caller is None - assert query.value is None
- - -
-[docs] - def test_run_query_with_mock_provider(self): - network_provider = MockNetworkProvider() - query_runner = QueryRunnerAdapter(network_provider=network_provider) - controller = SmartContractQueriesController(query_runner) - - contract_query_response = ContractQueryResponse() - contract_query_response.return_code = "ok" - contract_query_response.return_data = [base64.b64encode("abba".encode()).decode()] - - network_provider.mock_query_contract_on_function("bar", contract_query_response) - - query = SmartContractQuery( - contract="erd1qqqqqqqqqqqqqpgqvc7gdl0p4s97guh498wgz75k8sav6sjfjlwqh679jy", - function="bar", - arguments=[] - ) - - response = controller.run_query(query) - assert response.return_code == "ok" - assert response.return_data_parts == ["abba".encode()]
- - -
-[docs] - def test_parse_query_response(self): - network_provider = MockNetworkProvider() - query_runner = QueryRunnerAdapter(network_provider=network_provider) - controller = SmartContractQueriesController(query_runner) - - response = SmartContractQueryResponse( - function="bar", - return_code="ok", - return_message="ok", - return_data_parts=["abba".encode()] - ) - - parsed = controller.parse_query_response(response) - assert parsed == ["abba".encode()]
- - -
-[docs] - @pytest.mark.networkInteraction - def test_run_query_on_network(self): - contract = "erd1qqqqqqqqqqqqqpgqsnwuj85zv7t0wnxfetyqqyjvvg444lpk7uasxv8ktx" - function = "getSum" - - query = self.controller.create_query( - contract=contract, - function=function, - arguments=[] - ) - - query_response = self.controller.run_query(query) - assert query_response.return_code == "ok" - assert query_response.return_message == "" - assert query_response.return_data_parts == [b'\x05']
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/token_payment_test.html b/_modules/multiversx_sdk/core/token_payment_test.html deleted file mode 100644 index 37806cda..00000000 --- a/_modules/multiversx_sdk/core/token_payment_test.html +++ /dev/null @@ -1,200 +0,0 @@ - - - - - - multiversx_sdk.core.token_payment_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.token_payment_test

-
-from decimal import Decimal
-from typing import Any
-
-import pytest
-
-from multiversx_sdk.core.token_payment import TokenPayment
-
-
-
-[docs] -def test_with_egld(): - assert str(TokenPayment.egld_from_amount(Decimal("1"))) == "1000000000000000000" - assert str(TokenPayment.egld_from_amount(Decimal("10"))) == "10000000000000000000" - assert str(TokenPayment.egld_from_amount(Decimal("100"))) == "100000000000000000000" - assert str(TokenPayment.egld_from_amount(Decimal("1000"))) == "1000000000000000000000" - assert str(TokenPayment.egld_from_amount(Decimal("0.1"))) == "100000000000000000" - assert str(TokenPayment.egld_from_amount(Decimal("0.123456789"))) == "123456789000000000" - assert str(TokenPayment.egld_from_amount(Decimal("0.123456789123456789"))) == "123456789123456789" - assert str(TokenPayment.egld_from_amount(Decimal("0.123456789123456789777"))) == "123456789123456789" - assert str(TokenPayment.egld_from_amount(Decimal("0.123456789123456789777777888888"))) == "123456789123456789" - - assert TokenPayment.egld_from_amount(Decimal("0.1")).to_amount_string() == "0.100000000000000000" - assert TokenPayment.egld_from_amount(Decimal("1")).to_amount_string() == "1.000000000000000000" - assert TokenPayment.egld_from_amount(Decimal("10")).to_amount_string() == "10.000000000000000000" - assert TokenPayment.egld_from_amount(Decimal("100.00")).to_amount_string() == "100.000000000000000000" - assert TokenPayment.egld_from_amount(Decimal("1000")).to_amount_string() == "1000.000000000000000000" - assert TokenPayment.egld_from_amount(Decimal("1000")).to_amount_string(normalize=True) == "1000" - assert TokenPayment.egld_from_amount(Decimal("0.123456789")).to_amount_string() == "0.123456789000000000" - assert TokenPayment.egld_from_amount(Decimal("0.123456789")).to_amount_string(normalize=True) == "0.123456789" - assert TokenPayment.egld_from_amount(Decimal("0.123456789123456789777777888888")).to_amount_string() == "0.123456789123456789" - - assert str(TokenPayment.egld_from_integer(0)) == "0" - assert TokenPayment.egld_from_integer(0).to_amount_string() == "0.000000000000000000" - - assert str(TokenPayment.egld_from_integer(1)) == "1" - assert TokenPayment.egld_from_integer(1).to_amount_string() == "0.000000000000000001" - - assert str(TokenPayment.egld_from_integer(123456789123456789)) == "123456789123456789" - assert TokenPayment.egld_from_integer(123456789123456789).to_amount_string() == "0.123456789123456789"
- - - -
-[docs] -def test_with_fungible_esdt(): - identifier = "USDC-c76f1f" - num_decimals = 6 - - assert str(TokenPayment.fungible_from_amount(identifier, Decimal("1"), num_decimals)) == "1000000" - assert str(TokenPayment.fungible_from_amount(identifier, Decimal("0.1"), num_decimals)) == "100000" - assert str(TokenPayment.fungible_from_amount(identifier, Decimal("0.123456789"), num_decimals)) == "123456" - assert str(TokenPayment.fungible_from_integer(identifier, 1000000, num_decimals)) == "1000000" - assert TokenPayment.fungible_from_integer(identifier, 1000000, num_decimals).to_amount_string() == "1.000000"
- - - -
-[docs] -def test_with_meta_esdt(): - identifier = "MEXFARML-28d646" - num_decimals = 18 - nonce = 12345678 - - payment = TokenPayment.meta_esdt_from_amount(identifier, nonce, Decimal("0.1"), num_decimals) - assert str(payment) == "100000000000000000" - assert payment.to_amount_string() == "0.100000000000000000" - assert payment.token_identifier == identifier - assert payment.token_nonce == nonce
- - - -
-[docs] -def test_with_nft(): - identifier = "TEST-38f249" - nonce = 1 - - payment = TokenPayment.non_fungible(identifier, nonce) - assert str(payment) == "1" - assert payment.to_amount_string() == "1" - assert payment.token_identifier == identifier - assert payment.token_nonce == nonce
- - - -
-[docs] -def test_misuse_raises_error(): - with pytest.raises(ValueError, match="amount_as_integer must be an integer"): - amount: Any = "1" - TokenPayment.egld_from_integer(amount) - - with pytest.raises(ValueError, match="amount_as_integer must be an integer"): - amount: Any = "1" - TokenPayment.fungible_from_integer("USDC-c76f1f", amount, 6)
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/tokens_test.html b/_modules/multiversx_sdk/core/tokens_test.html deleted file mode 100644 index 825d58fd..00000000 --- a/_modules/multiversx_sdk/core/tokens_test.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - multiversx_sdk.core.tokens_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.tokens_test

-import pytest
-
-from multiversx_sdk.core.errors import BadUsageError
-from multiversx_sdk.core.tokens import (Token, TokenComputer,
-                                        TokenIdentifierParts)
-
-
-
-[docs] -class TestTokenComputer: - token_computer = TokenComputer() - -
-[docs] - def test_token_is_fungible(self): - fungible_token = Token("TEST-123456") - non_fungible_token = Token("NFT-987654", 7) - - assert self.token_computer.is_fungible(fungible_token) - assert not self.token_computer.is_fungible(non_fungible_token)
- - -
-[docs] - def test_extract_nonce_from_extended_identifier(self): - extended_nft_identifier = "TEST-123456-0a" - extended_fungible_identifier = "FNG-123456" - - assert self.token_computer.extract_nonce_from_extended_identifier(extended_nft_identifier) == 10 - assert self.token_computer.extract_nonce_from_extended_identifier(extended_fungible_identifier) == 0
- - -
-[docs] - def test_extract_identifier_from_extended_identifier(self): - extended_nft_identifier = "TEST-123456-0a" - extended_fungible_identifier = "FNG-123456" - - assert self.token_computer.extract_identifier_from_extended_identifier(extended_nft_identifier) == "TEST-123456" - assert self.token_computer.extract_identifier_from_extended_identifier(extended_fungible_identifier) == "FNG-123456"
- - -
-[docs] - def test_extract_ticker_from_identifier(self): - fungible_identifier = "FNG-123456" - non_fungible_identifier = "NFT-987654-0a" - - assert self.token_computer.extract_ticker_from_identifier(fungible_identifier) == "FNG" - assert self.token_computer.extract_ticker_from_identifier(non_fungible_identifier) == "NFT"
- - -
-[docs] - def test_parse_extended_identifier_parts(self): - fungible_identifier = "FNG-123456" - non_fungible_identifier = "NFT-987654-0a" - - fungible_parts = self.token_computer.parse_extended_identifier_parts(fungible_identifier) - non_fungible_parts = self.token_computer.parse_extended_identifier_parts(non_fungible_identifier) - - assert fungible_parts.ticker == "FNG" - assert fungible_parts.random_sequence == "123456" - assert fungible_parts.nonce == 0 - - assert non_fungible_parts.ticker == "NFT" - assert non_fungible_parts.random_sequence == "987654" - assert non_fungible_parts.nonce == 10
- - -
-[docs] - def test_compute_extended_identifier_from_identifier_and_bad_nonce(self): - fungible_identifier = "FNG-123456" - fungible_nonce = -10 - - with pytest.raises(BadUsageError, match="The token nonce can not be less than 0"): - self.token_computer.compute_extended_identifier_from_identifier_and_nonce( - fungible_identifier, fungible_nonce - )
- - -
-[docs] - def test_compute_extended_identifier_from_identifier_and_nonce(self): - fungible_identifier = "FNG-123456" - fungible_nonce = 0 - - non_fungible_identifier = "NFT-987654" - non_fungible_nonce = 10 - - fungible_token_identifier = self.token_computer.compute_extended_identifier_from_identifier_and_nonce( - fungible_identifier, fungible_nonce - ) - nft_identifier = self.token_computer.compute_extended_identifier_from_identifier_and_nonce( - non_fungible_identifier, non_fungible_nonce - ) - - assert fungible_token_identifier == "FNG-123456" - assert nft_identifier == "NFT-987654-0a"
- - -
-[docs] - def test_compute_extended_identifier_from_parts(self): - fungible_parts = TokenIdentifierParts("FNG", "123456", 0) - nft_parts = TokenIdentifierParts("NFT", "987654", 10) - - fungible_identifier = self.token_computer.compute_extended_identifier_from_parts(fungible_parts) - nft_identifier = self.token_computer.compute_extended_identifier_from_parts(nft_parts) - - assert fungible_identifier == "FNG-123456" - assert nft_identifier == "NFT-987654-0a"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/contract_builders_test.html b/_modules/multiversx_sdk/core/transaction_builders/contract_builders_test.html deleted file mode 100644 index 24cac604..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/contract_builders_test.html +++ /dev/null @@ -1,290 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.contract_builders_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.contract_builders_test

-from typing import List
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.code_metadata import CodeMetadata
-from multiversx_sdk.core.interfaces import ITokenPayment
-from multiversx_sdk.core.token_payment import TokenPayment
-from multiversx_sdk.core.transaction_builders.contract_builders import (
-    ContractCallBuilder, ContractDeploymentBuilder, ContractUpgradeBuilder)
-from multiversx_sdk.core.transaction_builders.default_configuration import \
-    DefaultTransactionBuildersConfiguration
-
-dummyConfig = DefaultTransactionBuildersConfiguration(chain_id="D")
-
-
-
-[docs] -def test_contract_deployment_builder(): - owner = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - metadata = CodeMetadata(upgradeable=True, readable=True, payable=True, payable_by_contract=True) - - builder = ContractDeploymentBuilder( - dummyConfig, - owner=owner, - deploy_arguments=[42, "test"], - code_metadata=metadata, - code=bytes([0xAA, 0xBB, 0xCC, 0xDD]), - gas_limit=10000000 - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"aabbccdd@0500@0506@2a@74657374" - assert tx.chain_id == "D" - assert tx.sender == owner.to_bech32() - assert tx.receiver == "erd1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gq4hu" - assert tx.gas_limit == 10000000 - assert tx.gas_price == 1000000000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_contract_upgrade_builder(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - owner = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - metadata = CodeMetadata(upgradeable=True, readable=True, payable=True, payable_by_contract=True) - - builder = ContractUpgradeBuilder( - dummyConfig, - contract=contract, - owner=owner, - upgrade_arguments=[42, "test"], - code_metadata=metadata, - code=bytes([0xAA, 0xBB, 0xCC, 0xDD]), - gas_limit=10000000 - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"upgradeContract@aabbccdd@0506@2a@74657374" - assert tx.chain_id == "D" - assert tx.sender == owner.to_bech32() - assert tx.receiver == contract.to_bech32() - assert tx.gas_limit == 10000000 - assert tx.gas_price == 1000000000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_contract_call_builder(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - caller = Address.new_from_bech32("erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8") - - builder = ContractCallBuilder( - dummyConfig, - contract=contract, - function_name="foo", - caller=caller, - call_arguments=[42, "test", Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")], - gas_limit=10000000 - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"foo@2a@74657374@0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1" - assert tx.sender == caller.to_bech32() - assert tx.receiver == contract.to_bech32() - assert tx.gas_limit == 10000000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_contract_call_builder_with_esdt_transfer(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - caller = Address.new_from_bech32("erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8") - - transfers: List[ITokenPayment] = [ - TokenPayment.fungible_from_amount("COUNTER-8b028f", "100.00", 2) - ] - - builder = ContractCallBuilder( - dummyConfig, - contract=contract, - function_name="hello", - caller=caller, - call_arguments=[42, "test", Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")], - gas_limit=10000000, - esdt_transfers=transfers - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"ESDTTransfer@434f554e5445522d386230323866@2710@68656c6c6f@2a@74657374@0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1" - assert tx.sender == caller.to_bech32() - assert tx.receiver == contract.to_bech32() - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_contract_call_builder_with_esdt_nft_transfer(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - caller = Address.new_from_bech32("erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8") - - transfers: List[ITokenPayment] = [ - TokenPayment.non_fungible("TEST-38f249", 1) - ] - - builder = ContractCallBuilder( - dummyConfig, - contract=contract, - function_name="hello", - caller=caller, - call_arguments=[42, "test", Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")], - gas_limit=10000000, - esdt_transfers=transfers - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"ESDTNFTTransfer@544553542d333866323439@01@01@00000000000000000500e0b77f1edfb01cb786a39120f02c31ff5fe40aad8974@68656c6c6f@2a@74657374@0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1" - assert tx.sender == caller.to_bech32() - assert tx.receiver == caller.to_bech32() - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_contract_call_builder_with_multi_esdt_nft_transfer(): - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgquzmh78klkqwt0p4rjys0qtp3la07gz4d396qn50nnm") - caller = Address.new_from_bech32("erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8") - - transfers = [ - TokenPayment.non_fungible("TEST-38f249", 1), - TokenPayment.fungible_from_amount("BAR-c80d29", "10.00", 18) - ] - - builder = ContractCallBuilder( - dummyConfig, - contract=contract, - function_name="hello", - caller=caller, - call_arguments=[42, "test", Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")], - gas_limit=10000000, - esdt_transfers=transfers - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"MultiESDTNFTTransfer@00000000000000000500e0b77f1edfb01cb786a39120f02c31ff5fe40aad8974@02@544553542d333866323439@01@01@4241522d633830643239@@8ac7230489e80000@68656c6c6f@2a@74657374@0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1" - assert tx.sender == caller.to_bech32() - assert tx.receiver == caller.to_bech32() - assert tx.data.decode() == str(payload)
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/default_configuration_test.html b/_modules/multiversx_sdk/core/transaction_builders/default_configuration_test.html deleted file mode 100644 index c2acfd05..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/default_configuration_test.html +++ /dev/null @@ -1,117 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.default_configuration_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.default_configuration_test

-from multiversx_sdk.core.transaction_builders.default_configuration import \
-    DefaultTransactionBuildersConfiguration
-
-
-
-[docs] -def test_default_configuration(): - config = DefaultTransactionBuildersConfiguration(chain_id="D") - - assert config.chain_id == "D" - assert config.min_gas_price == 1000000000 - assert config.min_gas_limit == 50000 - assert config.gas_limit_per_byte == 1500
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/esdt_builders_test.html b/_modules/multiversx_sdk/core/transaction_builders/esdt_builders_test.html deleted file mode 100644 index 7df3a89d..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/esdt_builders_test.html +++ /dev/null @@ -1,140 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.esdt_builders_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.esdt_builders_test

-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.transaction_builders.default_configuration import \
-    DefaultTransactionBuildersConfiguration
-from multiversx_sdk.core.transaction_builders.esdt_builders import \
-    ESDTIssueBuilder
-
-dummyConfig = DefaultTransactionBuildersConfiguration(chain_id="D")
-
-
-
-[docs] -def test_esdt_issue_builder(): - issuer = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - - builder = ESDTIssueBuilder( - config=dummyConfig, - issuer=issuer, - token_name="FOO", - token_ticker="FOO", - initial_supply=1000000000000, - num_decimals=8, - can_freeze=True, - can_mint=True, - can_upgrade=True - ) - - payload = builder.build_payload() - tx = builder.build() - - assert payload.data == b"issue@464f4f@464f4f@e8d4a51000@08@63616e467265657a65@74727565@63616e4d696e74@74727565@63616e55706772616465@74727565@63616e4164645370656369616c526f6c6573@66616c7365" - assert tx.chain_id == "D" - assert tx.sender == issuer.to_bech32() - assert tx.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert tx.gas_limit == 50000 + payload.length() * 1500 + 60000000 - assert tx.data.decode() == str(payload)
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/relayed_v1_builder_test.html b/_modules/multiversx_sdk/core/transaction_builders/relayed_v1_builder_test.html deleted file mode 100644 index d5bd96e7..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/relayed_v1_builder_test.html +++ /dev/null @@ -1,294 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.relayed_v1_builder_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.relayed_v1_builder_test

-import pytest
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.errors import ErrInvalidRelayerV1BuilderArguments
-from multiversx_sdk.core.token_payment import TokenPayment
-from multiversx_sdk.core.transaction import Transaction, TransactionComputer
-from multiversx_sdk.core.transaction_builders.relayed_v1_builder import \
-    RelayedTransactionV1Builder
-from multiversx_sdk.testutils.wallets import load_wallets
-
-
-
-[docs] -class NetworkConfig: - def __init__(self) -> None: - self.min_gas_limit = 50_000 - self.gas_per_data_byte = 1_500 - self.gas_price_modifier = 0.01 - self.chain_id = "T"
- - - -
-[docs] -class TestRelayedV1Builder: - wallets = load_wallets() - alice = wallets["alice"] - bob = wallets["bob"] - frank = wallets["frank"] - grace = wallets["grace"] - carol = wallets["carol"] - transaction_computer = TransactionComputer() - -
-[docs] - def test_without_arguments(self): - relayed_builder = RelayedTransactionV1Builder() - - with pytest.raises(ErrInvalidRelayerV1BuilderArguments): - relayed_builder.build() - - inner_transaction = Transaction( - chain_id="1", - sender=self.alice.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=10000000, - nonce=15, - data=b"getContractConfig" - ) - relayed_builder.set_inner_transaction(inner_transaction) - - with pytest.raises(ErrInvalidRelayerV1BuilderArguments): - relayed_builder.build() - - network_config = NetworkConfig() - relayed_builder.set_network_config(network_config) - - with pytest.raises(ErrInvalidRelayerV1BuilderArguments): - relayed_builder.build()
- - -
-[docs] - def test_compute_relayed_v1_tx(self): - network_config = NetworkConfig() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.bob.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=60000000, - nonce=198, - data=b"getContractConfig" - ) - inner_tx.signature = self.bob.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - - relayed_builder = RelayedTransactionV1Builder() - relayed_builder.set_inner_transaction(inner_tx) - relayed_builder.set_relayer_nonce(2627) - relayed_builder.set_network_config(network_config) - relayed_builder.set_relayer_address(Address.new_from_bech32(self.alice.label)) - - relayed_tx = relayed_builder.build() - relayed_tx.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(relayed_tx)) - - assert relayed_tx.nonce == 2627 - assert relayed_tx.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414141415141414141414141414141414141414141414141414141414141432f2f383d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225a3256305132397564484a68593352446232356d6157633d222c227369676e6174757265223a2272525455544858677a4273496e4f6e454b6b7869642b354e66524d486e33534948314673746f577352434c434b3258514c41614f4e704449346531476173624c5150616130566f364144516d4f2b52446b6f364a43413d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a327d" - assert relayed_tx.signature.hex() == "128e7cdc14c2b9beee2f3ff7a7fa5d1f5ef31a654a0c92e223c90ab28265fa277d306f23a06536248cf9573e828017004fb639617fade4d68a37524aafca710d"
- - -
-[docs] - def test_compute_guarded_inner_tx(self): - network_config = NetworkConfig() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.bob.label, - receiver="erd1qqqqqqqqqqqqqpgq54tsxmej537z9leghvp69hfu4f8gg5eu396q83gnnz", - gas_limit=60000000, - nonce=198, - data=b"getContractConfig", - guardian=self.grace.label, - version=2, - options=2 - ) - inner_tx.signature = self.bob.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - inner_tx.guardian_signature = self.grace.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - - relayed_builder = RelayedTransactionV1Builder() - relayed_builder.set_inner_transaction(inner_tx) - relayed_builder.set_relayer_nonce(2627) - relayed_builder.set_network_config(network_config) - relayed_builder.set_relayer_address(Address.new_from_bech32(self.alice.label)) - - relayed_tx = relayed_builder.build() - relayed_tx.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(relayed_tx)) - - assert relayed_tx.nonce == 2627 - assert relayed_tx.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414146414b565841323879704877692f79693741364c64504b704f68464d386958513d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225a3256305132397564484a68593352446232356d6157633d222c227369676e6174757265223a224b4b78324f33383655725135416b4f465258307578327933446a384853334b373038487174344668377161557669424550716c45614e746e6158706a6f2f333651476d4a456934784435457a6c6f4f677a634d4442773d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c226f7074696f6e73223a322c22677561726469616e223a22486f714c61306e655733766843716f56696c70715372744c5673774939535337586d7a563868477450684d3d222c22677561726469616e5369676e6174757265223a222b5431526f4833625a792f54423177342b6a365155477258645637457577553073753948646551626453515269463953757a686d634b705463526d58595252366c534c6652394931624d7134674730436538363741513d3d227d" - assert relayed_tx.signature.hex() == "39cff9d5100e290fbc7361cb6e2402261caf864257b4116f150e0c61e7869155dff8361fa5449431eb7a8ed847c01ba9b3b5ebafe5fac1a3d40c64829d827e00"
- - -
-[docs] - def test_guarded_inner_tx_and_guarded_relayed_tx(self): - network_config = NetworkConfig() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.bob.label, - receiver="erd1qqqqqqqqqqqqqpgq54tsxmej537z9leghvp69hfu4f8gg5eu396q83gnnz", - gas_limit=60000000, - nonce=198, - data=b"addNumber", - guardian=self.grace.label, - version=2, - options=2 - ) - inner_tx.signature = self.bob.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - inner_tx.guardian_signature = self.grace.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - - relayed_builder = RelayedTransactionV1Builder() - relayed_builder.set_inner_transaction(inner_tx) - relayed_builder.set_relayer_nonce(2627) - relayed_builder.set_network_config(network_config) - relayed_builder.set_relayer_address(Address.new_from_bech32(self.alice.label)) - relayed_builder.set_relayed_transaction_version(2) - relayed_builder.set_relayed_transaction_options(2) - relayed_builder.set_relayed_transaction_guardian(Address.new_from_bech32(self.frank.label)) - - relayed_tx = relayed_builder.build() - relayed_tx.signature = self.alice.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(relayed_tx)) - relayed_tx.guardian_signature = self.frank.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - - assert relayed_tx.nonce == 2627 - assert relayed_tx.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414146414b565841323879704877692f79693741364c64504b704f68464d386958513d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225957526b546e5674596d5679222c227369676e6174757265223a223469724d4b4a656d724d375174344e7635487633544c44683775654779487045564c4371674a3677652f7a662b746a4933354975573452633458543451533433475333356158386c6a533834324a38426854645043673d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c226f7074696f6e73223a322c22677561726469616e223a22486f714c61306e655733766843716f56696c70715372744c5673774939535337586d7a563868477450684d3d222c22677561726469616e5369676e6174757265223a2270424754394e674a78307539624c56796b654d78786a454865374269696c37764932324a46676f32787a6e2f496e3032463769546563356b44395045324f747065386c475335412b532f4a36417762576834446744673d3d227d" - assert relayed_tx.signature.hex() == "8ede1bbeed96b102344dffeac12c2592c62b7313cdeb132e8c8bf11d2b1d3bb8189d257a6dbcc99e222393d9b9ec77656c349dae97a32e68bdebd636066bf706"
- - -
-[docs] - def test_compute_relayedV1_with_usernames(self): - network_config = NetworkConfig() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.carol.label, - receiver=self.alice.label, - gas_limit=50000, - sender_username="carol", - receiver_username="alice", - nonce=208, - value=TokenPayment.egld_from_amount(1).amount_as_integer - ) - inner_tx.signature = self.carol.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(inner_tx)) - - builder = RelayedTransactionV1Builder() - builder.set_inner_transaction(inner_tx) - builder.set_relayer_nonce(715) - builder.set_network_config(network_config) - builder.set_relayer_address(Address.new_from_bech32(self.frank.label)) - - relayed_tx = builder.build() - relayed_tx.signature = self.frank.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(relayed_tx)) - - assert relayed_tx.nonce == 715 - assert relayed_tx.data.decode() == "relayedTx@7b226e6f6e6365223a3230382c2273656e646572223a227371455656633553486b6c45344a717864556e59573068397a536249533141586f3534786f32634969626f3d222c227265636569766572223a2241546c484c76396f686e63616d433877673970645168386b77704742356a6949496f3349484b594e6165453d222c2276616c7565223a313030303030303030303030303030303030302c226761735072696365223a313030303030303030302c226761734c696d6974223a35303030302c2264617461223a22222c227369676e6174757265223a226a33427a6469554144325963517473576c65707663664a6f75657a48573063316b735a424a4d6339573167435450512b6870636759457858326f6f367a4b5654347464314b4b6f79783841526a346e336474576c44413d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c22736e64557365724e616d65223a22593246796232773d222c22726376557365724e616d65223a22595778705932553d227d" - assert relayed_tx.signature.hex() == "3787d640e5a579e7977a4a1bcdd435ad11855632fa4a414a06fbf8355692d1a58d76ef0adbdd6ccd6bd3c329f36bd53c180d4873ec1a6c558e659aeb9ab92d00"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/relayed_v2_builder_test.html b/_modules/multiversx_sdk/core/transaction_builders/relayed_v2_builder_test.html deleted file mode 100644 index 5e4959df..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/relayed_v2_builder_test.html +++ /dev/null @@ -1,201 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.relayed_v2_builder_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.relayed_v2_builder_test

-import pytest
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.errors import (ErrInvalidGasLimitForInnerTransaction,
-                                        ErrInvalidRelayerV2BuilderArguments)
-from multiversx_sdk.core.transaction import Transaction, TransactionComputer
-from multiversx_sdk.core.transaction_builders.relayed_v2_builder import \
-    RelayedTransactionV2Builder
-from multiversx_sdk.testutils.wallets import load_wallets
-
-
-
-[docs] -class NetworkConfig: - def __init__(self) -> None: - self.min_gas_limit = 50_000 - self.gas_per_data_byte = 1_500 - self.gas_price_modifier = 0.01 - self.chain_id = "T"
- - - -
-[docs] -class TestRelayedV2Builder: - wallets = load_wallets() - alice = wallets["alice"] - bob = wallets["bob"] - -
-[docs] - def test_without_arguments(self): - relayed_builder = RelayedTransactionV2Builder() - - with pytest.raises(ErrInvalidRelayerV2BuilderArguments): - relayed_builder.build()
- - -
-[docs] - def test_with_inner_tx_gas_limit(self): - builder = RelayedTransactionV2Builder() - network_config = NetworkConfig() - transaction_computer = TransactionComputer() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.alice.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=10, - nonce=15, - data=b"getContractConfig" - ) - inner_tx.signature = self.alice.secret_key.sign(transaction_computer.compute_bytes_for_signing(inner_tx)) - - builder.set_network_config(network_config) - builder.set_inner_transaction_gas_limit(10) - builder.set_inner_transaction(inner_tx) - builder.set_relayer_address(Address.new_from_bech32(self.alice.label)) - - with pytest.raises(ErrInvalidGasLimitForInnerTransaction): - builder.build()
- - -
-[docs] - def test_compute_relayed_v2_transaction(self): - network_config = NetworkConfig() - transaction_computer = TransactionComputer() - - inner_tx = Transaction( - chain_id=network_config.chain_id, - sender=self.bob.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=0, - nonce=15, - data=b"getContractConfig" - ) - inner_tx.signature = self.bob.secret_key.sign(transaction_computer.compute_bytes_for_signing(inner_tx)) - - builder = RelayedTransactionV2Builder() - builder.set_inner_transaction(inner_tx) - builder.set_inner_transaction_gas_limit(60_000_000) - builder.set_relayer_nonce(37) - builder.set_network_config(network_config) - builder.set_relayer_address(Address.new_from_bech32(self.alice.label)) - - relayed_tx = builder.build() - - relayed_tx.sender = self.alice.label - relayed_tx.signature = self.alice.secret_key.sign(transaction_computer.compute_bytes_for_signing(relayed_tx)) - - assert relayed_tx.version == 2 - assert relayed_tx.options == 0 - assert relayed_tx.nonce == 37 - assert relayed_tx.data.decode() == "relayedTxV2@000000000000000000010000000000000000000000000000000000000002ffff@0f@676574436f6e7472616374436f6e666967@fc3ed87a51ee659f937c1a1ed11c1ae677e99629fae9cc289461f033e6514d1a8cfad1144ae9c1b70f28554d196bd6ba1604240c1c1dc19c959e96c1c3b62d0c"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_builders/transfers_builders_test.html b/_modules/multiversx_sdk/core/transaction_builders/transfers_builders_test.html deleted file mode 100644 index 8ba629de..00000000 --- a/_modules/multiversx_sdk/core/transaction_builders/transfers_builders_test.html +++ /dev/null @@ -1,234 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_builders.transfers_builders_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_builders.transfers_builders_test

-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.token_payment import TokenPayment
-from multiversx_sdk.core.transaction_builders.default_configuration import \
-    DefaultTransactionBuildersConfiguration
-from multiversx_sdk.core.transaction_builders.transfers_builders import (
-    EGLDTransferBuilder, ESDTNFTTransferBuilder, ESDTTransferBuilder,
-    MultiESDTNFTTransferBuilder)
-
-dummyConfig = DefaultTransactionBuildersConfiguration(chain_id="D")
-
-
-
-[docs] -def test_egld_transfer_builder(): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - payment = TokenPayment.egld_from_amount("1.00") - - # With "data" field - builder = EGLDTransferBuilder( - config=dummyConfig, - sender=alice, - receiver=bob, - payment=payment, - data="for the book" - ) - - payload = builder.build_payload() - tx = builder.build() - assert payload.data == b"for the book" - assert tx.chain_id == "D" - assert tx.sender == alice.to_bech32() - assert tx.receiver == bob.to_bech32() - assert tx.gas_limit == 50000 + payload.length() * 1500 - assert tx.data.decode() == str(payload) - - # Without "data" field - builder = EGLDTransferBuilder( - config=dummyConfig, - sender=alice, - receiver=bob, - payment=payment - ) - - payload = builder.build_payload() - tx = builder.build() - assert payload.data == b"" - assert tx.chain_id == "D" - assert tx.sender == alice.to_bech32() - assert tx.receiver == bob.to_bech32() - assert tx.gas_limit == 50000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_esdt_transfer_builder(): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - payment = TokenPayment.fungible_from_amount("COUNTER-8b028f", "100.00", 2) - - builder = ESDTTransferBuilder( - config=dummyConfig, - sender=alice, - receiver=bob, - payment=payment - ) - - payload = builder.build_payload() - tx = builder.build() - assert payload.data == b"ESDTTransfer@434f554e5445522d386230323866@2710" - assert tx.chain_id == "D" - assert tx.sender == alice.to_bech32() - assert tx.receiver == bob.to_bech32() - assert tx.gas_limit == 50000 + payload.length() * 1500 + 100000 + 200000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_esdt_nft_transfer_builder(): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - payment = TokenPayment.non_fungible("TEST-38f249", 1) - - builder = ESDTNFTTransferBuilder( - config=dummyConfig, - sender=alice, - destination=bob, - payment=payment - ) - - payload = builder.build_payload() - tx = builder.build() - assert payload.data == b"ESDTNFTTransfer@544553542d333866323439@01@01@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8" - assert tx.chain_id == "D" - assert tx.sender == alice.to_bech32() - assert tx.receiver == alice.to_bech32() - assert tx.gas_limit == 50000 + payload.length() * 1500 + 200000 + 800000 - assert tx.data.decode() == str(payload)
- - - -
-[docs] -def test_multi_esdt_nft_transfer_builder(): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - payment_one = TokenPayment.non_fungible("TEST-38f249", 1) - payment_two = TokenPayment.fungible_from_amount("BAR-c80d29", "10.00", 18) - - builder = MultiESDTNFTTransferBuilder( - config=dummyConfig, - sender=alice, - destination=bob, - payments=[payment_one, payment_two] - ) - - payload = builder.build_payload() - tx = builder.build() - assert payload.data == b"MultiESDTNFTTransfer@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8@02@544553542d333866323439@01@01@4241522d633830643239@@8ac7230489e80000" - assert tx.chain_id == "D" - assert tx.sender == alice.to_bech32() - assert tx.receiver == alice.to_bech32() - assert tx.gas_limit == 50000 + payload.length() * 1500 + 2 * (200000 + 800000) - assert tx.data.decode() == str(payload)
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_parsers/token_operations_outcome_parser_test.html b/_modules/multiversx_sdk/core/transaction_parsers/token_operations_outcome_parser_test.html deleted file mode 100644 index 9a813960..00000000 --- a/_modules/multiversx_sdk/core/transaction_parsers/token_operations_outcome_parser_test.html +++ /dev/null @@ -1,218 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_parsers.token_operations_outcome_parser_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_parsers.token_operations_outcome_parser_test

-from multiversx_sdk.core import Address
-from multiversx_sdk.core.codec import encode_unsigned_number
-from multiversx_sdk.core.transaction_parsers.token_operations_outcome_parser import \
-    TokenOperationsOutcomeParser
-from multiversx_sdk.core.transaction_parsers.transaction_on_network_wrapper import (
-    ContractResultsWrapper, TransactionEventTopicWrapper,
-    TransactionEventWrapper, TransactionLogsWrapper,
-    TransactionOnNetworkWrapper)
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-
-frank = Address.new_from_bech32("erd1kdl46yctawygtwg2k462307dmz2v55c605737dp3zkxh04sct7asqylhyv")
-grace = Address.new_from_bech32("erd1r69gk66fmedhhcg24g2c5kn2f2a5k4kvpr6jfw67dn2lyydd8cfswy6ede")
-parser = TokenOperationsOutcomeParser(TransactionsFactoryConfig("D"))
-
-
-
-[docs] -def test_parse_issue_fungible(): - transaction = TransactionOnNetworkWrapper( - ContractResultsWrapper([]), - TransactionLogsWrapper([ - TransactionEventWrapper( - address=frank, - identifier="issue", - topics=[TransactionEventTopicWrapper("FOOBAR".encode())], - data="" - ) - ]) - ) - - outcome = parser.parse_issue_fungible(transaction) - assert outcome.token_identifier == "FOOBAR"
- - - -
-[docs] -def test_parse_set_special_role(): - transaction = TransactionOnNetworkWrapper( - ContractResultsWrapper([]), - TransactionLogsWrapper([ - TransactionEventWrapper( - address=grace, - identifier="ESDTSetRole", - topics=[ - TransactionEventTopicWrapper("FOOBAR".encode()), - TransactionEventTopicWrapper("".encode()), - TransactionEventTopicWrapper("".encode()), - TransactionEventTopicWrapper("ESDTRoleLocalMint".encode()), - TransactionEventTopicWrapper("ESDTRoleLocalBurn".encode()) - ], - data="" - ) - ]) - ) - - outcome = parser.parse_set_special_role(transaction) - assert outcome.token_identifier == "FOOBAR" - assert outcome.roles == ["ESDTRoleLocalMint", "ESDTRoleLocalBurn"] - assert outcome.user_address == grace.to_bech32()
- - - -
-[docs] -def test_parse_local_mint(): - transaction = TransactionOnNetworkWrapper( - ContractResultsWrapper([]), - TransactionLogsWrapper([ - TransactionEventWrapper( - address=grace, - identifier="ESDTLocalMint", - topics=[ - TransactionEventTopicWrapper("FOOBAR".encode()), - TransactionEventTopicWrapper("".encode()), - TransactionEventTopicWrapper(encode_unsigned_number(200)) - ], - data="" - ) - ]) - ) - - outcome = parser.parse_local_mint(transaction) - assert outcome.token_identifier == "FOOBAR" - assert outcome.nonce == 0 - assert outcome.minted_supply == 200 - assert outcome.user_address == grace.to_bech32()
- - - -
-[docs] -def test_parse_nft_create(): - transaction = TransactionOnNetworkWrapper( - ContractResultsWrapper([]), - TransactionLogsWrapper([ - TransactionEventWrapper( - address=grace, - identifier="ESDTNFTCreate", - topics=[ - TransactionEventTopicWrapper("FOOBAR".encode()), - TransactionEventTopicWrapper(encode_unsigned_number(42)), - TransactionEventTopicWrapper(encode_unsigned_number(1)) - ], - data="" - ) - ]) - ) - - outcome = parser.parse_nft_create(transaction) - assert outcome.token_identifier == "FOOBAR" - assert outcome.nonce == 42 - assert outcome.initial_quantity == 1
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transaction_test.html b/_modules/multiversx_sdk/core/transaction_test.html deleted file mode 100644 index 3a208162..00000000 --- a/_modules/multiversx_sdk/core/transaction_test.html +++ /dev/null @@ -1,366 +0,0 @@ - - - - - - multiversx_sdk.core.transaction_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transaction_test

-import pytest
-
-from multiversx_sdk.core.errors import NotEnoughGasError
-from multiversx_sdk.core.proto.transaction_serializer import ProtoSerializer
-from multiversx_sdk.core.transaction import Transaction, TransactionComputer
-from multiversx_sdk.testutils.wallets import load_wallets
-from multiversx_sdk.wallet import UserSecretKey
-
-
-
-[docs] -class NetworkConfig: - def __init__(self, min_gas_limit: int = 50000) -> None: - self.min_gas_limit = min_gas_limit - self.gas_per_data_byte = 1500 - self.gas_price_modifier = 0.01 - self.chain_id = "D"
- - - -
-[docs] -class TestTransaction: - wallets = load_wallets() - alice = wallets["alice"] - carol = wallets["carol"] - transaction_computer = TransactionComputer() - -
-[docs] - def test_serialize_for_signing(self): - sender = "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - receiver = "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - - transaction = Transaction( - nonce=89, - sender=sender, - receiver=receiver, - value=0, - gas_limit=50000, - gas_price=1000000000, - chain_id="D", - version=1 - ) - serialized_tx = self.transaction_computer.compute_bytes_for_signing(transaction) - assert serialized_tx.decode() == r"""{"nonce":89,"value":"0","receiver":"erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx","sender":"erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th","gasPrice":1000000000,"gasLimit":50000,"chainID":"D","version":1}""" - - transaction = Transaction( - nonce=90, - sender=sender, - receiver=receiver, - value=1000000000000000000, - data=b"hello", - gas_limit=70000, - gas_price=1000000000, - chain_id="D", - version=1 - ) - serialized_tx = self.transaction_computer.compute_bytes_for_signing(transaction) - assert serialized_tx.decode() == r"""{"nonce":90,"value":"1000000000000000000","receiver":"erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx","sender":"erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th","gasPrice":1000000000,"gasLimit":70000,"data":"aGVsbG8=","chainID":"D","version":1}"""
- - -
-[docs] - def test_with_usernames(self): - transaction = Transaction( - chain_id="T", - sender=self.carol.label, - receiver=self.alice.label, - nonce=204, - gas_limit=50000, - sender_username="carol", - receiver_username="alice", - value=1000000000000000000 - ) - - transaction.signature = self.carol.secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - assert transaction.signature.hex() == "51e6cd78fb3ab4b53ff7ad6864df27cb4a56d70603332869d47a5cf6ea977c30e696103e41e8dddf2582996ad335229fdf4acb726564dbc1a0bc9e705b511f06"
- - -
-[docs] - def test_compute_transaction_hash(self): - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=100000, - chain_id="D", - nonce=17243, - value=1000000000000, - data=b"testtx", - version=2, - signature=bytes.fromhex("eaa9e4dfbd21695d9511e9754bde13e90c5cfb21748a339a79be11f744c71872e9fe8e73c6035c413f5f08eef09e5458e9ea6fc315ff4da0ab6d000b450b2a07") - ) - tx_hash = self.transaction_computer.compute_transaction_hash(transaction) - assert tx_hash.hex() == "169b76b752b220a76a93aeebc462a1192db1dc2ec9d17e6b4d7b0dcc91792f03"
- - -
-[docs] - def test_compute_transaction_hash_with_usernames(self): - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=100000, - chain_id="D", - nonce=17244, - value=1000000000000, - data=b"testtx", - version=2, - sender_username="alice", - receiver_username="alice", - signature=bytes.fromhex("807bcd7de5553ea6dfc57c0510e84d46813c5963d90fec50991c500091408fcf6216dca48dae16a579a1611ed8b2834bae8bd0027dc17eb557963f7151b82c07") - ) - tx_hash = self.transaction_computer.compute_transaction_hash(transaction) - assert tx_hash.hex() == "41b5acf7ebaf4a9165a64206b6ebc02021b3adda55ffb2a2698aac2e7004dc29"
- - -
-[docs] - def test_compute_transaction_fee_insufficient(self): - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=50000, - chain_id="D", - data=b"toolittlegaslimit", - ) - - with pytest.raises(NotEnoughGasError): - self.transaction_computer.compute_transaction_fee(transaction, NetworkConfig())
- - -
-[docs] - def test_compute_transaction_fee(self): - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_price=500, - gas_limit=20, - chain_id="D", - ) - - computed_gas = self.transaction_computer.compute_transaction_fee(transaction, NetworkConfig(min_gas_limit=10)) - assert computed_gas == 5050
- - -
-[docs] - def test_compute_transaction_fee_with_data_field(self): - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_price=500, - gas_limit=12010, - chain_id="D", - data=b"testdata" - ) - - computed_gas = self.transaction_computer.compute_transaction_fee(transaction, NetworkConfig(min_gas_limit=10)) - assert computed_gas == 6005000
- - -
-[docs] - def test_compute_transaction_with_guardian_fields(self): - - sender_secret_key_hex = "3964a58b0debd802f67239c30aa2b3a75fff1842c203587cb590d03d20e32415" - sender_secret_key = UserSecretKey(bytes.fromhex(sender_secret_key_hex)) - - transaction = Transaction( - sender="erd1fp4zaxvyc8jh99vauwns99kvs9tn0k6cwrr0zpyz2jvyurcepuhsfzvlar", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=139000, - gas_price=1000000000, - chain_id="D", - nonce=2, - value=1000000000000000000, - data=b"this is a test transaction", - version=2, - options=2, - guardian="erd1nn8apn09vmf72l7kzr3nd90rr5r2q74he7hseghs3v68c5p7ud2qhhwf96", - guardian_signature=bytes.fromhex("487150c26d38a01fe19fbe26dac20ec2b42ec3abf5763a47a508e62bcd6ad3437c4d404684442e864a1dbad446dc0f852889a09f0650b5fdb55f4ee18147920d") - ) - - transaction.signature = sender_secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - assert transaction.signature.hex() == "51434089b93d34ce5dfe9f7c8aa764e5654ed36ee9c54d465ce87d4399d71cf0745ca6c9c680727cf2788a5efbfebdbeececfa7b7497186c64975b7e6eb9f808" - - tx_hash = self.transaction_computer.compute_transaction_hash(transaction) - assert tx_hash.hex() == "14a1ea3b73212efdcf4e66543b5e089437e72b8b069330312a0975f31e6c8a93"
- - - # this test was done to mimic the one in mx-chain-go -
-[docs] - def test_compute_transaction_with_dummy_guardian(self): - alice_private_key_hex = "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9" - alice_secret_key = UserSecretKey(bytes.fromhex(alice_private_key_hex)) - - transaction = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx", - gas_limit=150000, - chain_id="local-testnet", - gas_price=1000000000, - data=b"test data field", - version=2, - options=2, - nonce=92, - value=123456789000000000000000000000, - guardian="erd1x23lzn8483xs2su4fak0r0dqx6w38enpmmqf2yrkylwq7mfnvyhsxqw57y", - guardian_signature=bytes([0] * 64) - ) - - transaction.signature = alice_secret_key.sign(self.transaction_computer.compute_bytes_for_signing(transaction)) - assert transaction.signature.hex() == "e574d78b19e1481a6b9575c162e66f2f906a3178aec537509356385c4f1a5330a9b73a87a456fc6d7041e93b5f8a1231a92fb390174872a104a0929215600c0c" - - proto_serializer = ProtoSerializer() - serialized = proto_serializer.serialize_transaction(transaction) - assert serialized.hex() == "085c120e00018ee90ff6181f3761632000001a208049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f82a200139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1388094ebdc0340f093094a0f746573742064617461206669656c64520d6c6f63616c2d746573746e657458026240e574d78b19e1481a6b9575c162e66f2f906a3178aec537509356385c4f1a5330a9b73a87a456fc6d7041e93b5f8a1231a92fb390174872a104a0929215600c0c6802722032a3f14cf53c4d0543954f6cf1bda0369d13e661dec095107627dc0f6d33612f7a4000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000" - - tx_hash = self.transaction_computer.compute_transaction_hash(transaction) - assert tx_hash.hex() == "242022e9dcfa0ee1d8199b0043314dbda8601619f70069ebc441b9f03349a35c"
- - -
-[docs] - def test_tx_computer_has_options_set(self): - tx = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=50000, - chain_id="D", - options=3 - ) - - assert self.transaction_computer.has_options_set_for_guarded_transaction(tx) - assert self.transaction_computer.has_options_set_for_hash_signing(tx)
- - -
-[docs] - def test_tx_computer_apply_guardian(self): - tx = Transaction( - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - gas_limit=200000, - chain_id="D", - version=1, - options=1 - ) - - self.transaction_computer.apply_guardian( - transaction=tx, - guardian="erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - ) - - assert tx.version == 2 - assert tx.options == 3 - assert tx.guardian == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/account_transactions_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/account_transactions_factory_test.html deleted file mode 100644 index 246afe10..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/account_transactions_factory_test.html +++ /dev/null @@ -1,181 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.account_transactions_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.account_transactions_factory_test

-from typing import Dict
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.transactions_factories.account_transactions_factory import \
-    AccountTransactionsFactory
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-
-
-
-[docs] -class TestAccountTransactionsFactory: - config = TransactionsFactoryConfig("D") - factory = AccountTransactionsFactory(config) - -
-[docs] - def test_save_key_value(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - pairs: Dict[bytes, bytes] = {} - key = bytes.fromhex("6b657930") - value = bytes.fromhex("76616c756530") - pairs[key] = value - - tx = self.factory.create_transaction_for_saving_key_value( - sender=sender, - key_value_pairs=pairs - ) - - assert tx.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.data.decode() == "SaveKeyValue@6b657930@76616c756530" - assert tx.gas_limit == 271000
- - -
-[docs] - def test_set_guardian(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - guardian = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - service_id = "MultiversXTCSService" - - tx = self.factory.create_transaction_for_setting_guardian( - sender=sender, - guardian_address=guardian, - service_id=service_id - ) - - assert tx.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.data.decode() == "SetGuardian@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8@4d756c7469766572735854435353657276696365" - assert tx.gas_limit == 525500
- - -
-[docs] - def test_guard_account(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - tx = self.factory.create_transaction_for_guarding_account(sender) - - assert tx.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.data.decode() == "GuardAccount" - assert tx.gas_limit == 368000
- - -
-[docs] - def test_unguard_account(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - tx = self.factory.create_transaction_for_unguarding_account(sender) - - assert tx.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert tx.data.decode() == "UnGuardAccount" - assert tx.gas_limit == 371000
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/delegation_transactions_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/delegation_transactions_factory_test.html deleted file mode 100644 index 049ef0fd..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/delegation_transactions_factory_test.html +++ /dev/null @@ -1,498 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.delegation_transactions_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.delegation_transactions_factory_test

-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.constants import DELEGATION_MANAGER_SC_ADDRESS
-from multiversx_sdk.core.transactions_factories.delegation_transactions_factory import \
-    DelegationTransactionsFactory
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-from multiversx_sdk.wallet import ValidatorSecretKey, ValidatorSigner
-
-
-
-[docs] -class TestDelegationTransactionsFactory: - config = TransactionsFactoryConfig("D") - factory = DelegationTransactionsFactory(config) - -
-[docs] - def test_create_transaction_for_new_delegation_contract(self): - transaction = self.factory.create_transaction_for_new_delegation_contract( - sender=Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2"), - total_delegation_cap=5000000000000000000000, - service_fee=10, - amount=1250000000000000000000 - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == DELEGATION_MANAGER_SC_ADDRESS - assert transaction.data - assert transaction.data.decode() == "createNewDelegationContract@010f0cf064dd59200000@0a" - assert transaction.gas_limit == 60126500 - assert transaction.value == 1250000000000000000000
- - -
-[docs] - def test_create_transaction_for_adding_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - validator_secret_key = ValidatorSecretKey.from_string("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd774247") - validator_signer = ValidatorSigner(validator_secret_key) - - signed_message = validator_signer.sign(bytes.fromhex(delegation_contract.to_hex())) - public_key = validator_secret_key.generate_public_key() - - public_keys = [public_key] - signed_messages = [signed_message] - - transaction = self.factory.create_transaction_for_adding_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys, - signed_messages=signed_messages - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "addNodes@e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208@81109fa1c8d3dc7b6c2d6e65206cc0bc1a83c9b2d1eb91a601d66ad32def430827d5eb52917bd2b0d04ce195738db216" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_removing_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - public_keys = ["notavalidblskeyhexencoded".encode()] - - transaction = self.factory.create_transaction_for_removing_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "removeNodes@6e6f746176616c6964626c736b6579686578656e636f646564" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_staking_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - public_keys = ["notavalidblskeyhexencoded".encode()] - - transaction = self.factory.create_transaction_for_staking_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "stakeNodes@6e6f746176616c6964626c736b6579686578656e636f646564" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_unbonding_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - public_keys = ["notavalidblskeyhexencoded".encode()] - - transaction = self.factory.create_transaction_for_unbonding_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "unBondNodes@6e6f746176616c6964626c736b6579686578656e636f646564" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_unstaking_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - public_keys = ["notavalidblskeyhexencoded".encode()] - - transaction = self.factory.create_transaction_for_unstaking_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "unStakeNodes@6e6f746176616c6964626c736b6579686578656e636f646564" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_unjailing_nodes(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - public_keys = ["notavalidblskeyhexencoded".encode()] - - transaction = self.factory.create_transaction_for_unjailing_nodes( - sender=sender, - delegation_contract=delegation_contract, - public_keys=public_keys - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "unJailNodes@6e6f746176616c6964626c736b6579686578656e636f646564" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_changing_service_fee(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_changing_service_fee( - sender=sender, - delegation_contract=delegation_contract, - service_fee=10 - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "changeServiceFee@0a" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_modifying_delegation_cap(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_modifying_delegation_cap( - sender=sender, - delegation_contract=delegation_contract, - delegation_cap=5000000000000000000000 - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "modifyTotalDelegationCap@010f0cf064dd59200000" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_setting_automatic_activation(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_setting_automatic_activation( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "setAutomaticActivation@74727565" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_unsetting_automatic_activation(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_unsetting_automatic_activation( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "setAutomaticActivation@66616c7365" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_setting_cap_check_on_redelegate_rewards(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_setting_cap_check_on_redelegate_rewards( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "setCheckCapOnReDelegateRewards@74727565" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_unsetting_cap_check_on_redelegate_rewards(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_unsetting_cap_check_on_redelegate_rewards( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "setCheckCapOnReDelegateRewards@66616c7365" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_setting_metadata(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_setting_metadata( - sender=sender, - delegation_contract=delegation_contract, - name="name", - website="website", - identifier="identifier" - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "setMetaData@6e616d65@77656273697465@6964656e746966696572" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_delegating(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_delegating( - sender=sender, - delegation_contract=delegation_contract, - amount=1000000000000000000 - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "delegate" - assert transaction.value == 1000000000000000000 - assert transaction.gas_limit == 12000000
- - -
-[docs] - def test_create_transaction_for_claiming_rewards(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_claiming_rewards( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "claimRewards" - assert transaction.value == 0 - assert transaction.gas_limit == 6000000
- - -
-[docs] - def test_create_transaction_for_redelegating_rewards(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_redelegating_rewards( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "reDelegateRewards" - assert transaction.value == 0 - assert transaction.gas_limit == 12000000
- - -
-[docs] - def test_create_transaction_for_undelegating(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_undelegating( - sender=sender, - delegation_contract=delegation_contract, - amount=1000000000000000000 - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "unDelegate@0de0b6b3a7640000" - assert transaction.value == 0 - assert transaction.gas_limit == 12000000
- - -
-[docs] - def test_create_transaction_for_withdrawing(self): - sender = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - delegation_contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc") - - transaction = self.factory.create_transaction_for_withdrawing( - sender=sender, - delegation_contract=delegation_contract - ) - - assert transaction.sender == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqtllllls002zgc" - assert transaction.data - assert transaction.data.decode() == "withdraw" - assert transaction.value == 0 - assert transaction.gas_limit == 12000000
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/relayed_transactions_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/relayed_transactions_factory_test.html deleted file mode 100644 index 104a14c6..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/relayed_transactions_factory_test.html +++ /dev/null @@ -1,359 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.relayed_transactions_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.relayed_transactions_factory_test

-import pytest
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.errors import InvalidInnerTransactionError
-from multiversx_sdk.core.transaction import Transaction, TransactionComputer
-from multiversx_sdk.core.transactions_factories.relayed_transactions_factory import \
-    RelayedTransactionsFactory
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-from multiversx_sdk.testutils.wallets import load_wallets
-
-
-
-[docs] -class TestRelayedTransactionsFactory: - config = TransactionsFactoryConfig("T") - factory = RelayedTransactionsFactory(config) - transaction_computer = TransactionComputer() - wallets = load_wallets() - -
-[docs] - def test_create_relayed_v1_with_invalid_inner_tx(self): - alice = self.wallets["alice"] - - inner_transaction = Transaction( - sender=alice.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=10000000, - data="getContractConfig".encode(), - chain_id=self.config.chain_id - ) - - with pytest.raises(InvalidInnerTransactionError, match="The inner transaction is not signed"): - self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(self.wallets["bob"].label) - ) - - inner_transaction.gas_limit = 0 - inner_transaction.signature = b"invalidsignature" - - with pytest.raises(InvalidInnerTransactionError, match="The gas limit is not set for the inner transaction"): - self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(self.wallets["bob"].label) - )
- - -
-[docs] - def test_create_relayed_v1_transaction(self): - alice = self.wallets["alice"] - bob = self.wallets["bob"] - - inner_transaction = Transaction( - sender=bob.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=60000000, - chain_id=self.config.chain_id, - data=b"getContractConfig", - nonce=198 - ) - - inner_tx_bytes = self.transaction_computer.compute_bytes_for_signing(inner_transaction) - inner_transaction.signature = bob.secret_key.sign(inner_tx_bytes) - - relayed_transaction = self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(alice.label) - ) - relayed_transaction.nonce = 2627 - - relayed_tx_bytes = self.transaction_computer.compute_bytes_for_signing(relayed_transaction) - relayed_transaction.signature = alice.secret_key.sign(relayed_tx_bytes) - - assert relayed_transaction.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414141415141414141414141414141414141414141414141414141414141432f2f383d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225a3256305132397564484a68593352446232356d6157633d222c227369676e6174757265223a2272525455544858677a4273496e4f6e454b6b7869642b354e66524d486e33534948314673746f577352434c434b3258514c41614f4e704449346531476173624c5150616130566f364144516d4f2b52446b6f364a43413d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a327d" - assert relayed_transaction.signature.hex() == "128e7cdc14c2b9beee2f3ff7a7fa5d1f5ef31a654a0c92e223c90ab28265fa277d306f23a06536248cf9573e828017004fb639617fade4d68a37524aafca710d"
- - -
-[docs] - def test_create_relayed_v1_transaction_with_usernames(self): - alice = self.wallets["alice"] - carol = self.wallets["carol"] - frank = self.wallets["frank"] - - inner_transaction = Transaction( - sender=carol.label, - receiver=alice.label, - gas_limit=50000, - chain_id=self.config.chain_id, - nonce=208, - sender_username="carol", - receiver_username="alice", - value=1000000000000000000 - ) - - inner_tx_bytes = self.transaction_computer.compute_bytes_for_signing(inner_transaction) - inner_transaction.signature = carol.secret_key.sign(inner_tx_bytes) - - relayed_transaction = self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(frank.label) - ) - relayed_transaction.nonce = 715 - - relayed_tx_bytes = self.transaction_computer.compute_bytes_for_signing(relayed_transaction) - relayed_transaction.signature = frank.secret_key.sign(relayed_tx_bytes) - - assert relayed_transaction.data.decode() == "relayedTx@7b226e6f6e6365223a3230382c2273656e646572223a227371455656633553486b6c45344a717864556e59573068397a536249533141586f3534786f32634969626f3d222c227265636569766572223a2241546c484c76396f686e63616d433877673970645168386b77704742356a6949496f3349484b594e6165453d222c2276616c7565223a313030303030303030303030303030303030302c226761735072696365223a313030303030303030302c226761734c696d6974223a35303030302c2264617461223a22222c227369676e6174757265223a226a33427a6469554144325963517473576c65707663664a6f75657a48573063316b735a424a4d6339573167435450512b6870636759457858326f6f367a4b5654347464314b4b6f79783841526a346e336474576c44413d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c22736e64557365724e616d65223a22593246796232773d222c22726376557365724e616d65223a22595778705932553d227d" - assert relayed_transaction.signature.hex() == "3787d640e5a579e7977a4a1bcdd435ad11855632fa4a414a06fbf8355692d1a58d76ef0adbdd6ccd6bd3c329f36bd53c180d4873ec1a6c558e659aeb9ab92d00"
- - -
-[docs] - def test_compute_relayed_v1_with_guarded_inner_tx(self): - alice = self.wallets["alice"] - bob = self.wallets["bob"] - grace = self.wallets["grace"] - - inner_transaction = Transaction( - sender=bob.label, - receiver="erd1qqqqqqqqqqqqqpgq54tsxmej537z9leghvp69hfu4f8gg5eu396q83gnnz", - gas_limit=60000000, - chain_id=self.config.chain_id, - data=b"getContractConfig", - nonce=198, - version=2, - options=2, - guardian=grace.label - ) - - inner_tx_bytes = self.transaction_computer.compute_bytes_for_signing(inner_transaction) - inner_transaction.signature = bob.secret_key.sign(inner_tx_bytes) - inner_transaction.guardian_signature = grace.secret_key.sign(inner_tx_bytes) - - relayed_transaction = self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(alice.label) - ) - relayed_transaction.nonce = 2627 - - relayed_tx_bytes = self.transaction_computer.compute_bytes_for_signing(relayed_transaction) - relayed_transaction.signature = alice.secret_key.sign(relayed_tx_bytes) - - assert relayed_transaction.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414146414b565841323879704877692f79693741364c64504b704f68464d386958513d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225a3256305132397564484a68593352446232356d6157633d222c227369676e6174757265223a224b4b78324f33383655725135416b4f465258307578327933446a384853334b373038487174344668377161557669424550716c45614e746e6158706a6f2f333651476d4a456934784435457a6c6f4f677a634d4442773d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c226f7074696f6e73223a322c22677561726469616e223a22486f714c61306e655733766843716f56696c70715372744c5673774939535337586d7a563868477450684d3d222c22677561726469616e5369676e6174757265223a222b5431526f4833625a792f54423177342b6a365155477258645637457577553073753948646551626453515269463953757a686d634b705463526d58595252366c534c6652394931624d7134674730436538363741513d3d227d" - assert relayed_transaction.signature.hex() == "39cff9d5100e290fbc7361cb6e2402261caf864257b4116f150e0c61e7869155dff8361fa5449431eb7a8ed847c01ba9b3b5ebafe5fac1a3d40c64829d827e00"
- - -
-[docs] - def test_guarded_relayed_v1_with_guarded_inner_tx(self): - alice = self.wallets["alice"] - bob = self.wallets["bob"] - grace = self.wallets["grace"] - frank = self.wallets["frank"] - - inner_transaction = Transaction( - sender=bob.label, - receiver="erd1qqqqqqqqqqqqqpgq54tsxmej537z9leghvp69hfu4f8gg5eu396q83gnnz", - gas_limit=60000000, - chain_id=self.config.chain_id, - data=b"addNumber", - nonce=198, - version=2, - options=2, - guardian=grace.label - ) - - inner_tx_bytes = self.transaction_computer.compute_bytes_for_signing(inner_transaction) - inner_transaction.signature = bob.secret_key.sign(inner_tx_bytes) - inner_transaction.guardian_signature = grace.secret_key.sign(inner_tx_bytes) - - relayed_transaction = self.factory.create_relayed_v1_transaction( - inner_transaction=inner_transaction, - relayer_address=Address.from_bech32(alice.label) - ) - relayed_transaction.options = 2 - relayed_transaction.nonce = 2627 - relayed_transaction.guardian = frank.label - - relayed_tx_bytes = self.transaction_computer.compute_bytes_for_signing(relayed_transaction) - relayed_transaction.signature = alice.secret_key.sign(relayed_tx_bytes) - relayed_transaction.guardian_signature = frank.secret_key.sign(relayed_tx_bytes) - - assert relayed_transaction.data.decode() == "relayedTx@7b226e6f6e6365223a3139382c2273656e646572223a2267456e574f65576d6d413063306a6b71764d354241707a61644b46574e534f69417643575163776d4750673d222c227265636569766572223a22414141414141414141414146414b565841323879704877692f79693741364c64504b704f68464d386958513d222c2276616c7565223a302c226761735072696365223a313030303030303030302c226761734c696d6974223a36303030303030302c2264617461223a225957526b546e5674596d5679222c227369676e6174757265223a223469724d4b4a656d724d375174344e7635487633544c44683775654779487045564c4371674a3677652f7a662b746a4933354975573452633458543451533433475333356158386c6a533834324a38426854645043673d3d222c22636861696e4944223a2256413d3d222c2276657273696f6e223a322c226f7074696f6e73223a322c22677561726469616e223a22486f714c61306e655733766843716f56696c70715372744c5673774939535337586d7a563868477450684d3d222c22677561726469616e5369676e6174757265223a2270424754394e674a78307539624c56796b654d78786a454865374269696c37764932324a46676f32787a6e2f496e3032463769546563356b44395045324f747065386c475335412b532f4a36417762576834446744673d3d227d" - assert relayed_transaction.signature.hex() == "8ede1bbeed96b102344dffeac12c2592c62b7313cdeb132e8c8bf11d2b1d3bb8189d257a6dbcc99e222393d9b9ec77656c349dae97a32e68bdebd636066bf706"
- - -
-[docs] - def test_create_relayed_v2_with_invalid_inner_tx(self): - alice = self.wallets["alice"] - bob = self.wallets["bob"] - carol = self.wallets["carol"] - - inner_transaction = Transaction( - sender=alice.label, - receiver=bob.label, - gas_limit=50000, - chain_id=self.config.chain_id - ) - - with pytest.raises(InvalidInnerTransactionError, match="The gas limit should not be set for the inner transaction"): - self.factory.create_relayed_v2_transaction( - inner_transaction=inner_transaction, - inner_transaction_gas_limit=50000, - relayer_address=Address.from_bech32(carol.label) - ) - - inner_transaction.gas_limit = 0 - with pytest.raises(InvalidInnerTransactionError, match="The inner transaction is not signed"): - self.factory.create_relayed_v2_transaction( - inner_transaction=inner_transaction, - inner_transaction_gas_limit=50000, - relayer_address=Address.from_bech32(carol.label) - )
- - -
-[docs] - def test_compute_relayed_v2_transaction(self): - alice = self.wallets["alice"] - bob = self.wallets["bob"] - - inner_transaction = Transaction( - sender=bob.label, - receiver="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - gas_limit=0, - chain_id=self.config.chain_id, - data=b"getContractConfig", - nonce=15, - version=2, - options=0 - ) - - serialized_inner_transaction = self.transaction_computer.compute_bytes_for_signing(inner_transaction) - inner_transaction.signature = bob.secret_key.sign(serialized_inner_transaction) - - relayed_transaction = self.factory.create_relayed_v2_transaction( - inner_transaction=inner_transaction, - inner_transaction_gas_limit=60_000_000, - relayer_address=Address.from_bech32(alice.label) - ) - relayed_transaction.nonce = 37 - - serialized_relayed_transaction = self.transaction_computer.compute_bytes_for_signing(relayed_transaction) - relayed_transaction.signature = alice.secret_key.sign(serialized_relayed_transaction) - - assert relayed_transaction.version == 2 - assert relayed_transaction.options == 0 - assert relayed_transaction.gas_limit == 60414500 - assert relayed_transaction.data.decode() == "relayedTxV2@000000000000000000010000000000000000000000000000000000000002ffff@0f@676574436f6e7472616374436f6e666967@fc3ed87a51ee659f937c1a1ed11c1ae677e99629fae9cc289461f033e6514d1a8cfad1144ae9c1b70f28554d196bd6ba1604240c1c1dc19c959e96c1c3b62d0c"
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/smart_contract_transaction_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/smart_contract_transaction_factory_test.html deleted file mode 100644 index 705cfa5c..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/smart_contract_transaction_factory_test.html +++ /dev/null @@ -1,375 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.smart_contract_transaction_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.smart_contract_transaction_factory_test

-from pathlib import Path
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.constants import CONTRACT_DEPLOY_ADDRESS
-from multiversx_sdk.core.tokens import Token, TokenComputer, TokenTransfer
-from multiversx_sdk.core.transactions_factories.smart_contract_transactions_factory import \
-    SmartContractTransactionsFactory
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-
-
-
-[docs] -class TestSmartContractTransactionsFactory: - config = TransactionsFactoryConfig("D") - factory = SmartContractTransactionsFactory(config, TokenComputer()) - testdata = Path(__file__).parent.parent.parent / "testutils" / "testdata" - -
-[docs] - def test_create_transaction_for_deploy(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = self.testdata / "adder.wasm" - gas_limit = 6000000 - args = [0] - - transaction = self.factory.create_transaction_for_deploy( - sender=sender, - bytecode=contract, - gas_limit=gas_limit, - arguments=args - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == CONTRACT_DEPLOY_ADDRESS - assert transaction.data - assert transaction.gas_limit == gas_limit - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_execute_no_transfer(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - function = "add" - gas_limit = 6000000 - args = [7] - - intent = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args - ) - - assert intent.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert intent.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert intent.gas_limit == gas_limit - assert intent.data - assert intent.data.decode() == "add@07" - assert intent.value == 0
- - -
-[docs] - def test_create_transaction_for_execute_and_tranfer_native_token(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - function = "add" - gas_limit = 6000000 - args = [7] - egld_amount = 1000000000000000000 - - transaction = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args, - native_transfer_amount=egld_amount - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert transaction.gas_limit == gas_limit - assert transaction.data - assert transaction.data.decode() == "add@07" - assert transaction.value == 1000000000000000000
- - -
-[docs] - def test_create_transaction_for_execute_and_send_single_esdt(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - function = "dummy" - gas_limit = 6000000 - args = [7] - token = Token("FOO-6ce17b", 0) - transfer = TokenTransfer(token, 10) - - transaction = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args, - token_transfers=[transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert transaction.gas_limit == gas_limit - assert transaction.data - assert transaction.data.decode() == "ESDTTransfer@464f4f2d366365313762@0a@64756d6d79@07" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_execute_and_send_multiple_esdts(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqak8zt22wl2ph4tswtyc39namqx6ysa2sd8ss4xmlj3") - function = "dummy" - gas_limit = 6000000 - args = [7] - - foo_token = Token("FOO-6ce17b", 0) - foo_transfer = TokenTransfer(foo_token, 10) - - bar_token = Token("BAR-5bc08f", 0) - bar_transfer = TokenTransfer(bar_token, 3140) - - transaction = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args, - token_transfers=[foo_transfer, bar_transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.gas_limit == gas_limit - assert transaction.data - assert transaction.data.decode() == "MultiESDTNFTTransfer@00000000000000000500ed8e25a94efa837aae0e593112cfbb01b448755069e1@02@464f4f2d366365313762@@0a@4241522d356263303866@@0c44@64756d6d79@07" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_execute_and_send_single_nft(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - function = "dummy" - gas_limit = 6000000 - args = [7] - token = Token("NFT-123456", 1) - transfer = TokenTransfer(token, 1) - - transaction = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args, - token_transfers=[transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.gas_limit == gas_limit - assert transaction.data - assert transaction.data.decode() == "ESDTNFTTransfer@4e46542d313233343536@01@01@00000000000000000500b9353fe8407f87310c87e12fa1ac807f0485da39d152@64756d6d79@07" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_execute_and_send_multiple_nfts(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - function = "dummy" - gas_limit = 6000000 - args = [7] - - first_token = Token("NFT-123456", 1) - first_transfer = TokenTransfer(first_token, 1) - second_token = Token("NFT-123456", 42) - second_transfer = TokenTransfer(second_token, 1) - - transaction = self.factory.create_transaction_for_execute( - sender=sender, - contract=contract, - function=function, - gas_limit=gas_limit, - arguments=args, - token_transfers=[first_transfer, second_transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.gas_limit == gas_limit - assert transaction.data - assert transaction.data.decode() == "MultiESDTNFTTransfer@00000000000000000500b9353fe8407f87310c87e12fa1ac807f0485da39d152@02@4e46542d313233343536@01@01@4e46542d313233343536@2a@01@64756d6d79@07" - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_upgrade(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract_address = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - contract = self.testdata / "adder.wasm" - gas_limit = 6000000 - args = [0] - - transaction = self.factory.create_transaction_for_upgrade( - sender=sender, - contract=contract_address, - bytecode=contract, - gas_limit=gas_limit, - arguments=args - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert transaction.data - assert transaction.data.decode().startswith("upgradeContract@") - assert transaction.gas_limit == gas_limit - assert transaction.value == 0
- - -
-[docs] - def test_create_transaction_for_claiming_developer_rewards(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract_address = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - - transaction = self.factory.create_transaction_for_claiming_developer_rewards( - sender=sender, - contract=contract_address - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert transaction.data.decode() == "ClaimDeveloperRewards" - assert transaction.gas_limit == 6_000_000
- - -
-[docs] - def test_create_transaction_for_changing_owner_address(self): - sender = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - contract_address = Address.new_from_bech32("erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4") - new_owner = Address.from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - transaction = self.factory.create_transaction_for_changing_owner_address( - sender=sender, - contract=contract_address, - new_owner=new_owner - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qqqqqqqqqqqqqpgqhy6nl6zq07rnzry8uyh6rtyq0uzgtk3e69fqgtz9l4" - assert transaction.data.decode() == "ChangeOwnerAddress@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8" - assert transaction.gas_limit == 6_000_000
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/token_management_transactions_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/token_management_transactions_factory_test.html deleted file mode 100644 index 77542743..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/token_management_transactions_factory_test.html +++ /dev/null @@ -1,503 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.token_management_transactions_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.token_management_transactions_factory_test

-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.transactions_factories.token_management_transactions_factory import (
-    RegisterAndSetAllRolesTokenType, TokenManagementTransactionsFactory)
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-
-frank = Address.new_from_bech32("erd1kdl46yctawygtwg2k462307dmz2v55c605737dp3zkxh04sct7asqylhyv")
-grace = Address.new_from_bech32("erd1r69gk66fmedhhcg24g2c5kn2f2a5k4kvpr6jfw67dn2lyydd8cfswy6ede")
-alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")
-factory = TokenManagementTransactionsFactory(TransactionsFactoryConfig("T"))
-
-
-
-[docs] -def test_create_transaction_for_registering_and_setting_roles(): - transaction = factory.create_transaction_for_registering_and_setting_roles( - sender=frank, - token_name="TEST", - token_ticker="TEST", - token_type=RegisterAndSetAllRolesTokenType.FNG, - num_decimals=2 - ) - - assert transaction.data - assert transaction.data.decode() == "registerAndSetAllRoles@54455354@54455354@464e47@02" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 50000000000000000
- - - -
-[docs] -def test_create_transaction_for_issuing_fungible(): - transaction = factory.create_transaction_for_issuing_fungible( - sender=frank, - token_name="FRANK", - token_ticker="FRANK", - initial_supply=100, - num_decimals=0, - can_freeze=True, - can_wipe=True, - can_pause=True, - can_change_owner=True, - can_upgrade=False, - can_add_special_roles=False - ) - - assert transaction.data - assert transaction.data.decode() == "issue@4652414e4b@4652414e4b@64@@63616e467265657a65@74727565@63616e57697065@74727565@63616e5061757365@74727565@63616e4368616e67654f776e6572@74727565@63616e55706772616465@66616c7365@63616e4164645370656369616c526f6c6573@66616c7365" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 50000000000000000
- - - -
-[docs] -def test_create_transaction_for_issuing_semi_fungible(): - transaction = factory.create_transaction_for_issuing_semi_fungible( - sender=frank, - token_name="FRANK", - token_ticker="FRANK", - can_freeze=True, - can_wipe=True, - can_pause=True, - can_transfer_nft_create_role=True, - can_change_owner=True, - can_upgrade=False, - can_add_special_roles=False - ) - - assert transaction.data - assert transaction.data.decode() == "issueSemiFungible@4652414e4b@4652414e4b@63616e467265657a65@74727565@63616e57697065@74727565@63616e5061757365@74727565@63616e5472616e736665724e4654437265617465526f6c65@74727565@63616e4368616e67654f776e6572@74727565@63616e55706772616465@66616c7365@63616e4164645370656369616c526f6c6573@66616c7365" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 50000000000000000
- - - -
-[docs] -def test_create_transaction_for_issuing_non_fungible(): - transaction = factory.create_transaction_for_issuing_non_fungible( - sender=frank, - token_name="FRANK", - token_ticker="FRANK", - can_freeze=True, - can_wipe=True, - can_pause=True, - can_transfer_nft_create_role=True, - can_change_owner=True, - can_upgrade=False, - can_add_special_roles=False - ) - - assert transaction.data - assert transaction.data.decode() == "issueNonFungible@4652414e4b@4652414e4b@63616e467265657a65@74727565@63616e57697065@74727565@63616e5061757365@74727565@63616e5472616e736665724e4654437265617465526f6c65@74727565@63616e4368616e67654f776e6572@74727565@63616e55706772616465@66616c7365@63616e4164645370656369616c526f6c6573@66616c7365" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 50000000000000000
- - - -
-[docs] -def test_create_transaction_for_registering_meta_esdt(): - transaction = factory.create_transaction_for_registering_meta_esdt( - sender=frank, - token_name="FRANK", - token_ticker="FRANK", - num_decimals=10, - can_freeze=True, - can_wipe=True, - can_pause=True, - can_transfer_nft_create_role=True, - can_change_owner=True, - can_upgrade=False, - can_add_special_roles=False - ) - - assert transaction.data - assert transaction.data.decode() == "registerMetaESDT@4652414e4b@4652414e4b@0a@63616e467265657a65@74727565@63616e57697065@74727565@63616e5061757365@74727565@63616e5472616e736665724e4654437265617465526f6c65@74727565@63616e4368616e67654f776e6572@74727565@63616e55706772616465@66616c7365@63616e4164645370656369616c526f6c6573@66616c7365" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 50000000000000000
- - - -
-[docs] -def test_create_transaction_for_setting_special_role_on_non_fungible_token(): - transaction = factory.create_transaction_for_setting_special_role_on_non_fungible_token( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e", - add_role_nft_create=True, - add_role_nft_burn=False, - add_role_nft_update_attributes=True, - add_role_nft_add_uri=True, - add_role_esdt_transfer_role=False - ) - - assert transaction.data - assert transaction.data.decode() == "setSpecialRole@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13@45534454526f6c654e4654437265617465@45534454526f6c654e465455706461746541747472696275746573@45534454526f6c654e4654416464555249" - assert transaction.sender == frank.to_bech32() - assert transaction.receiver == "erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u" - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_creating_nft(): - transaction = factory.create_transaction_for_creating_nft( - sender=grace, - token_identifier="FRANK-aa9e8d", - initial_quantity=1, - name="test", - royalties=1000, - hash="abba", - attributes=bytes("test", "utf-8"), - uris=["a", "b"] - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTNFTCreate@4652414e4b2d616139653864@01@74657374@03e8@61626261@74657374@61@62" - assert transaction.sender == grace.to_bech32() - assert transaction.receiver == grace.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_setting_special_role_on_fungible_token(): - transaction = factory.create_transaction_for_setting_special_role_on_fungible_token( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e", - add_role_local_mint=True, - add_role_local_burn=False, - ) - - assert transaction.data - assert transaction.data.decode() == "setSpecialRole@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13@45534454526f6c654c6f63616c4d696e74" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_setting_special_role_on_semi_fungible_token(): - transaction = factory.create_transaction_for_setting_special_role_on_semi_fungible_token( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e", - add_role_nft_create=True, - add_role_nft_burn=True, - add_role_nft_add_quantity=True, - add_role_esdt_transfer_role=True, - ) - - assert transaction.data - assert transaction.data.decode() == "setSpecialRole@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13@45534454526f6c654e4654437265617465@45534454526f6c654e46544275726e@45534454526f6c654e46544164645175616e74697479@455344545472616e73666572526f6c65" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_pausing(): - transaction = factory.create_transaction_for_pausing( - sender=frank, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "pause@4652414e4b2d313163653365" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_unpausing(): - transaction = factory.create_transaction_for_unpausing( - sender=frank, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "unPause@4652414e4b2d313163653365" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_freezing(): - transaction = factory.create_transaction_for_freezing( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "freeze@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_unfreezing(): - transaction = factory.create_transaction_for_unfreezing( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "unFreeze@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_local_minting(): - transaction = factory.create_transaction_for_local_minting( - sender=frank, - token_identifier="FRANK-11ce3e", - supply_to_mint=10 - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTLocalMint@4652414e4b2d313163653365@0a" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_local_burning(): - transaction = factory.create_transaction_for_local_burning( - sender=frank, - token_identifier="FRANK-11ce3e", - supply_to_burn=10 - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTLocalBurn@4652414e4b2d313163653365@0a" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_updating_attributes(): - transaction = factory.create_transaction_for_updating_attributes( - sender=frank, - token_identifier="FRANK-11ce3e", - token_nonce=10, - attributes=bytes("test", "utf-8"), - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTNFTUpdateAttributes@4652414e4b2d313163653365@0a@74657374" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_adding_quantity(): - transaction = factory.create_transaction_for_adding_quantity( - sender=frank, - token_identifier="FRANK-11ce3e", - token_nonce=10, - quantity_to_add=10 - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTNFTAddQuantity@4652414e4b2d313163653365@0a@0a" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_burning_quantity(): - transaction = factory.create_transaction_for_burning_quantity( - sender=frank, - token_identifier="FRANK-11ce3e", - token_nonce=10, - quantity_to_burn=10 - ) - - assert transaction.data - assert transaction.data.decode() == "ESDTNFTBurn@4652414e4b2d313163653365@0a@0a" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_setting_burn_role_globally(): - transaction = factory.create_transaction_for_setting_burn_role_globally( - sender=frank, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "setBurnRoleGlobally@4652414e4b2d313163653365" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_unsetting_burn_role_globally(): - transaction = factory.create_transaction_for_unsetting_burn_role_globally( - sender=frank, - token_identifier="FRANK-11ce3e", - ) - - assert transaction.data - assert transaction.data.decode() == "unsetBurnRoleGlobally@4652414e4b2d313163653365" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- - - -
-[docs] -def test_create_transaction_for_wiping(): - transaction = factory.create_transaction_for_wiping( - sender=frank, - user=grace, - token_identifier="FRANK-11ce3e" - ) - - assert transaction.data - assert transaction.data.decode() == "wipe@4652414e4b2d313163653365@1e8a8b6b49de5b7be10aaa158a5a6a4abb4b56cc08f524bb5e6cd5f211ad3e13" - assert transaction.sender == frank.to_bech32() - assert transaction.value == 0
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_factories/transfer_transactions_factory_test.html b/_modules/multiversx_sdk/core/transactions_factories/transfer_transactions_factory_test.html deleted file mode 100644 index 8a0b6ad3..00000000 --- a/_modules/multiversx_sdk/core/transactions_factories/transfer_transactions_factory_test.html +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_factories.transfer_transactions_factory_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_factories.transfer_transactions_factory_test

-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.tokens import Token, TokenComputer, TokenTransfer
-from multiversx_sdk.core.transactions_factories.transactions_factory_config import \
-    TransactionsFactoryConfig
-from multiversx_sdk.core.transactions_factories.transfer_transactions_factory import \
-    TransferTransactionsFactory
-
-
-
-[docs] -class TestTransferTransactionsFactory: - transfer_factory = TransferTransactionsFactory(TransactionsFactoryConfig("D"), TokenComputer()) - -
-[docs] - def test_create_transaction_for_native_token_transfer_no_data(self): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - transaction = self.transfer_factory.create_transaction_for_native_token_transfer( - sender=alice, - receiver=bob, - native_amount=1000000000000000000 - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - assert transaction.value == 1000000000000000000 - assert transaction.chain_id == "D" - assert transaction.gas_limit == 50_000 - assert transaction.data == b""
- - -
-[docs] - def test_create_transaction_for_native_token_transfer_with_data(self): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - transaction = self.transfer_factory.create_transaction_for_native_token_transfer( - sender=alice, - receiver=bob, - native_amount=1000000000000000000, - data="test data" - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - assert transaction.value == 1000000000000000000 - assert transaction.chain_id == "D" - assert transaction.gas_limit == 63_500 - assert transaction.data == b"test data"
- - -
-[docs] - def test_create_transaction_for_esdt_transfer(self): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - foo_token = Token("FOO-123456") - token_transfer = TokenTransfer(foo_token, 1000000) - - transaction = self.transfer_factory.create_transaction_for_esdt_token_transfer( - sender=alice, - receiver=bob, - token_transfers=[token_transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - assert transaction.value == 0 - assert transaction.chain_id == "D" - assert transaction.data.decode() == "ESDTTransfer@464f4f2d313233343536@0f4240" - assert transaction.gas_limit == 410_000
- - -
-[docs] - def test_create_transaction_for_nft_transfer(self): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - nft = Token("NFT-123456", 10) - token_transfer = TokenTransfer(nft, 1) - - transaction = self.transfer_factory.create_transaction_for_esdt_token_transfer( - sender=alice, - receiver=bob, - token_transfers=[token_transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.value == 0 - assert transaction.chain_id == "D" - assert transaction.data.decode() == "ESDTNFTTransfer@4e46542d313233343536@0a@01@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8" - assert transaction.gas_limit == 1_210_500
- - -
-[docs] - def test_create_transaction_for_multiple_nft_transfers(self): - alice = Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th") - bob = Address.new_from_bech32("erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx") - - first_nft = Token("NFT-123456", 10) - first_transfer = TokenTransfer(first_nft, 1) - - second_nft = Token("TEST-987654", 1) - second_transfer = TokenTransfer(second_nft, 1) - - transaction = self.transfer_factory.create_transaction_for_esdt_token_transfer( - sender=alice, - receiver=bob, - token_transfers=[first_transfer, second_transfer] - ) - - assert transaction.sender == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.receiver == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert transaction.value == 0 - assert transaction.chain_id == "D" - assert transaction.data.decode() == "MultiESDTNFTTransfer@8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8@02@4e46542d313233343536@0a@01@544553542d393837363534@01@01" - assert transaction.gas_limit == 1_466_000
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/core/transactions_outcome_parsers/token_management_transactions_outcome_parser_test.html b/_modules/multiversx_sdk/core/transactions_outcome_parsers/token_management_transactions_outcome_parser_test.html deleted file mode 100644 index 72a79984..00000000 --- a/_modules/multiversx_sdk/core/transactions_outcome_parsers/token_management_transactions_outcome_parser_test.html +++ /dev/null @@ -1,646 +0,0 @@ - - - - - - multiversx_sdk.core.transactions_outcome_parsers.token_management_transactions_outcome_parser_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.core.transactions_outcome_parsers.token_management_transactions_outcome_parser_test

-import base64
-import re
-
-import pytest
-
-from multiversx_sdk.core.errors import ParseTransactionOutcomeError
-from multiversx_sdk.core.transactions_outcome_parsers.resources import (
-    SmartContractResult, TransactionEvent, TransactionLogs, TransactionOutcome)
-from multiversx_sdk.core.transactions_outcome_parsers.token_management_transactions_outcome_parser import \
-    TokenManagementTransactionsOutcomeParser
-
-
-
-[docs] -class TestTokenManagementTransactionsOutcomeParser: - parser = TokenManagementTransactionsOutcomeParser() - -
-[docs] - def test_ensure_error(self): - event = TransactionEvent( - address="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - identifier="signalError", - topics=["Avk0jZ1kR+l9c76wQQoYcu4hvXPz+jxxTdqQeaCrbX8=", "dGlja2VyIG5hbWUgaXMgbm90IHZhbGlk"], - data="QDc1NzM2NTcyMjA2NTcyNzI2Zjcy".encode() - ) - - sc_result = SmartContractResult() - logs = TransactionLogs("", [event]) - - tx_outcome = TransactionOutcome([sc_result], logs) - - with pytest.raises(ParseTransactionOutcomeError, match=re.escape("encountered signalError: ticker name is not valid (user error)")): - self.parser.parse_issue_fungible(tx_outcome)
- - -
-[docs] - def test_parse_issue_fungible(self): - identifier = "ZZZ-9ee87d" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="issue", - topics=[ - identifier_base64, - "U0VDT05E", - "Wlpa", - "RnVuZ2libGVFU0RU", - "Ag==" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_issue_fungible(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_issue_non_fungible(self): - identifier = "NFT-f01d1e" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - first_event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="upgradeProperties", - topics=["TkZULWYwMWQxZQ==", - "", - "Y2FuVXBncmFkZQ==", - "dHJ1ZQ==", - "Y2FuQWRkU3BlY2lhbFJvbGVz", - "dHJ1ZQ==" - ] - ) - - second_event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTSetBurnRoleForAll", - topics=["TkZULWYwMWQxZQ==", - "", - "", - "RVNEVFJvbGVCdXJuRm9yQWxs" - ] - ) - - third_event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="issueNonFungible", - topics=[identifier_base64, - "TkZURVNU", - "TkZU", - "Tm9uRnVuZ2libGVFU0RU" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [first_event, second_event, third_event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_issue_non_fungible(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_issue_semi_fungible(self): - identifier = "SEMIFNG-2c6d9f" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="issueSemiFungible", - topics=[ - identifier_base64, - "U0VNSQ==", - "U0VNSUZORw==", - "U2VtaUZ1bmdpYmxlRVNEVA==" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_issue_semi_fungible(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_register_meta_esdt(self): - identifier = "METATEST-e05d11" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="registerMetaESDT", - topics=[ - identifier_base64, - "TUVURVNU", - "TUVUQVRFU1Q=", - "TWV0YUVTRFQ=" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_register_meta_esdt(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_register_and_set_all_roles(self): - identifier = "LMAO-d9f892" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - roles = ["ESDTRoleLocalMint", "ESDTRoleLocalBurn"] - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="registerAndSetAllRoles", - topics=[ - identifier_base64, - "TE1BTw==", - "TE1BTw==", - "RnVuZ2libGVFU0RU", - "Ag==" - ] - ) - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - - result_event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTSetRole", - topics=[ - "TE1BTy1kOWY4OTI=", - "", - "", - "RVNEVFJvbGVMb2NhbE1pbnQ=", - "RVNEVFJvbGVMb2NhbEJ1cm4=" - ] - ) - result_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [result_event]) - sc_result = SmartContractResult( - sender="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - receiver="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - data="RVNEVFNldFJvbGVANGM0ZDQxNGYyZDY0Mzk2NjM4MzkzMkA0NTUzNDQ1NDUyNmY2YzY1NGM2ZjYzNjE2YzRkNjk2ZTc0QDQ1NTM0NDU0NTI2ZjZjNjU0YzZmNjM2MTZjNDI3NTcyNmU=".encode(), - logs=result_log - ) - - tx_results_and_logs = TransactionOutcome([sc_result], tx_log) - outcome = self.parser.parse_register_and_set_all_roles(tx_results_and_logs) - - assert outcome.token_identifier == identifier - assert outcome.roles == roles
- - -
-[docs] - def test_parse_set_special_role(self): - identifier = "METATEST-e05d11" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - roles = ["ESDTRoleNFTCreate", "ESDTRoleNFTAddQuantity", "ESDTRoleNFTBurn"] - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTSetRole", - topics=[ - identifier_base64, - "", - "", - "RVNEVFJvbGVORlRDcmVhdGU=", - "RVNEVFJvbGVORlRBZGRRdWFudGl0eQ==", - "RVNEVFJvbGVORlRCdXJu" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_set_special_role(tx_results_and_logs) - assert outcome.user_address == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert outcome.token_identifier == identifier - assert outcome.roles == roles
- - -
-[docs] - def test_parse_nft_create(self): - identifier = "NFT-f01d1e" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 1 - initial_quantity = 1 - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTNFTCreate", - topics=[ - identifier_base64, - "AQ==", - "AQ==", - "CAESAgABIuUBCAESCE5GVEZJUlNUGiA8NdfqyxqZpKDMqlN+8MwK4Qn0H2wrQCID5jO/uwcfXCDEEyouUW1ZM3ZKQ3NVcWpNM3hxeGR3VWczemJoVFNMUWZoN0szbW5aWXhyaGNRRFl4RzJDaHR0cHM6Ly9pcGZzLmlvL2lwZnMvUW1ZM3ZKQ3NVcWpNM3hxeGR3VWczemJoVFNMUWZoN0szbW5aWXhyaGNRRFl4Rzo9dGFnczo7bWV0YWRhdGE6UW1SY1A5NGtYcjV6WmpSR3ZpN21KNnVuN0xweFVoWVZSNFI0UnBpY3h6Z1lrdA==" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_nft_create(tx_results_and_logs) - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.initial_quantity == initial_quantity
- - -
-[docs] - def test_parse_local_mint(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 0 - minted_supply = 100000 - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTLocalMint", - topics=[ - identifier_base64, - "", - "AYag" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_local_mint(tx_results_and_logs) - assert outcome.user_address == event.address - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.minted_supply == minted_supply
- - -
-[docs] - def test_parse_local_burn(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 0 - burnt_supply = 100000 - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTLocalBurn", - topics=[ - identifier_base64, - "", - "AYag" - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_local_burn(tx_results_and_logs) - assert outcome.user_address == event.address - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.burnt_supply == burnt_supply
- - -
-[docs] - def test_parse_pause(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTPause", - topics=[ - identifier_base64 - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_pause(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_unpause(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTUnPause", - topics=[ - identifier_base64 - ] - ) - empty_result = SmartContractResult() - tx_log = TransactionLogs("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", [event]) - tx_results_and_logs = TransactionOutcome([empty_result], tx_log) - - outcome = self.parser.parse_unpause(tx_results_and_logs) - assert outcome.token_identifier == identifier
- - -
-[docs] - def test_parse_freeze(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 0 - balance = 10000000 - address = "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - - event = TransactionEvent( - address="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - identifier="ESDTFreeze", - topics=[ - identifier_base64, - "", - "mJaA", - "ATlHLv9ohncamC8wg9pdQh8kwpGB5jiIIo3IHKYNaeE=" - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - sc_result = SmartContractResult( - sender="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - data="RVNEVEZyZWV6ZUA0MTQxNDEyZDMyMzk2MzM0NjMzOQ==".encode(), - logs=tx_log - ) - tx_results_and_logs = TransactionOutcome([sc_result], TransactionLogs()) - - outcome = self.parser.parse_freeze(tx_results_and_logs) - assert outcome.user_address == address - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.balance == balance
- - -
-[docs] - def test_parse_unfreeze(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 0 - balance = 10000000 - address = "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - - event = TransactionEvent( - address="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - identifier="ESDTUnFreeze", - topics=[ - identifier_base64, - "", - "mJaA", - "ATlHLv9ohncamC8wg9pdQh8kwpGB5jiIIo3IHKYNaeE=" - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - sc_result = SmartContractResult( - sender="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - data="RVNEVEZyZWV6ZUA0MTQxNDEyZDMyMzk2MzM0NjMzOQ==".encode(), - logs=tx_log - ) - tx_results_and_logs = TransactionOutcome([sc_result], TransactionLogs()) - - outcome = self.parser.parse_unfreeze(tx_results_and_logs) - assert outcome.user_address == address - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.balance == balance
- - -
-[docs] - def test_parse_wipe(self): - identifier = "AAA-29c4c9" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 0 - balance = 10000000 - address = "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - - event = TransactionEvent( - address="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - identifier="ESDTWipe", - topics=[ - identifier_base64, - "", - "mJaA", - "ATlHLv9ohncamC8wg9pdQh8kwpGB5jiIIo3IHKYNaeE=" - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - sc_result = SmartContractResult( - sender="erd1qqqqqqqqqqqqqqqpqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqzllls8a5w6u", - receiver="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - data="RVNEVEZyZWV6ZUA0MTQxNDEyZDMyMzk2MzM0NjMzOQ==".encode(), - logs=tx_log - ) - tx_results_and_logs = TransactionOutcome([sc_result], TransactionLogs()) - - outcome = self.parser.parse_wipe(tx_results_and_logs) - assert outcome.user_address == address - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.balance == balance
- - -
-[docs] - def test_parse_update_attributes(self): - identifier = "NFT-f01d1e" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 1 - attributes = "metadata:ipfsCID/test.json;tags:tag1,tag2" - attributes_base64 = base64.b64encode(attributes.encode()).decode() - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTNFTUpdateAttributes", - topics=[ - identifier_base64, - "AQ==", - "", - attributes_base64 - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - tx_result = SmartContractResult() - tx_results_and_logs = TransactionOutcome([tx_result], tx_log) - - outcome = self.parser.parse_update_attributes(tx_results_and_logs) - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.attributes.decode() == attributes
- - -
-[docs] - def test_parse_add_quantity(self): - identifier = "NFT-f01d1e" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 1 - added_quantity = 10 - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTNFTAddQuantity", - topics=[ - identifier_base64, - "AQ==", - "Cg==" - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - tx_result = SmartContractResult() - tx_results_and_logs = TransactionOutcome([tx_result], tx_log) - - outcome = self.parser.parse_add_quantity(tx_results_and_logs) - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.added_quantity == added_quantity
- - -
-[docs] - def test_parse_burn_quantity(self): - identifier = "NFT-f01d1e" - identifier_base64 = base64.b64encode(identifier.encode()).decode() - nonce = 1 - burnt_quantity = 16 - - event = TransactionEvent( - address="erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2", - identifier="ESDTNFTBurn", - topics=[ - identifier_base64, - "AQ==", - "EA==" - ] - ) - tx_log = TransactionLogs("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", [event]) - tx_result = SmartContractResult() - tx_results_and_logs = TransactionOutcome([tx_result], tx_log) - - outcome = self.parser.parse_burn_quantity(tx_results_and_logs) - assert outcome.token_identifier == identifier - assert outcome.nonce == nonce - assert outcome.burnt_quantity == burnt_quantity
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/network_providers/api_network_provider_test.html b/_modules/multiversx_sdk/network_providers/api_network_provider_test.html deleted file mode 100644 index dbf51e73..00000000 --- a/_modules/multiversx_sdk/network_providers/api_network_provider_test.html +++ /dev/null @@ -1,374 +0,0 @@ - - - - - - multiversx_sdk.network_providers.api_network_provider_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.network_providers.api_network_provider_test

-import pytest
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.transaction import Transaction
-from multiversx_sdk.network_providers.api_network_provider import \
-    ApiNetworkProvider
-from multiversx_sdk.network_providers.errors import GenericError
-from multiversx_sdk.network_providers.interface import IPagination
-from multiversx_sdk.network_providers.proxy_network_provider import \
-    ContractQuery
-
-
-
-
-
-
-
-[docs] -@pytest.mark.networkInteraction -class TestApi: - api = ApiNetworkProvider('https://devnet-api.multiversx.com') - -
-[docs] - def test_get_network_stake_statistic(self): - result = self.api.get_network_stake_statistics() - - assert result.total_validators > 0 - assert result.active_validators > 0 - assert result.total_staked > 0
- - -
-[docs] - def test_get_general_statistics(self): - result = self.api.get_network_general_statistics() - - assert result.shards == 3 - assert result.rounds_per_epoch == 2400 - assert result.refresh_rate == 6000 - assert result.epoch - assert result.rounds_passed - assert result.transactions - assert result.accounts
- - -
-[docs] - def test_get_network_gas_configs(self): - result = self.api.get_network_gas_configs() - built_in_cost = result["gasConfigs"]["builtInCost"] - meta_system_sc_cost = result["gasConfigs"]["metaSystemSCCost"] - - assert built_in_cost["ESDTTransfer"] == 200000 - assert meta_system_sc_cost["Stake"] == 5000000
- - -
-[docs] - def test_get_account(self): - address = Address.new_from_bech32('erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl') - result = self.api.get_account(address) - - assert result.address.to_bech32() == 'erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl' - assert result.username == ''
- - -
-[docs] - def test_get_generic_with_bad_address(self): - with pytest.raises(GenericError, match='a bech32 address is expected'): - url = 'accounts/erd1bad' - self.api.do_get_generic(url)
- - -
-[docs] - def test_get_fungible_token_of_account(self): - address = Address.new_from_bech32('erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl') - result = self.api.get_fungible_token_of_account(address, "TEST-ff155e") - assert result.identifier == "TEST-ff155e"
- - -
-[docs] - def test_get_nonfungible_token_of_account(self): - address = Address.new_from_bech32('erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl') - result = self.api.get_nonfungible_token_of_account(address, "NFTEST-ec88b8", 1) - - assert result.balance == 0 - assert result.nonce == 1 - assert result.collection == "NFTEST-ec88b8" - assert result.identifier == "NFTEST-ec88b8-01" - assert result.type == 'NonFungibleESDT' - assert result.royalties == 25
- - -
-[docs] - def test_get_meta_esdt(self): - adr = Address.new_from_bech32('erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl') - result = self.api.get_nonfungible_token_of_account(adr, 'METATEST-ebeb7e', 1) - - assert result.balance != 0 - assert result.nonce == 1 - assert result.identifier == 'METATEST-ebeb7e-01' - assert result.decimals == 6
- - -
-[docs] - def test_get_transaction(self): - result = self.api.get_transaction('9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c') - - assert result.hash == '9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c' - assert result.nonce == 0 - assert result.is_completed - assert result.sender.to_bech32() == 'erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2' - assert result.receiver.to_bech32() == 'erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl' - assert result.value == '5000000000000000000' - assert str(result.status) == "success"
- - -
-[docs] - def test_get_account_transactions(self): - address = Address.new_from_bech32('erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl') - pagination = Pagination(0, 2) - - result = self.api.get_account_transactions(address, pagination) - - assert len(result) == 2
- - -
-[docs] - def test_get_trasactions(self): - hashes = ["9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c", "6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb"] - result = self.api.get_bunch_of_transactions(hashes) - - assert len(result) == 2 - assert result[0].status.is_successful() - assert result[1].status.is_successful()
- - -
-[docs] - def test_get_transaction_with_events(self): - transaction = self.api.get_transaction("6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb") - assert transaction.logs - assert transaction.logs.events - assert len(transaction.logs.events) == 2 - assert len(transaction.logs.events[0].topics) == 8 - assert transaction.logs.events[0].topics[0].hex() == "544553542d666631353565" - assert transaction.logs.events[0].topics[1].hex() == "" - assert transaction.logs.events[0].topics[2].hex() == "63616e4368616e67654f776e6572"
- - -
-[docs] - def test_get_transactions_in_mempool_for_account(self): - address = Address.new_from_bech32("erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2") - result = self.api.get_transactions_in_mempool_for_account(address) - assert len(result) == 0
- - -
-[docs] - def test_get_sc_invoking_tx(self): - result = self.api.get_transaction('6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb') - - assert result.is_completed is True - assert len(result.contract_results.items) > 0 - assert result.data == 'issue@54455354546f6b656e@54455354@016345785d8a0000@06@63616e4368616e67654f776e6572@74727565@63616e55706772616465@74727565@63616e4164645370656369616c526f6c6573@74727565'
- - -
-[docs] - def test_get_transaction_status(self): - result = self.api.get_transaction_status('6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb') - assert result.status == 'success'
- - -
-[docs] - def test_query_contract(self): - query = ContractQuery(Address.new_from_bech32('erd1qqqqqqqqqqqqqpgqqy34h7he2ya6qcagqre7ur7cc65vt0mxrc8qnudkr4'), - 'getSum', 0, []) - result = self.api.query_contract(query) - assert len(result.return_data) == 1
- - -
-[docs] - def test_get_definition_of_fungible_token(self): - result = self.api.get_definition_of_fungible_token('TEST-ff155e') - - assert result.identifier == 'TEST-ff155e' - assert result.owner.to_bech32() == 'erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl' - assert result.can_upgrade - assert not result.can_freeze - assert result.decimals == 6 - assert result.supply == 100000000000
- - -
-[docs] - def test_get_definition_of_token_collection(self): - result = self.api.get_definition_of_token_collection('NFTEST-ec88b8') - - assert result.collection == 'NFTEST-ec88b8' - assert result.owner.to_bech32() == 'erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl' - assert result.type == 'NonFungibleESDT' - assert result.decimals == 0 - assert not result.can_freeze - assert not result.can_pause
- - -
-[docs] - def test_get_non_fungible_token(self): - result = self.api.get_non_fungible_token('NFTEST-ec88b8', 1) - - assert result.type == 'NonFungibleESDT' - assert result.nonce == 1 - assert result.identifier == 'NFTEST-ec88b8-01' - assert result.collection == 'NFTEST-ec88b8' - assert result.creator.to_bech32() == 'erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl' - assert result.balance == 0 - assert result.royalties == 25 - assert result.timestamp == 1699019354
- - -
-[docs] - def test_send_transaction(self): - transaction = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=50000, - chain_id="D", - value=5000000000000000000, - nonce=100, - gas_price=1000000000, - version=2, - signature=bytes.fromhex("faf50b8368cb2c20597dad671a14aa76d4c65937d6e522c64946f16ad6a250262463e444596fa7ee2af1273f6ad0329d43af48d1ae5f3b295bc8f48fdba41a05") - ) - expected_hash = ( - "fc914860c1d137ed8baa602e561381f97c7bad80d150c5bf90760d3cfd3a4cea" - ) - - assert self.api.send_transaction(transaction) == expected_hash
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/network_providers/proxy_network_provider_test.html b/_modules/multiversx_sdk/network_providers/proxy_network_provider_test.html deleted file mode 100644 index c11c2404..00000000 --- a/_modules/multiversx_sdk/network_providers/proxy_network_provider_test.html +++ /dev/null @@ -1,391 +0,0 @@ - - - - - - multiversx_sdk.network_providers.proxy_network_provider_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.network_providers.proxy_network_provider_test

-import pytest
-
-from multiversx_sdk.core.address import Address
-from multiversx_sdk.core.transaction import Transaction
-from multiversx_sdk.network_providers.proxy_network_provider import (
-    ContractQuery, ProxyNetworkProvider)
-
-
-
-[docs] -@pytest.mark.networkInteraction -class TestProxy: - proxy = ProxyNetworkProvider("https://devnet-gateway.multiversx.com") - -
-[docs] - def test_get_network_config(self): - result = self.proxy.get_network_config() - - assert result.chain_id == "D" - assert result.gas_per_data_byte == 1500 - assert result.round_duration == 6000 - assert result.rounds_per_epoch == 2400 - assert result.min_gas_limit == 50000 - assert result.min_gas_price == 1_000_000_000 - assert result.min_transaction_version == 1 - assert result.top_up_factor == 0.5 - assert result.num_shards_without_meta == 3
- - -
-[docs] - def test_get_network_status(self): - result = self.proxy.get_network_status() - - assert result.nonce > 0 - assert result.current_round > 0 - assert result.epoch_number > 0 - assert result.round_at_epoch_start > 0 - assert result.rounds_passed_in_current_epcoch > 0 - assert result.nonces_passed_in_current_epoch > 0 - assert result.highest_final_nonce > 0 - assert result.nonce_at_epoch_start > 0 - assert result.rounds_per_epoch == 2400
- - -
-[docs] - def test_get_network_gas_configs(self): - result = self.proxy.get_network_gas_configs() - built_in_cost = result["gasConfigs"]["builtInCost"] - meta_system_sc_cost = result["gasConfigs"]["metaSystemSCCost"] - - assert built_in_cost["ESDTTransfer"] == 200000 - assert meta_system_sc_cost["Stake"] == 5000000
- - -
-[docs] - def test_get_account(self): - address = Address.new_from_bech32( - "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - ) - result = self.proxy.get_account(address) - - assert result.address.to_bech32() == "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - assert result.username == ""
- - -
-[docs] - def test_get_fungible_token_of_account(self): - address = Address.new_from_bech32( - "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - ) - result = self.proxy.get_fungible_token_of_account(address, "TEST-ff155e") - - assert result.identifier == "TEST-ff155e" - assert result.balance == 99999999999980000
- - -
-[docs] - def test_get_nonfungible_token_of_account(self): - address = Address.new_from_bech32( - "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - ) - result = self.proxy.get_nonfungible_token_of_account( - address, "NFTEST-ec88b8", 1 - ) - - assert result.balance == 1 - assert result.nonce == 1 - assert result.collection == "NFTEST-ec88b8" - assert result.identifier == "NFTEST-ec88b8-01" - assert result.type == "" - assert result.royalties == 25
- - -
-[docs] - def test_get_transaction_status(self): - result = self.proxy.get_transaction_status( - "9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c" - ) - assert result.status == "success"
- - -
-[docs] - def test_query_contract(self): - query = ContractQuery( - Address.new_from_bech32( - "erd1qqqqqqqqqqqqqpgqqy34h7he2ya6qcagqre7ur7cc65vt0mxrc8qnudkr4" - ), - "getSum", - 0, - [], - ) - result = self.proxy.query_contract(query) - assert len(result.return_data) == 1
- - -
-[docs] - def test_get_definition_of_fungible_token(self): - result = self.proxy.get_definition_of_fungible_token("TEST-ff155e") - - assert result.identifier == "TEST-ff155e" - assert result.owner.to_bech32() == "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - assert result.can_upgrade - assert not result.can_freeze - assert result.decimals == 6 - assert result.supply == 100000000000
- - -
-[docs] - def test_get_definition_of_token_collection(self): - result = self.proxy.get_definition_of_token_collection("NFTEST-ec88b8") - - assert result.collection == "NFTEST-ec88b8" - assert result.owner.to_bech32() == "erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl" - assert result.type == "NonFungibleESDT" - assert result.decimals == 0 - assert not result.can_freeze - assert not result.can_pause
- - -
-[docs] - def test_get_transaction(self): - result = self.proxy.get_transaction( - "9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c" - ) - - assert result.nonce == 0 - assert result.block_nonce == 835600 - assert result.epoch == 348 - assert result.hash == "9d47c4b4669cbcaa26f5dec79902dd20e55a0aa5f4b92454a74e7dbd0183ad6c" - assert result.is_completed is None - assert result.sender.to_bech32() == "erd18s6a06ktr2v6fgxv4ffhauxvptssnaqlds45qgsrucemlwc8rawq553rt2" - assert result.contract_results.items == []
- - -
-[docs] - def test_get_transaction_with_events(self): - transaction = self.proxy.get_transaction("6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb") - assert transaction.logs - assert transaction.logs.events - assert len(transaction.logs.events) == 2 - assert len(transaction.logs.events[0].topics) == 8 - assert transaction.logs.events[0].topics[0].hex() == "544553542d666631353565" - assert transaction.logs.events[0].topics[1].hex() == "" - assert transaction.logs.events[0].topics[2].hex() == "63616e4368616e67654f776e6572"
- - -
-[docs] - def test_get_sc_invoking_tx(self): - result = self.proxy.get_transaction( - "6fe05e4ca01d42c96ae5182978a77fe49f26bcc14aac95ad4f19618173f86ddb", True - ) - - assert result.is_completed is True - assert len(result.contract_results.items) > 0 - assert result.data == "issue@54455354546f6b656e@54455354@016345785d8a0000@06@63616e4368616e67654f776e6572@74727565@63616e55706772616465@74727565@63616e4164645370656369616c526f6c6573@74727565" - assert sum([r.is_refund for r in result.contract_results.items]) == 1
- - -
-[docs] - def test_get_hyperblock(self): - result_by_nonce = self.proxy.get_hyperblock(835683) - result_by_hash = self.proxy.get_hyperblock( - "55ef33845c94111c09233d3882f17023a18f6bb86a1b7e7a5ba0c5b5030e1957" - ) - - assert result_by_nonce.get("hash") == result_by_hash.get("hash") - assert result_by_nonce.get("nonce") == result_by_hash.get("nonce") - assert result_by_nonce.get("round") == result_by_hash.get("round") - assert result_by_nonce.get("epoch") == result_by_hash.get("epoch") - assert result_by_nonce.get("numTxs") == result_by_hash.get("numTxs") - assert result_by_nonce.get("timestamp") == result_by_hash.get("timestamp")
- - -
-[docs] - def test_send_transaction(self): - transaction = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=50000, - chain_id="D", - value=5000000000000000000, - nonce=100, - gas_price=1000000000, - version=2, - signature=bytes.fromhex("faf50b8368cb2c20597dad671a14aa76d4c65937d6e522c64946f16ad6a250262463e444596fa7ee2af1273f6ad0329d43af48d1ae5f3b295bc8f48fdba41a05") - ) - expected_hash = ("fc914860c1d137ed8baa602e561381f97c7bad80d150c5bf90760d3cfd3a4cea") - assert self.proxy.send_transaction(transaction) == expected_hash
- - -
-[docs] - def test_send_transaction_with_data(self): - transaction = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=70000, - chain_id="D", - nonce=105, - gas_price=1000000000, - version=2, - data=b"foo", - signature=bytes.fromhex("7a8bd08351bac6b1113545f5a896cb0b63806abd93d639bc4d16bfbc82c7b514f68ed7b36c743f4c3d2d1e1d3cb356824041d51dfe587a149f6fc9ab0dd9c408") - ) - expected_hash = ("4dc7d4e18c0cf9ca7f17677ef0ac3d1363528e892996b518bee909bb17cf7929") - assert self.proxy.send_transaction(transaction) == expected_hash
- - -
-[docs] - def test_send_transactions(self): - first_tx = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=50000, - chain_id="D", - nonce=103, - gas_price=1000000000, - version=2, - signature=bytes.fromhex("498d5abb9f8eb69cc75f24320e8929dadbfa855ffac220d5e92175a83be68e0437801af3a1411e3d839738230097a1c38da5c8c4df3f345defc5d40300675900") - ) - - second_tx = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=50000, - chain_id="D", - nonce=104, - gas_price=1000000000, - version=2, - signature=bytes.fromhex("341a2f3b738fbd20692e3bbd1cb36cb5f4ce9c0a9acc0cf4322269c0fcf34fd6bb59cd94062a9a4730e47f41b1ef3e29b69c6ab2a2a4dca9c9a7724681bc1708") - ) - - invalid_tx = Transaction( - sender="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - receiver="erd1487vz5m4zpxjyqw4flwa3xhnkzg4yrr3mkzf5sf0zgt94hjprc8qazcccl", - gas_limit=50000, - chain_id="D", - nonce=77 - ) - - transactions = [first_tx, second_tx, invalid_tx] - - expected_hashes = [ - "61b4f2561fc57bfb8b8971ed23cd64259b664bc0404ea7a0449def8ceef24b08", - "30274b60b5635f981fa89ccfe726a34ca7121caa5d34123021c77a5c64cc9163", - ] - - num_txs, hashes = self.proxy.send_transactions(transactions) - assert num_txs == 2 - assert hashes == {"0": f"{expected_hashes[0]}", "1": f"{expected_hashes[1]}"}
-
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/wallet/libraries/bls_facade_test.html b/_modules/multiversx_sdk/wallet/libraries/bls_facade_test.html deleted file mode 100644 index dde55c2d..00000000 --- a/_modules/multiversx_sdk/wallet/libraries/bls_facade_test.html +++ /dev/null @@ -1,198 +0,0 @@ - - - - - - multiversx_sdk.wallet.libraries.bls_facade_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.wallet.libraries.bls_facade_test

-from multiversx_sdk.wallet.libraries.bls_facade import BLSFacade
-
-
-
-[docs] -def test_generate_public_key(): - facade = BLSFacade() - - # With good input - public_key = facade.generate_public_key(bytes.fromhex("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd774247")) - assert public_key.hex() == "e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208" - - # With bad input - public_key = facade.generate_public_key(bytes.fromhex("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd7742")) - assert public_key.hex() == ""
- - - -
-[docs] -def test_compute_message_signature(): - facade = BLSFacade() - - # With good input - signature = facade.compute_message_signature( - message=b"hello", - private_key=bytes.fromhex("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd774247") - ) - - assert signature.hex() == "84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86" - - # With bad input (bad key) - signature = facade.compute_message_signature( - message=b"hello", - private_key=bytes.fromhex("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd7742") - ) - - assert signature.hex() == ""
- - - -
-[docs] -def test_verify_message_signature(): - facade = BLSFacade() - - # With good input - ok = facade.verify_message_signature( - public_key=bytes.fromhex("e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208"), - message=b"hello", - signature=bytes.fromhex("84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - ) - - assert ok == True - - # With altered signature - ok = facade.verify_message_signature( - public_key=bytes.fromhex("e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208"), - message=b"hello", - signature=bytes.fromhex("94fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - ) - - # With altered message - ok = facade.verify_message_signature( - public_key=bytes.fromhex("e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208"), - message=b"helloWorld", - signature=bytes.fromhex("84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - ) - - assert ok == False - - # With bad public key - ok = facade.verify_message_signature( - public_key=bytes.fromhex("badbad95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208"), - message=b"hello", - signature=bytes.fromhex("84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - ) - - assert ok == False
- - - -
-[docs] -def test_generate_sign_and_verify(): - facade = BLSFacade() - message = b"hello" - - private_key = facade.generate_private_key() - public_key = facade.generate_public_key(private_key) - signature = facade.compute_message_signature(message, private_key) - ok = facade.verify_message_signature(public_key, message, signature) - - assert ok == True
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/wallet/mnemonic_test.html b/_modules/multiversx_sdk/wallet/mnemonic_test.html deleted file mode 100644 index 919f695f..00000000 --- a/_modules/multiversx_sdk/wallet/mnemonic_test.html +++ /dev/null @@ -1,135 +0,0 @@ - - - - - - multiversx_sdk.wallet.mnemonic_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.wallet.mnemonic_test

-import pytest
-
-from multiversx_sdk.wallet.errors import ErrBadMnemonic
-from multiversx_sdk.wallet.mnemonic import Mnemonic
-
-
-
-[docs] -def test_assert_text_is_valid(): - with pytest.raises(ErrBadMnemonic): - Mnemonic.assert_text_is_valid("bad mnemonic") - Mnemonic.assert_text_is_valid("moral volcano peasant pass circle pen over picture")
- - - -
-[docs] -def test_generate(): - mnemonic = Mnemonic.generate() - words = mnemonic.get_words() - assert len(words) == 24
- - - -
-[docs] -def test_derive_keys(): - mnemonic = Mnemonic("moral volcano peasant pass circle pen over picture flat shop clap goat never lyrics gather prepare woman film husband gravity behind test tiger improve") - assert mnemonic.derive_key(0).hex() == "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9" - assert mnemonic.derive_key(1).hex() == "b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639" - assert mnemonic.derive_key(2).hex() == "e253a571ca153dc2aee845819f74bcc9773b0586edead15a94cb7235a5027436"
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/wallet/pem_entry_test.html b/_modules/multiversx_sdk/wallet/pem_entry_test.html deleted file mode 100644 index cc893151..00000000 --- a/_modules/multiversx_sdk/wallet/pem_entry_test.html +++ /dev/null @@ -1,187 +0,0 @@ - - - - - - multiversx_sdk.wallet.pem_entry_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.wallet.pem_entry_test

-
-from pathlib import Path
-
-from multiversx_sdk.wallet.constants import USER_SEED_LENGTH
-from multiversx_sdk.wallet.pem_entry import PemEntry
-
-testwallets = Path(__file__).parent.parent / "testutils" / "testwallets"
-
-
-
-[docs] -def test_from_text_all(): - text = (testwallets / "alice.pem").read_text() - entries = PemEntry.from_text_all(text) - entry = entries[0] - assert len(entries) == 1 - assert entry.label == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert entry.message[0:USER_SEED_LENGTH].hex() == "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9" - - text = (testwallets / "multipleUserKeys.pem").read_text() - entries = PemEntry.from_text_all(text) - entry = entries[0] - assert len(entries) == 3 - assert entry.label == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - assert entry.message[0:USER_SEED_LENGTH].hex() == "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9" - - entry = entries[1] - assert entry.label == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - assert entry.message[0:USER_SEED_LENGTH].hex() == "b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639" - - entry = entries[2] - assert entry.label == "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8" - assert entry.message[0:USER_SEED_LENGTH].hex() == "e253a571ca153dc2aee845819f74bcc9773b0586edead15a94cb7235a5027436"
- - - -
-[docs] -def test_from_text_all_for_validators(): - text = (testwallets / "validatorKey00.pem").read_text() - entry = PemEntry.from_text_all(text)[0] - assert entry.label == "e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208" - assert entry.message.hex() == "7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd774247" - - text = (testwallets / "multipleValidatorKeys.pem").read_text() - entries = PemEntry.from_text_all(text) - - entry = entries[0] - assert entry.label == "f8910e47cf9464777c912e6390758bb39715fffcb861b184017920e4a807b42553f2f21e7f3914b81bcf58b66a72ab16d97013ae1cff807cefc977ef8cbf116258534b9e46d19528042d16ef8374404a89b184e0a4ee18c77c49e454d04eae8d" - assert entry.message.hex() == "7c19bf3a0c57cdd1fb08e4607cebaa3647d6b9261b4693f61e96e54b218d442a" - - entry = entries[1] - assert entry.label == "1b4e60e6d100cdf234d3427494dac55fbac49856cadc86bcb13a01b9bb05a0d9143e86c186c948e7ae9e52427c9523102efe9019a2a9c06db02993f2e3e6756576ae5a3ec7c235d548bc79de1a6990e1120ae435cb48f7fc436c9f9098b92a0d" - assert entry.message.hex() == "3034b1d58628a842984da0c70da0b5a251ebb2aebf51afc5b586e2839b5e5263" - - entry = entries[2] - assert entry.label == "e5dc552b4b170cdec4405ff8f9af20313bf0e2756d06c35877b6fbcfa6b354a7b3e2d439ea87999befb09a8fa1b3f014e57ec747bf738c4199338fcd4a87b373dd62f5c8329f1f5f245956bbb06685596a2e83dc38befa63e4a2b5c4ce408506" - assert entry.message.hex() == "de7e1b385edbb0e1e8f9fc25d91bd8eed71a1da7caab732e6b47a48042d8523d" - - entry = entries[3] - assert entry.label == "12773304cb718250edd89770cedcbf675ccdb7fe2b30bd3185ca65ffa0d516879768ed03f92e41a6e5bc5340b78a9d02655e3b727c79730ead791fb68eaa02b84e1be92a816a9604a1ab9a6d3874b638487e2145239438a4bafac3889348d405" - assert entry.message.hex() == "8ebeb07d296ad2529400b40687a741a135f8357f79f39fcb2894a6f9703a5816"
- - - -
-[docs] -def test_to_text(): - text = (testwallets / "alice.pem").read_text() - assert PemEntry.from_text_all(text)[0].to_text() == text.strip() - - text = (testwallets / "validatorKey00.pem").read_text() - assert PemEntry.from_text_all(text)[0].to_text() == text.strip() - - text = (testwallets / "multipleUserKeys.pem").read_text() - entries = PemEntry.from_text_all(text) - text_actual = "\n".join([entry.to_text() for entry in entries]) - assert text_actual == text.strip() - - text = (testwallets / "multipleValidatorKeys.pem").read_text() - entries = PemEntry.from_text_all(text) - text_actual = "\n".join([entry.to_text() for entry in entries]) - assert text_actual == text.strip()
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/wallet/user_test.html b/_modules/multiversx_sdk/wallet/user_test.html deleted file mode 100644 index ea710b85..00000000 --- a/_modules/multiversx_sdk/wallet/user_test.html +++ /dev/null @@ -1,354 +0,0 @@ - - - - - - multiversx_sdk.wallet.user_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.wallet.user_test

-import json
-from pathlib import Path
-
-import pytest
-
-from multiversx_sdk.core import (Address, Message, MessageComputer,
-                                 Transaction, TransactionComputer)
-from multiversx_sdk.wallet.crypto.randomness import Randomness
-from multiversx_sdk.wallet.user_keys import UserSecretKey
-from multiversx_sdk.wallet.user_pem import UserPEM
-from multiversx_sdk.wallet.user_signer import UserSigner
-from multiversx_sdk.wallet.user_verifer import UserVerifier
-from multiversx_sdk.wallet.user_wallet import UserWallet
-
-testwallets = Path(__file__).parent.parent / "testutils" / "testwallets"
-DUMMY_MNEMONIC = "moral volcano peasant pass circle pen over picture flat shop clap goat never lyrics gather prepare woman film husband gravity behind test tiger improve"
-
-
-
-[docs] -def test_user_secret_key_create(): - buffer_hex = "413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9" - buffer = bytes.fromhex(buffer_hex) - secret_key = UserSecretKey(buffer) - secret_key_from_string = UserSecretKey.from_string(buffer_hex) - - assert secret_key.hex() == buffer_hex - assert secret_key_from_string.hex() == buffer_hex
- - - -
-[docs] -def test_user_secret_key_generate_public_key(): - assert UserSecretKey.from_string("413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9").generate_public_key().hex() == "0139472eff6886771a982f3083da5d421f24c29181e63888228dc81ca60d69e1" - assert UserSecretKey.from_string("b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639").generate_public_key().hex() == "8049d639e5a6980d1cd2392abcce41029cda74a1563523a202f09641cc2618f8" - assert UserSecretKey.from_string("e253a571ca153dc2aee845819f74bcc9773b0586edead15a94cb7235a5027436").generate_public_key().hex() == "b2a11555ce521e4944e09ab17549d85b487dcd26c84b5017a39e31a3670889ba"
- - - -
-[docs] -def test_user_signer_from_pem_file(): - pubkey = UserSigner.from_pem_file(testwallets / "alice.pem", 0).get_pubkey() - assert Address(pubkey.buffer, "erd").to_bech32() == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th" - - pubkey = UserSigner.from_pem_file(testwallets / "bob.pem", 0).get_pubkey() - assert Address(pubkey.buffer, "erd").to_bech32() == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - - pubkey = UserSigner.from_pem_file(testwallets / "carol.pem", 0).get_pubkey() - assert Address(pubkey.buffer, "erd").to_bech32() == "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8"
- - - -
-[docs] -def test_user_wallet_to_keyfile_object_using_known_test_wallets_with_their_randomness(): - alice_secret_key = UserSecretKey.from_string("413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9") - alice_wallet = UserWallet.from_secret_key(alice_secret_key, "password", Randomness( - salt=bytes.fromhex("4903bd0e7880baa04fc4f886518ac5c672cdc745a6bd13dcec2b6c12e9bffe8d"), - iv=bytes.fromhex("033182afaa1ebaafcde9ccc68a5eac31"), - id="0dc10c02-b59b-4bac-9710-6b2cfa4284ba" - )) - - bob_secret_key = UserSecretKey.from_string("b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639") - bob_wallet = UserWallet.from_secret_key(bob_secret_key, "password", Randomness( - salt=bytes.fromhex("18304455ac2dbe2a2018bda162bd03ef95b81622e99d8275c34a6d5e6932a68b"), - iv=bytes.fromhex("18378411e31f6c4e99f1435d9ab82831"), - id="85fdc8a7-7119-479d-b7fb-ab4413ed038d" - )) - - carol_secret_key = UserSecretKey.from_string("e253a571ca153dc2aee845819f74bcc9773b0586edead15a94cb7235a5027436") - carol_wallet = UserWallet.from_secret_key(carol_secret_key, "password", Randomness( - salt=bytes.fromhex("4f2f5530ce28dc0210962589b908f52714f75c8fb79ff18bdd0024c43c7a220b"), - iv=bytes.fromhex("258ed2b4dc506b4dc9d274b0449b0eb0"), - id="65894f35-d142-41d2-9335-6ad02e0ed0be" - )) - - alice_saved_path = testwallets / "alice.saved.json" - bob_saved_path = testwallets / "bob.saved.json" - carol_saved_path = testwallets / "carol.saved.json" - - alice_wallet.save(alice_saved_path, "erd") - bob_wallet.save(bob_saved_path, "erd") - carol_wallet.save(carol_saved_path, "erd") - - assert alice_saved_path.read_text().strip() == (testwallets / "alice.json").read_text().strip() - assert bob_saved_path.read_text().strip() == (testwallets / "bob.json").read_text().strip() - assert carol_saved_path.read_text().strip() == (testwallets / "carol.json").read_text().strip() - - alice_saved_path.unlink() - bob_saved_path.unlink() - carol_saved_path.unlink()
- - - -
-[docs] -def test_user_wallet_encrypt_then_decrypt(): - alice_secret_key = UserSecretKey.from_string("413f42575f7f26fad3317a778771212fdb80245850981e48b58a4f25e344e8f9") - alice_wallet = UserWallet.from_secret_key(alice_secret_key, "password") - alice_keyfile_object = alice_wallet.to_dict("erd") - decrypted_secret_key = UserWallet.decrypt_secret_key(alice_keyfile_object, "password") - assert decrypted_secret_key.buffer == alice_secret_key.buffer - - bob_secret_key = UserSecretKey.from_string("b8ca6f8203fb4b545a8e83c5384da033c415db155b53fb5b8eba7ff5a039d639") - bob_wallet = UserWallet.from_secret_key(bob_secret_key, "password") - bob_keyfile_object = bob_wallet.to_dict("erd") - decrypted_secret_key = UserWallet.decrypt_secret_key(bob_keyfile_object, "password") - assert decrypted_secret_key.buffer == bob_secret_key.buffer - - carol_secret_key = UserSecretKey.from_string("e253a571ca153dc2aee845819f74bcc9773b0586edead15a94cb7235a5027436") - carol_wallet = UserWallet.from_secret_key(carol_secret_key, "password") - carol_keyfile_object = carol_wallet.to_dict("erd") - decrypted_secret_key = UserWallet.decrypt_secret_key(carol_keyfile_object, "password") - assert decrypted_secret_key.buffer == carol_secret_key.buffer
- - - -
-[docs] -def test_sign_transaction(): - """ - Also see: https://github.com/multiversx/mx-chain-go/blob/master/examples/construction_test.go - """ - - tx = Transaction( - nonce=89, - value=0, - receiver="erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx", - sender="erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th", - data=None, - gas_price=1000000000, - gas_limit=50000, - chain_id="local-testnet", - version=1, - options=0 - ) - - signer = UserSigner.from_pem_file(testwallets / "alice.pem") - verifier = UserVerifier.from_address(Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")) - transaction_computer = TransactionComputer() - - tx.signature = signer.sign(transaction_computer.compute_bytes_for_signing(tx)) - assert tx.signature.hex() == "b56769014f2bdc5cf9fc4a05356807d71fcf8775c819b0f1b0964625b679c918ffa64862313bfef86f99b38cb84fcdb16fa33ad6eb565276616723405cd8f109" - assert verifier.verify(transaction_computer.compute_bytes_for_signing(tx), tx.signature)
- - - -
-[docs] -def test_sign_message(): - message = Message("hello".encode(), address=Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")) - message_computer = MessageComputer() - - signer = UserSigner.from_pem_file(testwallets / "alice.pem") - verifier = UserVerifier.from_address(Address.new_from_bech32("erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th")) - - message.signature = signer.sign(message_computer.compute_bytes_for_signing(message)) - assert message.signature.hex() == "561bc58f1dc6b10de208b2d2c22c9a474ea5e8cabb59c3d3ce06bbda21cc46454aa71a85d5a60442bd7784effa2e062fcb8fb421c521f898abf7f5ec165e5d0f" - assert verifier.verify(message_computer.compute_bytes_for_signing(message), message.signature)
- - - -
-[docs] -def test_user_pem_save(): - path = testwallets / "alice.pem" - path_saved = path.with_suffix(".saved") - content_expected = path.read_text().strip() - - pem = UserPEM.from_file(path) - pem.save(path_saved) - content_actual = path_saved.read_text().strip() - - assert content_actual == content_expected - path_saved.unlink()
- - - -
-[docs] -def test_load_secret_key_but_without_kind_field(): - keystore_path = testwallets / "withoutKind.json" - secret_key = UserWallet.load_secret_key(keystore_path, "password") - actual_address = (secret_key.generate_public_key().to_address("erd")).to_bech32() - assert actual_address == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th"
- - - -
-[docs] -def test_load_secret_key_with_unecessary_address_index(): - keystore_path = testwallets / "alice.json" - - with pytest.raises(Exception, match="address_index must not be provided when kind == 'secretKey'"): - UserWallet.load_secret_key(keystore_path, "password", 42)
- - - -
-[docs] -def test_create_keystore_file_with_mnemonic(): - wallet = UserWallet.from_mnemonic(DUMMY_MNEMONIC, "password") - keyfile_object = wallet.to_dict() - - assert keyfile_object["version"] == 4 - assert keyfile_object["kind"] == "mnemonic" - assert "bech32" not in keyfile_object
- - - -
-[docs] -def test_create_keystore_with_mnemonic_with_randomness(): - expected_dummy_wallet_json = (testwallets / "withDummyMnemonic.json").read_text() - expected_dummy_wallet_dict = json.loads(expected_dummy_wallet_json) - - randomness = Randomness( - id="5b448dbc-5c72-4d83-8038-938b1f8dff19", - iv=bytes.fromhex("2da5620906634972d9a623bc249d63d4"), - salt=bytes.fromhex("aa9e0ba6b188703071a582c10e5331f2756279feb0e2768f1ba0fd38ec77f035") - ) - - wallet = UserWallet.from_mnemonic(DUMMY_MNEMONIC, "password", randomness) - wallet_dict = wallet.to_dict() - - assert wallet_dict == expected_dummy_wallet_dict
- - - -
-[docs] -def test_load_secret_key_with_mnemonic(): - keystore_path = testwallets / "withDummyMnemonic.json" - - assert UserWallet.load_secret_key(keystore_path, "password", 1).generate_public_key().to_address("erd").to_bech32() == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx" - assert UserWallet.load_secret_key(keystore_path, "password", 2).generate_public_key().to_address("erd").to_bech32() == "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8" - assert UserWallet.load_secret_key(keystore_path, "password", 0).generate_public_key().to_address("erd").to_bech32() == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th"
- - - -
-[docs] -def test_decrypt_secret_key_with_keystore_mnemonic(): - user_wallet = UserWallet.from_mnemonic(DUMMY_MNEMONIC, "") - mnemonic_json = user_wallet.to_dict() - - with pytest.raises(Exception, match="Expected kind to be secretKey, but it was mnemonic"): - UserWallet.decrypt_secret_key(mnemonic_json, "")
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_modules/multiversx_sdk/wallet/validator_test.html b/_modules/multiversx_sdk/wallet/validator_test.html deleted file mode 100644 index 2a66b7dc..00000000 --- a/_modules/multiversx_sdk/wallet/validator_test.html +++ /dev/null @@ -1,164 +0,0 @@ - - - - - - multiversx_sdk.wallet.validator_test — multiversx-sdk 0.9.0 documentation - - - - - - - - - - - - - - - - - -
- - -
- -
-
-
-
    -
  • - - -
  • -
  • -
-
-
-
-
- -

Source code for multiversx_sdk.wallet.validator_test

-import os
-from pathlib import Path
-
-from multiversx_sdk.wallet.validator_keys import ValidatorSecretKey
-from multiversx_sdk.wallet.validator_pem import ValidatorPEM
-from multiversx_sdk.wallet.validator_signer import ValidatorSigner
-from multiversx_sdk.wallet.validator_verifier import ValidatorVerifier
-
-testwallets = Path(__file__).parent.parent / "testutils" / "testwallets"
-
-
-
-[docs] -def test_validator_secret_key_generate_public_key(): - assert ValidatorSecretKey.from_string("7cff99bd671502db7d15bc8abc0c9a804fb925406fbdd50f1e4c17a4cd774247").generate_public_key().hex() == "e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208"
- - - -
-[docs] -def test_sign_message(): - signer = ValidatorSigner.from_pem_file(testwallets / "validatorKey00.pem") - message = b"hello" - signature = signer.sign(message) - assert signature.hex() == "84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86"
- - - -
-[docs] -def test_verify_message(): - verifier = ValidatorVerifier.from_string("e7beaa95b3877f47348df4dd1cb578a4f7cabf7a20bfeefe5cdd263878ff132b765e04fef6f40c93512b666c47ed7719b8902f6c922c04247989b7137e837cc81a62e54712471c97a2ddab75aa9c2f58f813ed4c0fa722bde0ab718bff382208") - - message = b"hello" - signature = bytes.fromhex("84fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - - assert verifier.verify(message, signature) == True - - invalid_signature = bytes.fromhex("94fd0a3a9d4f1ea2d4b40c6da67f9b786284a1c3895b7253fec7311597cda3f757862bb0690a92a13ce612c33889fd86") - assert verifier.verify(message, invalid_signature) == False
- - - -
-[docs] -def test_pem_save(): - path = testwallets / "validatorKey00.pem" - path_saved = path.with_suffix(".saved") - - with open(path) as f: - content_expected = f.read().strip() - - pem = ValidatorPEM.from_file(path) - pem.save(path_saved) - - with open(path_saved) as f: - content_actual = f.read().strip() - - assert content_actual == content_expected - os.remove(path_saved)
- -
- -
-
- -
-
-
-
- - - - \ No newline at end of file diff --git a/_sources/index.rst.txt b/_sources/index.rst.txt index c3ad4aa3..f6751aa3 100644 --- a/_sources/index.rst.txt +++ b/_sources/index.rst.txt @@ -1,5 +1,5 @@ .. multiversx-sdk documentation master file, created by - sphinx-quickstart on Tue Apr 2 16:32:28 2024. + sphinx-quickstart on Wed Apr 3 14:19:32 2024. You can adapt this file completely to your liking, but it should at least contain the root `toctree` directive. diff --git a/_sources/multiversx_sdk.core.proto.rst.txt b/_sources/multiversx_sdk.core.proto.rst.txt index 617e2e70..6544a8a1 100644 --- a/_sources/multiversx_sdk.core.proto.rst.txt +++ b/_sources/multiversx_sdk.core.proto.rst.txt @@ -20,14 +20,6 @@ multiversx\_sdk.core.proto.transaction\_serializer module :undoc-members: :show-inheritance: -multiversx\_sdk.core.proto.transaction\_serializer\_test module ---------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.proto.transaction_serializer_test - :members: - :undoc-members: - :show-inheritance: - Module contents --------------- diff --git a/_sources/multiversx_sdk.core.rst.txt b/_sources/multiversx_sdk.core.rst.txt index 0ba1b570..6fa2f124 100644 --- a/_sources/multiversx_sdk.core.rst.txt +++ b/_sources/multiversx_sdk.core.rst.txt @@ -25,14 +25,6 @@ multiversx\_sdk.core.account module :undoc-members: :show-inheritance: -multiversx\_sdk.core.account\_test module ------------------------------------------ - -.. automodule:: multiversx_sdk.core.account_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.address module ----------------------------------- @@ -41,14 +33,6 @@ multiversx\_sdk.core.address module :undoc-members: :show-inheritance: -multiversx\_sdk.core.address\_test module ------------------------------------------ - -.. automodule:: multiversx_sdk.core.address_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.bech32 module ---------------------------------- @@ -65,14 +49,6 @@ multiversx\_sdk.core.code\_metadata module :undoc-members: :show-inheritance: -multiversx\_sdk.core.code\_metadata\_test module ------------------------------------------------- - -.. automodule:: multiversx_sdk.core.code_metadata_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.codec module --------------------------------- @@ -81,22 +57,6 @@ multiversx\_sdk.core.codec module :undoc-members: :show-inheritance: -multiversx\_sdk.core.codec\_test module ---------------------------------------- - -.. automodule:: multiversx_sdk.core.codec_test - :members: - :undoc-members: - :show-inheritance: - -multiversx\_sdk.core.constants module -------------------------------------- - -.. automodule:: multiversx_sdk.core.constants - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.contract\_query module ------------------------------------------- @@ -113,14 +73,6 @@ multiversx\_sdk.core.contract\_query\_builder module :undoc-members: :show-inheritance: -multiversx\_sdk.core.contract\_query\_builder\_test module ----------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.contract_query_builder_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.errors module ---------------------------------- @@ -145,14 +97,6 @@ multiversx\_sdk.core.message module :undoc-members: :show-inheritance: -multiversx\_sdk.core.message\_test module ------------------------------------------ - -.. automodule:: multiversx_sdk.core.message_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.serializer module -------------------------------------- @@ -169,14 +113,6 @@ multiversx\_sdk.core.smart\_contract\_queries\_controller module :undoc-members: :show-inheritance: -multiversx\_sdk.core.smart\_contract\_queries\_controller\_test module ----------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.smart_contract_queries_controller_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.smart\_contract\_query module -------------------------------------------------- @@ -193,14 +129,6 @@ multiversx\_sdk.core.token\_payment module :undoc-members: :show-inheritance: -multiversx\_sdk.core.token\_payment\_test module ------------------------------------------------- - -.. automodule:: multiversx_sdk.core.token_payment_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.tokens module ---------------------------------- @@ -209,14 +137,6 @@ multiversx\_sdk.core.tokens module :undoc-members: :show-inheritance: -multiversx\_sdk.core.tokens\_test module ----------------------------------------- - -.. automodule:: multiversx_sdk.core.tokens_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction module --------------------------------------- @@ -233,14 +153,6 @@ multiversx\_sdk.core.transaction\_payload module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_test module ---------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.typecheck module ------------------------------------- diff --git a/_sources/multiversx_sdk.core.transaction_builders.rst.txt b/_sources/multiversx_sdk.core.transaction_builders.rst.txt index c12c9962..023b1182 100644 --- a/_sources/multiversx_sdk.core.transaction_builders.rst.txt +++ b/_sources/multiversx_sdk.core.transaction_builders.rst.txt @@ -12,14 +12,6 @@ multiversx\_sdk.core.transaction\_builders.contract\_builders module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.contract\_builders\_test module --------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.contract_builders_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_builders.default\_configuration module ------------------------------------------------------------------------ @@ -28,14 +20,6 @@ multiversx\_sdk.core.transaction\_builders.default\_configuration module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.default\_configuration\_test module ------------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.default_configuration_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_builders.esdt\_builders module ---------------------------------------------------------------- @@ -44,14 +28,6 @@ multiversx\_sdk.core.transaction\_builders.esdt\_builders module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.esdt\_builders\_test module ----------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.esdt_builders_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_builders.other\_builders module ----------------------------------------------------------------- @@ -68,14 +44,6 @@ multiversx\_sdk.core.transaction\_builders.relayed\_v1\_builder module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.relayed\_v1\_builder\_test module ----------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.relayed_v1_builder_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_builders.relayed\_v2\_builder module ---------------------------------------------------------------------- @@ -84,14 +52,6 @@ multiversx\_sdk.core.transaction\_builders.relayed\_v2\_builder module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.relayed\_v2\_builder\_test module ----------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.relayed_v2_builder_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_builders.transaction\_builder module ---------------------------------------------------------------------- @@ -108,14 +68,6 @@ multiversx\_sdk.core.transaction\_builders.transfers\_builders module :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_builders.transfers\_builders\_test module ---------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transaction_builders.transfers_builders_test - :members: - :undoc-members: - :show-inheritance: - Module contents --------------- diff --git a/_sources/multiversx_sdk.core.transaction_parsers.rst.txt b/_sources/multiversx_sdk.core.transaction_parsers.rst.txt index 990e8614..7d627f5f 100644 --- a/_sources/multiversx_sdk.core.transaction_parsers.rst.txt +++ b/_sources/multiversx_sdk.core.transaction_parsers.rst.txt @@ -20,14 +20,6 @@ multiversx\_sdk.core.transaction\_parsers.token\_operations\_outcome\_parser mod :undoc-members: :show-inheritance: -multiversx\_sdk.core.transaction\_parsers.token\_operations\_outcome\_parser\_test module ------------------------------------------------------------------------------------------ - -.. automodule:: multiversx_sdk.core.transaction_parsers.token_operations_outcome_parser_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transaction\_parsers.token\_operations\_outcome\_parser\_types module ------------------------------------------------------------------------------------------ diff --git a/_sources/multiversx_sdk.core.transactions_factories.rst.txt b/_sources/multiversx_sdk.core.transactions_factories.rst.txt index 77d64aae..6d5b3ec8 100644 --- a/_sources/multiversx_sdk.core.transactions_factories.rst.txt +++ b/_sources/multiversx_sdk.core.transactions_factories.rst.txt @@ -12,14 +12,6 @@ multiversx\_sdk.core.transactions\_factories.account\_transactions\_factory modu :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_factories.account\_transactions\_factory\_test module ----------------------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transactions_factories.account_transactions_factory_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transactions\_factories.delegation\_transactions\_factory module ------------------------------------------------------------------------------------- @@ -28,14 +20,6 @@ multiversx\_sdk.core.transactions\_factories.delegation\_transactions\_factory m :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_factories.delegation\_transactions\_factory\_test module -------------------------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transactions_factories.delegation_transactions_factory_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transactions\_factories.relayed\_transactions\_factory module ---------------------------------------------------------------------------------- @@ -44,22 +28,6 @@ multiversx\_sdk.core.transactions\_factories.relayed\_transactions\_factory modu :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_factories.relayed\_transactions\_factory\_test module ----------------------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transactions_factories.relayed_transactions_factory_test - :members: - :undoc-members: - :show-inheritance: - -multiversx\_sdk.core.transactions\_factories.smart\_contract\_transaction\_factory\_test module ------------------------------------------------------------------------------------------------ - -.. automodule:: multiversx_sdk.core.transactions_factories.smart_contract_transaction_factory_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transactions\_factories.smart\_contract\_transactions\_factory module ------------------------------------------------------------------------------------------ @@ -76,14 +44,6 @@ multiversx\_sdk.core.transactions\_factories.token\_management\_transactions\_fa :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_factories.token\_management\_transactions\_factory\_test module --------------------------------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.core.transactions_factories.token_management_transactions_factory_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transactions\_factories.token\_transfers\_data\_builder module ----------------------------------------------------------------------------------- @@ -116,14 +76,6 @@ multiversx\_sdk.core.transactions\_factories.transfer\_transactions\_factory mod :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_factories.transfer\_transactions\_factory\_test module ------------------------------------------------------------------------------------------ - -.. automodule:: multiversx_sdk.core.transactions_factories.transfer_transactions_factory_test - :members: - :undoc-members: - :show-inheritance: - Module contents --------------- diff --git a/_sources/multiversx_sdk.core.transactions_outcome_parsers.rst.txt b/_sources/multiversx_sdk.core.transactions_outcome_parsers.rst.txt index fafaf713..397b957f 100644 --- a/_sources/multiversx_sdk.core.transactions_outcome_parsers.rst.txt +++ b/_sources/multiversx_sdk.core.transactions_outcome_parsers.rst.txt @@ -20,14 +20,6 @@ multiversx\_sdk.core.transactions\_outcome\_parsers.token\_management\_transacti :undoc-members: :show-inheritance: -multiversx\_sdk.core.transactions\_outcome\_parsers.token\_management\_transactions\_outcome\_parser\_test module ------------------------------------------------------------------------------------------------------------------ - -.. automodule:: multiversx_sdk.core.transactions_outcome_parsers.token_management_transactions_outcome_parser_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.core.transactions\_outcome\_parsers.token\_management\_transactions\_outcome\_parser\_types module ------------------------------------------------------------------------------------------------------------------ diff --git a/_sources/multiversx_sdk.network_providers.rst.txt b/_sources/multiversx_sdk.network_providers.rst.txt index fe282244..3ecbf285 100644 --- a/_sources/multiversx_sdk.network_providers.rst.txt +++ b/_sources/multiversx_sdk.network_providers.rst.txt @@ -20,14 +20,6 @@ multiversx\_sdk.network\_providers.api\_network\_provider module :undoc-members: :show-inheritance: -multiversx\_sdk.network\_providers.api\_network\_provider\_test module ----------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.network_providers.api_network_provider_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.network\_providers.config module ------------------------------------------------ @@ -36,14 +28,6 @@ multiversx\_sdk.network\_providers.config module :undoc-members: :show-inheritance: -multiversx\_sdk.network\_providers.constants module ---------------------------------------------------- - -.. automodule:: multiversx_sdk.network_providers.constants - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.network\_providers.contract\_query\_requests module ------------------------------------------------------------------- @@ -124,14 +108,6 @@ multiversx\_sdk.network\_providers.proxy\_network\_provider module :undoc-members: :show-inheritance: -multiversx\_sdk.network\_providers.proxy\_network\_provider\_test module ------------------------------------------------------------------------- - -.. automodule:: multiversx_sdk.network_providers.proxy_network_provider_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.network\_providers.resources module --------------------------------------------------- diff --git a/_sources/multiversx_sdk.wallet.crypto.rst.txt b/_sources/multiversx_sdk.wallet.crypto.rst.txt index 1fe091f4..2b5f54e7 100644 --- a/_sources/multiversx_sdk.wallet.crypto.rst.txt +++ b/_sources/multiversx_sdk.wallet.crypto.rst.txt @@ -4,14 +4,6 @@ multiversx\_sdk.wallet.crypto package Submodules ---------- -multiversx\_sdk.wallet.crypto.constants module ----------------------------------------------- - -.. automodule:: multiversx_sdk.wallet.crypto.constants - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.crypto.decryptor module ---------------------------------------------- diff --git a/_sources/multiversx_sdk.wallet.libraries.rst.txt b/_sources/multiversx_sdk.wallet.libraries.rst.txt index 3f092179..fcdcee72 100644 --- a/_sources/multiversx_sdk.wallet.libraries.rst.txt +++ b/_sources/multiversx_sdk.wallet.libraries.rst.txt @@ -12,14 +12,6 @@ multiversx\_sdk.wallet.libraries.bls\_facade module :undoc-members: :show-inheritance: -multiversx\_sdk.wallet.libraries.bls\_facade\_test module ---------------------------------------------------------- - -.. automodule:: multiversx_sdk.wallet.libraries.bls_facade_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.libraries.libbls module ---------------------------------------------- diff --git a/_sources/multiversx_sdk.wallet.rst.txt b/_sources/multiversx_sdk.wallet.rst.txt index 493355c7..81034b10 100644 --- a/_sources/multiversx_sdk.wallet.rst.txt +++ b/_sources/multiversx_sdk.wallet.rst.txt @@ -13,14 +13,6 @@ Subpackages Submodules ---------- -multiversx\_sdk.wallet.constants module ---------------------------------------- - -.. automodule:: multiversx_sdk.wallet.constants - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.core module ---------------------------------- @@ -53,14 +45,6 @@ multiversx\_sdk.wallet.mnemonic module :undoc-members: :show-inheritance: -multiversx\_sdk.wallet.mnemonic\_test module --------------------------------------------- - -.. automodule:: multiversx_sdk.wallet.mnemonic_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.pem\_entry module ---------------------------------------- @@ -69,14 +53,6 @@ multiversx\_sdk.wallet.pem\_entry module :undoc-members: :show-inheritance: -multiversx\_sdk.wallet.pem\_entry\_test module ----------------------------------------------- - -.. automodule:: multiversx_sdk.wallet.pem_entry_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.user\_keys module ---------------------------------------- @@ -101,14 +77,6 @@ multiversx\_sdk.wallet.user\_signer module :undoc-members: :show-inheritance: -multiversx\_sdk.wallet.user\_test module ----------------------------------------- - -.. automodule:: multiversx_sdk.wallet.user_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.user\_verifer module ------------------------------------------- @@ -149,14 +117,6 @@ multiversx\_sdk.wallet.validator\_signer module :undoc-members: :show-inheritance: -multiversx\_sdk.wallet.validator\_test module ---------------------------------------------- - -.. automodule:: multiversx_sdk.wallet.validator_test - :members: - :undoc-members: - :show-inheritance: - multiversx\_sdk.wallet.validator\_verifier module ------------------------------------------------- diff --git a/genindex.html b/genindex.html index 88d6d290..6dba8a70 100644 --- a/genindex.html +++ b/genindex.html @@ -166,6 +166,8 @@

A

  • (multiversx_sdk.core.transaction_parsers.interfaces.ITransactionEvent property)
  • + + - -