def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_STAKING, self.sn.Get()) self.stakinger = Stakinger(mid, 0) self.delegator = Account( 'hsn1', '12345678', 'local', '0', '32', 'hsn1p8hqjcsxat30zgllpdkvgtutctrhun70uv9ts0', 'hsnpub1addwnpepqvfe59jmpyjqxjkez68gh3f60utmljpzhfm29af9z98n758zpqns7m4aj02' ) self.validator = Validator( 'hsnvaloper1p8hqjcsxat30zgllpdkvgtutctrhun70fyw3q3', 'hsnvalconspub1zcjduepqjlzvnup2xvanh94yf40eadzfs4e57tc63n0qlg8m6wjs8urq25esqkwnd3', False, 2, '3189846465', '3189846465.000000000000000000', { 'moniker': 'node1', 'identity': '', 'website': '', 'details': '' }, '0', '1970-01-01T00:00:00Z', { 'commission_rates': { 'rate': '0.100000000000000000', 'max_rate': '0.200000000000000000', 'max_change_rate': '0.010000000000000000' }, 'update_time': '2019-08-24T08:51:45.550141024Z' }, '1') pass
def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_BANK, self.sn.Get()) self.banker = Banker(mid, 0) self.srcAccount = Account( 'hsn1', '12345678', 'local', 0, 14, 'hsn1p8hqjcsxat30zgllpdkvgtutctrhun70uv9ts0', 'hsnpub1addwnpepqvfe59jmpyjqxjkez68gh3f60utmljpzhfm29af9z98n758zpqns7m4aj02' ) self.dstAccount = Account( 'hsn1', '12345678', 'local', 1, 4, 'hsn13eje6wryqzxj03tymd6uunx7653v9pru7qc9w0', 'hsnpub1addwnpepqvu2j4u64ajpg94zqzdtucsfc74dd4keq3d7p93mp8qspt086kzdvxvvclw' )
class TestBanker(unittest.TestCase): def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_BANK, self.sn.Get()) self.banker = Banker(mid, 0) self.srcAccount = Account( 'hsn1', '12345678', 'local', 0, 14, 'hsn1p8hqjcsxat30zgllpdkvgtutctrhun70uv9ts0', 'hsnpub1addwnpepqvfe59jmpyjqxjkez68gh3f60utmljpzhfm29af9z98n758zpqns7m4aj02' ) self.dstAccount = Account( 'hsn1', '12345678', 'local', 1, 4, 'hsn13eje6wryqzxj03tymd6uunx7653v9pru7qc9w0', 'hsnpub1addwnpepqvu2j4u64ajpg94zqzdtucsfc74dd4keq3d7p93mp8qspt086kzdvxvvclw' ) def test_getBalance(self): coins, err = self.banker.GetBalance(self.srcAccount) print(coins) self.assertIsNone(err) def test_sendCoins(self): sendedTxJsonFilePath, err = self.banker.SendCoins( self.srcAccount, self.dstAccount, [{ 'denom': 'hsn', 'amount': '5' }], [{ 'denom': 'hsn', 'amount': '1' }], '100000', '1.0') print(sendedTxJsonFilePath) self.assertIsNone(err)
class TestSigner(unittest.TestCase): def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_SIGN, self.sn.Get()) self.signer = Signer(mid, 0) self.__accounts = [] account = Account( 'hsn4', '12345678', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account) account = Account( 'hsn4', '123456', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account) account = Account( 'hsn4', '78945612', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account) def test_sign(self): unSignJsonPath = '/home/xzjianyu/goproject/src/github.com/hyperspeednetwork/hsnhub_test/unSign.json' for account in self.__accounts: data, err = self.signer.Sign(account, unSignJsonPath, 'tcp://172.38.8.89:26657') self.assertIsNone(err) print(data)
class TestDistribution(unittest.TestCase): def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_DISTRIBUTION, self.sn.Get()) self.distributor = Distributor(mid, 0) self.delegator = Account( 'hsn1', '12345678', 'local', '0', '64', 'hsn1p8hqjcsxat30zgllpdkvgtutctrhun70uv9ts0', 'hsnpub1addwnpepqvfe59jmpyjqxjkez68gh3f60utmljpzhfm29af9z98n758zpqns7m4aj02' ) self.validator = Validator( 'hsnvaloper1p8hqjcsxat30zgllpdkvgtutctrhun70fyw3q3', 'hsnvalconspub1zcjduepqjlzvnup2xvanh94yf40eadzfs4e57tc63n0qlg8m6wjs8urq25esqkwnd3', False, 2, '3189846465', '3189846465.000000000000000000', { 'moniker': 'node1', 'identity': '', 'website': '', 'details': '' }, '0', '1970-01-01T00:00:00Z', { 'commission_rates': { 'rate': '0.100000000000000000', 'max_rate': '0.200000000000000000', 'max_change_rate': '0.010000000000000000' }, 'update_time': '2019-08-24T08:51:45.550141024Z' }, '1') def test_withdrawReward(self): withdrawRewardTxFilePath, err = self.distributor.WithdrawDelegatorOneReward( self.delegator, self.validator, [{ 'denom': 'hsn', 'amount': '1' }], '100000', '1.0') print(withdrawRewardTxFilePath) self.assertIsNone(err)
def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_SIGN, self.sn.Get()) self.signer = Signer(mid, 0) self.__accounts = [] account = Account( 'hsn4', '12345678', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account) account = Account( 'hsn4', '123456', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account) account = Account( 'hsn4', '78945612', 'local', 3, 5, 'hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a', 'hsnpub1addwnpepqvrnem3jdwdkjwfy5anqcv80hhawlvfeh608urqhw4mznrdpqus0qehz2gq' ) self.__accounts.append(account)
def setUp(self): self.sn = SNGenerator(1, 0)
from autotx.module.sn import SNGenerator from autotx.module.mid import GenerateMID from autotx.module.moduletype import TYPE_BANK, TYPE_BROADCAST, TYPE_SIGN, TYPE_STAKING, TYPE_DISTRIBUTION from autotx.bank.bank import Banker from autotx.sign.sign import Signer from autotx.broadcast.broadcast import BroadCaster from autotx.staking.staking import Stakinger from autotx.distribution.distribution import Distributor snGen = SNGenerator(1, 0) def GetBankers(count): bankers = [] if count == 0: return bankers, None for i in range(count): mid, err = GenerateMID(TYPE_BANK, snGen.Get()) if err is not None: return bankers, err banker = Banker(mid, 0) bankers.append(banker) return bankers, None def GetSigners(count): signers = [] if count == 0: return signers, None for i in range(count): mid, err = GenerateMID(TYPE_SIGN, snGen.Get())
def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_BROADCAST, self.sn.Get()) self.broadCaster = BroadCaster(mid, 0)
class TestBroadcast(unittest.TestCase): def setUp(self): self.sn = SNGenerator(1, 0) mid = GenerateMID(TYPE_BROADCAST, self.sn.Get()) self.broadCaster = BroadCaster(mid, 0) def test_standardize(self): body = '''{ "type": "cosmos-sdk/StdTx", "value": { "msg": [ { "type": "cosmos-sdk/MsgSend", "value": { "from_address": "hsn1j4yux0ytemqjmcd6z7dej7ermuw2hp9mgwu04a", "to_address": "hsn1zqxayv6qe50w6h3ynfj6tq9pr09r7rtuq565cl", "amount": [ { "denom": "hsn", "amount": "5" } ] } } ], "fee": { "amount": [ { "denom": "hsn", "amount": "1" } ], "gas": "100000" }, "signatures": [ { "pub_key": { "type": "tendermint/PubKeySecp256k1", "value": "Awc87jJrm2k5JKdmDDDvvfrvsTm+nn4MF3V2KY2hByDw" }, "signature": "r53KS1dtupptxEo0wFXqN6qm2gRHqISgsUiIjjSq0LEdGp7opEzlCQC+WhHTDyMuFW3bD5yVas1nFFklBBv98w==" } ], "memo": "sent" } } ''' standardizedBody, err = standardize(body, 'async') print(standardizedBody) self.assertIsNone(err) def test_broadcast(self): body = '''{ "type": "cosmos-sdk/StdTx", "value": { "msg": [ { "type": "cosmos-sdk/MsgSend", "value": { "from_address": "hsn1502lgkad0tnc2szdww0whpxs30szz03lj6n06q", "to_address": "hsn1aqwurs5jfu5z0z3k99tljt9csausdqrcaewjwv", "amount": [ { "denom": "hsn", "amount": "5" } ] } } ], "fee": { "amount": [ { "denom": "hsn", "amount": "1" } ], "gas": "100000" }, "signatures": [ { "pub_key": { "type": "tendermint/PubKeySecp256k1", "value": "AkJJcM8yCkBL/rvDQxqxEDCswuYmjMLJSty3BR4m4YFk" }, "signature": "swYNOEX5h936+YppikFni8QTR6mtfw0m25QETQYGY5x3i7W8Oquw1lLktxReZz7MbTgzN6hIElvQxB3q+UV71g==" } ], "memo": "sent" } } ''' txJson, err = self.broadCaster.BroadCastTx(body, 'sync') print(txJson) self.assertIsNone(err) def test_CheckTx(self): body = '{"height":"0","txhash":"7F8A3C49D7B39F4C509213AC7A6A3E7670BE40CD7D0A736570178B26F42180C9","raw_log":"[{\"msg_index\":0,\"success\":true,\"log\":\"\"}]","logs":[{"msg_index":0,"success":true,"log":""}]}' ok, err = checkTx(body) self.assertTrue(ok) print(err)