From a98974fd748968588e8cc1f9bb2bced8e7088a88 Mon Sep 17 00:00:00 2001 From: Sai Kumar Date: Fri, 14 Apr 2023 19:06:49 +0530 Subject: [PATCH 1/8] WIP: add the custom handlers for cosmwasm --- app/experimental_appconfig.go | 5 ++ app/wasm/custom_plugins.go | 31 +++++++++ app/wasm/msg/handler_leverage.go | 88 ++++++++++++++++++++++++ app/wasm/msg/plugin.go | 73 ++++++++++++++++++++ app/wasm/msg/types.go | 60 ++++++++++++++++ app/wasm/query/handle_leverage.go | 77 +++++++++++++++++++++ app/wasm/query/handle_oracle.go | 110 ++++++++++++++++++++++++++++++ app/wasm/query/plugin.go | 99 +++++++++++++++++++++++++++ app/wasm/query/types.go | 98 ++++++++++++++++++++++++++ 9 files changed, 641 insertions(+) create mode 100644 app/wasm/custom_plugins.go create mode 100644 app/wasm/msg/handler_leverage.go create mode 100644 app/wasm/msg/plugin.go create mode 100644 app/wasm/msg/types.go create mode 100644 app/wasm/query/handle_leverage.go create mode 100644 app/wasm/query/handle_oracle.go create mode 100644 app/wasm/query/plugin.go create mode 100644 app/wasm/query/types.go diff --git a/app/experimental_appconfig.go b/app/experimental_appconfig.go index 8835eb4dbc..c3e9e0dc24 100644 --- a/app/experimental_appconfig.go +++ b/app/experimental_appconfig.go @@ -14,6 +14,8 @@ import ( servertypes "github.com/cosmos/cosmos-sdk/server/types" storetypes "github.com/cosmos/cosmos-sdk/store/types" govv1beta1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + + umeewasm "github.com/umee-network/umee/v4/app/wasm" ) const ( @@ -71,6 +73,9 @@ func (app *UmeeApp) customKeepers( app.wasmCfg = wasmConfig + // Registering the custom plugins (leverage and oracle queries and msgs) + wasmOpts = append(umeewasm.RegisterCustomPlugins(app.LeverageKeeper, app.OracleKeeper), wasmOpts...) + // The last arguments can contain custom message handlers, and custom query handlers, // if we want to allow any custom callbacks availableCapabilities := "iterator,staking,stargate,cosmwasm_1_1" diff --git a/app/wasm/custom_plugins.go b/app/wasm/custom_plugins.go new file mode 100644 index 0000000000..a1433d041a --- /dev/null +++ b/app/wasm/custom_plugins.go @@ -0,0 +1,31 @@ +package wasm + +import ( + "github.com/CosmWasm/wasmd/x/wasm" + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + + "github.com/umee-network/umee/v4/app/wasm/msg" + "github.com/umee-network/umee/v4/app/wasm/query" + leveragekeeper "github.com/umee-network/umee/v4/x/leverage/keeper" + oraclekeeper "github.com/umee-network/umee/v4/x/oracle/keeper" +) + +// RegisterCustomPlugins expose the queries and msgs of native modules to wasm. +func RegisterCustomPlugins( + leverageKeeper leveragekeeper.Keeper, + oracleKeeper oraclekeeper.Keeper, +) []wasmkeeper.Option { + wasmQueryPlugin := query.NewQueryPlugin(leverageKeeper, oracleKeeper) + queryPluginOpt := wasmkeeper.WithQueryPlugins(&wasmkeeper.QueryPlugins{ + Custom: wasmQueryPlugin.CustomQuerier(), + }) + + messagePluginOpt := wasmkeeper.WithMessageHandlerDecorator(func(old wasmkeeper.Messenger) wasmkeeper.Messenger { + return msg.NewMessagePlugin(leverageKeeper) + }) + + return []wasm.Option{ + queryPluginOpt, + messagePluginOpt, + } +} diff --git a/app/wasm/msg/handler_leverage.go b/app/wasm/msg/handler_leverage.go new file mode 100644 index 0000000000..2647ea5c67 --- /dev/null +++ b/app/wasm/msg/handler_leverage.go @@ -0,0 +1,88 @@ +package msg + +import ( + "context" + + "github.com/gogo/protobuf/proto" + + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" +) + +// HandleSupply handles the Supply value of an address. +func (m UmeeMsg) HandleSupply( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgSupply{Supplier: m.Supply.Supplier, Asset: m.Supply.Asset} + return s.Supply(ctx, req) +} + +// HandleWithdraw handles the Withdraw value of an address. +func (m UmeeMsg) HandleWithdraw( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgWithdraw{Supplier: m.Withdraw.Supplier, Asset: m.Withdraw.Asset} + return s.Withdraw(ctx, req) +} + +// HandleCollateralize handles the enable selected uTokens as collateral. +func (m UmeeMsg) HandleCollateralize( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgCollateralize{Borrower: m.Collateralize.Borrower, Asset: m.Collateralize.Asset} + return s.Collateralize(ctx, req) +} + +// HandleDecollateralize handles the disable amount of an selected uTokens +// as collateral. +func (m UmeeMsg) HandleDecollateralize( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgDecollateralize{Borrower: m.Decollateralize.Borrower, Asset: m.Decollateralize.Asset} + return s.Decollateralize(ctx, req) +} + +// HandleBorrow handles the borrowing coins from the capital facility. +func (m UmeeMsg) HandleBorrow( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgBorrow{Borrower: m.Borrow.Borrower, Asset: m.Borrow.Asset} + return s.Borrow(ctx, req) +} + +// HandleRepay handles repaying borrowed coins to the capital facility. +func (m UmeeMsg) HandleRepay( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgRepay{Borrower: m.Repay.Borrower, Asset: m.Repay.Asset} + return s.Repay(ctx, req) +} + +// HandleLiquidate handles the repaying a different user's borrowed coins +// to the capital facility in exchange for some of their collateral. +func (m UmeeMsg) HandleLiquidate( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgLiquidate{ + Liquidator: m.Liquidate.Liquidator, + Borrower: m.Liquidate.Borrower, + Repayment: m.Liquidate.Repayment, + RewardDenom: m.Liquidate.RewardDenom, + } + return s.Liquidate(ctx, req) +} + +// HandleSupplyCollateralize handles the supply the assets and collateral their assets. +func (m UmeeMsg) HandleSupplyCollateralize( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgSupplyCollateral{Supplier: m.SupplyCollateralize.Supplier, Asset: m.Supply.Asset} + return s.SupplyCollateral(ctx, req) +} diff --git a/app/wasm/msg/plugin.go b/app/wasm/msg/plugin.go new file mode 100644 index 0000000000..f3a7f415e8 --- /dev/null +++ b/app/wasm/msg/plugin.go @@ -0,0 +1,73 @@ +package msg + +import ( + "encoding/json" + + sdkerrors "cosmossdk.io/errors" + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + sdk "github.com/cosmos/cosmos-sdk/types" + + lvkeeper "github.com/umee-network/umee/v4/x/leverage/keeper" + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" +) + +// Plugin wraps the msg plugin with Messengers. +type Plugin struct { + lvMsgServer lvtypes.MsgServer + wrapped wasmkeeper.Messenger +} + +func NewMessagePlugin(leverageKeeper lvkeeper.Keeper) *Plugin { + return &Plugin{ + lvMsgServer: lvkeeper.NewMsgServerImpl(leverageKeeper), + } +} + +// DispatchCustomMsg responsible for handling custom messages (umee native messages). +func (plugin *Plugin) DispatchCustomMsg(ctx sdk.Context, rawMsg json.RawMessage) error { + var smartcontractMessage UmeeMsg + if err := json.Unmarshal(rawMsg, &smartcontractMessage); err != nil { + return sdkerrors.Wrap(err, "umee custom msg") + } + + var err error + sdkCtx := sdk.WrapSDKContext(ctx) + + switch smartcontractMessage.AssignedMsg { + case AssignedMsgSupply: + _, err = smartcontractMessage.HandleSupply(sdkCtx, plugin.lvMsgServer) + case AssignedMsgWithdraw: + _, err = smartcontractMessage.HandleWithdraw(sdkCtx, plugin.lvMsgServer) + case AssignedMsgCollateralize: + _, err = smartcontractMessage.HandleCollateralize(sdkCtx, plugin.lvMsgServer) + case AssignedMsgDecollateralize: + _, err = smartcontractMessage.HandleDecollateralize(sdkCtx, plugin.lvMsgServer) + case AssignedMsgBorrow: + _, err = smartcontractMessage.HandleBorrow(sdkCtx, plugin.lvMsgServer) + case AssignedMsgRepay: + _, err = smartcontractMessage.HandleRepay(sdkCtx, plugin.lvMsgServer) + case AssignedMsgLiquidate: + _, err = smartcontractMessage.HandleLiquidate(sdkCtx, plugin.lvMsgServer) + case AssignedMsgSupplyCollateralize: + _, err = smartcontractMessage.HandleSupplyCollateralize(sdkCtx, plugin.lvMsgServer) + + default: + err = wasmvmtypes.UnsupportedRequest{Kind: "invalid assigned umee msg"} + } + + return err +} + +// DispatchMsg encodes the wasmVM message and dispatches it. +func (plugin *Plugin) DispatchMsg( + ctx sdk.Context, + contractAddr sdk.AccAddress, + contractIBCPortID string, + msg wasmvmtypes.CosmosMsg, +) (events []sdk.Event, data [][]byte, err error) { + if msg.Custom != nil { + return nil, nil, plugin.DispatchCustomMsg(ctx, msg.Custom) + } + return plugin.wrapped.DispatchMsg(ctx, contractAddr, contractIBCPortID, msg) +} diff --git a/app/wasm/msg/types.go b/app/wasm/msg/types.go new file mode 100644 index 0000000000..f80a4dea3e --- /dev/null +++ b/app/wasm/msg/types.go @@ -0,0 +1,60 @@ +package msg + +import ( + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" +) + +// AssignedMsg defines the msg to be called. +type AssignedMsg uint16 + +const ( + // AssignedMsgSupply represents the call to supply coins to the capital facility. + AssignedMsgSupply AssignedMsg = iota + 0 + // AssignedMsgWithdraw represents the call to withdraw previously loaned coins + // from the capital facility. + AssignedMsgWithdraw + // AssignedMsgCollateralize represents the call to enable an amount of + // selected uTokens as collateral. + AssignedMsgCollateralize + // AssignedMsgDecollateralize represents the call to disable amount of + // an selected uTokens as collateral. + AssignedMsgDecollateralize + // AssignedMsgBorrow represents the call to borrowing coins from the + // capital facility. + AssignedMsgBorrow + // AssignedMsgRepay represents the call to repaying borrowed coins to + // the capital facility. + AssignedMsgRepay + // AssignedMsgLiquidate represents the call to repaying a different user's + // borrowed coins to the capital facility in exchange for some of their + // collateral. + AssignedMsgLiquidate + // AssignedMsgSupplyCollateralize represents the call to supply and collateralize their assets. + AssignedMsgSupplyCollateralize + AssignedMsgMaxWithdraw +) + +// UmeeMsg wraps all the messages availables for cosmwasm smartcontracts. +type UmeeMsg struct { + // Mandatory field to determine which msg to call. + AssignedMsg AssignedMsg `json:"assigned_msg"` + // Used to supply coins to the capital facility. + Supply *lvtypes.MsgSupply `json:"supply,omitempty"` + // Used to withdraw previously loaned coins from the capital facility. + Withdraw *lvtypes.MsgWithdraw `json:"withdraw,omitempty"` + // Used to enable an amount of selected uTokens as collateral. + Collateralize *lvtypes.MsgCollateralize `json:"collateralize,omitempty"` + // Used to disable amount of an selected uTokens as collateral. + Decollateralize *lvtypes.MsgDecollateralize `json:"decollateralize,omitempty"` + // Used to borrowing coins from the capital facility. + Borrow *lvtypes.MsgBorrow `json:"borrow,omitempty"` + // Used to repaying borrowed coins to the capital facility. + Repay *lvtypes.MsgRepay `json:"repay,omitempty"` + // Used to repaying a different user's borrowed coins + // to the capital facility in exchange for some of their collateral. + Liquidate *lvtypes.MsgLiquidate `json:"liquidate,omitempty"` + // Used to do supply and collateralize their assets. + SupplyCollateralize *lvtypes.MsgSupplyCollateral `json:"supply_collateralize,omitempty"` + // Used to do withdraw maximum assets by supplier. + AssignedMsgMaxWithdraw *lvtypes.MsgMaxWithdraw `json:"max_withdraw,omitempty"` +} diff --git a/app/wasm/query/handle_leverage.go b/app/wasm/query/handle_leverage.go new file mode 100644 index 0000000000..d0b1f54eea --- /dev/null +++ b/app/wasm/query/handle_leverage.go @@ -0,0 +1,77 @@ +package query + +import ( + "context" + + "github.com/gogo/protobuf/proto" + + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" +) + +// HandleLeverageParams handles the get the x/leverage module's parameters. +func (q UmeeQuery) HandleLeverageParams( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + return qs.Params(ctx, &lvtypes.QueryParams{}) +} + +// HandleRegisteredTokens handles the get all registered tokens query and response. +func (q UmeeQuery) HandleRegisteredTokens( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + return qs.RegisteredTokens(ctx, &lvtypes.QueryRegisteredTokens{}) +} + +// HandleMarketSummary queries a base asset's current borrowing and supplying conditions. +func (q UmeeQuery) HandleMarketSummary( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + return qs.MarketSummary(ctx, &lvtypes.QueryMarketSummary{Denom: q.MarketSummary.Denom}) +} + +// HandleAccountBalances queries an account's current supply, collateral, and borrow positions. +func (q UmeeQuery) HandleAccountBalances( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + req := &lvtypes.QueryAccountBalances{Address: q.AccountBalances.Address} + return qs.AccountBalances(ctx, req) +} + +// HandleAccountSummary queries USD values representing an account's total +// positions and borrowing limits. It requires oracle prices to return successfully. +func (q UmeeQuery) HandleAccountSummary( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + req := &lvtypes.QueryAccountSummary{Address: q.AccountSummary.Address} + return qs.AccountSummary(ctx, req) +} + +// HandleLiquidationTargets queries a list of all borrower account addresses eligible for liquidation. +func (q UmeeQuery) HandleLiquidationTargets( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + return qs.LiquidationTargets(ctx, &lvtypes.QueryLiquidationTargets{}) +} + +// HandleBadDebts queries bad debts. +func (q UmeeQuery) HandleBadDebts( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + return qs.BadDebts(ctx, &lvtypes.QueryBadDebts{}) +} + +// HandleBadDebts queries bad debts. +func (q UmeeQuery) HandleMaxWithdraw( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + req := &lvtypes.QueryMaxWithdraw{Address: q.MaxWithdraw.Address, Denom: q.MaxWithdraw.Denom} + return qs.MaxWithdraw(ctx, req) +} diff --git a/app/wasm/query/handle_oracle.go b/app/wasm/query/handle_oracle.go new file mode 100644 index 0000000000..2f328b3789 --- /dev/null +++ b/app/wasm/query/handle_oracle.go @@ -0,0 +1,110 @@ +package query + +import ( + sdk "github.com/cosmos/cosmos-sdk/types" + "github.com/gogo/protobuf/proto" + + octypes "github.com/umee-network/umee/v4/x/oracle/types" +) + +// HandleFeederDelegation gets all the feeder delegation of a validator. +func (q UmeeQuery) HandleFeederDelegation( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryFeederDelegation{ValidatorAddr: q.FeederDelegation.ValidatorAddr} + return qs.FeederDelegation(sdk.WrapSDKContext(ctx), req) +} + +// HandleMissCounter gets all the oracle miss counter of a validator. +func (q UmeeQuery) HandleMissCounter( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryMissCounter{ValidatorAddr: q.MissCounter.ValidatorAddr} + return qs.MissCounter(sdk.WrapSDKContext(ctx), req) +} + +// HandleSlashWindow gets slash window information. +func (q UmeeQuery) HandleSlashWindow( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.SlashWindow(sdk.WrapSDKContext(ctx), &octypes.QuerySlashWindow{}) +} + +// HandleAggregatePrevote gets an aggregate prevote of a validator. +func (q UmeeQuery) HandleAggregatePrevote( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryAggregatePrevote{ValidatorAddr: q.AggregatePrevote.ValidatorAddr} + return qs.AggregatePrevote(sdk.WrapSDKContext(ctx), req) +} + +// HandleAggregatePrevotes gets an aggregate prevote of all validators. +func (q UmeeQuery) HandleAggregatePrevotes( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.AggregatePrevotes(sdk.WrapSDKContext(ctx), &octypes.QueryAggregatePrevotes{}) +} + +// HandleAggregateVote gets an aggregate vote of a validator. +func (q UmeeQuery) HandleAggregateVote( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryAggregateVote{ValidatorAddr: q.AggregateVote.ValidatorAddr} + return qs.AggregateVote(sdk.WrapSDKContext(ctx), req) +} + +// HandleAggregateVotes gets an aggregate vote of all validators. +func (q UmeeQuery) HandleAggregateVotes( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.AggregateVotes(sdk.WrapSDKContext(ctx), &octypes.QueryAggregateVotes{}) +} + +// HandleOracleParams gets the x/oracle module's parameters. +func (q UmeeQuery) HandleOracleParams( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.Params(sdk.WrapSDKContext(ctx), &octypes.QueryParams{}) +} + +// HandleExchangeRates gets the exchange rates of all denoms. +func (q UmeeQuery) HandleExchangeRates( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.ExchangeRates(sdk.WrapSDKContext(ctx), &octypes.QueryExchangeRates{Denom: q.ExchangeRates.Denom}) +} + +// HandleActiveExchangeRates gets all active denoms. +func (q UmeeQuery) HandleActiveExchangeRates( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + return qs.ActiveExchangeRates(sdk.WrapSDKContext(ctx), &octypes.QueryActiveExchangeRates{}) +} + +// HandleMedians gets medians. +func (q UmeeQuery) HandleMedians( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryMedians{Denom: q.Medians.Denom, NumStamps: q.Medians.NumStamps} + return qs.Medians(sdk.WrapSDKContext(ctx), req) +} + +// HandleMedians gets median deviations. +func (q UmeeQuery) HandleMedianDeviations( + ctx sdk.Context, + qs octypes.QueryServer, +) (proto.Message, error) { + req := &octypes.QueryMedianDeviations{Denom: q.MedianDeviations.Denom} + return qs.MedianDeviations(sdk.WrapSDKContext(ctx), req) +} diff --git a/app/wasm/query/plugin.go b/app/wasm/query/plugin.go new file mode 100644 index 0000000000..be10588776 --- /dev/null +++ b/app/wasm/query/plugin.go @@ -0,0 +1,99 @@ +package query + +import ( + "encoding/json" + "fmt" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + sdk "github.com/cosmos/cosmos-sdk/types" + sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" + "github.com/gogo/protobuf/proto" + + lvkeeper "github.com/umee-network/umee/v4/x/leverage/keeper" + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" + ockeeper "github.com/umee-network/umee/v4/x/oracle/keeper" + ocpes "github.com/umee-network/umee/v4/x/oracle/types" +) + +// Plugin wraps the query plugin with queriers. +type Plugin struct { + lvQueryServer lvtypes.QueryServer + ocQueryServer ocpes.QueryServer +} + +// NewQueryPlugin creates a plugin to query native modules. +func NewQueryPlugin( + leverageKeeper lvkeeper.Keeper, + oracleKeeper ockeeper.Keeper, +) *Plugin { + return &Plugin{ + lvQueryServer: lvkeeper.NewQuerier(leverageKeeper), + ocQueryServer: ockeeper.NewQuerier(oracleKeeper), + } +} + +// CustomQuerier implements custom querier for wasm smartcontracts acess umee native modules. +func (plugin *Plugin) CustomQuerier() func(ctx sdk.Context, request json.RawMessage) ([]byte, error) { + return func(ctx sdk.Context, request json.RawMessage) ([]byte, error) { + var smartcontractQuery UmeeQuery + if err := json.Unmarshal(request, &smartcontractQuery); err != nil { + return nil, sdkerrors.Wrap(err, "umee query") + } + + var resp proto.Message + var err error + + switch smartcontractQuery.AssignedQuery { + case AssignedQueryLeverageParams: + resp, err = smartcontractQuery.HandleLeverageParams(ctx, plugin.lvQueryServer) + case AssignedQueryRegisteredTokens: + resp, err = smartcontractQuery.HandleRegisteredTokens(ctx, plugin.lvQueryServer) + case AssignedQueryMarketSummary: + resp, err = smartcontractQuery.HandleMarketSummary(ctx, plugin.lvQueryServer) + case AssignedQueryAccountBalances: + resp, err = smartcontractQuery.HandleAccountBalances(ctx, plugin.lvQueryServer) + case AssignedQueryAccountSummary: + resp, err = smartcontractQuery.HandleAccountSummary(ctx, plugin.lvQueryServer) + case AssignedQueryLiquidationTargets: + resp, err = smartcontractQuery.HandleLiquidationTargets(ctx, plugin.lvQueryServer) + case AssignedQueryBadDebts: + resp, err = smartcontractQuery.HandleBadDebts(ctx, plugin.lvQueryServer) + case AssignedQueryMaxWithdraw: + resp, err = smartcontractQuery.HandleMaxWithdraw(ctx, plugin.lvQueryServer) + + case AssignedQueryFeederDelegation: + resp, err = smartcontractQuery.HandleFeederDelegation(ctx, plugin.ocQueryServer) + case AssignedQueryMissCounter: + resp, err = smartcontractQuery.HandleMissCounter(ctx, plugin.ocQueryServer) + case AssignedQuerySlashWindow: + resp, err = smartcontractQuery.HandleSlashWindow(ctx, plugin.ocQueryServer) + case AssignedQueryAggregatePrevote: + resp, err = smartcontractQuery.HandleAggregatePrevote(ctx, plugin.ocQueryServer) + case AssignedQueryAggregatePrevotes: + resp, err = smartcontractQuery.HandleAggregatePrevotes(ctx, plugin.ocQueryServer) + case AssignedQueryAggregateVote: + resp, err = smartcontractQuery.HandleAggregateVote(ctx, plugin.ocQueryServer) + case AssignedQueryAggregateVotes: + resp, err = smartcontractQuery.HandleAggregateVotes(ctx, plugin.ocQueryServer) + case AssignedQueryOracleParams: + resp, err = smartcontractQuery.HandleOracleParams(ctx, plugin.ocQueryServer) + case AssignedQueryExchangeRates: + resp, err = smartcontractQuery.HandleExchangeRates(ctx, plugin.ocQueryServer) + case AssignedQueryActiveExchangeRates: + resp, err = smartcontractQuery.HandleActiveExchangeRates(ctx, plugin.ocQueryServer) + case AssignedQueryMedians: + resp, err = smartcontractQuery.HandleMedians(ctx, plugin.ocQueryServer) + case AssignedQueryMedianDeviations: + resp, err = smartcontractQuery.HandleMedianDeviations(ctx, plugin.ocQueryServer) + + default: + return nil, wasmvmtypes.UnsupportedRequest{Kind: "invalid assigned umee query"} + } + + if err != nil { + return nil, wasmvmtypes.UnsupportedRequest{Kind: fmt.Sprintf("error %+v while query the assigned query ", err)} + } + + return MarshalResponse(resp) + } +} diff --git a/app/wasm/query/types.go b/app/wasm/query/types.go new file mode 100644 index 0000000000..9180fd01b1 --- /dev/null +++ b/app/wasm/query/types.go @@ -0,0 +1,98 @@ +package query + +import ( + "encoding/json" + "fmt" + + wasmvmtypes "github.com/CosmWasm/wasmvm/types" + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" + octypes "github.com/umee-network/umee/v4/x/oracle/types" +) + +// AssignedQuery defines the query to be called. +type AssignedQuery uint16 + +const ( + // leverage queries + AssignedQueryLeverageParams AssignedQuery = iota + 0 + AssignedQueryRegisteredTokens + AssignedQueryMarketSummary + AssignedQueryAccountBalances + AssignedQueryAccountSummary + AssignedQueryLiquidationTargets + AssignedQueryBadDebts + AssignedQueryMaxWithdraw + + // oracle queries + AssignedQueryFeederDelegation + AssignedQueryMissCounter + AssignedQuerySlashWindow + AssignedQueryAggregatePrevote + AssignedQueryAggregatePrevotes + AssignedQueryAggregateVote + AssignedQueryAggregateVotes + AssignedQueryOracleParams + AssignedQueryExchangeRates + AssignedQueryActiveExchangeRates + AssignedQueryMedians + AssignedQueryMedianDeviations +) + +// UmeeQuery wraps all the queries availables for cosmwasm smartcontracts. +type UmeeQuery struct { + // Mandatory field to determine which query to call. + AssignedQuery AssignedQuery `json:"assigned_query"` + + // Leverage queries + // Used to query the x/leverage module's parameters. + LeverageParams *lvtypes.QueryParams `json:"leverage_params,omitempty"` + // Used to query all the registered tokens. + RegisteredTokens *lvtypes.QueryRegisteredTokens `json:"registered_tokens,omitempty"` + // Used to get the summary data of an denom. + MarketSummary *lvtypes.QueryMarketSummary `json:"market_summary,omitempty"` + // Used to get an account's current supply, collateral, and borrow positions. + AccountBalances *lvtypes.QueryAccountBalances `json:"account_balances,omitempty"` + // Used to queries USD values representing an account's total positions and borrowing limits. + AccountSummary *lvtypes.QueryAccountSummary `json:"account_summary,omitempty"` + // request to return a list of borrower addresses eligible for liquidation. + LiquidationTargets *lvtypes.QueryLiquidationTargets `json:"liquidation_targets,omitempty"` + // requet to returns list of bad debts + BadDebts *lvtypes.QueryBadDebts `json:"bad_debts,omitempty"` + // request to returns max withdraw + MaxWithdraw *lvtypes.QueryMaxWithdraw `json:"max_withdraw,omitempty"` + + // oracle queries + // Used to get all feeder delegation of a validator. + FeederDelegation *octypes.QueryFeederDelegation `json:"feeder_delegation,omitempty"` + // Used to get all the oracle miss counter of a validator. + MissCounter *octypes.QueryMissCounter `json:"miss_counter,omitempty"` + // Used to get information of an slash window. + SlashWindow *octypes.QuerySlashWindow `json:"slash_window,omitempty"` + // Used to get an aggregate prevote of a validator. + AggregatePrevote *octypes.QueryAggregatePrevote `json:"aggregate_prevote,omitempty"` + // Used to get an aggregate prevote of all validators. + AggregatePrevotes *octypes.QueryAggregatePrevotes `json:"aggregate_prevotes,omitempty"` + // Used to get an aggregate vote of a validator. + AggregateVote *octypes.QueryAggregateVote `json:"aggregate_vote,omitempty"` + // Used to get an aggregate vote of all validators. + AggregateVotes *octypes.QueryAggregateVotes `json:"aggregate_votes,omitempty"` + // Used to query the x/oracle module's parameters. + OracleParams *octypes.QueryParams `json:"oracle_params,omitempty"` + // Used to get the exchange rates of all denoms. + ExchangeRates *octypes.QueryExchangeRates `json:"exchange_rates,omitempty"` + // Used to get all active denoms. + ActiveExchangeRates *octypes.QueryActiveExchangeRates `json:"active_exchange_rates,omitempty"` + // Used to get all medians. + Medians *octypes.QueryMedians `json:"medians,omitempty"` + // Used to get all median deviations. + MedianDeviations *octypes.QueryMedianDeviations `json:"median_deviations,omitempty"` +} + +// MarshalResponse marshals any response. +func MarshalResponse(resp interface{}) ([]byte, error) { + bz, err := json.Marshal(resp) + if err != nil { + return nil, wasmvmtypes.UnsupportedRequest{Kind: fmt.Sprintf("error %+v umee query response error on marshal", err)} + } + return bz, err +} From 3046ee0c267b5427205d0be6ee87257122f22bb6 Mon Sep 17 00:00:00 2001 From: Sai Kumar Date: Fri, 14 Apr 2023 21:37:53 +0530 Subject: [PATCH 2/8] fix: fix the lint --- app/wasm/query/plugin.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/wasm/query/plugin.go b/app/wasm/query/plugin.go index be10588776..bf92c67ed7 100644 --- a/app/wasm/query/plugin.go +++ b/app/wasm/query/plugin.go @@ -4,9 +4,9 @@ import ( "encoding/json" "fmt" + sdkerrors "cosmossdk.io/errors" wasmvmtypes "github.com/CosmWasm/wasmvm/types" sdk "github.com/cosmos/cosmos-sdk/types" - sdkerrors "github.com/cosmos/cosmos-sdk/types/errors" "github.com/gogo/protobuf/proto" lvkeeper "github.com/umee-network/umee/v4/x/leverage/keeper" From 8c2df4148dd783b65d87554b8ac11ef97d02300c Mon Sep 17 00:00:00 2001 From: Sai Kumar Date: Mon, 17 Apr 2023 14:14:11 +0530 Subject: [PATCH 3/8] review: address the pr comments --- app/wasm/msg/handler_leverage.go | 4 ++-- app/wasm/msg/plugin.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/wasm/msg/handler_leverage.go b/app/wasm/msg/handler_leverage.go index 2647ea5c67..ddbd381d20 100644 --- a/app/wasm/msg/handler_leverage.go +++ b/app/wasm/msg/handler_leverage.go @@ -78,8 +78,8 @@ func (m UmeeMsg) HandleLiquidate( return s.Liquidate(ctx, req) } -// HandleSupplyCollateralize handles the supply the assets and collateral their assets. -func (m UmeeMsg) HandleSupplyCollateralize( +// HandleSupplyCollateral handles the supply the assets and collateral their assets. +func (m UmeeMsg) HandleSupplyCollateral( ctx context.Context, s lvtypes.MsgServer, ) (proto.Message, error) { diff --git a/app/wasm/msg/plugin.go b/app/wasm/msg/plugin.go index f3a7f415e8..f1cea75993 100644 --- a/app/wasm/msg/plugin.go +++ b/app/wasm/msg/plugin.go @@ -50,7 +50,7 @@ func (plugin *Plugin) DispatchCustomMsg(ctx sdk.Context, rawMsg json.RawMessage) case AssignedMsgLiquidate: _, err = smartcontractMessage.HandleLiquidate(sdkCtx, plugin.lvMsgServer) case AssignedMsgSupplyCollateralize: - _, err = smartcontractMessage.HandleSupplyCollateralize(sdkCtx, plugin.lvMsgServer) + _, err = smartcontractMessage.HandleSupplyCollateral(sdkCtx, plugin.lvMsgServer) default: err = wasmvmtypes.UnsupportedRequest{Kind: "invalid assigned umee msg"} From ac87616e23ce41cfef5b49cc5a2ab5d6b8766448 Mon Sep 17 00:00:00 2001 From: Sai Kumar Date: Tue, 18 Apr 2023 16:05:05 +0530 Subject: [PATCH 4/8] rename MsgSupplyCollaterize to Collateral --- app/wasm/msg/handler_leverage.go | 2 +- app/wasm/msg/plugin.go | 2 +- app/wasm/msg/types.go | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/app/wasm/msg/handler_leverage.go b/app/wasm/msg/handler_leverage.go index ddbd381d20..861d016328 100644 --- a/app/wasm/msg/handler_leverage.go +++ b/app/wasm/msg/handler_leverage.go @@ -83,6 +83,6 @@ func (m UmeeMsg) HandleSupplyCollateral( ctx context.Context, s lvtypes.MsgServer, ) (proto.Message, error) { - req := &lvtypes.MsgSupplyCollateral{Supplier: m.SupplyCollateralize.Supplier, Asset: m.Supply.Asset} + req := &lvtypes.MsgSupplyCollateral{Supplier: m.SupplyCollateral.Supplier, Asset: m.Supply.Asset} return s.SupplyCollateral(ctx, req) } diff --git a/app/wasm/msg/plugin.go b/app/wasm/msg/plugin.go index f1cea75993..25bebdb8bc 100644 --- a/app/wasm/msg/plugin.go +++ b/app/wasm/msg/plugin.go @@ -49,7 +49,7 @@ func (plugin *Plugin) DispatchCustomMsg(ctx sdk.Context, rawMsg json.RawMessage) _, err = smartcontractMessage.HandleRepay(sdkCtx, plugin.lvMsgServer) case AssignedMsgLiquidate: _, err = smartcontractMessage.HandleLiquidate(sdkCtx, plugin.lvMsgServer) - case AssignedMsgSupplyCollateralize: + case AssignedMsgSupplyCollateral: _, err = smartcontractMessage.HandleSupplyCollateral(sdkCtx, plugin.lvMsgServer) default: diff --git a/app/wasm/msg/types.go b/app/wasm/msg/types.go index f80a4dea3e..8413796e80 100644 --- a/app/wasm/msg/types.go +++ b/app/wasm/msg/types.go @@ -29,8 +29,8 @@ const ( // borrowed coins to the capital facility in exchange for some of their // collateral. AssignedMsgLiquidate - // AssignedMsgSupplyCollateralize represents the call to supply and collateralize their assets. - AssignedMsgSupplyCollateralize + // AssignedMsgSupplyCollateral represents the call to supply and collateralize their assets. + AssignedMsgSupplyCollateral AssignedMsgMaxWithdraw ) @@ -54,7 +54,7 @@ type UmeeMsg struct { // to the capital facility in exchange for some of their collateral. Liquidate *lvtypes.MsgLiquidate `json:"liquidate,omitempty"` // Used to do supply and collateralize their assets. - SupplyCollateralize *lvtypes.MsgSupplyCollateral `json:"supply_collateralize,omitempty"` + SupplyCollateral *lvtypes.MsgSupplyCollateral `json:"supply_collateralize,omitempty"` // Used to do withdraw maximum assets by supplier. AssignedMsgMaxWithdraw *lvtypes.MsgMaxWithdraw `json:"max_withdraw,omitempty"` } From 73729d8602518790812cac1efb7a8692c27384c6 Mon Sep 17 00:00:00 2001 From: Sai Kumar <17549398+gsk967@users.noreply.github.com> Date: Mon, 1 May 2023 21:54:13 +0530 Subject: [PATCH 5/8] tests: cw20 integration test (#2007) * tests: add cw20 testing on cosmwasm --- .gitignore | 1 + app/experimental_appconfig.go | 3 +- app/wasm/custom_plugins.go | 4 +- app/wasm/msg/handler_leverage.go | 18 ++ app/wasm/msg/plugin.go | 35 +- app/wasm/msg/types.go | 10 +- app/wasm/query/handle_leverage.go | 9 + app/wasm/query/plugin.go | 2 + app/wasm/query/types.go | 7 +- app/wasm/test/cosmwasm_test.go | 22 ++ app/wasm/test/cw20_base_test.go | 358 +++++++++++++++++++++ app/wasm/test/umee_cw_test.go | 229 +++++++++++++ tests/artifacts/cw20_base.wasm | Bin 0 -> 272632 bytes tests/artifacts/umee_cosmwasm-aarch64.wasm | Bin 0 -> 365118 bytes tests/artifacts/umee_cosmwasm.wasm | Bin 0 -> 356883 bytes 15 files changed, 674 insertions(+), 24 deletions(-) create mode 100644 app/wasm/test/cosmwasm_test.go create mode 100644 app/wasm/test/cw20_base_test.go create mode 100644 app/wasm/test/umee_cw_test.go create mode 100644 tests/artifacts/cw20_base.wasm create mode 100644 tests/artifacts/umee_cosmwasm-aarch64.wasm create mode 100644 tests/artifacts/umee_cosmwasm.wasm diff --git a/.gitignore b/.gitignore index dcc5cd8462..905a59c025 100644 --- a/.gitignore +++ b/.gitignore @@ -47,3 +47,4 @@ private* #IntelliJ .idea/ +.vscode \ No newline at end of file diff --git a/app/experimental_appconfig.go b/app/experimental_appconfig.go index c3e9e0dc24..2fecd5c108 100644 --- a/app/experimental_appconfig.go +++ b/app/experimental_appconfig.go @@ -78,7 +78,8 @@ func (app *UmeeApp) customKeepers( // The last arguments can contain custom message handlers, and custom query handlers, // if we want to allow any custom callbacks - availableCapabilities := "iterator,staking,stargate,cosmwasm_1_1" + // Note: "umee" required for umee comswasm + availableCapabilities := "iterator,staking,stargate,cosmwasm_1_1,umee" app.WasmKeeper = wasm.NewKeeper( appCodec, keys[wasm.StoreKey], diff --git a/app/wasm/custom_plugins.go b/app/wasm/custom_plugins.go index a1433d041a..586d76fa3f 100644 --- a/app/wasm/custom_plugins.go +++ b/app/wasm/custom_plugins.go @@ -20,9 +20,7 @@ func RegisterCustomPlugins( Custom: wasmQueryPlugin.CustomQuerier(), }) - messagePluginOpt := wasmkeeper.WithMessageHandlerDecorator(func(old wasmkeeper.Messenger) wasmkeeper.Messenger { - return msg.NewMessagePlugin(leverageKeeper) - }) + messagePluginOpt := wasmkeeper.WithMessageHandlerDecorator(msg.NewMessagePlugin(leverageKeeper)) return []wasm.Option{ queryPluginOpt, diff --git a/app/wasm/msg/handler_leverage.go b/app/wasm/msg/handler_leverage.go index 861d016328..f4e38e826c 100644 --- a/app/wasm/msg/handler_leverage.go +++ b/app/wasm/msg/handler_leverage.go @@ -26,6 +26,15 @@ func (m UmeeMsg) HandleWithdraw( return s.Withdraw(ctx, req) } +// HandleMaxWithdraw handles the maximum withdraw value of an address. +func (m UmeeMsg) HandleMaxWithdraw( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgMaxWithdraw{Supplier: m.MaxWithdraw.Supplier, Denom: m.MaxWithdraw.Denom} + return s.MaxWithdraw(ctx, req) +} + // HandleCollateralize handles the enable selected uTokens as collateral. func (m UmeeMsg) HandleCollateralize( ctx context.Context, @@ -54,6 +63,15 @@ func (m UmeeMsg) HandleBorrow( return s.Borrow(ctx, req) } +// HandleMaxBorrow handles the borrowing maximum coins from the capital facility. +func (m UmeeMsg) HandleMaxBorrow( + ctx context.Context, + s lvtypes.MsgServer, +) (proto.Message, error) { + req := &lvtypes.MsgMaxBorrow{Borrower: m.MaxBorrow.Borrower, Denom: m.MaxWithdraw.Denom} + return s.MaxBorrow(ctx, req) +} + // HandleRepay handles repaying borrowed coins to the capital facility. func (m UmeeMsg) HandleRepay( ctx context.Context, diff --git a/app/wasm/msg/plugin.go b/app/wasm/msg/plugin.go index 25bebdb8bc..2bf88c89c9 100644 --- a/app/wasm/msg/plugin.go +++ b/app/wasm/msg/plugin.go @@ -18,9 +18,15 @@ type Plugin struct { wrapped wasmkeeper.Messenger } -func NewMessagePlugin(leverageKeeper lvkeeper.Keeper) *Plugin { - return &Plugin{ - lvMsgServer: lvkeeper.NewMsgServerImpl(leverageKeeper), +var _ wasmkeeper.Messenger = (*Plugin)(nil) + +// CustomMessageDecorator returns decorator for custom CosmWasm bindings messages +func NewMessagePlugin(leverageKeeper lvkeeper.Keeper) func(wasmkeeper.Messenger) wasmkeeper.Messenger { + return func(old wasmkeeper.Messenger) wasmkeeper.Messenger { + return &Plugin{ + wrapped: old, + lvMsgServer: lvkeeper.NewMsgServerImpl(leverageKeeper), + } } } @@ -34,24 +40,27 @@ func (plugin *Plugin) DispatchCustomMsg(ctx sdk.Context, rawMsg json.RawMessage) var err error sdkCtx := sdk.WrapSDKContext(ctx) - switch smartcontractMessage.AssignedMsg { - case AssignedMsgSupply: + switch { + case smartcontractMessage.Supply != nil: _, err = smartcontractMessage.HandleSupply(sdkCtx, plugin.lvMsgServer) - case AssignedMsgWithdraw: + case smartcontractMessage.Withdraw != nil: _, err = smartcontractMessage.HandleWithdraw(sdkCtx, plugin.lvMsgServer) - case AssignedMsgCollateralize: + case smartcontractMessage.MaxWithdraw != nil: + _, err = smartcontractMessage.HandleMaxWithdraw(sdkCtx, plugin.lvMsgServer) + case smartcontractMessage.Collateralize != nil: _, err = smartcontractMessage.HandleCollateralize(sdkCtx, plugin.lvMsgServer) - case AssignedMsgDecollateralize: + case smartcontractMessage.Decollateralize != nil: _, err = smartcontractMessage.HandleDecollateralize(sdkCtx, plugin.lvMsgServer) - case AssignedMsgBorrow: + case smartcontractMessage.Borrow != nil: _, err = smartcontractMessage.HandleBorrow(sdkCtx, plugin.lvMsgServer) - case AssignedMsgRepay: + case smartcontractMessage.MaxBorrow != nil: + _, err = smartcontractMessage.HandleMaxBorrow(sdkCtx, plugin.lvMsgServer) + case smartcontractMessage.Repay != nil: _, err = smartcontractMessage.HandleRepay(sdkCtx, plugin.lvMsgServer) - case AssignedMsgLiquidate: + case smartcontractMessage.Liquidate != nil: _, err = smartcontractMessage.HandleLiquidate(sdkCtx, plugin.lvMsgServer) - case AssignedMsgSupplyCollateral: + case smartcontractMessage.SupplyCollateral != nil: _, err = smartcontractMessage.HandleSupplyCollateral(sdkCtx, plugin.lvMsgServer) - default: err = wasmvmtypes.UnsupportedRequest{Kind: "invalid assigned umee msg"} } diff --git a/app/wasm/msg/types.go b/app/wasm/msg/types.go index 8413796e80..277ca7d1de 100644 --- a/app/wasm/msg/types.go +++ b/app/wasm/msg/types.go @@ -36,25 +36,25 @@ const ( // UmeeMsg wraps all the messages availables for cosmwasm smartcontracts. type UmeeMsg struct { - // Mandatory field to determine which msg to call. - AssignedMsg AssignedMsg `json:"assigned_msg"` // Used to supply coins to the capital facility. Supply *lvtypes.MsgSupply `json:"supply,omitempty"` // Used to withdraw previously loaned coins from the capital facility. Withdraw *lvtypes.MsgWithdraw `json:"withdraw,omitempty"` + // Used to do withdraw maximum assets by supplier. + MaxWithdraw *lvtypes.MsgMaxWithdraw `json:"max_withdraw,omitempty"` // Used to enable an amount of selected uTokens as collateral. Collateralize *lvtypes.MsgCollateralize `json:"collateralize,omitempty"` // Used to disable amount of an selected uTokens as collateral. Decollateralize *lvtypes.MsgDecollateralize `json:"decollateralize,omitempty"` // Used to borrowing coins from the capital facility. Borrow *lvtypes.MsgBorrow `json:"borrow,omitempty"` + // Used to borrowing coins from the capital facility. + MaxBorrow *lvtypes.MsgMaxBorrow `json:"max_borrow,omitempty"` // Used to repaying borrowed coins to the capital facility. Repay *lvtypes.MsgRepay `json:"repay,omitempty"` // Used to repaying a different user's borrowed coins // to the capital facility in exchange for some of their collateral. Liquidate *lvtypes.MsgLiquidate `json:"liquidate,omitempty"` // Used to do supply and collateralize their assets. - SupplyCollateral *lvtypes.MsgSupplyCollateral `json:"supply_collateralize,omitempty"` - // Used to do withdraw maximum assets by supplier. - AssignedMsgMaxWithdraw *lvtypes.MsgMaxWithdraw `json:"max_withdraw,omitempty"` + SupplyCollateral *lvtypes.MsgSupplyCollateral `json:"supply_collateral,omitempty"` } diff --git a/app/wasm/query/handle_leverage.go b/app/wasm/query/handle_leverage.go index d0b1f54eea..0a64cd8160 100644 --- a/app/wasm/query/handle_leverage.go +++ b/app/wasm/query/handle_leverage.go @@ -75,3 +75,12 @@ func (q UmeeQuery) HandleMaxWithdraw( req := &lvtypes.QueryMaxWithdraw{Address: q.MaxWithdraw.Address, Denom: q.MaxWithdraw.Denom} return qs.MaxWithdraw(ctx, req) } + +// HandleMaxBorrow queries max borrow. +func (q UmeeQuery) HandleMaxBorrow( + ctx context.Context, + qs lvtypes.QueryServer, +) (proto.Message, error) { + req := &lvtypes.QueryMaxBorrow{Address: q.MaxBorrow.Address, Denom: q.MaxBorrow.Address} + return qs.MaxBorrow(ctx, req) +} diff --git a/app/wasm/query/plugin.go b/app/wasm/query/plugin.go index bf92c67ed7..636374b446 100644 --- a/app/wasm/query/plugin.go +++ b/app/wasm/query/plugin.go @@ -60,6 +60,8 @@ func (plugin *Plugin) CustomQuerier() func(ctx sdk.Context, request json.RawMess resp, err = smartcontractQuery.HandleBadDebts(ctx, plugin.lvQueryServer) case AssignedQueryMaxWithdraw: resp, err = smartcontractQuery.HandleMaxWithdraw(ctx, plugin.lvQueryServer) + case AssignedQueryMaxBorrow: + resp, err = smartcontractQuery.HandleMaxBorrow(ctx, plugin.lvQueryServer) case AssignedQueryFeederDelegation: resp, err = smartcontractQuery.HandleFeederDelegation(ctx, plugin.ocQueryServer) diff --git a/app/wasm/query/types.go b/app/wasm/query/types.go index 9180fd01b1..b40d9a219e 100644 --- a/app/wasm/query/types.go +++ b/app/wasm/query/types.go @@ -22,6 +22,7 @@ const ( AssignedQueryLiquidationTargets AssignedQueryBadDebts AssignedQueryMaxWithdraw + AssignedQueryMaxBorrow // oracle queries AssignedQueryFeederDelegation @@ -57,9 +58,11 @@ type UmeeQuery struct { // request to return a list of borrower addresses eligible for liquidation. LiquidationTargets *lvtypes.QueryLiquidationTargets `json:"liquidation_targets,omitempty"` // requet to returns list of bad debts - BadDebts *lvtypes.QueryBadDebts `json:"bad_debts,omitempty"` + BadDebts *lvtypes.QueryBadDebts `json:"bad_debts_params,omitempty"` // request to returns max withdraw - MaxWithdraw *lvtypes.QueryMaxWithdraw `json:"max_withdraw,omitempty"` + MaxWithdraw *lvtypes.QueryMaxWithdraw `json:"max_withdraw_params,omitempty"` + // request to get max borrows + MaxBorrow *lvtypes.QueryMaxBorrow `json:"max_borrow_params,omitempty"` // oracle queries // Used to get all feeder delegation of a validator. diff --git a/app/wasm/test/cosmwasm_test.go b/app/wasm/test/cosmwasm_test.go new file mode 100644 index 0000000000..46ff62dfab --- /dev/null +++ b/app/wasm/test/cosmwasm_test.go @@ -0,0 +1,22 @@ +package wasm_test + +import "testing" + +func TestCosmwasm(t *testing.T) { + its := new(IntegrationTestSuite) + // setup the test configuration + its.SetupTest(t) + + its.TestCw20Store() + its.TestCw20Instantiate() + its.TestCw20ContractInfo() + its.TestCw20CheckBalance() + its.TestCw20Transfer() + + // testing the umee cosmwasm queries + its.InitiateUmeeCosmwasm() + + its.TestLeverageQueries() + its.TestOracleQueries() + its.TestLeverageTxs() +} diff --git a/app/wasm/test/cw20_base_test.go b/app/wasm/test/cw20_base_test.go new file mode 100644 index 0000000000..c2563c1e73 --- /dev/null +++ b/app/wasm/test/cw20_base_test.go @@ -0,0 +1,358 @@ +package wasm_test + +import ( + "encoding/json" + "fmt" + "os" + "strconv" + "testing" + "time" + + "gotest.tools/v3/assert" + + "cosmossdk.io/math" + wasmkeeper "github.com/CosmWasm/wasmd/x/wasm/keeper" + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + "github.com/cosmos/cosmos-sdk/baseapp" + "github.com/cosmos/cosmos-sdk/crypto/keys/secp256k1" + cryptotypes "github.com/cosmos/cosmos-sdk/crypto/types" + "github.com/cosmos/cosmos-sdk/simapp" + "github.com/cosmos/cosmos-sdk/simapp/params" + sdk "github.com/cosmos/cosmos-sdk/types" + govv1 "github.com/cosmos/cosmos-sdk/x/gov/types/v1beta1" + minttypes "github.com/cosmos/cosmos-sdk/x/mint/types" + stakingtypes "github.com/cosmos/cosmos-sdk/x/staking/types" + tmrand "github.com/tendermint/tendermint/libs/rand" + tmproto "github.com/tendermint/tendermint/proto/tendermint/types" + + umeeapp "github.com/umee-network/umee/v4/app" + appparams "github.com/umee-network/umee/v4/app/params" + wm "github.com/umee-network/umee/v4/app/wasm/msg" + wq "github.com/umee-network/umee/v4/app/wasm/query" + "github.com/umee-network/umee/v4/x/oracle/types" +) + +const ( + initialPower = int64(10000000000) + cw20Artifact = "../../../tests/artifacts/cw20_base.wasm" + umeeArtifact = "../../../tests/artifacts/umee_cosmwasm-aarch64.wasm" + cw20Label = "cw20InstanceTest" +) + +// Test addresses +var ( + valPubKeys = simapp.CreateTestPubKeys(2) + + valPubKey = valPubKeys[0] + pubKey = secp256k1.GenPrivKey().PubKey() + addr = sdk.AccAddress(pubKey.Address()) + valAddr = sdk.ValAddress(pubKey.Address()) + + valPubKey2 = valPubKeys[1] + pubKey2 = secp256k1.GenPrivKey().PubKey() + addr2 = sdk.AccAddress(pubKey2.Address()) + valAddr2 = sdk.ValAddress(pubKey2.Address()) + + initTokens = sdk.TokensFromConsensusPower(initialPower, sdk.DefaultPowerReduction) + initCoins = sdk.NewCoins(sdk.NewCoin(appparams.BondDenom, initTokens)) +) + +type cw20InitMsg struct { + Name string `json:"name"` + Symbol string `json:"symbol"` + Decimals uint8 `json:"decimals"` + InitialBalances []Balance `json:"initial_balances"` +} + +type InstantiateMsg struct { +} + +type Address struct { + Address string `json:"address"` +} + +type Balance struct { + Address + Amount uint64 `json:"amount,string"` +} + +type cw20QueryBalance struct { + Balance struct { + Address + } `json:"balance"` +} + +type cw20QueryBalanceResp struct { + Balance string `json:"balance"` +} + +type cw20ExecMsg struct { + Transfer *transferMsg `json:"transfer,omitempty"` +} + +type transferMsg struct { + Recipient string `json:"recipient"` + Amount uint64 `json:"amount,string"` +} + +type CustomQuery struct { + Chain struct { + Custom wq.UmeeQuery `json:"custom"` + } `json:"chain"` +} + +type ExecuteMsg struct { + Umee struct { + Leverage wm.UmeeMsg `json:"leverage"` + } `json:"umee"` +} + +func UmeeCwCustomQuery(umeeCWQuery wq.UmeeQuery) CustomQuery { + c := CustomQuery{} + c.Chain.Custom = umeeCWQuery + return c +} + +func UmeeCwCustomTx(customMsg wm.UmeeMsg) ExecuteMsg { + c := ExecuteMsg{} + c.Umee.Leverage = customMsg + return c +} + +type IntegrationTestSuite struct { + T *testing.T + ctx sdk.Context + app *umeeapp.UmeeApp + + wasmMsgServer wasmtypes.MsgServer + wasmQueryClient wasmtypes.QueryClient + wasmProposalHandler govv1.Handler + + codeID uint64 + contractAddr string + encfg params.EncodingConfig +} + +func (s *IntegrationTestSuite) SetupTest(t *testing.T) { + app := umeeapp.Setup(t) + ctx := app.BaseApp.NewContext(false, tmproto.Header{ + ChainID: fmt.Sprintf("test-chain-%s", tmrand.Str(4)), + Height: 9, + Time: time.Date(2022, 4, 20, 10, 20, 15, 1, time.UTC), + }) + + // mint and send coins to addrs + assert.NilError(t, app.BankKeeper.MintCoins(ctx, minttypes.ModuleName, initCoins)) + assert.NilError(t, app.BankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, addr, initCoins)) + assert.NilError(t, app.BankKeeper.MintCoins(ctx, minttypes.ModuleName, initCoins)) + assert.NilError(t, app.BankKeeper.SendCoinsFromModuleToAccount(ctx, minttypes.ModuleName, addr2, initCoins)) + s.T = t + s.app = app + s.ctx = ctx + s.wasmMsgServer = wasmkeeper.NewMsgServerImpl(wasmkeeper.NewDefaultPermissionKeeper(app.WasmKeeper)) + querier := app.GRPCQueryRouter() + wasmtypes.RegisterMsgServer(querier, s.wasmMsgServer) + + queryHelper := baseapp.NewQueryServerTestHelper(ctx, app.InterfaceRegistry()) + grpc := wasmkeeper.Querier(&app.WasmKeeper) + wasmtypes.RegisterQueryServer(queryHelper, grpc) + s.wasmQueryClient = wasmtypes.NewQueryClient(queryHelper) + s.wasmProposalHandler = wasmkeeper.NewWasmProposalHandler(app.WasmKeeper, umeeapp.GetWasmEnabledProposals()) + s.encfg = umeeapp.MakeEncodingConfig() +} + +// NewTestMsgCreateValidator test msg creator +func NewTestMsgCreateValidator(address sdk.ValAddress, pubKey cryptotypes.PubKey, amt math.Int) *stakingtypes.MsgCreateValidator { + commission := stakingtypes.NewCommissionRates(sdk.ZeroDec(), sdk.ZeroDec(), sdk.ZeroDec()) + msg, _ := stakingtypes.NewMsgCreateValidator( + address, pubKey, sdk.NewCoin(types.UmeeDenom, amt), + stakingtypes.Description{}, commission, sdk.OneInt(), + ) + + return msg +} + +func (s *IntegrationTestSuite) cw20StoreCode(sender sdk.AccAddress, cwArtifacePath string) (codeId uint64) { + cw20Code, err := os.ReadFile(cwArtifacePath) + assert.NilError(s.T, err) + storeCodeProposal := wasmtypes.StoreCodeProposal{ + Title: cwArtifacePath, + Description: cwArtifacePath, + RunAs: sender.String(), + WASMByteCode: cw20Code, + InstantiatePermission: &wasmtypes.AllowEverybody, + } + + err = s.wasmProposalHandler(s.ctx, &storeCodeProposal) + assert.NilError(s.T, err) + + codes, err := s.wasmQueryClient.PinnedCodes(sdk.WrapSDKContext(s.ctx), &wasmtypes.QueryPinnedCodesRequest{}) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(codes.CodeIDs) > 0) + + return codes.CodeIDs[len(codes.CodeIDs)-1] +} + +func (s *IntegrationTestSuite) transfer(contracAddr string, amount uint64, from, to sdk.AccAddress) { + s.contractAddr = contracAddr + msg := cw20ExecMsg{Transfer: &transferMsg{ + Recipient: to.String(), + Amount: amount, + }} + transferBz, err := json.Marshal(msg) + assert.NilError(s.T, err) + + s.execContract(from, transferBz) +} + +func (s *IntegrationTestSuite) execContract(sender sdk.AccAddress, msg []byte) { + _, err := s.wasmMsgServer.ExecuteContract(sdk.WrapSDKContext(s.ctx), &wasmtypes.MsgExecuteContract{ + Sender: sender.String(), + Contract: s.contractAddr, + Msg: msg, + }) + assert.NilError(s.T, err) +} + +func (s *IntegrationTestSuite) queryContract(q []byte) *wasmtypes.QuerySmartContractStateResponse { + resp, err := s.wasmQueryClient.SmartContractState(sdk.WrapSDKContext(s.ctx), &wasmtypes.QuerySmartContractStateRequest{ + Address: s.contractAddr, QueryData: q, + }) + assert.NilError(s.T, err) + return resp +} + +func (s *IntegrationTestSuite) queryBalance(contracAddr string, address sdk.AccAddress) uint64 { + queryBobBalance := cw20QueryBalance{ + Balance: struct{ Address }{ + Address: Address{ + Address: address.String(), + }, + }, + } + queryBobBalanceBz, err := json.Marshal(queryBobBalance) + assert.NilError(s.T, err) + + queryBobBalanceResp, err := s.wasmQueryClient.SmartContractState(sdk.WrapSDKContext(s.ctx), &wasmtypes.QuerySmartContractStateRequest{Address: contracAddr, QueryData: queryBobBalanceBz}) + assert.NilError(s.T, err) + + var bobBalanceResp cw20QueryBalanceResp + err = json.Unmarshal(queryBobBalanceResp.Data, &bobBalanceResp) + assert.NilError(s.T, err) + + bobBalanceUint, err := strconv.ParseUint(bobBalanceResp.Balance, 10, 64) + assert.NilError(s.T, err) + return bobBalanceUint +} + +func intMsgCw20(addr2Amount uint64) cw20InitMsg { + return cw20InitMsg{ + Name: "Cw20TestToken", + Symbol: "CashSymbol", + Decimals: 4, + InitialBalances: []Balance{ + { + Address: Address{ + Address: addr.String(), + }, + Amount: 1003, + }, + { + Address: Address{ + Address: addr2.String(), + }, + Amount: addr2Amount, + }, + }, + } +} + +func (s *IntegrationTestSuite) cw20InitiateCode(sender sdk.AccAddress, init interface{}) (*wasmtypes.MsgInstantiateContractResponse, error) { + initBz, err := json.Marshal(init) + assert.NilError(s.T, err) + + initMsg := wasmtypes.MsgInstantiateContract{ + Sender: sender.String(), + CodeID: s.codeID, + Label: cw20Label, + Funds: sdk.Coins{sdk.NewCoin(appparams.BondDenom, sdk.NewIntFromUint64(10))}, + Msg: initBz, + Admin: sender.String(), + } + return s.wasmMsgServer.InstantiateContract(sdk.WrapSDKContext(s.ctx), &initMsg) +} + +func (s *IntegrationTestSuite) TestCw20Store() { + codeID := s.cw20StoreCode(addr, cw20Artifact) + s.codeID = codeID + assert.Equal(s.T, uint64(1), codeID) +} + +func (s *IntegrationTestSuite) TestCw20Instantiate() { + intantiateResp, err := s.cw20InitiateCode(addr, intMsgCw20(200)) + assert.NilError(s.T, err) + assert.Equal(s.T, "umee14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9scsdqqx", intantiateResp.Address) + s.contractAddr = intantiateResp.Address +} + +func (s *IntegrationTestSuite) TestCw20ContractInfo() { + sender := addr + intantiateResp, err := s.cw20InitiateCode(sender, intMsgCw20(200)) + assert.NilError(s.T, err) + + cw20ContractInfo, err := s.wasmQueryClient.ContractInfo(sdk.WrapSDKContext(s.ctx), &wasmtypes.QueryContractInfoRequest{Address: intantiateResp.Address}) + assert.NilError(s.T, err) + assert.Equal(s.T, uint64(1), cw20ContractInfo.CodeID) + assert.Equal(s.T, sender.String(), cw20ContractInfo.Admin) + assert.Equal(s.T, cw20Label, cw20ContractInfo.Label) + assert.Equal(s.T, "umee1suhgf5svhu4usrurvxzlgn54ksxmn8gljarjtxqnapv8kjnp4nrs89p4g0", cw20ContractInfo.Address) +} + +func (s *IntegrationTestSuite) TestCw20CheckBalance() { + sender, bobAddr, bobAmount := addr, addr2, uint64(2500) + + intantiateResp, err := s.cw20InitiateCode(sender, intMsgCw20(bobAmount)) + assert.NilError(s.T, err) + + bobBalanceUint := s.queryBalance(intantiateResp.Address, bobAddr) + assert.Equal(s.T, bobAmount, bobBalanceUint) +} + +func (s *IntegrationTestSuite) TestCw20Transfer() { + sender, bobAddr, bobAmount := addr, addr2, uint64(2500) + + intantiateResp, err := s.cw20InitiateCode(sender, intMsgCw20(bobAmount)) + assert.NilError(s.T, err) + + contracAddr := intantiateResp.Address + amountToTransfer := uint64(100) + + s.transfer(contracAddr, amountToTransfer, addr, bobAddr) + + bobBalanceUint := s.queryBalance(contracAddr, bobAddr) + assert.Equal(s.T, bobAmount+amountToTransfer, bobBalanceUint) +} + +func (s *IntegrationTestSuite) InitiateUmeeCosmwasm() { + // umee cosmwasm contract upload + codeID := s.cw20StoreCode(addr2, umeeArtifact) + assert.Equal(s.T, uint64(2), codeID) + s.codeID = codeID + + // initiate the umee cw contract + intantiateResp, err := s.cw20InitiateCode(addr2, new(InstantiateMsg)) + assert.NilError(s.T, err) + s.contractAddr = intantiateResp.Address +} + +func (s *IntegrationTestSuite) genCustomQuery(qIndex wq.UmeeQuery) []byte { + cq, err := json.Marshal(UmeeCwCustomQuery(qIndex)) + assert.NilError(s.T, err) + return cq +} + +func (s *IntegrationTestSuite) genCustomTx(msg wm.UmeeMsg) []byte { + cq, err := json.Marshal(UmeeCwCustomTx(msg)) + assert.NilError(s.T, err) + return cq +} diff --git a/app/wasm/test/umee_cw_test.go b/app/wasm/test/umee_cw_test.go new file mode 100644 index 0000000000..f2c7ca0a6e --- /dev/null +++ b/app/wasm/test/umee_cw_test.go @@ -0,0 +1,229 @@ +package wasm_test + +import ( + "encoding/json" + "testing" + + wasmtypes "github.com/CosmWasm/wasmd/x/wasm/types" + sdk "github.com/cosmos/cosmos-sdk/types" + appparams "github.com/umee-network/umee/v4/app/params" + wm "github.com/umee-network/umee/v4/app/wasm/msg" + wq "github.com/umee-network/umee/v4/app/wasm/query" + lvtypes "github.com/umee-network/umee/v4/x/leverage/types" + "github.com/umee-network/umee/v4/x/oracle/types" + "gotest.tools/v3/assert" +) + +func (s *IntegrationTestSuite) TestLeverageQueries() { + tests := []struct { + Name string + CQ []byte + ResponseCheck func(data []byte) + }{ + { + Name: "leverage query params", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryLeverageParams, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryParamsResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.DeepEqual(s.T, rr.Params, lvtypes.DefaultParams()) + }, + }, + { + Name: "query all registered tokens", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryRegisteredTokens, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryRegisteredTokensResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(rr.Registry) > 0) + }, + }, + { + Name: "query registered token", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryRegisteredTokens, + RegisteredTokens: &lvtypes.QueryRegisteredTokens{ + BaseDenom: appparams.BondDenom, + }, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryRegisteredTokensResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(rr.Registry) > 0) + assert.Equal(s.T, appparams.BondDenom, rr.Registry[0].BaseDenom) + }, + }, + { + Name: "market summary", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryMarketSummary, + MarketSummary: &lvtypes.QueryMarketSummary{ + Denom: appparams.BondDenom, + }, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryMarketSummaryResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, "UMEE", rr.SymbolDenom) + }, + }, + { + Name: "query bad debts", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryBadDebts, + BadDebts: &lvtypes.QueryBadDebts{}, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryBadDebtsResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(rr.Targets) == 0) + }, + }, + { + Name: "query max withdraw (zero)", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryMaxWithdraw, + MaxWithdraw: &lvtypes.QueryMaxWithdraw{ + Address: addr.String(), + Denom: appparams.BondDenom, + }, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryMaxWithdrawResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(rr.Tokens) == 0) + assert.Equal(s.T, true, len(rr.UTokens) == 0) + }, + }, + { + Name: "query max borrow (zero)", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryMaxBorrow, + MaxBorrow: &lvtypes.QueryMaxBorrow{ + Address: addr.String(), + Denom: appparams.BondDenom, + }, + }), + ResponseCheck: func(data []byte) { + var rr lvtypes.QueryMaxBorrowResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.Equal(s.T, true, len(rr.Tokens) == 0) + }, + }, + } + + for _, tc := range tests { + s.T.Run(tc.Name, func(t *testing.T) { + resp, err := s.wasmQueryClient.SmartContractState(sdk.WrapSDKContext(s.ctx), &wasmtypes.QuerySmartContractStateRequest{ + Address: s.contractAddr, QueryData: tc.CQ, + }) + assert.NilError(s.T, err) + tc.ResponseCheck(resp.Data) + }) + } +} + +func (s *IntegrationTestSuite) TestOracleQueries() { + tests := []struct { + Name string + CQ []byte + ResponseCheck func(data []byte) + }{ + { + Name: "oracle query params", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryOracleParams, + OracleParams: &types.QueryParams{}, + }), + ResponseCheck: func(data []byte) { + var rr types.QueryParamsResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + assert.DeepEqual(s.T, rr.Params, types.DefaultParams()) + }, + }, + { + Name: "oracle slash window", + CQ: s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQuerySlashWindow, + SlashWindow: &types.QuerySlashWindow{}, + }), + ResponseCheck: func(data []byte) { + var rr types.QuerySlashWindowResponse + err := json.Unmarshal(data, &rr) + assert.NilError(s.T, err) + }, + }, + } + + for _, tc := range tests { + s.T.Run(tc.Name, func(t *testing.T) { + resp := s.queryContract(tc.CQ) + tc.ResponseCheck(resp.Data) + }) + } +} + +func (s *IntegrationTestSuite) TestLeverageTxs() { + txTests := []struct { + Name string + Msg []byte + }{ + { + Name: "supply", + Msg: s.genCustomTx(wm.UmeeMsg{ + Supply: &lvtypes.MsgSupply{ + Supplier: addr2.String(), + Asset: sdk.NewCoin(appparams.BondDenom, sdk.NewInt(700)), + }, + }), + }, + { + Name: "add collateral", + Msg: s.genCustomTx(wm.UmeeMsg{ + Collateralize: &lvtypes.MsgCollateralize{ + Borrower: addr2.String(), + Asset: sdk.NewCoin("u/uumee", sdk.NewInt(700)), + }, + }), + }, + // { + // Name: "borrow", + // Msg: s.genCustomTx(wm.UmeeMsg{ + // Borrow: &lvtypes.MsgBorrow{ + // Borrower: addr2.String(), + // Asset: sdk.NewCoin(appparams.BondDenom, sdk.NewInt(150)), + // }, + // }), + // }, + } + + for _, tc := range txTests { + s.T.Run(tc.Name, func(t *testing.T) { + s.execContract(addr2, tc.Msg) + }) + } + + query := s.genCustomQuery(wq.UmeeQuery{ + AssignedQuery: wq.AssignedQueryAccountSummary, + AccountSummary: &lvtypes.QueryAccountSummary{ + Address: addr2.String(), + }, + }) + + resp := s.queryContract(query) + var rr lvtypes.QueryAccountSummaryResponse + err := json.Unmarshal(resp.Data, &rr) + assert.NilError(s.T, err) +} diff --git a/tests/artifacts/cw20_base.wasm b/tests/artifacts/cw20_base.wasm new file mode 100644 index 0000000000000000000000000000000000000000..bb3eeaa0cf003fad908b4287949fb087d37f06f1 GIT binary patch literal 272632 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Ć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 literal 0 HcmV?d00001 diff --git a/tests/artifacts/umee_cosmwasm-aarch64.wasm b/tests/artifacts/umee_cosmwasm-aarch64.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c166dca33603c014497a50f407632e5adafc0781 GIT binary patch literal 365118 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