From 33ec3f10236d060412c5f16dc1c3b6c985c17f2c Mon Sep 17 00:00:00 2001 From: Sungho Park Date: Wed, 6 Apr 2022 16:01:14 +0900 Subject: [PATCH] Update execution_engine.py remove "signers = list(map(Keypair, set(map(lambda s: s.seed, signers))))" "set" change signers order so in case of feepayer would be last, tx fail In case skip_preflight=False, tx success ratio high --- utils/execution_engine.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/utils/execution_engine.py b/utils/execution_engine.py index 2ae2049..b7380cf 100644 --- a/utils/execution_engine.py +++ b/utils/execution_engine.py @@ -4,11 +4,10 @@ from solana.rpc.types import TxOpts def execute(api_endpoint, tx, signers, max_retries=3, skip_confirmation=True, max_timeout=60, target=20, finalized=True): - client = Client(api_endpoint) - signers = list(map(Keypair, set(map(lambda s: s.seed, signers)))) + client = Client(api_endpoint) for attempt in range(max_retries): try: - result = client.send_transaction(tx, *signers, opts=TxOpts(skip_preflight=True)) + result = client.send_transaction(tx, *signers, opts=TxOpts(skip_preflight=False)) print(result) signatures = [x.signature for x in tx.signatures] if not skip_confirmation: @@ -37,4 +36,4 @@ def await_confirmation(client, signatures, max_timeout=60, target=20, finalized= return elif is_finalized: print(f"Took {elapsed} seconds to confirm transaction") - return \ No newline at end of file + return