Skip to content

Commit

Permalink
Merge branch 'main' into dependabot/npm_and_yarn/web-ui/cosmjs-types-…
Browse files Browse the repository at this point in the history
…0.9.0
  • Loading branch information
faddat authored Jan 5, 2024
2 parents f780573 + ff3146a commit 4d3c76b
Show file tree
Hide file tree
Showing 7 changed files with 87 additions and 4 deletions.
2 changes: 2 additions & 0 deletions app/upgrades/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,8 @@ const (
V010405rc2UpgradeName = "v1.4.5-rc2"
V010405rc3UpgradeName = "v1.4.5-rc3"
V010405rc4UpgradeName = "v1.4.5-rc4"
V010405rc5UpgradeName = "v1.4.5-rc5"
V010405rc6UpgradeName = "v1.4.5-rc6"

// mainnet upgrades
V010405UpgradeName = "v1.4.5"
Expand Down
2 changes: 2 additions & 0 deletions app/upgrades/upgrades.go
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,8 @@ func Upgrades() []Upgrade {
{UpgradeName: V010405rc2UpgradeName, CreateUpgradeHandler: NoOpHandler},
{UpgradeName: V010405rc3UpgradeName, CreateUpgradeHandler: NoOpHandler},
{UpgradeName: V010405rc4UpgradeName, CreateUpgradeHandler: NoOpHandler},
{UpgradeName: V010405rc5UpgradeName, CreateUpgradeHandler: NoOpHandler},
{UpgradeName: V010405rc6UpgradeName, CreateUpgradeHandler: NoOpHandler},
{UpgradeName: V010405UpgradeName, CreateUpgradeHandler: NoOpHandler},
}
}
Expand Down
4 changes: 3 additions & 1 deletion x/interchainstaking/keeper/delegation.go
Original file line number Diff line number Diff line change
Expand Up @@ -317,9 +317,11 @@ func (k *Keeper) FlushOutstandingDelegations(ctx sdk.Context, zone *types.Zone,
return false
})

pendingAmount = pendingAmount.Add(k.GetInflightUnbondingAmount(ctx, zone))

coinsToFlush, hasNeg := sdk.NewCoins(delAddrBalance).SafeSub(pendingAmount...)
if hasNeg || coinsToFlush.IsZero() {
k.Logger(ctx).Debug("delegate account balance negative, setting outdated reciepts")
k.Logger(ctx).Debug("delegate account balance negative, setting outdated receipts")
k.SetReceiptsCompleted(ctx, zone.ChainId, exclusionTime, ctx.BlockTime(), delAddrBalance.Denom)
return nil
}
Expand Down
12 changes: 12 additions & 0 deletions x/interchainstaking/keeper/ibc_packet_handlers.go
Original file line number Diff line number Diff line change
Expand Up @@ -527,6 +527,18 @@ func (k *Keeper) HandleMaturedUnbondings(ctx sdk.Context, zone *types.Zone) erro
return nil
}

func (k *Keeper) GetInflightUnbondingAmount(ctx sdk.Context, zone *types.Zone) sdk.Coin {
outCoin := sdk.NewCoin(zone.BaseDenom, sdk.ZeroInt())
k.IterateZoneWithdrawalRecords(ctx, zone.ChainId, func(idx int64, withdrawal types.WithdrawalRecord) bool {
if (withdrawal.Status == types.WithdrawStatusUnbond && ctx.BlockTime().After(withdrawal.CompletionTime) && withdrawal.Acknowledged) || // status unbond, completion has pass
withdrawal.Status == types.WithdrawStatusSend { // already in state send.
outCoin = outCoin.Add(withdrawal.Amount[0])
}
return false
})
return outCoin
}

