github.com/lino-network/lino@v0.6.11/test/global/delegate_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" 13 // ) 14 15 // func TestDelegateInterest(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 // u1DelegateMsg := vote.NewDelegateMsg(u1Name, u2Name, types.LNO("10000")) 47 // u2DelegateMsg := vote.NewDelegateMsg(u2Name, u1Name, types.LNO("40000")) 48 49 // test.SignCheckDeliver(t, lb, donateMsg, 0, true, donatorPriv, baseTime) 50 // test.SignCheckDeliver(t, lb, u1DelegateMsg, 0, true, u1Priv, baseTime) 51 // test.SignCheckDeliver(t, lb, u2DelegateMsg, 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 // u1DelegateMsg = vote.NewDelegateMsg(u1Name, u2Name, types.LNO("20000")) 70 // u2StakeOutMsg := vote.NewStakeOutMsg(u2Name, types.LNO("10000")) 71 // u2DelegatorWithdrawMsg := vote.NewDelegatorWithdrawMsg(u2Name, u1Name, types.LNO("10000")) 72 73 // test.SignCheckDeliver(t, lb, u1DelegateMsg, 2, true, u1Priv, baseTime) 74 // test.SignCheckDeliver(t, lb, u2StakeOutMsg, 2, false, u2Priv, baseTime) 75 // test.SignCheckDeliver(t, lb, u2DelegatorWithdrawMsg, 3, true, u2Priv, baseTime) 76 // test.SignCheckDeliver(t, lb, donateMsg, 1, true, donatorPriv, baseTime) 77 78 // // 4th day 79 // baseTime += 3600 * 24 * 1 80 // test.SimulateOneBlock(lb, baseTime) 81 // test.SignCheckDeliver(t, lb, donateMsg, 2, true, donatorPriv, baseTime) 82 83 // // 5th day 84 // baseTime += 3600 * 24 * 1 85 // test.SimulateOneBlock(lb, baseTime) 86 // test.SignCheckDeliver(t, lb, donateMsg, 3, true, donatorPriv, baseTime) 87 88 // u1DelegatorWithdrawMsg := vote.NewDelegatorWithdrawMsg(u1Name, u2Name, types.LNO("30000")) 89 // u2DelegatorWithdrawMsg = vote.NewDelegatorWithdrawMsg(u2Name, u1Name, types.LNO("30000")) 90 91 // test.SignCheckDeliver(t, lb, u1DelegatorWithdrawMsg, 3, true, u1Priv, baseTime) 92 // test.SignCheckDeliver(t, lb, u2DelegatorWithdrawMsg, 4, true, u2Priv, baseTime) 93 94 // // 6th day 95 // baseTime += 3600 * 24 * 1 96 // test.SimulateOneBlock(lb, baseTime) 97 98 // test.SignCheckDeliver(t, lb, u1ClaimInterestMsg, 4, true, u1Priv, baseTime) 99 // test.SignCheckDeliver(t, lb, u2ClaimInterestMsg, 5, true, u2Priv, baseTime) 100 101 // test.CheckBalance(t, u1Name, lb, types.NewCoinFromInt64((69999+1.10088)*types.Decimals)) 102 // test.CheckBalance(t, u2Name, lb, types.NewCoinFromInt64((59999+1.57332)*types.Decimals)) 103 104 // }