diff options
author | Wei-Ning Huang <w@dexon.org> | 2018-12-19 10:22:38 +0800 |
---|---|---|
committer | Wei-Ning Huang <w@dexon.org> | 2019-04-09 21:32:55 +0800 |
commit | 38c9e34a926f9dc924bfe54cf25c15139acf725b (patch) | |
tree | c242d3d0aca20eb224dcd7484c305cce7c06507a | |
parent | bc4641dacfa16b319e687fd4e376ed7ba20e61ae (diff) | |
download | dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar.gz dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar.bz2 dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar.lz dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar.xz dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.tar.zst dexon-38c9e34a926f9dc924bfe54cf25c15139acf725b.zip |
dex: remove duplicate declaration of WitnessData (#92)
Remove duplicate declaration of WitnessData and remove the TxHash field
in witness data since it does not need to be witnessed.
-rw-r--r-- | core/blockchain_test.go | 6 | ||||
-rw-r--r-- | core/types/block.go | 1 | ||||
-rw-r--r-- | dex/app.go | 11 | ||||
-rw-r--r-- | dex/app_test.go | 6 |
4 files changed, 3 insertions, 21 deletions
diff --git a/core/blockchain_test.go b/core/blockchain_test.go index 867cfef5e..e8d96e5c8 100644 --- a/core/blockchain_test.go +++ b/core/blockchain_test.go @@ -1658,7 +1658,6 @@ func TestProcessPendingBlock(t *testing.T) { if i == 0 { witnessData := types.WitnessData{ Root: gspec.ToBlock(nil).Root(), - TxHash: gspec.ToBlock(nil).TxHash(), ReceiptHash: gspec.ToBlock(nil).ReceiptHash(), } witnessDataBytes, err = rlp.EncodeToBytes(&witnessData) @@ -1668,7 +1667,6 @@ func TestProcessPendingBlock(t *testing.T) { } else { witnessData := types.WitnessData{ Root: chain.pendingBlocks[uint64(i)].block.Root(), - TxHash: chain.pendingBlocks[uint64(i)].block.TxHash(), ReceiptHash: chain.pendingBlocks[uint64(i)].block.ReceiptHash(), } witnessDataBytes, err = rlp.EncodeToBytes(&witnessData) @@ -1721,7 +1719,6 @@ func TestProcessPendingBlock(t *testing.T) { // Validate witness fail with unknown block. witnessData := types.WitnessData{ Root: chain.pendingBlocks[processNum].block.Root(), - TxHash: chain.pendingBlocks[processNum].block.TxHash(), ReceiptHash: chain.pendingBlocks[processNum].block.ReceiptHash(), } witnessDataBytes, err := rlp.EncodeToBytes(&witnessData) @@ -1745,7 +1742,6 @@ func TestProcessPendingBlock(t *testing.T) { // Validate witness fail with unexpected root. witnessData = types.WitnessData{ Root: chain.pendingBlocks[processNum].block.Root(), - TxHash: chain.pendingBlocks[processNum].block.TxHash(), ReceiptHash: chain.pendingBlocks[processNum].block.ReceiptHash(), } witnessDataBytes, err = rlp.EncodeToBytes(&witnessData) @@ -1769,7 +1765,6 @@ func TestProcessPendingBlock(t *testing.T) { // Apply transaction fail with insufficient fund. witnessData = types.WitnessData{ Root: chain.pendingBlocks[processNum].block.Root(), - TxHash: chain.pendingBlocks[processNum].block.TxHash(), ReceiptHash: chain.pendingBlocks[processNum].block.ReceiptHash(), } witnessDataBytes, err = rlp.EncodeToBytes(&witnessData) @@ -1802,7 +1797,6 @@ func TestProcessPendingBlock(t *testing.T) { // Apply transaction fail with nonce too height. witnessData = types.WitnessData{ Root: chain.pendingBlocks[processNum].block.Root(), - TxHash: chain.pendingBlocks[processNum].block.TxHash(), ReceiptHash: chain.pendingBlocks[processNum].block.ReceiptHash(), } witnessDataBytes, err = rlp.EncodeToBytes(&witnessData) diff --git a/core/types/block.go b/core/types/block.go index 3766d3ac0..23da3ea77 100644 --- a/core/types/block.go +++ b/core/types/block.go @@ -67,7 +67,6 @@ func (n *BlockNonce) UnmarshalText(input []byte) error { // WitnessData represents the witness data. type WitnessData struct { Root common.Hash - TxHash common.Hash ReceiptHash common.Hash } diff --git a/dex/app.go b/dex/app.go index 8da00d07b..9dcfd87e9 100644 --- a/dex/app.go +++ b/dex/app.go @@ -50,12 +50,6 @@ type DexconApp struct { chainLocks sync.Map } -type witnessData struct { - Root common.Hash - TxHash common.Hash - ReceiptHash common.Hash -} - func NewDexconApp(txPool *core.TxPool, blockchain *core.BlockChain, gov *DexconGovernance, chainDB ethdb.Database, config *Config) *DexconApp { return &DexconApp{ @@ -283,9 +277,8 @@ func (d *DexconApp) PrepareWitness(consensusHeight uint64) (witness coreTypes.Wi return witness, fmt.Errorf("last pending height < consensus height") } - witnessData, err := rlp.EncodeToBytes(&witnessData{ + witnessData, err := rlp.EncodeToBytes(&types.WitnessData{ Root: witnessBlock.Root(), - TxHash: witnessBlock.TxHash(), ReceiptHash: witnessBlock.ReceiptHash(), }) if err != nil { @@ -300,7 +293,7 @@ func (d *DexconApp) PrepareWitness(consensusHeight uint64) (witness coreTypes.Wi // VerifyBlock verifies if the payloads are valid. func (d *DexconApp) VerifyBlock(block *coreTypes.Block) coreTypes.BlockVerifyStatus { - var witnessData witnessData + var witnessData types.WitnessData err := rlp.DecodeBytes(block.Witness.Data, &witnessData) if err != nil { log.Error("failed to RLP decode witness data", "error", err) diff --git a/dex/app_test.go b/dex/app_test.go index abe83b92a..82bf8a6f6 100644 --- a/dex/app_test.go +++ b/dex/app_test.go @@ -115,16 +115,12 @@ func TestPrepareWitness(t *testing.T) { t.Errorf("unexpeted witness height %v", witness.Height) } - var witnessData witnessData + var witnessData types.WitnessData err = rlp.DecodeBytes(witness.Data, &witnessData) if err != nil { t.Errorf("rlp decode error: %v", err) } - if witnessData.TxHash != currentBlock.TxHash() { - t.Errorf("expect tx hash %v but %v", currentBlock.TxHash(), witnessData.TxHash) - } - if witnessData.Root != currentBlock.Root() { t.Errorf("expect root %v but %v", currentBlock.Root(), witnessData.Root) } |