more tests
This commit is contained in:
parent
c92acfa244
commit
858d12b6a2
|
@ -13,9 +13,9 @@ from src.util.ws_message import create_payload
|
|||
|
||||
|
||||
class FullNodeRpcApi:
|
||||
def __init__(self, full_node: FullNode):
|
||||
self.service = full_node
|
||||
self.full_node = full_node
|
||||
def __init__(self, api: FullNodeAPI):
|
||||
self.service = api
|
||||
self.full_node = api.full_node
|
||||
self.service_name = "chia_full_node"
|
||||
self.cached_blockchain_state: Optional[Dict] = None
|
||||
|
||||
|
|
|
@ -195,7 +195,7 @@ class ChiaServer:
|
|||
url = f"wss://{target_node.host}:{target_node.port}/ws"
|
||||
self.log.info(f"Connecting: {url}")
|
||||
ws = await session.ws_connect(
|
||||
url, autoclose=False, autoping=True, ssl_context=ssl_context
|
||||
url, autoclose=False, autoping=True, ssl=ssl_context
|
||||
)
|
||||
if ws is not None:
|
||||
connection = WSChiaConnection(
|
||||
|
|
|
@ -55,7 +55,7 @@ class TestCCWallet:
|
|||
PeerInfo("localhost", uint16(full_node_server._port)), None
|
||||
)
|
||||
for i in range(1, 4):
|
||||
await full_node__api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node__api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -71,7 +71,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node__api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node__api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -97,7 +97,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -113,7 +113,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -137,7 +137,7 @@ class TestCCWallet:
|
|||
await wallet.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 40)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 40)
|
||||
|
@ -151,7 +151,7 @@ class TestCCWallet:
|
|||
)
|
||||
await wallet.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 55)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 55)
|
||||
|
@ -172,7 +172,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -188,7 +188,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
colour = cc_wallet.get_colour()
|
||||
assert (
|
||||
|
@ -216,7 +216,7 @@ class TestCCWallet:
|
|||
PeerInfo("localhost", uint16(full_node_server._port)), None
|
||||
)
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -232,7 +232,7 @@ class TestCCWallet:
|
|||
|
||||
ph = await wallet2.get_new_puzzlehash()
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -252,7 +252,7 @@ class TestCCWallet:
|
|||
await cc_wallet_2.generate_zero_val_coin()
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
unspent: List[WalletCoinRecord] = list(
|
||||
await cc_wallet_2.wallet_state_manager.get_spendable_coins_for_wallet(
|
||||
|
@ -283,7 +283,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -299,7 +299,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -322,7 +322,7 @@ class TestCCWallet:
|
|||
)
|
||||
await wallet.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 40)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 40)
|
||||
|
@ -339,9 +339,7 @@ class TestCCWallet:
|
|||
await wallet.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(
|
||||
FarmNewBlockProtocol(token_bytes()), None
|
||||
)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
id = cc_wallet_2.id()
|
||||
wsm = cc_wallet_2.wallet_state_manager
|
||||
|
@ -375,7 +373,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -391,7 +389,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet_0.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet_0.get_unconfirmed_balance, 100)
|
||||
|
@ -425,7 +423,7 @@ class TestCCWallet:
|
|||
await wallet_0.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet_0.get_confirmed_balance, 20)
|
||||
await time_out_assert(15, cc_wallet_0.get_unconfirmed_balance, 20)
|
||||
|
@ -449,7 +447,7 @@ class TestCCWallet:
|
|||
await wallet_2.wallet_state_manager.add_pending_transaction(tx_record_2)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet_0.get_confirmed_balance, 55)
|
||||
await time_out_assert(15, cc_wallet_0.get_unconfirmed_balance, 55)
|
||||
|
|
|
@ -68,13 +68,13 @@ async def wallets_prefarm(two_wallet_nodes):
|
|||
)
|
||||
|
||||
for i in range(0, farm_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph0), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph0))
|
||||
|
||||
for i in range(0, farm_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph1), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph1))
|
||||
|
||||
for i in range(0, buffer):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
return wallet_node_0, wallet_node_1, full_node_api
|
||||
|
||||
|
@ -91,7 +91,7 @@ class TestCCTrades:
|
|||
)
|
||||
|
||||
for i in range(1, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -109,14 +109,14 @@ class TestCCTrades:
|
|||
)
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
# send cc_wallet 2 a coin
|
||||
cc_hash = await cc_wallet_2.get_new_inner_hash()
|
||||
tx_record = await cc_wallet.generate_signed_transaction([uint64(1)], [cc_hash])
|
||||
await wallet_0.wallet_state_manager.add_pending_transaction(tx_record)
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
trade_manager_0 = wallet_node_0.wallet_state_manager.trade_manager
|
||||
trade_manager_1 = wallet_node_1.wallet_state_manager.trade_manager
|
||||
|
@ -152,7 +152,7 @@ class TestCCTrades:
|
|||
assert success is True
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_wallet_2.get_confirmed_balance, 31)
|
||||
await time_out_assert(15, cc_wallet_2.get_unconfirmed_balance, 31)
|
||||
|
@ -170,7 +170,7 @@ class TestCCTrades:
|
|||
)
|
||||
|
||||
for i in range(1, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
@ -189,7 +189,7 @@ class TestCCTrades:
|
|||
|
||||
ph = await wallet_1.get_new_puzzlehash()
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
trade_manager_0 = wallet_node_0.wallet_state_manager.trade_manager
|
||||
trade_manager_1 = wallet_node_1.wallet_state_manager.trade_manager
|
||||
|
@ -227,7 +227,7 @@ class TestCCTrades:
|
|||
assert success is True
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_wallet_2.get_confirmed_balance, 30)
|
||||
await time_out_assert(15, cc_wallet_2.get_unconfirmed_balance, 30)
|
||||
|
@ -253,7 +253,7 @@ class TestCCTrades:
|
|||
)
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_a_3.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_a_3.get_unconfirmed_balance, 100)
|
||||
|
@ -266,7 +266,7 @@ class TestCCTrades:
|
|||
red = cc_a_3.get_colour()
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
cc_b_3: CCWallet = await CCWallet.create_wallet_for_cc(
|
||||
wallet_node_b.wallet_state_manager, wallet_b, red
|
||||
|
@ -275,7 +275,7 @@ class TestCCTrades:
|
|||
assert cc_a_3.cc_info.my_genesis_checker == cc_b_3.cc_info.my_genesis_checker
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
trade_manager_0 = wallet_node_a.wallet_state_manager.trade_manager
|
||||
trade_manager_1 = wallet_node_b.wallet_state_manager.trade_manager
|
||||
|
@ -314,7 +314,7 @@ class TestCCTrades:
|
|||
|
||||
assert success is True
|
||||
for i in range(0, 10):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_b_3.get_confirmed_balance, 50)
|
||||
await time_out_assert(15, cc_b_3.get_unconfirmed_balance, 50)
|
||||
|
@ -354,7 +354,7 @@ class TestCCTrades:
|
|||
)
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, cc_a_4.get_confirmed_balance, 100)
|
||||
|
||||
|
@ -379,7 +379,7 @@ class TestCCTrades:
|
|||
success, trade_a, reason = await trade_manager_a.respond_to_offer(file_path)
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
await time_out_assert(15, cc_a_4.get_confirmed_balance, cc_balance - 50)
|
||||
await time_out_assert(15, cc_b_4.get_confirmed_balance, cc_balance_2 + 50)
|
||||
|
||||
|
@ -486,7 +486,7 @@ class TestCCTrades:
|
|||
await trade_manager_a.cancel_pending_offer_safely(trade_offer.trade_id)
|
||||
|
||||
for i in range(0, buffer_blocks):
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()), None)
|
||||
await full_node.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
|
||||
await time_out_assert(15, wallet_a.get_spendable_balance, spendable_chia)
|
||||
|
||||
|
|
|
@ -52,23 +52,25 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
spend_bundle = wallet_a.generate_signed_transaction(1000, receiver_puzzlehash, spent_block.get_coinbase())
|
||||
|
||||
assert spend_bundle is not None
|
||||
tx: full_node_protocol.RespondTransaction = full_node_protocol.RespondTransaction(spend_bundle)
|
||||
async for _ in full_node_1.respond_transaction(tx):
|
||||
outbound: OutboundMessage = _
|
||||
# Maybe transaction means that it's accepted in mempool
|
||||
assert outbound.message.function == "new_transaction"
|
||||
tx: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle)
|
||||
)
|
||||
await full_node_api_1.respond_transaction(tx)
|
||||
|
||||
sb = full_node_1.mempool_manager.get_spendbundle(spend_bundle.name())
|
||||
assert sb is spend_bundle
|
||||
|
@ -84,8 +86,7 @@ class TestBlockchainTransactions:
|
|||
new_blocks = bt.get_consecutive_blocks(test_constants, 1, blocks, 10, b"", coinbase_puzzlehash, dic_h)
|
||||
|
||||
next_block = new_blocks[11]
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(next_block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(next_block))
|
||||
|
||||
tips = full_node_1.blockchain.get_current_tips()
|
||||
assert next_block.header in tips
|
||||
|
@ -119,12 +120,15 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
|
@ -152,12 +156,15 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
|
@ -185,12 +192,15 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
|
@ -203,8 +213,7 @@ class TestBlockchainTransactions:
|
|||
blocks = bt.get_consecutive_blocks(test_constants, 10, blocks, 10, b"", coinbase_puzzlehash, dic_h)
|
||||
# Move chain to height 20, with a spend at height 11
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Reorg at block 5, same spend at block 13 and 14 that was previously at block 11
|
||||
dic_h = {13: (program, aggsig), 14: (program, aggsig)}
|
||||
|
@ -219,12 +228,15 @@ class TestBlockchainTransactions:
|
|||
)
|
||||
|
||||
for block in new_blocks[:13]:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
next_block = new_blocks[13]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is None
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[13]))]
|
||||
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[13])
|
||||
)
|
||||
|
||||
next_block = new_blocks[14]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is Err.DOUBLE_SPEND
|
||||
|
@ -241,8 +253,7 @@ class TestBlockchainTransactions:
|
|||
dic_h,
|
||||
)
|
||||
for block in new_blocks[:9]:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
next_block = new_blocks[9]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is None
|
||||
|
@ -259,8 +270,7 @@ class TestBlockchainTransactions:
|
|||
dic_h,
|
||||
)
|
||||
for block in new_blocks[:11]:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
next_block = new_blocks[11]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is None
|
||||
|
@ -277,8 +287,7 @@ class TestBlockchainTransactions:
|
|||
dic_h,
|
||||
)
|
||||
for block in new_blocks[:12]:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
next_block = new_blocks[12]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is Err.DOUBLE_SPEND
|
||||
|
@ -295,8 +304,7 @@ class TestBlockchainTransactions:
|
|||
dic_h,
|
||||
)
|
||||
for block in new_blocks[:15]:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
next_block = new_blocks[15]
|
||||
error = await full_node_1.blockchain._validate_transactions(next_block, next_block.get_fees_coin().amount)
|
||||
assert error is Err.DOUBLE_SPEND
|
||||
|
@ -310,12 +318,15 @@ class TestBlockchainTransactions:
|
|||
receiver_2_puzzlehash = WALLET_A_PUZZLE_HASHES[2]
|
||||
receiver_3_puzzlehash = WALLET_A_PUZZLE_HASHES[3]
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
|
@ -334,7 +345,10 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash,
|
||||
dic_h,
|
||||
)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
coin_2 = None
|
||||
|
@ -359,7 +373,9 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash,
|
||||
dic_h,
|
||||
)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
coin_3 = None
|
||||
|
@ -384,7 +400,10 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash,
|
||||
dic_h,
|
||||
)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
coin_4 = None
|
||||
|
@ -401,16 +420,24 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_1_puzzlehash = WALLET_A_PUZZLE_HASHES[1]
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Spends a coinbase created in reorg
|
||||
new_blocks = bt.get_consecutive_blocks(test_constants, 1, blocks[:6], 10, b"reorg cb coin", coinbase_puzzlehash)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
new_blocks = bt.get_consecutive_blocks(
|
||||
test_constants, 1, blocks[:6], 10, b"reorg cb coin", coinbase_puzzlehash
|
||||
)
|
||||
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
spent_block = new_blocks[-1]
|
||||
|
@ -435,7 +462,9 @@ class TestBlockchainTransactions:
|
|||
new_blocks[-1], new_blocks[-1].get_fees_coin().amount
|
||||
)
|
||||
assert error is None
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
coins_created = []
|
||||
|
@ -451,16 +480,24 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_1_puzzlehash = WALLET_A_PUZZLE_HASHES[1]
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes_standard_freeze
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes_standard_freeze
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Spends a coinbase created in reorg
|
||||
new_blocks = bt.get_consecutive_blocks(test_constants, 1, blocks[:6], 10, b"reorg cb coin", coinbase_puzzlehash)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
new_blocks = bt.get_consecutive_blocks(
|
||||
test_constants, 1, blocks[:6], 10, b"reorg cb coin", coinbase_puzzlehash
|
||||
)
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
spent_block = new_blocks[-1]
|
||||
|
@ -491,12 +528,15 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_1_puzzlehash = WALLET_A_PUZZLE_HASHES[1]
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
|
@ -506,8 +546,12 @@ class TestBlockchainTransactions:
|
|||
aggsig = block_spendbundle.aggregated_signature
|
||||
|
||||
dic_h = {11: (program, aggsig)}
|
||||
new_blocks = bt.get_consecutive_blocks(test_constants, 1, blocks, 10, b"", coinbase_puzzlehash, dic_h)
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(new_blocks[-1]))]
|
||||
new_blocks = bt.get_consecutive_blocks(
|
||||
test_constants, 1, blocks, 10, b"", coinbase_puzzlehash, dic_h
|
||||
)
|
||||
await full_node_api_1.respond_block(
|
||||
full_node_protocol.RespondBlock(new_blocks[-1])
|
||||
)
|
||||
|
||||
# Spends a coin in a genesis reorg, that was already spent
|
||||
dic_h = {5: (program, aggsig)}
|
||||
|
@ -521,7 +565,8 @@ class TestBlockchainTransactions:
|
|||
dic_h,
|
||||
)
|
||||
for block in new_blocks:
|
||||
[_ async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block))]
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
assert new_blocks[-1].header_hash in full_node_1.blockchain.headers
|
||||
|
||||
@pytest.mark.asyncio
|
||||
|
@ -532,12 +577,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
spent_block = blocks[1]
|
||||
|
@ -599,12 +647,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
block1 = blocks[1]
|
||||
|
@ -671,12 +722,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
block1 = blocks[1]
|
||||
|
@ -709,8 +763,7 @@ class TestBlockchainTransactions:
|
|||
)
|
||||
|
||||
for block in valid_new_blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Try to validate that block at index 12
|
||||
next_block = valid_new_blocks[12]
|
||||
|
@ -728,12 +781,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
block1 = blocks[1]
|
||||
|
@ -767,8 +823,7 @@ class TestBlockchainTransactions:
|
|||
)
|
||||
|
||||
for block in valid_new_blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Try to validate that block at index 12
|
||||
next_block = valid_new_blocks[12]
|
||||
|
@ -786,12 +841,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
block1 = blocks[1]
|
||||
|
@ -828,8 +886,7 @@ class TestBlockchainTransactions:
|
|||
)
|
||||
|
||||
for block in valid_new_blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Try to validate that block after 3 sec have passed
|
||||
next_block = valid_new_blocks[12]
|
||||
|
@ -845,23 +902,25 @@ class TestBlockchainTransactions:
|
|||
coinbase_puzzlehash = WALLET_A_PUZZLE_HASHES[0]
|
||||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
spent_block = blocks[1]
|
||||
|
||||
spend_bundle = wallet_a.generate_signed_transaction(1000, receiver_puzzlehash, spent_block.get_coinbase())
|
||||
|
||||
assert spend_bundle is not None
|
||||
tx: full_node_protocol.RespondTransaction = full_node_protocol.RespondTransaction(spend_bundle)
|
||||
async for _ in full_node_1.respond_transaction(tx):
|
||||
outbound: OutboundMessage = _
|
||||
# Maybe transaction means that it's accepted in mempool
|
||||
assert outbound.message.function == "new_transaction"
|
||||
tx: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle)
|
||||
)
|
||||
await full_node_api_1.respond_transaction(tx)
|
||||
|
||||
sb = full_node_1.mempool_manager.get_spendbundle(spend_bundle.name())
|
||||
assert sb is spend_bundle
|
||||
|
@ -922,12 +981,15 @@ class TestBlockchainTransactions:
|
|||
receiver_puzzlehash = BURN_PUZZLE_HASH
|
||||
|
||||
# Farm blocks
|
||||
blocks = bt.get_consecutive_blocks(test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash)
|
||||
full_node_1, full_node_2, server_1, server_2 = two_nodes
|
||||
blocks = bt.get_consecutive_blocks(
|
||||
test_constants, num_blocks, [], 10, b"", coinbase_puzzlehash
|
||||
)
|
||||
full_node_api_1, full_node_api_2, server_1, server_2 = two_nodes
|
||||
full_node_1 = full_node_api_1.full_node
|
||||
full_node_2 = full_node_api_2.full_node
|
||||
|
||||
for block in blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
||||
# Coinbase that gets spent
|
||||
block1 = blocks[1]
|
||||
|
@ -993,5 +1055,4 @@ class TestBlockchainTransactions:
|
|||
assert error is None
|
||||
|
||||
for block in valid_new_blocks:
|
||||
async for _ in full_node_1.respond_block(full_node_protocol.RespondBlock(block)):
|
||||
pass
|
||||
await full_node_api_1.respond_block(full_node_protocol.RespondBlock(block))
|
||||
|
|
|
@ -78,7 +78,7 @@ class TestMempool:
|
|||
tx: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle)
|
||||
)
|
||||
await full_node_api.respond_transaction(tx, None)
|
||||
await full_node_api.respond_transaction(tx)
|
||||
|
||||
sb = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle.name()
|
||||
|
@ -103,7 +103,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle)
|
||||
)
|
||||
|
||||
await full_node_api.respond_transaction(tx, None)
|
||||
await full_node_api.respond_transaction(tx)
|
||||
|
||||
sb = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle.name()
|
||||
|
@ -117,7 +117,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondBlock(blocks[i])
|
||||
)
|
||||
|
||||
await full_node_api.respond_transaction(tx, None)
|
||||
await full_node_api.respond_transaction(tx)
|
||||
|
||||
sb = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle.name()
|
||||
|
@ -142,7 +142,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_api.respond_transaction(tx1, None)
|
||||
await full_node_api.respond_transaction(tx1)
|
||||
|
||||
spend_bundle2 = generate_test_spend_bundle(
|
||||
block.get_coinbase(),
|
||||
|
@ -152,7 +152,7 @@ class TestMempool:
|
|||
tx2: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle2)
|
||||
)
|
||||
await full_node_api.respond_transaction(tx2, None)
|
||||
await full_node_api.respond_transaction(tx2)
|
||||
|
||||
sb1 = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -182,7 +182,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
|
||||
await full_node_api.respond_transaction(tx1, None)
|
||||
await full_node_api.respond_transaction(tx1)
|
||||
|
||||
spend_bundle2 = generate_test_spend_bundle(block.get_coinbase(), fee=1)
|
||||
|
||||
|
@ -191,7 +191,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle2)
|
||||
)
|
||||
|
||||
await full_node_api.respond_transaction(tx2, None)
|
||||
await full_node_api.respond_transaction(tx2)
|
||||
|
||||
sb1 = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -228,7 +228,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_api.respond_transaction(tx1, None)
|
||||
await full_node_api.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_api.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -261,7 +261,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -292,7 +292,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -324,7 +324,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -357,7 +357,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -392,7 +392,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -427,7 +427,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -465,7 +465,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
# Sleep so that 3 sec passes
|
||||
await asyncio.sleep(3)
|
||||
|
@ -473,7 +473,7 @@ class TestMempool:
|
|||
tx2: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx2, None)
|
||||
await full_node_1.respond_transaction(tx2)
|
||||
|
||||
sb1 = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -512,7 +512,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(bundle)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
mempool_bundle = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
bundle.name()
|
||||
|
@ -548,7 +548,7 @@ class TestMempool:
|
|||
tx1: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
mempool_bundle = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -585,7 +585,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
mempool_bundle = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -622,7 +622,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
mempool_bundle = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -676,7 +676,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle1)
|
||||
)
|
||||
|
||||
await full_node_1.respond_transaction(tx1, None)
|
||||
await full_node_1.respond_transaction(tx1)
|
||||
|
||||
mempool_bundle = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle1.name()
|
||||
|
@ -713,7 +713,7 @@ class TestMempool:
|
|||
full_node_protocol.RespondTransaction(spend_bundle_combined)
|
||||
)
|
||||
|
||||
await full_node_1.respond_transaction(tx, None)
|
||||
await full_node_1.respond_transaction(tx)
|
||||
|
||||
sb = full_node_1.full_node.mempool_manager.get_spendbundle(
|
||||
spend_bundle_combined.name()
|
||||
|
@ -763,7 +763,7 @@ class TestMempool:
|
|||
tx: full_node_protocol.RespondTransaction = (
|
||||
full_node_protocol.RespondTransaction(spend_bundle)
|
||||
)
|
||||
await full_node_1.respond_transaction(tx, None)
|
||||
await full_node_1.respond_transaction(tx)
|
||||
|
||||
sb = full_node_1.full_node.mempool_manager.get_spendbundle(spend_bundle.name())
|
||||
assert sb is spend_bundle
|
||||
|
|
|
@ -52,7 +52,7 @@ class TestTransactions:
|
|||
PeerInfo("localhost", uint16(full_node_server._port)), None
|
||||
)
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -94,7 +94,7 @@ class TestTransactions:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api_0.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api_0.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -134,9 +134,7 @@ class TestTransactions:
|
|||
|
||||
# Farm another block
|
||||
for i in range(1, 8):
|
||||
await full_node_api_1.farm_new_block(
|
||||
FarmNewBlockProtocol(token_bytes()), None
|
||||
)
|
||||
await full_node_api_1.farm_new_block(FarmNewBlockProtocol(token_bytes()))
|
||||
funds = sum(
|
||||
[
|
||||
calculate_base_fee(uint32(i)) + calculate_block_reward(uint32(i))
|
||||
|
@ -175,7 +173,7 @@ class TestTransactions:
|
|||
await server_0.start_client(PeerInfo("localhost", uint16(server_1._port)), None)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api_0.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api_0.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
all_blocks = await full_node_api_0.get_current_blocks(full_node_api_0.get_tip())
|
||||
|
||||
|
|
|
@ -49,9 +49,9 @@ class TestRLWallet:
|
|||
await wallet_server_2.start_client(
|
||||
PeerInfo("localhost", uint16(full_node_server._port)), None
|
||||
)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
for i in range(0, num_blocks + 1):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
fund_owners_initial_balance = await wallet.get_confirmed_balance()
|
||||
|
||||
api_user = WalletRpcApi(wallet_node_1)
|
||||
|
@ -108,7 +108,7 @@ class TestRLWallet:
|
|||
"wallet_balance"
|
||||
]["confirmed_wallet_balance"] == 0
|
||||
for i in range(0, 2 * num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
|
||||
assert await wallet.get_confirmed_balance() == fund_owners_initial_balance - 101
|
||||
|
||||
|
@ -146,7 +146,7 @@ class TestRLWallet:
|
|||
)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
await time_out_assert(15, check_balance, 95, api_user, user_wallet_id)
|
||||
await time_out_assert(15, receiving_wallet.get_spendable_balance, 3)
|
||||
val = await api_admin.add_rate_limited_funds(
|
||||
|
@ -154,7 +154,7 @@ class TestRLWallet:
|
|||
)
|
||||
assert val["status"] == "SUCCESS"
|
||||
for i in range(0, 50):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
await time_out_assert(15, check_balance, 195, api_user, user_wallet_id)
|
||||
|
||||
# test spending
|
||||
|
@ -171,7 +171,7 @@ class TestRLWallet:
|
|||
15, is_transaction_in_mempool, True, api_user, val["transaction_id"]
|
||||
)
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
await time_out_assert(15, check_balance, 90, api_user, user_wallet_id)
|
||||
await time_out_assert(15, receiving_wallet.get_spendable_balance, 108)
|
||||
|
||||
|
@ -182,7 +182,7 @@ class TestRLWallet:
|
|||
15, is_transaction_in_mempool, True, api_admin, val["transaction_id"]
|
||||
)
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
await time_out_assert(15, check_balance, 0, api_user, user_wallet_id)
|
||||
await time_out_assert(15, check_balance, 0, api_admin, user_wallet_id)
|
||||
final_balance = await wallet.get_confirmed_balance()
|
||||
|
|
|
@ -45,7 +45,7 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
rl_admin: RLWallet = await RLWallet.create_rl_admin(
|
||||
wallet_node.wallet_state_manager
|
||||
|
@ -73,10 +73,10 @@ class TestCCWallet:
|
|||
)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
|
||||
await time_out_assert(15, rl_user.get_confirmed_balance, 100)
|
||||
balance = await rl_user.rl_available_balance()
|
||||
|
@ -86,7 +86,7 @@ class TestCCWallet:
|
|||
await wallet_node_1.wallet_state_manager.main_wallet.push_transaction(tx_record)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
|
||||
balance = await rl_user.get_confirmed_balance()
|
||||
print(balance)
|
||||
|
|
|
@ -24,7 +24,7 @@ class TestRpc:
|
|||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_1.respond_unfinished_block(
|
||||
full_node_protocol.RespondUnfinishedBlock(blocks[i]), None
|
||||
full_node_protocol.RespondUnfinishedBlock(blocks[i])
|
||||
)
|
||||
await full_node_1.full_node._respond_block(
|
||||
full_node_protocol.RespondBlock(blocks[i])
|
||||
|
|
|
@ -41,7 +41,7 @@ class TestWalletRpc:
|
|||
)
|
||||
|
||||
for i in range(0, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
initial_funds = sum(
|
||||
[
|
||||
|
|
|
@ -42,7 +42,7 @@ class TestCCWalletBackup:
|
|||
PeerInfo("localhost", uint16(full_node_server._port)), None
|
||||
)
|
||||
for i in range(1, 4):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
funds = sum(
|
||||
[
|
||||
|
@ -58,7 +58,7 @@ class TestCCWalletBackup:
|
|||
)
|
||||
|
||||
for i in range(1, num_blocks):
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph), None)
|
||||
await full_node_api.farm_new_block(FarmNewBlockProtocol(ph))
|
||||
|
||||
await time_out_assert(15, cc_wallet.get_confirmed_balance, 100)
|
||||
await time_out_assert(15, cc_wallet.get_unconfirmed_balance, 100)
|
||||
|
|
Loading…
Reference in New Issue