Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
35 commits
Select commit Hold shift + click to select a range
e722dd1
Add support for ProtocolVersion::P10.
td202 Nov 18, 2025
01fe162
concordium-base: update submodule
drsk0 Dec 1, 2025
dcb69a2
regenerate proto
Dec 1, 2025
ec9798e
SPO-2: support for sponsored transactions
Nov 17, 2025
b0468d0
replace unknown doctest annotation
Nov 20, 2025
0fce3a9
cosmetics
Nov 20, 2025
a3e057c
add sponsor details to account transaction details
Nov 25, 2025
f29c942
cosmetics
Dec 1, 2025
86b2bfe
update changelog
Dec 1, 2025
3c45dd1
Merge pull request #353 from Concordium/spo_2_support_for_sponsored_tx
drsk0 Dec 1, 2025
58917d8
added sponsored example
drsk0 Dec 2, 2025
7744d40
concordium-base: update submodule
drsk0 Dec 3, 2025
0dc31a6
added sponsored example
drsk0 Dec 3, 2025
2c53824
update top-level comment
drsk0 Dec 3, 2025
15c0903
Update examples/sponsored-plt-transfer.rs
drsk0 Dec 3, 2025
4344e94
Update examples/sponsored-plt-transfer.rs
drsk0 Dec 3, 2025
c69444e
Merge pull request #355 from Concordium/spo_2_sponsored_example
drsk0 Dec 3, 2025
c46b0ea
add sponsor account to affected accounts
drsk0 Dec 3, 2025
42a468a
Update src/types/mod.rs
drsk0 Dec 4, 2025
8ca392c
small fix after github update
Dec 4, 2025
f9b9491
Merge pull request #356 from Concordium/spo_4_tx_logger_sponsored_sup…
drsk0 Dec 4, 2025
196153c
concordium-base: update submodule
drsk0 Dec 9, 2025
00c6bbd
update implied by submodule update
Dec 9, 2025
d306351
clippy fix
Dec 9, 2025
244f283
Merge pull request #358 from Concordium/spo_68_submodule_update
drsk0 Dec 9, 2025
ff00fc1
bump version
Dec 9, 2025
c3407cd
Merge pull request #359 from Concordium/spo_68_merge_p10
drsk0 Dec 10, 2025
f72f139
Update base ref
soerenbf Jan 6, 2026
5f0f5fc
Merge pull request #361 from Concordium/p10-update-base-ref
soerenbf Jan 6, 2026
4dacd75
Merge branch 'main' into p10-merge-main
soerenbf Jan 8, 2026
f322e5a
Merge pull request #363 from Concordium/p10-merge-main
soerenbf Jan 8, 2026
fa7c161
Prepare for 9.0.0 release
soerenbf Jan 9, 2026
04f1d0d
Update base ref to latest `main`
soerenbf Jan 9, 2026
d6f3df0
Update changelog
soerenbf Jan 9, 2026
a43500f
Merge pull request #364 from Concordium/bump-9.0.0
soerenbf Jan 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
## Unreleased changes

- Support for `ProtocolVersion::P10`.
- The flag `serde_deprecated` now guards `serde::Serialize` and `serde::Deserialize` implemetations on the following types. The implementations will eventually be removed.
- `protocol_level_tokens::AccountToken`
- `protocol_level_tokens::TokenAccountState`
Expand Down
4 changes: 2 additions & 2 deletions src/protocol_level_tokens/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -57,8 +57,8 @@ impl TryFrom<generated::plt::TokenModuleRef> for TokenModuleRef {
}
}

