-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.go
More file actions
110 lines (100 loc) · 3.15 KB
/
main.go
File metadata and controls
110 lines (100 loc) · 3.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
package main
import (
"fmt"
"strings"
"time"
"entropy/message"
"entropy/utils"
"github.com/spf13/cobra"
)
func main() {
var Key string
var Receiver string
var Ammount float64
var Currency string
var Days int64
var Hours int64
var Minutes int64
var Contract string
var Type string
var Direction string
var Status string
var From string
var cmdGen = &cobra.Command{
Use: "gen",
Short: "Generate keys",
Long: `Generate private and public keys to ~/.entropy folder`,
Args: cobra.NoArgs,
Run: func(c *cobra.Command, a []string) {
utils.Gen(Key)
},
}
cmdGen.Flags().StringVarP(&Key, "key", "k", "key", "Name of the keys")
var cmdSend = &cobra.Command{
Use: "send [contract type]",
Short: "Send contract",
Long: `Send your contract to Chain {A | B | C} with default expration in 24 hours`,
Args: cobra.RangeArgs(1, 1),
Run: func(c *cobra.Command, a []string) {
var Exp int64
Exp = Days*86400 + Hours*3600 + Minutes*60
if Exp == 0 {
Exp = 86400
}
Exp += time.Now().Unix()
message.Send(Receiver, Key, strings.Join(a, " "), Currency, Ammount, Exp)
},
}
cmdSend.Flags().StringVarP(&Receiver, "receiver", "r", "",
"Receiver public key (required)")
cmdSend.Flags().StringVarP(&Key, "key", "k", "key",
"Your keys name")
cmdSend.Flags().Float64VarP(&Ammount, "ammount", "a", 1,
"Ammount to send (required)")
cmdSend.Flags().StringVarP(&Currency, "currency", "c", "",
"Currency of transactiom (required) {USD | EUR | RUR | GLD | SLV | OIL}")
cmdSend.Flags().Int64VarP(&Days, "days", "d", 0,
"Expiration in days")
cmdSend.Flags().Int64VarP(&Hours, "hours", "o", 0,
"Expiration in hours")
cmdSend.Flags().Int64VarP(&Minutes, "minutes", "m", 0,
"Expiration in minutes")
cmdSend.MarkFlagRequired("receiver")
cmdSend.MarkFlagRequired("ammount")
cmdSend.MarkFlagRequired("currency")
var cmdView = &cobra.Command{
Use: "view",
Short: "View contracts",
Long: `View your contracts`,
Args: cobra.NoArgs,
Run: func(c *cobra.Command, a []string) {
fmt.Println("Contracts: " + Key)
},
}
cmdView.Flags().StringVarP(&Key, "key", "k", "key", "Your public key name")
cmdView.Flags().StringVarP(&Type, "type", "t", "", "Contract type {A | B | C}")
cmdView.Flags().StringVarP(&Direction, "direction", "d", "", "sender | receiver")
cmdView.Flags().StringVarP(&Status, "status", "s", "", "open | close")
cmdView.Flags().StringVarP(&Currency, "currency", "c", "",
"Currency of transactiom {USD | EUR | RUR | GLD | SLV | OIL}")
cmdView.Flags().StringVarP(&From, "from", "f", utils.DateTime(time.Now().Unix()-86400), "From date in UTC {YYYY-MM-DDTHH:MM:SS}")
var cmdSign = &cobra.Command{
Use: "sign",
Short: "Sign contract",
Long: `Sign received contract`,
Args: cobra.NoArgs,
Run: func(c *cobra.Command, a []string) {
fmt.Println("Contract: ")
},
}
cmdSign.Flags().StringVarP(&Contract, "id", "i", "", "Contract Chain ID")
cmdSign.Flags().StringVarP(&Key, "key", "k", "key", "Your keys name")
cmdSign.MarkFlagRequired("id")
var rootCmd = &cobra.Command{
Use: "entropy",
Short: "Entropy",
Long: `Entropy Money`,
}
rootCmd.AddCommand(cmdGen, cmdSend, cmdView, cmdSign)
rootCmd.Execute()
}