finishes send transaction rpc api for rate limited wallet
This commit is contained in:
parent
3cea0e7d86
commit
4066cb7a73
|
@ -79,8 +79,8 @@ class WalletRpcApi:
|
|||
rl_user = self.service.wallet_state_manager.wallets[wallet_id]
|
||||
origin: Coin = request["origin"];
|
||||
success = await rl_user.set_user_info(
|
||||
request["interval"],
|
||||
request["limit"],
|
||||
uint64(request["interval"]),
|
||||
uint64(request["limit"]),
|
||||
origin.parent_coin_info.hex(),
|
||||
origin.puzzle_hash.hex(),
|
||||
origin.amount,
|
||||
|
|
|
@ -440,6 +440,7 @@ class RLWallet(AbstractWallet):
|
|||
return spends
|
||||
|
||||
async def rl_generate_signed_transaction(self, amount, to_puzzle_hash):
|
||||
self.rl_coin_record = await self.get_rl_coin_record()
|
||||
if amount > self.rl_coin_record.coin.amount:
|
||||
return None
|
||||
transaction = await self.rl_generate_unsigned_transaction(
|
||||
|
@ -629,3 +630,7 @@ class RLWallet(AbstractWallet):
|
|||
amount = uint64(data["amount"])
|
||||
puzzle_hash = bytes32(bytes.fromhex(data["puzzle_hash"]))
|
||||
return await self.rl_generate_signed_transaction(amount, puzzle_hash)
|
||||
|
||||
async def push_transaction(self, tx: TransactionRecord) -> None:
|
||||
""" Use this API to send transactions. """
|
||||
await self.wallet_state_manager.add_pending_transaction(tx)
|
|
@ -50,10 +50,10 @@ class TestCCWallet:
|
|||
api_admin = WalletRpcApi(wallet_node)
|
||||
val = await api_admin.create_new_wallet({'wallet_type': 'rl_wallet',
|
||||
'rl_type': 'admin',
|
||||
'interval': 3,
|
||||
'limit': 100,
|
||||
'interval': 2,
|
||||
'limit': 1,
|
||||
'pubkey': pubkey,
|
||||
'amount': 1000})
|
||||
'amount': 100})
|
||||
assert isinstance(val, dict)
|
||||
assert val['success']
|
||||
assert val['type'] == 'RATE_LIMITED'
|
||||
|
@ -63,15 +63,18 @@ class TestCCWallet:
|
|||
origin = val['origin']
|
||||
|
||||
val = await api_user.rl_set_user_info({'wallet_id': 2,
|
||||
'interval': 3,
|
||||
'limit': 100,
|
||||
'interval': 2,
|
||||
'limit': 1,
|
||||
'origin': origin,
|
||||
'admin_pubkey': admin_pubkey})
|
||||
assert val['success']
|
||||
|
||||
for i in range(0, 2*num_blocks):
|
||||
await full_node_1.farm_new_block(FarmNewBlockProtocol(32 * b"\0"))
|
||||
|
||||
receiving_wallet = wallet_node_2.wallet_state_manager.main_wallet
|
||||
puzzle_hash = await receiving_wallet.get_new_puzzlehash()
|
||||
val = await api_user.send_transaction({'wallet_id': 2,
|
||||
'amount': 1,
|
||||
'puzzle_hash': puzzle_hash.hex()})
|
||||
assert val['success']
|
||||
assert val['status'] == 'SUCCESS'
|
Loading…
Reference in New Issue