@@ -13,6 +13,8 @@ import (
1313 sdk "github.com/cosmos/cosmos-sdk/types"
1414 "github.com/cosmos/cosmos-sdk/x/authz"
1515 distrtypes "github.com/cosmos/cosmos-sdk/x/distribution/types"
16+ dv1beta "pkg.akt.dev/go/node/deployment/v1beta4"
17+ mv1beta "pkg.akt.dev/go/node/market/v1beta5"
1618
1719 escrowid "pkg.akt.dev/go/node/escrow/id/v1"
1820 "pkg.akt.dev/go/node/escrow/module"
@@ -219,6 +221,17 @@ func (k *keeper) AuthorizeDeposits(sctx sdk.Context, msg sdk.Msg) ([]etypes.Depo
219221 Amount : sdkmath .NewInt (deplAuthz .SpendLimit .Amount .Int64 ()),
220222 }
221223
224+ // bc authz.Accepts take sdk.Msg as an argument, the deposit amount from incoming message
225+ // has to be modified in place to correctly calculate what deposits to take from grants
226+ switch mt := msg .(type ) {
227+ case * ev1.MsgAccountDeposit :
228+ mt .Deposit .Amount = sdk .NewCoin (denom , sdkmath .NewIntFromBigInt (remainder .BigInt ()))
229+ case * dv1beta.MsgCreateDeployment :
230+ mt .Deposit .Amount = sdk .NewCoin (denom , sdkmath .NewIntFromBigInt (remainder .BigInt ()))
231+ case * mv1beta.MsgCreateBid :
232+ mt .Deposit .Amount = sdk .NewCoin (denom , sdkmath .NewIntFromBigInt (remainder .BigInt ()))
233+ }
234+
222235 resp , err := authorization .Accept (ctx , msg )
223236 if err != nil {
224237 return false
@@ -238,11 +251,6 @@ func (k *keeper) AuthorizeDeposits(sctx sdk.Context, msg sdk.Msg) ([]etypes.Depo
238251
239252 authorizedSpend = authorizedSpend .Sub (deplAuthz .SpendLimit )
240253
241- // if authorized amount is bigger to what is remaining then just use remainder
242- if remainder .LT (authorizedSpend .Amount ) {
243- authorizedSpend = sdk .NewCoin (authorizedSpend .Denom , remainder )
244- }
245-
246254 depositors = append (depositors , etypes.Depositor {
247255 Owner : granter .String (),
248256 Height : sctx .BlockHeight (),
0 commit comments