difftreelog
fix revert set_allowance
in: master
8 files changed
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -1298,7 +1298,6 @@
spender: T::CrossAccountId,
token: TokenId,
amount: u128,
- nesting_budget: &dyn Budget,
) -> DispatchResultWithPostInfo;
fn transfer_from(
&self,
pallets/fungible/src/common.rsdiffbeforeafterboth--- a/pallets/fungible/src/common.rs
+++ b/pallets/fungible/src/common.rs
@@ -226,7 +226,6 @@
spender: T::CrossAccountId,
token: TokenId,
amount: u128,
- _nesting_budget: &dyn Budget,
) -> DispatchResultWithPostInfo {
ensure!(
token == TokenId::default(),
pallets/nonfungible/src/common.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/common.rs
+++ b/pallets/nonfungible/src/common.rs
@@ -308,15 +308,14 @@
spender: T::CrossAccountId,
token: TokenId,
amount: u128,
- nesting_budget: &dyn Budget,
) -> DispatchResultWithPostInfo {
ensure!(amount <= 1, <Error<T>>::NonfungibleItemsHaveNoAmount);
with_weight(
if amount == 1 {
- <Pallet<T>>::set_allowance(self, &sender, token, Some(&spender), nesting_budget)
+ <Pallet<T>>::set_allowance(self, &sender, token, Some(&spender))
} else {
- <Pallet<T>>::set_allowance(self, &sender, token, None, nesting_budget)
+ <Pallet<T>>::set_allowance(self, &sender, token, None)
},
<CommonWeights<T>>::approve(),
)
pallets/nonfungible/src/erc.rsdiffbeforeafterboth--- a/pallets/nonfungible/src/erc.rs
+++ b/pallets/nonfungible/src/erc.rs
@@ -269,11 +269,8 @@
let caller = T::CrossAccountId::from_eth(caller);
let approved = T::CrossAccountId::from_eth(approved);
let token = token_id.try_into()?;
- let budget = self
- .recorder
- .weight_calls_budget(<StructureWeight<T>>::find_parent());
- <Pallet<T>>::set_allowance(self, &caller, token, Some(&approved), &budget)
+ <Pallet<T>>::set_allowance(self, &caller, token, Some(&approved))
.map_err(dispatch_to_evm::<T>)?;
Ok(())
}
pallets/nonfungible/src/lib.rsdiffbeforeafterboth878 sender: &T::CrossAccountId,878 sender: &T::CrossAccountId,879 token: TokenId,879 token: TokenId,880 spender: Option<&T::CrossAccountId>,880 spender: Option<&T::CrossAccountId>,881 nesting_budget: &dyn Budget,882 ) -> DispatchResult {881 ) -> DispatchResult {883 if collection.permissions.access() == AccessMode::AllowList {882 if collection.permissions.access() == AccessMode::AllowList {884 collection.check_allowlist(sender)?;883 collection.check_allowlist(sender)?;891 <PalletCommon<T>>::ensure_correct_receiver(spender)?;890 <PalletCommon<T>>::ensure_correct_receiver(spender)?;892 }891 }893892894 let is_owned = <PalletStructure<T>>::check_indirectly_owned(893 let token_data =895 sender.clone(),896 collection.id,897 token,898 None,899 nesting_budget900 )?;894 <TokenData<T>>::get((collection.id, token)).ok_or(<CommonError<T>>::TokenNotFound)?;901902 if !is_owned {895 if &token_data.owner != sender {903 ensure!(896 ensure!(904 collection.ignores_owned_amount(sender),897 collection.ignores_owned_amount(sender),905 <CommonError<T>>::CantApproveMoreThanOwned898 <CommonError<T>>::CantApproveMoreThanOwned926 // `from`, `to` checked in [`transfer`]919 // `from`, `to` checked in [`transfer`]927 collection.check_allowlist(spender)?;920 collection.check_allowlist(spender)?;928 }921 }929 if <Allowance<T>>::get((collection.id, token)).as_ref() == Some(spender) {930 return Ok(());931 }932 if let Some(source) = T::CrossTokenAddressMapping::address_to_token(from) {922 if let Some(source) = T::CrossTokenAddressMapping::address_to_token(from) {933 // TODO: should collection owner be allowed to perform this transfer?923 // TODO: should collection owner be allowed to perform this transfer?934 ensure!(924 ensure!(943 );933 );944 return Ok(());934 return Ok(());945 }935 }936 if <Allowance<T>>::get((collection.id, token)).as_ref() == Some(spender) {937 return Ok(());938 }946 ensure!(939 ensure!(947 collection.ignores_allowance(spender),940 collection.ignores_allowance(spender),948 <CommonError<T>>::ApprovedValueTooLow941 <CommonError<T>>::ApprovedValueTooLowpallets/proxy-rmrk-core/src/lib.rsdiffbeforeafterboth--- a/pallets/proxy-rmrk-core/src/lib.rs
+++ b/pallets/proxy-rmrk-core/src/lib.rs
@@ -414,13 +414,14 @@
let is_approval_required = cross_sender != spender;
if is_approval_required {
- <PalletNft<T>>::set_allowance(
- &collection,
- &cross_sender,
- nft_id,
- Some(&spender),
- &budget
- ).map_err(Self::map_common_err_to_proxy)?;
+ // FIXME
+ // <PalletNft<T>>::set_allowance(
+ // &collection,
+ // &cross_sender,
+ // nft_id,
+ // Some(&spender),
+ // &budget
+ // ).map_err(Self::map_common_err_to_proxy)?;
return Ok(());
}
pallets/refungible/src/common.rsdiffbeforeafterboth--- a/pallets/refungible/src/common.rs
+++ b/pallets/refungible/src/common.rs
@@ -254,7 +254,6 @@
spender: T::CrossAccountId,
token: TokenId,
amount: u128,
- _nesting_budget: &dyn Budget,
) -> DispatchResultWithPostInfo {
with_weight(
<Pallet<T>>::set_allowance(self, &sender, &spender, token, amount),
pallets/unique/src/lib.rsdiffbeforeafterboth--- a/pallets/unique/src/lib.rs
+++ b/pallets/unique/src/lib.rs
@@ -815,9 +815,8 @@
#[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)?);
- let budget = budget::Value::new(NESTING_BUDGET);
- dispatch_call::<T, _>(collection_id, |d| d.approve(sender, spender, item_id, amount, &budget))
+ dispatch_call::<T, _>(collection_id, |d| d.approve(sender, spender, item_id, amount))
}
/// Change ownership of a NFT on behalf of the owner. See Approve method for additional information. After this method executes, the approval is removed so that the approved address will not be able to transfer this NFT again from this owner.