From 627bc7f7fd75d385e623c3c5177c5aeb639a0e52 Mon Sep 17 00:00:00 2001 From: Aaron Buchwald Date: Sun, 29 Nov 2020 14:38:44 -0500 Subject: Address comments --- coreth.go | 5 +---- plugin/evm/static_service.go | 21 +++++++++++++++++++-- plugin/evm/vm.go | 2 +- plugin/evm/vm_test.go | 6 +++++- 4 files changed, 26 insertions(+), 8 deletions(-) diff --git a/coreth.go b/coreth.go index 01bc9af..351a14d 100644 --- a/coreth.go +++ b/coreth.go @@ -2,7 +2,6 @@ package coreth import ( "crypto/ecdsa" - //"fmt" "io" "os" @@ -18,10 +17,8 @@ import ( "github.com/ethereum/go-ethereum/crypto" "github.com/ethereum/go-ethereum/ethdb" "github.com/ethereum/go-ethereum/event" - "github.com/ethereum/go-ethereum/trie" - - //"github.com/ethereum/go-ethereum/event" "github.com/ethereum/go-ethereum/log" + "github.com/ethereum/go-ethereum/trie" "github.com/mattn/go-isatty" ) diff --git a/plugin/evm/static_service.go b/plugin/evm/static_service.go index 1b45939..7b0fa8b 100644 --- a/plugin/evm/static_service.go +++ b/plugin/evm/static_service.go @@ -7,15 +7,32 @@ import ( "context" "encoding/json" + "github.com/ava-labs/avalanchego/utils/formatting" "github.com/ava-labs/coreth/core" ) // StaticService defines the static API services exposed by the evm type StaticService struct{} +// BuildGenesisReply is the reply from BuildGenesis +type BuildGenesisReply struct { + Bytes string `json:"bytes"` + Encoding formatting.Encoding `json:"encoding"` +} + // BuildGenesis returns the UTXOs such that at least one address in [args.Addresses] is // referenced in the UTXO. -func (*StaticService) BuildGenesis(_ context.Context, args *core.Genesis) ([]byte, error) { +func (*StaticService) BuildGenesis(_ context.Context, args *core.Genesis) (*BuildGenesisReply, error) { bytes, err := json.Marshal(args) - return bytes, err + if err != nil { + return nil, err + } + bytesStr, err := formatting.Encode(formatting.Hex, bytes) + if err != nil { + return nil, err + } + return &BuildGenesisReply{ + Bytes: bytesStr, + Encoding: formatting.Hex, + }, nil } diff --git a/plugin/evm/vm.go b/plugin/evm/vm.go index aaf7f10..58ab600 100644 --- a/plugin/evm/vm.go +++ b/plugin/evm/vm.go @@ -131,9 +131,9 @@ func init() { c.RegisterType(&secp256k1fx.Credential{}), c.RegisterType(&secp256k1fx.Input{}), c.RegisterType(&secp256k1fx.OutputOwners{}), + Codec.RegisterCodec(codecVersion, c), ) - errs.Add(Codec.RegisterCodec(0, c)) if errs.Errored() { panic(errs.Err) } diff --git a/plugin/evm/vm_test.go b/plugin/evm/vm_test.go index 1b894ce..2993b3b 100644 --- a/plugin/evm/vm_test.go +++ b/plugin/evm/vm_test.go @@ -63,10 +63,14 @@ func BuildGenesisTest(t *testing.T) []byte { if err := json.Unmarshal([]byte(genesisJSON), genesis); err != nil { t.Fatalf("Problem unmarshaling genesis JSON: %s", err) } - genesisBytes, err := ss.BuildGenesis(nil, genesis) + genesisReply, err := ss.BuildGenesis(nil, genesis) if err != nil { t.Fatalf("Failed to create test genesis") } + genesisBytes, err := formatting.Decode(genesisReply.Encoding, genesisReply.Bytes) + if err != nil { + t.Fatalf("Failed to decode genesis bytes: %w", err) + } return genesisBytes } -- cgit v1.2.3