difftreelog
feat dispatch call to Native fingible
in: master
6 files changed
pallets/common/src/dispatch.rsdiffbeforeafterboth--- a/pallets/common/src/dispatch.rs
+++ b/pallets/common/src/dispatch.rs
@@ -94,9 +94,6 @@
/// * `handle` - Collection handle.
fn dispatch(handle: CollectionHandle<T>) -> Self;
- /// Get the collection handle for the corresponding implementation.
- fn into_inner(self) -> CollectionHandle<T>;
-
/// Get the implementation of [`CommonCollectionOperations`].
fn as_dyn(&self) -> &dyn CommonCollectionOperations<T>;
}
pallets/common/src/lib.rsdiffbeforeafterboth--- a/pallets/common/src/lib.rs
+++ b/pallets/common/src/lib.rs
@@ -125,11 +125,7 @@
impl<T: Config> CollectionHandle<T> {
/// Same as [CollectionHandle::new] but with an explicit gas limit.
pub fn new_with_gas_limit(id: CollectionId, gas_limit: u64) -> Option<Self> {
- <CollectionById<T>>::get(id).map(|collection| Self {
- id,
- collection,
- recorder: SubstrateRecorder::new(gas_limit),
- })
+ Self::new_with_recorder(id, SubstrateRecorder::new(gas_limit))
}
/// Same as [CollectionHandle::new] but with an existed [`SubstrateRecorder`].
runtime/common/dispatch.rsdiffbeforeafterboth118 }118 }119 }119 }120121 fn into_inner(self) -> CollectionHandle<T> {122 match self {123 Self::Fungible(f) => f.into_inner(),124 Self::Nonfungible(f) => f.into_inner(),125 Self::Refungible(f) => f.into_inner(),126 Self::NativeFungible(f) => f.into_inner(),127 }128 }129120130 fn as_dyn(&self) -> &dyn CommonCollectionOperations<T> {121 fn as_dyn(&self) -> &dyn CommonCollectionOperations<T> {131 match self {122 match self {189 Self::Fungible(h) => h.call(handle),180 Self::Fungible(h) => h.call(handle),190 Self::Nonfungible(h) => h.call(handle),181 Self::Nonfungible(h) => h.call(handle),191 Self::Refungible(h) => h.call(handle),182 Self::Refungible(h) => h.call(handle),192 Self::NativeFungible(f) => todo!(),183 Self::NativeFungible(h) => h.call(handle),193 }184 }194 } else if let Some((collection_id, token_id)) =185 } else if let Some((collection_id, token_id)) =195 <T as pallet_common::Config>::EvmTokenAddressMapping::address_to_token(186 <T as pallet_common::Config>::EvmTokenAddressMapping::address_to_token(tests/src/eth/fungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/fungible.test.ts
+++ b/tests/src/eth/fungible.test.ts
@@ -33,7 +33,7 @@
'substrate' as const,
'ethereum' as const,
].map(testCase => {
- itEth(`Can perform mintCross() for ${testCase} address`, async ({helper}) => {
+ itEth.only(`Can perform mintCross() for ${testCase} address`, async ({helper}) => {
// 1. Create receiver depending on the test case:
const receiverEth = helper.eth.createAccount();
const receiverCrossEth = helper.ethCrossAccount.fromAddress(receiverEth);
tests/src/eth/nativeFungible.test.tsdiffbeforeafterboth--- a/tests/src/eth/nativeFungible.test.ts
+++ b/tests/src/eth/nativeFungible.test.ts
@@ -38,7 +38,6 @@
const collectionAddress = helper.ethAddress.fromCollectionId(0);
const contract = await helper.ethNativeContract.collection(collectionAddress, 'ft', owner);
-
await contract.methods.approve(spender, 100).send({from: owner});
});
});
\ No newline at end of file
tests/src/eth/util/playgrounds/unique.dev.tsdiffbeforeafterboth--- a/tests/src/eth/util/playgrounds/unique.dev.ts
+++ b/tests/src/eth/util/playgrounds/unique.dev.ts
@@ -142,7 +142,7 @@
async collection(address: string, mode: TCollectionMode, caller?: string, mergeDeprecated = false) {
let abi;
- if (address === '0' && mode === 'ft') {
+ if (address === '0x17C4e6453cC49aaAAEaCA894E6d9683e00000000' && mode === 'ft') {
abi = nativeFungibleAbi;
} else {
abi ={