Skip to content
This repository has been archived by the owner on Nov 14, 2023. It is now read-only.

Commit

Permalink
Merge pull request #121 from irisnet/develop
Browse files Browse the repository at this point in the history
R4R: prepare release v1.3.5
  • Loading branch information
kaifei Hu authored Mar 19, 2020
2 parents 43d0adc + b39a5a0 commit 0d27ada
Show file tree
Hide file tree
Showing 9 changed files with 626 additions and 22 deletions.
8 changes: 8 additions & 0 deletions config.json
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,10 @@
"type": "redelegate",
"prefix": "irishub/stake/BeginRedelegate"
},
"withdrawValidatorRewardsAll": {
"type": "withdraw_validator_rewards_all",
"prefix": "irishub/distr/MsgWithdrawValidatorRewardsAll"
},
"withdrawDelegationRewardsAll": {
"type": "withdraw_delegation_rewards_all",
"prefix": "irishub/distr/MsgWithdrawDelegationRewardsAll"
Expand All @@ -25,6 +29,10 @@
"type": "withdraw_delegation_reward",
"prefix": "irishub/distr/MsgWithdrawDelegationReward"
},
"setWithdrawAddress": {
"type": "set_withdraw_address",
"prefix": "irishub/distr/MsgModifyWithdrawAddress"
},
"deposit": {
"type": "deposit",
"prefix": "irishub/gov/MsgDeposit"
Expand Down
2 changes: 2 additions & 0 deletions src/chains/base.js
Original file line number Diff line number Diff line change
Expand Up @@ -97,8 +97,10 @@ amino.RegisterConcrete(R_Iris.irisnet.tx.MsgDelegate, Config.iris.tx.delegate.pr
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgSend, Config.iris.tx.transfer.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgBeginRedelegate, Config.iris.tx.redelegate.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgBeginUnbonding, Config.iris.tx.undelegate.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgWithdrawValidatorRewardsAll, Config.iris.tx.withdrawValidatorRewardsAll.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgWithdrawDelegatorRewardsAll, Config.iris.tx.withdrawDelegationRewardsAll.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgWithdrawDelegatorReward, Config.iris.tx.withdrawDelegationReward.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgSetWithdrawAddress, Config.iris.tx.setWithdrawAddress.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgDeposit, Config.iris.tx.deposit.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.MsgVote, Config.iris.tx.vote.prefix);
amino.RegisterConcrete(R_Iris.irisnet.tx.StdTx, Config.iris.tx.stdTx.prefix);
Expand Down
10 changes: 9 additions & 1 deletion src/chains/cosmos/distribution.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,15 @@ MsgSetWithdrawAddress.prototype.toJSON = function(){
}
};

MsgSetWithdrawAddress.prototype.GetDisplayContent = function (){};
MsgSetWithdrawAddress.prototype.GetDisplayContent = function (){
let delegator_addr = BECH32.encode(Config.cosmos.bech32.accAddr,this.DelegatorAddress);
let withdraw_addr = BECH32.encode(Config.cosmos.bech32.accAddr,this.WithdrawAddress);
return {
i18n_tx_type:"i18n_set_withdraw_address",
i18n_delegator_addr:delegator_addr,
i18n_withdraw_addr:withdraw_addr,
};
};

