OSDN Git Service

Thanos did someting
[bytom/vapor.git] / equity / equity / main.go
diff --git a/equity/equity/main.go b/equity/equity/main.go
deleted file mode 100644 (file)
index a4733cc..0000000
+++ /dev/null
@@ -1,124 +0,0 @@
-package main
-
-import (
-       "bufio"
-       "encoding/hex"
-       "fmt"
-       "os"
-       "runtime"
-
-       "github.com/spf13/cobra"
-
-       "github.com/vapor/equity/compiler"
-       equityutil "github.com/vapor/equity/equity/util"
-)
-
-const (
-       strBin      string = "bin"
-       strShift    string = "shift"
-       strInstance string = "instance"
-)
-
-var (
-       bin      = false
-       shift    = false
-       instance = false
-)
-
-func init() {
-       equityCmd.PersistentFlags().BoolVar(&bin, strBin, false, "Binary of the contracts in hex.")
-       equityCmd.PersistentFlags().BoolVar(&shift, strShift, false, "Function shift of the contracts.")
-       equityCmd.PersistentFlags().BoolVar(&instance, strInstance, false, "Object of the Instantiated contracts.")
-}
-
-func main() {
-       runtime.GOMAXPROCS(runtime.NumCPU())
-       if err := equityCmd.Execute(); err != nil {
-               os.Exit(0)
-       }
-}
-
-var equityCmd = &cobra.Command{
-       Use:     "equity <input_file>",
-       Short:   "equity commandline compiler",
-       Example: "equity contract_name [contract_args...] --bin --instance",
-       Args:    cobra.RangeArgs(1, 100),
-       Run: func(cmd *cobra.Command, args []string) {
-               if len(args) < 1 {
-                       cmd.Usage()
-               }
-
-               contractFile, err := os.Open(args[0])
-               if err != nil {
-                       fmt.Printf("An error [%v] occurred on opening the file, please check whether the file exists or can be accessed.\n", err)
-                       os.Exit(0)
-               }
-               defer contractFile.Close()
-
-               reader := bufio.NewReader(contractFile)
-               contracts, err := compiler.Compile(reader)
-               if err != nil {
-                       fmt.Println("Compile contract failed:", err)
-                       os.Exit(0)
-               }
-
-               if len(contracts) == 0 {
-                       fmt.Println("The contract is empty!")
-                       os.Exit(0)
-               }
-
-               // Print the result for all contracts
-               for i, contract := range contracts {
-                       fmt.Printf("======= %v =======\n", contract.Name)
-                       if bin {
-                               fmt.Println("Binary:")
-                               fmt.Printf("%v\n\n", hex.EncodeToString(contract.Body))
-                       }
-
-                       if shift {
-                               fmt.Println("Clause shift:")
-                               clauseMap, err := equityutil.Shift(contract)
-                               if err != nil {
-                                       fmt.Println("Statistics contract clause shift error:", err)
-                                       os.Exit(0)
-                               }
-
-                               for clause, shift := range clauseMap {
-                                       fmt.Printf("    %s:  %v\n", clause, shift)
-                               }
-                               fmt.Printf("\nNOTE: \n    If the contract contains only one clause, Users don't need clause selector when unlock contract." +
-                                       "\n    Furthermore, there is no signification for ending clause shift except for display.\n\n")
-                       }
-
-                       if instance {
-                               if i != len(contracts)-1 {
-                                       continue
-                               }
-
-                               fmt.Println("Instantiated program:")
-                               if len(args)-1 < len(contract.Params) {
-                                       fmt.Printf("Error: The number of input arguments %d is less than the number of contract parameters %d\n", len(args)-1, len(contract.Params))
-                                       usage := fmt.Sprintf("Usage:\n  equity %s", args[0])
-                                       for _, param := range contract.Params {
-                                               usage = usage + " <" + param.Name + ">"
-                                       }
-                                       fmt.Printf("%s\n\n", usage)
-                                       os.Exit(0)
-                               }
-
-                               contractArgs, err := equityutil.ConvertArguments(contract, args[1:len(contract.Params)+1])
-                               if err != nil {
-                                       fmt.Println("Convert arguments into contract parameters error:", err)
-                                       os.Exit(0)
-                               }
-
-                               instantProg, err := equityutil.InstantiateContract(contract, contractArgs)
-                               if err != nil {
-                                       fmt.Println("Instantiate contract error:", err)
-                                       os.Exit(0)
-                               }
-                               fmt.Printf("%v\n\n", hex.EncodeToString(instantProg))
-                       }
-               }
-       },
-}