func (k *Keeper) HandleTokenizedShares(ctx sdk.Context, msg sdk.Msg, sharesAmount sdk.Coin, memo string) error {
var err error
k.Logger(ctx).Info("received MsgTokenizeShares acknowledgement")
Expand Down
3 changes: 0 additions & 3 deletions x/interchainstaking/keeper/intent.go
Original file line number Diff line number Diff line change
Expand Up @@ -209,9 +209,6 @@ func (k *Keeper) UpdateDelegatorIntent(ctx sdk.Context, delegator sdk.AccAddress

// inAmount is ordinal with respect to the redemption rate, so we must scale
baseBalance := zone.RedemptionRate.Mul(sdk.NewDecFromInt(claimAmt))
if baseBalance.IsZero() {
return nil
}

if updateWithCoin {
delIntent = zone.UpdateIntentWithCoins(delIntent, baseBalance, inAmount, utils.StringSliceToMap(k.GetValidatorAddresses(ctx, zone.ChainId)))
Expand Down
28 changes: 28 additions & 0 deletions x/interchainstaking/types/zones_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -308,6 +308,34 @@ func TestUpdateIntentWithMemo(t *testing.T) {
"cosmosvaloper14lultfckehtszvzw4ehu0apvsr77afvyju5zzy": sdk.NewDecWithPrec(15, 2),
},
},
{
baseAmount: 0,
originalIntent: map[string]sdk.Dec{
"cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0": sdk.NewDecWithPrec(45, 2),
"cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf": sdk.NewDecWithPrec(55, 2),
},
memo: "AipahL/4TH3a0Ry4wHOG6RkoxWdcpLxuppAElPH3PNriuvHIuI/1/AuKM5w=",

amount: 100,
expectedIntent: map[string]sdk.Dec{
"cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0": sdk.NewDecWithPrec(45, 2),
"cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf": sdk.NewDecWithPrec(55, 2),
},
},
{
baseAmount: 0,
originalIntent: map[string]sdk.Dec{
"cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0": sdk.NewDecWithPrec(100, 2),
"cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf": sdk.NewDecWithPrec(0, 2),
},
memo: "AipahL/4TH3a0Ry4wHOG6RkoxWdcpLxuppAElPH3PNriuvHIuI/1/AuKM5w=",

amount: 100,
expectedIntent: map[string]sdk.Dec{
"cosmosvaloper1sjllsnramtg3ewxqwwrwjxfgc4n4ef9u2lcnj0": sdk.NewDecWithPrec(45, 2),
"cosmosvaloper156gqf9837u7d4c4678yt3rl4ls9c5vuursrrzf": sdk.NewDecWithPrec(55, 2),
},
},
}

for caseidx, tc := range testCases {
Expand Down
40 changes: 40 additions & 0 deletions x/participationrewards/client/cli/tx.go
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ func GetTxCmd() *cobra.Command {
}

txCmd.AddCommand(GetSubmitClaimTxCmd())
txCmd.AddCommand(GetSubmitClaimsTxCmd())

return txCmd
}
Expand Down Expand Up @@ -78,6 +79,45 @@ func GetSubmitClaimTxCmd() *cobra.Command {
return cmd
}

func GetSubmitClaimsTxCmd() *cobra.Command {
cmd := &cobra.Command{
Use: "claims [payload-file].json",
Short: `Submit proof of assets held`,
Args: cobra.ExactArgs(1),
RunE: func(cmd *cobra.Command, args []string) error {
clientCtx, err := client.GetClientTxContext(cmd)
if err != nil {
return err
}

fileName := args[0]

contents, err := os.ReadFile(fileName)
if err != nil {
return err
}

var msgs []*types.MsgSubmitClaim

if err := json.Unmarshal(contents, &msgs); err != nil {
return err
}

var sdkMsgs []sdk.Msg

for _, m := range msgs {
sdkMsgs = append(sdkMsgs, m)
}

return tx.GenerateOrBroadcastTxCLI(clientCtx, cmd.Flags(), sdkMsgs...)
},
}

flags.AddTxFlagsToCmd(cmd)

return cmd
}

// GetCmdAddProtocolDataProposal implements the command to submit a add protocol data proposal.
func GetCmdAddProtocolDataProposal() *cobra.Command {
cmd := &cobra.Command{
Expand Down

0 comments on commit 4d3c76b

Please sign in to comment.