mirror of
https://source.quilibrium.com/quilibrium/ceremonyclient.git
synced 2024-12-24 23:55:18 +00:00
add preliminary command stubs, kill offline bootstrappers (#164)
This commit is contained in:
parent
6b5ce992cf
commit
a9fac688d0
2
client/Makefile
Normal file
2
client/Makefile
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
all:
|
||||||
|
go build -o qclient ./main.go
|
38
client/cmd/accept.go
Normal file
38
client/cmd/accept.go
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/big"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var acceptCmd = &cobra.Command{
|
||||||
|
Use: "accept",
|
||||||
|
Short: "Accepts a pending transfer",
|
||||||
|
Long: `Accepts a pending transfer:
|
||||||
|
|
||||||
|
accept <PendingTransaction>
|
||||||
|
|
||||||
|
PendingTransaction - the address of the pending transfer
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) == 1 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := new(big.Int).SetString(args[0], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid PendingTransaction")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("25 QUIL (Coin 0x2688997f2776ab5993894ed04fcdac05577cf2494ddfedf356ebf8bd3de464ab)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(acceptCmd)
|
||||||
|
}
|
19
client/cmd/all.go
Normal file
19
client/cmd/all.go
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var allCmd = &cobra.Command{
|
||||||
|
Use: "all",
|
||||||
|
Short: "Mints all available token rewards",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
fmt.Println("1520.381923 QUIL (Coin 0x162ad88c319060b4f5ea6dbf9a0c2cd82d3d70dfc22d5fc99ca5371083d68416)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
mintCmd.AddCommand(allCmd)
|
||||||
|
}
|
19
client/cmd/balance.go
Normal file
19
client/cmd/balance.go
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var balanceCmd = &cobra.Command{
|
||||||
|
Use: "balance",
|
||||||
|
Short: "Lists the total balance of tokens in the managing account",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
fmt.Println("1545.381923 QUIL")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(balanceCmd)
|
||||||
|
}
|
20
client/cmd/coins.go
Normal file
20
client/cmd/coins.go
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var coinsCmd = &cobra.Command{
|
||||||
|
Use: "coins",
|
||||||
|
Short: "Lists all coins under control of the managing account",
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
fmt.Println("25.0 QUIL (Coin 0x1148092cdce78c721835601ef39f9c2cd8b48b7787cbea032dd3913a4106a58d)")
|
||||||
|
fmt.Println("1520.381923 QUIL (Coin 0x162ad88c319060b4f5ea6dbf9a0c2cd82d3d70dfc22d5fc99ca5371083d68416)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(coinsCmd)
|
||||||
|
}
|
45
client/cmd/merge.go
Normal file
45
client/cmd/merge.go
Normal file
@ -0,0 +1,45 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/big"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var mergeCmd = &cobra.Command{
|
||||||
|
Use: "merge",
|
||||||
|
Short: "Merges two coins",
|
||||||
|
Long: `Merges two coins:
|
||||||
|
|
||||||
|
merge <LeftCoin> <RightCoin>
|
||||||
|
|
||||||
|
LeftCoin - the first coin address
|
||||||
|
RightCoin - the second coin address
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) != 2 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := new(big.Int).SetString(args[0], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid LeftCoin")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok = new(big.Int).SetString(args[1], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid Rightcoin")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("1545.381923 QUIL (Coin 0x151f4ae225e20759077e1724e4c5d0feae26c477fd10d728dfea962eec79b83f)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(mergeCmd)
|
||||||
|
}
|
14
client/cmd/mint.go
Normal file
14
client/cmd/mint.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var mintCmd = &cobra.Command{
|
||||||
|
Use: "mint",
|
||||||
|
Short: "Performs a mint operation",
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(mintCmd)
|
||||||
|
}
|
43
client/cmd/mutualReceive.go
Normal file
43
client/cmd/mutualReceive.go
Normal file
@ -0,0 +1,43 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/shopspring/decimal"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var mutualReceiveCmd = &cobra.Command{
|
||||||
|
Use: "mutual-receive",
|
||||||
|
Short: "Initiates a mutual receive",
|
||||||
|
Long: `Initiates a mutual receive:
|
||||||
|
|
||||||
|
mutual-receive <ExpectedAmount>
|
||||||
|
|
||||||
|
ExpectedAmount - the amount expected in the transfer
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) != 1 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
amount := args[len(args)-1]
|
||||||
|
_, err := decimal.NewFromString(amount)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("invalid ExpectedAmount")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
fmt.Println("Rendezvous: 0x2ad567e4fc1ac335a8d3d6077de2ee998aff996b51936da04ee1b0f5dc196a4f")
|
||||||
|
fmt.Printf("Awaiting sender... ")
|
||||||
|
time.Sleep(2 * time.Second)
|
||||||
|
fmt.Println("OK")
|
||||||
|
fmt.Println(amount + " QUIL (Coin 0x0525c76ecdc6ef21c2eb75df628b52396adcf402ba26a518ac395db8f5874a82)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(mutualReceiveCmd)
|
||||||
|
}
|
39
client/cmd/mutualTransfer.go
Normal file
39
client/cmd/mutualTransfer.go
Normal file
@ -0,0 +1,39 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"os"
|
||||||
|
"time"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var mutualTransferCmd = &cobra.Command{
|
||||||
|
Use: "mutual-transfer",
|
||||||
|
Short: "Initiates a mutual transfer",
|
||||||
|
Long: `Initiates a mutual transfer:
|
||||||
|
|
||||||
|
mutual-transfer <Rendezvous> (<Amount>|<OfCoin>)
|
||||||
|
|
||||||
|
Rendezvous - the rendezvous point to connect to the recipient
|
||||||
|
Amount – the amount to send, splitting/merging and sending as needed
|
||||||
|
OfCoin – the address of the coin to send in whole
|
||||||
|
|
||||||
|
Either Amount or OfCoin must be specified
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) != 2 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Printf("Confirming rendezvous... ")
|
||||||
|
time.Sleep(500 * time.Millisecond)
|
||||||
|
fmt.Println("OK")
|
||||||
|
fmt.Println("50 QUIL (Coin [private])")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(mutualTransferCmd)
|
||||||
|
}
|
38
client/cmd/reject.go
Normal file
38
client/cmd/reject.go
Normal file
@ -0,0 +1,38 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/big"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var rejectCmd = &cobra.Command{
|
||||||
|
Use: "reject",
|
||||||
|
Short: "Rejects the pending transaction",
|
||||||
|
Long: `Rejects a pending transfer:
|
||||||
|
|
||||||
|
reject <PendingTransaction>
|
||||||
|
|
||||||
|
PendingTransaction - the address of the pending transfer
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) == 1 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := new(big.Int).SetString(args[0], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid PendingTransaction")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
fmt.Println("25 QUIL (PendingTransaction 0x27fff099dee515ece193d2af09b164864e4bb60c19eb6719b5bc981f92151009)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(rejectCmd)
|
||||||
|
}
|
31
client/cmd/root.go
Normal file
31
client/cmd/root.go
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var configDirectory string
|
||||||
|
var simulateFail bool
|
||||||
|
|
||||||
|
var rootCmd = &cobra.Command{
|
||||||
|
Use: "qclient",
|
||||||
|
Short: "Quilibrium RPC Client",
|
||||||
|
}
|
||||||
|
|
||||||
|
func Execute() {
|
||||||
|
err := rootCmd.Execute()
|
||||||
|
if err != nil {
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
rootCmd.PersistentFlags().StringVar(
|
||||||
|
&configDirectory,
|
||||||
|
"config",
|
||||||
|
"../node/.config/",
|
||||||
|
"config directory (default is ../node/.config/)",
|
||||||
|
)
|
||||||
|
}
|
55
client/cmd/split.go
Normal file
55
client/cmd/split.go
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/big"
|
||||||
|
"os"
|
||||||
|
|
||||||
|
"github.com/shopspring/decimal"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var splitCmd = &cobra.Command{
|
||||||
|
Use: "split",
|
||||||
|
Short: "Splits a coin into two coins",
|
||||||
|
Long: `Splits a coin into two coins:
|
||||||
|
|
||||||
|
split <OfCoin> <LeftAmount> <RightAmount>
|
||||||
|
|
||||||
|
OfCoin - the address of the coin to split
|
||||||
|
LeftAmount - the first half of the split amount
|
||||||
|
RightAmount - the second half of the split amount
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) != 3 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := new(big.Int).SetString(args[0], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid OfCoin")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
leftAmount := args[1]
|
||||||
|
_, err := decimal.NewFromString(leftAmount)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("invalid LeftAmount")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
rightAmount := args[2]
|
||||||
|
_, err = decimal.NewFromString(rightAmount)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("invalid RightAmount")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
fmt.Println(leftAmount + " QUIL (Coin 0x024479f49f03dc53fd702198cd9b548c9e96004e19ef6a4e9c5211a9795ba34d)")
|
||||||
|
fmt.Println(rightAmount + " QUIL (Coin 0x0140e01731256793bba03914f3844d645fbece26553acdea8ac4de4d84f91690)")
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(splitCmd)
|
||||||
|
}
|
14
client/cmd/token.go
Normal file
14
client/cmd/token.go
Normal file
@ -0,0 +1,14 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var tokenCmd = &cobra.Command{
|
||||||
|
Use: "token",
|
||||||
|
Short: "Performs a token operation",
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
rootCmd.AddCommand(tokenCmd)
|
||||||
|
}
|
93
client/cmd/transfer.go
Normal file
93
client/cmd/transfer.go
Normal file
@ -0,0 +1,93 @@
|
|||||||
|
package cmd
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
"math/big"
|
||||||
|
"os"
|
||||||
|
"strconv"
|
||||||
|
|
||||||
|
"github.com/shopspring/decimal"
|
||||||
|
"github.com/spf13/cobra"
|
||||||
|
)
|
||||||
|
|
||||||
|
var transferCmd = &cobra.Command{
|
||||||
|
Use: "transfer",
|
||||||
|
Short: "Creates a pending transfer of coin",
|
||||||
|
Long: `Creates a pending transfer of coin:
|
||||||
|
|
||||||
|
transfer <ToAccount> [<RefundAccount>] [<Expiry>] (<Amount>|<OfCoin>)
|
||||||
|
|
||||||
|
ToAccount – account address, must be specified
|
||||||
|
RefundAccount - account address to receive coin if rejected (if omitted, uses sender address)
|
||||||
|
Expiry – unix epoch time in seconds where the ToAccount can no longer claim (if omitted, does not expire)
|
||||||
|
Amount – the amount to send, splitting/merging and sending as needed
|
||||||
|
OfCoin – the address of the coin to send in whole
|
||||||
|
|
||||||
|
Either Amount or OfCoin must be specified
|
||||||
|
`,
|
||||||
|
Run: func(cmd *cobra.Command, args []string) {
|
||||||
|
if len(args) < 2 {
|
||||||
|
fmt.Println("invalid command")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
_, ok := new(big.Int).SetString(args[0], 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid ToAccount")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
|
||||||
|
refundAccount := "0x23c0f371e9faa7be4ffedd616361e0c9aeb776ae4d7f3a37605ecbfa40a55a90"
|
||||||
|
// expiry := int64(9999999999)
|
||||||
|
var err error
|
||||||
|
|
||||||
|
if len(args) >= 3 {
|
||||||
|
if len(args[len(args)-2]) != 66 {
|
||||||
|
_, err = strconv.ParseInt(args[len(args)-2], 10, 0)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println(err)
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
refundAccount = args[1]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if refundAccount[0] != '0' || refundAccount[1] != 'x' {
|
||||||
|
_, ok := new(big.Int).SetString(refundAccount, 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid refund account")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
ofCoin := ""
|
||||||
|
amount := ""
|
||||||
|
if len(args[len(args)-1]) == 66 {
|
||||||
|
ofCoin = args[len(args)-1]
|
||||||
|
_, ok := new(big.Int).SetString(ofCoin, 0)
|
||||||
|
if !ok {
|
||||||
|
fmt.Println("invalid OfCoin")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
switch ofCoin {
|
||||||
|
case "0x1148092cdce78c721835601ef39f9c2cd8b48b7787cbea032dd3913a4106a58d":
|
||||||
|
fmt.Println("25.0 QUIL (Pending Transaction 0x0382e4da0c7c0133a1b53453b05096272b80c1575c6828d0211c4e371f7c81bb)")
|
||||||
|
case "0x162ad88c319060b4f5ea6dbf9a0c2cd82d3d70dfc22d5fc99ca5371083d68416":
|
||||||
|
fmt.Println("1520.381923 QUIL (Pending Transaction 0x0382e4da0c7c0133a1b53453b05096272b80c1575c6828d0211c4e371f7c81bb)")
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
amount = args[len(args)-1]
|
||||||
|
_, err := decimal.NewFromString(amount)
|
||||||
|
if err != nil {
|
||||||
|
fmt.Println("invalid Amount")
|
||||||
|
os.Exit(1)
|
||||||
|
}
|
||||||
|
fmt.Println(amount + " QUIL (Pending Transaction 0x0382e4da0c7c0133a1b53453b05096272b80c1575c6828d0211c4e371f7c81bb)")
|
||||||
|
}
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
func init() {
|
||||||
|
tokenCmd.AddCommand(transferCmd)
|
||||||
|
}
|
10
client/go.mod
Normal file
10
client/go.mod
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
module source.quilibrium.com/quilibrium/monorepo/client
|
||||||
|
|
||||||
|
go 1.20
|
||||||
|
|
||||||
|
require (
|
||||||
|
github.com/inconshreveable/mousetrap v1.1.0 // indirect
|
||||||
|
github.com/shopspring/decimal v1.4.0 // indirect
|
||||||
|
github.com/spf13/cobra v1.8.0 // indirect
|
||||||
|
github.com/spf13/pflag v1.0.5 // indirect
|
||||||
|
)
|
12
client/go.sum
Normal file
12
client/go.sum
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
github.com/cpuguy83/go-md2man/v2 v2.0.3/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
|
||||||
|
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
|
||||||
|
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
|
||||||
|
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
|
||||||
|
github.com/shopspring/decimal v1.4.0 h1:bxl37RwXBklmTi0C79JfXCEBD1cqqHt0bbgBAGFp81k=
|
||||||
|
github.com/shopspring/decimal v1.4.0/go.mod h1:gawqmDU56v4yIKSwfBSFip1HdCCXN8/+DMd9qYNcwME=
|
||||||
|
github.com/spf13/cobra v1.8.0 h1:7aJaZx1B85qltLMc546zn58BxxfZdR/W22ej9CFoEf0=
|
||||||
|
github.com/spf13/cobra v1.8.0/go.mod h1:WXLWApfZ71AjXPya3WOlMsY9yMs7YeiHhFVlvLyhcho=
|
||||||
|
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
||||||
|
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
||||||
|
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
||||||
|
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
12
client/main.go
Normal file
12
client/main.go
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
package main
|
||||||
|
|
||||||
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
|
"source.quilibrium.com/quilibrium/monorepo/client/cmd"
|
||||||
|
)
|
||||||
|
|
||||||
|
func main() {
|
||||||
|
fmt.Println("Quilibrium RPC Client – Simulation Mode")
|
||||||
|
cmd.Execute()
|
||||||
|
}
|
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user