Skip to content

Commit

Permalink
added "wait for enter" before closing the test app
Browse files Browse the repository at this point in the history
  • Loading branch information
DrDelphi committed Jul 24, 2020
1 parent 176bbc0 commit 423f1e6
Showing 1 changed file with 27 additions and 10 deletions.
37 changes: 27 additions & 10 deletions testApp/cmd/testApp/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ func getDeviceInfo(nanos *ledger.NanoS) error {
return nil
}

// trim removes the trailing crlf characters from the end of a string
func trim(s string) string {
if strings.HasSuffix(s, "\n") {
s = strings.TrimSuffix(s, "\n")
Expand Down Expand Up @@ -279,6 +280,12 @@ func broadcastTransaction(tx transaction) error {
return nil
}

func waitInputAndExit() {
fmt.Println("Press enter to continue...")
fmt.Scanln()
os.Exit(1)
}

// main function
func main() {
log.SetFlags(0)
Expand All @@ -287,51 +294,59 @@ func main() {
var nanos *ledger.NanoS
nanos, err := ledger.OpenNanoS()
if err != nil {
log.Fatalln(errOpenDevice, err)
log.Println(errOpenDevice, err)
waitInputAndExit()
}
err = getDeviceInfo(nanos)
if err != nil {
log.Fatalln(err)
log.Println(err)
waitInputAndExit()
}
fmt.Println("Nano S app version: ", nanos.AppVersion)
fmt.Printf("Network: %s ; Contract data: %s\n\r", network[nanos.Network], status[nanos.ContractData])

netConfig, err := getNetworkConfig()
if err != nil {
log.Fatalln(errGetNetworkConfig, err)
log.Println(errGetNetworkConfig, err)
waitInputAndExit()
}
fmt.Printf("Chain ID: %s\n\rTx version: %v\n\r",
netConfig.Data.Config.ChainID, netConfig.Data.Config.MinTransactionVersion)

fmt.Println("Retrieving address. Please confirm on your Ledger")
senderAddress, err := nanos.GetAddress(uint32(nanos.Account), uint32(nanos.AddressIndex))
if err != nil {
log.Fatalln(errGetAddress, err)
log.Println(errGetAddress, err)
waitInputAndExit()
}
fmt.Printf("Address: %s\n\r", senderAddress)

// retrieve sender's nonce and balance
denomination = big.NewFloat(math.Pow10(netConfig.Data.Config.Denomination))
balance, nonce, err := getSenderInfo(string(senderAddress))
if err != nil || balance == nil {
log.Fatalln(errGetBalanceAndNonce, err)
log.Println(errGetBalanceAndNonce, err)
waitInputAndExit()
}
bigFloatBalance, _ := big.NewFloat(0).SetString(balance.String())
bigFloatBalance.Quo(bigFloatBalance, denomination)
strBalance := bigFloatBalance.String()
strSenderShard, err := getAddressShard(string(senderAddress), netConfig.Data.Config.NumShardsWithoutMeta)
if err != nil {
log.Fatalln(errGetAddressShard, err)
log.Println(errGetAddressShard, err)
waitInputAndExit()
}
fmt.Printf("Sender shard: %v\n\rBalance: %v ERD\n\rNonce: %v\n\r", strSenderShard, strBalance, nonce)

strReceiverAddress, bigIntAmount, data, err := getTxDataFromUser(nanos.ContractData)
if err != nil {
log.Fatalln(err)
log.Println(err)
waitInputAndExit()
}
strReceiverShard, err := getAddressShard(strReceiverAddress, netConfig.Data.Config.NumShardsWithoutMeta)
if err != nil {
log.Fatalln(errGetAddressShard, err)
log.Println(errGetAddressShard, err)
waitInputAndExit()
}
fmt.Printf("Receiver shard: %v\n\r", strReceiverShard)

Expand All @@ -349,10 +364,12 @@ func main() {

err = signTransaction(&tx, nanos)
if err != nil {
log.Fatalln(err)
log.Println(err)
waitInputAndExit()
}
err = broadcastTransaction(tx)
if err != nil {
log.Fatalln(err)
log.Println(err)
}
waitInputAndExit()
}

0 comments on commit 423f1e6

Please sign in to comment.