From e137eba0a7ea4aff54905e2df3c631144df2d01b Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Thu, 25 Aug 2022 13:38:36 +0000 Subject: [PATCH] fix: small fixes --- --- a/pallets/common/src/erc.rs +++ b/pallets/common/src/erc.rs @@ -179,15 +179,19 @@ /// /// @return Tuble with sponsor address and his substrate mirror. If there is no confirmed sponsor error "Contract has no sponsor" throw. fn get_collection_sponsor(&self) -> Result<(address, uint256)> { - let sponsor = match self.collection.sponsorship { - SponsorshipState::Disabled | SponsorshipState::Unconfirmed(_) => { - return Ok(Default::default()) - } - SponsorshipState::Confirmed(ref sponsor) => sponsor, + let sponsor = match self.collection.sponsorship.sponsor() { + Some(sponsor) => sponsor, + None => return Ok(Default::default()), }; let sponsor = T::CrossAccountId::from_sub(sponsor.clone()); - let sponsor_sub = convert_cross_account_to_uint256::(&sponsor); - Ok((*sponsor.as_eth(), sponsor_sub)) + let result: (address, uint256) = if sponsor.is_canonical_substrate() { + let sponsor = convert_cross_account_to_uint256::(&sponsor); + (Default::default(), sponsor) + } else { + let sponsor = *sponsor.as_eth(); + (sponsor, Default::default()) + }; + Ok(result) } /// Set limits for the collection. --- a/pallets/common/src/eth.rs +++ b/pallets/common/src/eth.rs @@ -64,7 +64,7 @@ where T::AccountId: From<[u8; 32]>, { - let mut new_admin_arr: [u8; 32] = Default::default(); + let mut new_admin_arr = [0_u8; 32]; from.to_big_endian(&mut new_admin_arr); let account_id = T::AccountId::from(new_admin_arr); T::CrossAccountId::from_sub(account_id) --- a/pallets/fungible/CHANGELOG.md +++ b/pallets/fungible/CHANGELOG.md @@ -5,7 +5,7 @@ ## [v0.1.4] - 2022-08-24 ### Change - - Add bound `AsRef<[u8]>` to `T::CrossAccountId`. + - Add bound `AsRef<[u8; 32]>` to `T::CrossAccountId`. ## [v0.1.3] 2022-08-16 --- a/pallets/nonfungible/CHANGELOG.md +++ b/pallets/nonfungible/CHANGELOG.md @@ -5,7 +5,7 @@ ## [v0.1.5] - 2022-08-24 ### Change - - Add bound `AsRef<[u8]>` to `T::CrossAccountId`. + - Add bound `AsRef<[u8; 32]>` to `T::CrossAccountId`. ## [v0.1.4] 2022-08-16 --- a/pallets/refungible/CHANGELOG.md +++ b/pallets/refungible/CHANGELOG.md @@ -5,7 +5,7 @@ ## [v0.2.4] - 2022-08-24 ### Change - - Add bound `AsRef<[u8]>` to `T::CrossAccountId`. + - Add bound `AsRef<[u8; 32]>` to `T::CrossAccountId`. ## [v0.2.3] 2022-08-16 --- a/tests/src/eth/collectionSponsoring.test.ts +++ b/tests/src/eth/collectionSponsoring.test.ts @@ -1,4 +1,4 @@ -import {addToAllowListExpectSuccess, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, enablePublicMintingExpectSuccess, getDetailedCollectionInfo, setCollectionSponsorExpectSuccess} from '../util/helpers'; +import {addToAllowListExpectSuccess, bigIntToSub, confirmSponsorshipExpectSuccess, createCollectionExpectSuccess, enablePublicMintingExpectSuccess, getDetailedCollectionInfo, setCollectionSponsorExpectSuccess} from '../util/helpers'; import {itWeb3, createEthAccount, collectionIdToAddress, GAS_ARGS, normalizeEvents, createEthAccountWithBalance, evmCollectionHelpers, getCollectionAddressFromResult, evmCollection, ethBalanceViaSub, subToEth} from './util/helpers'; import nonFungibleAbi from './nonFungibleAbi.json'; import {expect} from 'chai'; @@ -57,7 +57,7 @@ expect(await collectionEvm.methods.hasCollectionPendingSponsor().call({from: owner})).to.be.false; const sponsorTuple = await collectionEvm.methods.getCollectionSponsor().call({from: owner}); - expect(sponsorTuple.field_0).to.be.eq(subToEth(sponsor.address)); + expect(bigIntToSub(api, BigInt(sponsorTuple[1]))).to.be.eq(sponsor.address); }); itWeb3('Remove sponsor', async ({api, web3, privateKeyWrapper}) => { --- a/tests/src/util/helpers.ts +++ b/tests/src/util/helpers.ts @@ -99,6 +99,10 @@ } } +export function bigIntToSub(api: ApiPromise, number: bigint) { + return api.registry.createType('AccountId', '0x' + number.toString(16).padStart(64, '0')).toJSON(); +} + export function normalizeAccountId(input: string | AccountId | CrossAccountId | IKeyringPair): CrossAccountId { if (typeof input === 'string') { if (input.length >= 47) { -- gitstuff