def test_system_coin(self): coin_tx = GetSystemCoin() self.assertEqual(type(coin_tx), RegisterTransaction) self.assertEqual(self.syscoinraw, coin_tx.GetHashData()) self.assertEqual(self.sys_coin_id, coin_tx.Hash.ToBytes()) self.assertEqual(coin_tx.Precision, 8)
def SystemFee(self): if self.Version >= 1: return Fixed8.Zero() # if all outputs are NEO or gas, return 0 all_neo_gas = True for output in self.outputs: if output.AssetId != GetSystemCoin().Hash and output.AssetId != GetSystemShare().Hash: all_neo_gas = False if all_neo_gas: return Fixed8.Zero() return Fixed8(int(settings.ISSUE_TX_FEE))
def SystemFee(self): """ Get the system fee. Returns: Fixed8: """ if self.Version >= 1: return Fixed8.Zero() # if all outputs are NEO or gas, return 0 all_neo_gas = True for output in self.outputs: if output.AssetId != GetSystemCoin().Hash and output.AssetId != GetSystemShare().Hash: all_neo_gas = False if all_neo_gas: return Fixed8.Zero() return super(IssueTransaction, self).SystemFee()
def test_issue_tx(self): miner_tx = MinerTransaction() miner_tx.Nonce = 2083236893 share_tx = GetSystemShare() coin_tx = GetSystemCoin() script = Contract.CreateMultiSigRedeemScript( int(len(Blockchain.StandbyValidators()) / 2) + 1, Blockchain.StandbyValidators()) if settings.MAGIC == 1953787457: self.assertEqual(script, self.contractraw) out = Crypto.ToScriptHash(script) output = TransactionOutput(share_tx.Hash, Blockchain.SystemShare().Amount, out) script = Witness(bytearray(0), bytearray(PUSHT)) issue_tx = IssueTransaction([], [output], [], [script]) self.assertEqual(issue_tx.GetHashData(), self.issuetx_rraw) self.assertEqual(issue_tx.Hash.ToBytes(), self.gen_issue_tx_id)