Skip to content

Latest commit

 

History

History
103 lines (91 loc) · 2.82 KB

README.md

File metadata and controls

103 lines (91 loc) · 2.82 KB

Distribution module

Usage

(Tx) Fund community pool

fundCommunityPoolMsg := types.FundCommunityPoolMsg {
    Amount: "1000",
}

txbytes, err := xplac.FundCommunityPool(fundCommunityPoolMsg).CreateAndSignTx()
res, err := xplac.Broadcast(txbytes)

(Tx) Proposal community pool spend

// Input data
communityPoolSpendMsg := types.CommunityPoolSpendMsg{
    Title: "community pool spend",
    Description: "pay me",
    Recipient: "xpla1ka84cuec6339t8s4nh3sp5zf2fre6dh2v2g9mp",
    Amount: "10000",
    Deposit: "1000",
}

// Use json file
communityPoolSpendMsg := types.CommunityPoolSpendMsg{
    JsonFilePath: "./proposal.json"
}

txbytes, err := xplac.CommunityPoolSpend(communityPoolSpendMsg).CreateAndSignTx()
res, err := xplac.Broadcast(txbytes)

(Tx) Withdraw rewards

withdrawRewardsMsg := types.WithdrawRewardsMsg{
    DelegatorAddr: "xpla1e4f6k98es55vxxv2pcfzpsjrf3mvazeyqpw8g9",
    ValidatorAddr: "xplavaloper19yq7kjcgse7x672faptju0lxmy4cvdlcsx9ftw",
}
txbytes, err := xplac.WithdrawRewards(withdrawRewardsMsg).CreateAndSignTx()
res, err := xplac.Broadcast(txbytes)

(Tx) Withdraw all rewards

txbytes, err := xplac.WithdrawAllRewards().CreateAndSignTx()
res, err := xplac.Broadcast(txbytes)

(Tx) Set withdraw address

setWithdrawAddrMsg := types.SetwithdrawAddrMsg {
    WithdrawAddr: "xpla1e4f6k98es55vxxv2pcfzpsjrf3mvazeyqpw8g9",
}
txbytes, err := xplac.SetWithdrawAddr(setWithdrawAddrMsg).CreateAndSignTx()
res, err := xplac.Broadcast(txbytes)

(Query) distribution parameters

res, err := xplac.DistributionParams().Query()

(Query) validator outstanding rewards

validatorOutstandingRewardsMsg := types.ValidatorOutstandingRewardsMsg {
    ValidatorAddr: "xplavaloper19yq7kjcgse7x672faptju0lxmy4cvdlcsx9ftw",
}
res, err := xplac.ValidatorOutstandingRewards(validatorOutstandingRewardsMsg).Query()

(Query) commission

queryDistCommissionMsg := types.QueryDistCommissionMsg {
    ValidatorAddr: "xplavaloper19yq7kjcgse7x672faptju0lxmy4cvdlcsx9ftw",
}
res, err := xplac.DistCommission(queryDistCommissionMsg).Query()

(Query) validator slashes

queryDistSlashesMsg := types.QueryDistSlashesMsg{
    ValidatorAddr: "xplavaloper19yq7kjcgse7x672faptju0lxmy4cvdlcsx9ftw",
}

res, err := xplac.DistSlashes(queryDistSlashesMsg).Query()

(Query) rewards

// reward for a validator
queryDistRewardsMsg := types.QueryDistRewardsMsg{
    ValidatorAddr: "xplavaloper19yq7kjcgse7x672faptju0lxmy4cvdlcsx9ftw",
    DelegatorAddr: "xpla1e4f6k98es55vxxv2pcfzpsjrf3mvazeyqpw8g9",
}

// total rewards
queryDistRewardsMsg := types.QueryDistRewardsMsg{
    DelegatorAddr: "xpla1e4f6k98es55vxxv2pcfzpsjrf3mvazeyqpw8g9",
}
res, err := xplac.DistRewards(queryDistRewardsMsg).Query()

(Query) community pool

res, err := xplac.CommunityPool().Query()