use of org.ethereum.core.Account in project rskj by rsksmart.
the class WorldTest method saveAndGetAccount.
@Test
public void saveAndGetAccount() {
World world = new World();
Account account = new Account(new ECKey(Utils.getRandom()));
world.saveAccount("acc1", account);
Assert.assertSame(account, world.getAccountByName("acc1"));
}
use of org.ethereum.core.Account in project rskj by rsksmart.
the class AccountBuilderTest method createAccountWithNameAsSeed.
@Test
public void createAccountWithNameAsSeed() {
Account account = new AccountBuilder().name("acc1").build();
Assert.assertNotNull(account);
Assert.assertTrue(account.getEcKey().hasPrivKey());
}
use of org.ethereum.core.Account in project rskj by rsksmart.
the class TransactionBuilderTest method buildTransaction.
@Test
public void buildTransaction() {
Account sender = new AccountBuilder().name("sender").build();
Account receiver = new AccountBuilder().name("receiver").build();
Transaction tx = new TransactionBuilder().sender(sender).receiver(receiver).value(BigInteger.TEN).nonce(2).build();
Assert.assertNotNull(tx);
Assert.assertArrayEquals(sender.getAddress().getBytes(), tx.getSender().getBytes());
Assert.assertArrayEquals(receiver.getAddress().getBytes(), tx.getReceiveAddress().getBytes());
Assert.assertEquals(BigInteger.TEN, tx.getValue().asBigInteger());
Assert.assertEquals(BigInteger.ONE, tx.getGasPrice().asBigInteger());
Assert.assertEquals(BigInteger.valueOf(2), new BigInteger(1, tx.getNonce()));
Assert.assertEquals(BigInteger.valueOf(21000), new BigInteger(1, tx.getGasLimit()));
Assert.assertNotNull(tx.getData());
Assert.assertEquals(0, tx.getData().length);
}
use of org.ethereum.core.Account in project rskj by rsksmart.
the class TransactionBuilder method buildRandomTransaction.
/**
* Generates a random transaction
*/
public Transaction buildRandomTransaction() {
int i = new Random().nextInt();
BigInteger randomPositiveVal = i > 0 ? BigInteger.valueOf(i) : BigInteger.valueOf(i * -1);
Account receiver = new AccountBuilder().name("account" + randomPositiveVal).build();
String to = receiver.getAddress().toHexString();
BigInteger nonce = randomPositiveVal;
BigInteger gasLimit = randomPositiveVal;
BigInteger gasPrice = randomPositiveVal;
// should be a random valid one
byte chainId = Constants.REGTEST_CHAIN_ID;
byte[] data = randomPositiveVal.toByteArray();
BigInteger value = randomPositiveVal;
byte[] privateKey = ECKey.fromPrivate(randomPositiveVal).getPrivKeyBytes();
return build(to, nonce, gasLimit, gasPrice, chainId, data, value, privateKey, false);
}
use of org.ethereum.core.Account in project rskj by rsksmart.
the class WorldDslProcessorTest method processAccountNewCommandWithBalance.
@Test
public void processAccountNewCommandWithBalance() throws DslProcessorException {
World world = new World();
WorldDslProcessor processor = new WorldDslProcessor(world);
DslParser parser = new DslParser("account_new acc1 1000000");
processor.processCommands(parser);
Account account = world.getAccountByName("acc1");
Assert.assertNotNull(account);
RepositorySnapshot repository = world.getRepositoryLocator().snapshotAt(world.getBlockChain().getBestBlock().getHeader());
Assert.assertEquals(new BigInteger("1000000"), repository.getBalance(account.getAddress()).asBigInteger());
}
Aggregations