diff options
author | Stephen Buttolph <[email protected]> | 2020-04-16 01:03:15 -0400 |
---|---|---|
committer | GitHub <[email protected]> | 2020-04-16 01:03:15 -0400 |
commit | 756aac82152ba5265f62d234d94a1926cf572b38 (patch) | |
tree | 2c8314f1c69b9afaf30e71a887cd9734fceb0023 /plugin/evm/block.go | |
parent | ae13dfb64a82d35d6c9607bc61dcf1ac21e59f85 (diff) | |
parent | 6ac9ecf8a736e06a5dba6b971e632342fe6eef66 (diff) |
Merge pull request #4 from ava-labs/revert-2-plugin
Revert "Added the EVM as a plugin"
Diffstat (limited to 'plugin/evm/block.go')
-rw-r--r-- | plugin/evm/block.go | 75 |
1 files changed, 0 insertions, 75 deletions
diff --git a/plugin/evm/block.go b/plugin/evm/block.go deleted file mode 100644 index ec47490..0000000 --- a/plugin/evm/block.go +++ /dev/null @@ -1,75 +0,0 @@ -// (c) 2019-2020, Ava Labs, Inc. All rights reserved. -// See the file LICENSE for licensing terms. - -package evm - -import ( - "fmt" - - "github.com/ava-labs/go-ethereum/core/types" - "github.com/ava-labs/go-ethereum/rlp" - - "github.com/ava-labs/gecko/ids" - "github.com/ava-labs/gecko/snow/choices" - "github.com/ava-labs/gecko/snow/consensus/snowman" -) - -// Block implements the snowman.Block interface -type Block struct { - id ids.ID - ethBlock *types.Block - vm *VM -} - -// ID implements the snowman.Block interface -func (b *Block) ID() ids.ID { return b.id } - -// Accept implements the snowman.Block interface -func (b *Block) Accept() { - b.vm.ctx.Log.Verbo("Block %s is accepted", b.ID()) - b.vm.updateStatus(b.ID(), choices.Accepted) -} - -// Reject implements the snowman.Block interface -func (b *Block) Reject() { - b.vm.ctx.Log.Verbo("Block %s is rejected", b.ID()) - b.vm.updateStatus(b.ID(), choices.Rejected) -} - -// Status implements the snowman.Block interface -func (b *Block) Status() choices.Status { - status := b.vm.getCachedStatus(b.ID()) - if status == choices.Unknown && b.ethBlock != nil { - return choices.Processing - } - return status -} - -// Parent implements the snowman.Block interface -func (b *Block) Parent() snowman.Block { - parentID := ids.NewID(b.ethBlock.ParentHash()) - block := &Block{ - id: parentID, - ethBlock: b.vm.getCachedBlock(parentID), - vm: b.vm, - } - b.vm.ctx.Log.Verbo("Parent(%s) has status: %s", block.ID(), block.Status()) - return block -} - -// Verify implements the snowman.Block interface -func (b *Block) Verify() error { - _, err := b.vm.chain.InsertChain([]*types.Block{b.ethBlock}) - return err -} - -// Bytes implements the snowman.Block interface -func (b *Block) Bytes() []byte { - res, err := rlp.EncodeToBytes(b.ethBlock) - if err != nil { - panic(err) - } - return res -} - -func (b *Block) String() string { return fmt.Sprintf("EVM block, ID = %s", b.ID()) } |