impl From<generated::plt::CBor> for RawCbor {
fn from(wrapper: generated::plt::CBor) -> Self {
impl From<generated::plt::Cbor> for RawCbor {
fn from(wrapper: generated::plt::Cbor) -> Self {
wrapper.value.into()
}
}
Expand Down
1 change: 1 addition & 0 deletions src/types/queries.rs
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@ impl ProtocolVersionInt {
ProtocolVersion::P7 => Self(7),
ProtocolVersion::P8 => Self(8),
ProtocolVersion::P9 => Self(9),
ProtocolVersion::P10 => Self(10),
}
}
}
Expand Down
2 changes: 2 additions & 0 deletions src/v2/conversions.rs
Original file line number Diff line number Diff line change
Expand Up @@ -496,6 +496,7 @@ impl From<ProtocolVersion> for super::types::ProtocolVersion {
ProtocolVersion::ProtocolVersion7 => super::types::ProtocolVersion::P7,
ProtocolVersion::ProtocolVersion8 => super::types::ProtocolVersion::P8,
ProtocolVersion::ProtocolVersion9 => super::types::ProtocolVersion::P9,
ProtocolVersion::ProtocolVersion10 => super::types::ProtocolVersion::P10,
}
}
}
Expand All @@ -512,6 +513,7 @@ impl From<super::types::ProtocolVersion> for ProtocolVersion {
super::types::ProtocolVersion::P7 => ProtocolVersion::ProtocolVersion7,
super::types::ProtocolVersion::P8 => ProtocolVersion::ProtocolVersion8,
super::types::ProtocolVersion::P9 => ProtocolVersion::ProtocolVersion9,
super::types::ProtocolVersion::P10 => ProtocolVersion::ProtocolVersion10,
}
}
}
Expand Down
33 changes: 21 additions & 12 deletions src/v2/generated/concordium.v2.plt.rs
Original file line number Diff line number Diff line change
@@ -1,16 +1,17 @@
// This file is @generated by prost-build.
/// A Cbor encoded bytestring
/// A CBOR encoded bytestring
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CBor {
pub struct Cbor {
/// A CBOR encoded byte string.
#[prost(bytes = "vec", tag = "1")]
pub value: ::prost::alloc::vec::Vec<u8>,
}
/// The unique symbol and identifier of a protocol level token.
/// Token ID: a unique symbol and identifier of a protocol level token.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenId {
/// Unique identifier for the token, guaranteed to be distinct across the
/// entire concordium blockchain.
/// entire concordium blockchain. The token id must be between 1 and 128 bytes long and consist of
/// only a-z, A-Z, 0-9, `.`, `%` and `-`.
#[prost(string, tag = "1")]
pub value: ::prost::alloc::string::String,
}
Expand Down Expand Up @@ -45,7 +46,7 @@ pub struct TokenState {
pub total_supply: ::core::option::Option<TokenAmount>,
/// Token module specific state, such as token name, feature flags, meta data.
#[prost(message, optional, tag = "5")]
pub module_state: ::core::option::Option<CBor>,
pub module_state: ::core::option::Option<Cbor>,
}
/// Token state at the account level
#[derive(Clone, PartialEq, ::prost::Message)]
Expand All @@ -56,7 +57,7 @@ pub struct TokenAccountState {
/// Token module specific account state, such as whether the account is on
/// the allow or deny list.
#[prost(message, optional, tag = "4")]
pub module_state: ::core::option::Option<CBor>,
pub module_state: ::core::option::Option<Cbor>,
}
/// Single token event originating from a token module as part of a token
/// transaction.
Expand All @@ -67,19 +68,23 @@ pub struct TokenModuleEvent {
pub r#type: ::prost::alloc::string::String,
/// The CBOR encoded event details.
#[prost(message, optional, tag = "2")]
pub details: ::core::option::Option<CBor>,
pub details: ::core::option::Option<Cbor>,
}
/// A token holder is an entity that can hold tokens. Currently, this is limited
/// to accounts, but in the future it may be extended to other entities.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenHolder {
/// The holder address
///
/// This field might be extended in future versions of the API.
#[prost(oneof = "token_holder::Address", tags = "1")]
pub address: ::core::option::Option<token_holder::Address>,
}
/// Nested message and enum types in `TokenHolder`.
pub mod token_holder {
/// The holder address
///
/// This field might be extended in future versions of the API.
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Address {
/// The account address of the holder.
Expand Down Expand Up @@ -118,16 +123,20 @@ pub struct TokenSupplyUpdateEvent {
/// Token event originating from token transactions.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenEvent {
/// The unique token symbol.
/// The Token ID.
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
/// The type of the event.
///
/// This field might be extended in future versions of the API.
#[prost(oneof = "token_event::Event", tags = "2, 3, 4, 5")]
pub event: ::core::option::Option<token_event::Event>,
}
/// Nested message and enum types in `TokenEvent`.
pub mod token_event {
/// The type of the event.
///
/// This field might be extended in future versions of the API.
#[derive(Clone, PartialEq, ::prost::Oneof)]
pub enum Event {
/// An event emitted by the token module.
Expand Down Expand Up @@ -156,20 +165,20 @@ pub struct TokenEffect {
/// Details provided by the token module in the event of rejecting a transaction.
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct TokenModuleRejectReason {
/// The identifier of the protocol-level token.
/// The Token ID of the protocol-level token.
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
/// The type of the reject reason.
#[prost(string, tag = "2")]
pub r#type: ::prost::alloc::string::String,
/// (Optional) CBOR-encoded details.
#[prost(message, optional, tag = "3")]
pub details: ::core::option::Option<CBor>,
pub details: ::core::option::Option<Cbor>,
}
/// Update payload for creating a new protocol-level token
#[derive(Clone, PartialEq, ::prost::Message)]
pub struct CreatePlt {
/// The identifier of the protocol-level token.
/// The Token ID of the protocol-level token.
#[prost(message, optional, tag = "1")]
pub token_id: ::core::option::Option<TokenId>,
/// The hash that identifies the token module implementation.
Expand All @@ -182,7 +191,7 @@ pub struct CreatePlt {
pub decimals: u32,
/// The initialization parameters of the token, encoded in CBOR.
#[prost(message, optional, tag = "5")]
pub initialization_parameters: ::core::option::Option<CBor>,
pub initialization_parameters: ::core::option::Option<Cbor>,
}
/// Details about the creation of a protocol-level token.
#[derive(Clone, PartialEq, ::prost::Message)]
Expand Down
Loading