Skip to content

Commit

Permalink
Feat/zked (#1148)
Browse files Browse the repository at this point in the history
* Add transition validation check to signature

* add transition flag to signature

* wip

* wip

* cleanup

* cleanup

* testworld test

* testworld test

* no hash msg

* simplify

* integrate sc

* fix test

* fix test

* fix test

* Integrate proto and pp changes

* wip: flattening data tree + renaming

* Feat/coreapi handler (#1080)

* add core api handler

* add types test

* review changes

* add middleware tests

* working api

* add test world test

* update tests

* fix testworld

* remove middleware

* add accounts to header rule

* skip tests

* added funder and borrower id (#1084)

* use leaves

* rename signing root to document data root

* use typed errors

* Feat/coreapi update (#1087)

* add update endpoint

* add testworld case

* fix testworld

* feat: nft tokenTransfer and ownerOf support (#1085)

* added protobuf for transfer from

* renamed unpaidInvoice to service in nft package

* added transferFromJob

* added transferFrom service method

* added TokenTransfer handler method

* added mock for transferFrom

* added integration test for nftTransfer

* added fail transactionFrom integration test

* added handler unit tests

* handler unit test

* fmt

* fmt

* clean up

* increased gas for transferFrom

* swagger

* better gaslimit for transferFrom

* added protobuf for ownerOf

* added handler for ownerOf

* fixed handler ownerOf

* added handler test for owner of

* better ownerOf response

* added testworld test for nftTransfer

* added testworld test owner of

* fmt

* change to new nft rest api paths

* fixed spacing

* fmt

*  Incorrect Protocol Messages Testcases #837 (#1083)

* add incorrect node version, incorrect body tests

* remove unnecessary test function in incorrect_proto_test

* use updated peer interface to getPeerID

* removed oskar

* renamed messenger_testworld file

* add linting

* Revert "add linting"
fix linting issue
This reverts commit 8d85b3d.

* linting fix

* remove local account check

* lint fix

* lint fix

* add message over max size test

* lint fix

* add specific assertions

* new mint url (#1090)

* Jobs and Get Document API (#1089)

* add update endpoint

* add testworld case

* fix testworld

* migrate jobs to rest

* migrate jobs to rest

* fix unit tests

* add get and get version

* update swagger

* update testworld tests

* Feat/proofs api (#1095)

* add update endpoint

* add testworld case

* fix testworld

* migrate jobs to rest

* migrate jobs to rest

* fix unit tests

* add get and get version

* update swagger

* update testworld tests

* add proofs endpoints

* add proofs endpoints

* update testworld tests

* better test coverage

* Add PO to generic documents API (#1102)

* add data object

* add required model methods

* enable po for generic apis

* add test world test case

* lint check

* update swagger

* replace url path params with constants

* nft_logs (#1103)

* fix test

* set range for webhook http status code job log (#1104)

* range for webhook http status code job log
* added test

* Add Entity to CoreAPIs (#1105)

* entity data

* add model methods

* add entity to the core apis

* add converters tests

* add test world cases

* fix testworld

* cleanup

* clean

* clean

* Feat/nfts api (#1108)

* entity data

* add model methods

* add entity to the core apis

* add converters tests

* add test world cases

* fix testworld

* migrate min nft

* migrate transfer nft

* migrate owner nft

* fix unit tests

* fix test world

* fix nft tests

* fix unit and tes world tests

* add accounts sign api (#1114)

* Byzantine fault behaviour tests 1 #876 (#1077)

* add Byzantine test

* add client signature verification

* adjust unit test according changed function signature

* adjust unit test

* adjust unit test

* goimports

* fix signing root calculating

* adjust server_testworld test

* Adjust TestHost_RevokedSigningKey

* add another two signature test

* adjust TestHost_RevokedSigningKey

* no content, force a CI build, it is ok on my site

* add print information for debugging

* change according to comments

* adjust format

* increase timeout limit to 30 min

* Feat/api versionning (#1117)

* version accounts

* funding service apis

* invoices and nft

* pos

* Byzantine fault behaviour tests 1 #876 (#1077)

* add Byzantine test

* add client signature verification

* adjust unit test according changed function signature

* adjust unit test

* adjust unit test

* goimports

* fix signing root calculating

* adjust server_testworld test

* Adjust TestHost_RevokedSigningKey

* add another two signature test

* adjust TestHost_RevokedSigningKey

* no content, force a CI build, it is ok on my site

* add print information for debugging

* change according to comments

* adjust format

* increase timeout limit to 30 min

* fix testworlds

* move collaborators up

* migrate attributes

* fix tests

* api todos

* rename nfts

* fix tests

* update swagger routes

* add debug

* fix tests


Co-authored-by: null <zy_frank@hotmail.com>

* change file permissions (#1123)

* Feat/generic (#1122)

* add generic doc service

* add testworkd tests

* add update to service

* update deps

* change deps

* remove duplicate auth (#1133)

* Fix repo panic (#1139)

* TransferDetails Pt1: Generic attribute util functions, funding related changes (#1135)

* TransferDetails Pt2: TD service, Bootstrapper (#1136)

* milestone1

* rename dataTree

* ordered trees

* fix tests

* fix tests

* fix tests
  • Loading branch information
mikiquantum committed Jun 27, 2019
1 parent 7f74a2e commit 2ef111c
Show file tree
Hide file tree
Showing 212 changed files with 11,613 additions and 5,062 deletions.
11 changes: 7 additions & 4 deletions Gopkg.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

5 changes: 3 additions & 2 deletions Gopkg.toml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ required = ["github.com/centrifuge/centrifuge-ethereum-contracts", "github.com/r

[[constraint]]
name = "github.com/centrifuge/centrifuge-protobufs"
revision = "4182bd33f07ef95ec29f14b458cfdb2a580aabbf"
revision = "7f0a5b9252522a9cd336ad522d6ef181185e2ca0"

[[override]]
name = "github.com/centrifuge/centrifuge-ethereum-contracts"
Expand All @@ -40,7 +40,8 @@ required = ["github.com/centrifuge/centrifuge-ethereum-contracts", "github.com/r

[[override]]
name = "github.com/centrifuge/precise-proofs"
revision = "ba94d76ec63112adbfa8595088f24502dc6aee0b"
source = "github.com/mikiquantum/precise-proofs"
revision = "602cfd921194f453eb5439ca791656fb5bb8a89d"

[[constraint]]
name = "github.com/centrifuge/gocelery"
Expand Down
3 changes: 2 additions & 1 deletion Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ install-deps: ## Install Dependencies
@mv ./bin/* $(GOPATH)/bin/; rm -rf ./bin

lint-check: ## runs linters on go code
@gometalinter --exclude=anchors/service.go --exclude=documents/extension/funding/funding.go --disable-all --enable=golint --enable=goimports --enable=vet --enable=nakedret \
@gometalinter --exclude=anchors/service.go --disable-all --enable=golint --enable=goimports --enable=vet --enable=nakedret \
--enable=staticcheck --vendor --skip=resources --skip=testingutils --skip=protobufs --deadline=1m ./...;

format-go: ## formats go code
Expand All @@ -54,6 +54,7 @@ proto-gen-go: ## generates the go bindings

proto-all: ## runs prototool all
$(PROTOTOOL_BIN) all protobufs
@goimports -w ./protobufs/gen/

gen-swagger: ## generates the swagger documentation
swag init -g ./httpapi/router.go -o ./protobufs/gen/swagger/api
Expand Down
6 changes: 1 addition & 5 deletions api/server.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,6 @@ import (

"github.com/centrifuge/go-centrifuge/config"
"github.com/centrifuge/go-centrifuge/errors"
"github.com/centrifuge/go-centrifuge/httpapi"
"github.com/centrifuge/go-centrifuge/utils"
"github.com/grpc-ecosystem/grpc-gateway/runtime"
logging "github.com/ipfs/go-log"
Expand Down Expand Up @@ -64,11 +63,8 @@ func (c apiServer) Start(ctx context.Context, wg *sync.WaitGroup, startupErr cha
opts := []grpc.ServerOption{grpcInterceptor()}

grpcServer := grpc.NewServer(opts...)

mux := httpapi.Router(c.config)
gwmux := runtime.NewServeMux()

err = registerServices(ctx, grpcServer, gwmux, grpcAddr, []grpc.DialOption{grpc.WithInsecure()})
mux, err := registerServices(ctx, grpcServer, gwmux, grpcAddr, []grpc.DialOption{grpc.WithInsecure()})
if err != nil {
startupErr <- err
return
Expand Down
4 changes: 3 additions & 1 deletion api/server_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,11 +17,12 @@ import (
"github.com/centrifuge/go-centrifuge/documents"
"github.com/centrifuge/go-centrifuge/documents/entity"
"github.com/centrifuge/go-centrifuge/documents/entityrelationship"
"github.com/centrifuge/go-centrifuge/documents/extension/funding"
"github.com/centrifuge/go-centrifuge/documents/generic"
"github.com/centrifuge/go-centrifuge/documents/invoice"
"github.com/centrifuge/go-centrifuge/documents/purchaseorder"
"github.com/centrifuge/go-centrifuge/errors"
"github.com/centrifuge/go-centrifuge/ethereum"
"github.com/centrifuge/go-centrifuge/extensions/funding"
"github.com/centrifuge/go-centrifuge/identity/ideth"
"github.com/centrifuge/go-centrifuge/jobs/jobsv1"
"github.com/centrifuge/go-centrifuge/nft"
Expand Down Expand Up @@ -54,6 +55,7 @@ func TestMain(m *testing.M) {
&invoice.Bootstrapper{},
&entityrelationship.Bootstrapper{},
&purchaseorder.Bootstrapper{},
generic.Bootstrapper{},
&ethereum.Bootstrapper{},
&nft.Bootstrapper{},
&queue.Starter{},
Expand Down
52 changes: 18 additions & 34 deletions api/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,73 +6,66 @@ import (
"github.com/centrifuge/go-centrifuge/config/configstore"
"github.com/centrifuge/go-centrifuge/documents"
"github.com/centrifuge/go-centrifuge/documents/entity"
"github.com/centrifuge/go-centrifuge/documents/extension/funding"
"github.com/centrifuge/go-centrifuge/documents/invoice"
"github.com/centrifuge/go-centrifuge/documents/purchaseorder"
"github.com/centrifuge/go-centrifuge/errors"
"github.com/centrifuge/go-centrifuge/extensions/funding"
"github.com/centrifuge/go-centrifuge/httpapi"
"github.com/centrifuge/go-centrifuge/jobs"
"github.com/centrifuge/go-centrifuge/jobs/jobsv1"
"github.com/centrifuge/go-centrifuge/nft"
"github.com/centrifuge/go-centrifuge/protobufs/gen/go/account"
"github.com/centrifuge/go-centrifuge/protobufs/gen/go/document"
"github.com/centrifuge/go-centrifuge/protobufs/gen/go/entity"
funpb "github.com/centrifuge/go-centrifuge/protobufs/gen/go/funding"
invoicepb "github.com/centrifuge/go-centrifuge/protobufs/gen/go/invoice"
"github.com/centrifuge/go-centrifuge/protobufs/gen/go/jobs"
"github.com/centrifuge/go-centrifuge/protobufs/gen/go/nft"
purchaseorderpb "github.com/centrifuge/go-centrifuge/protobufs/gen/go/purchaseorder"
"github.com/go-chi/chi"
"github.com/grpc-ecosystem/grpc-gateway/runtime"
"golang.org/x/net/context"
"google.golang.org/grpc"
)

// registerServices registers all endpoints to the grpc server
func registerServices(ctx context.Context, grpcServer *grpc.Server, gwmux *runtime.ServeMux, addr string, dopts []grpc.DialOption) error {
func registerServices(ctx context.Context, grpcServer *grpc.Server, gwmux *runtime.ServeMux, addr string, dopts []grpc.DialOption) (mux *chi.Mux, err error) {
// node object registry
nodeObjReg, ok := ctx.Value(bootstrap.NodeObjRegistry).(map[string]interface{})
if !ok {
return errors.New("failed to get %s", bootstrap.NodeObjRegistry)
}

// load dependencies
registry, ok := nodeObjReg[documents.BootstrappedRegistry].(*documents.ServiceRegistry)
if !ok {
return errors.New("failed to get %s", documents.BootstrappedRegistry)
return nil, errors.New("failed to get %s", bootstrap.NodeObjRegistry)
}

configService, ok := nodeObjReg[config.BootstrappedConfigStorage].(config.Service)
if !ok {
return errors.New("failed to get %s", config.BootstrappedConfigStorage)
return nil, errors.New("failed to get %s", config.BootstrappedConfigStorage)
}

invoiceUnpaidService, ok := nodeObjReg[bootstrap.BootstrappedInvoiceUnpaid].(nft.InvoiceUnpaid)
if !ok {
return errors.New("failed to get %s", bootstrap.BootstrappedInvoiceUnpaid)
return nil, errors.New("failed to get %s", bootstrap.BootstrappedInvoiceUnpaid)
}

// register documents (common)
documentpb.RegisterDocumentServiceServer(grpcServer, documents.GRPCHandler(configService, registry))
err := documentpb.RegisterDocumentServiceHandlerFromEndpoint(ctx, gwmux, addr, dopts)
if err != nil {
return err
docService, ok := nodeObjReg[documents.BootstrappedDocumentService].(documents.Service)
if !ok {
return nil, errors.New("failed to get %s", documents.BootstrappedDocumentService)
}

// register document types
err = registerDocumentTypes(ctx, nodeObjReg, grpcServer, gwmux, addr, dopts)
if err != nil {
return err
return nil, err
}

// register other api endpoints
err = registerAPIs(ctx, invoiceUnpaidService, configService, nodeObjReg, grpcServer, gwmux, addr, dopts)
err = registerAPIs(ctx, invoiceUnpaidService, configService, grpcServer, gwmux, addr, dopts)
if err != nil {
return err
return nil, err
}

return nil
cfg := nodeObjReg[bootstrap.BootstrappedConfig].(config.Configuration)
jobsMan := nodeObjReg[jobs.BootstrappedService].(jobs.Manager)
return httpapi.Router(cfg, configService, invoiceUnpaidService, docService, jobsMan), nil
}

func registerAPIs(ctx context.Context, InvoiceUnpaidService nft.InvoiceUnpaid, configService config.Service, nodeObjReg map[string]interface{}, grpcServer *grpc.Server, gwmux *runtime.ServeMux, addr string, dopts []grpc.DialOption) error {
func registerAPIs(ctx context.Context, InvoiceUnpaidService nft.InvoiceUnpaid, configService config.Service, grpcServer *grpc.Server, gwmux *runtime.ServeMux, addr string, dopts []grpc.DialOption) error {

// nft api
nftpb.RegisterNFTServiceServer(grpcServer, nft.GRPCHandler(configService, InvoiceUnpaidService))
Expand All @@ -83,16 +76,7 @@ func registerAPIs(ctx context.Context, InvoiceUnpaidService nft.InvoiceUnpaid, c

// account api
accountpb.RegisterAccountServiceServer(grpcServer, configstore.GRPCAccountHandler(configService))
err = accountpb.RegisterAccountServiceHandlerFromEndpoint(ctx, gwmux, addr, dopts)
if err != nil {
return err
}

// transactions
jobsMan := nodeObjReg[jobs.BootstrappedService].(jobs.Manager)
h := jobsv1.GRPCHandler(jobsMan, configService)
jobspb.RegisterJobServiceServer(grpcServer, h)
return jobspb.RegisterJobServiceHandlerFromEndpoint(ctx, gwmux, addr, dopts)
return accountpb.RegisterAccountServiceHandlerFromEndpoint(ctx, gwmux, addr, dopts)
}

func registerDocumentTypes(ctx context.Context, nodeObjReg map[string]interface{}, grpcServer *grpc.Server, gwmux *runtime.ServeMux, addr string, dopts []grpc.DialOption) error {
Expand Down
6 changes: 5 additions & 1 deletion bootstrap/bootstrappers/bootstrapper.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,10 +9,12 @@ import (
"github.com/centrifuge/go-centrifuge/documents"
"github.com/centrifuge/go-centrifuge/documents/entity"
"github.com/centrifuge/go-centrifuge/documents/entityrelationship"
"github.com/centrifuge/go-centrifuge/documents/extension/funding"
"github.com/centrifuge/go-centrifuge/documents/generic"
"github.com/centrifuge/go-centrifuge/documents/invoice"
"github.com/centrifuge/go-centrifuge/documents/purchaseorder"
"github.com/centrifuge/go-centrifuge/ethereum"
"github.com/centrifuge/go-centrifuge/extensions/funding"
"github.com/centrifuge/go-centrifuge/extensions/transferdetails"
"github.com/centrifuge/go-centrifuge/identity/ideth"
"github.com/centrifuge/go-centrifuge/jobs/jobsv1"
"github.com/centrifuge/go-centrifuge/nft"
Expand Down Expand Up @@ -48,11 +50,13 @@ func (m *MainBootstrapper) PopulateBaseBootstrappers() {
&invoice.Bootstrapper{},
&entityrelationship.Bootstrapper{},
&purchaseorder.Bootstrapper{},
generic.Bootstrapper{},
&nft.Bootstrapper{},
p2p.Bootstrapper{},
documents.PostBootstrapper{},
&entity.Bootstrapper{},
funding.Bootstrapper{},
transferdetails.Bootstrapper{},
}
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,10 +11,12 @@ import (
"github.com/centrifuge/go-centrifuge/documents"
"github.com/centrifuge/go-centrifuge/documents/entity"
"github.com/centrifuge/go-centrifuge/documents/entityrelationship"
"github.com/centrifuge/go-centrifuge/documents/extension/funding"
"github.com/centrifuge/go-centrifuge/documents/generic"
"github.com/centrifuge/go-centrifuge/documents/invoice"
"github.com/centrifuge/go-centrifuge/documents/purchaseorder"
"github.com/centrifuge/go-centrifuge/ethereum"
"github.com/centrifuge/go-centrifuge/extensions/funding"
"github.com/centrifuge/go-centrifuge/extensions/transferdetails"
"github.com/centrifuge/go-centrifuge/identity/ideth"
"github.com/centrifuge/go-centrifuge/jobs/jobsv1"
"github.com/centrifuge/go-centrifuge/nft"
Expand All @@ -41,11 +43,13 @@ var bootstrappers = []bootstrap.TestBootstrapper{
&invoice.Bootstrapper{},
&entityrelationship.Bootstrapper{},
&purchaseorder.Bootstrapper{},
generic.Bootstrapper{},
&nft.Bootstrapper{},
p2p.Bootstrapper{},
documents.PostBootstrapper{},
&entity.Bootstrapper{},
funding.Bootstrapper{},
transferdetails.Bootstrapper{},
&queue.Starter{},
}

Expand Down
2 changes: 1 addition & 1 deletion bootstrap/doc.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ was being used even for unit tests because there was no way to mock it out indiv
Other than solving those problems while allowing the code to slowly evolve, Bootstrappers satisfies the need for inversion of control(IOC)
where modules of code get injected with their dependencies based on a requirement defined by each package in the bootstrapper.go.
This convention of defining a boostrapper.go in each package also serves as a good documentation source as well as to reduce
This convention of defining a bootstrapper.go in each package also serves as a good documentation source as well as to reduce
complexity in understanding the code base at a global level. The package level bootstrapper also helps in implementing runtime
behavior modifications based on IOC, that are very useful in simulations.
Expand Down
1 change: 1 addition & 0 deletions build/configs/default_config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ ethereum:
anchorCommit: 85000
anchorPreCommit: 100000
nftMint: 900000
nftTransferFrom: 150000
# Timeout to wait for an ethereum transaction to be added to a block and events triggered
contextWaitTimeout: "600s"
# Timeout to wait for read only operations against ethereum
Expand Down
11 changes: 10 additions & 1 deletion build/scripts/build_swagger.js
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,16 @@ let addAuthHeader = function(obj) {
obj.parameters = []
}

obj.parameters.push(authHeader);
let foundAuth = false;
obj.parameters.forEach(function (p) {
if (p.name === "authorization") {
foundAuth = true;
}
});

if (!foundAuth){
obj.parameters.push(authHeader);
}
};

let files = getSwaggerFiles(swaggerFilesPath);
Expand Down
2 changes: 1 addition & 1 deletion build/scripts/tests/run_testworld.sh
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ eval "$cleanup"

status=$?

output="go test -v -coverprofile=profile.out -covermode=atomic -tags=testworld github.com/centrifuge/go-centrifuge/testworld 2>&1"
output="go test -timeout 30m -v -coverprofile=profile.out -covermode=atomic -tags=testworld github.com/centrifuge/go-centrifuge/testworld 2>&1"
eval "$output" | while IFS= read -r line; do printf '[%s] %s\n' "$(date '+%Y-%m-%d %H:%M:%S')" "$line"; done
if [ ${PIPESTATUS[0]} -ne 0 ]; then
status=1
Expand Down
2 changes: 1 addition & 1 deletion config/configstore/handler.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ func (h grpcHandler) deriveAllAccountResponse(cfgs []config.Account) (*accountpb
}

func (h grpcHandler) GetAccount(ctx context.Context, req *accountpb.GetAccountRequest) (*accountpb.AccountData, error) {
id, err := hexutil.Decode(req.Identifier)
id, err := hexutil.Decode(req.AccountId)
if err != nil {
return nil, err
}
Expand Down
10 changes: 5 additions & 5 deletions config/configstore/handler_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ func TestGrpcHandler_GetAccountNotExist(t *testing.T) {
repo.RegisterAccount(&Account{})
svc := DefaultService(repo, idService)
h := GRPCAccountHandler(svc)
readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{Identifier: "0x123456789"})
readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{AccountId: "0x123456789"})
assert.NotNil(t, err)
assert.Nil(t, readCfg)
}
Expand All @@ -40,7 +40,7 @@ func TestGrpcHandler_GetAccount(t *testing.T) {
assert.Nil(t, err)
accID, err := accountCfg.GetIdentityID()
assert.Nil(t, err)
readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{Identifier: hexutil.Encode(accID)})
readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{AccountId: hexutil.Encode(accID)})
assert.Nil(t, err)
assert.NotNil(t, readCfg)
}
Expand Down Expand Up @@ -141,7 +141,7 @@ func TestGrpcHandler_UpdateAccount(t *testing.T) {
// Config doesn't exist
accpb, err := tcfg.CreateProtobuf()
assert.NoError(t, err)
_, err = h.UpdateAccount(context.Background(), &accountpb.UpdateAccountRequest{Identifier: hexutil.Encode(accID), Data: accpb})
_, err = h.UpdateAccount(context.Background(), &accountpb.UpdateAccountRequest{AccountId: hexutil.Encode(accID), Data: accpb})
assert.NotNil(t, err)

accpb, err = tcfg.CreateProtobuf()
Expand All @@ -151,10 +151,10 @@ func TestGrpcHandler_UpdateAccount(t *testing.T) {
acc.EthereumDefaultAccountName = "other"
tccpb, err := acc.CreateProtobuf()
assert.NoError(t, err)
_, err = h.UpdateAccount(context.Background(), &accountpb.UpdateAccountRequest{Identifier: hexutil.Encode(accID), Data: tccpb})
_, err = h.UpdateAccount(context.Background(), &accountpb.UpdateAccountRequest{AccountId: hexutil.Encode(accID), Data: tccpb})
assert.Nil(t, err)

readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{Identifier: hexutil.Encode(accID)})
readCfg, err := h.GetAccount(context.Background(), &accountpb.GetAccountRequest{AccountId: hexutil.Encode(accID)})
assert.Nil(t, err)
assert.Equal(t, acc.EthereumDefaultAccountName, readCfg.EthDefaultAccountName)
}

0 comments on commit 2ef111c

Please sign in to comment.