|
|
|
@@ -52,37 +52,35 @@ func TestGaiaCLISend(t *testing.T) {
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome))
|
|
|
|
|
fooCech := sdk.MustBech32ifyAcc(fooAddr)
|
|
|
|
|
barAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome))
|
|
|
|
|
barCech := sdk.MustBech32ifyAcc(barAddr)
|
|
|
|
|
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%v --from=foo", flags, barCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%s --from=foo", flags, barAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, int64(10), barAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
// test autosequencing
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%v --from=foo", flags, barCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%s --from=foo", flags, barAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, int64(20), barAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(30), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
// test memo
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%v --from=foo --memo 'testmemo'", flags, barCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%s --from=foo --memo 'testmemo'", flags, barAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, int64(30), barAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(20), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -106,23 +104,21 @@ func TestGaiaCLICreateValidator(t *testing.T) {
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome))
|
|
|
|
|
fooCech := sdk.MustBech32ifyAcc(fooAddr)
|
|
|
|
|
barAddr, barPubKey := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show bar --output=json --home=%s", gaiacliHome))
|
|
|
|
|
barCech := sdk.MustBech32ifyAcc(barAddr)
|
|
|
|
|
barCeshPubKey := sdk.MustBech32ifyValPub(barPubKey)
|
|
|
|
|
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%v --from=foo", flags, barCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli send %v --amount=10steak --to=%v --from=foo", flags, barAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
barAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, int64(10), barAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(40), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
// create validator
|
|
|
|
|
cvStr := fmt.Sprintf("gaiacli stake create-validator %v", flags)
|
|
|
|
|
cvStr += fmt.Sprintf(" --from=%v", "bar")
|
|
|
|
|
cvStr += fmt.Sprintf(" --address-validator=%v", barCech)
|
|
|
|
|
cvStr += fmt.Sprintf(" --address-validator=%v", barAddr)
|
|
|
|
|
cvStr += fmt.Sprintf(" --pubkey=%v", barCeshPubKey)
|
|
|
|
|
cvStr += fmt.Sprintf(" --amount=%v", "2steak")
|
|
|
|
|
cvStr += fmt.Sprintf(" --moniker=%v", "bar-vally")
|
|
|
|
@@ -130,18 +126,18 @@ func TestGaiaCLICreateValidator(t *testing.T) {
|
|
|
|
|
executeWrite(t, cvStr, pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, int64(8), barAcc.GetCoins().AmountOf("steak").Int64(), "%v", barAcc)
|
|
|
|
|
|
|
|
|
|
validator := executeGetValidator(t, fmt.Sprintf("gaiacli stake validator %v --output=json %v", barCech, flags))
|
|
|
|
|
validator := executeGetValidator(t, fmt.Sprintf("gaiacli stake validator %s --output=json %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, validator.Owner, barAddr)
|
|
|
|
|
require.Equal(t, "2/1", validator.PoolShares.Amount.String())
|
|
|
|
|
|
|
|
|
|
// unbond a single share
|
|
|
|
|
unbondStr := fmt.Sprintf("gaiacli stake unbond begin %v", flags)
|
|
|
|
|
unbondStr += fmt.Sprintf(" --from=%v", "bar")
|
|
|
|
|
unbondStr += fmt.Sprintf(" --address-validator=%v", barCech)
|
|
|
|
|
unbondStr += fmt.Sprintf(" --address-delegator=%v", barCech)
|
|
|
|
|
unbondStr += fmt.Sprintf(" --address-validator=%s", barAddr)
|
|
|
|
|
unbondStr += fmt.Sprintf(" --address-delegator=%s", barAddr)
|
|
|
|
|
unbondStr += fmt.Sprintf(" --shares-amount=%v", "1")
|
|
|
|
|
|
|
|
|
|
success := executeWrite(t, unbondStr, pass)
|
|
|
|
@@ -152,7 +148,7 @@ func TestGaiaCLICreateValidator(t *testing.T) {
|
|
|
|
|
barAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", barCech, flags))
|
|
|
|
|
require.Equal(t, int64(9), barAcc.GetCoins().AmountOf("steak").Int64(), "%v", barAcc)
|
|
|
|
|
*/
|
|
|
|
|
validator = executeGetValidator(t, fmt.Sprintf("gaiacli stake validator %v --output=json %v", barCech, flags))
|
|
|
|
|
validator = executeGetValidator(t, fmt.Sprintf("gaiacli stake validator %s --output=json %v", barAddr, flags))
|
|
|
|
|
require.Equal(t, "1/1", validator.PoolShares.Amount.String())
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@@ -176,34 +172,33 @@ func TestGaiaCLISubmitProposal(t *testing.T) {
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
fooAddr, _ := executeGetAddrPK(t, fmt.Sprintf("gaiacli keys show foo --output=json --home=%s", gaiacliHome))
|
|
|
|
|
fooCech := sdk.MustBech32ifyAcc(fooAddr)
|
|
|
|
|
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc := executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(50), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov submit-proposal %v --proposer=%v --deposit=5steak --type=Text --title=Test --description=test --from=foo", flags, fooCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov submit-proposal %v --proposer=%s --deposit=5steak --type=Text --title=Test --description=test --from=foo", flags, fooAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(45), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
|
|
|
|
|
proposal1 := executeGetProposal(t, fmt.Sprintf("gaiacli gov query-proposal --proposalID=1 --output=json %v", flags))
|
|
|
|
|
require.Equal(t, int64(1), proposal1.ProposalID)
|
|
|
|
|
require.Equal(t, gov.StatusToString(gov.StatusDepositPeriod), proposal1.Status)
|
|
|
|
|
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov deposit %v --depositer=%v --deposit=10steak --proposalID=1 --from=foo", flags, fooCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov deposit %v --depositer=%s --deposit=10steak --proposalID=1 --from=foo", flags, fooAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %v %v", fooCech, flags))
|
|
|
|
|
fooAcc = executeGetAccount(t, fmt.Sprintf("gaiacli account %s %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(35), fooAcc.GetCoins().AmountOf("steak").Int64())
|
|
|
|
|
proposal1 = executeGetProposal(t, fmt.Sprintf("gaiacli gov query-proposal --proposalID=1 --output=json %v", flags))
|
|
|
|
|
require.Equal(t, int64(1), proposal1.ProposalID)
|
|
|
|
|
require.Equal(t, gov.StatusToString(gov.StatusVotingPeriod), proposal1.Status)
|
|
|
|
|
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov vote %v --proposalID=1 --voter=%v --option=Yes --from=foo", flags, fooCech), pass)
|
|
|
|
|
executeWrite(t, fmt.Sprintf("gaiacli gov vote %v --proposalID=1 --voter=%s --option=Yes --from=foo", flags, fooAddr), pass)
|
|
|
|
|
tests.WaitForNextHeightTM(port)
|
|
|
|
|
|
|
|
|
|
vote := executeGetVote(t, fmt.Sprintf("gaiacli gov query-vote --proposalID=1 --voter=%v --output=json %v", fooCech, flags))
|
|
|
|
|
vote := executeGetVote(t, fmt.Sprintf("gaiacli gov query-vote --proposalID=1 --voter=%s --output=json %v", fooAddr, flags))
|
|
|
|
|
require.Equal(t, int64(1), vote.ProposalID)
|
|
|
|
|
require.Equal(t, gov.VoteOptionToString(gov.OptionYes), vote.Option)
|
|
|
|
|
}
|
|
|
|
@@ -259,18 +254,15 @@ func executeInit(t *testing.T, cmdStr string) (chainID string) {
|
|
|
|
|
return
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func executeGetAddrPK(t *testing.T, cmdStr string) (sdk.Address, crypto.PubKey) {
|
|
|
|
|
func executeGetAddrPK(t *testing.T, cmdStr string) (sdk.AccAddress, crypto.PubKey) {
|
|
|
|
|
out := tests.ExecuteT(t, cmdStr)
|
|
|
|
|
var ko keys.KeyOutput
|
|
|
|
|
keys.UnmarshalJSON([]byte(out), &ko)
|
|
|
|
|
|
|
|
|
|
address, err := sdk.GetAccAddressBech32(ko.Address)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
pk, err := sdk.GetAccPubKeyBech32(ko.PubKey)
|
|
|
|
|
require.NoError(t, err)
|
|
|
|
|
|
|
|
|
|
return address, pk
|
|
|
|
|
return ko.Address, pk
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
func executeGetAccount(t *testing.T, cmdStr string) auth.BaseAccount {
|
|
|
|
|