parent
415f87c727
commit
59ff195854
|
@ -238,7 +238,7 @@ public class Repository {
|
||||||
state.setCodeHash(codeHash);
|
state.setCodeHash(codeHash);
|
||||||
|
|
||||||
if (logger.isInfoEnabled())
|
if (logger.isInfoEnabled())
|
||||||
logger.info("Program code saved: account: [ {} ] codeHash: [ {} ] \n code: [ {} ]",
|
logger.info("Program code saved:\n account: [ {} ]\n codeHash: [ {} ] \n code: [ {} ]",
|
||||||
Hex.toHexString(address),
|
Hex.toHexString(address),
|
||||||
Hex.toHexString(codeHash),
|
Hex.toHexString(codeHash),
|
||||||
Hex.toHexString(code));
|
Hex.toHexString(code));
|
||||||
|
|
|
@ -244,6 +244,7 @@ public class Program {
|
||||||
// 2.2 CREATE THE CONTRACT ADDRESS
|
// 2.2 CREATE THE CONTRACT ADDRESS
|
||||||
byte[] nonce = trackRepository.getNonce(senderAddress).toByteArray();
|
byte[] nonce = trackRepository.getNonce(senderAddress).toByteArray();
|
||||||
byte[] newAddress = HashUtil.calcNewAddr(this.getOwnerAddress().getNoLeadZeroesData(), nonce);
|
byte[] newAddress = HashUtil.calcNewAddr(this.getOwnerAddress().getNoLeadZeroesData(), nonce);
|
||||||
|
trackRepository.createAccount(newAddress);
|
||||||
|
|
||||||
// 2.3 UPDATE THE NONCE
|
// 2.3 UPDATE THE NONCE
|
||||||
// (THIS STAGE IS NOT REVERTED BY ANY EXCEPTION)
|
// (THIS STAGE IS NOT REVERTED BY ANY EXCEPTION)
|
||||||
|
@ -251,7 +252,7 @@ public class Program {
|
||||||
|
|
||||||
// 3. COOK THE INVOKE AND EXECUTE
|
// 3. COOK THE INVOKE AND EXECUTE
|
||||||
ProgramInvoke programInvoke =
|
ProgramInvoke programInvoke =
|
||||||
ProgramInvokeFactory.createProgramInvoke(this, DataWord.ZERO, DataWord.ZERO,
|
ProgramInvokeFactory.createProgramInvoke(this, new DataWord(newAddress), DataWord.ZERO,
|
||||||
gas, BigInteger.ZERO, null, trackRepository);
|
gas, BigInteger.ZERO, null, trackRepository);
|
||||||
|
|
||||||
VM vm = new VM();
|
VM vm = new VM();
|
||||||
|
|
|
@ -304,15 +304,15 @@ public class VMComplexTest {
|
||||||
contract A: 77045e71a7a2c50903d88e564cd72fab11e82051
|
contract A: 77045e71a7a2c50903d88e564cd72fab11e82051
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
a = 0x7f60c860005461012c6020540000000000000000000000000000000000000000
|
a = 0x7f60c860005461012c6020540000000000000000000000000000000000000000
|
||||||
b = 0x0060005460206000f20000000000000000000000000000000000000000000000
|
b = 0x0060005460206000f20000000000000000000000000000000000000000000000
|
||||||
create(100, 0 41)
|
create(100, 0 41)
|
||||||
|
|
||||||
|
|
||||||
contract B: (the contract to be created the addr will be defined to: 8e45367623a2865132d9bf875d5cfa31b9a0cd94)
|
contract B: (the contract to be created the addr will be defined to: 8e45367623a2865132d9bf875d5cfa31b9a0cd94)
|
||||||
-----------
|
-----------
|
||||||
a = 200
|
a = 200
|
||||||
b = 300
|
b = 300
|
||||||
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
@ -355,11 +355,9 @@ public class VMComplexTest {
|
||||||
program.setRuntimeFailure(e);
|
program.setRuntimeFailure(e);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
System.out.println();
|
System.out.println();
|
||||||
System.out.println("============ Results ============");
|
System.out.println("============ Results ============");
|
||||||
|
|
||||||
|
|
||||||
System.out.println("*** Used gas: " + program.result.getGasUsed());
|
System.out.println("*** Used gas: " + program.result.getGasUsed());
|
||||||
// todo: check that the value pushed after exec is the new address
|
// todo: check that the value pushed after exec is the new address
|
||||||
repository.close();
|
repository.close();
|
||||||
|
|
Loading…
Reference in New Issue