aboutsummaryrefslogtreecommitdiffstats
path: root/cmd
diff options
context:
space:
mode:
Diffstat (limited to 'cmd')
-rw-r--r--cmd/abigen/main.go11
1 files changed, 8 insertions, 3 deletions
diff --git a/cmd/abigen/main.go b/cmd/abigen/main.go
index 3ac37ba7a..d19164b18 100644
--- a/cmd/abigen/main.go
+++ b/cmd/abigen/main.go
@@ -75,7 +75,7 @@ func main() {
bins []string
types []string
)
- if *solFlag != "" || *abiFlag == "-" {
+ if *solFlag != "" || (*abiFlag == "-" && *pkgFlag == "") {
// Generate the list of types to exclude from binding
exclude := make(map[string]bool)
for _, kind := range strings.Split(*excFlag, ",") {
@@ -111,7 +111,13 @@ func main() {
}
} else {
// Otherwise load up the ABI, optional bytecode and type name from the parameters
- abi, err := ioutil.ReadFile(*abiFlag)
+ var abi []byte
+ var err error
+ if *abiFlag == "-" {
+ abi, err = ioutil.ReadAll(os.Stdin)
+ } else {
+ abi, err = ioutil.ReadFile(*abiFlag)
+ }
if err != nil {
fmt.Printf("Failed to read input ABI: %v\n", err)
os.Exit(-1)
@@ -155,6 +161,5 @@ func contractsFromStdin() (map[string]*compiler.Contract, error) {
if err != nil {
return nil, err
}
-
return compiler.ParseCombinedJSON(bytes, "", "", "", "")
}