def tx_done_block(ask, bid, accepted_trade): tx_done_block = MarketBlock() tx_done_block.type = b'tx_done' transaction = Transaction.from_accepted_trade(accepted_trade, TransactionId(b'a' * 32)) tx_done_block.transaction = { 'ask': ask.to_block_dict(), 'bid': bid.to_block_dict(), 'tx': transaction.to_block_dictionary() }
def add_transaction_and_payment(self): """ Add a transaction and a payment to the market """ self.accepted_trade = AcceptedTrade( TraderId(b'0' * 20), OrderId(TraderId(b'0' * 20), OrderNumber(1)), OrderId(TraderId(b'1' * 20), OrderNumber(1)), 1234, AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timestamp(0)) transaction = Transaction.from_accepted_trade(self.accepted_trade, TransactionId(b'a' * 32)) payment = Payment(TraderId(b'0' * 20), transaction.transaction_id, AssetAmount(20, 'BTC'), WalletAddress('a'), WalletAddress('b'), PaymentId('aaa'), Timestamp(4000)) transaction.add_payment(payment) self.nodes[ 0].overlay.transaction_manager.transaction_repository.update( transaction) return transaction
def setUp(self): BaseTestCase.setUp(self) self.ask = Ask( OrderId(TraderId(b'0' * 20), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0), True) self.bid = Ask( OrderId(TraderId(b'1' * 20), OrderNumber(1)), AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timeout(30), Timestamp(0), False) self.accepted_trade = AcceptedTrade( TraderId(b'0' * 20), OrderId(TraderId(b'0' * 20), OrderNumber(1)), OrderId(TraderId(b'1' * 20), OrderNumber(1)), 1234, AssetPair(AssetAmount(30, 'BTC'), AssetAmount(30, 'MB')), Timestamp(0)) self.transaction = Transaction.from_accepted_trade( self.accepted_trade, TransactionId(b'a' * 32)) ask_tx = self.ask.to_block_dict() bid_tx = self.bid.to_block_dict() self.tick_block = MarketBlock() self.tick_block.type = b'ask' self.tick_block.transaction = {'tick': ask_tx} self.cancel_block = MarketBlock() self.cancel_block.type = b'cancel_order' self.cancel_block.transaction = { 'trader_id': 'a' * 20, 'order_number': 1 } self.tx_init_block = MarketBlock() self.tx_init_block.type = b'tx_init' self.tx_init_block.transaction = { 'tx': self.accepted_trade.to_block_dictionary() } self.tx_done_block = MarketBlock() self.tx_done_block.type = b'tx_done' self.tx_done_block.transaction = { 'ask': ask_tx, 'bid': bid_tx, 'tx': self.transaction.to_block_dictionary() } payment = { 'trader_id': 'a' * 40, 'transaction_id': 'a' * 64, 'transferred': { 'amount': 3, 'type': 'BTC' }, 'payment_id': 'a', 'address_from': 'a', 'address_to': 'b', 'timestamp': 1234, } self.payment_block = MarketBlock() self.payment_block.type = b'tx_payment' self.payment_block.transaction = {'payment': payment}