MsgWithdrawDelegatorReward.prototype.type = Config.cosmos.tx.withdrawDelegatorReward.prefix;
MsgWithdrawDelegatorReward.prototype.GetSignBytes = function () {
Expand Down
8 changes: 8 additions & 0 deletions src/chains/iris/builder.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,10 @@ class IrisBuilder extends Builder {
msg = Stake.createMsgBeginRedelegate(req);
break;
}
case Config.iris.tx.withdrawValidatorRewardsAll.type: {
msg = Distribution.createMsgWithdrawValidatorRewardsAll(req);
break;
}
case Config.iris.tx.withdrawDelegationRewardsAll.type: {
msg = Distribution.createMsgWithdrawDelegatorRewardsAll(req);
break;
Expand All @@ -47,6 +51,10 @@ class IrisBuilder extends Builder {
msg = Distribution.createMsgWithdrawDelegatorReward(req);
break;
}
case Config.iris.tx.setWithdrawAddress.type: {
msg = Distribution.createMsgSetWithdrawAddress(req);
break;
}
case Config.iris.tx.deposit.type: {
msg = Gov.createMsgDeposit(req);
break;
Expand Down
106 changes: 97 additions & 9 deletions src/chains/iris/distribution.js
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,44 @@ const Utils = require('../../util/utils');
const Amino = require('../base');
const Config = require('../../../config');

class MsgWithdrawValidatorRewardsAll extends Builder.Msg {
constructor(validatorAddr) {
super(Config.iris.tx.withdrawValidatorRewardsAll.prefix);
this.validator_addr = validatorAddr;
}

GetSignBytes() {
let msg = {
"validator_addr": this.validator_addr,
};
let sortMsg = Utils.sortObjectKeys(msg);
return Amino.MarshalJSON(this.type, sortMsg)
}

ValidateBasic() {
if (Utils.isEmpty(this.validator_addr)) {
throw new Error("validatorAddr is empty");
}
}

GetMsg() {
const BECH32 = require('bech32');
let validator_key = BECH32.decode(this.validator_addr);
let validator_addr = BECH32.fromWords(validator_key.words);

return {
validatorAddr: validator_addr,
}
}

GetDisplayContent(){
return {
i18n_tx_type:"i18n_rwithdraw_validator_rewards_all",
i18n_validator_addr:this.validator_addr,
}
}
}

class MsgWithdrawDelegatorRewardsAll extends Builder.Msg {
constructor(delegatorAddr) {
super(Config.iris.tx.withdrawDelegationRewardsAll.prefix);
Expand All @@ -16,7 +54,7 @@ class MsgWithdrawDelegatorRewardsAll extends Builder.Msg {
"delegator_addr": this.delegator_addr,
};
let sortMsg = Utils.sortObjectKeys(msg);
return Amino.MarshalJSON(this.Type(), sortMsg)
return Amino.MarshalJSON(this.type, sortMsg)
}

ValidateBasic() {
Expand All @@ -25,10 +63,6 @@ class MsgWithdrawDelegatorRewardsAll extends Builder.Msg {
}
}

Type() {
return Config.iris.tx.withdrawDelegationRewardsAll.prefix;
}

GetMsg() {
const BECH32 = require('bech32');
let delegator_key = BECH32.decode(this.delegator_addr);
Expand Down Expand Up @@ -60,7 +94,7 @@ class MsgWithdrawDelegatorReward extends Builder.Msg {
"validator_addr": this.validator_addr,
};
let sortMsg = Utils.sortObjectKeys(msg);
return Amino.MarshalJSON(this.Type(), sortMsg)
return Amino.MarshalJSON(this.type, sortMsg)
}

ValidateBasic() {
Expand All @@ -72,9 +106,6 @@ class MsgWithdrawDelegatorReward extends Builder.Msg {
}
}

Type() {
return Config.iris.tx.withdrawDelegationReward.prefix;
}

GetMsg() {
const BECH32 = require('bech32');
Expand All @@ -99,13 +130,70 @@ class MsgWithdrawDelegatorReward extends Builder.Msg {
}
}

class MsgSetWithdrawAddress extends Builder.Msg {
constructor(delegatorAddr,withdraw_addr) {
super(Config.iris.tx.setWithdrawAddress.prefix);
this.delegator_addr = delegatorAddr;
this.withdraw_addr = withdraw_addr;
}

GetSignBytes() {
let msg = {
"delegator_addr": this.delegator_addr,
"withdraw_addr": this.withdraw_addr,
};
let sortMsg = Utils.sortObjectKeys(msg);
return Amino.MarshalJSON(this.type, sortMsg)
}

ValidateBasic() {
if (Utils.isEmpty(this.delegator_addr)) {
throw new Error("delegatorAddr is empty");
}
if (Utils.isEmpty(this.withdraw_addr)) {
throw new Error("withdraw_addr is empty");
}
}


GetMsg() {
const BECH32 = require('bech32');
let delegator_key = BECH32.decode(this.delegator_addr);
let delegator_addr = BECH32.fromWords(delegator_key.words);

let withdraw_key = BECH32.decode(this.withdraw_addr);
let withdraw_addr = BECH32.fromWords(withdraw_key.words);

return {
delegatorAddr: delegator_addr,
withdrawAddr: withdraw_addr,
}
}

GetDisplayContent(){
return {
i18n_tx_type:"i18n_set_withdraw_address",
i18n_delegator_addr:this.delegator_addr,
i18n_withdraw_addr:this.withdraw_addr,
}
}
}

module.exports = class Distribution {

static createMsgWithdrawValidatorRewardsAll(req) {
return new MsgWithdrawValidatorRewardsAll(req.msg.validator_addr);
}

static createMsgWithdrawDelegatorRewardsAll(req) {
return new MsgWithdrawDelegatorRewardsAll(req.from);
}

static createMsgWithdrawDelegatorReward(req) {
return new MsgWithdrawDelegatorReward(req.from,req.msg.validator_addr);
}

static createMsgSetWithdrawAddress(req) {
return new MsgSetWithdrawAddress(req.from,req.msg.withdraw_addr);
}
};
9 changes: 9 additions & 0 deletions src/chains/iris/proto/tx.proto
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ message MsgBeginRedelegate {
required string sharesAmount = 4;
}

message MsgWithdrawValidatorRewardsAll {
required bytes validator_addr = 1;
}

message MsgWithdrawDelegatorRewardsAll {
required bytes delegatorAddr = 1;
}
Expand All @@ -49,6 +53,11 @@ message MsgWithdrawDelegatorReward {
required bytes validatorAddr = 2;
}

message MsgSetWithdrawAddress {
required bytes delegatorAddr = 1;
required bytes withdrawAddr = 2;
}

message MsgDeposit {
required int64 proposalID = 1;
required bytes depositor = 2;
Expand Down
Loading

0 comments on commit 0d27ada

Please sign in to comment.