Commit 44deaf4c authored by vipwzw's avatar vipwzw Committed by 33cn

fixbug test

parent 54d53dfc
......@@ -692,6 +692,7 @@ func (client *client) createBlock(lastBlock *types.Block, txs []*types.Transacti
newblock.TxHash = merkle.CalcMerkleRoot(newblock.Txs)
newblock.BlockTime = mainBlock.Detail.Block.BlockTime
newblock.MainHash = mainBlock.Detail.Block.Hash()
newblock.MainHeight = mainBlock.Detail.Block.Height
err := client.addMinerTx(lastBlock.StateHash, &newblock, mainBlock)
if err != nil {
return err
......
......@@ -109,7 +109,7 @@ func runCase(tt *testing.T, c VMCase, file string) {
// 1 构建预置环境 pre
inst := evm.NewEVMExecutor()
inst.SetEnv(c.env.currentNumber, c.env.currentTimestamp, uint64(c.env.currentDifficulty), nil, nil)
inst.SetEnv(c.env.currentNumber, c.env.currentTimestamp, uint64(c.env.currentDifficulty))
inst.CheckInit()
statedb := inst.GetMStateDB()
mdb := createStateDB(statedb, c)
......
......@@ -252,7 +252,7 @@ func createContract(mdb *db.GoMemDB, tx types.Transaction, maxCodeSize int) (ret
inst.CheckInit()
msg, _ := inst.GetMessage(&tx)
inst.SetEnv(10, 0, uint64(10), nil, nil)
inst.SetEnv(10, 0, uint64(10))
statedb = inst.GetMStateDB()
statedb.StateDB = mdb
......
......@@ -122,7 +122,7 @@ func TestExecDrawLottery(t *testing.T) {
if !CompareLotteryExecResult(receipt, err, &targetReceipt, targetErr) {
t.Error(testNormErr)
}
lottery.SetEnv(100, 0, 0, nil, nil)
lottery.SetEnv(100, 0, 0)
receipt, err = lottery.Exec(tx, 0)
targetErr = types.ErrActionNotSupport
// ErrActionNotSupport case
......
......@@ -104,7 +104,7 @@ func TestMultiSigAccCreate(t *testing.T) {
//accA.SaveExecAccount(address.ExecAddress("multisig"), &accountA)
driver := newMultiSig()
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty, nil, nil)
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
driver.SetStateDB(stateDB)
driver.SetLocalDB(localDB)
driver.SetAPI(api)
......
......@@ -54,7 +54,7 @@ func (suite *AssetTransferTestSuite) SetupTest() {
suite.exec = newParacross().(*Paracross)
suite.exec.SetLocalDB(suite.localDB)
suite.exec.SetStateDB(suite.stateDB)
suite.exec.SetEnv(0, 0, 0, nil, nil)
suite.exec.SetEnv(0, 0, 0)
suite.exec.SetAPI(suite.api)
enableParacrossTransfer = true
......
......@@ -49,7 +49,7 @@ func (suite *AssetWithdrawTestSuite) SetupTest() {
suite.exec = newParacross().(*Paracross)
suite.exec.SetLocalDB(suite.localDB)
suite.exec.SetStateDB(suite.stateDB)
suite.exec.SetEnv(0, 0, 0, nil, nil)
suite.exec.SetEnv(0, 0, 0)
suite.exec.SetAPI(suite.api)
enableParacrossTransfer = true
......
......@@ -102,7 +102,7 @@ func (suite *CommitTestSuite) SetupSuite() {
suite.exec = newParacross().(*Paracross)
suite.exec.SetLocalDB(suite.localDB)
suite.exec.SetStateDB(suite.stateDB)
suite.exec.SetEnv(0, 0, 0, nil, nil)
suite.exec.SetEnv(0, 0, 0)
suite.exec.SetAPI(suite.api)
enableParacrossTransfer = false
......
......@@ -72,7 +72,7 @@ func (s *suiteRelay) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -139,7 +139,7 @@ func (s *suiteRelay) TestExec_1() {
tx.Payload = types.Encode(sell)
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -180,7 +180,7 @@ func (s *suiteRelay) TestExec_2() {
tx.Payload = types.Encode(sell)
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(20, 2000, 1, nil, nil)
s.relay.SetEnv(20, 2000, 1)
heightBytes := types.Encode(&types.Int64{Data: int64(20)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
receipt, err := s.relay.Exec(tx, 0)
......@@ -216,7 +216,7 @@ func (s *suiteRelay) TestExec_3() {
tx.Payload = types.Encode(sell)
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(30, 3000, 1, nil, nil)
s.relay.SetEnv(30, 3000, 1)
heightBytes := types.Encode(&types.Int64{Data: int64(30)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
receipt, err := s.relay.Exec(tx, 0)
......@@ -287,7 +287,7 @@ func (s *suiteRelay) TestExec_4() {
tx.Payload = types.Encode(sell)
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
_, err := s.relay.Exec(tx, 0)
s.Nil(err)
......@@ -404,7 +404,7 @@ func (s *suiteBtcHeader) SetupSuite() {
relay := &relay{}
relay.SetStateDB(s.db)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -515,7 +515,7 @@ func (s *suiteBtcHeader) TestSaveBtcHead_1() {
tx.Payload = types.Encode(sell)
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.db.On("Get", mock.Anything).Return(nil, types.ErrNotFound).Once()
s.db.On("Set", mock.Anything, mock.Anything).Return(nil).Once()
......
......@@ -152,7 +152,7 @@ func (s *suiteRelayDB) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -175,7 +175,7 @@ func (s *suiteRelayDB) TestRelayCreate_1() {
tx.Nonce = 1 //for different order id
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -207,7 +207,7 @@ func (s *suiteRelayDB) TestRevokeCreate_1aUnlock() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(11, 1000, 1, nil, nil)
s.relay.SetEnv(11, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -228,7 +228,7 @@ func (s *suiteRelayDB) TestRevokeCreate_1bCancel() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(11, 1000, 1, nil, nil)
s.relay.SetEnv(11, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -308,7 +308,7 @@ func (s *suiteAccept) setupRelayCreate() {
tx.Nonce = 2 //for different order id
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -335,7 +335,7 @@ func (s *suiteAccept) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -356,7 +356,7 @@ func (s *suiteAccept) TestRelayAccept() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -387,7 +387,7 @@ func (s *suiteAccept) TestRevokeAccept_1() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(11, 1000, 1, nil, nil)
s.relay.SetEnv(11, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(22)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -408,7 +408,7 @@ func (s *suiteAccept) TestRevokeAccept_2() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(11, 1000, 1, nil, nil)
s.relay.SetEnv(11, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20 + lockBtcHeight)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -429,7 +429,7 @@ func (s *suiteAccept) TestRevokeAccept_3() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(11, 1000, 1, nil, nil)
s.relay.SetEnv(11, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20 + lockBtcHeight)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -506,7 +506,7 @@ func (s *suiteConfirm) setupRelayCreate() {
tx.Nonce = 3 //for different order id
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -533,7 +533,7 @@ func (s *suiteConfirm) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -555,7 +555,7 @@ func (s *suiteConfirm) setupAccept() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -586,7 +586,7 @@ func (s *suiteConfirm) TestConfirm_1() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(30, 3000, 1, nil, nil)
s.relay.SetEnv(30, 3000, 1)
s.relayDb = newRelayDB(s.relay, tx)
_, err := s.relayDb.confirmTx(order)
s.Equal(ty.ErrRelayReturnAddr, err)
......@@ -604,7 +604,7 @@ func (s *suiteConfirm) TestConfirm_2() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(30, 3000, 1, nil, nil)
s.relay.SetEnv(30, 3000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(30)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -635,7 +635,7 @@ func (s *suiteConfirm) TestRevokeConfirm_1() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(30 + lockBtcHeight)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -656,7 +656,7 @@ func (s *suiteConfirm) TestRevokeConfirm_2() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(30 + 4*lockBtcHeight)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -733,7 +733,7 @@ func (s *suiteVerify) setupRelayCreate() {
tx.Nonce = 4 //for different order id
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -764,7 +764,7 @@ func (s *suiteVerify) setupAccept() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(20, 2000, 1, nil, nil)
s.relay.SetEnv(20, 2000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -795,7 +795,7 @@ func (s *suiteVerify) setupConfirm() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(30, 3000, 1, nil, nil)
s.relay.SetEnv(30, 3000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(30)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -822,7 +822,7 @@ func (s *suiteVerify) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -880,7 +880,7 @@ func (s *suiteVerify) TestVerify() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
s.relayDb = newRelayDB(s.relay, tx)
receipt, err := s.relayDb.verifyTx(order)
......@@ -964,7 +964,7 @@ func (s *suiteVerifyCli) setupRelayCreate() {
tx.Nonce = 5 //for different order id
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(10, 1000, 1, nil, nil)
s.relay.SetEnv(10, 1000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(10)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -995,7 +995,7 @@ func (s *suiteVerifyCli) setupAccept() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(20, 2000, 1, nil, nil)
s.relay.SetEnv(20, 2000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(20)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -1026,7 +1026,7 @@ func (s *suiteVerifyCli) setupConfirm() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(30, 3000, 1, nil, nil)
s.relay.SetEnv(30, 3000, 1)
s.relayDb = newRelayDB(s.relay, tx)
heightBytes := types.Encode(&types.Int64{Data: int64(30)})
s.kvdb.On("Get", mock.Anything).Return(heightBytes, nil).Once()
......@@ -1053,7 +1053,7 @@ func (s *suiteVerifyCli) SetupSuite() {
relay := &relay{}
relay.SetStateDB(accDb)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -1085,7 +1085,7 @@ func (s *suiteVerifyCli) TestVerify() {
tx.To = s.addrRelay
tx.Sign(types.SECP256K1, privTo)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
s.relayDb = newRelayDB(s.relay, tx)
receipt, err := s.relayDb.verifyCmdTx(order)
......@@ -1128,7 +1128,7 @@ func (s *suiteSaveBtcHeader) SetupSuite() {
relay := &relay{}
relay.SetStateDB(s.db)
relay.SetLocalDB(s.kvdb)
relay.SetEnv(10, 100, 1, nil, nil)
relay.SetEnv(10, 100, 1)
relay.SetIsFree(false)
relay.SetAPI(nil)
relay.SetChild(relay)
......@@ -1138,7 +1138,7 @@ func (s *suiteSaveBtcHeader) SetupSuite() {
tx.To = "addr"
tx.Sign(types.SECP256K1, privFrom)
s.relay.SetEnv(40, 4000, 1, nil, nil)
s.relay.SetEnv(40, 4000, 1)
s.relayDb = newRelayDB(s.relay, tx)
}
......
......@@ -84,7 +84,7 @@ func TestTrade_Exec_SellLimit(t *testing.T) {
accA.SaveExecAccount(address.ExecAddress("trade"), &accountA)
driver := newTrade()
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty, nil, nil)
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
driver.SetStateDB(stateDB)
sell := &pty.TradeSellTx{
......@@ -193,7 +193,7 @@ func TestTrade_Exec_BuyLimit(t *testing.T) {
accA.SaveExecAccount(address.ExecAddress("trade"), &accountA)
driver := newTrade()
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty, nil, nil)
driver.SetEnv(env.blockHeight, env.blockTime, env.difficulty)
driver.SetStateDB(stateDB)
buy := &pty.TradeBuyLimitTx{
......
......@@ -40,6 +40,7 @@ type executorCtx struct {
difficulty uint64
parentHash []byte
mainHash []byte
mainHeight int64
}
func newExecutor(ctx *executorCtx, exec *Executor, txs []*types.Transaction, receipts []*types.ReceiptData) *executor {
......@@ -146,7 +147,8 @@ func (e *executor) checkTx(tx *types.Transaction, index int) error {
func (e *executor) setEnv(exec drivers.Driver) {
exec.SetStateDB(e.stateDB)
exec.SetLocalDB(e.localDB)
exec.SetEnv(e.height, e.blocktime, e.difficulty, e.ctx.parentHash, e.ctx.mainHash)
exec.SetEnv(e.height, e.blocktime, e.difficulty)
exec.SetBlockInfo(e.ctx.parentHash, e.ctx.mainHash, e.ctx.mainHeight)
exec.SetAPI(e.api)
e.execapi = exec.GetExecutorAPI()
exec.SetTxs(e.txs)
......
......@@ -163,6 +163,7 @@ func (exec *Executor) procExecCheckTx(msg queue.Message) {
blocktime: datas.BlockTime,
difficulty: datas.Difficulty,
mainHash: datas.MainHash,
mainHeight: datas.MainHeight,
parentHash: datas.ParentHash,
}
execute := newExecutor(ctx, exec, datas.Txs, nil)
......@@ -194,6 +195,7 @@ func (exec *Executor) procExecTxList(msg queue.Message) {
blocktime: datas.BlockTime,
difficulty: datas.Difficulty,
mainHash: datas.MainHash,
mainHeight: datas.MainHeight,
parentHash: datas.ParentHash,
}
execute := newExecutor(ctx, exec, datas.Txs, nil)
......@@ -263,6 +265,7 @@ func (exec *Executor) procExecAddBlock(msg queue.Message) {
blocktime: b.BlockTime,
difficulty: uint64(b.Difficulty),
mainHash: b.MainHash,
mainHeight: b.MainHeight,
parentHash: b.ParentHash,
}
execute := newExecutor(ctx, exec, b.Txs, datas.Receipts)
......@@ -323,6 +326,7 @@ func (exec *Executor) procExecDelBlock(msg queue.Message) {
blocktime: b.BlockTime,
difficulty: uint64(b.Difficulty),
mainHash: b.MainHash,
mainHeight: b.MainHeight,
parentHash: b.ParentHash,
}
execute := newExecutor(ctx, exec, b.Txs, nil)
......
......@@ -49,7 +49,8 @@ type Driver interface {
Allow(tx *types.Transaction, index int) error
IsFriend(myexec []byte, writekey []byte, othertx *types.Transaction) bool
GetActionName(tx *types.Transaction) string
SetEnv(height, blocktime int64, difficulty uint64, parentHash, mainHash []byte)
SetEnv(height, blocktime int64, difficulty uint64)
SetBlockInfo([]byte, []byte, int64)
CheckTx(tx *types.Transaction, index int) error
Exec(tx *types.Transaction, index int) (*types.Receipt, error)
ExecLocal(tx *types.Transaction, receipt *types.ReceiptData, index int) (*types.LocalDBSet, error)
......@@ -77,6 +78,7 @@ type DriverBase struct {
height int64
blocktime int64
parentHash, mainHash []byte
mainHeight int64
name string
curname string
child Driver
......@@ -141,12 +143,17 @@ func (d *DriverBase) GetExecutorAPI() api.ExecutorAPI {
}
// SetEnv set env
func (d *DriverBase) SetEnv(height, blocktime int64, difficulty uint64, parentHash, mainHash []byte) {
func (d *DriverBase) SetEnv(height, blocktime int64, difficulty uint64) {
d.height = height
d.blocktime = blocktime
d.difficulty = difficulty
}
//SetBlockInfo 设置区块的信息
func (d *DriverBase) SetBlockInfo(parentHash, mainHash []byte, mainHeight int64) {
d.parentHash = parentHash
d.mainHash = mainHash
d.mainHeight = mainHeight
}
// SetIsFree set isfree
......
......@@ -38,6 +38,7 @@ message Block {
int64 blockTime = 6;
uint32 difficulty = 11;
bytes mainHash = 12;
int64 mainHeight = 13;
Signature signature = 8;
repeated Transaction txs = 7;
}
......
......@@ -13,11 +13,12 @@ message ExecTxList {
bytes stateHash = 1;
bytes parentHash = 7;
bytes mainHash = 8;
repeated Transaction txs = 2;
int64 mainHeight = 9;
int64 blockTime = 3;
int64 height = 4;
uint64 difficulty = 5;
bool isMempool = 6;
repeated Transaction txs = 2;
}
message Query {
......
......@@ -35,6 +35,7 @@ func ExecTx(client queue.Client, prevStateRoot []byte, block *types.Block) (*typ
StateHash: prevStateRoot,
ParentHash: block.ParentHash,
MainHash: block.MainHash,
MainHeight: block.MainHeight,
Txs: block.Txs,
BlockTime: block.BlockTime,
Height: block.Height,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment