2016-11-13 21:16:20 -08:00
|
|
|
package private
|
|
|
|
|
|
|
|
import (
|
|
|
|
"os"
|
2020-05-12 12:55:21 -07:00
|
|
|
"strings"
|
|
|
|
|
|
|
|
"github.com/ethereum/go-ethereum/private/engine/notinuse"
|
2016-11-13 21:16:20 -08:00
|
|
|
|
2020-01-08 08:15:55 -08:00
|
|
|
"github.com/ethereum/go-ethereum/private/privatetransactionmanager"
|
2016-11-13 21:16:20 -08:00
|
|
|
)
|
|
|
|
|
|
|
|
type PrivateTransactionManager interface {
|
|
|
|
Send(data []byte, from string, to []string) ([]byte, error)
|
2020-04-29 07:50:56 -07:00
|
|
|
StoreRaw(data []byte, from string) ([]byte, error)
|
2018-12-05 06:30:42 -08:00
|
|
|
SendSignedTx(data []byte, to []string) ([]byte, error)
|
2016-11-13 21:16:20 -08:00
|
|
|
Receive(data []byte) ([]byte, error)
|
|
|
|
}
|
|
|
|
|
|
|
|
func FromEnvironmentOrNil(name string) PrivateTransactionManager {
|
|
|
|
cfgPath := os.Getenv(name)
|
|
|
|
if cfgPath == "" {
|
|
|
|
return nil
|
|
|
|
}
|
2020-05-12 12:55:21 -07:00
|
|
|
if strings.EqualFold(cfgPath, "ignore") {
|
|
|
|
return ¬inuse.PrivateTransactionManager{}
|
|
|
|
}
|
2020-01-08 08:15:55 -08:00
|
|
|
return privatetransactionmanager.MustNew(cfgPath)
|
2016-11-13 21:16:20 -08:00
|
|
|
}
|
|
|
|
|
|
|
|
var P = FromEnvironmentOrNil("PRIVATE_CONFIG")
|