diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index a7686968..c4bef485 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -4,7 +4,7 @@ on: push: tags: - "v[0-9]+.[0-9]+.[0-9]+" # Push events to matching v*, i.e. v1.0, v20.15.10 - - "v[0-9]+.[0-9]+.[0-9]+-rc*" # Push events to matching v*, i.e. v1.0-rc1, v20.15.10-rc5 + - "v[0-9]+.[0-9]+.[0-9]+-rc*" # Push events to matching v*, i.e. v1.0-rc2, v20.15.10-rc5 - "v[0-9]+.[0-9]+.[0-9]+-beta*" # Push events to matching v*, i.e. v1.0.0-beta2 jobs: @@ -37,7 +37,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" test_script: "./scripts/gh-action-test/tutorial_test.sh" test_attrs_smart_contract: @@ -57,7 +57,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/attrs_test.sh" @@ -78,7 +78,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/marker_test.sh" @@ -99,7 +99,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/name_test.sh" @@ -120,7 +120,7 @@ jobs: # uses: provenance-io/provenance-testing-action@v1.3.0 # with: # github_token: ${{ secrets.GITHUB_TOKEN }} - # provenance_version: "v1.26.0-rc1" + # provenance_version: "v1.26.0-rc2" # smart_contract_action_version: "latest" # test_script: "./scripts/gh-action-test/scope_test.sh" @@ -141,7 +141,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/trigger_test.sh" diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index ed102f04..705d0c03 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -35,7 +35,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" test_script: "./scripts/gh-action-test/tutorial_test.sh" test_attrs_smart_contract: @@ -55,7 +55,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/attrs_test.sh" @@ -76,7 +76,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/marker_test.sh" @@ -97,7 +97,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/name_test.sh" @@ -118,7 +118,7 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/scope_test.sh" @@ -139,6 +139,6 @@ jobs: uses: provenance-io/provenance-testing-action@v1.3.0 with: github_token: ${{ secrets.GITHUB_TOKEN }} - provenance_version: "v1.26.0-rc1" + provenance_version: "v1.26.0-rc2" smart_contract_action_version: "latest" test_script: "./scripts/gh-action-test/trigger_test.sh" diff --git a/CHANGELOG.md b/CHANGELOG.md index e9733bdb..a5a98507 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -6,6 +6,7 @@ ### [v2.7.0](https://github.com/provenance-io/provwasm/tree/v2.7.0) +* Update to Provenance v1.26.0-rc2 [[#169]]([#167](https://github.com/provenance-io/provwasm/pull/169)) * Update to Provenance v1.26.0-rc1 [[#167]]([#167](https://github.com/provenance-io/provwasm/pull/167)) ### [v2.6.0](https://github.com/provenance-io/provwasm/tree/v2.6.0) diff --git a/RELEASE_CHANGELOG.md b/RELEASE_CHANGELOG.md index a6255472..b0787dc6 100644 --- a/RELEASE_CHANGELOG.md +++ b/RELEASE_CHANGELOG.md @@ -1,3 +1,4 @@ ### [v2.7.0](https://github.com/provenance-io/provwasm/tree/v2.7.0) +* Update to Provenance v1.26.0-rc2 [[#169]]([#167](https://github.com/provenance-io/provwasm/pull/169)) * Update to Provenance v1.26.0-rc1 [[#167]]([#167](https://github.com/provenance-io/provwasm/pull/167)) diff --git a/dependencies/provenance b/dependencies/provenance index 5e30dfaa..4cd2865e 160000 --- a/dependencies/provenance +++ b/dependencies/provenance @@ -1 +1 @@ -Subproject commit 5e30dfaa01173fb1e42ae8ab1bd96587238da7e9 +Subproject commit 4cd2865e8a4e38bf967bf5e88e5f1177c7ae7a40 diff --git a/docs/tutorial/10-instantiate.md b/docs/tutorial/10-instantiate.md index 062bcd94..80329bab 100644 --- a/docs/tutorial/10-instantiate.md +++ b/docs/tutorial/10-instantiate.md @@ -42,7 +42,7 @@ provenanced tx wasm instantiate 1 \ --chain-id testing \ --gas auto \ --gas-prices="1nhash" \ - --gas-adjustment=1 \ + --gas-adjustment=1 \ --yes \ --testnet \ --output json | jq diff --git a/packages/proto-build/src/main.rs b/packages/proto-build/src/main.rs index 27658b2d..920439a9 100644 --- a/packages/proto-build/src/main.rs +++ b/packages/proto-build/src/main.rs @@ -10,7 +10,7 @@ use proto_build::{ }; /// The provenance commit or tag to be cloned and used to build the proto files -const PROVENANCE_REV: &str = "v1.26.0-rc1"; +const PROVENANCE_REV: &str = "v1.26.0-rc2"; // All paths must end with a / and either be absolute or include a ./ to reference the current // working directory. diff --git a/packages/provwasm-std/src/types/PROVENANCE_COMMIT b/packages/provwasm-std/src/types/PROVENANCE_COMMIT index c9d18f08..9296f67f 100644 --- a/packages/provwasm-std/src/types/PROVENANCE_COMMIT +++ b/packages/provwasm-std/src/types/PROVENANCE_COMMIT @@ -1 +1 @@ -v1.26.0-rc1 \ No newline at end of file +v1.26.0-rc2 \ No newline at end of file diff --git a/packages/provwasm-std/src/types/provenance/ledger/v1.rs b/packages/provwasm-std/src/types/provenance/ledger/v1.rs index 14f0fea9..5549cefe 100644 --- a/packages/provwasm-std/src/types/provenance/ledger/v1.rs +++ b/packages/provwasm-std/src/types/provenance/ledger/v1.rs @@ -49,6 +49,23 @@ pub struct EventLedgerEntryAdded { #[prost(string, tag = "3")] pub correlation_id: ::prost::alloc::string::String, } +/// EventLedgerEntryUpdated is emitted when an existing ledger entry is updated. +/// This event is triggered by the UpdateBalances message handler when a ledger +/// entry is successfully updated. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.ledger.v1.EventLedgerEntryUpdated")] +pub struct EventLedgerEntryUpdated { + /// asset class of the ledger. + #[prost(string, tag = "1")] + pub asset_class_id: ::prost::alloc::string::String, + /// nft id of the ledger (scope id or nft id). + #[prost(string, tag = "2")] + pub nft_id: ::prost::alloc::string::String, + /// correlation id of the ledger entry. + #[prost(string, tag = "3")] + pub correlation_id: ::prost::alloc::string::String, +} /// EventFundTransferWithSettlement is emitted when funds are transferred with /// settlement instructions. This event is triggered by the /// MsgTransferFundsWithSettlement message handler when a fund transfer with @@ -81,6 +98,43 @@ pub struct EventLedgerDestroyed { #[prost(string, tag = "2")] pub nft_id: ::prost::alloc::string::String, } +/// EventLedgerClassCreated is emitted when a ledger class is created. +/// This event is triggered by the MsgCreateLedgerClassRequest message handler +/// when a new ledger class is created. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.ledger.v1.EventLedgerClassCreated")] +pub struct EventLedgerClassCreated { + /// The id of the ledger class that was created. + #[prost(string, tag = "1")] + pub ledger_class_id: ::prost::alloc::string::String, + /// The id of the asset class that the ledger class was created for. + #[prost(string, tag = "2")] + pub asset_class_id: ::prost::alloc::string::String, + /// The denom that this ledger class uses. + #[prost(string, tag = "3")] + pub denom: ::prost::alloc::string::String, +} +/// EventLedgerClassTypeCreated is emitted when any type for a ledger class is created. +/// This event is triggered by the MsgAddLedgerClassStatusTypeRequest, MsgAddLedgerClassEntryTypeRequest, +/// and MsgAddLedgerClassBucketTypeRequest message handlers when they create their respective types. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.ledger.v1.EventLedgerClassTypeCreated")] +pub struct EventLedgerClassTypeCreated { + /// The id of the ledger class that the type was created. + #[prost(string, tag = "1")] + pub ledger_class_id: ::prost::alloc::string::String, + /// The specific type of thing that was created. + #[prost(enumeration = "ClassTypeCreated", tag = "2")] + pub type_created: i32, + /// The id of the created type. + #[prost(string, tag = "3")] + pub id: ::prost::alloc::string::String, + /// The code of the created type. + #[prost(string, tag = "4")] + pub code: ::prost::alloc::string::String, +} /// UpdateType is the type of data update that caused the EventLedgerUpdated event to be emitted. /// This is used to identify the specific update that caused the event to be emitted. #[derive( @@ -134,6 +188,55 @@ impl UpdateType { } } } +/// ClassTypeCreated is the type of data that caused the EventLedgerClassTypeCreated event to be emitted. +/// This is used to identify the specific type that was just created. +#[derive( + Clone, + Copy, + Debug, + PartialEq, + Eq, + Hash, + PartialOrd, + Ord, + ::prost::Enumeration, + ::schemars::JsonSchema, +)] +#[repr(i32)] +pub enum ClassTypeCreated { + /// CLASS_TYPE_CREATED_UNSPECIFIED indicates that the class type is unspecified. + Unspecified = 0, + /// CLASS_TYPE_CREATED_STATUS is for when a LedgerClassStatusType is created. + Status = 1, + /// CLASS_TYPE_CREATED_ENTRY is for when a LedgerClassEntryType is created. + Entry = 2, + /// CLASS_TYPE_CREATED_BUCKET is for when a LedgerClassBucketType is created. + Bucket = 3, +} +impl ClassTypeCreated { + /// String value of the enum field names used in the ProtoBuf definition. + /// + /// The values are not transformed in any way and thus are considered stable + /// (if the ProtoBuf definition does not change) and safe for programmatic use. + pub fn as_str_name(&self) -> &'static str { + match self { + ClassTypeCreated::Unspecified => "CLASS_TYPE_CREATED_UNSPECIFIED", + ClassTypeCreated::Status => "CLASS_TYPE_CREATED_STATUS", + ClassTypeCreated::Entry => "CLASS_TYPE_CREATED_ENTRY", + ClassTypeCreated::Bucket => "CLASS_TYPE_CREATED_BUCKET", + } + } + /// Creates an enum from field names used in the ProtoBuf definition. + pub fn from_str_name(value: &str) -> ::core::option::Option { + match value { + "CLASS_TYPE_CREATED_UNSPECIFIED" => Some(Self::Unspecified), + "CLASS_TYPE_CREATED_STATUS" => Some(Self::Status), + "CLASS_TYPE_CREATED_ENTRY" => Some(Self::Entry), + "CLASS_TYPE_CREATED_BUCKET" => Some(Self::Bucket), + _ => None, + } + } +} /// LedgerClass contains the configuration for a ledger related to a particular class of asset. The asset class /// is defined by the either a scope spec `x/metadata`, or nft class `x/nft`. Ultimately, the configuration will /// assist in verifying the types that are associated with particular ledger entries. @@ -352,6 +455,13 @@ pub struct LedgerAndEntries { #[repr(i32)] pub enum DayCountConvention { /// Unspecified day count convention. + /// + /// This value is never a field's actual value, it just indicates that, for a given request, the day count convention + /// is not being provided. E.g. if this value is provided in a MsgUpdateInterestRateRequest, it indicates that the day + /// count convention is not being provided, and so should not be updated. + /// + /// DAY_COUNT_CONVENTION_UNSPECIFIED indicates that the day count convention is not being provided. + /// DAY_COUNT_CONVENTION_NOT_DEFINED indicates that the day count convention of the entry does not have a value. Unspecified = 0, /// Actual/365: Uses the actual number of days in the period with a fixed denominator of 365 /// (or sometimes 365.25 to adjust for leap years). @@ -367,6 +477,16 @@ pub enum DayCountConvention { Days365 = 5, /// 360/360: Always uses 360 days in both the numerator and denominator. Days360 = 6, + /// Not Defined: The day count convention is not defined. + /// + /// This value indicates that the day count convention should be on record as not having a value. It could mean that + /// the day count convention is not one of the other values in this enum, or it could mean that it doesn't make sense + /// for the entry to have a day count convention. It could also just mean that the day count convention has not yet + /// been defined for the entry. + /// + /// DAY_COUNT_CONVENTION_UNSPECIFIED indicates that the day count convention is not being provided. + /// DAY_COUNT_CONVENTION_NOT_DEFINED indicates that the day count convention of the entry does not have a value. + NotDefined = 7, } impl DayCountConvention { /// String value of the enum field names used in the ProtoBuf definition. @@ -382,6 +502,7 @@ impl DayCountConvention { DayCountConvention::ActualActual => "DAY_COUNT_CONVENTION_ACTUAL_ACTUAL", DayCountConvention::Days365 => "DAY_COUNT_CONVENTION_DAYS_365", DayCountConvention::Days360 => "DAY_COUNT_CONVENTION_DAYS_360", + DayCountConvention::NotDefined => "DAY_COUNT_CONVENTION_NOT_DEFINED", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -394,6 +515,7 @@ impl DayCountConvention { "DAY_COUNT_CONVENTION_ACTUAL_ACTUAL" => Some(Self::ActualActual), "DAY_COUNT_CONVENTION_DAYS_365" => Some(Self::Days365), "DAY_COUNT_CONVENTION_DAYS_360" => Some(Self::Days360), + "DAY_COUNT_CONVENTION_NOT_DEFINED" => Some(Self::NotDefined), _ => None, } } @@ -414,6 +536,13 @@ impl DayCountConvention { #[repr(i32)] pub enum InterestAccrualMethod { /// Unspecified interest accrual method. + /// + /// This value is never a field's actual value, it just indicates that, for a given request, the interest accrual + /// method is not being provided. E.g. if this value is provided in a MsgUpdateInterestRateRequest, it indicates that + /// the interest accrual method is not being provided, and so should not be updated. + /// + /// INTEREST_ACCRUAL_METHOD_UNSPECIFIED indicates that the interest accrual method is not being provided. + /// INTEREST_ACCRUAL_METHOD_NOT_DEFINED indicates that the interest accrual method of the entry does not have a value. Unspecified = 0, /// Simple Interest: Calculated only on the principal amount. SimpleInterest = 1, @@ -429,6 +558,16 @@ pub enum InterestAccrualMethod { AnnualCompounding = 6, /// Continuous Compounding: The theoretical limit of compounding frequency where interest is compounded continuously. ContinuousCompounding = 7, + /// Not Defined: The interest accrual method is not defined. + /// + /// This value indicates that the interest accrual method should be on record as not having a value. It could mean that + /// the interest accrual method is not one of the other values in this enum, or it could mean that it doesn't make + /// sense for the entry to have an interest accrual method. It could also just mean that the interest accrual method + /// has not yet been defined for the entry. + /// + /// INTEREST_ACCRUAL_METHOD_UNSPECIFIED indicates that the interest accrual method is not being provided. + /// INTEREST_ACCRUAL_METHOD_NOT_DEFINED indicates that the interest accrual method of the entry does not have a value. + NotDefined = 8, } impl InterestAccrualMethod { /// String value of the enum field names used in the ProtoBuf definition. @@ -453,6 +592,7 @@ impl InterestAccrualMethod { InterestAccrualMethod::ContinuousCompounding => { "INTEREST_ACCRUAL_METHOD_CONTINUOUS_COMPOUNDING" } + InterestAccrualMethod::NotDefined => "INTEREST_ACCRUAL_METHOD_NOT_DEFINED", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -466,6 +606,7 @@ impl InterestAccrualMethod { "INTEREST_ACCRUAL_METHOD_QUARTERLY_COMPOUNDING" => Some(Self::QuarterlyCompounding), "INTEREST_ACCRUAL_METHOD_ANNUAL_COMPOUNDING" => Some(Self::AnnualCompounding), "INTEREST_ACCRUAL_METHOD_CONTINUOUS_COMPOUNDING" => Some(Self::ContinuousCompounding), + "INTEREST_ACCRUAL_METHOD_NOT_DEFINED" => Some(Self::NotDefined), _ => None, } } @@ -486,6 +627,13 @@ impl InterestAccrualMethod { #[repr(i32)] pub enum PaymentFrequency { /// Unspecified payment frequency. + /// + /// This value is never a field's actual value, it just indicates that, for a given request, the payment frequency is + /// not being provided. E.g. if this value is provided in a MsgUpdatePaymentRequest, it indicates that the payment + /// frequency is not being provided, and so should not be updated. + /// + /// PAYMENT_FREQUENCY_UNSPECIFIED indicates that the payment frequency is not being provided. + /// PAYMENT_FREQUENCY_NOT_DEFINED indicates that the payment frequency of the entry does not have a value. Unspecified = 0, /// Daily payments. Daily = 1, @@ -497,6 +645,16 @@ pub enum PaymentFrequency { Quarterly = 4, /// Annual payments. Annually = 5, + /// Not Defined: The payment frequency is not defined. + /// + /// This value indicates that the payment frequency should be on record as not having a value. It could mean that the + /// payment frequency is not one of the other values in this enum, or it could mean that it doesn't make sense for the + /// entry to have a payment frequency. It could also just mean that the payment frequency has not yet been defined for + /// the entry. + /// + /// PAYMENT_FREQUENCY_UNSPECIFIED indicates that the payment frequency is not being provided. + /// PAYMENT_FREQUENCY_NOT_DEFINED indicates that the payment frequency of the entry does not have a value. + NotDefined = 6, } impl PaymentFrequency { /// String value of the enum field names used in the ProtoBuf definition. @@ -511,6 +669,7 @@ impl PaymentFrequency { PaymentFrequency::Monthly => "PAYMENT_FREQUENCY_MONTHLY", PaymentFrequency::Quarterly => "PAYMENT_FREQUENCY_QUARTERLY", PaymentFrequency::Annually => "PAYMENT_FREQUENCY_ANNUALLY", + PaymentFrequency::NotDefined => "PAYMENT_FREQUENCY_NOT_DEFINED", } } /// Creates an enum from field names used in the ProtoBuf definition. @@ -522,6 +681,7 @@ impl PaymentFrequency { "PAYMENT_FREQUENCY_MONTHLY" => Some(Self::Monthly), "PAYMENT_FREQUENCY_QUARTERLY" => Some(Self::Quarterly), "PAYMENT_FREQUENCY_ANNUALLY" => Some(Self::Annually), + "PAYMENT_FREQUENCY_NOT_DEFINED" => Some(Self::NotDefined), _ => None, } } @@ -1040,12 +1200,18 @@ pub struct MsgUpdateInterestRateRequest { #[prost(string, tag = "2")] pub signer: ::prost::alloc::string::String, /// The new interest rate of the ledger. + /// This field is NOT optional. If not provided (or provided as zero), + /// then the ledger's interest_rate field will be updated to be zero. #[prost(int32, tag = "3")] pub interest_rate: i32, /// The new interest day count convention of the ledger. + /// This field is optional. If not provided (or set to unspecified), + /// the interest day count convention will not be updated. #[prost(enumeration = "DayCountConvention", tag = "4")] pub interest_day_count_convention: i32, /// The new interest accrual method of the ledger. + /// This field is optional. If not provided (or set to unspecified), + /// the interest accrual method will not be updated. #[prost(enumeration = "InterestAccrualMethod", tag = "5")] pub interest_accrual_method: i32, } @@ -1067,12 +1233,16 @@ pub struct MsgUpdatePaymentRequest { pub signer: ::prost::alloc::string::String, /// The new next payment amount of the ledger. /// The units of this field are defined by the denom field in this ledger's class. + /// This field is NOT optional. If you don't provide a value (or provide it as zero), + /// then the ledger's next_pmt_amt field will be updated to be zero. #[prost(string, tag = "3")] pub next_pmt_amt: ::prost::alloc::string::String, /// The new next payment date in days since epoch. + /// This field is not optional and cannot be zero. #[prost(int32, tag = "4")] pub next_pmt_date: i32, /// The new payment frequency of the ledger. + /// This field is optional. If set to unspecified, it will be ignored and the payment_frequency will not be changed. #[prost(enumeration = "PaymentFrequency", tag = "5")] pub payment_frequency: i32, } diff --git a/packages/provwasm-std/src/types/provenance/metadata/v1/mod.rs b/packages/provwasm-std/src/types/provenance/metadata/v1/mod.rs index 85aa2318..4f3978bb 100644 --- a/packages/provwasm-std/src/types/provenance/metadata/v1/mod.rs +++ b/packages/provwasm-std/src/types/provenance/metadata/v1/mod.rs @@ -2565,8 +2565,7 @@ pub struct MsgSetAccountDataResponse {} /// Deprecated: This message is no longer part of any endpoint and cannot be used for anything. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] -#[proto_message(type_url = "/provenance.metadata.v1.MsgWriteP8eContractSpecRequest")] -#[deprecated] +#[proto_message(type_url = "/provenance.metadata.v1.")] pub struct MsgWriteP8eContractSpecRequest { #[prost(message, optional, tag = "1")] pub contractspec: ::core::option::Option, @@ -2577,8 +2576,7 @@ pub struct MsgWriteP8eContractSpecRequest { /// Deprecated: This message is no longer part of any endpoint and cannot be used for anything. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] -#[proto_message(type_url = "/provenance.metadata.v1.MsgWriteP8eContractSpecResponse")] -#[deprecated] +#[proto_message(type_url = "/provenance.metadata.v1.")] pub struct MsgWriteP8eContractSpecResponse { #[prost(message, optional, tag = "1")] pub contract_spec_id_info: ::core::option::Option, @@ -2589,8 +2587,7 @@ pub struct MsgWriteP8eContractSpecResponse { /// Deprecated: This message is no longer part of any endpoint and cannot be used for anything. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] -#[proto_message(type_url = "/provenance.metadata.v1.MsgP8eMemorializeContractRequest")] -#[deprecated] +#[proto_message(type_url = "/provenance.metadata.v1.")] pub struct MsgP8eMemorializeContractRequest { #[prost(string, tag = "1")] pub scope_id: ::prost::alloc::string::String, @@ -2611,8 +2608,7 @@ pub struct MsgP8eMemorializeContractRequest { /// Deprecated: This message is no longer part of any endpoint and cannot be used for anything. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] -#[proto_message(type_url = "/provenance.metadata.v1.MsgP8eMemorializeContractResponse")] -#[deprecated] +#[proto_message(type_url = "/provenance.metadata.v1.")] pub struct MsgP8eMemorializeContractResponse { #[prost(message, optional, tag = "1")] pub scope_id_info: ::core::option::Option, diff --git a/packages/provwasm-std/src/types/provenance/msgfees/v1.rs b/packages/provwasm-std/src/types/provenance/msgfees/v1.rs index 2b2f64e9..fb02562e 100644 --- a/packages/provwasm-std/src/types/provenance/msgfees/v1.rs +++ b/packages/provwasm-std/src/types/provenance/msgfees/v1.rs @@ -1,4 +1,98 @@ use provwasm_proc_macro::CosmwasmExt; +/// Params defines the set of params for the msgfees module. +/// Deprecated: The msgfees module is deprecated in favor of flatfees. +/// This type is no longer used. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.msgfees.v1.Params")] +#[deprecated] +pub struct Params { + /// floor_gas_price is the constant used to calculate fees when gas fees shares denom with msg fee. + /// + /// Conversions: + /// - x nhash/usd-mil = 1,000,000/x usd/hash + /// - y usd/hash = 1,000,000/y nhash/usd-mil + /// + /// Examples: + /// - 40,000,000 nhash/usd-mil = 1,000,000/40,000,000 usd/hash = $0.025/hash, + /// - $0.040/hash = 1,000,000/0.040 nhash/usd-mil = 25,000,000 nhash/usd-mil + #[prost(message, optional, tag = "2")] + pub floor_gas_price: ::core::option::Option, + /// nhash_per_usd_mil is the total nhash per usd mil for converting usd to nhash. + #[prost(uint64, tag = "3")] + pub nhash_per_usd_mil: u64, + /// conversion_fee_denom is the denom usd is converted to. + #[prost(string, tag = "4")] + pub conversion_fee_denom: ::prost::alloc::string::String, +} +/// MsgFee is the core of what gets stored on the blockchain to define a msg-based fee. +/// Deprecated: The msgfees module is deprecated in favor of flatfees. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.msgfees.v1.MsgFee")] +#[deprecated] +pub struct MsgFee { + /// msg_type_url is the type-url of the message with the added fee, e.g. "/cosmos.bank.v1beta1.MsgSend". + #[prost(string, tag = "1")] + pub msg_type_url: ::prost::alloc::string::String, + /// additional_fee is the extra fee that is required for the given message type (can be in any denom). + #[prost(message, optional, tag = "2")] + pub additional_fee: ::core::option::Option, + /// recipient is an option address that will receive a portion of the additional fee. + /// There can only be a recipient if the recipient_basis_points is not zero. + #[prost(string, tag = "3")] + pub recipient: ::prost::alloc::string::String, + /// recipient_basis_points is an optional portion of the additional fee to be sent to the recipient. + /// Must be between 0 and 10,000 (inclusive). + /// + /// If there is a recipient, this must not be zero. If there is not a recipient, this must be zero. + /// + /// The recipient will receive additional_fee * recipient_basis_points / 10,000. + /// The fee collector will receive the rest, i.e. additional_fee * (10,000 - recipient_basis_points) / 10,000. + #[prost(uint32, tag = "4")] + pub recipient_basis_points: u32, +} +/// EventMsgFee final event property for msg fee on type +/// Deprecated: The msgfees module is deprecated in favor of flatfees. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.msgfees.v1.EventMsgFee")] +#[deprecated] +pub struct EventMsgFee { + #[prost(string, tag = "1")] + pub msg_type: ::prost::alloc::string::String, + #[prost(string, tag = "2")] + pub count: ::prost::alloc::string::String, + #[prost(string, tag = "3")] + pub total: ::prost::alloc::string::String, + #[prost(string, tag = "4")] + pub recipient: ::prost::alloc::string::String, +} +/// EventMsgFees event emitted with summary of msg fees +/// Deprecated: The msgfees module is deprecated in favor of flatfees. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.msgfees.v1.EventMsgFees")] +#[deprecated] +pub struct EventMsgFees { + #[prost(message, repeated, tag = "1")] + pub msg_fees: ::prost::alloc::vec::Vec, +} +/// GenesisState contains a set of msg fees, persisted from the store +/// Deprecated: The msgfees module is deprecated in favor of the flatfees module. +/// The msgfees module no longer stores any data, so there's no need for a genesis state. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provenance.msgfees.v1.GenesisState")] +#[deprecated] +pub struct GenesisState { + /// params defines all the parameters of the module. + #[prost(message, optional, tag = "1")] + pub params: ::core::option::Option, + /// msg_based_fees are the additional fees on specific tx msgs + #[prost(message, repeated, tag = "2")] + pub msg_fees: ::prost::alloc::vec::Vec, +} /// AddMsgFeeProposal defines a governance proposal to add additional msg based fee /// Deprecated: This message is no longer usable. It is only still included for /// backwards compatibility (e.g. looking up old governance proposals). diff --git a/packages/provwasm-std/src/types/provlabs/vault/v1.rs b/packages/provwasm-std/src/types/provlabs/vault/v1.rs index 303e55cf..3debc81f 100644 --- a/packages/provwasm-std/src/types/provlabs/vault/v1.rs +++ b/packages/provwasm-std/src/types/provlabs/vault/v1.rs @@ -62,6 +62,54 @@ pub struct EventVaultCreated { #[prost(string, tag = "4")] pub underlying_asset: ::prost::alloc::string::String, } +/// EventDenomUnit describes a single denom unit entry that is included in the +/// share denom metadata emitted with EventSetShareDenomMetadata. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provlabs.vault.v1.EventDenomUnit")] +pub struct EventDenomUnit { + /// denom is the unit name (e.g., "nushare", "ushare"). + #[prost(string, tag = "1")] + pub denom: ::prost::alloc::string::String, + /// exponent is the base-10 exponent for this unit relative to the base denom. + /// For example, exponent=6 means 1 display unit = 10^6 base units. + #[prost(string, tag = "2")] + pub exponent: ::prost::alloc::string::String, + /// aliases lists optional alternative names for this unit. May be empty. + #[prost(string, repeated, tag = "3")] + pub aliases: ::prost::alloc::vec::Vec<::prost::alloc::string::String>, +} +/// EventSetShareDenomMetadata is emitted when denom metadata is set for a vault’s +/// share denom (via MsgSetShareDenomMetadata). +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provlabs.vault.v1.EventSetShareDenomMetadata")] +pub struct EventSetShareDenomMetadata { + /// vault_address is the bech32 address of the vault. + #[prost(string, tag = "1")] + pub vault_address: ::prost::alloc::string::String, + /// metadata_base is the base denomination (e.g., "nushare"). + #[prost(string, tag = "2")] + pub metadata_base: ::prost::alloc::string::String, + /// metadata_description is a human-readable description of the share denom. + #[prost(string, tag = "3")] + pub metadata_description: ::prost::alloc::string::String, + /// metadata_display is the display denomination (e.g., "ushare" or "SHARE"). + #[prost(string, tag = "4")] + pub metadata_display: ::prost::alloc::string::String, + /// metadata_denom_units lists all denom units and their exponents. + #[prost(message, repeated, tag = "5")] + pub metadata_denom_units: ::prost::alloc::vec::Vec, + /// administrator is the bech32 address of the signer that set the metadata. + #[prost(string, tag = "6")] + pub administrator: ::prost::alloc::string::String, + /// metadata_name is the descriptive name for the share denom. + #[prost(string, tag = "7")] + pub metadata_name: ::prost::alloc::string::String, + /// metadata_symbol is the short ticker-style symbol (optional). + #[prost(string, tag = "8")] + pub metadata_symbol: ::prost::alloc::string::String, +} /// EventSwapIn is an event emitted when assets are swapped in for vault shares. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] @@ -850,6 +898,27 @@ pub struct MsgCreateVaultResponse { #[prost(string, tag = "1")] pub vault_address: ::prost::alloc::string::String, } +/// MsgSetShareDenomMetadataRequest defines the request to set bank denom metadata for a vault's share denom. +/// The target denom is derived from the vault identified by vault_address. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provlabs.vault.v1.MsgSetShareDenomMetadataRequest")] +pub struct MsgSetShareDenomMetadataRequest { + /// metadata is the bank module Metadata to assign to the vault's share denom. + #[prost(message, optional, tag = "1")] + pub metadata: ::core::option::Option, + /// admin is the address of the vault administrator authorizing this update. + #[prost(string, tag = "2")] + pub admin: ::prost::alloc::string::String, + /// vault_address is the bech32 address of the vault whose share denom metadata is being set. + #[prost(string, tag = "3")] + pub vault_address: ::prost::alloc::string::String, +} +/// MsgSetShareDenomMetadataResponse defines the response for setting a vault's share denom metadata. +#[allow(clippy::derive_partial_eq_without_eq)] +#[derive(Clone, Copy, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] +#[proto_message(type_url = "/provlabs.vault.v1.MsgSetShareDenomMetadataResponse")] +pub struct MsgSetShareDenomMetadataResponse {} /// MsgSwapInRequest is the request message for depositing underlying assets into a vault in exchange for shares. #[allow(clippy::derive_partial_eq_without_eq)] #[derive(Clone, PartialEq, Eq, ::prost::Message, ::schemars::JsonSchema, CosmwasmExt)] diff --git a/scripts/update-and-rebuild.sh b/scripts/update-and-rebuild.sh index 80684f6c..7d780c6b 100755 --- a/scripts/update-and-rebuild.sh +++ b/scripts/update-and-rebuild.sh @@ -3,7 +3,7 @@ set -euxo pipefail SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd ) -LATEST_PROVENANCE_VERSION="v1.26.0-rc1" +LATEST_PROVENANCE_VERSION="v1.26.0-rc2" PROVENANCE_REV=${1:-$LATEST_PROVENANCE_VERSION} COMMIT=${2:-"skip"}