difftreelog
refactor remove `#[transactional]` from extrinsics
in: master
Every extrinsic now runs in transaction implicitly, and `#[transactional]` on pallet dispatchable is now meaningless
4 files changed
pallets/evm-migration/src/lib.rsdiffbeforeafterboth--- a/pallets/evm-migration/src/lib.rs
+++ b/pallets/evm-migration/src/lib.rs
@@ -23,7 +23,7 @@
#[frame_support::pallet]
pub mod pallet {
- use frame_support::{pallet_prelude::*, transactional};
+ use frame_support::pallet_prelude::*;
use frame_system::pallet_prelude::*;
use sp_core::{H160, H256};
use sp_std::vec::Vec;
@@ -84,7 +84,6 @@
}
#[pallet::weight(<SelfWeightOf<T>>::finish(code.len() as u32))]
- #[transactional]
pub fn finish(origin: OriginFor<T>, address: H160, code: Vec<u8>) -> DispatchResult {
ensure_root(origin)?;
ensure!(
pallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth145145146#![cfg_attr(not(feature = "std"), no_std)]146#![cfg_attr(not(feature = "std"), no_std)]147147148use frame_support::{pallet_prelude::*, transactional, BoundedVec, dispatch::DispatchResult};148use frame_support::{pallet_prelude::*, BoundedVec, dispatch::DispatchResult};149use frame_system::{pallet_prelude::*, ensure_signed};149use frame_system::{pallet_prelude::*, ensure_signed};150use sp_runtime::{DispatchError, Permill, traits::StaticLookup};150use sp_runtime::{DispatchError, Permill, traits::StaticLookup};151use sp_std::{151use sp_std::{350 /// * Anyone - will be assigned as the issuer of the collection.350 /// * Anyone - will be assigned as the issuer of the collection.351 ///351 ///352 /// # Arguments:352 /// # Arguments:353 /// - `origin`: sender of the transaction353 /// - `metadata`: Metadata describing the collection, e.g. IPFS hash. Cannot be changed.354 /// - `metadata`: Metadata describing the collection, e.g. IPFS hash. Cannot be changed.354 /// - `max`: Optional maximum number of tokens.355 /// - `max`: Optional maximum number of tokens.355 /// - `symbol`: UTF-8 string with token prefix, by which to represent the token in wallets and UIs.356 /// - `symbol`: UTF-8 string with token prefix, by which to represent the token in wallets and UIs.356 /// Analogous to Unique's [`token_prefix`](up_data_structs::Collection). Cannot be changed.357 /// Analogous to Unique's [`token_prefix`](up_data_structs::Collection). Cannot be changed.357 #[transactional]358 #[pallet::weight(<SelfWeightOf<T>>::create_collection())]358 #[pallet::weight(<SelfWeightOf<T>>::create_collection())]359 pub fn create_collection(359 pub fn create_collection(360 origin: OriginFor<T>,360 origin: OriginFor<T>,426 /// * Collection issuer426 /// * Collection issuer427 ///427 ///428 /// # Arguments:428 /// # Arguments:429 /// - `origin`: sender of the transaction429 /// - `collection_id`: RMRK ID of the collection to destroy.430 /// - `collection_id`: RMRK ID of the collection to destroy.430 #[transactional]431 #[pallet::weight(<SelfWeightOf<T>>::destroy_collection())]431 #[pallet::weight(<SelfWeightOf<T>>::destroy_collection())]432 pub fn destroy_collection(432 pub fn destroy_collection(433 origin: OriginFor<T>,433 origin: OriginFor<T>,459 /// * Collection issuer459 /// * Collection issuer460 ///460 ///461 /// # Arguments:461 /// # Arguments:462 /// - `origin`: sender of the transaction462 /// - `collection_id`: RMRK collection ID to change the issuer of.463 /// - `collection_id`: RMRK collection ID to change the issuer of.463 /// - `new_issuer`: Collection's new issuer.464 /// - `new_issuer`: Collection's new issuer.464 #[transactional]465 #[pallet::weight(<SelfWeightOf<T>>::change_collection_issuer())]465 #[pallet::weight(<SelfWeightOf<T>>::change_collection_issuer())]466 pub fn change_collection_issuer(466 pub fn change_collection_issuer(467 origin: OriginFor<T>,467 origin: OriginFor<T>,497 /// * Collection issuer497 /// * Collection issuer498 ///498 ///499 /// # Arguments:499 /// # Arguments:500 /// - `origin`: sender of the transaction500 /// - `collection_id`: RMRK ID of the collection to lock.501 /// - `collection_id`: RMRK ID of the collection to lock.501 #[transactional]502 #[pallet::weight(<SelfWeightOf<T>>::lock_collection())]502 #[pallet::weight(<SelfWeightOf<T>>::lock_collection())]503 pub fn lock_collection(503 pub fn lock_collection(504 origin: OriginFor<T>,504 origin: OriginFor<T>,535 /// * Collection issuer535 /// * Collection issuer536 ///536 ///537 /// # Arguments:537 /// # Arguments:538 /// - `origin`: sender of the transaction538 /// - `owner`: Owner account of the NFT. If set to None, defaults to the sender (collection issuer).539 /// - `owner`: Owner account of the NFT. If set to None, defaults to the sender (collection issuer).539 /// - `collection_id`: RMRK collection ID for the NFT to be minted within. Cannot be changed.540 /// - `collection_id`: RMRK collection ID for the NFT to be minted within. Cannot be changed.540 /// - `recipient`: Receiver account of the royalty. Has no effect if the `royalty_amount` is not set. Cannot be changed.541 /// - `recipient`: Receiver account of the royalty. Has no effect if the `royalty_amount` is not set. Cannot be changed.541 /// - `royalty_amount`: Optional permillage reward from each trade for the `recipient`. Cannot be changed.542 /// - `royalty_amount`: Optional permillage reward from each trade for the `recipient`. Cannot be changed.542 /// - `metadata`: Arbitrary data about an NFT, e.g. IPFS hash. Cannot be changed.543 /// - `metadata`: Arbitrary data about an NFT, e.g. IPFS hash. Cannot be changed.543 /// - `transferable`: Can this NFT be transferred? Cannot be changed.544 /// - `transferable`: Can this NFT be transferred? Cannot be changed.544 /// - `resources`: Resource data to be added to the NFT immediately after minting.545 /// - `resources`: Resource data to be added to the NFT immediately after minting.545 #[transactional]546 #[pallet::weight(<SelfWeightOf<T>>::mint_nft(resources.as_ref().map(|r| r.len() as u32).unwrap_or(0)))]546 #[pallet::weight(<SelfWeightOf<T>>::mint_nft(resources.as_ref().map(|r| r.len() as u32).unwrap_or(0)))]547 pub fn mint_nft(547 pub fn mint_nft(548 origin: OriginFor<T>,548 origin: OriginFor<T>,620 /// * Token owner620 /// * Token owner621 ///621 ///622 /// # Arguments:622 /// # Arguments:623 /// - `origin`: sender of the transaction623 /// - `collection_id`: RMRK ID of the collection in which the NFT to burn belongs to.624 /// - `collection_id`: RMRK ID of the collection in which the NFT to burn belongs to.624 /// - `nft_id`: ID of the NFT to be destroyed.625 /// - `nft_id`: ID of the NFT to be destroyed.625 /// - `max_burns`: Maximum number of tokens to burn, assuming nesting. The transaction626 /// - `max_burns`: Maximum number of tokens to burn, assuming nesting. The transaction626 /// is reverted if there are more tokens to burn in the nesting tree than this number.627 /// is reverted if there are more tokens to burn in the nesting tree than this number.627 /// This is primarily a mechanism of transaction weight control.628 /// This is primarily a mechanism of transaction weight control.628 #[transactional]629 #[pallet::weight(<SelfWeightOf<T>>::burn_nft(*max_burns))]629 #[pallet::weight(<SelfWeightOf<T>>::burn_nft(*max_burns))]630 pub fn burn_nft(630 pub fn burn_nft(631 origin: OriginFor<T>,631 origin: OriginFor<T>,669 /// - Token owner669 /// - Token owner670 ///670 ///671 /// # Arguments:671 /// # Arguments:672 /// - `origin`: sender of the transaction672 /// - `collection_id`: RMRK ID of the collection of the NFT to be transferred.673 /// - `rmrk_collection_id`: RMRK ID of the collection of the NFT to be transferred.673 /// - `nft_id`: ID of the NFT to be transferred.674 /// - `rmrk_nft_id`: ID of the NFT to be transferred.674 /// - `new_owner`: New owner of the nft which can be either an account or a NFT.675 /// - `new_owner`: New owner of the nft which can be either an account or a NFT.675 #[transactional]676 #[pallet::weight(<SelfWeightOf<T>>::send())]676 #[pallet::weight(<SelfWeightOf<T>>::send())]677 pub fn send(677 pub fn send(678 origin: OriginFor<T>,678 origin: OriginFor<T>,793 /// - Token-owner-to-be793 /// - Token-owner-to-be794 ///794 ///795 /// # Arguments:795 /// # Arguments:796 /// - `origin`: sender of the transaction796 /// - `rmrk_collection_id`: RMRK collection ID of the NFT to be accepted.797 /// - `rmrk_collection_id`: RMRK collection ID of the NFT to be accepted.797 /// - `rmrk_nft_id`: ID of the NFT to be accepted.798 /// - `rmrk_nft_id`: ID of the NFT to be accepted.798 /// - `new_owner`: Either the sender's account ID or a sender-owned NFT,799 /// - `new_owner`: Either the sender's account ID or a sender-owned NFT,799 /// whichever the accepted NFT was sent to.800 /// whichever the accepted NFT was sent to.800 #[transactional]801 #[pallet::weight(<SelfWeightOf<T>>::accept_nft())]801 #[pallet::weight(<SelfWeightOf<T>>::accept_nft())]802 pub fn accept_nft(802 pub fn accept_nft(803 origin: OriginFor<T>,803 origin: OriginFor<T>,885 /// - Token-owner-to-be-not885 /// - Token-owner-to-be-not886 ///886 ///887 /// # Arguments:887 /// # Arguments:888 /// - `origin`: sender of the transaction888 /// - `rmrk_collection_id`: RMRK ID of the NFT to be rejected.889 /// - `rmrk_collection_id`: RMRK ID of the NFT to be rejected.889 /// - `rmrk_nft_id`: ID of the NFT to be rejected.890 /// - `rmrk_nft_id`: ID of the NFT to be rejected.890 #[transactional]891 #[pallet::weight(<SelfWeightOf<T>>::reject_nft())]891 #[pallet::weight(<SelfWeightOf<T>>::reject_nft())]892 pub fn reject_nft(892 pub fn reject_nft(893 origin: OriginFor<T>,893 origin: OriginFor<T>,950 /// - Token owner950 /// - Token owner951 ///951 ///952 /// # Arguments:952 /// # Arguments:953 /// - `origin`: sender of the transaction953 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.954 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.954 /// - `rmrk_nft_id`: ID of the NFT with a pending resource to be accepted.955 /// - `rmrk_nft_id`: ID of the NFT with a pending resource to be accepted.955 /// - `resource_id`: ID of the newly created pending resource.956 /// - `resource_id`: ID of the newly created pending resource.956 #[transactional]957 /// accept the addition of a new resource to an existing NFT957 #[pallet::weight(<SelfWeightOf<T>>::accept_resource())]958 #[pallet::weight(<SelfWeightOf<T>>::accept_resource())]958 pub fn accept_resource(959 pub fn accept_resource(959 origin: OriginFor<T>,960 origin: OriginFor<T>,1004 /// - Token owner1005 /// - Token owner1005 ///1006 ///1006 /// # Arguments:1007 /// # Arguments:1008 /// - `origin`: sender of the transaction1007 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1009 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1008 /// - `rmrk_nft_id`: ID of the NFT with a resource to be removed.1010 /// - `rmrk_nft_id`: ID of the NFT with a resource to be removed.1009 /// - `resource_id`: ID of the removal-pending resource.1011 /// - `resource_id`: ID of the removal-pending resource.1010 #[transactional]1011 #[pallet::weight(<SelfWeightOf<T>>::accept_resource_removal())]1012 #[pallet::weight(<SelfWeightOf<T>>::accept_resource_removal())]1012 pub fn accept_resource_removal(1013 pub fn accept_resource_removal(1013 origin: OriginFor<T>,1014 origin: OriginFor<T>,1084 /// - Token owner - in case of NFT property1085 /// - Token owner - in case of NFT property1085 ///1086 ///1086 /// # Arguments:1087 /// # Arguments:1088 /// - `origin`: sender of the transaction1087 /// - `rmrk_collection_id`: RMRK collection ID.1089 /// - `rmrk_collection_id`: RMRK collection ID.1088 /// - `maybe_nft_id`: Optional ID of the NFT. If left empty, then the property is set for the collection.1090 /// - `maybe_nft_id`: Optional ID of the NFT. If left empty, then the property is set for the collection.1089 /// - `key`: Key of the custom property to be referenced by.1091 /// - `key`: Key of the custom property to be referenced by.1090 /// - `value`: Value of the custom property to be stored.1092 /// - `value`: Value of the custom property to be stored.1091 #[transactional]1092 #[pallet::weight(<SelfWeightOf<T>>::set_property())]1093 #[pallet::weight(<SelfWeightOf<T>>::set_property())]1093 pub fn set_property(1094 pub fn set_property(1094 origin: OriginFor<T>,1095 origin: OriginFor<T>,1158 /// - Token owner1159 /// - Token owner1159 ///1160 ///1160 /// # Arguments:1161 /// # Arguments:1162 /// - `origin`: sender of the transaction1161 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1163 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1162 /// - `rmrk_nft_id`: ID of the NFT to rearrange resource priorities for.1164 /// - `rmrk_nft_id`: ID of the NFT to rearrange resource priorities for.1163 /// - `priorities`: Ordered vector of resource IDs.1165 /// - `priorities`: Ordered vector of resource IDs.1164 #[transactional]1165 #[pallet::weight(<SelfWeightOf<T>>::set_priority())]1166 #[pallet::weight(<SelfWeightOf<T>>::set_priority())]1166 pub fn set_priority(1167 pub fn set_priority(1167 origin: OriginFor<T>,1168 origin: OriginFor<T>,1209 /// the owner's [acceptance](Pallet::accept_resource).1210 /// the owner's [acceptance](Pallet::accept_resource).1210 ///1211 ///1211 /// # Arguments:1212 /// # Arguments:1213 /// - `origin`: sender of the transaction1212 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1214 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1213 /// - `nft_id`: ID of the NFT to assign a resource to.1215 /// - `nft_id`: ID of the NFT to assign a resource to.1214 /// - `resource`: Data of the resource to be created.1216 /// - `resource`: Data of the resource to be created.1215 #[transactional]1216 #[pallet::weight(<SelfWeightOf<T>>::add_basic_resource())]1217 #[pallet::weight(<SelfWeightOf<T>>::add_basic_resource())]1217 pub fn add_basic_resource(1218 pub fn add_basic_resource(1218 origin: OriginFor<T>,1219 origin: OriginFor<T>,1251 /// the owner's [acceptance](Pallet::accept_resource).1252 /// the owner's [acceptance](Pallet::accept_resource).1252 ///1253 ///1253 /// # Arguments:1254 /// # Arguments:1255 /// - `origin`: sender of the transaction1254 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1256 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1255 /// - `nft_id`: ID of the NFT to assign a resource to.1257 /// - `nft_id`: ID of the NFT to assign a resource to.1256 /// - `resource`: Data of the resource to be created.1258 /// - `resource`: Data of the resource to be created.1257 #[transactional]1258 #[pallet::weight(<SelfWeightOf<T>>::add_composable_resource())]1259 #[pallet::weight(<SelfWeightOf<T>>::add_composable_resource())]1259 pub fn add_composable_resource(1260 pub fn add_composable_resource(1260 origin: OriginFor<T>,1261 origin: OriginFor<T>,1313 /// the owner's [acceptance](Pallet::accept_resource).1314 /// the owner's [acceptance](Pallet::accept_resource).1314 ///1315 ///1315 /// # Arguments:1316 /// # Arguments:1317 /// - `origin`: sender of the transaction1316 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1318 /// - `rmrk_collection_id`: RMRK collection ID of the NFT.1317 /// - `nft_id`: ID of the NFT to assign a resource to.1319 /// - `nft_id`: ID of the NFT to assign a resource to.1318 /// - `resource`: Data of the resource to be created.1320 /// - `resource`: Data of the resource to be created.1319 #[transactional]1320 #[pallet::weight(<SelfWeightOf<T>>::add_slot_resource())]1321 #[pallet::weight(<SelfWeightOf<T>>::add_slot_resource())]1321 pub fn add_slot_resource(1322 pub fn add_slot_resource(1322 origin: OriginFor<T>,1323 origin: OriginFor<T>,1354 /// - Collection issuer1355 /// - Collection issuer1355 ///1356 ///1356 /// # Arguments1357 /// # Arguments1358 /// - `origin`: sender of the transaction1357 /// - `collection_id`: RMRK ID of a collection to which the NFT making use of the resource belongs to.1359 /// - `rmrk_collection_id`: RMRK ID of a collection to which the NFT making use of the resource belongs to.1358 /// - `nft_id`: ID of the NFT with a resource to be removed.1360 /// - `nft_id`: ID of the NFT with a resource to be removed.1359 /// - `resource_id`: ID of the resource to be removed.1361 /// - `resource_id`: ID of the resource to be removed.1360 #[transactional]1361 #[pallet::weight(<SelfWeightOf<T>>::remove_resource())]1362 #[pallet::weight(<SelfWeightOf<T>>::remove_resource())]1362 pub fn remove_resource(1363 pub fn remove_resource(1363 origin: OriginFor<T>,1364 origin: OriginFor<T>,pallets/proxy-rmrk-equip/src/lib.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-equip/src/lib.rs
+++ b/pallets/proxy-rmrk-equip/src/lib.rs
@@ -133,7 +133,7 @@
#![cfg_attr(not(feature = "std"), no_std)]
-use frame_support::{pallet_prelude::*, transactional, BoundedVec, dispatch::DispatchResult};
+use frame_support::{pallet_prelude::*, BoundedVec, dispatch::DispatchResult};
use frame_system::{pallet_prelude::*, ensure_signed};
use sp_runtime::DispatchError;
use up_data_structs::*;
@@ -226,11 +226,11 @@
/// - Anyone - will be assigned as the issuer of the Base.
///
/// # Arguments:
+ /// - `origin`: Caller, will be assigned as the issuer of the Base
/// - `base_type`: Arbitrary media type, e.g. "svg".
/// - `symbol`: Arbitrary client-chosen symbol.
/// - `parts`: Array of Fixed and Slot Parts composing the Base,
/// confined in length by [`RmrkPartsLimit`](up_data_structs::RmrkPartsLimit).
- #[transactional]
#[pallet::weight(<SelfWeightOf<T>>::create_base(parts.len() as u32))]
pub fn create_base(
origin: OriginFor<T>,
@@ -295,13 +295,13 @@
/// - Base issuer
///
/// # Arguments:
+ /// - `origin`: sender of the transaction
/// - `base_id`: Base ID containing the Theme to be updated.
/// - `theme`: Theme to add to the Base. A Theme has a name and properties, which are an
/// array of [key, value, inherit].
/// - `key`: Arbitrary BoundedString, defined by client.
/// - `value`: Arbitrary BoundedString, defined by client.
/// - `inherit`: Optional bool.
- #[transactional]
#[pallet::weight(<SelfWeightOf<T>>::theme_add(theme.properties.len() as u32))]
pub fn theme_add(
origin: OriginFor<T>,
@@ -359,10 +359,10 @@
/// - Base issuer
///
/// # Arguments:
+ /// - `origin`: sender of the transaction
/// - `base_id`: Base containing the Slot Part to be updated.
- /// - `part_id`: Slot Part whose Equippable List is being updated.
+ /// - `slot_id`: Slot Part whose Equippable List is being updated .
/// - `equippables`: List of equippables that will override the current Equippables list.
- #[transactional]
#[pallet::weight(<SelfWeightOf<T>>::equippable())]
pub fn equippable(
origin: OriginFor<T>,
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -78,7 +78,6 @@
dispatch::DispatchResult,
ensure, fail,
weights::{Weight},
- transactional,
pallet_prelude::{DispatchResultWithPostInfo, ConstU32},
BoundedVec,
};
@@ -311,7 +310,6 @@
/// * `mode`: Type of items stored in the collection and type dependent data.
// returns collection ID
#[weight = <SelfWeightOf<T>>::create_collection()]
- #[transactional]
#[deprecated(note = "`create_collection_ex` is more up-to-date and advanced, prefer it instead")]
pub fn create_collection(
origin,
@@ -342,7 +340,6 @@
///
/// * `data`: Explicit data of a collection used for its creation.
#[weight = <SelfWeightOf<T>>::create_collection()]
- #[transactional]
pub fn create_collection_ex(origin, data: CreateCollectionData<T::AccountId>) -> DispatchResult {
let sender = ensure_signed(origin)?;
@@ -363,7 +360,6 @@
///
/// * `collection_id`: Collection to destroy.
#[weight = <SelfWeightOf<T>>::destroy_collection()]
- #[transactional]
pub fn destroy_collection(origin, collection_id: CollectionId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
@@ -399,7 +395,6 @@
/// * `collection_id`: ID of the modified collection.
/// * `address`: ID of the address to be added to the allowlist.
#[weight = <SelfWeightOf<T>>::add_to_allow_list()]
- #[transactional]
pub fn add_to_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -433,7 +428,6 @@
/// * `collection_id`: ID of the modified collection.
/// * `address`: ID of the address to be removed from the allowlist.
#[weight = <SelfWeightOf<T>>::remove_from_allow_list()]
- #[transactional]
pub fn remove_from_allow_list(origin, collection_id: CollectionId, address: T::CrossAccountId) -> DispatchResult{
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -466,7 +460,6 @@
/// * `collection_id`: ID of the modified collection.
/// * `new_owner`: ID of the account that will become the owner.
#[weight = <SelfWeightOf<T>>::change_collection_owner()]
- #[transactional]
pub fn change_collection_owner(origin, collection_id: CollectionId, new_owner: T::AccountId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -501,8 +494,7 @@
/// * `collection_id`: ID of the Collection to add an admin for.
/// * `new_admin`: Address of new admin to add.
#[weight = <SelfWeightOf<T>>::add_collection_admin()]
- #[transactional]
- pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin: T::CrossAccountId) -> DispatchResult {
+ pub fn add_collection_admin(origin, collection_id: CollectionId, new_admin_id: T::CrossAccountId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
collection.check_is_internal()?;
@@ -530,7 +522,6 @@
/// * `collection_id`: ID of the collection to remove the admin for.
/// * `account_id`: Address of the admin to remove.
#[weight = <SelfWeightOf<T>>::remove_collection_admin()]
- #[transactional]
pub fn remove_collection_admin(origin, collection_id: CollectionId, account_id: T::CrossAccountId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let collection = <CollectionHandle<T>>::try_get(collection_id)?;
@@ -558,7 +549,6 @@
/// * `collection_id`: ID of the modified collection.
/// * `new_sponsor`: ID of the account of the sponsor-to-be.
#[weight = <SelfWeightOf<T>>::set_collection_sponsor()]
- #[transactional]
pub fn set_collection_sponsor(origin, collection_id: CollectionId, new_sponsor: T::AccountId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -590,7 +580,6 @@
///
/// * `collection_id`: ID of the collection with the pending sponsor.
#[weight = <SelfWeightOf<T>>::confirm_sponsorship()]
- #[transactional]
pub fn confirm_sponsorship(origin, collection_id: CollectionId) -> DispatchResult {
let sender = ensure_signed(origin)?;
@@ -619,7 +608,6 @@
///
/// * `collection_id`: ID of the collection with the sponsor to remove.
#[weight = <SelfWeightOf<T>>::remove_collection_sponsor()]
- #[transactional]
pub fn remove_collection_sponsor(origin, collection_id: CollectionId) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -654,7 +642,6 @@
/// * `owner`: Address of the initial owner of the item.
/// * `data`: Token data describing the item to store on chain.
#[weight = T::CommonWeightInfo::create_item()]
- #[transactional]
pub fn create_item(origin, collection_id: CollectionId, owner: T::CrossAccountId, data: CreateItemData) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
@@ -681,7 +668,6 @@
/// * `owner`: Address of the initial owner of the tokens.
/// * `items_data`: Vector of data describing each item to be created.
#[weight = T::CommonWeightInfo::create_multiple_items(&items_data)]
- #[transactional]
pub fn create_multiple_items(origin, collection_id: CollectionId, owner: T::CrossAccountId, items_data: Vec<CreateItemData>) -> DispatchResultWithPostInfo {
ensure!(!items_data.is_empty(), Error::<T>::EmptyArgument);
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -703,7 +689,6 @@
/// * `properties`: Vector of key-value pairs stored as the collection's metadata.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
#[weight = T::CommonWeightInfo::set_collection_properties(properties.len() as u32)]
- #[transactional]
pub fn set_collection_properties(
origin,
collection_id: CollectionId,
@@ -729,7 +714,6 @@
/// * `property_keys`: Vector of keys of the properties to be deleted.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
#[weight = T::CommonWeightInfo::delete_collection_properties(property_keys.len() as u32)]
- #[transactional]
pub fn delete_collection_properties(
origin,
collection_id: CollectionId,
@@ -761,7 +745,6 @@
/// * `properties`: Vector of key-value pairs stored as the token's metadata.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
#[weight = T::CommonWeightInfo::set_token_properties(properties.len() as u32)]
- #[transactional]
pub fn set_token_properties(
origin,
collection_id: CollectionId,
@@ -792,7 +775,6 @@
/// * `property_keys`: Vector of keys of the properties to be deleted.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
#[weight = T::CommonWeightInfo::delete_token_properties(property_keys.len() as u32)]
- #[transactional]
pub fn delete_token_properties(
origin,
collection_id: CollectionId,
@@ -823,7 +805,6 @@
/// * `property_permissions`: Vector of permissions for property keys.
/// Keys support Latin letters, `-`, `_`, and `.` as symbols.
#[weight = T::CommonWeightInfo::set_token_property_permissions(property_permissions.len() as u32)]
- #[transactional]
pub fn set_token_property_permissions(
origin,
collection_id: CollectionId,
@@ -852,7 +833,6 @@
/// * `collection_id`: ID of the collection to which the tokens would belong.
/// * `data`: Explicit item creation data.
#[weight = T::CommonWeightInfo::create_multiple_items_ex(&data)]
- #[transactional]
pub fn create_multiple_items_ex(origin, collection_id: CollectionId, data: CreateItemExData<T::CrossAccountId>) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
@@ -871,7 +851,6 @@
/// * `collection_id`: ID of the collection.
/// * `value`: New value of the flag, are transfers allowed?
#[weight = <SelfWeightOf<T>>::set_transfers_enabled_flag()]
- #[transactional]
pub fn set_transfers_enabled_flag(origin, collection_id: CollectionId, value: bool) -> DispatchResult {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let mut target_collection = <CollectionHandle<T>>::try_get(collection_id)?;
@@ -901,7 +880,6 @@
/// * Fungible Mode: The desired number of pieces to burn.
/// * Re-Fungible Mode: The desired number of pieces to burn.
#[weight = T::CommonWeightInfo::burn_item()]
- #[transactional]
pub fn burn_item(origin, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -940,7 +918,6 @@
/// * Fungible Mode: The desired number of pieces to burn.
/// * Re-Fungible Mode: The desired number of pieces to burn.
#[weight = T::CommonWeightInfo::burn_from()]
- #[transactional]
pub fn burn_from(origin, collection_id: CollectionId, from: T::CrossAccountId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
@@ -970,7 +947,6 @@
/// * Fungible Mode: The desired number of pieces to transfer.
/// * Re-Fungible Mode: The desired number of pieces to transfer.
#[weight = T::CommonWeightInfo::transfer()]
- #[transactional]
pub fn transfer(origin, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
@@ -994,7 +970,6 @@
/// * `amount`: Number of pieces of the item approved for a transaction (maximum of 1 for NFTs).
/// Set to 0 to revoke the approval.
#[weight = T::CommonWeightInfo::approve()]
- #[transactional]
pub fn approve(origin, spender: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, amount: u128) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
@@ -1026,7 +1001,6 @@
/// * Fungible Mode: The desired number of pieces to transfer.
/// * Re-Fungible Mode: The desired number of pieces to transfer.
#[weight = T::CommonWeightInfo::transfer_from()]
- #[transactional]
pub fn transfer_from(origin, from: T::CrossAccountId, recipient: T::CrossAccountId, collection_id: CollectionId, item_id: TokenId, value: u128 ) -> DispatchResultWithPostInfo {
let sender = T::CrossAccountId::from_sub(ensure_signed(origin)?);
let budget = budget::Value::new(NESTING_BUDGET);
@@ -1047,7 +1021,6 @@
/// * `new_limit`: New limits of the collection. Fields that are not set (None)
/// will not overwrite the old ones.
#[weight = <SelfWeightOf<T>>::set_collection_limits()]
- #[transactional]
pub fn set_collection_limits(
origin,
collection_id: CollectionId,
@@ -1081,7 +1054,6 @@
/// * `new_permission`: New permissions of the collection. Fields that are not set (None)
/// will not overwrite the old ones.
#[weight = <SelfWeightOf<T>>::set_collection_limits()]
- #[transactional]
pub fn set_collection_permissions(
origin,
collection_id: CollectionId,
@@ -1114,7 +1086,6 @@
/// * `token_id`: ID of the RFT.
/// * `amount`: New number of parts/pieces into which the token shall be partitioned.
#[weight = T::RefungibleExtensionsWeightInfo::repartition()]
- #[transactional]
pub fn repartition(
origin,
collection_id: CollectionId,