difftreelog
misc: change uint256 to U256
in: master
10 files changed
crates/evm-coder/src/lib.rsdiffbeforeafterboth--- a/crates/evm-coder/src/lib.rs
+++ b/crates/evm-coder/src/lib.rs
@@ -132,7 +132,6 @@
use primitive_types::{U256, H160, H256};
pub type address = H160;
- pub type uint256 = U256;
pub type bytes4 = [u8; 4];
pub type topic = H256;
pallets/common/src/eth.rsdiffbeforeafterboth--- a/pallets/common/src/eth.rs
+++ b/pallets/common/src/eth.rs
@@ -18,12 +18,9 @@
use alloc::format;
use sp_std::{vec, vec::Vec};
-use evm_coder::{
- AbiCoder,
- types::{uint256, address},
-};
+use evm_coder::{AbiCoder, types::address};
pub use pallet_evm::{Config, account::CrossAccountId};
-use sp_core::H160;
+use sp_core::{H160, U256};
use up_data_structs::CollectionId;
// 0x17c4e6453Cc49AAAaEACA894e6D9683e00000001 - collection 1
@@ -55,8 +52,8 @@
address[0..16] == ETH_COLLECTION_PREFIX
}
-/// Convert `uint256` to `CrossAccountId`.
-pub fn convert_uint256_to_cross_account<T: Config>(from: uint256) -> T::CrossAccountId
+/// Convert `U256` to `CrossAccountId`.
+pub fn convert_uint256_to_cross_account<T: Config>(from: U256) -> T::CrossAccountId
where
T::AccountId: From<[u8; 32]>,
{
@@ -70,7 +67,7 @@
#[derive(Debug, Default, AbiCoder)]
pub struct CrossAddress {
pub(crate) eth: address,
- pub(crate) sub: uint256,
+ pub(crate) sub: U256,
}
impl CrossAddress {
@@ -97,7 +94,7 @@
{
Self {
eth: Default::default(),
- sub: uint256::from_big_endian(account_id.as_ref()),
+ sub: U256::from_big_endian(account_id.as_ref()),
}
}
/// Converts [`CrossAddress`] to `CrossAccountId`.
@@ -187,7 +184,7 @@
#[derive(Debug, Default, AbiCoder)]
pub struct CollectionLimit {
field: CollectionLimitField,
- value: Option<uint256>,
+ value: Option<U256>,
}
impl CollectionLimit {
@@ -393,12 +390,12 @@
#[derive(Debug, Default, AbiCoder)]
pub struct CollectionNesting {
token_owner: bool,
- ids: Vec<uint256>,
+ ids: Vec<U256>,
}
impl CollectionNesting {
/// Create [`CollectionNesting`].
- pub fn new(token_owner: bool, ids: Vec<uint256>) -> Self {
+ pub fn new(token_owner: bool, ids: Vec<U256>) -> Self {
Self { token_owner, ids }
}
}
pallets/evm-contract-helpers/src/eth.rsdiffbeforeafterboth--- a/pallets/evm-contract-helpers/src/eth.rs
+++ b/pallets/evm-contract-helpers/src/eth.rs
@@ -261,7 +261,7 @@
&mut self,
caller: caller,
contract_address: address,
- fee_limit: uint256,
+ fee_limit: U256,
) -> Result<()> {
self.recorder().consume_sload()?;
self.recorder().consume_sstore()?;
@@ -276,7 +276,7 @@
/// @param contractAddress Contract to get sponsoring fee limit of
/// @return uint256 Maximum amount of fee that could be spent by single
/// transaction
- fn sponsoring_fee_limit(&self, contract_address: address) -> Result<uint256> {
+ fn sponsoring_fee_limit(&self, contract_address: address) -> Result<U256> {
self.recorder().consume_sload()?;
Ok(get_sponsoring_fee_limit::<T>(contract_address))
@@ -441,7 +441,7 @@
}
}
-fn get_sponsoring_fee_limit<T: Config>(contract_address: address) -> uint256 {
+fn get_sponsoring_fee_limit<T: Config>(contract_address: address) -> U256 {
<SponsoringFeeLimit<T>>::get(contract_address)
.get(&0xffffffff)
.cloned()
pallets/fungible/src/erc.rsdiffbeforeafterboth--- a/pallets/fungible/src/erc.rs
+++ b/pallets/fungible/src/erc.rs
@@ -32,7 +32,7 @@
use pallet_evm::{account::CrossAccountId, PrecompileHandle};
use pallet_evm_coder_substrate::{call, dispatch_to_evm};
use pallet_structure::{SelfWeightOf as StructureWeight, weights::WeightInfo as _};
-use sp_core::Get;
+use sp_core::{U256, Get};
use crate::{
Allowance, Balance, Config, FungibleHandle, Pallet, SelfWeightOf, TotalSupply,
@@ -46,14 +46,14 @@
from: address,
#[indexed]
to: address,
- value: uint256,
+ value: U256,
},
Approval {
#[indexed]
owner: address,
#[indexed]
spender: address,
- value: uint256,
+ value: U256,
},
}
@@ -67,7 +67,7 @@
fn symbol(&self) -> Result<string> {
Ok(string::from_utf8_lossy(&self.token_prefix).into())
}
- fn total_supply(&self) -> Result<uint256> {
+ fn total_supply(&self) -> Result<U256> {
self.consume_store_reads(1)?;
Ok(<TotalSupply<T>>::get(self.id).into())
}
@@ -79,14 +79,14 @@
unreachable!()
})
}
- fn balance_of(&self, owner: address) -> Result<uint256> {
+ fn balance_of(&self, owner: address) -> Result<U256> {
self.consume_store_reads(1)?;
let owner = T::CrossAccountId::from_eth(owner);
let balance = <Balance<T>>::get((self.id, owner));
Ok(balance.into())
}
#[weight(<SelfWeightOf<T>>::transfer())]
- fn transfer(&mut self, caller: caller, to: address, amount: uint256) -> Result<bool> {
+ fn transfer(&mut self, caller: caller, to: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -104,7 +104,7 @@
caller: caller,
from: address,
to: address,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
@@ -119,7 +119,7 @@
Ok(true)
}
#[weight(<SelfWeightOf<T>>::approve())]
- fn approve(&mut self, caller: caller, spender: address, amount: uint256) -> Result<bool> {
+ fn approve(&mut self, caller: caller, spender: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let spender = T::CrossAccountId::from_eth(spender);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -128,7 +128,7 @@
.map_err(dispatch_to_evm::<T>)?;
Ok(true)
}
- fn allowance(&self, owner: address, spender: address) -> Result<uint256> {
+ fn allowance(&self, owner: address, spender: address) -> Result<U256> {
self.consume_store_reads(1)?;
let owner = T::CrossAccountId::from_eth(owner);
let spender = T::CrossAccountId::from_eth(spender);
@@ -148,7 +148,7 @@
/// @param to account that will receive minted tokens
/// @param amount amount of tokens to mint
#[weight(<SelfWeightOf<T>>::create_item())]
- fn mint(&mut self, caller: caller, to: address, amount: uint256) -> Result<bool> {
+ fn mint(&mut self, caller: caller, to: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -178,7 +178,7 @@
&mut self,
caller: caller,
to: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = to.into_sub_cross_account::<T>()?;
@@ -196,7 +196,7 @@
&mut self,
caller: caller,
spender: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let spender = spender.into_sub_cross_account::<T>()?;
@@ -214,7 +214,7 @@
/// @param amount The amount that will be burnt.
#[solidity(hide)]
#[weight(<SelfWeightOf<T>>::burn_from())]
- fn burn_from(&mut self, caller: caller, from: address, amount: uint256) -> Result<bool> {
+ fn burn_from(&mut self, caller: caller, from: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -237,7 +237,7 @@
&mut self,
caller: caller,
from: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
@@ -254,7 +254,7 @@
/// Mint tokens for multiple accounts.
/// @param amounts array of pairs of account address and amount
#[weight(<SelfWeightOf<T>>::create_multiple_items_ex(amounts.len() as u32))]
- fn mint_bulk(&mut self, caller: caller, amounts: Vec<(address, uint256)>) -> Result<bool> {
+ fn mint_bulk(&mut self, caller: caller, amounts: Vec<(address, U256)>) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let budget = self
.recorder
@@ -279,7 +279,7 @@
&mut self,
caller: caller,
to: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = to.into_sub_cross_account::<T>()?;
@@ -298,7 +298,7 @@
caller: caller,
from: pallet_common::eth::CrossAddress,
to: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
pallets/nonfungible/src/erc.rsdiffbeforeafterboth43use pallet_evm::{account::CrossAccountId, PrecompileHandle};43use pallet_evm::{account::CrossAccountId, PrecompileHandle};44use pallet_evm_coder_substrate::call;44use pallet_evm_coder_substrate::call;45use pallet_structure::{SelfWeightOf as StructureWeight, weights::WeightInfo as _};45use pallet_structure::{SelfWeightOf as StructureWeight, weights::WeightInfo as _};46use sp_core::Get;46use sp_core::{U256, Get};474748use crate::{48use crate::{49 AccountBalance, Config, CreateItemData, NonfungibleHandle, Pallet, TokenData, TokensMinted,49 AccountBalance, Config, CreateItemData, NonfungibleHandle, Pallet, TokenData, TokensMinted,122 fn set_property(122 fn set_property(123 &mut self,123 &mut self,124 caller: caller,124 caller: caller,125 token_id: uint256,125 token_id: U256,126 key: string,126 key: string,127 value: bytes,127 value: bytes,128 ) -> Result<()> {128 ) -> Result<()> {155 fn set_properties(155 fn set_properties(156 &mut self,156 &mut self,157 caller: caller,157 caller: caller,158 token_id: uint256,158 token_id: U256,159 properties: Vec<eth::Property>,159 properties: Vec<eth::Property>,160 ) -> Result<()> {160 ) -> Result<()> {161 let caller = T::CrossAccountId::from_eth(caller);161 let caller = T::CrossAccountId::from_eth(caller);187 /// @param key Property key.187 /// @param key Property key.188 #[solidity(hide)]188 #[solidity(hide)]189 #[weight(<SelfWeightOf<T>>::delete_token_properties(1))]189 #[weight(<SelfWeightOf<T>>::delete_token_properties(1))]190 fn delete_property(&mut self, token_id: uint256, caller: caller, key: string) -> Result<()> {190 fn delete_property(&mut self, token_id: U256, caller: caller, key: string) -> Result<()> {191 let caller = T::CrossAccountId::from_eth(caller);191 let caller = T::CrossAccountId::from_eth(caller);192 let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;192 let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;193 let key = <Vec<u8>>::from(key)193 let key = <Vec<u8>>::from(key)209 #[weight(<SelfWeightOf<T>>::delete_token_properties(keys.len() as u32))]209 #[weight(<SelfWeightOf<T>>::delete_token_properties(keys.len() as u32))]210 fn delete_properties(210 fn delete_properties(211 &mut self,211 &mut self,212 token_id: uint256,212 token_id: U256,213 caller: caller,213 caller: caller,214 keys: Vec<string>,214 keys: Vec<string>,215 ) -> Result<()> {215 ) -> Result<()> {239 /// @param tokenId ID of the token.239 /// @param tokenId ID of the token.240 /// @param key Property key.240 /// @param key Property key.241 /// @return Property value bytes241 /// @return Property value bytes242 fn property(&self, token_id: uint256, key: string) -> Result<bytes> {242 fn property(&self, token_id: U256, key: string) -> Result<bytes> {243 let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;243 let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;244 let key = <Vec<u8>>::from(key)244 let key = <Vec<u8>>::from(key)245 .try_into()245 .try_into()265 #[indexed]265 #[indexed]266 to: address,266 to: address,267 #[indexed]267 #[indexed]268 token_id: uint256,268 token_id: U256,269 },269 },270 /// @dev This emits when the approved address for an NFT is changed or270 /// @dev This emits when the approved address for an NFT is changed or271 /// reaffirmed. The zero address indicates there is no approved address.271 /// reaffirmed. The zero address indicates there is no approved address.277 #[indexed]277 #[indexed]278 approved: address,278 approved: address,279 #[indexed]279 #[indexed]280 token_id: uint256,280 token_id: U256,281 },281 },282 /// @dev This emits when an operator is enabled or disabled for an owner.282 /// @dev This emits when an operator is enabled or disabled for an owner.283 /// The operator can manage all NFTs of the owner.283 /// The operator can manage all NFTs of the owner.322 ///322 ///323 /// @return token's const_metadata323 /// @return token's const_metadata324 #[solidity(rename_selector = "tokenURI")]324 #[solidity(rename_selector = "tokenURI")]325 fn token_uri(&self, token_id: uint256) -> Result<string> {325 fn token_uri(&self, token_id: U256) -> Result<string> {326 let token_id_u32: u32 = token_id.try_into().map_err(|_| "token id overflow")?;326 let token_id_u32: u32 = token_id.try_into().map_err(|_| "token id overflow")?;327327328 match get_token_property(self, token_id_u32, &key::url()).as_deref() {328 match get_token_property(self, token_id_u32, &key::url()).as_deref() {368 /// @param index A counter less than `totalSupply()`368 /// @param index A counter less than `totalSupply()`369 /// @return The token identifier for the `index`th NFT,369 /// @return The token identifier for the `index`th NFT,370 /// (sort order not specified)370 /// (sort order not specified)371 fn token_by_index(&self, index: uint256) -> Result<uint256> {371 fn token_by_index(&self, index: U256) -> Result<U256> {372 Ok(index)372 Ok(index)373 }373 }374374375 /// @dev Not implemented375 /// @dev Not implemented376 fn token_of_owner_by_index(&self, _owner: address, _index: uint256) -> Result<uint256> {376 fn token_of_owner_by_index(&self, _owner: address, _index: U256) -> Result<U256> {377 // TODO: Not implemetable377 // TODO: Not implemetable378 Err("not implemented".into())378 Err("not implemented".into())379 }379 }380380381 /// @notice Count NFTs tracked by this contract381 /// @notice Count NFTs tracked by this contract382 /// @return A count of valid NFTs tracked by this contract, where each one of382 /// @return A count of valid NFTs tracked by this contract, where each one of383 /// them has an assigned and queryable owner not equal to the zero address383 /// them has an assigned and queryable owner not equal to the zero address384 fn total_supply(&self) -> Result<uint256> {384 fn total_supply(&self) -> Result<U256> {385 self.consume_store_reads(1)?;385 self.consume_store_reads(1)?;386 Ok(<Pallet<T>>::total_supply(self).into())386 Ok(<Pallet<T>>::total_supply(self).into())387 }387 }396 /// function throws for queries about the zero address.396 /// function throws for queries about the zero address.397 /// @param owner An address for whom to query the balance397 /// @param owner An address for whom to query the balance398 /// @return The number of NFTs owned by `owner`, possibly zero398 /// @return The number of NFTs owned by `owner`, possibly zero399 fn balance_of(&self, owner: address) -> Result<uint256> {399 fn balance_of(&self, owner: address) -> Result<U256> {400 self.consume_store_reads(1)?;400 self.consume_store_reads(1)?;401 let owner = T::CrossAccountId::from_eth(owner);401 let owner = T::CrossAccountId::from_eth(owner);402 let balance = <AccountBalance<T>>::get((self.id, owner));402 let balance = <AccountBalance<T>>::get((self.id, owner));407 /// about them do throw.407 /// about them do throw.408 /// @param tokenId The identifier for an NFT408 /// @param tokenId The identifier for an NFT409 /// @return The address of the owner of the NFT409 /// @return The address of the owner of the NFT410 fn owner_of(&self, token_id: uint256) -> Result<address> {410 fn owner_of(&self, token_id: U256) -> Result<address> {411 self.consume_store_reads(1)?;411 self.consume_store_reads(1)?;412 let token: TokenId = token_id.try_into()?;412 let token: TokenId = token_id.try_into()?;413 Ok(*<TokenData<T>>::get((self.id, token))413 Ok(*<TokenData<T>>::get((self.id, token))421 &mut self,421 &mut self,422 _from: address,422 _from: address,423 _to: address,423 _to: address,424 _token_id: uint256,424 _token_id: U256,425 _data: bytes,425 _data: bytes,426 ) -> Result<()> {426 ) -> Result<()> {427 // TODO: Not implemetable427 // TODO: Not implemetable428 Err("not implemented".into())428 Err("not implemented".into())429 }429 }430 /// @dev Not implemented430 /// @dev Not implemented431 fn safe_transfer_from(431 fn safe_transfer_from(&mut self, _from: address, _to: address, _token_id: U256) -> Result<()> {432 &mut self,433 _from: address,434 _to: address,435 _token_id: uint256,436 ) -> Result<()> {437 // TODO: Not implemetable432 // TODO: Not implemetable438 Err("not implemented".into())433 Err("not implemented".into())453 caller: caller,448 caller: caller,454 from: address,449 from: address,455 to: address,450 to: address,456 token_id: uint256,451 token_id: U256,457 ) -> Result<()> {452 ) -> Result<()> {458 let caller = T::CrossAccountId::from_eth(caller);453 let caller = T::CrossAccountId::from_eth(caller);459 let from = T::CrossAccountId::from_eth(from);454 let from = T::CrossAccountId::from_eth(from);475 /// @param approved The new approved NFT controller470 /// @param approved The new approved NFT controller476 /// @param tokenId The NFT to approve471 /// @param tokenId The NFT to approve477 #[weight(<SelfWeightOf<T>>::approve())]472 #[weight(<SelfWeightOf<T>>::approve())]478 fn approve(&mut self, caller: caller, approved: address, token_id: uint256) -> Result<()> {473 fn approve(&mut self, caller: caller, approved: address, token_id: U256) -> Result<()> {479 let caller = T::CrossAccountId::from_eth(caller);474 let caller = T::CrossAccountId::from_eth(caller);480 let approved = T::CrossAccountId::from_eth(approved);475 let approved = T::CrossAccountId::from_eth(approved);481 let token = token_id.try_into()?;476 let token = token_id.try_into()?;505 }500 }506501507 /// @dev Not implemented502 /// @dev Not implemented508 fn get_approved(&self, _token_id: uint256) -> Result<address> {503 fn get_approved(&self, _token_id: U256) -> Result<address> {509 // TODO: Not implemetable504 // TODO: Not implemetable510 Err("not implemented".into())505 Err("not implemented".into())511 }506 }528 /// operator of the current owner.523 /// operator of the current owner.529 /// @param tokenId The NFT to approve524 /// @param tokenId The NFT to approve530 #[weight(<SelfWeightOf<T>>::burn_item())]525 #[weight(<SelfWeightOf<T>>::burn_item())]531 fn burn(&mut self, caller: caller, token_id: uint256) -> Result<()> {526 fn burn(&mut self, caller: caller, token_id: U256) -> Result<()> {532 let caller = T::CrossAccountId::from_eth(caller);527 let caller = T::CrossAccountId::from_eth(caller);533 let token = token_id.try_into()?;528 let token = token_id.try_into()?;534529544 /// @param to The new owner539 /// @param to The new owner545 /// @return uint256 The id of the newly minted token540 /// @return uint256 The id of the newly minted token546 #[weight(<SelfWeightOf<T>>::create_item())]541 #[weight(<SelfWeightOf<T>>::create_item())]547 fn mint(&mut self, caller: caller, to: address) -> Result<uint256> {542 fn mint(&mut self, caller: caller, to: address) -> Result<U256> {548 let token_id: uint256 = <TokensMinted<T>>::get(self.id)543 let token_id: U256 = <TokensMinted<T>>::get(self.id)549 .checked_add(1)544 .checked_add(1)550 .ok_or("item id overflow")?545 .ok_or("item id overflow")?551 .into();546 .into();560 /// @param tokenId ID of the minted NFT555 /// @param tokenId ID of the minted NFT561 #[solidity(hide, rename_selector = "mint")]556 #[solidity(hide, rename_selector = "mint")]562 #[weight(<SelfWeightOf<T>>::create_item())]557 #[weight(<SelfWeightOf<T>>::create_item())]563 fn mint_check_id(&mut self, caller: caller, to: address, token_id: uint256) -> Result<bool> {558 fn mint_check_id(&mut self, caller: caller, to: address, token_id: U256) -> Result<bool> {564 let caller = T::CrossAccountId::from_eth(caller);559 let caller = T::CrossAccountId::from_eth(caller);565 let to = T::CrossAccountId::from_eth(to);560 let to = T::CrossAccountId::from_eth(to);566 let token_id: u32 = token_id.try_into()?;561 let token_id: u32 = token_id.try_into()?;601 caller: caller,596 caller: caller,602 to: address,597 to: address,603 token_uri: string,598 token_uri: string,604 ) -> Result<uint256> {599 ) -> Result<U256> {605 let token_id: uint256 = <TokensMinted<T>>::get(self.id)600 let token_id: U256 = <TokensMinted<T>>::get(self.id)606 .checked_add(1)601 .checked_add(1)607 .ok_or("item id overflow")?602 .ok_or("item id overflow")?608 .into();603 .into();622 &mut self,617 &mut self,623 caller: caller,618 caller: caller,624 to: address,619 to: address,625 token_id: uint256,620 token_id: U256,626 token_uri: string,621 token_uri: string,627 ) -> Result<bool> {622 ) -> Result<bool> {628 let key = key::url();623 let key = key::url();730 /// Returns the owner (in cross format) of the token.725 /// Returns the owner (in cross format) of the token.731 ///726 ///732 /// @param tokenId Id for the token.727 /// @param tokenId Id for the token.733 fn cross_owner_of(&self, token_id: uint256) -> Result<eth::CrossAddress> {728 fn cross_owner_of(&self, token_id: U256) -> Result<eth::CrossAddress> {734 Self::token_owner(&self, token_id.try_into()?)729 Self::token_owner(&self, token_id.try_into()?)735 .map(|o| eth::CrossAddress::from_sub_cross_account::<T>(&o))730 .map(|o| eth::CrossAddress::from_sub_cross_account::<T>(&o))736 .ok_or(Error::Revert("key too large".into()))731 .ok_or(Error::Revert("key too large".into()))741 /// @param tokenId Id for the token.736 /// @param tokenId Id for the token.742 /// @param keys Properties keys. Empty keys for all propertyes.737 /// @param keys Properties keys. Empty keys for all propertyes.743 /// @return Vector of properties key/value pairs.738 /// @return Vector of properties key/value pairs.744 fn properties(&self, token_id: uint256, keys: Vec<string>) -> Result<Vec<eth::Property>> {739 fn properties(&self, token_id: U256, keys: Vec<string>) -> Result<Vec<eth::Property>> {745 let keys = keys740 let keys = keys746 .into_iter()741 .into_iter()747 .map(|key| {742 .map(|key| {772 &mut self,767 &mut self,773 caller: caller,768 caller: caller,774 approved: eth::CrossAddress,769 approved: eth::CrossAddress,775 token_id: uint256,770 token_id: U256,776 ) -> Result<()> {771 ) -> Result<()> {777 let caller = T::CrossAccountId::from_eth(caller);772 let caller = T::CrossAccountId::from_eth(caller);778 let approved = approved.into_sub_cross_account::<T>()?;773 let approved = approved.into_sub_cross_account::<T>()?;789 /// @param to The new owner784 /// @param to The new owner790 /// @param tokenId The NFT to transfer785 /// @param tokenId The NFT to transfer791 #[weight(<SelfWeightOf<T>>::transfer())]786 #[weight(<SelfWeightOf<T>>::transfer())]792 fn transfer(&mut self, caller: caller, to: address, token_id: uint256) -> Result<()> {787 fn transfer(&mut self, caller: caller, to: address, token_id: U256) -> Result<()> {793 let caller = T::CrossAccountId::from_eth(caller);788 let caller = T::CrossAccountId::from_eth(caller);794 let to = T::CrossAccountId::from_eth(to);789 let to = T::CrossAccountId::from_eth(to);795 let token = token_id.try_into()?;790 let token = token_id.try_into()?;811 &mut self,806 &mut self,812 caller: caller,807 caller: caller,813 to: eth::CrossAddress,808 to: eth::CrossAddress,814 token_id: uint256,809 token_id: U256,815 ) -> Result<()> {810 ) -> Result<()> {816 let caller = T::CrossAccountId::from_eth(caller);811 let caller = T::CrossAccountId::from_eth(caller);817 let to = to.into_sub_cross_account::<T>()?;812 let to = to.into_sub_cross_account::<T>()?;836 caller: caller,831 caller: caller,837 from: eth::CrossAddress,832 from: eth::CrossAddress,838 to: eth::CrossAddress,833 to: eth::CrossAddress,839 token_id: uint256,834 token_id: U256,840 ) -> Result<()> {835 ) -> Result<()> {841 let caller = T::CrossAccountId::from_eth(caller);836 let caller = T::CrossAccountId::from_eth(caller);842 let from = from.into_sub_cross_account::<T>()?;837 let from = from.into_sub_cross_account::<T>()?;858 /// @param tokenId The NFT to transfer853 /// @param tokenId The NFT to transfer859 #[solidity(hide)]854 #[solidity(hide)]860 #[weight(<SelfWeightOf<T>>::burn_from())]855 #[weight(<SelfWeightOf<T>>::burn_from())]861 fn burn_from(&mut self, caller: caller, from: address, token_id: uint256) -> Result<()> {856 fn burn_from(&mut self, caller: caller, from: address, token_id: U256) -> Result<()> {862 let caller = T::CrossAccountId::from_eth(caller);857 let caller = T::CrossAccountId::from_eth(caller);863 let from = T::CrossAccountId::from_eth(from);858 let from = T::CrossAccountId::from_eth(from);864 let token = token_id.try_into()?;859 let token = token_id.try_into()?;882 &mut self,877 &mut self,883 caller: caller,878 caller: caller,884 from: eth::CrossAddress,879 from: eth::CrossAddress,885 token_id: uint256,880 token_id: U256,886 ) -> Result<()> {881 ) -> Result<()> {887 let caller = T::CrossAccountId::from_eth(caller);882 let caller = T::CrossAccountId::from_eth(caller);888 let from = from.into_sub_cross_account::<T>()?;883 let from = from.into_sub_cross_account::<T>()?;897 }892 }898893899 /// @notice Returns next free NFT ID.894 /// @notice Returns next free NFT ID.900 fn next_token_id(&self) -> Result<uint256> {895 fn next_token_id(&self) -> Result<U256> {901 self.consume_store_reads(1)?;896 self.consume_store_reads(1)?;902 Ok(<TokensMinted<T>>::get(self.id)897 Ok(<TokensMinted<T>>::get(self.id)903 .checked_add(1)898 .checked_add(1)912 /// @param tokenIds IDs of the minted NFTs907 /// @param tokenIds IDs of the minted NFTs913 #[solidity(hide)]908 #[solidity(hide)]914 #[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]909 #[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]915 fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<uint256>) -> Result<bool> {910 fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<U256>) -> Result<bool> {916 let caller = T::CrossAccountId::from_eth(caller);911 let caller = T::CrossAccountId::from_eth(caller);917 let to = T::CrossAccountId::from_eth(to);912 let to = T::CrossAccountId::from_eth(to);918 let mut expected_index = <TokensMinted<T>>::get(self.id)913 let mut expected_index = <TokensMinted<T>>::get(self.id)953 &mut self,948 &mut self,954 caller: caller,949 caller: caller,955 to: address,950 to: address,956 tokens: Vec<(uint256, string)>,951 tokens: Vec<(U256, string)>,957 ) -> Result<bool> {952 ) -> Result<bool> {958 let key = key::url();953 let key = key::url();959 let caller = T::CrossAccountId::from_eth(caller);954 let caller = T::CrossAccountId::from_eth(caller);1005 caller: caller,1000 caller: caller,1006 to: eth::CrossAddress,1001 to: eth::CrossAddress,1007 properties: Vec<eth::Property>,1002 properties: Vec<eth::Property>,1008 ) -> Result<uint256> {1003 ) -> Result<U256> {1009 let token_id = <TokensMinted<T>>::get(self.id)1004 let token_id = <TokensMinted<T>>::get(self.id)1010 .checked_add(1)1005 .checked_add(1)1011 .ok_or("item id overflow")?;1006 .ok_or("item id overflow")?;pallets/refungible/src/erc.rsdiffbeforeafterboth--- a/pallets/refungible/src/erc.rs
+++ b/pallets/refungible/src/erc.rs
@@ -39,7 +39,7 @@
use pallet_evm::{account::CrossAccountId, PrecompileHandle};
use pallet_evm_coder_substrate::{call, dispatch_to_evm};
use pallet_structure::{SelfWeightOf as StructureWeight, weights::WeightInfo as _};
-use sp_core::{H160, Get};
+use sp_core::{H160, U256, Get};
use sp_std::{collections::btree_map::BTreeMap, vec::Vec, vec};
use up_data_structs::{
CollectionId, CollectionPropertiesVec, mapping::TokenAddressMapping, Property, PropertyKey,
@@ -125,7 +125,7 @@
fn set_property(
&mut self,
caller: caller,
- token_id: uint256,
+ token_id: U256,
key: string,
value: bytes,
) -> Result<()> {
@@ -158,7 +158,7 @@
fn set_properties(
&mut self,
caller: caller,
- token_id: uint256,
+ token_id: U256,
properties: Vec<eth::Property>,
) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
@@ -190,7 +190,7 @@
/// @param key Property key.
#[solidity(hide)]
#[weight(<SelfWeightOf<T>>::delete_token_properties(1))]
- fn delete_property(&mut self, token_id: uint256, caller: caller, key: string) -> Result<()> {
+ fn delete_property(&mut self, token_id: U256, caller: caller, key: string) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;
let key = <Vec<u8>>::from(key)
@@ -212,7 +212,7 @@
#[weight(<SelfWeightOf<T>>::delete_token_properties(keys.len() as u32))]
fn delete_properties(
&mut self,
- token_id: uint256,
+ token_id: U256,
caller: caller,
keys: Vec<string>,
) -> Result<()> {
@@ -242,7 +242,7 @@
/// @param tokenId ID of the token.
/// @param key Property key.
/// @return Property value bytes
- fn property(&self, token_id: uint256, key: string) -> Result<bytes> {
+ fn property(&self, token_id: U256, key: string) -> Result<bytes> {
let token_id: u32 = token_id.try_into().map_err(|_| "token id overflow")?;
let key = <Vec<u8>>::from(key)
.try_into()
@@ -266,7 +266,7 @@
#[indexed]
to: address,
#[indexed]
- token_id: uint256,
+ token_id: U256,
},
/// @dev Not supported
Approval {
@@ -275,7 +275,7 @@
#[indexed]
approved: address,
#[indexed]
- token_id: uint256,
+ token_id: U256,
},
/// @dev Not supported
#[allow(dead_code)]
@@ -319,7 +319,7 @@
///
/// @return token's const_metadata
#[solidity(rename_selector = "tokenURI")]
- fn token_uri(&self, token_id: uint256) -> Result<string> {
+ fn token_uri(&self, token_id: U256) -> Result<string> {
let token_id_u32: u32 = token_id.try_into().map_err(|_| "token id overflow")?;
match get_token_property(self, token_id_u32, &key::url()).as_deref() {
@@ -365,12 +365,12 @@
/// @param index A counter less than `totalSupply()`
/// @return The token identifier for the `index`th NFT,
/// (sort order not specified)
- fn token_by_index(&self, index: uint256) -> Result<uint256> {
+ fn token_by_index(&self, index: U256) -> Result<U256> {
Ok(index)
}
/// Not implemented
- fn token_of_owner_by_index(&self, _owner: address, _index: uint256) -> Result<uint256> {
+ fn token_of_owner_by_index(&self, _owner: address, _index: U256) -> Result<U256> {
// TODO: Not implemetable
Err("not implemented".into())
}
@@ -378,7 +378,7 @@
/// @notice Count RFTs tracked by this contract
/// @return A count of valid RFTs tracked by this contract, where each one of
/// them has an assigned and queryable owner not equal to the zero address
- fn total_supply(&self) -> Result<uint256> {
+ fn total_supply(&self) -> Result<U256> {
self.consume_store_reads(1)?;
Ok(<Pallet<T>>::total_supply(self).into())
}
@@ -393,7 +393,7 @@
/// function throws for queries about the zero address.
/// @param owner An address for whom to query the balance
/// @return The number of RFTs owned by `owner`, possibly zero
- fn balance_of(&self, owner: address) -> Result<uint256> {
+ fn balance_of(&self, owner: address) -> Result<U256> {
self.consume_store_reads(1)?;
let owner = T::CrossAccountId::from_eth(owner);
let balance = <AccountBalance<T>>::get((self.id, owner));
@@ -407,7 +407,7 @@
/// the tokens that are partially owned.
/// @param tokenId The identifier for an RFT
/// @return The address of the owner of the RFT
- fn owner_of(&self, token_id: uint256) -> Result<address> {
+ fn owner_of(&self, token_id: U256) -> Result<address> {
self.consume_store_reads(2)?;
let token = token_id.try_into()?;
let owner = <Pallet<T>>::token_owner(self.id, token);
@@ -422,7 +422,7 @@
&mut self,
_from: address,
_to: address,
- _token_id: uint256,
+ _token_id: U256,
_data: bytes,
) -> Result<()> {
// TODO: Not implemetable
@@ -431,12 +431,7 @@
/// @dev Not implemented
#[solidity(rename_selector = "safeTransferFrom")]
- fn safe_transfer_from(
- &mut self,
- _from: address,
- _to: address,
- _token_id: uint256,
- ) -> Result<()> {
+ fn safe_transfer_from(&mut self, _from: address, _to: address, _token_id: U256) -> Result<()> {
// TODO: Not implemetable
Err("not implemented".into())
}
@@ -457,7 +452,7 @@
caller: caller,
from: address,
to: address,
- token_id: uint256,
+ token_id: U256,
) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
@@ -477,7 +472,7 @@
}
/// @dev Not implemented
- fn approve(&mut self, _caller: caller, _approved: address, _token_id: uint256) -> Result<()> {
+ fn approve(&mut self, _caller: caller, _approved: address, _token_id: U256) -> Result<()> {
Err("not implemented".into())
}
@@ -501,7 +496,7 @@
}
/// @dev Not implemented
- fn get_approved(&self, _token_id: uint256) -> Result<address> {
+ fn get_approved(&self, _token_id: U256) -> Result<address> {
// TODO: Not implemetable
Err("not implemented".into())
}
@@ -556,7 +551,7 @@
/// operator of the current owner.
/// @param tokenId The RFT to approve
#[weight(<SelfWeightOf<T>>::burn_item_fully())]
- fn burn(&mut self, caller: caller, token_id: uint256) -> Result<()> {
+ fn burn(&mut self, caller: caller, token_id: U256) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let token = token_id.try_into()?;
@@ -575,8 +570,8 @@
/// @param to The new owner
/// @return uint256 The id of the newly minted token
#[weight(<SelfWeightOf<T>>::create_item())]
- fn mint(&mut self, caller: caller, to: address) -> Result<uint256> {
- let token_id: uint256 = <TokensMinted<T>>::get(self.id)
+ fn mint(&mut self, caller: caller, to: address) -> Result<U256> {
+ let token_id: U256 = <TokensMinted<T>>::get(self.id)
.checked_add(1)
.ok_or("item id overflow")?
.into();
@@ -591,7 +586,7 @@
/// @param tokenId ID of the minted RFT
#[solidity(hide, rename_selector = "mint")]
#[weight(<SelfWeightOf<T>>::create_item())]
- fn mint_check_id(&mut self, caller: caller, to: address, token_id: uint256) -> Result<bool> {
+ fn mint_check_id(&mut self, caller: caller, to: address, token_id: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let token_id: u32 = token_id.try_into()?;
@@ -637,8 +632,8 @@
caller: caller,
to: address,
token_uri: string,
- ) -> Result<uint256> {
- let token_id: uint256 = <TokensMinted<T>>::get(self.id)
+ ) -> Result<U256> {
+ let token_id: U256 = <TokensMinted<T>>::get(self.id)
.checked_add(1)
.ok_or("item id overflow")?
.into();
@@ -658,7 +653,7 @@
&mut self,
caller: caller,
to: address,
- token_id: uint256,
+ token_id: U256,
token_uri: string,
) -> Result<bool> {
let key = key::url();
@@ -768,7 +763,7 @@
/// Returns the owner (in cross format) of the token.
///
/// @param tokenId Id for the token.
- fn cross_owner_of(&self, token_id: uint256) -> Result<eth::CrossAddress> {
+ fn cross_owner_of(&self, token_id: U256) -> Result<eth::CrossAddress> {
Self::token_owner(&self, token_id.try_into()?)
.map(|o| eth::CrossAddress::from_sub_cross_account::<T>(&o))
.ok_or(Error::Revert("key too large".into()))
@@ -779,7 +774,7 @@
/// @param tokenId Id for the token.
/// @param keys Properties keys. Empty keys for all propertyes.
/// @return Vector of properties key/value pairs.
- fn properties(&self, token_id: uint256, keys: Vec<string>) -> Result<Vec<eth::Property>> {
+ fn properties(&self, token_id: U256, keys: Vec<string>) -> Result<Vec<eth::Property>> {
let keys = keys
.into_iter()
.map(|key| {
@@ -805,7 +800,7 @@
/// @param to The new owner
/// @param tokenId The RFT to transfer
#[weight(<SelfWeightOf<T>>::transfer_creating_removing())]
- fn transfer(&mut self, caller: caller, to: address, token_id: uint256) -> Result<()> {
+ fn transfer(&mut self, caller: caller, to: address, token_id: U256) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let token = token_id.try_into()?;
@@ -832,7 +827,7 @@
&mut self,
caller: caller,
to: eth::CrossAddress,
- token_id: uint256,
+ token_id: U256,
) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let to = to.into_sub_cross_account::<T>()?;
@@ -861,7 +856,7 @@
caller: caller,
from: eth::CrossAddress,
to: eth::CrossAddress,
- token_id: uint256,
+ token_id: U256,
) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
@@ -888,7 +883,7 @@
/// @param tokenId The RFT to transfer
#[solidity(hide)]
#[weight(<SelfWeightOf<T>>::burn_from())]
- fn burn_from(&mut self, caller: caller, from: address, token_id: uint256) -> Result<()> {
+ fn burn_from(&mut self, caller: caller, from: address, token_id: U256) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
let token = token_id.try_into()?;
@@ -916,7 +911,7 @@
&mut self,
caller: caller,
from: eth::CrossAddress,
- token_id: uint256,
+ token_id: U256,
) -> Result<()> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
@@ -934,7 +929,7 @@
}
/// @notice Returns next free RFT ID.
- fn next_token_id(&self) -> Result<uint256> {
+ fn next_token_id(&self) -> Result<U256> {
self.consume_store_reads(1)?;
Ok(<TokensMinted<T>>::get(self.id)
.checked_add(1)
@@ -949,7 +944,7 @@
/// @param tokenIds IDs of the minted RFTs
#[solidity(hide)]
#[weight(<SelfWeightOf<T>>::create_multiple_items(token_ids.len() as u32))]
- fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<uint256>) -> Result<bool> {
+ fn mint_bulk(&mut self, caller: caller, to: address, token_ids: Vec<U256>) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let mut expected_index = <TokensMinted<T>>::get(self.id)
@@ -996,7 +991,7 @@
&mut self,
caller: caller,
to: address,
- tokens: Vec<(uint256, string)>,
+ tokens: Vec<(U256, string)>,
) -> Result<bool> {
let key = key::url();
let caller = T::CrossAccountId::from_eth(caller);
@@ -1054,7 +1049,7 @@
caller: caller,
to: eth::CrossAddress,
properties: Vec<eth::Property>,
- ) -> Result<uint256> {
+ ) -> Result<U256> {
let token_id = <TokensMinted<T>>::get(self.id)
.checked_add(1)
.ok_or("item id overflow")?;
@@ -1093,7 +1088,7 @@
/// Returns EVM address for refungible token
///
/// @param token ID of the token
- fn token_contract_address(&self, token: uint256) -> Result<address> {
+ fn token_contract_address(&self, token: U256) -> Result<address> {
Ok(T::EvmTokenAddressMapping::token_to_address(
self.id,
token.try_into().map_err(|_| "token id overflow")?,
pallets/refungible/src/erc_token.rsdiffbeforeafterboth--- a/pallets/refungible/src/erc_token.rs
+++ b/pallets/refungible/src/erc_token.rs
@@ -37,6 +37,7 @@
use pallet_evm_coder_substrate::{call, dispatch_to_evm, WithRecorder};
use pallet_structure::{SelfWeightOf as StructureWeight, weights::WeightInfo as _};
use sp_std::vec::Vec;
+use sp_core::U256;
use up_data_structs::TokenId;
use crate::{
@@ -55,7 +56,7 @@
Ok(collection_id_to_address(self.id))
}
- fn parent_token_id(&self) -> Result<uint256> {
+ fn parent_token_id(&self) -> Result<U256> {
Ok(self.1.into())
}
}
@@ -71,7 +72,7 @@
from: address,
#[indexed]
to: address,
- value: uint256,
+ value: U256,
},
/// @dev This event is emitted when the amount of tokens (value) is approved
/// by the owner to be used by the spender.
@@ -80,7 +81,7 @@
owner: address,
#[indexed]
spender: address,
- value: uint256,
+ value: U256,
},
}
@@ -103,7 +104,7 @@
}
/// @dev Total number of tokens in existence
- fn total_supply(&self) -> Result<uint256> {
+ fn total_supply(&self) -> Result<U256> {
self.consume_store_reads(1)?;
Ok(<TotalSupply<T>>::get((self.id, self.1)).into())
}
@@ -117,7 +118,7 @@
/// @dev Gets the balance of the specified address.
/// @param owner The address to query the balance of.
/// @return An uint256 representing the amount owned by the passed address.
- fn balance_of(&self, owner: address) -> Result<uint256> {
+ fn balance_of(&self, owner: address) -> Result<U256> {
self.consume_store_reads(1)?;
let owner = T::CrossAccountId::from_eth(owner);
let balance = <Balance<T>>::get((self.id, self.1, owner));
@@ -128,7 +129,7 @@
/// @param to The address to transfer to.
/// @param amount The amount to be transferred.
#[weight(<CommonWeights<T>>::transfer())]
- fn transfer(&mut self, caller: caller, to: address, amount: uint256) -> Result<bool> {
+ fn transfer(&mut self, caller: caller, to: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = T::CrossAccountId::from_eth(to);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -151,7 +152,7 @@
caller: caller,
from: address,
to: address,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
@@ -174,7 +175,7 @@
/// @param spender The address which will spend the funds.
/// @param amount The amount of tokens to be spent.
#[weight(<SelfWeightOf<T>>::approve())]
- fn approve(&mut self, caller: caller, spender: address, amount: uint256) -> Result<bool> {
+ fn approve(&mut self, caller: caller, spender: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let spender = T::CrossAccountId::from_eth(spender);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -188,7 +189,7 @@
/// @param owner address The address which owns the funds.
/// @param spender address The address which will spend the funds.
/// @return A uint256 specifying the amount of tokens still available for the spender.
- fn allowance(&self, owner: address, spender: address) -> Result<uint256> {
+ fn allowance(&self, owner: address, spender: address) -> Result<U256> {
self.consume_store_reads(1)?;
let owner = T::CrossAccountId::from_eth(owner);
let spender = T::CrossAccountId::from_eth(spender);
@@ -208,7 +209,7 @@
/// @param amount The amount that will be burnt.
#[weight(<SelfWeightOf<T>>::burn_from())]
#[solidity(hide)]
- fn burn_from(&mut self, caller: caller, from: address, amount: uint256) -> Result<bool> {
+ fn burn_from(&mut self, caller: caller, from: address, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = T::CrossAccountId::from_eth(from);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -230,7 +231,7 @@
&mut self,
caller: caller,
from: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
@@ -256,7 +257,7 @@
&mut self,
caller: caller,
spender: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let spender = spender.into_sub_cross_account::<T>()?;
@@ -270,7 +271,7 @@
/// Throws if `msg.sender` doesn't owns all of the tokens.
/// @param amount New total amount of the tokens.
#[weight(<SelfWeightOf<T>>::repartition_item())]
- fn repartition(&mut self, caller: caller, amount: uint256) -> Result<bool> {
+ fn repartition(&mut self, caller: caller, amount: U256) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let amount = amount.try_into().map_err(|_| "amount overflow")?;
@@ -286,7 +287,7 @@
&mut self,
caller: caller,
to: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let to = to.into_sub_cross_account::<T>()?;
@@ -310,7 +311,7 @@
caller: caller,
from: pallet_common::eth::CrossAddress,
to: pallet_common::eth::CrossAddress,
- amount: uint256,
+ amount: U256,
) -> Result<bool> {
let caller = T::CrossAccountId::from_eth(caller);
let from = from.into_sub_cross_account::<T>()?;
tests/src/eth/abi/nonFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/nonFungible.json
+++ b/tests/src/eth/abi/nonFungible.json
@@ -51,6 +51,12 @@
},
{
"anonymous": false,
+ "inputs": [],
+ "name": "MintingFinished",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
"inputs": [
{
"indexed": true,
@@ -417,6 +423,13 @@
"type": "function"
},
{
+ "inputs": [],
+ "name": "finishMinting",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
"inputs": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }
],
@@ -504,6 +517,13 @@
},
{
"inputs": [],
+ "name": "mintingFinished",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
"name": "name",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "view",
tests/src/eth/abi/reFungible.jsondiffbeforeafterboth--- a/tests/src/eth/abi/reFungible.json
+++ b/tests/src/eth/abi/reFungible.json
@@ -51,6 +51,12 @@
},
{
"anonymous": false,
+ "inputs": [],
+ "name": "MintingFinished",
+ "type": "event"
+ },
+ {
+ "anonymous": false,
"inputs": [
{
"indexed": true,
@@ -399,6 +405,13 @@
"type": "function"
},
{
+ "inputs": [],
+ "name": "finishMinting",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
"inputs": [
{ "internalType": "uint256", "name": "tokenId", "type": "uint256" }
],
@@ -486,6 +499,13 @@
},
{
"inputs": [],
+ "name": "mintingFinished",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "view",
+ "type": "function"
+ },
+ {
+ "inputs": [],
"name": "name",
"outputs": [{ "internalType": "string", "name": "", "type": "string" }],
"stateMutability": "view",
tests/src/eth/abi/reFungibleToken.jsondiffbeforeafterboth--- a/tests/src/eth/abi/reFungibleToken.json
+++ b/tests/src/eth/abi/reFungibleToken.json
@@ -98,6 +98,16 @@
},
{
"inputs": [
+ { "internalType": "address", "name": "from", "type": "address" },
+ { "internalType": "uint256", "name": "amount", "type": "uint256" }
+ ],
+ "name": "burnFrom",
+ "outputs": [{ "internalType": "bool", "name": "", "type": "bool" }],
+ "stateMutability": "nonpayable",
+ "type": "function"
+ },
+ {
+ "inputs": [
{
"components": [
{ "internalType": "address", "name": "eth", "type": "address" },