aboutsummaryrefslogtreecommitdiffstats
path: root/dex
diff options
context:
space:
mode:
authorWei-Ning Huang <w@dexon.org>2018-10-20 17:26:32 +0800
committerWei-Ning Huang <w@dexon.org>2018-12-19 20:54:27 +0800
commit429d5cb30e0883b5f2e68fb7a3b38c80836df5f5 (patch)
tree23ce8392e9fd81987d2bf4eda50a1e1a100f8002 /dex
parent9f56debcde5617d7bf13288b9bebca763e4fe234 (diff)
downloaddexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar.gz
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar.bz2
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar.lz
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar.xz
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.tar.zst
dexon-429d5cb30e0883b5f2e68fb7a3b38c80836df5f5.zip
core: included Dexcon metadata in block
Diffstat (limited to 'dex')
-rw-r--r--dex/app.go16
1 files changed, 11 insertions, 5 deletions
diff --git a/dex/app.go b/dex/app.go
index 40366c25f..ecd29546e 100644
--- a/dex/app.go
+++ b/dex/app.go
@@ -347,22 +347,27 @@ func (d *DexconApp) BlockDelivered(blockHash coreCommon.Hash, result coreTypes.F
block := d.blockchain.GetConfirmedBlockByHash(blockHash)
if block == nil {
- log.Error("Can not get confirmed block")
- return
+ panic("Can not get confirmed block")
}
var transactions types.Transactions
err := rlp.Decode(bytes.NewReader(block.Payload), &transactions)
if err != nil {
log.Error("Payload rlp decode failed", "error", err)
- return
+ panic(err)
}
var witnessData witnessData
err = rlp.Decode(bytes.NewReader(block.Witness.Data), &witnessData)
if err != nil {
log.Error("Witness rlp decode failed", "error", err)
- return
+ panic(err)
+ }
+
+ block.Payload = nil
+ dexconMeta, err := rlp.EncodeToBytes(block)
+ if err != nil {
+ panic(err)
}
log.Debug("Block proposer id", "hash", block.ProposerID)
@@ -378,13 +383,14 @@ func (d *DexconApp) BlockDelivered(blockHash coreCommon.Hash, result coreTypes.F
ChainBlockHeight: block.Position.Height,
// TODO(bojie): fix it
GasLimit: 8000000,
+ DexconMeta: dexconMeta,
Difficulty: big.NewInt(1),
}, transactions, nil, nil)
_, err = d.blockchain.InsertPendingBlocks([]*types.Block{newBlock})
if err != nil {
log.Error("Insert chain", "error", err)
- return
+ panic(err)
}
log.Debug("Insert pending block success", "height", result.Height)