diff --git a/app/ante/cosmos/context.go b/app/ante/cosmos/context.go index 3203c0ec6..27cff0953 100644 --- a/app/ante/cosmos/context.go +++ b/app/ante/cosmos/context.go @@ -39,9 +39,9 @@ func (sud SetUpContextDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate return newCtx, sdkerrors.ErrTxDecode.Wrap("Tx must be GasTx") } - // If the transaction is an OracleCreatePriceTx, we set the gas meter to infinite - // NOTE: this works fine with cosmossdk-noopmempool+tendermint-mempool, since tenderminit used gasMeter.Limit() to check the gaswanted of tx insteand of tx.GetGas(), but if works with application mempool, we need to be caution of the tx.GetGas() since oracle create-price tx doesn't really pay. - if anteutils.IsOracleCreatePriceTx(tx) { + // If the transaction is an OraclePriceFeedTx, we set the gas meter to infinite + // NOTE: this works fine with cosmossdk-noopmempool+tendermint-mempool, since tenderminit used gasMeter.Limit() to check the gaswanted of tx insteand of tx.GetGas(), but if works with application mempool, we need to be caution of the tx.GetGas() since oracle price-feed tx doesn't really pay. + if anteutils.IsOraclePriceFeedTx(tx) { newCtx = ctx.WithGasMeter(evmostypes.NewInfiniteGasMeterWithLimit(0)) return next(newCtx, tx, simulate) } diff --git a/app/ante/cosmos/fees.go b/app/ante/cosmos/fees.go index b4147f81d..37c38c198 100644 --- a/app/ante/cosmos/fees.go +++ b/app/ante/cosmos/fees.go @@ -59,7 +59,7 @@ func (dfd DeductFeeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bo return ctx, errorsmod.Wrap(errortypes.ErrTxDecode, "Tx must be a FeeTx") } - if anteutils.IsOracleCreatePriceTx(tx) { + if anteutils.IsOraclePriceFeedTx(tx) { newCtx := ctx.WithPriority(math.MaxInt64) return next(newCtx, tx, simulate) } diff --git a/app/ante/cosmos/min_price.go b/app/ante/cosmos/min_price.go index b5111fd27..9f1647263 100644 --- a/app/ante/cosmos/min_price.go +++ b/app/ante/cosmos/min_price.go @@ -32,7 +32,7 @@ func (mpd MinGasPriceDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate return ctx, errorsmod.Wrapf(errortypes.ErrInvalidType, "invalid transaction type %T, expected sdk.FeeTx", tx) } - if anteutils.IsOracleCreatePriceTx(tx) { + if anteutils.IsOraclePriceFeedTx(tx) { return next(ctx, tx, simulate) } diff --git a/app/ante/cosmos/sigverify.go b/app/ante/cosmos/sigverify.go index 92986fe28..dd239c40f 100644 --- a/app/ante/cosmos/sigverify.go +++ b/app/ante/cosmos/sigverify.go @@ -58,8 +58,8 @@ func NewSetPubKeyDecorator(ak authante.AccountKeeper) SetPubKeyDecorator { } func (spkd SetPubKeyDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error) { - // skip publickkey set for oracle create-price message - if utils.IsOracleCreatePriceTx(tx) { + // skip publickkey set for oracle price-feed message + if utils.IsOraclePriceFeedTx(tx) { sigTx, ok := tx.(authsigning.SigVerifiableTx) if !ok { return ctx, sdkerrors.ErrTxDecode.Wrap("invalid transaction type, expected SigVerifiableTx") @@ -173,7 +173,7 @@ func (sgcd SigGasConsumeDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simula return ctx, sdkerrors.ErrTxDecode.Wrap("invalid transaction type, expected SigVerifiableTx") } - if utils.IsOracleCreatePriceTx(tx) { + if utils.IsOraclePriceFeedTx(tx) { return next(ctx, tx, simulate) } @@ -258,7 +258,7 @@ func OnlyLegacyAminoSigners(sigData signing.SignatureData) bool { } func (svd SigVerificationDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { - if utils.IsOracleCreatePriceTx(tx) { + if utils.IsOraclePriceFeedTx(tx) { sigTx, ok := tx.(authsigning.SigVerifiableTx) if !ok { return ctx, sdkerrors.ErrTxDecode.Wrap("invalid transaction type, expected SigVerifiableTx") @@ -385,10 +385,10 @@ func NewIncrementSequenceDecorator(ak authante.AccountKeeper, oracleKeeper utils } func (isd IncrementSequenceDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (sdk.Context, error) { - // oracle create-price message dont need to increment sequence, check its nonce instead - if utils.IsOracleCreatePriceTx(tx) { + // oracle price-feed message dont need to increment sequence, check its nonce instead + if utils.IsOraclePriceFeedTx(tx) { for _, msg := range tx.GetMsgs() { - msg := msg.(*oracletypes.MsgCreatePrice) + msg := msg.(*oracletypes.MsgPriceFeed) if accAddress, err := sdk.AccAddressFromBech32(msg.Creator); err != nil { return ctx, errors.New("invalid address") // #nosec G115 // safe conversion diff --git a/app/ante/cosmos/txsize_gas.go b/app/ante/cosmos/txsize_gas.go index db448c75a..08a8014f0 100644 --- a/app/ante/cosmos/txsize_gas.go +++ b/app/ante/cosmos/txsize_gas.go @@ -37,10 +37,10 @@ func (cgts ConsumeTxSizeGasDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, sim return ctx, sdkerrors.ErrTxDecode.Wrap("invalid tx type") } - // Skip gas consumption if tx is an OracleCreatePriceTx - if anteutils.IsOracleCreatePriceTx(tx) { + // Skip gas consumption if tx is an OraclePriceFeedTx + if anteutils.IsOraclePriceFeedTx(tx) { if len(ctx.TxBytes()) > anteutils.TxSizeLimit { - return ctx, sdkerrors.ErrTxTooLarge.Wrapf("oracle create-price tx has exceeds size limit, limit:%d, got:%d", anteutils.TxSizeLimit, len(ctx.TxBytes())) + return ctx, sdkerrors.ErrTxTooLarge.Wrapf("oracle price-feed tx has exceeds size limit, limit:%d, got:%d", anteutils.TxSizeLimit, len(ctx.TxBytes())) } return next(ctx, tx, simulate) } diff --git a/app/ante/evm/fee_market.go b/app/ante/evm/fee_market.go index 704c4f719..8f05dd01b 100644 --- a/app/ante/evm/fee_market.go +++ b/app/ante/evm/fee_market.go @@ -30,7 +30,7 @@ func NewGasWantedDecorator( } func (gwd GasWantedDecorator) AnteHandle(ctx sdk.Context, tx sdk.Tx, simulate bool, next sdk.AnteHandler) (newCtx sdk.Context, err error) { - if anteutils.IsOracleCreatePriceTx(tx) { + if anteutils.IsOraclePriceFeedTx(tx) { return next(ctx, tx, simulate) } evmParams := gwd.evmKeeper.GetParams(ctx) diff --git a/app/ante/utils/oracle.go b/app/ante/utils/oracle.go index df7b1be0a..a5b797fab 100644 --- a/app/ante/utils/oracle.go +++ b/app/ante/utils/oracle.go @@ -5,16 +5,16 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -// TxSizeLimit limits max size of a create-price tx, this is calculated based on one nativeTokenbalance message of worst case(max size), which will need 576 bytes for balance update +// TxSizeLimit limits max size of a price-feed tx, this is calculated based on one nativeTokenbalance message of worst case(max size), which will need 576 bytes for balance update const TxSizeLimit = 1000 -func IsOracleCreatePriceTx(tx sdk.Tx) bool { +func IsOraclePriceFeedTx(tx sdk.Tx) bool { msgs := tx.GetMsgs() if len(msgs) == 0 { return false } for _, msg := range msgs { - if _, ok := msg.(*oracletypes.MsgCreatePrice); !ok { + if _, ok := msg.(*oracletypes.MsgPriceFeed); !ok { return false } } diff --git a/app/app.go b/app/app.go index c2b972da3..c3015dd85 100644 --- a/app/app.go +++ b/app/app.go @@ -400,7 +400,7 @@ func NewExocoreApp( // Setup Mempool and Proposal Handlers baseAppOptions = append(baseAppOptions, func(app *baseapp.BaseApp) { - // NOTE: we use a NoOpMempool here, for oracle create-price, it works fine since we have set a infinitgasmeterwithlimit in the ante handler to avoid the out-of-gas error no matter what the amount/gas is set by tx builder, and we set the highest priority for oracle create-price txs to work properly with tendermint mempool to make sure oracle creat-prie tx will be included in the mempool if received. And if we want to use some other application mempool, we need to take care of the gas limit and gas price in the oracle create-price txs.(we don't need to bother this since tendermint mempool use gasMeter.limit() instead of tx.Gas()) + // NOTE: we use a NoOpMempool here, for oracle price-feed, it works fine since we have set a infinitgasmeterwithlimit in the ante handler to avoid the out-of-gas error no matter what the amount/gas is set by tx builder, and we set the highest priority for oracle price-feed txs to work properly with tendermint mempool to make sure oracle creat-prie tx will be included in the mempool if received. And if we want to use some other application mempool, we need to take care of the gas limit and gas price in the oracle price-feed txs.(we don't need to bother this since tendermint mempool use gasMeter.limit() instead of tx.Gas()) mempool := mempool.NoOpMempool{} app.SetMempool(mempool) handler := baseapp.NewDefaultProposalHandler(mempool, app) diff --git a/client/docs/swagger-ui/swagger.json b/client/docs/swagger-ui/swagger.json index 3b0166e5f..19c992ede 100644 --- a/client/docs/swagger-ui/swagger.json +++ b/client/docs/swagger-ui/swagger.json @@ -19069,10 +19069,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "title": "cached messages" } @@ -19257,10 +19257,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "title": "cached messages" } @@ -41427,10 +41427,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "exocore.oracle.v1.NOMSource": { "type": "object", @@ -41898,10 +41898,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "title": "cached messages" } @@ -42401,10 +42401,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "title": "cached messages" } @@ -43226,10 +43226,10 @@ }, "validator": { "type": "string", - "title": "validator tells which validator create this price" + "title": "validator tells which validator provide this price" } }, - "title": "MsgItem represents the message info of createPrice" + "title": "MsgItem represents the message info of priceFeed" }, "title": "cached messages" } diff --git a/cmd/exocored/root.go b/cmd/exocored/root.go index 19e2044e1..37d097261 100644 --- a/cmd/exocored/root.go +++ b/cmd/exocored/root.go @@ -5,7 +5,6 @@ import ( "fmt" "io" "os" - "path" "path/filepath" "time" @@ -51,9 +50,8 @@ import ( cmdcfg "github.com/ExocoreNetwork/exocore/cmd/config" evmoskr "github.com/evmos/evmos/v16/crypto/keyring" - - pricefeeder "github.com/ExocoreNetwork/price-feeder/external" - feedertypes "github.com/ExocoreNetwork/price-feeder/types" + // pricefeeder "github.com/ExocoreNetwork/price-feeder/external" + // feedertypes "github.com/ExocoreNetwork/price-feeder/types" ) const ( @@ -143,29 +141,30 @@ func NewRootCmd() (*cobra.Command, params.EncodingConfig) { startCmd, _, _ := rootCmd.Find([]string{cmdStartName}) startCmd.Flags().Bool(flagOracle, false, "enable oracle feeder") startCmd.Flags().String(flagMnemonic, "", "set validator consensus key's mnemonic") - preRunE := startCmd.PreRunE - // add preRun to run price-feeder first before starting the node - startCmd.PreRunE = func(cmd *cobra.Command, args []string) error { - // TODO: Temporarily disable the price feeder to fix the issue caused by two different versions of the EVMOS dependency. - // This needs to be re-enabled after the price feeder updates the EVMOS dependency to v16 and updates the Exocore dependency - // to the version that includes this fix. - if enableFeeder, _ := cmd.Flags().GetBool(flagOracle); enableFeeder { - clientCtx := cmd.Context().Value(client.ClientContextKey).(*client.Context) - go func() { - defer func() { - if err := recover(); err != nil { - fmt.Println("price-feeder failed", err) - if e, ok := err.(error); ok && errors.Is(e, feedertypes.ErrInitFail) { - panic(e) - } - } - }() - mnemonic, _ := cmd.Flags().GetString(flagMnemonic) - pricefeeder.StartPriceFeeder(path.Join(clientCtx.HomeDir, confPath, confOracle), mnemonic, path.Join(clientCtx.HomeDir, confPath)) - }() - } - return preRunE(cmd, args) - } + // TODO: Temporarily disable the price feeder to fix the issue caused by two different versions of the EVMOS dependency. + // TODO: include price-feeder as a package in imuachain + // preRunE := startCmd.PreRunE + // add preRun to run price-feeder first before starting the node + // startCmd.PreRunE = func(cmd *cobra.Command, args []string) error { + // // This needs to be re-enabled after the price feeder updates the EVMOS dependency to v16 and updates the Exocore dependency + // // to the version that includes this fix. + // if enableFeeder, _ := cmd.Flags().GetBool(flagOracle); enableFeeder { + // clientCtx := cmd.Context().Value(client.ClientContextKey).(*client.Context) + // go func() { + // defer func() { + // if err := recover(); err != nil { + // fmt.Println("price-feeder failed", err) + // if e, ok := err.(error); ok && errors.Is(e, feedertypes.ErrInitFail) { + // panic(e) + // } + // } + // }() + // mnemonic, _ := cmd.Flags().GetString(flagMnemonic) + // pricefeeder.StartPriceFeeder(path.Join(clientCtx.HomeDir, confPath, confOracle), mnemonic, path.Join(clientCtx.HomeDir, confPath)) + // }() + // } + // return preRunE(cmd, args) + // } // add keybase, auxiliary RPC, query, and tx child commands rootCmd.AddCommand( rpc.StatusCommand(), diff --git a/proto/exocore/oracle/v1/recent_msg.proto b/proto/exocore/oracle/v1/recent_msg.proto index c018279f1..b4376c0c7 100644 --- a/proto/exocore/oracle/v1/recent_msg.proto +++ b/proto/exocore/oracle/v1/recent_msg.proto @@ -14,12 +14,12 @@ message RecentMsg { repeated MsgItem msgs = 2; } -// MsgItem represents the message info of createPrice +// MsgItem represents the message info of priceFeed message MsgItem { // feeder_id tells of wich feeder this price if corresponding to uint64 feeder_id = 2 [(gogoproto.customname) = "FeederID"]; // p_source price with its source info repeated PriceSource p_sources = 3; - // validator tells which validator create this price + // validator tells which validator provide this price string validator = 4; } diff --git a/proto/exocore/oracle/v1/tx.proto b/proto/exocore/oracle/v1/tx.proto index 86fab5421..e3534a943 100644 --- a/proto/exocore/oracle/v1/tx.proto +++ b/proto/exocore/oracle/v1/tx.proto @@ -13,14 +13,14 @@ option go_package = "github.com/ExocoreNetwork/exocore/x/oracle/types"; // Msg defines the Msg service. service Msg { - // CreatePrice creates price for a new oracle round - rpc CreatePrice(MsgCreatePrice) returns (MsgCreatePriceResponse); + // PriceFeed creates price for a new oracle round + rpc PriceFeed(MsgPriceFeed) returns (MsgPriceFeedResponse); // UpdateParams update params value rpc UpdateParams(MsgUpdateParams) returns (MsgUpdateParamsResponse); } -// MsgCreatePrice provide the price updating message -message MsgCreatePrice { +// MsgPriceFeed provide the price updating message +message MsgPriceFeed { // creator tells which is the message sender and should sign this message string creator = 1 [(cosmos_proto.scalar) = "cosmos.ValidatorAddressString"]; // refer to id from Params.TokenFeeders, 0 is reserved, invalid to use @@ -34,8 +34,8 @@ message MsgCreatePrice { int32 nonce = 5; } -// MsgCreatePriceResponse -message MsgCreatePriceResponse {} +// MsgPriceFeedResponse +message MsgPriceFeedResponse {} // MsgUpdateParms message MsgUpdateParams { diff --git a/tests/e2e/oracle/create_price.go b/tests/e2e/oracle/create_price.go index 5b129444d..42e7608da 100644 --- a/tests/e2e/oracle/create_price.go +++ b/tests/e2e/oracle/create_price.go @@ -28,13 +28,13 @@ var ( creator0, creator1, creator2, creator3 sdk.AccAddress ) -// TestCreatePrice run test cases for oracle module including related workflow from other module(assets) -// create-price for LST -// create-price for NST +// TestPriceFeed run test cases for oracle module including related workflow from other module(assets) +// price-feed for LST +// price-feed for NST // registerToken automatically through assets module when precompiled is called // slashing for downtime // slashing for malicious price -func (s *E2ETestSuite) TestCreatePrice() { +func (s *E2ETestSuite) TestPriceFeed() { kr0 = s.network.Validators[0].ClientCtx.Keyring creator0 = sdk.AccAddress(s.network.Validators[0].PubKey.Address()) @@ -54,14 +54,14 @@ func (s *E2ETestSuite) TestCreatePrice() { s.testRecoveryCases(10) } else { s.testRegisterTokenThroughPrecompile() - s.testCreatePriceNST() - s.testCreatePriceLST() + s.testPriceFeedNST() + s.testPriceFeedLST() s.testSlashing() - s.testCreatePriceLSTAfterDelegationChangePower() + s.testPriceFeedLSTAfterDelegationChangePower() } } -func (s *E2ETestSuite) testCreatePriceLSTAfterDelegationChangePower() { +func (s *E2ETestSuite) testPriceFeedLSTAfterDelegationChangePower() { s.moveToAndCheck(80) priceTest1R1 := price2.updateTimestamp() priceTimeDetID1R1 := priceTest1R1.getPriceTimeDetID("9") @@ -72,14 +72,14 @@ func (s *E2ETestSuite) testCreatePriceLSTAfterDelegationChangePower() { }, } - // send create-price from validator-0 - msg0 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 80, 1) - err := s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + // send price-feed from validator-0 + msg0 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 80, 1) + err := s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - // send create-price from validator-1 - msg1 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 80, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + // send price-feed from validator-1 + msg1 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 80, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) s.moveToAndCheck(82) @@ -101,14 +101,14 @@ func (s *E2ETestSuite) testCreatePriceLSTAfterDelegationChangePower() { // wait for validator set update s.moveToAndCheck(120) - // send create-price from validator-0 - msg0 = oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 120, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + // send price-feed from validator-0 + msg0 = oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 120, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - // send create-price from validator-1 - msg1 = oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 120, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + // send price-feed from validator-1 + msg1 = oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 120, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) s.moveToAndCheck(122) @@ -132,7 +132,7 @@ we need more than 2/3 power, so that at least 3 out of 4 validators power should --- nonce: */ -func (s *E2ETestSuite) testCreatePriceLST() { +func (s *E2ETestSuite) testPriceFeedLST() { priceTest1R1 := price1.updateTimestamp() priceTimeDetID1R1 := priceTest1R1.getPriceTimeDetID("9") priceSource1R1 := oracletypes.PriceSource{ @@ -145,29 +145,29 @@ func (s *E2ETestSuite) testCreatePriceLST() { // case_1. slashing_{miss_v3:1, window:2} [1.0] s.moveToAndCheck(10) - // send create-price from validator-0 - msg0 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) - err := s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + // send price-feed from validator-0 + msg0 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) + err := s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) s.moveToAndCheck(11) - // send create-price from validator-1 - msg1 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + // send price-feed from validator-1 + msg1 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) - // send create-price from validator-2 - msg2 := oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + // send price-feed from validator-2 + msg2 := oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(12) // TODO: there might be a small chance that the blockHeight grows to more than 13, try bigger price window(nonce>3) to be more confident - // send create-price from validator3 to avoid being slashed for downtime - msg3 := oracletypes.NewMsgCreatePrice(creator3.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconskey3", kr3) + // send price-feed from validator3 to avoid being slashed for downtime + msg3 := oracletypes.NewMsgPriceFeed(creator3.String(), 1, []*oracletypes.PriceSource{&priceSource1R1}, 10, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconskey3", kr3) s.Require().NoError(err) // query final price. query state of 11 on height 12 @@ -194,15 +194,15 @@ func (s *E2ETestSuite) testCreatePriceLST() { &priceTimeDetID2R2, }, } - msg0 = oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource2R2}, 20, 1) - msg2 = oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource2R2}, 20, 1) + msg0 = oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource2R2}, 20, 1) + msg2 = oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource2R2}, 20, 1) s.moveToAndCheck(20) // send price{p2} from validator-2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(21) // send price{p2} from validator-0 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) s.moveToAndCheck(24) res, err = s.network.QueryOracle().LatestPrice(ctxWithHeight(23), &oracletypes.QueryGetLatestPriceRequest{TokenId: 1}) @@ -222,20 +222,20 @@ func (s *E2ETestSuite) testCreatePriceLST() { &priceTimeDetID2R3, }, } - msg0 = oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) - msg1 = oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) - msg2 = oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) + msg0 = oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) + msg1 = oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) + msg2 = oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource2R3}, 30, 1) s.moveToAndCheck(30) // send price{p2} from validator-0 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) s.moveToAndCheck(31) // send price{p2} from validator-1 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) // send price{p2} from validator-2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(33) @@ -251,20 +251,20 @@ func (s *E2ETestSuite) testCreatePriceLST() { // update timestamp s.moveToAndCheck(40) priceTest1R4, priceSource1R4 := price1.generateRealTimeStructs("12", 1) - msg0 = oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) - msg1 = oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) - msg2 = oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + msg0 = oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) + msg1 = oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) + msg2 = oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(41) - // send create-price from validator3 to avoid being slashed for downtime - msg3 = oracletypes.NewMsgCreatePrice(creator3.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconskey3", kr3) + // send price-feed from validator3 to avoid being slashed for downtime + msg3 = oracletypes.NewMsgPriceFeed(creator3.String(), 1, []*oracletypes.PriceSource{&priceSource1R4}, 40, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconskey3", kr3) s.Require().NoError(err) s.moveToAndCheck(42) @@ -278,7 +278,7 @@ func (s *E2ETestSuite) testCreatePriceLST() { s.Require().Equal(ret, res.Price) } -func (s *E2ETestSuite) testCreatePriceNST() { +func (s *E2ETestSuite) testPriceFeedNST() { clientChainID := uint32(101) validatorPubkey := []byte{1} // this is just a fake address @@ -297,14 +297,14 @@ func (s *E2ETestSuite) testCreatePriceNST() { // slashing_{miss_v3:1, window:1} [1] s.moveToAndCheck(7) _, ps := priceNST1.generateRealTimeStructs("100_1", 1) - msg0 := oracletypes.NewMsgCreatePrice(creator0.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) - msg1 := oracletypes.NewMsgCreatePrice(creator1.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) - msg2 := oracletypes.NewMsgCreatePrice(creator2.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + msg0 := oracletypes.NewMsgPriceFeed(creator0.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) + msg1 := oracletypes.NewMsgPriceFeed(creator1.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) + msg2 := oracletypes.NewMsgPriceFeed(creator2.String(), 2, []*oracletypes.PriceSource{&ps}, 7, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) // on height 7, the state from 6 is committed and confirmed @@ -371,14 +371,14 @@ func (s *E2ETestSuite) testSlashing() { s.moveToAndCheck(50) // slashing_{miss_v3:3, window:5}[1.0.1.0.1] -> {miss_v3:2, window:4} [0.1.0.1] priceTest1R5, priceSource1R5 := price1.generateRealTimeStructs("13", 1) - msg0 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) - msg1 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) - msg2 := oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) - err := s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + msg0 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) + msg1 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) + msg2 := oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R5}, 50, 1) + err := s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(52) // query state of 51 on height 52 @@ -392,14 +392,14 @@ func (s *E2ETestSuite) testSlashing() { s.moveToAndCheck(60) // slashing_{miss_v3:3, window:5} [0.1.0.1.1] -> {miss_v3:2, window:4} [1.0.1.1] _, priceSource1R6 := price1.generateRealTimeStructs("14", 1) - msg0 = oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) - msg1 = oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) - msg2 = oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconskey0", kr0) + msg0 = oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) + msg1 = oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) + msg2 = oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceSource1R6}, 60, 1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconskey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconskey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconskey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconskey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconskey2", kr2) s.Require().NoError(err) s.moveToAndCheck(64) // query state of 63 on height 64 diff --git a/tests/e2e/oracle/recovery.go b/tests/e2e/oracle/recovery.go index dad07d799..7dfbaabb9 100644 --- a/tests/e2e/oracle/recovery.go +++ b/tests/e2e/oracle/recovery.go @@ -23,22 +23,22 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { s.moveToAndCheck(start) // #nosec G115 -- block height is positive startUint := uint64(start) - msg0 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) - msg1 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) - msg2 := oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) - msg3 := oracletypes.NewMsgCreatePrice(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) + msg0 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) + msg1 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) + msg2 := oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) + msg3 := oracletypes.NewMsgPriceFeed(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery1}, startUint, 1) - err := s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err := s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 2) @@ -50,25 +50,25 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { // init_start + 10 start += 10 startUint = uint64(start) - msg0_1 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) - msg1_1 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) - msg2_1 := oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) - msg3_1 := oracletypes.NewMsgCreatePrice(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) + msg0_1 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) + msg1_1 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) + msg2_1 := oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) + msg3_1 := oracletypes.NewMsgPriceFeed(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery2}, startUint, 1) s.moveToAndCheck(start) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_1}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_1}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_1}, "valconsKey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_1}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_1}, "valconsKey2", kr2) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_1}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_1}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 3) @@ -94,18 +94,18 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg2.BasedBlock = startUint msg3.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -129,17 +129,17 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg2_1.BasedBlock = startUint msg3_1.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_1}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_1}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_1}, "valconsKey2", kr2) s.Require().NoError(err) s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_1}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_1}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -164,20 +164,20 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg3.BasedBlock = startUint msg0.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) s.Require().NoError(err) s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconsKey3", kr3) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -202,20 +202,20 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg3_1.BasedBlock = startUint msg0_1.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_1}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_1}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_1}, "valconsKey2", kr2) s.Require().NoError(err) s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_1}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_1}, "valconsKey3", kr3) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_1}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_1}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -240,20 +240,20 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg0.BasedBlock = startUint msg3.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 3) @@ -273,28 +273,28 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { start += 10 startUint = uint64(start) s.moveToAndCheck(start) - msg1_2 := oracletypes.NewMsgCreatePrice(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery1_3}, startUint, 1) - msg2_2 := oracletypes.NewMsgCreatePrice(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery1_2}, startUint, 1) - msg3_2 := oracletypes.NewMsgCreatePrice(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) - // msg0_2 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) + msg1_2 := oracletypes.NewMsgPriceFeed(creator1.String(), 1, []*oracletypes.PriceSource{&priceRecovery1_3}, startUint, 1) + msg2_2 := oracletypes.NewMsgPriceFeed(creator2.String(), 1, []*oracletypes.PriceSource{&priceRecovery1_2}, startUint, 1) + msg3_2 := oracletypes.NewMsgPriceFeed(creator3.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) + // msg0_2 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) msg0_1.BasedBlock = startUint // id:1,2,3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_2}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_2}, "valconsKey1", kr1) s.Require().NoError(err) // id:3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_2}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_2}, "valconsKey3", kr3) s.Require().NoError(err) s.moveToAndCheck(start + 1) // id:1,2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_2}, "valconsKey2", kr2) s.Require().NoError(err) // id:2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_1}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_1}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 3) @@ -319,21 +319,21 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg2_2.BasedBlock = startUint msg0.BasedBlock = startUint // id:3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_2}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_2}, "valconsKey3", kr3) s.Require().NoError(err) // id:1,2,3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_2}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_2}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 2) // id:1,2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_2}, "valconsKey2", kr2) s.Require().NoError(err) // id:1 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -356,24 +356,24 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg3_2.BasedBlock = startUint msg1_2.BasedBlock = startUint msg2_2.BasedBlock = startUint - msg0_2 := oracletypes.NewMsgCreatePrice(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) + msg0_2 := oracletypes.NewMsgPriceFeed(creator0.String(), 1, []*oracletypes.PriceSource{&priceRecovery3}, startUint, 1) // msg0_2.BasedBlock = startUint // id:3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_2}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_2}, "valconsKey3", kr3) s.Require().NoError(err) // id:1,2,3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_2}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_2}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) // id:1,2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_2}, "valconsKey2", kr2) s.Require().NoError(err) // id:3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_2}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_2}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 3) @@ -399,18 +399,18 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg2_1.BasedBlock = startUint msg0_1.BasedBlock = startUint - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3}, "valconsKey3", kr3) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_1}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_1}, "valconsKey2", kr2) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_1}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_1}, "valconsKey0", kr0) s.Require().NoError(err) s.moveToAndCheck(start + 4) @@ -431,21 +431,21 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { msg0_2.BasedBlock = startUint // msg0_2.BasedBlock = startUint // id:3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg3_2}, "valconsKey3", kr3) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg3_2}, "valconsKey3", kr3) s.Require().NoError(err) // id:1,2,3 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1_2}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1_2}, "valconsKey1", kr1) s.Require().NoError(err) s.moveToAndCheck(start + 1) // id:1,2 - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2_2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2_2}, "valconsKey2", kr2) s.Require().NoError(err) // id:3 - // err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0_2}, "valconsKey0", kr0) + // err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0_2}, "valconsKey0", kr0) // s.Require().NoError(err) s.moveToAndCheck(start + 3) @@ -466,10 +466,10 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { // msgUpdateParams := oracletypes.NewMsgUpdateParams("creator", `{"max_nonce":5}`) // s.moveNAndCheck(start) // - // err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + // err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) // s.Require().NoError(err) // - // err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + // err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) // s.Require().NoError(err) // // // send updateParams msg to forceSeal current round @@ -477,7 +477,7 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { // s.Require().NoError(err) // s.moveToAndCheck(start + 1) // - // err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + // err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) // s.Require().NoError(err) // // s.moveToAndCheck(start + 3) @@ -497,10 +497,10 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { // msgUpdateParams := oracletypes.NewMsgUpdateParams(s.network.Validators[0].Address.String(), `{"max_nonce":5}`) s.moveToAndCheck(start) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg0}, "valconsKey0", kr0) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg0}, "valconsKey0", kr0) s.Require().NoError(err) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg1}, "valconsKey1", kr1) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg1}, "valconsKey1", kr1) s.Require().NoError(err) // delegate to change validator set, we set genesis time to a history time so that the validator set update will be triggered every block @@ -517,7 +517,7 @@ func (s *E2ETestSuite) testRecoveryCases(start int64) { // power will be updated at endBlock of start+2, it would force seal this round s.moveToAndCheck(start + 2) - err = s.network.SendTxOracleCreateprice([]sdk.Msg{msg2}, "valconsKey2", kr2) + err = s.network.SendTxOraclePriceFeed([]sdk.Msg{msg2}, "valconsKey2", kr2) s.Require().NotNil(err) s.moveToAndCheck(start + 3) diff --git a/testutil/network/tx.go b/testutil/network/tx.go index 372823653..bf7726ff2 100644 --- a/testutil/network/tx.go +++ b/testutil/network/tx.go @@ -22,9 +22,9 @@ func (n *Network) SendTx(msgs []sdk.Msg, keyName string, keyring keyring.Keyring return tx.BroadcastTx(ctx, txf, msgs...) } -// SendTxOracleCreatePrice consturct and sign that tx with input msgs, it's different from SendTx, since when we use ed25519 for oracle senario, we allowed that signer is an unexists account, this implementation skip the 'accoutn exists' related checks -// Also, if you want to sign some normal message (not oracle-create-price) with ed25519, just use SendTx is fine, we support ed25519 signing in keyring -func (n *Network) SendTxOracleCreateprice(msgs []sdk.Msg, keyName string, keyring keyring.Keyring) error { +// SendTxOraclePriceFeed consturct and sign that tx with input msgs, it's different from SendTx, since when we use ed25519 for oracle senario, we allowed that signer is an unexists account, this implementation skip the 'accoutn exists' related checks +// Also, if you want to sign some normal message (not oracle-price-feed) with ed25519, just use SendTx is fine, we support ed25519 signing in keyring +func (n *Network) SendTxOraclePriceFeed(msgs []sdk.Msg, keyName string, keyring keyring.Keyring) error { txf, ctx, err := generateTxf(n.Validators[0].ClientCtx, keyName, keyring, 1.5, n.Config.MinGasPrices) if err != nil { return err diff --git a/x/oracle/client/cli/tx.go b/x/oracle/client/cli/tx.go index 9c47e93cf..6326c4701 100644 --- a/x/oracle/client/cli/tx.go +++ b/x/oracle/client/cli/tx.go @@ -28,7 +28,7 @@ func GetTxCmd() *cobra.Command { RunE: client.ValidateCmd, } - cmd.AddCommand(CmdCreatePrice()) + cmd.AddCommand(CmdPriceFeed()) cmd.AddCommand(CmdUpdateParams()) // this line is used by starport scaffolding # 1 diff --git a/x/oracle/client/cli/tx_create_price.go b/x/oracle/client/cli/tx_create_price.go index c84780786..306c1aa09 100644 --- a/x/oracle/client/cli/tx_create_price.go +++ b/x/oracle/client/cli/tx_create_price.go @@ -13,11 +13,11 @@ import ( var _ = strconv.Itoa(0) -func CmdCreatePrice() *cobra.Command { +func CmdPriceFeed() *cobra.Command { cmd := &cobra.Command{ // TODO: support v1 single sourceID for temporary - Use: "create-price feederid basedblock nonce sourceid decimal price timestamp detid optinoal(price timestamp detid) optional(desc)", - Short: "Broadcast message create-price", + Use: "price-feed feederid basedblock nonce sourceid decimal price timestamp detid optinoal(price timestamp detid) optional(desc)", + Short: "Broadcast message price-feed", Args: cobra.MinimumNArgs(8), RunE: func(cmd *cobra.Command, args []string) (err error) { clientCtx, err := client.GetClientTxContext(cmd) @@ -71,7 +71,7 @@ func CmdCreatePrice() *cobra.Command { prices[0].Desc = args[i+1] } - msg := types.NewMsgCreatePrice( + msg := types.NewMsgPriceFeed( clientCtx.GetFromAddress().String(), feederID, prices, diff --git a/x/oracle/keeper/feedermanagement/feedermanager.go b/x/oracle/keeper/feedermanagement/feedermanager.go index d9bcdaef3..d847cf495 100644 --- a/x/oracle/keeper/feedermanagement/feedermanager.go +++ b/x/oracle/keeper/feedermanagement/feedermanager.go @@ -302,7 +302,7 @@ func (f *FeederManager) commitRounds(ctx sdk.Context) { if len(successFeederIDs) > 0 { feederIDsStr := strings.Join(successFeederIDs, "_") ctx.EventManager().EmitEvent(sdk.NewEvent( - oracletypes.EventTypeCreatePrice, + oracletypes.EventTypePriceFeed, sdk.NewAttribute(oracletypes.AttributeKeyPriceUpdated, oracletypes.AttributeValuePriceUpdatedSuccess), sdk.NewAttribute(oracletypes.AttributeKeyFeederIDs, feederIDsStr), )) @@ -600,7 +600,7 @@ func (f *FeederManager) SetForceSeal() { f.forceSeal = true } -func (f *FeederManager) ValidateMsg(msg *oracletypes.MsgCreatePrice) error { +func (f *FeederManager) ValidateMsg(msg *oracletypes.MsgPriceFeed) error { // nonce, feederID, creator has been verified by anteHandler // baseBlock is going to be verified by its corresponding round decimal, err := f.cs.GetDecimalFromFeederID(msg.FeederID) @@ -660,7 +660,7 @@ func (f *FeederManager) ValidateMsg(msg *oracletypes.MsgCreatePrice) error { return nil } -func (f *FeederManager) ProcessQuote(ctx sdk.Context, msg *oracletypes.MsgCreatePrice, isCheckTx bool) (*oracletypes.PriceTimeRound, error) { +func (f *FeederManager) ProcessQuote(ctx sdk.Context, msg *oracletypes.MsgPriceFeed, isCheckTx bool) (*oracletypes.PriceTimeRound, error) { if isCheckTx { f = f.getCheckTx() } @@ -919,7 +919,7 @@ func getRecoveryStartPoint(currentHeight int64, recentParamsList []*oracletypes. return height, replayRecentParamsList } -func getProtoMsgItemFromQuote(msg *oracletypes.MsgCreatePrice) *oracletypes.MsgItem { +func getProtoMsgItemFromQuote(msg *oracletypes.MsgPriceFeed) *oracletypes.MsgItem { // address has been valid before validator, _ := oracletypes.ConsAddrStrFromCreator(msg.Creator) diff --git a/x/oracle/keeper/msg_server_create_price.go b/x/oracle/keeper/msg_server_create_price.go index d2ab78679..03e499bdf 100644 --- a/x/oracle/keeper/msg_server_create_price.go +++ b/x/oracle/keeper/msg_server_create_price.go @@ -19,8 +19,8 @@ const ( maxPriceLength = 32 ) -// CreatePrice proposes price for new round of specific tokenFeeder -func (ms msgServer) CreatePrice(goCtx context.Context, msg *types.MsgCreatePrice) (*types.MsgCreatePriceResponse, error) { +// PriceFeed proposes price for new round of specific tokenFeeder +func (ms msgServer) PriceFeed(goCtx context.Context, msg *types.MsgPriceFeed) (*types.MsgPriceFeedResponse, error) { ctx := sdk.UnwrapSDKContext(goCtx) gasMeter := ctx.GasMeter() @@ -46,7 +46,7 @@ func (ms msgServer) CreatePrice(goCtx context.Context, msg *types.MsgCreatePrice // quote is recorded only, this happens when a quoting-window is not availalbe before that window end due to final price aggregated successfully in advance // we will still record this msg if it's valid logger.Info("recorded quote for oracle-behavior evaluation", append(logQuote, "msg", msg)...) - return &types.MsgCreatePriceResponse{}, nil + return &types.MsgPriceFeedResponse{}, nil } logger.Error("failed to process quote", append(logQuote, "error", err)...) return nil, err @@ -55,7 +55,7 @@ func (ms msgServer) CreatePrice(goCtx context.Context, msg *types.MsgCreatePrice logger.Info("added quote for aggregation", append(logQuote, "msg", msg)...) // TODO: use another type ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeCreatePrice, + types.EventTypePriceFeed, sdk.NewAttribute(types.AttributeKeyFeederID, strconv.FormatUint(msg.FeederID, 10)), sdk.NewAttribute(types.AttributeKeyBasedBlock, strconv.FormatUint(msg.BasedBlock, 10)), sdk.NewAttribute(types.AttributeKeyProposer, validator), @@ -81,12 +81,12 @@ func (ms msgServer) CreatePrice(goCtx context.Context, msg *types.MsgCreatePrice // emit event to tell price is updated for current round of corresponding feederID ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeCreatePrice, + types.EventTypePriceFeed, sdk.NewAttribute(types.AttributeKeyRoundID, roundIDStr), sdk.NewAttribute(types.AttributeKeyFinalPrice, strings.Join([]string{tokenIDStr, roundIDStr, priceStr, decimalStr}, "_")), sdk.NewAttribute(types.AttributeKeyPriceUpdated, types.AttributeValuePriceUpdatedSuccess)), ) } - return &types.MsgCreatePriceResponse{}, nil + return &types.MsgPriceFeedResponse{}, nil } diff --git a/x/oracle/keeper/msg_server_test.go b/x/oracle/keeper/msg_server_test.go index d089e4b63..b3bc5e769 100644 --- a/x/oracle/keeper/msg_server_test.go +++ b/x/oracle/keeper/msg_server_test.go @@ -26,18 +26,18 @@ func TestMsgServer(t *testing.T) { } // TODO: re-enable these tests once fixed -// func (suite *KeeperSuite) TestCreatePriceSingleBlock() { +// func (suite *KeeperSuite) TestPriceFeedSingleBlock() { // router := suite.App.MsgServiceRouter() -// oServer := router.Handler(&types.MsgCreatePrice{}) +// oServer := router.Handler(&types.MsgPriceFeed{}) // require.EqualValues(suite.T(), 2, suite.Ctx.BlockHeight()) -// oServer(suite.Ctx, &types.MsgCreatePrice{ +// oServer(suite.Ctx, &types.MsgPriceFeed{ // Creator: suite.valAddr1.String(), // Nonce: 1, // FeederID: 1, // Prices: testdata.PS1, // BasedBlock: 1, // }) -// oServer(suite.Ctx, &types.MsgCreatePrice{ +// oServer(suite.Ctx, &types.MsgPriceFeed{ // Creator: suite.valAddr2.String(), // Nonce: 1, // FeederID: 1, @@ -67,7 +67,7 @@ func TestMsgServer(t *testing.T) { // // run the endblock to seal and prepare for next block // suite.NextBlock() // require.EqualValues(suite.T(), 3, suite.Ctx.BlockHeight()) -// _, err := oServer(suite.Ctx, &types.MsgCreatePrice{ +// _, err := oServer(suite.Ctx, &types.MsgPriceFeed{ // Creator: suite.valAddr1.String(), // Nonce: 1, // FeederID: 1, @@ -80,10 +80,10 @@ func TestMsgServer(t *testing.T) { // suite.Equal(log, err.Error()) // } -// func (suite *KeeperSuite) TestCreatePriceTwoBlock() { +// func (suite *KeeperSuite) TestPriceFeedTwoBlock() { // router := suite.App.MsgServiceRouter() -// oServer := router.Handler(&types.MsgCreatePrice{}) -// res, _ := oServer(suite.Ctx, &types.MsgCreatePrice{ +// oServer := router.Handler(&types.MsgPriceFeed{}) +// res, _ := oServer(suite.Ctx, &types.MsgPriceFeed{ // Creator: suite.valAddr1.String(), // Nonce: 1, // FeederID: 1, @@ -98,7 +98,7 @@ func TestMsgServer(t *testing.T) { // if suite.Equal(false, found) { // // run the endblock to seal and prepare for next block // suite.NextBlock() -// oServer(suite.Ctx, &types.MsgCreatePrice{ +// oServer(suite.Ctx, &types.MsgPriceFeed{ // Creator: suite.valAddr2.String(), // Nonce: 1, // FeederID: 1, diff --git a/x/oracle/keeper/native_token.go b/x/oracle/keeper/native_token.go index 86ae35b16..a7ad75e77 100644 --- a/x/oracle/keeper/native_token.go +++ b/x/oracle/keeper/native_token.go @@ -185,7 +185,7 @@ func (k Keeper) UpdateNSTValidatorListForStaker(ctx sdk.Context, assetID, staker amountInt64 := amount.Quo(decimalInt).Int64() // emit an event to tell that a staker's validator list has changed ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeCreatePrice, + types.EventTypePriceFeed, sdk.NewAttribute(types.AttributeKeyNativeTokenUpdate, types.AttributeValueNativeTokenUpdate), )) store := ctx.KVStore(k.storeKey) @@ -279,7 +279,7 @@ func (k Keeper) UpdateNSTValidatorListForStaker(ctx sdk.Context, assetID, staker // emit an event to tell the details that a new valdiator added/or a validator is removed for the staker // deposit_stakerID_validatorKey ctx.EventManager().EmitEvent(sdk.NewEvent( - types.EventTypeCreatePrice, + types.EventTypePriceFeed, sdk.NewAttribute(types.AttributeKeyNativeTokenChange, eventValue), )) diff --git a/x/oracle/keeper/nonce.go b/x/oracle/keeper/nonce.go index 505907e98..253a71e31 100644 --- a/x/oracle/keeper/nonce.go +++ b/x/oracle/keeper/nonce.go @@ -46,7 +46,7 @@ func (k Keeper) CheckAndIncreaseNonce(ctx sdk.Context, validator string, feederI } return 0, fmt.Errorf("nonce_check_failed: feeder_not_found: validator=%s feeder_id=%d", validator, feederID) } - return 0, fmt.Errorf("nonce_check_failed: validator_not_active: validator=%s tx_type=create-price", validator) + return 0, fmt.Errorf("nonce_check_failed: validator_not_active: validator=%s tx_type=price-feed", validator) } // internal usage for avoiding duplicated 'NewStore' diff --git a/x/oracle/keeper/validate_timestamp.go b/x/oracle/keeper/validate_timestamp.go index 4fb0f8ac7..35918d4e4 100644 --- a/x/oracle/keeper/validate_timestamp.go +++ b/x/oracle/keeper/validate_timestamp.go @@ -9,7 +9,7 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -func checkTimestamp(goCtx context.Context, msg *types.MsgCreatePrice) error { +func checkTimestamp(goCtx context.Context, msg *types.MsgPriceFeed) error { ctx := sdk.UnwrapSDKContext(goCtx) now := ctx.BlockTime().UTC() for _, ps := range msg.Prices { diff --git a/x/oracle/types/codec.go b/x/oracle/types/codec.go index d8e9b828d..4b208755b 100644 --- a/x/oracle/types/codec.go +++ b/x/oracle/types/codec.go @@ -8,14 +8,14 @@ import ( ) func RegisterCodec(cdc *codec.LegacyAmino) { - cdc.RegisterConcrete(&MsgCreatePrice{}, "oracle/CreatePrice", nil) + cdc.RegisterConcrete(&MsgPriceFeed{}, "oracle/PriceFeed", nil) cdc.RegisterConcrete(Params{}, "exocore/x/oracle/Params", nil) // this line is used by starport scaffolding # 2 } func RegisterInterfaces(registry cdctypes.InterfaceRegistry) { registry.RegisterImplementations((*sdk.Msg)(nil), - &MsgCreatePrice{}, + &MsgPriceFeed{}, ) // this line is used by starport scaffolding # 3 diff --git a/x/oracle/types/errors.go b/x/oracle/types/errors.go index efc2d124b..0c04a741d 100644 --- a/x/oracle/types/errors.go +++ b/x/oracle/types/errors.go @@ -22,7 +22,7 @@ const ( // x/oracle module sentinel errors var ( - ErrInvalidMsg = sdkerrors.Register(ModuleName, invalidMsg, "invalid input create price") + ErrInvalidMsg = sdkerrors.Register(ModuleName, invalidMsg, "invalid input price-feed") ErrPriceProposalIgnored = sdkerrors.Register(ModuleName, priceProposalIgnored, "quote is ignored") ErrPriceProposalFormatInvalid = sdkerrors.Register(ModuleName, priceProposalFormatInvalid, "price proposal message format invalid") ErrInvalidParams = sdkerrors.Register(ModuleName, invalidParams, "invalid params") diff --git a/x/oracle/types/events.go b/x/oracle/types/events.go index 3a0d42c2b..7ea5c74e6 100644 --- a/x/oracle/types/events.go +++ b/x/oracle/types/events.go @@ -1,7 +1,7 @@ package types const ( - EventTypeCreatePrice = "create_price" + EventTypePriceFeed = "price_feed" EventTypeOracleLiveness = "oracle_liveness" EventTypeOracleSlash = "oracle_slash" diff --git a/x/oracle/types/message_create_price.go b/x/oracle/types/message_create_price.go index 9a98da606..6cba1aa80 100644 --- a/x/oracle/types/message_create_price.go +++ b/x/oracle/types/message_create_price.go @@ -6,12 +6,12 @@ import ( sdk "github.com/cosmos/cosmos-sdk/types" ) -const TypeMsgCreatePrice = "create_price" +const TypeMsgPriceFeed = "price_feed" -var _ sdk.Msg = &MsgCreatePrice{} +var _ sdk.Msg = &MsgPriceFeed{} -func NewMsgCreatePrice(creator string, feederID uint64, prices []*PriceSource, basedBlock uint64, nonce int32) *MsgCreatePrice { - return &MsgCreatePrice{ +func NewMsgPriceFeed(creator string, feederID uint64, prices []*PriceSource, basedBlock uint64, nonce int32) *MsgPriceFeed { + return &MsgPriceFeed{ Creator: creator, FeederID: feederID, Prices: prices, @@ -20,15 +20,15 @@ func NewMsgCreatePrice(creator string, feederID uint64, prices []*PriceSource, b } } -func (msg *MsgCreatePrice) Route() string { +func (msg *MsgPriceFeed) Route() string { return RouterKey } -func (msg *MsgCreatePrice) Type() string { - return TypeMsgCreatePrice +func (msg *MsgPriceFeed) Type() string { + return TypeMsgPriceFeed } -func (msg *MsgCreatePrice) GetSigners() []sdk.AccAddress { +func (msg *MsgPriceFeed) GetSigners() []sdk.AccAddress { creator, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { panic(err) @@ -36,12 +36,12 @@ func (msg *MsgCreatePrice) GetSigners() []sdk.AccAddress { return []sdk.AccAddress{creator} } -func (msg *MsgCreatePrice) GetSignBytes() []byte { +func (msg *MsgPriceFeed) GetSignBytes() []byte { bz := ModuleCdc.MustMarshalJSON(msg) return sdk.MustSortJSON(bz) } -func (msg *MsgCreatePrice) ValidateBasic() error { +func (msg *MsgPriceFeed) ValidateBasic() error { _, err := sdk.AccAddressFromBech32(msg.Creator) if err != nil { return sdkerrors.ErrInvalidAddress.Wrapf("invalid creator address (%s)", err) diff --git a/x/oracle/types/message_create_price_test.go b/x/oracle/types/message_create_price_test.go index 8b53e6aeb..b386ae959 100644 --- a/x/oracle/types/message_create_price_test.go +++ b/x/oracle/types/message_create_price_test.go @@ -10,21 +10,21 @@ import ( "github.com/stretchr/testify/require" ) -func TestMsgCreatePrice_ValidateBasic(t *testing.T) { +func TestMsgPriceFeed_ValidateBasic(t *testing.T) { tests := []struct { name string - msg MsgCreatePrice + msg MsgPriceFeed err error }{ { name: "invalid address", - msg: MsgCreatePrice{ + msg: MsgPriceFeed{ Creator: "invalid_address", }, err: sdkerrors.ErrInvalidAddress, }, { name: "valid address", - msg: MsgCreatePrice{ + msg: MsgPriceFeed{ Creator: sample.AccAddress(), }, }, diff --git a/x/oracle/types/recent_msg.pb.go b/x/oracle/types/recent_msg.pb.go index c32f0a096..3326ed4ce 100644 --- a/x/oracle/types/recent_msg.pb.go +++ b/x/oracle/types/recent_msg.pb.go @@ -78,13 +78,13 @@ func (m *RecentMsg) GetMsgs() []*MsgItem { return nil } -// MsgItem represents the message info of createPrice +// MsgItem represents the message info of priceFeed type MsgItem struct { // feeder_id tells of wich feeder this price if corresponding to FeederID uint64 `protobuf:"varint,2,opt,name=feeder_id,json=feederId,proto3" json:"feeder_id,omitempty"` // p_source price with its source info PSources []*PriceSource `protobuf:"bytes,3,rep,name=p_sources,json=pSources,proto3" json:"p_sources,omitempty"` - // validator tells which validator create this price + // validator tells which validator provide this price Validator string `protobuf:"bytes,4,opt,name=validator,proto3" json:"validator,omitempty"` } diff --git a/x/oracle/types/tx.pb.go b/x/oracle/types/tx.pb.go index 5cc6f4680..eddb6fdb5 100644 --- a/x/oracle/types/tx.pb.go +++ b/x/oracle/types/tx.pb.go @@ -31,8 +31,8 @@ var _ = math.Inf // proto package needs to be updated. const _ = proto.GoGoProtoPackageIsVersion3 // please upgrade the proto package -// MsgCreatePrice provide the price updating message -type MsgCreatePrice struct { +// MsgPriceFeed provide the price updating message +type MsgPriceFeed struct { // creator tells which is the message sender and should sign this message Creator string `protobuf:"bytes,1,opt,name=creator,proto3" json:"creator,omitempty"` // refer to id from Params.TokenFeeders, 0 is reserved, invalid to use @@ -45,18 +45,18 @@ type MsgCreatePrice struct { Nonce int32 `protobuf:"varint,5,opt,name=nonce,proto3" json:"nonce,omitempty"` } -func (m *MsgCreatePrice) Reset() { *m = MsgCreatePrice{} } -func (m *MsgCreatePrice) String() string { return proto.CompactTextString(m) } -func (*MsgCreatePrice) ProtoMessage() {} -func (*MsgCreatePrice) Descriptor() ([]byte, []int) { +func (m *MsgPriceFeed) Reset() { *m = MsgPriceFeed{} } +func (m *MsgPriceFeed) String() string { return proto.CompactTextString(m) } +func (*MsgPriceFeed) ProtoMessage() {} +func (*MsgPriceFeed) Descriptor() ([]byte, []int) { return fileDescriptor_0d4ae88d3a4a094d, []int{0} } -func (m *MsgCreatePrice) XXX_Unmarshal(b []byte) error { +func (m *MsgPriceFeed) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreatePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgPriceFeed) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreatePrice.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgPriceFeed.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -66,69 +66,69 @@ func (m *MsgCreatePrice) XXX_Marshal(b []byte, deterministic bool) ([]byte, erro return b[:n], nil } } -func (m *MsgCreatePrice) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreatePrice.Merge(m, src) +func (m *MsgPriceFeed) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPriceFeed.Merge(m, src) } -func (m *MsgCreatePrice) XXX_Size() int { +func (m *MsgPriceFeed) XXX_Size() int { return m.Size() } -func (m *MsgCreatePrice) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreatePrice.DiscardUnknown(m) +func (m *MsgPriceFeed) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPriceFeed.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreatePrice proto.InternalMessageInfo +var xxx_messageInfo_MsgPriceFeed proto.InternalMessageInfo -func (m *MsgCreatePrice) GetCreator() string { +func (m *MsgPriceFeed) GetCreator() string { if m != nil { return m.Creator } return "" } -func (m *MsgCreatePrice) GetFeederID() uint64 { +func (m *MsgPriceFeed) GetFeederID() uint64 { if m != nil { return m.FeederID } return 0 } -func (m *MsgCreatePrice) GetPrices() []*PriceSource { +func (m *MsgPriceFeed) GetPrices() []*PriceSource { if m != nil { return m.Prices } return nil } -func (m *MsgCreatePrice) GetBasedBlock() uint64 { +func (m *MsgPriceFeed) GetBasedBlock() uint64 { if m != nil { return m.BasedBlock } return 0 } -func (m *MsgCreatePrice) GetNonce() int32 { +func (m *MsgPriceFeed) GetNonce() int32 { if m != nil { return m.Nonce } return 0 } -// MsgCreatePriceResponse -type MsgCreatePriceResponse struct { +// MsgPriceFeedResponse +type MsgPriceFeedResponse struct { } -func (m *MsgCreatePriceResponse) Reset() { *m = MsgCreatePriceResponse{} } -func (m *MsgCreatePriceResponse) String() string { return proto.CompactTextString(m) } -func (*MsgCreatePriceResponse) ProtoMessage() {} -func (*MsgCreatePriceResponse) Descriptor() ([]byte, []int) { +func (m *MsgPriceFeedResponse) Reset() { *m = MsgPriceFeedResponse{} } +func (m *MsgPriceFeedResponse) String() string { return proto.CompactTextString(m) } +func (*MsgPriceFeedResponse) ProtoMessage() {} +func (*MsgPriceFeedResponse) Descriptor() ([]byte, []int) { return fileDescriptor_0d4ae88d3a4a094d, []int{1} } -func (m *MsgCreatePriceResponse) XXX_Unmarshal(b []byte) error { +func (m *MsgPriceFeedResponse) XXX_Unmarshal(b []byte) error { return m.Unmarshal(b) } -func (m *MsgCreatePriceResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { +func (m *MsgPriceFeedResponse) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) { if deterministic { - return xxx_messageInfo_MsgCreatePriceResponse.Marshal(b, m, deterministic) + return xxx_messageInfo_MsgPriceFeedResponse.Marshal(b, m, deterministic) } else { b = b[:cap(b)] n, err := m.MarshalToSizedBuffer(b) @@ -138,17 +138,17 @@ func (m *MsgCreatePriceResponse) XXX_Marshal(b []byte, deterministic bool) ([]by return b[:n], nil } } -func (m *MsgCreatePriceResponse) XXX_Merge(src proto.Message) { - xxx_messageInfo_MsgCreatePriceResponse.Merge(m, src) +func (m *MsgPriceFeedResponse) XXX_Merge(src proto.Message) { + xxx_messageInfo_MsgPriceFeedResponse.Merge(m, src) } -func (m *MsgCreatePriceResponse) XXX_Size() int { +func (m *MsgPriceFeedResponse) XXX_Size() int { return m.Size() } -func (m *MsgCreatePriceResponse) XXX_DiscardUnknown() { - xxx_messageInfo_MsgCreatePriceResponse.DiscardUnknown(m) +func (m *MsgPriceFeedResponse) XXX_DiscardUnknown() { + xxx_messageInfo_MsgPriceFeedResponse.DiscardUnknown(m) } -var xxx_messageInfo_MsgCreatePriceResponse proto.InternalMessageInfo +var xxx_messageInfo_MsgPriceFeedResponse proto.InternalMessageInfo // MsgUpdateParms type MsgUpdateParams struct { @@ -245,8 +245,8 @@ func (m *MsgUpdateParamsResponse) XXX_DiscardUnknown() { var xxx_messageInfo_MsgUpdateParamsResponse proto.InternalMessageInfo func init() { - proto.RegisterType((*MsgCreatePrice)(nil), "exocore.oracle.v1.MsgCreatePrice") - proto.RegisterType((*MsgCreatePriceResponse)(nil), "exocore.oracle.v1.MsgCreatePriceResponse") + proto.RegisterType((*MsgPriceFeed)(nil), "exocore.oracle.v1.MsgPriceFeed") + proto.RegisterType((*MsgPriceFeedResponse)(nil), "exocore.oracle.v1.MsgPriceFeedResponse") proto.RegisterType((*MsgUpdateParams)(nil), "exocore.oracle.v1.MsgUpdateParams") proto.RegisterType((*MsgUpdateParamsResponse)(nil), "exocore.oracle.v1.MsgUpdateParamsResponse") } @@ -254,40 +254,41 @@ func init() { func init() { proto.RegisterFile("exocore/oracle/v1/tx.proto", fileDescriptor_0d4ae88d3a4a094d) } var fileDescriptor_0d4ae88d3a4a094d = []byte{ - // 528 bytes of a gzipped FileDescriptorProto + // 529 bytes of a gzipped FileDescriptorProto 0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0x84, 0x53, 0xbf, 0x6f, 0xd3, 0x40, - 0x14, 0xce, 0x91, 0x26, 0x34, 0x97, 0x0a, 0xd4, 0x53, 0x44, 0x9d, 0x48, 0x75, 0x52, 0xb3, 0xa4, - 0x91, 0x62, 0xd3, 0x20, 0x65, 0x00, 0x16, 0xcc, 0x0f, 0xa9, 0x48, 0x41, 0xc8, 0x15, 0x0c, 0x20, - 0x11, 0x39, 0xf6, 0xe1, 0x5a, 0x89, 0xfd, 0xac, 0x3b, 0xa7, 0xa4, 0x2b, 0x23, 0x13, 0x7f, 0x06, - 0x63, 0x86, 0xee, 0x48, 0x4c, 0x1d, 0xab, 0x4e, 0x4c, 0x15, 0x4a, 0x86, 0xfc, 0x1b, 0xc8, 0x77, - 0x36, 0x6d, 0xda, 0x48, 0x5d, 0x2c, 0xbf, 0xf7, 0x7d, 0xef, 0xc7, 0xf7, 0x3d, 0x1b, 0xd7, 0xe8, - 0x04, 0x1c, 0x60, 0xd4, 0x00, 0x66, 0x3b, 0x23, 0x6a, 0x1c, 0xed, 0x19, 0xf1, 0x44, 0x8f, 0x18, - 0xc4, 0x40, 0x36, 0x53, 0x4c, 0x97, 0x98, 0x7e, 0xb4, 0x57, 0xdb, 0xb4, 0x03, 0x3f, 0x04, 0x43, - 0x3c, 0x25, 0xab, 0xb6, 0xe5, 0x00, 0x0f, 0x80, 0x1b, 0x01, 0xf7, 0x92, 0xea, 0x80, 0x7b, 0x29, - 0x50, 0x95, 0x40, 0x5f, 0x44, 0x86, 0x0c, 0x52, 0x48, 0xbd, 0x39, 0x35, 0xb2, 0x99, 0x1d, 0x64, - 0xf8, 0xf6, 0x0a, 0x9c, 0xf9, 0x0e, 0x4d, 0xe1, 0x8a, 0x07, 0x1e, 0xc8, 0xb6, 0xc9, 0x9b, 0xcc, - 0x6a, 0x0b, 0x84, 0xef, 0xf5, 0xb8, 0xf7, 0x82, 0x51, 0x3b, 0xa6, 0xef, 0x12, 0x3a, 0x79, 0x8a, - 0xef, 0x3a, 0x49, 0x08, 0x4c, 0x41, 0x0d, 0xd4, 0x2c, 0x99, 0x3b, 0xe7, 0x27, 0xed, 0xed, 0x74, - 0x95, 0x0f, 0xf6, 0xc8, 0x77, 0x13, 0xec, 0xb9, 0xeb, 0x32, 0xca, 0xf9, 0x41, 0xcc, 0xfc, 0xd0, - 0xb3, 0xb2, 0x0a, 0xb2, 0x8b, 0x4b, 0x5f, 0x28, 0x75, 0x29, 0xeb, 0xfb, 0xae, 0x72, 0xa7, 0x81, - 0x9a, 0x6b, 0xe6, 0xc6, 0xec, 0xa2, 0xbe, 0xfe, 0x5a, 0x24, 0xf7, 0x5f, 0x5a, 0xeb, 0x12, 0xde, - 0x77, 0x49, 0x17, 0x17, 0xc5, 0x7e, 0x5c, 0xc9, 0x37, 0xf2, 0xcd, 0x72, 0x47, 0xd5, 0x6f, 0x58, - 0xa7, 0x8b, 0x8d, 0x0e, 0x60, 0xcc, 0x1c, 0x6a, 0xa5, 0x6c, 0x52, 0xc7, 0xe5, 0x81, 0xcd, 0xa9, - 0xdb, 0x1f, 0x8c, 0xc0, 0x19, 0x2a, 0x6b, 0xc9, 0x10, 0x0b, 0x8b, 0x94, 0x99, 0x64, 0x48, 0x05, - 0x17, 0x42, 0x08, 0x1d, 0xaa, 0x14, 0x1a, 0xa8, 0x59, 0xb0, 0x64, 0xa0, 0x29, 0xf8, 0xc1, 0xb2, - 0x50, 0x8b, 0xf2, 0x08, 0x42, 0x4e, 0xb5, 0x5f, 0x08, 0xdf, 0xef, 0x71, 0xef, 0x7d, 0xe4, 0x26, - 0x90, 0xb0, 0x94, 0x74, 0x71, 0xc9, 0x1e, 0xc7, 0x87, 0xc0, 0xfc, 0xf8, 0x38, 0xb5, 0x41, 0x39, - 0x3f, 0x69, 0x57, 0x52, 0x1b, 0x96, 0xd5, 0x5f, 0x52, 0xc9, 0x33, 0x5c, 0x94, 0x47, 0x11, 0xe2, - 0xcb, 0x9d, 0xea, 0x2a, 0x51, 0x82, 0x60, 0x96, 0x4e, 0x2f, 0xea, 0xb9, 0x9f, 0x8b, 0x69, 0x0b, - 0x59, 0x69, 0xcd, 0x93, 0xee, 0xb7, 0xc5, 0xb4, 0x75, 0xd9, 0xed, 0xfb, 0x62, 0xda, 0x7a, 0x28, - 0x27, 0xb6, 0xb9, 0x3b, 0x34, 0x26, 0xd9, 0x69, 0xaf, 0x6d, 0xab, 0x55, 0xf1, 0xd6, 0xb5, 0x54, - 0x26, 0xae, 0xf3, 0x1b, 0xe1, 0x7c, 0x8f, 0x7b, 0xe4, 0x13, 0x2e, 0x5f, 0x3d, 0xf2, 0xce, 0x8a, - 0xbd, 0x96, 0xed, 0xa9, 0xed, 0xde, 0x4a, 0xc9, 0x86, 0x90, 0xcf, 0x78, 0x63, 0xc9, 0x3d, 0x6d, - 0x75, 0xe9, 0x55, 0x4e, 0xad, 0x75, 0x3b, 0x27, 0xeb, 0x6f, 0xbe, 0x39, 0x9d, 0xa9, 0xe8, 0x6c, - 0xa6, 0xa2, 0xbf, 0x33, 0x15, 0xfd, 0x98, 0xab, 0xb9, 0xb3, 0xb9, 0x9a, 0xfb, 0x33, 0x57, 0x73, - 0x1f, 0x1f, 0x79, 0x7e, 0x7c, 0x38, 0x1e, 0xe8, 0x0e, 0x04, 0xc6, 0x2b, 0xd9, 0xef, 0x2d, 0x8d, - 0xbf, 0x02, 0x1b, 0x1a, 0xd9, 0xef, 0xf0, 0xdf, 0xb5, 0xf8, 0x38, 0xa2, 0x7c, 0x50, 0x14, 0x1f, - 0xfe, 0xe3, 0x7f, 0x01, 0x00, 0x00, 0xff, 0xff, 0xc5, 0xc0, 0xcc, 0xd8, 0xc5, 0x03, 0x00, 0x00, + 0x14, 0xce, 0x91, 0x26, 0x34, 0x97, 0x48, 0xa8, 0xa7, 0x88, 0x3a, 0x91, 0xea, 0x84, 0x30, 0x10, + 0x22, 0xc5, 0xa6, 0x41, 0xca, 0x00, 0x2c, 0x58, 0x50, 0xa9, 0x48, 0x41, 0x95, 0xab, 0x32, 0x30, + 0x10, 0x39, 0xbe, 0xc3, 0xb5, 0x12, 0xfb, 0xac, 0xbb, 0x4b, 0x49, 0x57, 0x46, 0x26, 0xfe, 0x0c, + 0xc6, 0x0c, 0x1d, 0x91, 0x58, 0x3b, 0x56, 0x9d, 0x98, 0x2a, 0x94, 0x08, 0xe5, 0xdf, 0x40, 0xbe, + 0xb3, 0x49, 0xda, 0x46, 0xea, 0x62, 0xf9, 0xbd, 0xef, 0x7b, 0x3f, 0xbe, 0xef, 0xd9, 0xb0, 0x4a, + 0x26, 0xd4, 0xa5, 0x8c, 0x98, 0x94, 0x39, 0xee, 0x88, 0x98, 0x27, 0xbb, 0xa6, 0x98, 0x18, 0x11, + 0xa3, 0x82, 0xa2, 0xad, 0x04, 0x33, 0x14, 0x66, 0x9c, 0xec, 0x56, 0xb7, 0x9c, 0xc0, 0x0f, 0xa9, + 0x29, 0x9f, 0x8a, 0x55, 0xdd, 0x76, 0x29, 0x0f, 0x28, 0x37, 0x03, 0xee, 0xc5, 0xd5, 0x01, 0xf7, + 0x12, 0xa0, 0xa2, 0x80, 0xbe, 0x8c, 0x4c, 0x15, 0x24, 0x90, 0x7e, 0x7b, 0x6a, 0xe4, 0x30, 0x27, + 0x48, 0xf1, 0x9d, 0x35, 0x38, 0xf3, 0x5d, 0x92, 0xc0, 0x65, 0x8f, 0x7a, 0x54, 0xb5, 0x8d, 0xdf, + 0x54, 0xb6, 0xf1, 0x17, 0xc0, 0x52, 0x8f, 0x7b, 0x07, 0x31, 0x71, 0x8f, 0x10, 0x8c, 0x5e, 0xc2, + 0xfb, 0x2e, 0x23, 0x8e, 0xa0, 0x4c, 0x03, 0x75, 0xd0, 0x2c, 0x58, 0x8f, 0x2e, 0xcf, 0xda, 0x3b, + 0xc9, 0x22, 0x1f, 0x9c, 0x91, 0x8f, 0x63, 0xec, 0x35, 0xc6, 0x8c, 0x70, 0x7e, 0x28, 0x98, 0x1f, + 0x7a, 0x76, 0x5a, 0x81, 0x9e, 0xc2, 0xc2, 0x67, 0x42, 0x30, 0x61, 0x7d, 0x1f, 0x6b, 0xf7, 0xea, + 0xa0, 0xb9, 0x61, 0x95, 0x66, 0x57, 0xb5, 0xcd, 0x3d, 0x99, 0xdc, 0x7f, 0x63, 0x6f, 0x2a, 0x78, + 0x1f, 0xa3, 0x2e, 0xcc, 0xcb, 0xed, 0xb8, 0x96, 0xad, 0x67, 0x9b, 0xc5, 0x8e, 0x6e, 0xdc, 0x32, + 0xce, 0x90, 0x5b, 0x1d, 0xd2, 0x31, 0x73, 0x89, 0x9d, 0xb0, 0x51, 0x0d, 0x16, 0x07, 0x0e, 0x27, + 0xb8, 0x3f, 0x18, 0x51, 0x77, 0xa8, 0x6d, 0xc4, 0x43, 0x6c, 0x28, 0x53, 0x56, 0x9c, 0x41, 0x65, + 0x98, 0x0b, 0x69, 0xe8, 0x12, 0x2d, 0x57, 0x07, 0xcd, 0x9c, 0xad, 0x82, 0xc6, 0x43, 0x58, 0x5e, + 0x95, 0x69, 0x13, 0x1e, 0xd1, 0x90, 0x93, 0xc6, 0x2f, 0x00, 0x1f, 0xf4, 0xb8, 0x77, 0x14, 0x61, + 0x47, 0x90, 0x03, 0x69, 0x27, 0xea, 0xc2, 0x82, 0x33, 0x16, 0xc7, 0x94, 0xf9, 0xe2, 0x34, 0x31, + 0x41, 0xbb, 0x3c, 0x6b, 0x97, 0x13, 0x13, 0xae, 0x6b, 0x5f, 0x52, 0xd1, 0x2b, 0x98, 0x57, 0x07, + 0x91, 0xd2, 0x8b, 0x9d, 0xca, 0x3a, 0x49, 0x92, 0x60, 0x15, 0xce, 0xaf, 0x6a, 0x99, 0x1f, 0x8b, + 0x69, 0x0b, 0xd8, 0x49, 0xcd, 0x8b, 0xee, 0xd7, 0xc5, 0xb4, 0xb5, 0xec, 0xf6, 0x6d, 0x31, 0x6d, + 0x3d, 0x56, 0x13, 0xdb, 0x1c, 0x0f, 0xcd, 0x49, 0x7a, 0xd6, 0x1b, 0xdb, 0x36, 0x2a, 0x70, 0xfb, + 0x46, 0x2a, 0x15, 0xd7, 0xf9, 0x09, 0x60, 0xb6, 0xc7, 0x3d, 0x74, 0x04, 0x0b, 0xcb, 0x03, 0xd7, + 0xd6, 0x6c, 0xb5, 0x6a, 0x4d, 0xf5, 0xc9, 0x1d, 0x84, 0xb4, 0x3d, 0xfa, 0x04, 0x4b, 0xd7, 0x7c, + 0x6b, 0xac, 0x2f, 0x5c, 0xe5, 0x54, 0x5b, 0x77, 0x73, 0xd2, 0xfe, 0xd6, 0xbb, 0xf3, 0x99, 0x0e, + 0x2e, 0x66, 0x3a, 0xf8, 0x33, 0xd3, 0xc1, 0xf7, 0xb9, 0x9e, 0xb9, 0x98, 0xeb, 0x99, 0xdf, 0x73, + 0x3d, 0xf3, 0xf1, 0x99, 0xe7, 0x8b, 0xe3, 0xf1, 0xc0, 0x70, 0x69, 0x60, 0xbe, 0x55, 0xfd, 0xde, + 0x13, 0xf1, 0x85, 0xb2, 0xa1, 0x99, 0xfe, 0x04, 0xff, 0xfd, 0x12, 0xa7, 0x11, 0xe1, 0x83, 0xbc, + 0xfc, 0xdc, 0x9f, 0xff, 0x0b, 0x00, 0x00, 0xff, 0xff, 0xc9, 0xd0, 0x15, 0xef, 0xbb, 0x03, 0x00, + 0x00, } // Reference imports to suppress errors if they are not otherwise used. @@ -302,8 +303,8 @@ const _ = grpc.SupportPackageIsVersion4 // // For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream. type MsgClient interface { - // CreatePrice creates price for a new oracle round - CreatePrice(ctx context.Context, in *MsgCreatePrice, opts ...grpc.CallOption) (*MsgCreatePriceResponse, error) + // PriceFeed creates price for a new oracle round + PriceFeed(ctx context.Context, in *MsgPriceFeed, opts ...grpc.CallOption) (*MsgPriceFeedResponse, error) // UpdateParams update params value UpdateParams(ctx context.Context, in *MsgUpdateParams, opts ...grpc.CallOption) (*MsgUpdateParamsResponse, error) } @@ -316,9 +317,9 @@ func NewMsgClient(cc grpc1.ClientConn) MsgClient { return &msgClient{cc} } -func (c *msgClient) CreatePrice(ctx context.Context, in *MsgCreatePrice, opts ...grpc.CallOption) (*MsgCreatePriceResponse, error) { - out := new(MsgCreatePriceResponse) - err := c.cc.Invoke(ctx, "/exocore.oracle.v1.Msg/CreatePrice", in, out, opts...) +func (c *msgClient) PriceFeed(ctx context.Context, in *MsgPriceFeed, opts ...grpc.CallOption) (*MsgPriceFeedResponse, error) { + out := new(MsgPriceFeedResponse) + err := c.cc.Invoke(ctx, "/exocore.oracle.v1.Msg/PriceFeed", in, out, opts...) if err != nil { return nil, err } @@ -336,8 +337,8 @@ func (c *msgClient) UpdateParams(ctx context.Context, in *MsgUpdateParams, opts // MsgServer is the server API for Msg service. type MsgServer interface { - // CreatePrice creates price for a new oracle round - CreatePrice(context.Context, *MsgCreatePrice) (*MsgCreatePriceResponse, error) + // PriceFeed creates price for a new oracle round + PriceFeed(context.Context, *MsgPriceFeed) (*MsgPriceFeedResponse, error) // UpdateParams update params value UpdateParams(context.Context, *MsgUpdateParams) (*MsgUpdateParamsResponse, error) } @@ -346,8 +347,8 @@ type MsgServer interface { type UnimplementedMsgServer struct { } -func (*UnimplementedMsgServer) CreatePrice(ctx context.Context, req *MsgCreatePrice) (*MsgCreatePriceResponse, error) { - return nil, status.Errorf(codes.Unimplemented, "method CreatePrice not implemented") +func (*UnimplementedMsgServer) PriceFeed(ctx context.Context, req *MsgPriceFeed) (*MsgPriceFeedResponse, error) { + return nil, status.Errorf(codes.Unimplemented, "method PriceFeed not implemented") } func (*UnimplementedMsgServer) UpdateParams(ctx context.Context, req *MsgUpdateParams) (*MsgUpdateParamsResponse, error) { return nil, status.Errorf(codes.Unimplemented, "method UpdateParams not implemented") @@ -357,20 +358,20 @@ func RegisterMsgServer(s grpc1.Server, srv MsgServer) { s.RegisterService(&_Msg_serviceDesc, srv) } -func _Msg_CreatePrice_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { - in := new(MsgCreatePrice) +func _Msg_PriceFeed_Handler(srv interface{}, ctx context.Context, dec func(interface{}) error, interceptor grpc.UnaryServerInterceptor) (interface{}, error) { + in := new(MsgPriceFeed) if err := dec(in); err != nil { return nil, err } if interceptor == nil { - return srv.(MsgServer).CreatePrice(ctx, in) + return srv.(MsgServer).PriceFeed(ctx, in) } info := &grpc.UnaryServerInfo{ Server: srv, - FullMethod: "/exocore.oracle.v1.Msg/CreatePrice", + FullMethod: "/exocore.oracle.v1.Msg/PriceFeed", } handler := func(ctx context.Context, req interface{}) (interface{}, error) { - return srv.(MsgServer).CreatePrice(ctx, req.(*MsgCreatePrice)) + return srv.(MsgServer).PriceFeed(ctx, req.(*MsgPriceFeed)) } return interceptor(ctx, in, info, handler) } @@ -398,8 +399,8 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ HandlerType: (*MsgServer)(nil), Methods: []grpc.MethodDesc{ { - MethodName: "CreatePrice", - Handler: _Msg_CreatePrice_Handler, + MethodName: "PriceFeed", + Handler: _Msg_PriceFeed_Handler, }, { MethodName: "UpdateParams", @@ -410,7 +411,7 @@ var _Msg_serviceDesc = grpc.ServiceDesc{ Metadata: "exocore/oracle/v1/tx.proto", } -func (m *MsgCreatePrice) Marshal() (dAtA []byte, err error) { +func (m *MsgPriceFeed) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -420,12 +421,12 @@ func (m *MsgCreatePrice) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCreatePrice) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgPriceFeed) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCreatePrice) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgPriceFeed) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -469,7 +470,7 @@ func (m *MsgCreatePrice) MarshalToSizedBuffer(dAtA []byte) (int, error) { return len(dAtA) - i, nil } -func (m *MsgCreatePriceResponse) Marshal() (dAtA []byte, err error) { +func (m *MsgPriceFeedResponse) Marshal() (dAtA []byte, err error) { size := m.Size() dAtA = make([]byte, size) n, err := m.MarshalToSizedBuffer(dAtA[:size]) @@ -479,12 +480,12 @@ func (m *MsgCreatePriceResponse) Marshal() (dAtA []byte, err error) { return dAtA[:n], nil } -func (m *MsgCreatePriceResponse) MarshalTo(dAtA []byte) (int, error) { +func (m *MsgPriceFeedResponse) MarshalTo(dAtA []byte) (int, error) { size := m.Size() return m.MarshalToSizedBuffer(dAtA[:size]) } -func (m *MsgCreatePriceResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { +func (m *MsgPriceFeedResponse) MarshalToSizedBuffer(dAtA []byte) (int, error) { i := len(dAtA) _ = i var l int @@ -566,7 +567,7 @@ func encodeVarintTx(dAtA []byte, offset int, v uint64) int { dAtA[offset] = uint8(v) return base } -func (m *MsgCreatePrice) Size() (n int) { +func (m *MsgPriceFeed) Size() (n int) { if m == nil { return 0 } @@ -594,7 +595,7 @@ func (m *MsgCreatePrice) Size() (n int) { return n } -func (m *MsgCreatePriceResponse) Size() (n int) { +func (m *MsgPriceFeedResponse) Size() (n int) { if m == nil { return 0 } @@ -633,7 +634,7 @@ func sovTx(x uint64) (n int) { func sozTx(x uint64) (n int) { return sovTx(uint64((x << 1) ^ uint64((int64(x) >> 63)))) } -func (m *MsgCreatePrice) Unmarshal(dAtA []byte) error { +func (m *MsgPriceFeed) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -656,10 +657,10 @@ func (m *MsgCreatePrice) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreatePrice: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPriceFeed: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreatePrice: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPriceFeed: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { case 1: @@ -806,7 +807,7 @@ func (m *MsgCreatePrice) Unmarshal(dAtA []byte) error { } return nil } -func (m *MsgCreatePriceResponse) Unmarshal(dAtA []byte) error { +func (m *MsgPriceFeedResponse) Unmarshal(dAtA []byte) error { l := len(dAtA) iNdEx := 0 for iNdEx < l { @@ -829,10 +830,10 @@ func (m *MsgCreatePriceResponse) Unmarshal(dAtA []byte) error { fieldNum := int32(wire >> 3) wireType := int(wire & 0x7) if wireType == 4 { - return fmt.Errorf("proto: MsgCreatePriceResponse: wiretype end group for non-group") + return fmt.Errorf("proto: MsgPriceFeedResponse: wiretype end group for non-group") } if fieldNum <= 0 { - return fmt.Errorf("proto: MsgCreatePriceResponse: illegal tag %d (wire type %d)", fieldNum, wire) + return fmt.Errorf("proto: MsgPriceFeedResponse: illegal tag %d (wire type %d)", fieldNum, wire) } switch fieldNum { default: