Skip to content

Commit d1f7988

Browse files
authored
Merge pull request #455 from multiversx/remove-relayed-v3
Remove relayed V3 related code and tests
2 parents 2ed0645 + d07aa7c commit d1f7988

5 files changed

Lines changed: 4 additions & 148 deletions

File tree

multiversx_sdk_cli/cli_shared.py

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -92,17 +92,10 @@ def add_tx_args(
9292
sub.add_argument("--version", type=int, default=DEFAULT_TX_VERSION, help="the transaction version (default: %(default)s)")
9393

9494
add_guardian_args(sub)
95-
add_relayed_v3_args(sub)
9695

9796
sub.add_argument("--options", type=int, default=0, help="the transaction options (default: 0)")
9897

9998

100-
def add_relayed_v3_args(sub: Any):
101-
sub.add_argument("--relayer", help="the address of the relayer")
102-
sub.add_argument("--inner-transactions", help="a json file containing the inner transactions; should only be provided when creating the relayer's transaction")
103-
sub.add_argument("--inner-transactions-outfile", type=str, help="where to save the transaction as an inner transaction (default: stdout)")
104-
105-
10699
def add_guardian_args(sub: Any):
107100
sub.add_argument("--guardian", type=str, help="the address of the guradian", default="")
108101
sub.add_argument("--guardian-service-url", type=str, help="the url of the guardian service", default="")

multiversx_sdk_cli/cli_transactions.py

Lines changed: 2 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,14 @@
11
import logging
22
from pathlib import Path
3-
from typing import Any, Dict, List
4-
5-
from multiversx_sdk import Transaction, TransactionsConverter
3+
from typing import Any, List
64

75
from multiversx_sdk_cli import cli_shared, utils
86
from multiversx_sdk_cli.cli_output import CLIOutputBuilder
97
from multiversx_sdk_cli.cosign_transaction import cosign_transaction
108
from multiversx_sdk_cli.custom_network_provider import CustomNetworkProvider
11-
from multiversx_sdk_cli.errors import BadUsage, NoWalletProvided
9+
from multiversx_sdk_cli.errors import NoWalletProvided
1210
from multiversx_sdk_cli.transactions import (compute_relayed_v1_data,
1311
do_prepare_transaction,
14-
load_inner_transactions_from_file,
1512
load_transaction_from_file)
1613

1714
logger = logging.getLogger("cli.transactions")
@@ -85,14 +82,8 @@ def create_transaction(args: Any):
8582
if args.data_file:
8683
args.data = Path(args.data_file).read_text()
8784

88-
check_relayer_transaction_with_data_field_for_relayed_v3(args)
89-
9085
tx = do_prepare_transaction(args)
9186

92-
if hasattr(args, "inner_transactions_outfile") and args.inner_transactions_outfile:
93-
save_transaction_to_inner_transactions_file(tx, args)
94-
return
95-
9687
if hasattr(args, "relay") and args.relay:
9788
logger.warning("RelayedV1 transactions are deprecated. Please use RelayedV3 instead.")
9889
args.outfile.write(compute_relayed_v1_data(tx))
@@ -101,30 +92,6 @@ def create_transaction(args: Any):
10192
cli_shared.send_or_simulate(tx, args)
10293

10394

104-
def save_transaction_to_inner_transactions_file(transaction: Transaction, args: Any):
105-
inner_txs_file = Path(args.inner_transactions_outfile).expanduser()
106-
transactions = get_inner_transactions_if_any(inner_txs_file)
107-
transactions.append(transaction)
108-
109-
tx_converter = TransactionsConverter()
110-
inner_transactions: Dict[str, Any] = {}
111-
inner_transactions["innerTransactions"] = [tx_converter.transaction_to_dictionary(tx) for tx in transactions]
112-
113-
with open(inner_txs_file, "w") as file:
114-
utils.dump_out_json(inner_transactions, file)
115-
116-
117-
def get_inner_transactions_if_any(file: Path) -> List[Transaction]:
118-
if file.is_file():
119-
return load_inner_transactions_from_file(file)
120-
return []
121-
122-
123-
def check_relayer_transaction_with_data_field_for_relayed_v3(args: Any):
124-
if hasattr(args, "inner_transactions") and args.inner_transactions and args.data:
125-
raise BadUsage("Can't set data field when creating a relayedV3 transaction")
126-
127-
12895
def send_transaction(args: Any):
12996
args = utils.as_object(args)
13097

Lines changed: 1 addition & 90 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
import json
2-
import os
32
from pathlib import Path
4-
from typing import Any, List
3+
from typing import Any
54

65
from multiversx_sdk_cli.cli import main
76

@@ -89,93 +88,5 @@ def test_create_multi_transfer_transaction(capsys: Any):
8988
assert signature == "575b029d52ff5ffbfb7bab2f04052de88a6f7d022a6ad368459b8af9acaed3717d3f95db09f460649a8f405800838bc2c432496bd03c9039ea166bd32b84660e"
9089

9190

92-
def test_create_and_save_inner_transaction():
93-
return_code = main([
94-
"tx", "new",
95-
"--pem", str(testdata_path / "alice.pem"),
96-
"--receiver", "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx",
97-
"--nonce", "77",
98-
"--gas-limit", "500000",
99-
"--relayer", "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8",
100-
"--inner-transactions-outfile", str(testdata_out / "inner_transactions.json"),
101-
"--chain", "T",
102-
])
103-
assert False if return_code else True
104-
assert Path(testdata_out / "inner_transactions.json").is_file()
105-
106-
107-
def test_create_and_append_inner_transaction():
108-
return_code = main([
109-
"tx", "new",
110-
"--pem", str(testdata_path / "alice.pem"),
111-
"--receiver", "erd1fggp5ru0jhcjrp5rjqyqrnvhr3sz3v2e0fm3ktknvlg7mcyan54qzccnan",
112-
"--nonce", "1234",
113-
"--gas-limit", "50000",
114-
"--relayer", "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8",
115-
"--inner-transactions-outfile", str(testdata_out / "inner_transactions.json"),
116-
"--chain", "T",
117-
])
118-
assert False if return_code else True
119-
120-
with open(testdata_out / "inner_transactions.json", "r") as file:
121-
json_file = json.load(file)
122-
123-
inner_txs: List[Any] = json_file["innerTransactions"]
124-
assert len(inner_txs) == 2
125-
126-
127-
def test_create_invalid_relayed_transaction():
128-
return_code = main([
129-
"tx", "new",
130-
"--pem", str(testdata_path / "testUser.pem"),
131-
"--receiver", "erd1cqqxak4wun7508e0yj9ng843r6hv4mzd0hhpjpsejkpn9wa9yq8sj7u2u5",
132-
"--nonce", "987",
133-
"--gas-limit", "5000000",
134-
"--inner-transactions", str(testdata_out / "inner_transactions.json"),
135-
"--data", "test data",
136-
"--chain", "T",
137-
])
138-
assert return_code
139-
140-
141-
def test_create_relayer_transaction(capsys: Any):
142-
return_code = main([
143-
"tx", "new",
144-
"--pem", str(testdata_path / "testUser.pem"),
145-
"--receiver", "erd1cqqxak4wun7508e0yj9ng843r6hv4mzd0hhpjpsejkpn9wa9yq8sj7u2u5",
146-
"--nonce", "987",
147-
"--gas-limit", "5000000",
148-
"--inner-transactions", str(testdata_out / "inner_transactions.json"),
149-
"--chain", "T",
150-
])
151-
# remove test file to ensure consistency when running test file locally
152-
os.remove(testdata_out / "inner_transactions.json")
153-
154-
assert False if return_code else True
155-
156-
tx = _read_stdout(capsys)
157-
tx_json = json.loads(tx)["emittedTransaction"]
158-
159-
assert tx_json["sender"] == "erd1cqqxak4wun7508e0yj9ng843r6hv4mzd0hhpjpsejkpn9wa9yq8sj7u2u5"
160-
assert tx_json["receiver"] == "erd1cqqxak4wun7508e0yj9ng843r6hv4mzd0hhpjpsejkpn9wa9yq8sj7u2u5"
161-
assert tx_json["gasLimit"] == 5000000
162-
assert tx_json["nonce"] == 987
163-
assert tx_json["chainID"] == "T"
164-
165-
# should be the two inner transactions created in the tests above
166-
inner_transactions = tx_json["innerTransactions"]
167-
assert len(inner_transactions) == 2
168-
169-
assert inner_transactions[0]["sender"] == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th"
170-
assert inner_transactions[0]["receiver"] == "erd1spyavw0956vq68xj8y4tenjpq2wd5a9p2c6j8gsz7ztyrnpxrruqzu66jx"
171-
assert inner_transactions[0]["nonce"] == 77
172-
assert inner_transactions[0]["relayer"] == "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8"
173-
174-
assert inner_transactions[1]["sender"] == "erd1qyu5wthldzr8wx5c9ucg8kjagg0jfs53s8nr3zpz3hypefsdd8ssycr6th"
175-
assert inner_transactions[1]["receiver"] == "erd1fggp5ru0jhcjrp5rjqyqrnvhr3sz3v2e0fm3ktknvlg7mcyan54qzccnan"
176-
assert inner_transactions[1]["nonce"] == 1234
177-
assert inner_transactions[1]["relayer"] == "erd1k2s324ww2g0yj38qn2ch2jwctdy8mnfxep94q9arncc6xecg3xaq6mjse8"
178-
179-
18091
def _read_stdout(capsys: Any) -> str:
18192
return capsys.readouterr().out.strip()

multiversx_sdk_cli/transactions.py

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
import json
33
import logging
44
import time
5-
from pathlib import Path
65
from typing import Any, Dict, List, Optional, Protocol, TextIO
76

87
from multiversx_sdk import (Address, Token, TokenComputer, TokenTransfer,
@@ -79,12 +78,6 @@ def do_prepare_transaction(args: Any) -> Transaction:
7978
if args.guardian:
8079
tx.guardian = args.guardian
8180

82-
if args.relayer:
83-
tx.relayer = Address.new_from_bech32(args.relayer).to_bech32()
84-
85-
if args.inner_transactions:
86-
tx.inner_transactions = load_inner_transactions_from_file(Path(args.inner_transactions).expanduser())
87-
8881
tx.signature = bytes.fromhex(account.sign_transaction(tx))
8982
tx = sign_tx_by_guardian(args, tx)
9083

@@ -227,11 +220,3 @@ def load_transaction_from_file(f: TextIO) -> Transaction:
227220

228221
tx_converter = TransactionsConverter()
229222
return tx_converter.dictionary_to_transaction(transaction_dictionary)
230-
231-
232-
def load_inner_transactions_from_file(path: Path) -> List[Transaction]:
233-
data_json = path.read_text()
234-
transactions: List[Dict[str, Any]] = json.loads(data_json).get("innerTransactions")
235-
236-
tx_converter = TransactionsConverter()
237-
return [tx_converter.dictionary_to_transaction(transaction) for transaction in transactions]

pyproject.toml

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

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

0 commit comments

Comments
 (0)