From ea11f7dd7aa77856a04d83d0db8f303d02e0ce14 Mon Sep 17 00:00:00 2001 From: Martin Holst Swende Date: Thu, 25 May 2017 17:08:13 +0200 Subject: internal/ethapi: add mutex around signing + nonce assignment This prevents concurrent assignment of identical nonces when automatic assignment is used. --- internal/ethapi/backend.go | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'internal/ethapi/backend.go') diff --git a/internal/ethapi/backend.go b/internal/ethapi/backend.go index 42bf26613..68b5069d0 100644 --- a/internal/ethapi/backend.go +++ b/internal/ethapi/backend.go @@ -73,6 +73,7 @@ type State interface { } func GetAPIs(apiBackend Backend) []rpc.API { + nonceLock := new(AddrLocker) return []rpc.API{ { Namespace: "eth", @@ -87,7 +88,7 @@ func GetAPIs(apiBackend Backend) []rpc.API { }, { Namespace: "eth", Version: "1.0", - Service: NewPublicTransactionPoolAPI(apiBackend), + Service: NewPublicTransactionPoolAPI(apiBackend, nonceLock), Public: true, }, { Namespace: "txpool", @@ -111,7 +112,7 @@ func GetAPIs(apiBackend Backend) []rpc.API { }, { Namespace: "personal", Version: "1.0", - Service: NewPrivateAccountAPI(apiBackend), + Service: NewPrivateAccountAPI(apiBackend, nonceLock), Public: false, }, } -- cgit v1.2.3