difftreelog
CORE-386 Fix error case
in: master
3 files changed
pallets/common/src/erc.rsdiffbeforeafterboth105 .confirm_sponsorship(caller.as_sub())105 .confirm_sponsorship(caller.as_sub())106 .map_err(dispatch_to_evm::<T>)?106 .map_err(dispatch_to_evm::<T>)?107 {107 {108 return Err("Caller is not set as sponsor".into());108 return Err("caller is not set as sponsor".into());109 }109 }110 save(self)110 save(self)111 }111 }136 }136 }137 _ => {137 _ => {138 return Err(Error::Revert(format!(138 return Err(Error::Revert(format!(139 "Unknown integer limit \"{}\"",139 "unknown integer limit \"{}\"",140 limit140 limit141 )))141 )))142 }142 }163 }163 }164 _ => {164 _ => {165 return Err(Error::Revert(format!(165 return Err(Error::Revert(format!(166 "Unknown boolean limit \"{}\"",166 "unknown boolean limit \"{}\"",167 limit167 limit168 )))168 )))169 }169 }244 collections: Vec<address>,244 collections: Vec<address>,245 ) -> Result<void> {245 ) -> Result<void> {246 if collections.is_empty() {246 if collections.is_empty() {247 return Err("No addresses provided".into());247 return Err("no addresses provided".into());248 }248 }249 if collections.len() >= OwnerRestrictedSet::bound() {249 if collections.len() >= OwnerRestrictedSet::bound() {250 return Err(Error::Revert(format!(250 return Err(Error::Revert(format!(251 "Out of bound: {} >= {}",251 "out of bound: {} >= {}",252 collections.len(),252 collections.len(),253 OwnerRestrictedSet::bound()253 OwnerRestrictedSet::bound()254 )));254 )));261 let mut bv = OwnerRestrictedSet::new();261 let mut bv = OwnerRestrictedSet::new();262 for i in collections {262 for i in collections {263 bv.try_insert(crate::eth::map_eth_to_id(&i).ok_or_else(|| {263 bv.try_insert(crate::eth::map_eth_to_id(&i).ok_or_else(|| {264 Error::Revert("Can't convert address into collection id".into())264 Error::Revert("can't convert address into collection id".into())265 })?)265 })?)266 .map_err(|e| Error::Revert(format!("{:?}", e)))?;266 .map_err(|e| Error::Revert(format!("{:?}", e)))?;267 }267 }286 access: Some(match mode {286 access: Some(match mode {287 0 => AccessMode::Normal,287 0 => AccessMode::Normal,288 1 => AccessMode::AllowList,288 1 => AccessMode::AllowList,289 _ => return Err("Not supported access mode".into()),289 _ => return Err("not supported access mode".into()),290 }),290 }),291 ..Default::default()291 ..Default::default()292 };292 };tests/src/eth/contractSponsoring.test.tsdiffbeforeafterboth233 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;233 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;234 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;234 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;235 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));235 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));236 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('Caller is not set as sponsor');236 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');237237238 await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});238 await collectionEvm.methods.confirmCollectionSponsorship().send({from: sponsor});239 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;239 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;302 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;302 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;303 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;303 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;304 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));304 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));305 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('Caller is not set as sponsor');305 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');306 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);306 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);307 await sponsorCollection.methods.confirmCollectionSponsorship().send();307 await sponsorCollection.methods.confirmCollectionSponsorship().send();308 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;308 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;tests/src/eth/createCollection.test.tsdiffbeforeafterboth80 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;80 expect(collectionSub.sponsorship.isUnconfirmed).to.be.true;81 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;81 const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;82 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));82 expect(collectionSub.sponsorship.asUnconfirmed.toHuman()).to.be.eq(evmToAddress(sponsor, Number(ss58Format)));83 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('Caller is not set as sponsor');83 await expect(collectionEvm.methods.confirmCollectionSponsorship().call()).to.be.rejectedWith('caller is not set as sponsor');84 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);84 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);85 await sponsorCollection.methods.confirmCollectionSponsorship().send();85 await sponsorCollection.methods.confirmCollectionSponsorship().send();86 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;86 collectionSub = (await getDetailedCollectionInfo(api, collectionId))!;208 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);208 const sponsorCollection = evmCollection(web3, sponsor, collectionIdAddress);209 await expect(sponsorCollection.methods209 await expect(sponsorCollection.methods210 .confirmCollectionSponsorship()210 .confirmCollectionSponsorship()211 .call()).to.be.rejectedWith('Caller is not set as sponsor');211 .call()).to.be.rejectedWith('caller is not set as sponsor');212 }212 }213 {213 {214 await expect(contractEvmFromNotOwner.methods214 await expect(contractEvmFromNotOwner.methods225 const collectionEvm = evmCollection(web3, owner, collectionIdAddress);225 const collectionEvm = evmCollection(web3, owner, collectionIdAddress);226 await expect(collectionEvm.methods226 await expect(collectionEvm.methods227 .setCollectionLimit('badLimit', 'true')227 .setCollectionLimit('badLimit', 'true')228 .call()).to.be.rejectedWith('Unknown boolean limit "badLimit"');228 .call()).to.be.rejectedWith('unknown boolean limit "badLimit"');229 });229 });230});230});