OSDN Git Service

Merge pull request #201 from Bytom/v0.1
[bytom/vapor.git] / tools / contracthashtool / contracthashtool.go
diff --git a/tools/contracthashtool/contracthashtool.go b/tools/contracthashtool/contracthashtool.go
deleted file mode 100644 (file)
index 463ea7c..0000000
+++ /dev/null
@@ -1,104 +0,0 @@
-package main
-
-import (
-       "crypto/hmac"
-       "crypto/sha256"
-       "fmt"
-       "os"
-       "strings"
-
-       "github.com/spf13/cobra"
-       cmn "github.com/tendermint/tmlibs/common"
-
-       "github.com/vapor/common"
-       "github.com/vapor/consensus"
-       "github.com/vapor/crypto"
-       "github.com/vapor/crypto/ed25519/chainkd"
-       chainjson "github.com/vapor/encoding/json"
-       "github.com/vapor/equity/pegin_contract"
-       "github.com/vapor/util"
-)
-
-var (
-       fedpegXPubs    string
-       fedpegXPrv     string
-       claimScriptStr string
-       mode           = uint16(0)
-)
-
-var runCmd = &cobra.Command{
-       Use:   "run",
-       Short: "pegin contract tool",
-       Run:   run,
-}
-
-func init() {
-       //runCmd.PersistentFlags().Uint64Var(&startHeight, "start_height", 0, "Start monitoring block height for transactions")
-       runCmd.PersistentFlags().StringVar(&fedpegXPubs, "fedpeg_xpubs", "", "Change federated peg to use a different xpub.Use Comma Delimiters.")
-       runCmd.PersistentFlags().StringVar(&fedpegXPrv, "xprv", "", "Generates one of the private keys corresponding to the payment contract address.")
-       runCmd.PersistentFlags().Uint16Var(&mode, "mode", 0, "0: generates the contract address for the payment  1: generate the private key corresponding to the payment contract address.")
-       runCmd.PersistentFlags().StringVar(&claimScriptStr, "claim_script", "", "Redemption of the script.")
-}
-
-func run(cmd *cobra.Command, args []string) {
-       if mode == 0 {
-               if fedpegXPubs == "" {
-                       cmn.Exit(cmn.Fmt("OH GOD WHAT DID YOU DO? fedpeg_xpubs is empty."))
-               }
-               var federationRedeemXPubs []chainkd.XPub
-               fedpegXPubs := strings.Split(fedpegXPubs, ",")
-               for _, xpubStr := range fedpegXPubs {
-                       var xpub chainkd.XPub
-                       xpub.UnmarshalText([]byte(xpubStr))
-                       federationRedeemXPubs = append(federationRedeemXPubs, xpub)
-               }
-               consensus.ActiveNetParams.FedpegXPubs = federationRedeemXPubs
-               if claimScriptStr == "" {
-                       cmn.Exit(cmn.Fmt("OH GOD WHAT DID YOU DO? claim_script is empty."))
-               }
-               var claimScript chainjson.HexBytes
-               claimScript.UnmarshalText([]byte(claimScriptStr))
-               peginContractPrograms, err := pegin_contract.GetPeginContractPrograms(claimScript)
-               if err != nil {
-                       cmn.Exit(cmn.Fmt("GetPeginContractPrograms returns an error, %v", err))
-               }
-               scriptHash := crypto.Sha256(peginContractPrograms)
-               address, err := common.NewPeginAddressWitnessScriptHash(scriptHash, &consensus.ActiveNetParams)
-               if err != nil {
-                       cmn.Exit(cmn.Fmt("NewPeginAddressWitnessScriptHash returns an error, %v", err))
-               }
-               fmt.Println("contract address:", address.EncodeAddress())
-               fmt.Println("claim_script:", claimScriptStr)
-
-       } else if mode == 1 {
-               if fedpegXPrv == "" {
-                       cmn.Exit(cmn.Fmt("OH GOD WHAT DID YOU DO? xprv is empty."))
-               }
-               if claimScriptStr == "" {
-                       cmn.Exit(cmn.Fmt("OH GOD WHAT DID YOU DO? claim_script is empty."))
-               }
-               var claimScript chainjson.HexBytes
-               claimScript.UnmarshalText([]byte(claimScriptStr))
-
-               var xprv chainkd.XPrv
-               xprv.UnmarshalText([]byte(fedpegXPrv))
-               xpub := xprv.XPub()
-               // pub + scriptPubKey 生成一个随机数A
-               var tmp [32]byte
-               h := hmac.New(sha256.New, xpub[:])
-               h.Write(claimScript)
-               tweak := h.Sum(tmp[:])
-               // pub +  A 生成一个新的公钥pub_new
-               privateKey := xprv.Child(tweak, false)
-               fmt.Println("New secret key: ", privateKey.String())
-               fmt.Println("claim_script:", claimScriptStr)
-       } else {
-               cmn.Exit(cmn.Fmt("OH GOD WHAT DID YOU DO?"))
-       }
-}
-
-func main() {
-       if _, err := runCmd.ExecuteC(); err != nil {
-               os.Exit(util.ErrLocalExe)
-       }
-}