github.com/lino-network/lino@v0.6.11/test/global/stake_interest_test.go (about) 1 package global 2 3 // import ( 4 // "testing" 5 // "time" 6 7 // "github.com/lino-network/lino/test" 8 // "github.com/lino-network/lino/types" 9 // "github.com/tendermint/tendermint/crypto/secp256k1" 10 11 // posttypes "github.com/lino-network/lino/x/post/types" 12 // vote "github.com/lino-network/lino/x/vote/types" 13 // ) 14 15 // func TestStakeInterest(t *testing.T) { 16 // postUserPriv := secp256k1.GenPrivKey() 17 // donatorPriv := secp256k1.GenPrivKey() 18 // u1Priv := secp256k1.GenPrivKey() 19 // u2Priv := secp256k1.GenPrivKey() 20 21 // postUserName := "poster" 22 // donatorName := "donator" 23 // u1Name := "user1" 24 // u2Name := "user2" 25 26 // postID := "New Post" 27 28 // to recover the coin day 29 // baseT := time.Unix(0,0).Add(7200 * time.Second) 30 // baseTime := baseT.Unix() 31 // lb := test.NewTestLinoBlockchain(t, test.DefaultNumOfVal, baseT) 32 33 // test.CreateAccount(t, donatorName, lb, 0, 34 // secp256k1.GenPrivKey(), donatorPriv, secp256k1.GenPrivKey(), "100000") 35 // test.CreateAccount(t, u1Name, lb, 1, 36 // secp256k1.GenPrivKey(), u1Priv, secp256k1.GenPrivKey(), "100000") 37 // test.CreateAccount(t, u2Name, lb, 2, 38 // secp256k1.GenPrivKey(), u2Priv, secp256k1.GenPrivKey(), "100000") 39 // test.CreateAccount(t, postUserName, lb, 3, 40 // secp256k1.GenPrivKey(), postUserPriv, secp256k1.GenPrivKey(), "100000") 41 // test.CreateTestPost( 42 // t, lb, postUserName, postID, 0, postUserPriv, baseTime) 43 44 // donateMsg := posttypes.NewDonateMsg( 45 // donatorName, types.LNO("2000"), postUserName, postID, "", "") 46 // u1StakeInMsg := vote.NewStakeInMsg(u1Name, types.LNO("10000")) 47 // u2StakeInMsg := vote.NewStakeInMsg(u2Name, types.LNO("40000")) 48 49 // test.SignCheckDeliver(t, lb, donateMsg, 0, true, donatorPriv, baseTime) 50 // test.SignCheckDeliver(t, lb, u1StakeInMsg, 0, true, u1Priv, baseTime) 51 // test.SignCheckDeliver(t, lb, u2StakeInMsg, 0, true, u2Priv, baseTime) 52 53 // test.CheckBalance(t, u1Name, lb, types.NewCoinFromInt64(89999*types.Decimals)) 54 // test.CheckBalance(t, u2Name, lb, types.NewCoinFromInt64(59999*types.Decimals)) 55 56 // // 3rd day 57 // baseTime += 3600 * 24 * 3 58 // test.SimulateOneBlock(lb, baseTime) 59 60 // u1ClaimInterestMsg := vote.NewClaimInterestMsg(u1Name) 61 // u2ClaimInterestMsg := vote.NewClaimInterestMsg(u2Name) 62 63 // test.SignCheckDeliver(t, lb, u1ClaimInterestMsg, 1, true, u1Priv, baseTime) 64 // test.SignCheckDeliver(t, lb, u2ClaimInterestMsg, 1, true, u2Priv, baseTime) 65 66 // test.CheckBalance(t, u1Name, lb, types.NewCoinFromInt64((89999+0.15748)*types.Decimals)) 67 // test.CheckBalance(t, u2Name, lb, types.NewCoinFromInt64((59999+0.62992)*types.Decimals)) 68 69 // u1StakeInMsg = vote.NewStakeInMsg(u1Name, types.LNO("20000")) 70 // u2StakeOutMsg := vote.NewStakeOutMsg(u2Name, types.LNO("10000")) 71 72 // test.SignCheckDeliver(t, lb, u1StakeInMsg, 2, true, u1Priv, baseTime) 73 // test.SignCheckDeliver(t, lb, u2StakeOutMsg, 2, true, u2Priv, baseTime) 74 // test.SignCheckDeliver(t, lb, donateMsg, 1, true, donatorPriv, baseTime) 75 76 // // 4th day 77 // baseTime += 3600 * 24 * 1 78 // test.SimulateOneBlock(lb, baseTime) 79 // test.SignCheckDeliver(t, lb, donateMsg, 2, true, donatorPriv, baseTime) 80 81 // // 5th day 82 // baseTime += 3600 * 24 * 1 83 // test.SimulateOneBlock(lb, baseTime) 84 // test.SignCheckDeliver(t, lb, donateMsg, 3, true, donatorPriv, baseTime) 85 86 // u1StakeOutMsg := vote.NewStakeOutMsg(u1Name, types.LNO("30000")) 87 // u2StakeOutMsg = vote.NewStakeOutMsg(u2Name, types.LNO("30000")) 88 89 // test.SignCheckDeliver(t, lb, u1StakeOutMsg, 3, true, u1Priv, baseTime) 90 // test.SignCheckDeliver(t, lb, u2StakeOutMsg, 3, true, u2Priv, baseTime) 91 92 // // 6th day 93 // baseTime += 3600 * 24 * 1 94 // test.SimulateOneBlock(lb, baseTime) 95 96 // test.SignCheckDeliver(t, lb, u1ClaimInterestMsg, 4, true, u1Priv, baseTime) 97 // test.SignCheckDeliver(t, lb, u2ClaimInterestMsg, 4, true, u2Priv, baseTime) 98 99 // test.CheckBalance(t, u1Name, lb, types.NewCoinFromInt64((69999+1.10088)*types.Decimals)) 100 // test.CheckBalance(t, u2Name, lb, types.NewCoinFromInt64((59999+1.57332)*types.Decimals)) 101 102 // }