git.delta.rocks / unique-network / refs/commits / 0a7dd513e470

difftreelog

yarn fix

Daniel Shiposha2022-07-04parent: #86d26e3.patch.diff
in: master

23 files changed

modifiedtests/src/rmrk/acceptNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/acceptNft.test.ts
+++ b/tests/src/rmrk/acceptNft.test.ts
@@ -1,103 +1,103 @@
-import { expect } from "chai";
-import { getApiConnection } from "../substrate/substrate-api";
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
 import {
-    createCollection,
-    mintNft,
-    sendNft,
-    acceptNft
-} from "./util/tx";
-import { NftIdTuple } from "./util/fetch";
-import { isNftChildOfAnother, expectTxFailure } from "./util/helpers";
+  createCollection,
+  mintNft,
+  sendNft,
+  acceptNft,
+} from './util/tx';
+import {NftIdTuple} from './util/fetch';
+import {isNftChildOfAnother, expectTxFailure} from './util/helpers';
 
-describe("integration test: accept NFT", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: accept NFT', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = "//Alice";
-    const bob = "//Bob";
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    const createTestCollection = async (issuerUri: string) => {
-        return await createCollection(
-            api,
-            issuerUri,
-            "accept-metadata",
-            null,
-            "acpt"
-        );
-    }
+  const createTestCollection = async (issuerUri: string) => {
+    return await createCollection(
+      api,
+      issuerUri,
+      'accept-metadata',
+      null,
+      'acpt',
+    );
+  };
 
-    it("accept NFT", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('accept NFT', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        await sendNft(api, "pending", ownerBob, bobCollectionId, childNftId, newOwnerNFT);
-        await acceptNft(api, alice, bobCollectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);
+    await acceptNft(api, alice, bobCollectionId, childNftId, newOwnerNFT);
 
-        const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.true;
-    });
+    const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.true;
+  });
 
-    it("[negative] unable to accept NFT by a not-an-owner", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('[negative] unable to accept NFT by a not-an-owner', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        await sendNft(api, "pending", ownerBob, bobCollectionId, childNftId, newOwnerNFT);
-        const tx = acceptNft(api, bob, bobCollectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);
+    const tx = acceptNft(api, bob, bobCollectionId, childNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it("[negative] unable to accept non-existing NFT", async () => {
-        const collectionId = 0;
-        const maxNftId = 0xFFFFFFFF;
+  it('[negative] unable to accept non-existing NFT', async () => {
+    const collectionId = 0;
+    const maxNftId = 0xFFFFFFFF;
 
-        const owner = alice;
-        const aliceCollectionId = await createTestCollection(alice);
+    const owner = alice;
+    const aliceCollectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, owner, aliceCollectionId, "parent-nft-metadata");
+    const parentNftId = await mintNft(api, alice, owner, aliceCollectionId, 'parent-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        const tx = acceptNft(api, alice, collectionId, maxNftId, newOwnerNFT);
+    const tx = acceptNft(api, alice, collectionId, maxNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+  });
 
-    it("[negative] unable to accept NFT which is not sent", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('[negative] unable to accept NFT which is not sent', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        const tx = acceptNft(api, alice, bobCollectionId, childNftId, newOwnerNFT);
+    const tx = acceptNft(api, alice, bobCollectionId, childNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
 
-        const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.false;
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/addResource.test.tsdiffbeforeafterboth
1import { expect } from "chai";1import {expect} from 'chai';
2import { getApiConnection } from "../substrate/substrate-api";2import {getApiConnection} from '../substrate/substrate-api';
3import { NftIdTuple } from "./util/fetch";3import {NftIdTuple} from './util/fetch';
4import { expectTxFailure, getResourceById } from "./util/helpers";4import {expectTxFailure, getResourceById} from './util/helpers';
5import {5import {
6 addNftBasicResource,6 addNftBasicResource,
7 acceptNftResource,7 acceptNftResource,
10 sendNft,10 sendNft,
11 addNftSlotResource,11 addNftSlotResource,
12 addNftComposableResource,12 addNftComposableResource,
13} from "./util/tx";13} from './util/tx';
14import {RmrkTraitsResourceResourceInfo as ResourceInfo} from "@polkadot/types/lookup";14import {RmrkTraitsResourceResourceInfo as ResourceInfo} from '@polkadot/types/lookup';
1515
16describe("integration test: add NFT resource", () => {16describe('integration test: add NFT resource', () => {
17 const Alice = "//Alice";17 const Alice = '//Alice';
18 const Bob = "//Bob";18 const Bob = '//Bob';
19 const src = "test-res-src";19 const src = 'test-res-src';
20 const metadata = "test-res-metadata";20 const metadata = 'test-res-metadata';
21 const license = "test-res-license";21 const license = 'test-res-license';
22 const thumb = "test-res-thumb";22 const thumb = 'test-res-thumb';
2323
24 const nonexistentId = 99999;24 const nonexistentId = 99999;
2525
28 api = await getApiConnection();28 api = await getApiConnection();
29 });29 });
3030
31 it("add resource", async () => {31 it('add resource', async () => {
32 const collectionIdAlice = await createCollection(32 const collectionIdAlice = await createCollection(
33 api,33 api,
34 Alice,34 Alice,
35 "test-metadata",35 'test-metadata',
36 null,36 null,
37 "test-symbol"37 'test-symbol',
38 );38 );
3939
40 const nftAlice = await mintNft(40 const nftAlice = await mintNft(
41 api,41 api,
42 Alice,42 Alice,
43 Alice,43 Alice,
44 collectionIdAlice,44 collectionIdAlice,
45 "nft-metadata"45 'nft-metadata',
46 );46 );
4747
48 await addNftBasicResource(48 await addNftBasicResource(
49 api,49 api,
50 Alice,50 Alice,
51 "added",51 'added',
52 collectionIdAlice,52 collectionIdAlice,
53 nftAlice,53 nftAlice,
54 src,54 src,
55 metadata,55 metadata,
56 license,56 license,
57 thumb57 thumb,
58 );58 );
59 });59 });
6060
61 it('add a resource to the nested NFT', async () => {61 it('add a resource to the nested NFT', async () => {
62 const collectionIdAlice = await createCollection(62 const collectionIdAlice = await createCollection(
63 api,63 api,
64 Alice,64 Alice,
65 "test-metadata",65 'test-metadata',
66 null,66 null,
67 "test-symbol"67 'test-symbol',
68 );68 );
6969
70 const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "parent-nft-metadata");70 const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'parent-nft-metadata');
71 const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "child-nft-metadata");71 const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'child-nft-metadata');
7272
73 const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];73 const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
7474
75 await sendNft(api, "sent", Alice, collectionIdAlice, childNftId, newOwnerNFT);75 await sendNft(api, 'sent', Alice, collectionIdAlice, childNftId, newOwnerNFT);
7676
77 await addNftBasicResource(77 await addNftBasicResource(
78 api,78 api,
79 Alice,79 Alice,
80 "added",80 'added',
81 collectionIdAlice,81 collectionIdAlice,
82 childNftId,82 childNftId,
83 src,83 src,
84 metadata,84 metadata,
85 license,85 license,
86 thumb86 thumb,
87 );87 );
88 });88 });
8989
90 it('add multiple resources', async () => {90 it('add multiple resources', async () => {
91 const collectionIdAlice = await createCollection(91 const collectionIdAlice = await createCollection(
92 api,92 api,
93 Alice,93 Alice,
94 "test-metadata",94 'test-metadata',
95 null,95 null,
96 "test-symbol"96 'test-symbol',
97 );97 );
9898
99 const nftAlice = await mintNft(99 const nftAlice = await mintNft(
100 api,100 api,
101 Alice,101 Alice,
102 Alice,102 Alice,
103 collectionIdAlice,103 collectionIdAlice,
104 "nft-metadata"104 'nft-metadata',
105 );105 );
106106
107 const baseId = 42;107 const baseId = 42;
108 const slotId = 10;108 const slotId = 10;
109 const parts = [0, 5, 2];109 const parts = [0, 5, 2];
110110
111 let resourcesInfo = [];111 const resourcesInfo = [];
112 const resourceNum = 4;112 const resourceNum = 4;
113113
114 const checkResource = async (resource: ResourceInfo, resType: string, expectedId: number, expected: {114 const checkResource = async (resource: ResourceInfo, resType: string, expectedId: number, expected: {
151 const firstBasicResourceId = await addNftBasicResource(151 const firstBasicResourceId = await addNftBasicResource(
152 api,152 api,
153 Alice,153 Alice,
154 "added",154 'added',
155 collectionIdAlice,155 collectionIdAlice,
156 nftAlice,156 nftAlice,
157 resourcesInfo[0].src,157 resourcesInfo[0].src,
158 resourcesInfo[0].metadata,158 resourcesInfo[0].metadata,
159 resourcesInfo[0].license,159 resourcesInfo[0].license,
160 resourcesInfo[0].thumb160 resourcesInfo[0].thumb,
161 );161 );
162162
163 const secondBasicResourceId = await addNftBasicResource(163 const secondBasicResourceId = await addNftBasicResource(
164 api,164 api,
165 Alice,165 Alice,
166 "added",166 'added',
167 collectionIdAlice,167 collectionIdAlice,
168 nftAlice,168 nftAlice,
169 resourcesInfo[1].src,169 resourcesInfo[1].src,
170 resourcesInfo[1].metadata,170 resourcesInfo[1].metadata,
171 resourcesInfo[1].license,171 resourcesInfo[1].license,
172 resourcesInfo[1].thumb172 resourcesInfo[1].thumb,
173 );173 );
174174
175 const composableResourceId = await addNftComposableResource(175 const composableResourceId = await addNftComposableResource(
176 api,176 api,
177 Alice,177 Alice,
178 "added",178 'added',
179 collectionIdAlice,179 collectionIdAlice,
180 nftAlice,180 nftAlice,
181 parts,181 parts,
189 const slotResourceId = await addNftSlotResource(189 const slotResourceId = await addNftSlotResource(
190 api,190 api,
191 Alice,191 Alice,
192 "added",192 'added',
193 collectionIdAlice,193 collectionIdAlice,
194 nftAlice,194 nftAlice,
195 baseId,195 baseId,
196 slotId,196 slotId,
197 resourcesInfo[3].src,197 resourcesInfo[3].src,
198 resourcesInfo[3].metadata,198 resourcesInfo[3].metadata,
199 resourcesInfo[3].license,199 resourcesInfo[3].license,
200 resourcesInfo[3].thumb200 resourcesInfo[3].thumb,
201 );201 );
202202
203 const firstResource = await getResourceById(api, collectionIdAlice, nftAlice, firstBasicResourceId);203 const firstResource = await getResourceById(api, collectionIdAlice, nftAlice, firstBasicResourceId);
217 const collectionIdAlice = await createCollection(217 const collectionIdAlice = await createCollection(
218 api,218 api,
219 Alice,219 Alice,
220 "test-metadata",220 'test-metadata',
221 null,221 null,
222 "test-symbol"222 'test-symbol',
223 );223 );
224224
225 const tx = addNftBasicResource(225 const tx = addNftBasicResource(
226 api,226 api,
227 Alice,227 Alice,
228 "added",228 'added',
229 collectionIdAlice,229 collectionIdAlice,
230 nonexistentId,230 nonexistentId,
231 src,231 src,
232 metadata,232 metadata,
233 license,233 license,
234 thumb234 thumb,
235 );235 );
236 236
237 await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);237 await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
241 const collectionIdAlice = await createCollection(241 const collectionIdAlice = await createCollection(
242 api,242 api,
243 Alice,243 Alice,
244 "test-metadata",244 'test-metadata',
245 null,245 null,
246 "test-symbol"246 'test-symbol',
247 );247 );
248248
249 const nftAlice = await mintNft(249 const nftAlice = await mintNft(
250 api,250 api,
251 Alice,251 Alice,
252 Alice,252 Alice,
253 collectionIdAlice,253 collectionIdAlice,
254 "nft-metadata"254 'nft-metadata',
255 );255 );
256256
257 const tx = addNftBasicResource(257 const tx = addNftBasicResource(
258 api,258 api,
259 Bob,259 Bob,
260 "added",260 'added',
261 collectionIdAlice,261 collectionIdAlice,
262 nftAlice,262 nftAlice,
263 src,263 src,
264 metadata,264 metadata,
265 license,265 license,
266 thumb266 thumb,
267 );267 );
268 268
269 await expectTxFailure(/rmrkCore\.NoPermission/, tx);269 await expectTxFailure(/rmrkCore\.NoPermission/, tx);
273 const collectionIdAlice = await createCollection(273 const collectionIdAlice = await createCollection(
274 api,274 api,
275 Alice,275 Alice,
276 "test-metadata",276 'test-metadata',
277 null,277 null,
278 "test-symbol"278 'test-symbol',
279 );279 );
280280
281 const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "parent-nft-metadata");281 const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'parent-nft-metadata');
282 const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "child-nft-metadata");282 const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'child-nft-metadata');
283283
284 const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];284 const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
285285
286 await sendNft(api, "sent", Alice, collectionIdAlice, childNftId, newOwnerNFT);286 await sendNft(api, 'sent', Alice, collectionIdAlice, childNftId, newOwnerNFT);
287287
288 const tx = addNftBasicResource(288 const tx = addNftBasicResource(
289 api,289 api,
290 Bob,290 Bob,
291 "added",291 'added',
292 collectionIdAlice,292 collectionIdAlice,
293 childNftId,293 childNftId,
294 src,294 src,
295 metadata,295 metadata,
296 license,296 license,
297 thumb297 thumb,
298 );298 );
299 299
300 await expectTxFailure(/rmrkCore\.NoPermission/, tx);300 await expectTxFailure(/rmrkCore\.NoPermission/, tx);
301 });301 });
302302
303 it("accept resource", async () => {303 it('accept resource', async () => {
304 const collectionIdBob = await createCollection(304 const collectionIdBob = await createCollection(
305 api,305 api,
306 Bob,306 Bob,
307 "test-metadata",307 'test-metadata',
308 null,308 null,
309 "test-symbol"309 'test-symbol',
310 );310 );
311311
312 const nftAlice = await mintNft(312 const nftAlice = await mintNft(
313 api,313 api,
314 Bob,314 Bob,
315 Alice,315 Alice,
316 collectionIdBob,316 collectionIdBob,
317 "nft-metadata"317 'nft-metadata',
318 );318 );
319319
320 const resourceId = await addNftBasicResource(320 const resourceId = await addNftBasicResource(
321 api,321 api,
322 Bob,322 Bob,
323 "pending",323 'pending',
324 collectionIdBob,324 collectionIdBob,
325 nftAlice,325 nftAlice,
326 src,326 src,
327 metadata,327 metadata,
328 license,328 license,
329 thumb329 thumb,
330 );330 );
331331
332 await acceptNftResource(api, Alice, collectionIdBob, nftAlice, resourceId);332 await acceptNftResource(api, Alice, collectionIdBob, nftAlice, resourceId);
333 });333 });
334334
335 it("[negative]: unable to accept a non-existing resource", async () => {335 it('[negative]: unable to accept a non-existing resource', async () => {
336 const collectionIdBob = await createCollection(336 const collectionIdBob = await createCollection(
337 api,337 api,
338 Bob,338 Bob,
339 "test-metadata",339 'test-metadata',
340 null,340 null,
341 "test-symbol"341 'test-symbol',
342 );342 );
343343
344 const nftAlice = await mintNft(344 const nftAlice = await mintNft(
345 api,345 api,
346 Bob,346 Bob,
347 Alice,347 Alice,
348 collectionIdBob,348 collectionIdBob,
349 "nft-metadata"349 'nft-metadata',
350 );350 );
351351
352 const tx = acceptNftResource(api, Alice, collectionIdBob, nftAlice, nonexistentId);352 const tx = acceptNftResource(api, Alice, collectionIdBob, nftAlice, nonexistentId);
353 await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);353 await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);
354 });354 });
355355
356 it("[negative]: unable to accept a resource by a not-an-NFT-owner user", async () => {356 it('[negative]: unable to accept a resource by a not-an-NFT-owner user', async () => {
357 const collectionIdBob = await createCollection(357 const collectionIdBob = await createCollection(
358 api,358 api,
359 Bob,359 Bob,
360 "test-metadata",360 'test-metadata',
361 null,361 null,
362 "test-symbol"362 'test-symbol',
363 );363 );
364364
365 const nftAlice = await mintNft(365 const nftAlice = await mintNft(
366 api,366 api,
367 Bob,367 Bob,
368 Alice,368 Alice,
369 collectionIdBob,369 collectionIdBob,
370 "nft-metadata"370 'nft-metadata',
371 );371 );
372372
373 const resourceId = await addNftBasicResource(373 const resourceId = await addNftBasicResource(
374 api,374 api,
375 Bob,375 Bob,
376 "pending",376 'pending',
377 collectionIdBob,377 collectionIdBob,
378 nftAlice,378 nftAlice,
379 src,379 src,
380 metadata,380 metadata,
381 license,381 license,
382 thumb382 thumb,
383 );383 );
384384
385 const tx = acceptNftResource(api, Bob, collectionIdBob, nftAlice, resourceId);385 const tx = acceptNftResource(api, Bob, collectionIdBob, nftAlice, resourceId);
386386
387 await expectTxFailure(/rmrkCore\.NoPermission/, tx);387 await expectTxFailure(/rmrkCore\.NoPermission/, tx);
388 });388 });
389389
390 it("[negative]: unable to accept a resource to a non-target NFT", async () => {390 it('[negative]: unable to accept a resource to a non-target NFT', async () => {
391 const collectionIdBob = await createCollection(391 const collectionIdBob = await createCollection(
392 api,392 api,
393 Bob,393 Bob,
394 "test-metadata",394 'test-metadata',
395 null,395 null,
396 "test-symbol"396 'test-symbol',
397 );397 );
398398
399 const nftAlice = await mintNft(399 const nftAlice = await mintNft(
400 api,400 api,
401 Bob,401 Bob,
402 Alice,402 Alice,
403 collectionIdBob,403 collectionIdBob,
404 "nft-metadata"404 'nft-metadata',
405 );405 );
406406
407 const wrongNft = await mintNft(407 const wrongNft = await mintNft(
408 api,408 api,
409 Bob,409 Bob,
410 Alice,410 Alice,
411 collectionIdBob,411 collectionIdBob,
412 "nft-metadata"412 'nft-metadata',
413 );413 );
414 414
415 const resourceId = await addNftBasicResource(415 const resourceId = await addNftBasicResource(
416 api,416 api,
417 Bob,417 Bob,
418 "pending",418 'pending',
419 collectionIdBob,419 collectionIdBob,
420 nftAlice,420 nftAlice,
421 src,421 src,
422 metadata,422 metadata,
423 license,423 license,
424 thumb424 thumb,
425 );425 );
426426
427 const tx = acceptNftResource(api, Bob, collectionIdBob, wrongNft, resourceId);427 const tx = acceptNftResource(api, Bob, collectionIdBob, wrongNft, resourceId);
modifiedtests/src/rmrk/addTheme.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/addTheme.test.ts
+++ b/tests/src/rmrk/addTheme.test.ts
@@ -1,128 +1,126 @@
-import { expect } from 'chai';
-import { getApiConnection } from '../substrate/substrate-api';
-import { createBase, addTheme } from "./util/tx";
-import { expectTxFailure } from './util/helpers';
-import { getThemeNames } from './util/fetch';
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
+import {createBase, addTheme} from './util/tx';
+import {expectTxFailure} from './util/helpers';
+import {getThemeNames} from './util/fetch';
 
-describe("integration test: add Theme to Base", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: add Theme to Base', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = "//Alice";
-    const bob = "//Bob";
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    it("add default theme", async () => {
-        const baseId = await createBase(api, alice, "default-themed-base", "DTBase", []);
-        await addTheme(api, alice, baseId, {
-            name: "default",
-            properties: [
-                {
-                    key: "some-key",
-                    value: "some-key-value"
-                },
-                {
-                    key: "another-key",
-                    value: "another-key-value"
-                }
-            ]
-        });
+  it('add default theme', async () => {
+    const baseId = await createBase(api, alice, 'default-themed-base', 'DTBase', []);
+    await addTheme(api, alice, baseId, {
+      name: 'default',
+      properties: [
+        {
+          key: 'some-key',
+          value: 'some-key-value',
+        },
+        {
+          key: 'another-key',
+          value: 'another-key-value',
+        },
+      ],
     });
+  });
 
-    it("add default theme and a custom one", async () => {
-        const baseId = await createBase(api, alice, "2-themed-base", "2TBase", []);
-        await addTheme(api, alice, baseId, {
-            name: "default",
-            properties: [
-                {
-                    key: "default-key",
-                    value: "default-key-value"
-                }
-            ]
-        });
-        await addTheme(api, alice, baseId, {
-            name: "custom-theme",
-            properties: [
-                {
-                    key: "custom-key-0",
-                    value: "custom-key-value-0"
-                },
-                {
-                    key: "custom-key-1",
-                    value: "custom-key-value-1"
-                }
-            ]
-        })
+  it('add default theme and a custom one', async () => {
+    const baseId = await createBase(api, alice, '2-themed-base', '2TBase', []);
+    await addTheme(api, alice, baseId, {
+      name: 'default',
+      properties: [
+        {
+          key: 'default-key',
+          value: 'default-key-value',
+        },
+      ],
     });
-
-    it("fetch filtered theme keys", async () => {
-        const baseId = await createBase(api, alice, "2-themed-base", "2TBase", []);
-        await addTheme(api, alice, baseId, {
-            name: "default",
-            properties: [
-                {
-                    key: "first-key",
-                    value: "first-key-value"
-                },
-                {
-                    key: "second-key",
-                    value: "second-key-value"
-                }
-            ]
-        }, ["second-key"]);
+    await addTheme(api, alice, baseId, {
+      name: 'custom-theme',
+      properties: [
+        {
+          key: 'custom-key-0',
+          value: 'custom-key-value-0',
+        },
+        {
+          key: 'custom-key-1',
+          value: 'custom-key-value-1',
+        },
+      ],
     });
+  });
 
-    it("fetch theme names", async() => {
-        const baseId = await createBase(api, alice, "3-themed-base", "3TBase", []);
-        const names = [
-            "default",
-            "first-theme",
-            "second-theme"
-        ];
+  it('fetch filtered theme keys', async () => {
+    const baseId = await createBase(api, alice, '2-themed-base', '2TBase', []);
+    await addTheme(api, alice, baseId, {
+      name: 'default',
+      properties: [
+        {
+          key: 'first-key',
+          value: 'first-key-value',
+        },
+        {
+          key: 'second-key',
+          value: 'second-key-value',
+        },
+      ],
+    }, ['second-key']);
+  });
 
-        for (var i = 0; i < names.length; i++) {
-            await addTheme(api, alice, baseId, { name: names[i], properties: [{ key: 'dummy', value: 'dummy' }] });
-        }
+  it('fetch theme names', async() => {
+    const baseId = await createBase(api, alice, '3-themed-base', '3TBase', []);
+    const names = [
+      'default',
+      'first-theme',
+      'second-theme',
+    ];
 
-        const fetchedNames = await getThemeNames(api, baseId);
+    for (var i = 0; i < names.length; i++) {
+      await addTheme(api, alice, baseId, {name: names[i], properties: [{key: 'dummy', value: 'dummy'}]});
+    }
 
-        for (var i = 0; i < names.length; i++) {
-            const isFound = fetchedNames.find(
-                (name) => name === names[i]
-            ) !== undefined;
+    const fetchedNames = await getThemeNames(api, baseId);
 
-            expect(isFound, "Error: invalid theme names").to.be.true;
-        }
-    });
+    for (var i = 0; i < names.length; i++) {
+      const isFound = fetchedNames.find((name) => name === names[i]) !== undefined;
 
-    it("[negative] unable to add theme to non-existing base", async () => {
-        const maxBaseId = 0xFFFFFFFF;
-        const tx = addTheme(api, alice, maxBaseId, {
-            name: "default",
-            properties: []
-        });
+      expect(isFound, 'Error: invalid theme names').to.be.true;
+    }
+  });
 
-        await expectTxFailure(/rmrkEquip\.BaseDoesntExist/, tx);
+  it('[negative] unable to add theme to non-existing base', async () => {
+    const maxBaseId = 0xFFFFFFFF;
+    const tx = addTheme(api, alice, maxBaseId, {
+      name: 'default',
+      properties: [],
     });
 
-    it("[negative] unable to add custom theme if no default theme", async () => {
-        const baseId = await createBase(api, alice, "no-default-themed-base", "NDTBase", []);
-        const tx = addTheme(api, alice, baseId, {
-            name: "custom-theme",
-            properties: []
-        });
+    await expectTxFailure(/rmrkEquip\.BaseDoesntExist/, tx);
+  });
 
-        await expectTxFailure(/rmrkEquip\.NeedsDefaultThemeFirst/, tx);
+  it('[negative] unable to add custom theme if no default theme', async () => {
+    const baseId = await createBase(api, alice, 'no-default-themed-base', 'NDTBase', []);
+    const tx = addTheme(api, alice, baseId, {
+      name: 'custom-theme',
+      properties: [],
     });
 
-    it("[negative] unable to add theme by a not-an-owner", async () => {
-        const baseId = await createBase(api, alice, "no-default-themed-base", "NDTBase", []);
-        const tx = addTheme(api, bob, baseId, {
-            name: "default",
-            properties: []
-        });
+    await expectTxFailure(/rmrkEquip\.NeedsDefaultThemeFirst/, tx);
+  });
 
-        await expectTxFailure(/rmrkEquip\.PermissionError/, tx);
+  it('[negative] unable to add theme by a not-an-owner', async () => {
+    const baseId = await createBase(api, alice, 'no-default-themed-base', 'NDTBase', []);
+    const tx = addTheme(api, bob, baseId, {
+      name: 'default',
+      properties: [],
     });
 
-    after(() => { api.disconnect(); });
+    await expectTxFailure(/rmrkEquip\.PermissionError/, tx);
+  });
+
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/burnNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/burnNft.test.ts
+++ b/tests/src/rmrk/burnNft.test.ts
@@ -1,7 +1,7 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { expectTxFailure } from "./util/helpers";
-import { NftIdTuple, getChildren } from './util/fetch';
-import { burnNft, createCollection, sendNft, mintNft } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {NftIdTuple, getChildren} from './util/fetch';
+import {burnNft, createCollection, sendNft, mintNft} from './util/tx';
 
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
@@ -9,41 +9,41 @@
 chai.use(chaiAsPromised);
 const expect = chai.expect;
 
-describe("integration test: burn nft", () => {
-  const Alice = "//Alice";
-  const Bob = "//Bob";
+describe('integration test: burn nft', () => {
+  const Alice = '//Alice';
+  const Bob = '//Bob';
 
   let api: any;
   before(async () => {
     api = await getApiConnection();
   });
 
-  it("burn nft", async () => {
+  it('burn nft', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       const nftId = await mintNft(
         api,
         Alice,
         Alice,
         collectionId,
-        "nft-metadata"
+        'nft-metadata',
       );
       await burnNft(api, Alice, collectionId, nftId);
     });
   });
 
-  it("burn nft with children", async () => {
+  it('burn nft with children', async () => {
     const collectionId = await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     );
 
     const parentNftId = await mintNft(
@@ -51,7 +51,7 @@
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const childNftId = await mintNft(
@@ -59,18 +59,18 @@
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-    await sendNft(api, "sent", Alice, collectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', Alice, collectionId, childNftId, newOwnerNFT);
 
     const childrenBefore = await getChildren(api, collectionId, parentNftId);
     expect(childrenBefore.length === 1, 'Error: parent NFT should have children')
       .to.be.true;
 
-    let child = childrenBefore[0];
+    const child = childrenBefore[0];
     expect(child.collectionId.eq(collectionId), 'Error: invalid child collection Id')
       .to.be.true;
 
@@ -84,13 +84,13 @@
     expect(childrenAfter.length === 0, 'Error: children should be burned').to.be.true;
   });
 
-  it("burn child nft", async () => {
+  it('burn child nft', async () => {
     const collectionId = await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     );
 
     const parentNftId = await mintNft(
@@ -98,7 +98,7 @@
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const childNftId = await mintNft(
@@ -106,18 +106,18 @@
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-    await sendNft(api, "sent", Alice, collectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', Alice, collectionId, childNftId, newOwnerNFT);
 
     const childrenBefore = await getChildren(api, collectionId, parentNftId);
     expect(childrenBefore.length === 1, 'Error: parent NFT should have children')
       .to.be.true;
 
-    let child = childrenBefore[0];
+    const child = childrenBefore[0];
     expect(child.collectionId.eq(collectionId), 'Error: invalid child collection Id')
       .to.be.true;
 
@@ -131,33 +131,33 @@
     expect(childrenAfter.length === 0, 'Error: children should be burned').to.be.true;
   });
 
-  it("[negative] burn non-existing NFT", async () => {
+  it('[negative] burn non-existing NFT', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       const tx = burnNft(api, Alice, collectionId, 99999);
       await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
     });
   });
 
-  it("[negative] burn not an owner NFT user", async () => {
+  it('[negative] burn not an owner NFT user', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       const nftId = await mintNft(
         api,
         Alice,
         Alice,
         collectionId,
-        "nft-metadata"
+        'nft-metadata',
       );
       const tx = burnNft(api, Bob, collectionId, nftId);
       await expectTxFailure(/rmrkCore\.NoPermission/, tx);
modifiedtests/src/rmrk/changeCollectionIssuer.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/changeCollectionIssuer.test.ts
+++ b/tests/src/rmrk/changeCollectionIssuer.test.ts
@@ -1,47 +1,45 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { expectTxFailure } from "./util/helpers";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
 import {
   changeIssuer,
   createCollection,
-} from "./util/tx";
+} from './util/tx';
 
-describe("integration test: collection issuer", () => {
-  const Alice = "//Alice";
-  const Bob = "//Bob";
+describe('integration test: collection issuer', () => {
+  const Alice = '//Alice';
+  const Bob = '//Bob';
 
   let api: any;
   before(async () => {
     api = await getApiConnection();
   });
 
-  it("change collection issuer", async () => {
+  it('change collection issuer', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       await changeIssuer(api, Alice, collectionId, Bob);
     });
   });
 
-  it("[negative] change not an owner NFT collection issuer", async () => {
-    await createCollection(api, Bob, "test-metadata", null, "test-symbol").then(
-      async (collectionId) => {
-        const tx = changeIssuer(api, Alice, collectionId, Bob);
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-      }
-    );
+  it('[negative] change not an owner NFT collection issuer', async () => {
+    await createCollection(api, Bob, 'test-metadata', null, 'test-symbol').then(async (collectionId) => {
+      const tx = changeIssuer(api, Alice, collectionId, Bob);
+      await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+    });
   });
 
-  it("[negative] change non-existigit NFT collection issuer", async () => {
+  it('[negative] change non-existigit NFT collection issuer', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async () => {
       const tx = changeIssuer(api, Alice, 99999, Bob);
       await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
modifiedtests/src/rmrk/createBase.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/createBase.test.ts
+++ b/tests/src/rmrk/createBase.test.ts
@@ -1,84 +1,84 @@
-import { getApiConnection } from '../substrate/substrate-api';
-import { createCollection, createBase } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {createCollection, createBase} from './util/tx';
 
-describe("integration test: create new Base", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: create new Base', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
+  const alice = '//Alice';
 
-    it("create empty Base", async () => {
-        await createBase(api, alice, 'empty-base-type', 'EBase', []);
-    });
+  it('create empty Base', async () => {
+    await createBase(api, alice, 'empty-base-type', 'EBase', []);
+  });
 
-    it("create Base with fixed part", async () => {
-        await createBase(api, alice, 'fixedpart-base-type', 'FPBase', [
-            {
-                "FixedPart": {
-                    id: 42,
-                    z: 0,
-                    src: "some-fixed-url"
-                }
-            }
-        ]);
-    });
+  it('create Base with fixed part', async () => {
+    await createBase(api, alice, 'fixedpart-base-type', 'FPBase', [
+      {
+        'FixedPart': {
+          id: 42,
+          z: 0,
+          src: 'some-fixed-url',
+        },
+      },
+    ]);
+  });
 
-    it("create Base with slot part (no collection)", async () => {
-        await createBase(api, alice, 'slotpart-base-type', 'SPBase', [
-            {
-                "SlotPart": {
-                    id: 112,
-                    equippable: "Empty",
-                    z: 0,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
-    });
+  it('create Base with slot part (no collection)', async () => {
+    await createBase(api, alice, 'slotpart-base-type', 'SPBase', [
+      {
+        'SlotPart': {
+          id: 112,
+          equippable: 'Empty',
+          z: 0,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
+  });
 
-    it("create Base with slot part (any collection)", async () => {
-        await createBase(api, alice, 'slotpartany-base-type', 'SPABase', [
-            {
-                "SlotPart": {
-                    id: 222,
-                    equippable: "All",
-                    z: 1,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
-    });
+  it('create Base with slot part (any collection)', async () => {
+    await createBase(api, alice, 'slotpartany-base-type', 'SPABase', [
+      {
+        'SlotPart': {
+          id: 222,
+          equippable: 'All',
+          z: 1,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
+  });
 
-    it("create Base with slot part (custom collections)", async () => {
-        const firstCollectionId = await createCollection(
-            api,
-            alice,
-            "first-collection-meta",
-            null,
-            "first-collection"
-        );
+  it('create Base with slot part (custom collections)', async () => {
+    const firstCollectionId = await createCollection(
+      api,
+      alice,
+      'first-collection-meta',
+      null,
+      'first-collection',
+    );
 
-        const secondCollectionId = await createCollection(
-            api,
-            alice,
-            "first-collection-meta",
-            null,
-            "first-collection"
-        );
+    const secondCollectionId = await createCollection(
+      api,
+      alice,
+      'first-collection-meta',
+      null,
+      'first-collection',
+    );
 
-        await createBase(api, alice, "slotpartcustom-base-type", "SPCBase", [
-            {
-                "SlotPart": {
-                    id: 1024,
-                    equippable: {
-                        "Custom": [firstCollectionId, secondCollectionId]
-                    },
-                    z: 2,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
-    });
+    await createBase(api, alice, 'slotpartcustom-base-type', 'SPCBase', [
+      {
+        'SlotPart': {
+          id: 1024,
+          equippable: {
+            'Custom': [firstCollectionId, secondCollectionId],
+          },
+          z: 2,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/createCollection.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/createCollection.test.ts
+++ b/tests/src/rmrk/createCollection.test.ts
@@ -1,19 +1,19 @@
-import { getApiConnection } from '../substrate/substrate-api';
-import { createCollection } from './util/tx';
+import {getApiConnection} from '../substrate/substrate-api';
+import {createCollection} from './util/tx';
 
 describe('Integration test: create new collection', () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
+  const alice = '//Alice';
 
-    it('create NFT collection', async () => {
-        await createCollection(api, alice, 'test-metadata', 42, 'test-symbol');
-    });
+  it('create NFT collection', async () => {
+    await createCollection(api, alice, 'test-metadata', 42, 'test-symbol');
+  });
 
-    it('create NFT collection without token limit', async () => {
-        await createCollection(api, alice, 'no-limit-metadata', null, 'no-limit-symbol');
-    });
+  it('create NFT collection without token limit', async () => {
+    await createCollection(api, alice, 'no-limit-metadata', null, 'no-limit-symbol');
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/deleteCollection.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/deleteCollection.test.ts
+++ b/tests/src/rmrk/deleteCollection.test.ts
@@ -1,40 +1,40 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { expectTxFailure } from "./util/helpers";
-import { createCollection, deleteCollection } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, deleteCollection} from './util/tx';
 
-describe("integration test: delete collection", () => {
+describe('integration test: delete collection', () => {
   let api: any;
   before(async () => {
     api = await getApiConnection();
   });
 
-  const Alice = "//Alice";
-  const Bob = "//Bob";
+  const Alice = '//Alice';
+  const Bob = '//Bob';
 
-  it("delete NFT collection", async () => {
+  it('delete NFT collection', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       await deleteCollection(api, Alice, collectionId.toString());
     });
   });
 
-  it("[negative] delete non-existing NFT collection", async () => {
-    const tx = deleteCollection(api, Alice, "99999");
+  it('[negative] delete non-existing NFT collection', async () => {
+    const tx = deleteCollection(api, Alice, '99999');
     await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
   });
 
-  it("[negative] delete not an owner NFT collection", async () => {
+  it('[negative] delete not an owner NFT collection', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       const tx = deleteCollection(api, Bob, collectionId.toString());
       await expectTxFailure(/uniques.NoPermission/, tx);
modifiedtests/src/rmrk/equipNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/equipNft.test.ts
+++ b/tests/src/rmrk/equipNft.test.ts
@@ -1,8 +1,8 @@
-import { ApiPromise } from "@polkadot/api";
-import { expect } from "chai";
-import { getApiConnection } from "../substrate/substrate-api";
-import { getNft, getParts, NftIdTuple } from "./util/fetch";
-import { expectTxFailure } from "./util/helpers";
+import {ApiPromise} from '@polkadot/api';
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
+import {getNft, getParts, NftIdTuple} from './util/fetch';
+import {expectTxFailure} from './util/helpers';
 import {
   addNftComposableResource,
   addNftSlotResource,
@@ -11,11 +11,11 @@
   equipNft,
   mintNft,
   sendNft,
-  unequipNft
-} from "./util/tx";
+  unequipNft,
+} from './util/tx';
 
-const Alice = "//Alice";
-const Bob = "//Bob";
+const Alice = '//Alice';
+const Bob = '//Bob';
 
 const composableParts: number[] = [5, 2, 7];
 const composableSrc = 'test-cmp-src';
@@ -34,9 +34,9 @@
   return createCollection(
     api,
     Alice,
-    "test-metadata",
+    'test-metadata',
     null,
-    "test-symbol"
+    'test-symbol',
   );
 }
 
@@ -46,7 +46,7 @@
     Alice,
     Alice,
     collectionId,
-    "nft-metadata"
+    'nft-metadata',
   );
 }
 
@@ -55,17 +55,17 @@
 
   const parentNFT: NftIdTuple = [collectionId, parentNftId];
 
-  await sendNft(api, "sent", Alice, collectionId, nftChildId, parentNFT);
+  await sendNft(api, 'sent', Alice, collectionId, nftChildId, parentNFT);
 
   return nftChildId;
 }
 
 async function createTestBase(api: ApiPromise): Promise<number> {
-  return createBase(api, Alice, "test-base", "DTBase", [
+  return createBase(api, Alice, 'test-base', 'DTBase', [
     {
       SlotPart: {
         id: slotId,
-        equippable: "All",
+        equippable: 'All',
         z: 1,
         src: slotSrc,
       },
@@ -77,7 +77,7 @@
   await addNftComposableResource(
     api,
     Alice,
-    "added",
+    'added',
     collectionId,
     nftId,
     composableParts,
@@ -85,7 +85,7 @@
     composableSrc,
     composableMetadata,
     composableLicense,
-    composableThumb
+    composableThumb,
   );
 }
 
@@ -93,7 +93,7 @@
   return await addNftSlotResource(
     api,
     Alice,
-    "added",
+    'added',
     collectionId,
     nftId,
     baseId,
@@ -101,32 +101,32 @@
     slotSrc,
     slotMetadata,
     slotLicense,
-    slotThumb
+    slotThumb,
   );
 }
 
 async function checkEquipStatus(
   api: ApiPromise,
-  expectedStatus: "equipped" | "unequipped",
+  expectedStatus: 'equipped' | 'unequipped',
   collectionId: number,
-  nftId: number
+  nftId: number,
 ) {
   const itemNftDataOpt = await getNft(api, collectionId, nftId);
   expect(itemNftDataOpt.isSome, 'Error: unable to fetch item NFT data');
 
   const itemNftData = itemNftDataOpt.unwrap();
   expect(itemNftData.equipped.isTrue, `Error: item NFT should be ${expectedStatus}`)
-    .to.be.equal(expectedStatus === "equipped");
+    .to.be.equal(expectedStatus === 'equipped');
 }
 
-describe("integration test: Equip NFT", () => {
+describe('integration test: Equip NFT', () => {
 
   let api: any;
   before(async () => {
     api = await getApiConnection();
   });
 
-  it("equip nft", async () => {
+  it('equip nft', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -141,10 +141,10 @@
 
     await equipNft(api, Alice, itemNFT, equipperNFT, resourceId, baseId, slotId);
 
-    await checkEquipStatus(api, "equipped", collectionId, nftChildId);
+    await checkEquipStatus(api, 'equipped', collectionId, nftChildId);
   });
 
-  it("unequip nft", async () => {
+  it('unequip nft', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -159,13 +159,13 @@
 
     await equipNft(api, Alice, itemNFT, equipperNFT, resourceId, baseId, slotId);
 
-    await checkEquipStatus(api, "equipped", collectionId, nftChildId);
+    await checkEquipStatus(api, 'equipped', collectionId, nftChildId);
 
     await unequipNft(api, Alice, itemNFT, equipperNFT, resourceId, baseId, slotId);
-    await checkEquipStatus(api, "unequipped", collectionId, nftChildId);
+    await checkEquipStatus(api, 'unequipped', collectionId, nftChildId);
   });
 
-  it("[negative] equip NFT onto non-existing NFT", async () => {
+  it('[negative] equip NFT onto non-existing NFT', async () => {
     const collectionId = await createTestCollection(api);
 
     const nftChildId = await mintNft(
@@ -173,7 +173,7 @@
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const itemNFT: NftIdTuple = [collectionId, nftChildId];
@@ -186,14 +186,14 @@
     await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
   });
 
-  it("[negative] equip non-existing NFT", async () => {
+  it('[negative] equip non-existing NFT', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintNft(
       api,
       Alice,
       Alice,
       collectionId,
-      "nft-metadata"
+      'nft-metadata',
     );
 
     const baseId = await createTestBase(api);
@@ -209,7 +209,7 @@
     await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
   });
 
-  it("[negative] equip NFT by a not-an-owner user", async () => {
+  it('[negative] equip NFT by a not-an-owner user', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -227,7 +227,7 @@
     await expectTxFailure(/rmrkEquip\.PermissionError/, tx);
   });
 
-  it("[negative] unable to equip NFT onto indirect parent NFT", async () => {
+  it('[negative] unable to equip NFT onto indirect parent NFT', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -245,7 +245,7 @@
     await expectTxFailure(/rmrkEquip\.MustBeDirectParent/, tx);
   });
 
-  it("[negative] unable to equip NFT onto parent NFT with another base", async () => {
+  it('[negative] unable to equip NFT onto parent NFT with another base', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -264,7 +264,7 @@
     await expectTxFailure(/rmrkEquip\.NoResourceForThisBaseFoundOnNft/, tx);
   });
 
-  it("[negative] unable to equip NFT into slot with another id", async () => {
+  it('[negative] unable to equip NFT into slot with another id', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
@@ -282,16 +282,16 @@
     await expectTxFailure(/rmrkEquip\.ItemHasNoResourceToEquipThere/, tx);
   });
 
-  it("[negative] unable to equip NFT with incorrect slot (fixed part)", async () => {
+  it('[negative] unable to equip NFT with incorrect slot (fixed part)', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
 
-    const baseId = await createBase(api, Alice, "test-base", "DTBase", [
+    const baseId = await createBase(api, Alice, 'test-base', 'DTBase', [
       {
         FixedPart: {
           id: slotId,
-          equippable: "All",
+          equippable: 'All',
           z: 1,
           src: slotSrc,
         },
@@ -308,17 +308,17 @@
     await expectTxFailure(/rmrkEquip\.CantEquipFixedPart/, tx);
   });
 
-  it("[negative] unable to equip NFT from a collection that is not allowed by the slot", async () => {
+  it('[negative] unable to equip NFT from a collection that is not allowed by the slot', async () => {
     const collectionId = await createTestCollection(api);
     const nftParentId = await mintTestNft(api, collectionId);
     const nftChildId = await mintChildNft(api, collectionId, nftParentId);
 
-    const baseId = await createBase(api, Alice, "test-base", "DTBase", [
+    const baseId = await createBase(api, Alice, 'test-base', 'DTBase', [
       {
         SlotPart: {
           id: 1,
           z: 1,
-          equippable: "Empty",
+          equippable: 'Empty',
           src: slotSrc,
         },
       },
modifiedtests/src/rmrk/getOwnedNfts.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/getOwnedNfts.test.ts
+++ b/tests/src/rmrk/getOwnedNfts.test.ts
@@ -1,74 +1,74 @@
-import { expect } from 'chai';
-import { getApiConnection } from '../substrate/substrate-api';
-import { getOwnedNfts } from './util/fetch';
-import { mintNft, createCollection } from './util/tx';
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
+import {getOwnedNfts} from './util/fetch';
+import {mintNft, createCollection} from './util/tx';
 
-describe("integration test: get owned NFTs", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: get owned NFTs', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
+  const alice = '//Alice';
 
-    it("fetch all NFTs owned by a user", async () => {
-        const owner = alice;
-        const collectionMetadata = 'aliceCollectionMetadata';
-        const collectionMax = null;
-        const collectionSymbol = 'AliceSym';
-        const recipientUri = null;
-        const royalty = null;
-        const nftMetadata = 'alice-NFT-metadata';
+  it('fetch all NFTs owned by a user', async () => {
+    const owner = alice;
+    const collectionMetadata = 'aliceCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'AliceSym';
+    const recipientUri = null;
+    const royalty = null;
+    const nftMetadata = 'alice-NFT-metadata';
 
-        let collectionId = await createCollection(
-            api,
-            alice,
-            collectionMetadata,
-            collectionMax,
-            collectionSymbol
-        );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-        const nftIds = [
-            await mintNft(
-                api,
-                alice,
-                owner,
-                collectionId,
-                nftMetadata + '-0',
-                recipientUri,
-                royalty
-            ),
-            await mintNft(
-                api,
-                alice,
-                owner,
-                collectionId,
-                nftMetadata + '-1',
-                recipientUri,
-                royalty
-            ),
-            await mintNft(
-                api,
-                alice,
-                owner,
-                collectionId,
-                nftMetadata + '-2',
-                recipientUri,
-                royalty
-            )
-        ];
+    const nftIds = [
+      await mintNft(
+        api,
+        alice,
+        owner,
+        collectionId,
+        nftMetadata + '-0',
+        recipientUri,
+        royalty,
+      ),
+      await mintNft(
+        api,
+        alice,
+        owner,
+        collectionId,
+        nftMetadata + '-1',
+        recipientUri,
+        royalty,
+      ),
+      await mintNft(
+        api,
+        alice,
+        owner,
+        collectionId,
+        nftMetadata + '-2',
+        recipientUri,
+        royalty,
+      ),
+    ];
 
-        const ownedNfts = await getOwnedNfts(api, alice, collectionId);
+    const ownedNfts = await getOwnedNfts(api, alice, collectionId);
 
-        const isFound = (nftId: number) => {
-            return ownedNfts.find((ownedNftId) => {
-                return ownedNftId === nftId
-            }) !== undefined;
-        };
+    const isFound = (nftId: number) => {
+      return ownedNfts.find((ownedNftId) => {
+        return ownedNftId === nftId;
+      }) !== undefined;
+    };
 
-        nftIds.forEach((nftId) => {
-            expect(isFound(nftId), `NFT ${nftId} should be owned by ${alice}`)
-                .to.be.true
-        });
+    nftIds.forEach((nftId) => {
+      expect(isFound(nftId), `NFT ${nftId} should be owned by ${alice}`)
+        .to.be.true;
     });
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/lockCollection.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/lockCollection.test.ts
+++ b/tests/src/rmrk/lockCollection.test.ts
@@ -1,10 +1,10 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { expectTxFailure } from "./util/helpers";
-import { createCollection, lockCollection, mintNft } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, lockCollection, mintNft} from './util/tx';
 
-describe("integration test: lock collection", () => {
-  const Alice = "//Alice";
-  const Bob = "//Bob";
+describe('integration test: lock collection', () => {
+  const Alice = '//Alice';
+  const Bob = '//Bob';
   const Max = 5;
 
   let api: any;
@@ -12,43 +12,43 @@
     api = await getApiConnection();
   });
 
-  it("lock collection", async () => {
+  it('lock collection', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       await lockCollection(api, Alice, collectionId);
     });
   });
 
-  it("[negative] lock non-existing NFT collection", async () => {
+  it('[negative] lock non-existing NFT collection', async () => {
     const tx = lockCollection(api, Alice, 99999);
     await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
   });
 
-  it("[negative] lock not an owner NFT collection issuer", async () => {
+  it('[negative] lock not an owner NFT collection issuer', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       const tx = lockCollection(api, Bob, collectionId);
       await expectTxFailure(/rmrkCore\.NoPermission/, tx);
     });
   });
 
-  it("lock collection with minting", async () => {
+  it('lock collection with minting', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       Max,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       for (let i = 0; i < 5; i++) {
         await mintNft(
@@ -56,22 +56,22 @@
           Alice,
           Alice,
           collectionId,
-          "test-metadata",
+          'test-metadata',
+          null,
           null,
-          null
         );
       }
       await lockCollection(api, Alice, collectionId, Max);
     });
   });
 
-  it("[negative] unable to mint NFT inside a locked collection", async () => {
+  it('[negative] unable to mint NFT inside a locked collection', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       Max,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
       await lockCollection(api, Alice, collectionId);
       const tx = mintNft(
@@ -79,38 +79,36 @@
         Alice,
         Alice,
         collectionId,
-        "test-metadata",
+        'test-metadata',
+        null,
         null,
-        null
       );
       await expectTxFailure(/rmrkCore\.CollectionFullOrLocked/, tx);
     });
   });
 
-  it("[negative] unable to mint NFT inside a full collection", async () => {
-    await createCollection(api, Alice, "test-metadata", 1, "test-symbol").then(
-      async (collectionId) => {
-        await mintNft(
-          api,
-          Alice,
-          Alice,
-          collectionId,
-          "test-metadata",
-          null,
-          null
-        );
-        const tx = mintNft(
-          api,
-          Alice,
-          Alice,
-          collectionId,
-          "test-metadata",
-          null,
-          null
-        );
-        await expectTxFailure(/rmrkCore\.CollectionFullOrLocked/, tx);
-      }
-    );
+  it('[negative] unable to mint NFT inside a full collection', async () => {
+    await createCollection(api, Alice, 'test-metadata', 1, 'test-symbol').then(async (collectionId) => {
+      await mintNft(
+        api,
+        Alice,
+        Alice,
+        collectionId,
+        'test-metadata',
+        null,
+        null,
+      );
+      const tx = mintNft(
+        api,
+        Alice,
+        Alice,
+        collectionId,
+        'test-metadata',
+        null,
+        null,
+      );
+      await expectTxFailure(/rmrkCore\.CollectionFullOrLocked/, tx);
+    });
   });
 
   after(() => {
modifiedtests/src/rmrk/mintNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/mintNft.test.ts
+++ b/tests/src/rmrk/mintNft.test.ts
@@ -1,204 +1,206 @@
-import { expect } from 'chai';
-import { getApiConnection } from '../substrate/substrate-api';
-import { getNft } from './util/fetch';
-import { expectTxFailure } from './util/helpers';
-import { createCollection, mintNft } from './util/tx';
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
+import {getNft} from './util/fetch';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, mintNft} from './util/tx';
 
-describe("integration test: mint new NFT", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: mint new NFT', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
-    const bob = '//Bob';
-    const maxCollectionId = 0xFFFFFFFF;
-    const maxNftId = 0xFFFFFFFF;
+  const alice = '//Alice';
+  const bob = '//Bob';
+  const maxCollectionId = 0xFFFFFFFF;
+  const maxNftId = 0xFFFFFFFF;
 
-    it("mint NFT", async () => {
-        const owner = null;
-        const collectionMetadata = 'mintingCollectionMetadata';
-        const collectionMax = null;
-        const collectionSymbol = 'MCS';
-        const recipientUri = null;
-        const royalty = null;
-        const nftMetadata = 'NFT-test-metadata';
+  it('mint NFT', async () => {
+    const owner = null;
+    const collectionMetadata = 'mintingCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'MCS';
+    const recipientUri = null;
+    const royalty = null;
+    const nftMetadata = 'NFT-test-metadata';
 
-        let collectionId = await createCollection(
-            api,
-            alice,
-            collectionMetadata,
-            collectionMax,
-            collectionSymbol
-        );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-        await mintNft(
-            api,
-            alice,
-            owner,
-            collectionId,
-            nftMetadata,
-            recipientUri,
-            royalty
-        );
-    });
+    await mintNft(
+      api,
+      alice,
+      owner,
+      collectionId,
+      nftMetadata,
+      recipientUri,
+      royalty,
+    );
+  });
 
-    it("mint NFT and set another owner", async () => {
-        const owner = bob;
-        const collectionMetadata = 'setOwnerCollectionMetadata';
-        const collectionMax = null;
-        const collectionSymbol = 'SOCS';
-        const recipientUri = null;
-        const royalty = null;
-        const nftMetadata = 'setOwner-NFT-metadata';
+  it('mint NFT and set another owner', async () => {
+    const owner = bob;
+    const collectionMetadata = 'setOwnerCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'SOCS';
+    const recipientUri = null;
+    const royalty = null;
+    const nftMetadata = 'setOwner-NFT-metadata';
 
-        let collectionId = await createCollection(
-            api,
-            alice,
-            collectionMetadata,
-            collectionMax,
-            collectionSymbol
-        );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-        await mintNft(
-            api,
-            alice,
-            owner,
-            collectionId,
-            nftMetadata,
-            recipientUri,
-            royalty
-        );
-    });
+    await mintNft(
+      api,
+      alice,
+      owner,
+      collectionId,
+      nftMetadata,
+      recipientUri,
+      royalty,
+    );
+  });
 
-    it("mint NFT with recipient and roalty", async () => {
-        const owner = alice;
-        const collectionMetadata = 'mintingCollectionMetadata';
-        const collectionMax = null;
-        const collectionSymbol = 'MCS';
-        const recipientUri = bob;
-        const royalty = 70000;
-        const nftMetadata = 'recipient-royalty-NFT-test-metadata';
+  it('mint NFT with recipient and roalty', async () => {
+    const owner = alice;
+    const collectionMetadata = 'mintingCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'MCS';
+    const recipientUri = bob;
+    const royalty = 70000;
+    const nftMetadata = 'recipient-royalty-NFT-test-metadata';
 
-        let collectionId = await createCollection(
-            api,
-            alice,
-            collectionMetadata,
-            collectionMax,
-            collectionSymbol
-        );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-        await mintNft(
-            api,
-            alice,
-            owner,
-            collectionId,
-            nftMetadata,
-            recipientUri,
-            royalty
-        );
-    });
+    await mintNft(
+      api,
+      alice,
+      owner,
+      collectionId,
+      nftMetadata,
+      recipientUri,
+      royalty,
+    );
+  });
 
-    it("mint NFT with resources", async () => {
-        const owner = alice;
-        const collectionMetadata = 'mintingCollectionMetadata';
-        const collectionMax = null;
-        const collectionSymbol = 'MCS';
-        const nftMetadata = 'NFT-with-resources-test-metadata';
-        const resources = [
-          {
-            basic: {
-              metadata: 'basic-resource-nft-minting',
-            },
-          }, {
-            slot: {
-              metadata: 'slot-resource-nft-minting',
-              slot: 9,
-            },
-          }, {
-            composable: {
-              metadata: 'composable-resource-nft-minting',
-              parts: [0, 5, 2],
-            }
-          }, {
-            slot: {
-              metadata: 'slot-resource-nft-minting-2',
-              thumb: 'srnm2',
-              base: 5,
-            }
-          }
-        ];
+  it('mint NFT with resources', async () => {
+    const owner = alice;
+    const collectionMetadata = 'mintingCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'MCS';
+    const nftMetadata = 'NFT-with-resources-test-metadata';
+    const resources = [
+      {
+        basic: {
+          metadata: 'basic-resource-nft-minting',
+        },
+      }, {
+        slot: {
+          metadata: 'slot-resource-nft-minting',
+          slot: 9,
+        },
+      }, {
+        composable: {
+          metadata: 'composable-resource-nft-minting',
+          parts: [0, 5, 2],
+        },
+      }, {
+        slot: {
+          metadata: 'slot-resource-nft-minting-2',
+          thumb: 'srnm2',
+          base: 5,
+        },
+      },
+    ];
 
-        let collectionId = await createCollection(
-            api,
-            alice,
-            collectionMetadata,
-            collectionMax,
-            collectionSymbol
-        );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-        await mintNft(
-            api,
-            alice,
-            owner,
-            collectionId,
-            nftMetadata,
-            null, null, true,
-            resources
-        );
-    });
+    await mintNft(
+      api,
+      alice,
+      owner,
+      collectionId,
+      nftMetadata,
+      null,
+      null,
+      true,
+      resources,
+    );
+  });
 
-    it("[negative] unable to mint NFT within non-existing collection", async () => {
-      const owner = alice;
-      const recipientUri = null;
-      const royalty = null;
-      const nftMetadata = "NFT-test-metadata";
+  it('[negative] unable to mint NFT within non-existing collection', async () => {
+    const owner = alice;
+    const recipientUri = null;
+    const royalty = null;
+    const nftMetadata = 'NFT-test-metadata';
 
-      const tx = mintNft(
-        api,
-        alice,
-        owner,
-        maxCollectionId,
-        nftMetadata,
-        recipientUri,
-        royalty
-      );
+    const tx = mintNft(
+      api,
+      alice,
+      owner,
+      maxCollectionId,
+      nftMetadata,
+      recipientUri,
+      royalty,
+    );
 
-      await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
+  });
 
-    it("[negative] unable to mint NFT by a user that isn't the owner of the collection", async () => {
-      const owner = alice;
-      const collectionMetadata = "mintingCollectionMetadata";
-      const collectionMax = null;
-      const collectionSymbol = "MCS";
-      const recipientUri = null;
-      const royalty = null;
-      const nftMetadata = "NFT-test-metadata";
+  it("[negative] unable to mint NFT by a user that isn't the owner of the collection", async () => {
+    const owner = alice;
+    const collectionMetadata = 'mintingCollectionMetadata';
+    const collectionMax = null;
+    const collectionSymbol = 'MCS';
+    const recipientUri = null;
+    const royalty = null;
+    const nftMetadata = 'NFT-test-metadata';
 
-      let collectionId = await createCollection(
-        api,
-        alice,
-        collectionMetadata,
-        collectionMax,
-        collectionSymbol
-      );
+    const collectionId = await createCollection(
+      api,
+      alice,
+      collectionMetadata,
+      collectionMax,
+      collectionSymbol,
+    );
 
-      const tx = mintNft(
-        api,
-        bob,
-        owner,
-        collectionId,
-        nftMetadata,
-        recipientUri,
-        royalty
-      );
+    const tx = mintNft(
+      api,
+      bob,
+      owner,
+      collectionId,
+      nftMetadata,
+      recipientUri,
+      royalty,
+    );
 
-      await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it("[negative] unable to fetch non-existing NFT", async () => {
-      const nft = await getNft(api, maxCollectionId, maxNftId);
-      expect(nft.isSome).to.be.false;
-    });
+  it('[negative] unable to fetch non-existing NFT', async () => {
+    const nft = await getNft(api, maxCollectionId, maxNftId);
+    expect(nft.isSome).to.be.false;
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/rejectNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/rejectNft.test.ts
+++ b/tests/src/rmrk/rejectNft.test.ts
@@ -1,89 +1,89 @@
-import { expect } from "chai";
-import { getApiConnection } from "../substrate/substrate-api";
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
 import {
-    createCollection,
-    mintNft,
-    sendNft,
-    rejectNft
-} from "./util/tx";
-import { getChildren, NftIdTuple } from "./util/fetch";
-import { isNftChildOfAnother, expectTxFailure } from "./util/helpers";
+  createCollection,
+  mintNft,
+  sendNft,
+  rejectNft,
+} from './util/tx';
+import {getChildren, NftIdTuple} from './util/fetch';
+import {isNftChildOfAnother, expectTxFailure} from './util/helpers';
 
-describe("integration test: reject NFT", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: reject NFT', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = "//Alice";
-    const bob = "//Bob";
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    const createTestCollection = async (issuerUri: string) => {
-        return await createCollection(
-            api,
-            issuerUri,
-            "reject-metadata",
-            null,
-            "rjct"
-        );
-    }
+  const createTestCollection = async (issuerUri: string) => {
+    return await createCollection(
+      api,
+      issuerUri,
+      'reject-metadata',
+      null,
+      'rjct',
+    );
+  };
 
-    it("reject NFT", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('reject NFT', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        await sendNft(api, "pending", ownerBob, bobCollectionId, childNftId, newOwnerNFT);
-        await rejectNft(api, alice, bobCollectionId, childNftId);
+    await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);
+    await rejectNft(api, alice, bobCollectionId, childNftId);
 
-        const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
-        expect(isChild, 'Error: rejected NFT is still a child of the target NFT').to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, bobCollectionId, childNftId, newOwnerNFT);
+    expect(isChild, 'Error: rejected NFT is still a child of the target NFT').to.be.false;
+  });
 
-    it("[negative] unable to reject NFT by a not-an-owner", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('[negative] unable to reject NFT by a not-an-owner', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        await sendNft(api, "pending", ownerBob, bobCollectionId, childNftId, newOwnerNFT);
-        const tx = rejectNft(api, bob, bobCollectionId, childNftId);
+    await sendNft(api, 'pending', ownerBob, bobCollectionId, childNftId, newOwnerNFT);
+    const tx = rejectNft(api, bob, bobCollectionId, childNftId);
 
-        await expectTxFailure(/rmrkCore\.CannotRejectNonOwnedNft/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.CannotRejectNonOwnedNft/, tx);
+  });
 
-    it("[negative] unable to reject non-existing NFT", async () => {
-        const maxNftId = 0xFFFFFFFF;
+  it('[negative] unable to reject non-existing NFT', async () => {
+    const maxNftId = 0xFFFFFFFF;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const tx = rejectNft(api, alice, collectionId, maxNftId);
+    const tx = rejectNft(api, alice, collectionId, maxNftId);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+  });
 
-    it("[negative] unable to reject NFT which is not sent", async () => {
-        const ownerAlice = alice;
+  it('[negative] unable to reject NFT which is not sent', async () => {
+    const ownerAlice = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const nftId = await mintNft(api, alice, ownerAlice, collectionId, "parent-nft-metadata");
+    const nftId = await mintNft(api, alice, ownerAlice, collectionId, 'parent-nft-metadata');
 
-        const tx = rejectNft(api, alice, collectionId, nftId);
+    const tx = rejectNft(api, alice, collectionId, nftId);
 
-        await expectTxFailure(/rmrkCore\.CannotRejectNonPendingNft/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.CannotRejectNonPendingNft/, tx);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/removeResource.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/removeResource.test.ts
+++ b/tests/src/rmrk/removeResource.test.ts
@@ -1,348 +1,348 @@
-import { expect } from 'chai';
-import privateKey from "../substrate/privateKey";
-import { executeTransaction, getApiConnection } from '../substrate/substrate-api';
-import { getNft, NftIdTuple } from './util/fetch';
-import { expectTxFailure } from './util/helpers';
+import {expect} from 'chai';
+import privateKey from '../substrate/privateKey';
+import {executeTransaction, getApiConnection} from '../substrate/substrate-api';
+import {getNft, NftIdTuple} from './util/fetch';
+import {expectTxFailure} from './util/helpers';
 import {
   acceptNft, acceptResourceRemoval, addNftBasicResource,
   createBase,
   createCollection,
-  mintNft, removeNftResource, sendNft
-} from "./util/tx";
+  mintNft, removeNftResource, sendNft,
+} from './util/tx';
 
 
 
 
 describe('Integration test: remove nft resource', () => {
-    let api: any;
-    let ss58Format: string;
-    before(async () => {
-      api = await getApiConnection();
-      ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    });
+  let api: any;
+  let ss58Format: string;
+  before(async () => {
+    api = await getApiConnection();
+    ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  });
 
-    const Alice = "//Alice";
-    const Bob = "//Bob";
-    const src = "test-basic-src";
-    const metadata = "test-basic-metadata";
-    const license = "test-basic-license";
-    const thumb = "test-basic-thumb";
+  const Alice = '//Alice';
+  const Bob = '//Bob';
+  const src = 'test-basic-src';
+  const metadata = 'test-basic-metadata';
+  const license = 'test-basic-license';
+  const thumb = 'test-basic-thumb';
 
-    it('deleting a resource directly by the NFT owner', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('deleting a resource directly by the NFT owner', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftAlice = await mintNft(
-            api,
-            Alice,
-            Alice,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftAlice = await mintNft(
+      api,
+      Alice,
+      Alice,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "added",
-            collectionIdAlice,
-            nftAlice,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'added',
+      collectionIdAlice,
+      nftAlice,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        await removeNftResource(api, 'removed', Alice, collectionIdAlice, nftAlice, resourceId);
-    });
+    await removeNftResource(api, 'removed', Alice, collectionIdAlice, nftAlice, resourceId);
+  });
 
-    it('deleting resources indirectly by the NFT owner', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('deleting resources indirectly by the NFT owner', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "parent-nft-metadata");
-        const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, "child-nft-metadata");
+    const parentNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, Alice, Alice, collectionIdAlice, 'child-nft-metadata');
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "added",
-            collectionIdAlice,
-            childNftId,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'added',
+      collectionIdAlice,
+      childNftId,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
 
-        await sendNft(api, "sent", Alice, collectionIdAlice, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', Alice, collectionIdAlice, childNftId, newOwnerNFT);
 
-        await removeNftResource(api, 'removed', Alice, collectionIdAlice, childNftId, resourceId);
-    });
+    await removeNftResource(api, 'removed', Alice, collectionIdAlice, childNftId, resourceId);
+  });
 
-    it('deleting a resource by the collection owner', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('deleting a resource by the collection owner', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftBob = await mintNft(
-            api,
-            Alice,
-            Bob,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftBob = await mintNft(
+      api,
+      Alice,
+      Bob,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "pending",
-            collectionIdAlice,
-            nftBob,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'pending',
+      collectionIdAlice,
+      nftBob,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        await removeNftResource(api, 'pending', Alice, collectionIdAlice, nftBob, resourceId);
-        await acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, resourceId);
-    });
+    await removeNftResource(api, 'pending', Alice, collectionIdAlice, nftBob, resourceId);
+    await acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, resourceId);
+  });
 
-    it('deleting a resource in a nested NFT by the collection owner', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('deleting a resource in a nested NFT by the collection owner', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const parentNftId = await mintNft(
-            api,
-            Alice,
-            Bob,
-            collectionIdAlice,
-            "parent-nft-metadata"
-        );
-        const childNftId = await mintNft(
-            api,
-            Alice,
-            Bob,
-            collectionIdAlice,
-            "child-nft-metadata"
-        );
+    const parentNftId = await mintNft(
+      api,
+      Alice,
+      Bob,
+      collectionIdAlice,
+      'parent-nft-metadata',
+    );
+    const childNftId = await mintNft(
+      api,
+      Alice,
+      Bob,
+      collectionIdAlice,
+      'child-nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "pending",
-            collectionIdAlice,
-            childNftId,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'pending',
+      collectionIdAlice,
+      childNftId,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionIdAlice, parentNftId];
 
-        await sendNft(api, "sent", Bob, collectionIdAlice, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', Bob, collectionIdAlice, childNftId, newOwnerNFT);
 
-        await removeNftResource(api, 'pending', Alice, collectionIdAlice, childNftId, resourceId);
-        await acceptResourceRemoval(api, Bob, collectionIdAlice, childNftId, resourceId);
-    });
+    await removeNftResource(api, 'pending', Alice, collectionIdAlice, childNftId, resourceId);
+    await acceptResourceRemoval(api, Bob, collectionIdAlice, childNftId, resourceId);
+  });
 
-    it('[negative]: can\'t delete a resource in a non-existing collection', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: can\'t delete a resource in a non-existing collection', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftAlice = await mintNft(
-            api,
-            Alice,
-            Alice,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftAlice = await mintNft(
+      api,
+      Alice,
+      Alice,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "added",
-            collectionIdAlice,
-            nftAlice,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'added',
+      collectionIdAlice,
+      nftAlice,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const tx = removeNftResource(api, 'removed', Alice, 0xFFFFFFFF, nftAlice, resourceId);
-        await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx); // FIXME: inappropriate error message (NoAvailableNftId)
-    });
+    const tx = removeNftResource(api, 'removed', Alice, 0xFFFFFFFF, nftAlice, resourceId);
+    await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx); // FIXME: inappropriate error message (NoAvailableNftId)
+  });
 
-    it('[negative]: only collection owner can delete a resource', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: only collection owner can delete a resource', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftAlice = await mintNft(
-            api,
-            Alice,
-            Alice,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftAlice = await mintNft(
+      api,
+      Alice,
+      Alice,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "added",
-            collectionIdAlice,
-            nftAlice,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'added',
+      collectionIdAlice,
+      nftAlice,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const tx = removeNftResource(api, 'removed', Bob, collectionIdAlice, nftAlice, resourceId);
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    const tx = removeNftResource(api, 'removed', Bob, collectionIdAlice, nftAlice, resourceId);
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it('[negative]: cannot delete a resource that does not exist', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: cannot delete a resource that does not exist', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftAlice = await mintNft(
-            api,
-            Alice,
-            Alice,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftAlice = await mintNft(
+      api,
+      Alice,
+      Alice,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const tx = removeNftResource(api, 'removed', Alice, collectionIdAlice, nftAlice, 127);
-        await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);
-    });
+    const tx = removeNftResource(api, 'removed', Alice, collectionIdAlice, nftAlice, 127);
+    await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);
+  });
 
-    it('[negative]: Cannot accept deleting resource without owner attempt do delete it', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: Cannot accept deleting resource without owner attempt do delete it', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftBob = await mintNft(
-            api,
-            Alice,
-            Bob,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftBob = await mintNft(
+      api,
+      Alice,
+      Bob,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "pending",
-            collectionIdAlice,
-            nftBob,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'pending',
+      collectionIdAlice,
+      nftBob,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, resourceId);
-        await expectTxFailure(/rmrkCore\.ResourceNotPending/, tx);
-    });
+    const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, resourceId);
+    await expectTxFailure(/rmrkCore\.ResourceNotPending/, tx);
+  });
 
-    it('[negative]: cannot confirm the deletion of a non-existing resource', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: cannot confirm the deletion of a non-existing resource', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftBob = await mintNft(
-            api,
-            Alice,
-            Bob,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftBob = await mintNft(
+      api,
+      Alice,
+      Bob,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, 127);
-        await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);
-    });
+    const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftBob, 127);
+    await expectTxFailure(/rmrkCore\.ResourceDoesntExist/, tx);
+  });
 
-    it('[negative]: Non-owner user cannot confirm the deletion of resource', async () => {
-        const collectionIdAlice = await createCollection(
-            api,
-            Alice,
-            "test-metadata",
-            null,
-            "test-symbol"
-        );
+  it('[negative]: Non-owner user cannot confirm the deletion of resource', async () => {
+    const collectionIdAlice = await createCollection(
+      api,
+      Alice,
+      'test-metadata',
+      null,
+      'test-symbol',
+    );
 
-        const nftAlice = await mintNft(
-            api,
-            Alice,
-            Alice,
-            collectionIdAlice,
-            "nft-metadata"
-        );
+    const nftAlice = await mintNft(
+      api,
+      Alice,
+      Alice,
+      collectionIdAlice,
+      'nft-metadata',
+    );
 
-        const resourceId = await addNftBasicResource(
-            api,
-            Alice,
-            "added",
-            collectionIdAlice,
-            nftAlice,
-            src,
-            metadata,
-            license,
-            thumb
-        );
+    const resourceId = await addNftBasicResource(
+      api,
+      Alice,
+      'added',
+      collectionIdAlice,
+      nftAlice,
+      src,
+      metadata,
+      license,
+      thumb,
+    );
 
-        const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftAlice, resourceId);
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    const tx = acceptResourceRemoval(api, Bob, collectionIdAlice, nftAlice, resourceId);
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    after(() => {
-        api.disconnect();
-    });
+  after(() => {
+    api.disconnect();
+  });
 });
modifiedtests/src/rmrk/sendNft.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/sendNft.test.ts
+++ b/tests/src/rmrk/sendNft.test.ts
@@ -1,252 +1,252 @@
-import { expect } from "chai";
-import { getApiConnection } from "../substrate/substrate-api";
-import { createCollection, mintNft, sendNft } from "./util/tx";
-import { NftIdTuple } from "./util/fetch";
-import { isNftChildOfAnother, expectTxFailure } from "./util/helpers";
+import {expect} from 'chai';
+import {getApiConnection} from '../substrate/substrate-api';
+import {createCollection, mintNft, sendNft} from './util/tx';
+import {NftIdTuple} from './util/fetch';
+import {isNftChildOfAnother, expectTxFailure} from './util/helpers';
 
-describe("integration test: send NFT", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: send NFT', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const maxNftId = 0xFFFFFFFF;
+  const maxNftId = 0xFFFFFFFF;
 
-    const alice = "//Alice";
-    const bob = "//Bob";
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    const createTestCollection = async (issuerUri: string) => {
-        return await createCollection(
-            api,
-            issuerUri,
-            "nft-collection-metadata",
-            null,
-            "nft-collection"
-        );
-    };
+  const createTestCollection = async (issuerUri: string) => {
+    return await createCollection(
+      api,
+      issuerUri,
+      'nft-collection-metadata',
+      null,
+      'nft-collection',
+    );
+  };
 
 
-    it("send NFT to another user", async () => {
-        const originalOwnerUri = alice;
-        const newOwnerUri = bob;
+  it('send NFT to another user', async () => {
+    const originalOwnerUri = alice;
+    const newOwnerUri = bob;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const nftId = await mintNft(api, alice, originalOwnerUri, collectionId, "nft-metadata");
+    const nftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'nft-metadata');
 
-        await sendNft(api, "sent", originalOwnerUri, collectionId, nftId, newOwnerUri);
-    });
+    await sendNft(api, 'sent', originalOwnerUri, collectionId, nftId, newOwnerUri);
+  });
 
-    it("[negative] unable to send non-existing NFT", async () => {
-        const originalOwnerUri = alice;
-        const newOwnerUri = bob;
+  it('[negative] unable to send non-existing NFT', async () => {
+    const originalOwnerUri = alice;
+    const newOwnerUri = bob;
 
-        const collectionId = 0;
-        const tx = sendNft(api, "sent", originalOwnerUri, collectionId, maxNftId, newOwnerUri);
+    const collectionId = 0;
+    const tx = sendNft(api, 'sent', originalOwnerUri, collectionId, maxNftId, newOwnerUri);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+  });
 
-    it("[negative] unable to send NFT by a not-an-owner", async () => {
-        const originalOwnerUri = alice;
-        const newOwnerUri = bob;
+  it('[negative] unable to send NFT by a not-an-owner', async () => {
+    const originalOwnerUri = alice;
+    const newOwnerUri = bob;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const nftId = await mintNft(api, alice, originalOwnerUri, collectionId, "nft-metadata");
+    const nftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'nft-metadata');
 
-        const tx = sendNft(api, "sent", newOwnerUri, collectionId, nftId, newOwnerUri);
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    const tx = sendNft(api, 'sent', newOwnerUri, collectionId, nftId, newOwnerUri);
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it("send NFT to another NFT (same owner)", async () => {
-        const originalOwnerUri = alice;
+  it('send NFT to another NFT (same owner)', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", alice, collectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', alice, collectionId, childNftId, newOwnerNFT);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.true;
-    });
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.true;
+  });
 
-    it("[negative] send non-existing NFT to another NFT", async () => {
-        const originalOwnerUri = alice;
+  it('[negative] send non-existing NFT to another NFT', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "parent-nft-metadata");
-        const childNftId = maxNftId;
+    const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'parent-nft-metadata');
+    const childNftId = maxNftId;
 
-        const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-        const tx = sendNft(api, "sent", alice, collectionId, childNftId, newOwnerNFT);
+    const tx = sendNft(api, 'sent', alice, collectionId, childNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.false;
+  });
 
-    it("send NFT to another NFT (by not-an-owner)", async () => {
-        const originalOwnerUri = alice;
+  it('send NFT to another NFT (by not-an-owner)', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const author = alice;
-        const attacker = bob;
+    const author = alice;
+    const attacker = bob;
 
-        const parentNftId = await mintNft(api, author, originalOwnerUri, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, author, originalOwnerUri, collectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, author, originalOwnerUri, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, author, originalOwnerUri, collectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-        const tx = sendNft(api, "sent", attacker, collectionId, childNftId, newOwnerNFT);
+    const tx = sendNft(api, 'sent', attacker, collectionId, childNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.false;
+  });
 
-    it("[negative] send NFT to non-existing NFT", async () => {
-        const originalOwnerUri = alice;
+  it('[negative] send NFT to non-existing NFT', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = maxNftId;
-        const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "child-nft-metadata");
+    const parentNftId = maxNftId;
+    const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-        const tx = sendNft(api, "sent", alice, collectionId, childNftId, newOwnerNFT);
+    const tx = sendNft(api, 'sent', alice, collectionId, childNftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.false;
+  });
 
-    it("send NFT to another NFT owned by another user", async () => {
-        const ownerAlice = alice;
-        const ownerBob = bob;
+  it('send NFT to another NFT owned by another user', async () => {
+    const ownerAlice = alice;
+    const ownerBob = bob;
 
-        const aliceCollectionId = await createTestCollection(alice);
-        const bobCollectionId = await createTestCollection(bob);
+    const aliceCollectionId = await createTestCollection(alice);
+    const bobCollectionId = await createTestCollection(bob);
 
-        const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, ownerAlice, aliceCollectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, bob, ownerBob, bobCollectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [aliceCollectionId, parentNftId];
 
-        await sendNft(api, "pending", bob, bobCollectionId, childNftId, newOwnerNFT);
-    });
+    await sendNft(api, 'pending', bob, bobCollectionId, childNftId, newOwnerNFT);
+  });
 
-    it("[negative] unable to send NFT to itself", async () => {
-        const nftOwner = alice;
-        const collectionId = await createTestCollection(alice);
+  it('[negative] unable to send NFT to itself', async () => {
+    const nftOwner = alice;
+    const collectionId = await createTestCollection(alice);
 
-        const nftId = await mintNft(api, alice, nftOwner, collectionId, "ouroboros-nft-metadata");
+    const nftId = await mintNft(api, alice, nftOwner, collectionId, 'ouroboros-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [collectionId, nftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, nftId];
 
-        const tx = sendNft(api, "sent", alice, collectionId, nftId, newOwnerNFT);
+    const tx = sendNft(api, 'sent', alice, collectionId, nftId, newOwnerNFT);
 
-        await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
+    await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, nftId, newOwnerNFT);
-        expect(isChild).to.be.false;
-    });
+    const isChild = await isNftChildOfAnother(api, collectionId, nftId, newOwnerNFT);
+    expect(isChild).to.be.false;
+  });
 
-    it("[negative] unable to send NFT to child NFT", async () => {
-        const originalOwnerUri = alice;
+  it('[negative] unable to send NFT to child NFT', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'child-nft-metadata');
 
-        const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
+    const newOwnerNFT: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", alice, collectionId, childNftId, newOwnerNFT);
+    await sendNft(api, 'sent', alice, collectionId, childNftId, newOwnerNFT);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
-        expect(isChild).to.be.true;
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, newOwnerNFT);
+    expect(isChild).to.be.true;
 
-        const descendentOwner: NftIdTuple = [collectionId, childNftId];
-        const tx = sendNft(api, "sent", alice, collectionId, parentNftId, descendentOwner);
+    const descendentOwner: NftIdTuple = [collectionId, childNftId];
+    const tx = sendNft(api, 'sent', alice, collectionId, parentNftId, descendentOwner);
 
-        await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
-        const isOuroboros = await isNftChildOfAnother(api, collectionId, parentNftId, descendentOwner);
-        expect(isOuroboros).to.be.false;
-    });
+    await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
+    const isOuroboros = await isNftChildOfAnother(api, collectionId, parentNftId, descendentOwner);
+    expect(isOuroboros).to.be.false;
+  });
 
-    it("[negative] unable to send NFT to descendent NFT", async () => {
-        const originalOwnerUri = alice;
+  it('[negative] unable to send NFT to descendent NFT', async () => {
+    const originalOwnerUri = alice;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "child-nft-metadata");
-        const grandsonNftId = await mintNft(api, alice, originalOwnerUri, collectionId, "grandson-nft-metadata");
+    const parentNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'child-nft-metadata');
+    const grandsonNftId = await mintNft(api, alice, originalOwnerUri, collectionId, 'grandson-nft-metadata');
 
-        const ownerParentNFT: NftIdTuple = [collectionId, parentNftId];
+    const ownerParentNFT: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", alice, collectionId, childNftId, ownerParentNFT);
+    await sendNft(api, 'sent', alice, collectionId, childNftId, ownerParentNFT);
 
-        const isChild = await isNftChildOfAnother(api, collectionId, childNftId, ownerParentNFT);
-        expect(isChild).to.be.true;
+    const isChild = await isNftChildOfAnother(api, collectionId, childNftId, ownerParentNFT);
+    expect(isChild).to.be.true;
 
-        const ownerChildNFT: NftIdTuple = [collectionId, childNftId];
-        await sendNft(api, "sent", alice, collectionId, grandsonNftId, ownerChildNFT);
+    const ownerChildNFT: NftIdTuple = [collectionId, childNftId];
+    await sendNft(api, 'sent', alice, collectionId, grandsonNftId, ownerChildNFT);
 
-        const isGrandson = await isNftChildOfAnother(api, collectionId, grandsonNftId, ownerChildNFT);
-        expect(isGrandson).to.be.true;
+    const isGrandson = await isNftChildOfAnother(api, collectionId, grandsonNftId, ownerChildNFT);
+    expect(isGrandson).to.be.true;
 
-        const ownerGrandsonNFT: NftIdTuple = [collectionId, grandsonNftId];
-        const tx = sendNft(api, "sent", alice, collectionId, parentNftId, ownerGrandsonNFT);
+    const ownerGrandsonNFT: NftIdTuple = [collectionId, grandsonNftId];
+    const tx = sendNft(api, 'sent', alice, collectionId, parentNftId, ownerGrandsonNFT);
 
-        await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
-        const isOuroboros = await isNftChildOfAnother(api, collectionId, parentNftId, ownerGrandsonNFT);
-        expect(isOuroboros).to.be.false;
-    });
+    await expectTxFailure(/rmrkCore\.CannotSendToDescendentOrSelf/, tx);
+    const isOuroboros = await isNftChildOfAnother(api, collectionId, parentNftId, ownerGrandsonNFT);
+    expect(isOuroboros).to.be.false;
+  });
 
-    it("send nested NFT to another user", async () => {
-        const originalOwner = alice;
-        const newOwner = bob;
+  it('send nested NFT to another user', async () => {
+    const originalOwner = alice;
+    const newOwner = bob;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwner, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, alice, originalOwner, collectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, originalOwner, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, alice, originalOwner, collectionId, 'child-nft-metadata');
 
-        const parentNftTuple: NftIdTuple = [collectionId, parentNftId];
+    const parentNftTuple: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", originalOwner, collectionId, childNftId, parentNftTuple);
+    await sendNft(api, 'sent', originalOwner, collectionId, childNftId, parentNftTuple);
 
-        await sendNft(api, "sent", originalOwner, collectionId, childNftId, newOwner);
-    });
+    await sendNft(api, 'sent', originalOwner, collectionId, childNftId, newOwner);
+  });
 
-    it("[negative] send nested NFT to another user (by a not-root-owner)", async () => {
-        const originalOwner = alice;
-        const newOwner = bob;
+  it('[negative] send nested NFT to another user (by a not-root-owner)', async () => {
+    const originalOwner = alice;
+    const newOwner = bob;
 
-        const collectionId = await createTestCollection(alice);
+    const collectionId = await createTestCollection(alice);
 
-        const parentNftId = await mintNft(api, alice, originalOwner, collectionId, "parent-nft-metadata");
-        const childNftId = await mintNft(api, alice, originalOwner, collectionId, "child-nft-metadata");
+    const parentNftId = await mintNft(api, alice, originalOwner, collectionId, 'parent-nft-metadata');
+    const childNftId = await mintNft(api, alice, originalOwner, collectionId, 'child-nft-metadata');
 
-        const parentNftTuple: NftIdTuple = [collectionId, parentNftId];
+    const parentNftTuple: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", originalOwner, collectionId, childNftId, parentNftTuple);
+    await sendNft(api, 'sent', originalOwner, collectionId, childNftId, parentNftTuple);
 
-        const tx = sendNft(api, "sent", newOwner, collectionId, childNftId, newOwner);
+    const tx = sendNft(api, 'sent', newOwner, collectionId, childNftId, newOwner);
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/setCollectionProperty.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/setCollectionProperty.test.ts
+++ b/tests/src/rmrk/setCollectionProperty.test.ts
@@ -1,63 +1,63 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { expectTxFailure } from "./util/helpers";
-import { createCollection, setPropertyCollection } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, setPropertyCollection} from './util/tx';
 
-describe("integration test: set collection property", () => {
-  const Alice = "//Alice";
-  const Bob = "//Bob";
+describe('integration test: set collection property', () => {
+  const Alice = '//Alice';
+  const Bob = '//Bob';
 
   let api: any;
   before(async () => {
     api = await getApiConnection();
   });
 
-  it("set collection property", async () => {
+  it('set collection property', async () => {
     await createCollection(
       api,
       Alice,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
-      await setPropertyCollection(api, Alice, collectionId, "test_key", "42");
-      await setPropertyCollection(api, Alice, collectionId, "test_key", "10");
+      await setPropertyCollection(api, Alice, collectionId, 'test_key', '42');
+      await setPropertyCollection(api, Alice, collectionId, 'test_key', '10');
       await setPropertyCollection(
         api,
         Alice,
         collectionId,
-        "second_test_key",
-        "111"
+        'second_test_key',
+        '111',
       );
     });
   });
 
-  it("[negative] set non-existing collection property", async () => {
+  it('[negative] set non-existing collection property', async () => {
     const tx = setPropertyCollection(
       api,
       Alice,
       9999,
-      "test_key",
-      "42"
+      'test_key',
+      '42',
     );
     await expectTxFailure(/rmrkCore\.CollectionUnknown/, tx);
   });
 
-  it("[negative] set property not an owner NFT collection issuer", async () => {
+  it('[negative] set property not an owner NFT collection issuer', async () => {
     await createCollection(
       api,
       Bob,
-      "test-metadata",
+      'test-metadata',
       null,
-      "test-symbol"
+      'test-symbol',
     ).then(async (collectionId) => {
-        const tx = setPropertyCollection(
-          api,
-          Alice,
-          collectionId,
-          "test_key",
-          "42"
-        );
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+      const tx = setPropertyCollection(
+        api,
+        Alice,
+        collectionId,
+        'test_key',
+        '42',
+      );
+      await expectTxFailure(/rmrkCore\.NoPermission/, tx);
     });
   });
 
modifiedtests/src/rmrk/setEquippableList.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/setEquippableList.test.ts
+++ b/tests/src/rmrk/setEquippableList.test.ts
@@ -1,111 +1,111 @@
-import { getApiConnection } from '../substrate/substrate-api';
-import { expectTxFailure } from './util/helpers';
-import { createCollection, createBase, setEquippableList } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, createBase, setEquippableList} from './util/tx';
 
 describe("integration test: set slot's Equippable List", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
-    const bob = '//Bob';
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    it("set Base's slot Equippable List", async () => {
-        const collectionIds = [
-            await createCollection(
-                api,
-                alice,
-                "equiplist-collection-metadata",
-                null,
-                "equiplist-0"
-            ),
-            await createCollection(
-                api,
-                alice,
-                "equiplist-collection-metadata",
-                null,
-                "equiplist-1"
-            )
-        ]
+  it("set Base's slot Equippable List", async () => {
+    const collectionIds = [
+      await createCollection(
+        api,
+        alice,
+        'equiplist-collection-metadata',
+        null,
+        'equiplist-0',
+      ),
+      await createCollection(
+        api,
+        alice,
+        'equiplist-collection-metadata',
+        null,
+        'equiplist-1',
+      ),
+    ];
 
-        const slotId = 202;
+    const slotId = 202;
 
-        const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
-            {
-                "SlotPart": {
-                    id: slotId,
-                    equippable: "All",
-                    z: 1,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
+    const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
+      {
+        'SlotPart': {
+          id: slotId,
+          equippable: 'All',
+          z: 1,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
 
-        await setEquippableList(api, alice, baseId, slotId, "All");
-        await setEquippableList(api, alice, baseId, slotId, "Empty");
-        await setEquippableList(api, alice, baseId, slotId, { "Custom": collectionIds });
-    });
+    await setEquippableList(api, alice, baseId, slotId, 'All');
+    await setEquippableList(api, alice, baseId, slotId, 'Empty');
+    await setEquippableList(api, alice, baseId, slotId, {'Custom': collectionIds});
+  });
 
-    it("[negative] unable to set equippable list of a slot of non-existing base", async () => {
-        const maxBaseId = 0xFFFFFFFF;
-        const slotId = 0;
+  it('[negative] unable to set equippable list of a slot of non-existing base', async () => {
+    const maxBaseId = 0xFFFFFFFF;
+    const slotId = 0;
 
-        const tx = setEquippableList(api, alice, maxBaseId, slotId, "All");
-        await expectTxFailure(/rmrkEquip\.BaseDoesntExist/, tx);
-    });
+    const tx = setEquippableList(api, alice, maxBaseId, slotId, 'All');
+    await expectTxFailure(/rmrkEquip\.BaseDoesntExist/, tx);
+  });
 
-    it("[negative] unable to set equippable list by a not-an-owner", async () => {
-        const slotId = 42;
+  it('[negative] unable to set equippable list by a not-an-owner', async () => {
+    const slotId = 42;
 
-        const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
-            {
-                "SlotPart": {
-                    id: slotId,
-                    equippable: "All",
-                    z: 1,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
+    const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
+      {
+        'SlotPart': {
+          id: slotId,
+          equippable: 'All',
+          z: 1,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
 
-        const tx = setEquippableList(api, bob, baseId, slotId, "All");
-        await expectTxFailure(/rmrkEquip\.PermissionError/, tx);
-    });
+    const tx = setEquippableList(api, bob, baseId, slotId, 'All');
+    await expectTxFailure(/rmrkEquip\.PermissionError/, tx);
+  });
 
-    it("[negative] unable to set equippable list to a fixed part", async () => {
-        const fixedPartId = 42;
+  it('[negative] unable to set equippable list to a fixed part', async () => {
+    const fixedPartId = 42;
 
-        const baseId = await createBase(api, alice, 'fixedpart-base-type', 'fixedpart', [
-            {
-                "FixedPart": {
-                    id: fixedPartId,
-                    z: 0,
-                    src: "fixed-part-url"
-                }
-            }
-        ]);
+    const baseId = await createBase(api, alice, 'fixedpart-base-type', 'fixedpart', [
+      {
+        'FixedPart': {
+          id: fixedPartId,
+          z: 0,
+          src: 'fixed-part-url',
+        },
+      },
+    ]);
 
-        const tx = setEquippableList(api, alice, baseId, fixedPartId, "All");
-        await expectTxFailure(/rmrkEquip\.NoEquippableOnFixedPart/, tx);
-    });
+    const tx = setEquippableList(api, alice, baseId, fixedPartId, 'All');
+    await expectTxFailure(/rmrkEquip\.NoEquippableOnFixedPart/, tx);
+  });
 
-    it("[negative] unable to set equippable list to non-existing slot", async () => {
-        const slotId = 777
-        const maxSlotId = 0xFFFFFFFF;
+  it('[negative] unable to set equippable list to non-existing slot', async () => {
+    const slotId = 777;
+    const maxSlotId = 0xFFFFFFFF;
 
-        const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
-            {
-                "SlotPart": {
-                    id: slotId,
-                    equippable: "All",
-                    z: 1,
-                    src: "some-fallback-slot-url"
-                }
-            }
-        ]);
+    const baseId = await createBase(api, alice, 'slotpartany-base-type', 'slotpartany', [
+      {
+        'SlotPart': {
+          id: slotId,
+          equippable: 'All',
+          z: 1,
+          src: 'some-fallback-slot-url',
+        },
+      },
+    ]);
 
-        const tx = setEquippableList(api, alice, baseId, maxSlotId, "All");
-        await expectTxFailure(/rmrkEquip\.PartDoesntExist/, tx);
-    })
+    const tx = setEquippableList(api, alice, baseId, maxSlotId, 'All');
+    await expectTxFailure(/rmrkEquip\.PartDoesntExist/, tx);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/setNftProperty.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/setNftProperty.test.ts
+++ b/tests/src/rmrk/setNftProperty.test.ts
@@ -1,85 +1,85 @@
-import { getApiConnection } from "../substrate/substrate-api";
-import { NftIdTuple } from "./util/fetch";
-import { expectTxFailure } from "./util/helpers";
-import { createCollection, mintNft, sendNft, setNftProperty } from "./util/tx";
+import {getApiConnection} from '../substrate/substrate-api';
+import {NftIdTuple} from './util/fetch';
+import {expectTxFailure} from './util/helpers';
+import {createCollection, mintNft, sendNft, setNftProperty} from './util/tx';
 
-describe("integration test: set NFT property", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: set NFT property', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = "//Alice";
-    const bob = "//Bob";
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    const createTestCollection = async (issuerUri: string) => {
-        return await createCollection(
-            api,
-            issuerUri,
-            "setprop-nft-collection-metadata",
-            null,
-            "setprop"
-        );
-    };
+  const createTestCollection = async (issuerUri: string) => {
+    return await createCollection(
+      api,
+      issuerUri,
+      'setprop-nft-collection-metadata',
+      null,
+      'setprop',
+    );
+  };
 
-    it("set NFT property", async () => {
-        const ownerAlice = alice;
+  it('set NFT property', async () => {
+    const ownerAlice = alice;
 
-        const collectionId = await createTestCollection(alice);
-        const nftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-nft");
+    const collectionId = await createTestCollection(alice);
+    const nftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-nft');
 
-        await setNftProperty(api, alice, collectionId, nftId, 'test-key', 'test-key-value');
-        await setNftProperty(api, alice, collectionId, nftId, 'test-key', 'updated-key-value');
-        await setNftProperty(api, alice, collectionId, nftId, 'second-test-key', 'second-test-key-value');
-    });
+    await setNftProperty(api, alice, collectionId, nftId, 'test-key', 'test-key-value');
+    await setNftProperty(api, alice, collectionId, nftId, 'test-key', 'updated-key-value');
+    await setNftProperty(api, alice, collectionId, nftId, 'second-test-key', 'second-test-key-value');
+  });
 
-    it("[negative] unable to set a property of non-existing NFT", async () => {
-        const collectionId = 0;
-        const maxNftId = 0xFFFFFFFF;
+  it('[negative] unable to set a property of non-existing NFT', async () => {
+    const collectionId = 0;
+    const maxNftId = 0xFFFFFFFF;
 
-        const tx = setNftProperty(api, alice, collectionId, maxNftId, 'test-key', 'test-value');
+    const tx = setNftProperty(api, alice, collectionId, maxNftId, 'test-key', 'test-value');
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+  });
 
-    it("[negative] unable to set a property by not-an-owner", async () => {
-        const ownerAlice = alice;
+  it('[negative] unable to set a property by not-an-owner', async () => {
+    const ownerAlice = alice;
 
-        const collectionId = await createTestCollection(alice);
-        const nftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-nft");
+    const collectionId = await createTestCollection(alice);
+    const nftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-nft');
 
-        const tx = setNftProperty(api, bob, collectionId, nftId, 'test-key', 'test-key-value');
+    const tx = setNftProperty(api, bob, collectionId, nftId, 'test-key', 'test-key-value');
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it("set a property to nested NFT", async () => {
-        const ownerAlice = alice;
+  it('set a property to nested NFT', async () => {
+    const ownerAlice = alice;
 
-        const collectionId = await createTestCollection(alice);
-        const parentNftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-parent-nft");
-        const childNftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-child-nft");
+    const collectionId = await createTestCollection(alice);
+    const parentNftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-parent-nft');
+    const childNftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-child-nft');
 
-        const ownerNft: NftIdTuple = [collectionId, parentNftId];
+    const ownerNft: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", ownerAlice, collectionId, childNftId, ownerNft);
+    await sendNft(api, 'sent', ownerAlice, collectionId, childNftId, ownerNft);
 
-        await setNftProperty(api, alice, collectionId, childNftId, 'test-key', 'test-key-value');
-    });
+    await setNftProperty(api, alice, collectionId, childNftId, 'test-key', 'test-key-value');
+  });
 
-    it("[negative] set a property to nested NFT (by not-root-owner)", async () => {
-        const ownerAlice = alice;
+  it('[negative] set a property to nested NFT (by not-root-owner)', async () => {
+    const ownerAlice = alice;
 
-        const collectionId = await createTestCollection(alice);
-        const parentNftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-parent-nft");
-        const childNftId = await mintNft(api, alice, ownerAlice, collectionId, "prop-child-nft");
+    const collectionId = await createTestCollection(alice);
+    const parentNftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-parent-nft');
+    const childNftId = await mintNft(api, alice, ownerAlice, collectionId, 'prop-child-nft');
 
-        const ownerNft: NftIdTuple = [collectionId, parentNftId];
+    const ownerNft: NftIdTuple = [collectionId, parentNftId];
 
-        await sendNft(api, "sent", ownerAlice, collectionId, childNftId, ownerNft);
+    await sendNft(api, 'sent', ownerAlice, collectionId, childNftId, ownerNft);
 
-        const tx = setNftProperty(api, bob, collectionId, childNftId, 'test-key', 'test-key-value');
+    const tx = setNftProperty(api, bob, collectionId, childNftId, 'test-key', 'test-key-value');
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/setResourcePriorities.test.tsdiffbeforeafterboth
--- a/tests/src/rmrk/setResourcePriorities.test.ts
+++ b/tests/src/rmrk/setResourcePriorities.test.ts
@@ -1,55 +1,55 @@
-import { getApiConnection } from '../substrate/substrate-api';
-import { expectTxFailure } from './util/helpers';
-import { mintNft, createCollection, setResourcePriorities } from './util/tx';
+import {getApiConnection} from '../substrate/substrate-api';
+import {expectTxFailure} from './util/helpers';
+import {mintNft, createCollection, setResourcePriorities} from './util/tx';
 
-describe("integration test: set NFT resource priorities", () => {
-    let api: any;
-    before(async () => { api = await getApiConnection(); });
+describe('integration test: set NFT resource priorities', () => {
+  let api: any;
+  before(async () => { api = await getApiConnection(); });
 
-    const alice = '//Alice';
-    const bob = '//Bob';
+  const alice = '//Alice';
+  const bob = '//Bob';
 
-    const createTestCollection = (issuerUri: string) => {
-        return createCollection(
-            api,
-            issuerUri,
-            'resprio-collection-metadata',
-            null,
-            'resprio'
-        );
-    };
+  const createTestCollection = (issuerUri: string) => {
+    return createCollection(
+      api,
+      issuerUri,
+      'resprio-collection-metadata',
+      null,
+      'resprio',
+    );
+  };
 
-    it("set NFT resource priorities", async () => {
-        const owner = alice;
+  it('set NFT resource priorities', async () => {
+    const owner = alice;
 
-        const collectionId = await createTestCollection(alice);
-        const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');
+    const collectionId = await createTestCollection(alice);
+    const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');
 
-        await setResourcePriorities(api, alice, collectionId, nftId, [10, 42]);
-    });
+    await setResourcePriorities(api, alice, collectionId, nftId, [10, 42]);
+  });
 
-    it("[negative] set NFT resource priorities by a not-an-owner", async () => {
-        const owner = alice;
-        const attacker = bob;
+  it('[negative] set NFT resource priorities by a not-an-owner', async () => {
+    const owner = alice;
+    const attacker = bob;
 
-        const collectionId = await createTestCollection(alice);
-        const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');
+    const collectionId = await createTestCollection(alice);
+    const nftId = await mintNft(api, alice, owner, collectionId, 'resprio-nft-metadata');
 
-        const tx = setResourcePriorities(api, attacker, collectionId, nftId, [10, 42]);
+    const tx = setResourcePriorities(api, attacker, collectionId, nftId, [10, 42]);
 
-        await expectTxFailure(/rmrkCore\.NoPermission/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoPermission/, tx);
+  });
 
-    it("[negative] set NFT resource priorities to non-existing NFT", async () => {
-        const owner = alice;
+  it('[negative] set NFT resource priorities to non-existing NFT', async () => {
+    const owner = alice;
 
-        const collectionId = 0;
-        const maxNftId = 0xFFFFFFFF;
+    const collectionId = 0;
+    const maxNftId = 0xFFFFFFFF;
 
-        const tx = setResourcePriorities(api, alice, collectionId, maxNftId, [10, 42]);
+    const tx = setResourcePriorities(api, alice, collectionId, maxNftId, [10, 42]);
 
-        await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
-    });
+    await expectTxFailure(/rmrkCore\.NoAvailableNftId/, tx);
+  });
 
-    after(() => { api.disconnect(); });
+  after(() => { api.disconnect(); });
 });
modifiedtests/src/rmrk/util/fetch.tsdiffbeforeafterboth
--- a/tests/src/rmrk/util/fetch.ts
+++ b/tests/src/rmrk/util/fetch.ts
@@ -1,14 +1,14 @@
-import { ApiPromise } from '@polkadot/api';
-import type { Option, Bytes } from '@polkadot/types-codec';
+import {ApiPromise} from '@polkadot/api';
+import type {Option, Bytes} from '@polkadot/types-codec';
 import type {
-    RmrkTraitsCollectionCollectionInfo as Collection,
-    RmrkTraitsNftNftInfo as Nft,
-    RmrkTraitsResourceResourceInfo as Resource,
-    RmrkTraitsBaseBaseInfo as Base,
-    RmrkTraitsPartPartType as PartType,
-    RmrkTraitsNftNftChild as NftChild,
-    RmrkTraitsTheme as Theme,
-    RmrkTraitsPropertyPropertyInfo as Property,
+  RmrkTraitsCollectionCollectionInfo as Collection,
+  RmrkTraitsNftNftInfo as Nft,
+  RmrkTraitsResourceResourceInfo as Resource,
+  RmrkTraitsBaseBaseInfo as Base,
+  RmrkTraitsPartPartType as PartType,
+  RmrkTraitsNftNftChild as NftChild,
+  RmrkTraitsTheme as Theme,
+  RmrkTraitsPropertyPropertyInfo as Property,
 } from '../../interfaces/default/types'; // '@polkadot/types/lookup';
 import '../../interfaces/augment-api';
 import '../../interfaces/augment-api-query';
@@ -17,114 +17,114 @@
 export type NftIdTuple = [number, number];
 
 export async function getCollectionsCount(api: ApiPromise): Promise<number> {
-    return (await api.rpc.rmrk.lastCollectionIdx()).toNumber();
+  return (await api.rpc.rmrk.lastCollectionIdx()).toNumber();
 }
 
 export async function getCollection(api: ApiPromise, id: number): Promise<Option<Collection>> {
-    return api.rpc.rmrk.collectionById(id);
+  return api.rpc.rmrk.collectionById(id);
 }
 
 export async function getOwnedNfts(
-    api: ApiPromise,
-    ownerUri: string,
-    collectionId: number
+  api: ApiPromise,
+  ownerUri: string,
+  collectionId: number,
 ): Promise<number[]> {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const owner = privateKey(ownerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const owner = privateKey(ownerUri, Number(ss58Format));
 
-    return (await api.rpc.rmrk.accountTokens(owner.address, collectionId))
-        .map((value) => value.toNumber())
+  return (await api.rpc.rmrk.accountTokens(owner.address, collectionId))
+    .map((value) => value.toNumber());
 }
 
 export async function getNft(api: ApiPromise, collectionId: number, nftId: number): Promise<Option<Nft>> {
-    return api.rpc.rmrk.nftById(collectionId, nftId);
+  return api.rpc.rmrk.nftById(collectionId, nftId);
 }
 
 export async function getCollectionProperties(api: ApiPromise, collectionId: number): Promise<Property[]> {
-    return (await api.rpc.rmrk.collectionProperties(collectionId)).toArray();
+  return (await api.rpc.rmrk.collectionProperties(collectionId)).toArray();
 }
 
 export async function getNftProperties(api: ApiPromise, collectionId: number, nftId: number): Promise<Property[]> {
-    return (await api.rpc.rmrk.nftProperties(collectionId, nftId)).toArray();
+  return (await api.rpc.rmrk.nftProperties(collectionId, nftId)).toArray();
 }
 
 export async function getChildren(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
 ): Promise<NftChild[]> {
-    return (await api.rpc.rmrk.nftChildren(collectionId, nftId)).toArray();
+  return (await api.rpc.rmrk.nftChildren(collectionId, nftId)).toArray();
 }
 
 export async function getBase(api: ApiPromise, baseId: number): Promise<Option<Base>> {
-    return api.rpc.rmrk.base(baseId);
+  return api.rpc.rmrk.base(baseId);
 }
 
 export async function getParts(api: ApiPromise, baseId: number): Promise<PartType[]> {
-    return (await api.rpc.rmrk.baseParts(baseId)).toArray();
+  return (await api.rpc.rmrk.baseParts(baseId)).toArray();
 }
 
 export async function getEquippableList(
-    api: ApiPromise,
-    baseId: number,
-    slotId: number
-): Promise<"All" | "Empty" | { "Custom": number[] } | null> {
-    const parts = await getParts(api, baseId);
+  api: ApiPromise,
+  baseId: number,
+  slotId: number,
+): Promise<'All' | 'Empty' | { 'Custom': number[] } | null> {
+  const parts = await getParts(api, baseId);
 
-    const part = parts.find((part) => {
-        if (part.isSlotPart) {
-            return part.asSlotPart.id.toNumber() === slotId;
-        } else {
-            return false;
-        }
-    });
+  const part = parts.find((part) => {
+    if (part.isSlotPart) {
+      return part.asSlotPart.id.toNumber() === slotId;
+    } else {
+      return false;
+    }
+  });
 
-    if (part) {
-        const slot = part.asSlotPart;
-        if (slot.equippable.isCustom) {
-            return {
-                "Custom": slot.equippable.asCustom
-                            .toArray()
-                            .map((collectionId) => collectionId.toNumber())
-            };
-        } else if (slot.equippable.isAll) {
-            return "All";
-        } else {
-            return "Empty";
-        }
+  if (part) {
+    const slot = part.asSlotPart;
+    if (slot.equippable.isCustom) {
+      return {
+        'Custom': slot.equippable.asCustom
+          .toArray()
+          .map((collectionId) => collectionId.toNumber()),
+      };
+    } else if (slot.equippable.isAll) {
+      return 'All';
     } else {
-        return null;
+      return 'Empty';
     }
+  } else {
+    return null;
+  }
 }
 
 export async function getResourcePriority(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number,
-    resourceId: number,
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ): Promise<number> {
-    return (await api.rpc.rmrk.nftResourcePriority(collectionId, nftId, resourceId))
-        .unwrap().toNumber();
+  return (await api.rpc.rmrk.nftResourcePriority(collectionId, nftId, resourceId))
+    .unwrap().toNumber();
 }
 
 export async function getThemeNames(api: ApiPromise, baseId: number): Promise<string[]> {
-    return (await api.rpc.rmrk.themeNames(baseId))
-        .map((name) => name.toUtf8());
+  return (await api.rpc.rmrk.themeNames(baseId))
+    .map((name) => name.toUtf8());
 }
 
 export async function getTheme(
-    api: ApiPromise,
-    baseId: number,
-    themeName: string,
-    keys: string[] | null = null
+  api: ApiPromise,
+  baseId: number,
+  themeName: string,
+  keys: string[] | null = null,
 ): Promise<Option<Theme>> {
-    return api.rpc.rmrk.themes(baseId, themeName, keys);
+  return api.rpc.rmrk.themes(baseId, themeName, keys);
 }
 
 export async function getResources(
   api: ApiPromise,
   collectionId: number,
-  nftId: number
+  nftId: number,
 ): Promise<Resource[]> {
   return (await api.rpc.rmrk.nftResources(collectionId, nftId)).toArray();
 }
modifiedtests/src/rmrk/util/helpers.tsdiffbeforeafterboth
--- a/tests/src/rmrk/util/helpers.ts
+++ b/tests/src/rmrk/util/helpers.ts
@@ -1,13 +1,13 @@
-import { ApiPromise } from "@polkadot/api";
+import {ApiPromise} from '@polkadot/api';
 import {
-    RmrkTraitsNftAccountIdOrCollectionNftTuple as NftOwner,
-    RmrkTraitsPropertyPropertyInfo as Property,
-    RmrkTraitsResourceResourceInfo as ResourceInfo,
-} from "@polkadot/types/lookup";
-import type { EventRecord } from '@polkadot/types/interfaces';
-import type { GenericEventData } from '@polkadot/types';
-import privateKey from "../../substrate/privateKey";
-import { NftIdTuple, getChildren, getOwnedNfts, getCollectionProperties, getNftProperties, getResources } from './fetch';
+  RmrkTraitsNftAccountIdOrCollectionNftTuple as NftOwner,
+  RmrkTraitsPropertyPropertyInfo as Property,
+  RmrkTraitsResourceResourceInfo as ResourceInfo,
+} from '@polkadot/types/lookup';
+import type {EventRecord} from '@polkadot/types/interfaces';
+import type {GenericEventData} from '@polkadot/types';
+import privateKey from '../../substrate/privateKey';
+import {NftIdTuple, getChildren, getOwnedNfts, getCollectionProperties, getNftProperties, getResources} from './fetch';
 import chaiAsPromised from 'chai-as-promised';
 import chai from 'chai';
 
@@ -20,188 +20,188 @@
 }
 
 export function makeNftOwner(api: ApiPromise, owner: string | NftIdTuple): NftOwner {
-    const isNftSending = (typeof owner !== "string");
+  const isNftSending = (typeof owner !== 'string');
 
-    if (isNftSending) {
-        return api.createType("RmrkTraitsNftAccountIdOrCollectionNftTuple", {
-            "CollectionAndNftTuple": owner
-        });
-    } else {
-        const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-        return api.createType("RmrkTraitsNftAccountIdOrCollectionNftTuple", {
-          AccountId: privateKey(owner, Number(ss58Format)).address,
-        });
-    }
+  if (isNftSending) {
+    return api.createType('RmrkTraitsNftAccountIdOrCollectionNftTuple', {
+      'CollectionAndNftTuple': owner,
+    });
+  } else {
+    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+    return api.createType('RmrkTraitsNftAccountIdOrCollectionNftTuple', {
+      AccountId: privateKey(owner, Number(ss58Format)).address,
+    });
+  }
 }
 
 export async function isNftOwnedBy(
-    api: ApiPromise,
-    owner: string | NftIdTuple,
-    collectionId: number,
-    nftId: number
+  api: ApiPromise,
+  owner: string | NftIdTuple,
+  collectionId: number,
+  nftId: number,
 ): Promise<boolean> {
-    if (typeof owner === "string") {
-        return (await getOwnedNfts(api, owner, collectionId))
-            .find(ownedNftId => {
-                return ownedNftId === nftId;
-            }) !== undefined;
-    } else {
-        return (await getChildren(api, owner[0], owner[1]))
-            .find(child => {
-                return collectionId === child.collectionId.toNumber()
+  if (typeof owner === 'string') {
+    return (await getOwnedNfts(api, owner, collectionId))
+      .find(ownedNftId => {
+        return ownedNftId === nftId;
+      }) !== undefined;
+  } else {
+    return (await getChildren(api, owner[0], owner[1]))
+      .find(child => {
+        return collectionId === child.collectionId.toNumber()
                     && nftId === child.nftId.toNumber();
-            }) !== undefined;
-    }
+      }) !== undefined;
+  }
 }
 
 export function isPropertyExists(
-    key: string,
-    value: string,
-    props: Property[]
+  key: string,
+  value: string,
+  props: Property[],
 ): boolean {
-    let isPropFound = false;
-    for (var i = 0; i < props.length && !isPropFound; i++) {
-        const fetchedProp = props[i];
+  let isPropFound = false;
+  for (let i = 0; i < props.length && !isPropFound; i++) {
+    const fetchedProp = props[i];
 
-        isPropFound = fetchedProp.key.eq(key)
+    isPropFound = fetchedProp.key.eq(key)
                     && fetchedProp.value.eq(value);
-    }
+  }
 
-    return isPropFound;
+  return isPropFound;
 }
 
 export async function isCollectionPropertyExists(
-    api: ApiPromise,
-    collectionId: number,
-    key: string,
-    value: string
+  api: ApiPromise,
+  collectionId: number,
+  key: string,
+  value: string,
 ): Promise<boolean> {
-    const fetchedProps = await getCollectionProperties(api, collectionId);
-    return isPropertyExists(key, value, fetchedProps);
+  const fetchedProps = await getCollectionProperties(api, collectionId);
+  return isPropertyExists(key, value, fetchedProps);
 }
 
 export async function isNftPropertyExists(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number,
-    key: string,
-    value: string
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
+  key: string,
+  value: string,
 ): Promise<boolean> {
-    const fetchedProps = await getNftProperties(api, collectionId, nftId);
-    return isPropertyExists(key, value, fetchedProps);
+  const fetchedProps = await getNftProperties(api, collectionId, nftId);
+  return isPropertyExists(key, value, fetchedProps);
 }
 
 export async function isNftChildOfAnother(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number,
-    parentNft: NftIdTuple
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
+  parentNft: NftIdTuple,
 ): Promise<boolean> {
-    return (await getChildren(api, parentNft[0], parentNft[1]))
-        .find((childNft) => {
-            return childNft.collectionId.toNumber() === collectionId
+  return (await getChildren(api, parentNft[0], parentNft[1]))
+    .find((childNft) => {
+      return childNft.collectionId.toNumber() === collectionId
                 && childNft.nftId.toNumber() === nftId;
-        }) !== undefined;
+    }) !== undefined;
 }
 
 export function isTxResultSuccess(events: EventRecord[]): boolean {
-    let success = false;
+  let success = false;
 
-    events.forEach(({event: {data, method, section}}) => {
-        if (method == 'ExtrinsicSuccess') {
-            success = true;
-        }
-    });
+  events.forEach(({event: {data, method, section}}) => {
+    if (method == 'ExtrinsicSuccess') {
+      success = true;
+    }
+  });
 
-    return success;
+  return success;
 }
 
 export async function expectTxFailure(expectedError: RegExp, promise: Promise<any>) {
-    await expect(promise).to.be.rejectedWith(expectedError);
+  await expect(promise).to.be.rejectedWith(expectedError);
 }
 
 export function extractTxResult<T>(
-    events: EventRecord[],
-    expectSection: string,
-    expectMethod: string,
-    extractAction: (data: any) => T
+  events: EventRecord[],
+  expectSection: string,
+  expectMethod: string,
+  extractAction: (data: any) => T,
 ): TxResult<T> {
-    let success = false;
-    let successData = null;
-    events.forEach(({event: {data, method, section}}) => {
-        if (method == 'ExtrinsicSuccess') {
-            success = true;
-        } else if ((expectSection == section) && (expectMethod == method)) {
-            successData = extractAction(data);
-        }
-    });
-    const result: TxResult<T> = {
-        success,
-        successData,
-    };
-    return result;
+  let success = false;
+  let successData = null;
+  events.forEach(({event: {data, method, section}}) => {
+    if (method == 'ExtrinsicSuccess') {
+      success = true;
+    } else if ((expectSection == section) && (expectMethod == method)) {
+      successData = extractAction(data);
+    }
+  });
+  const result: TxResult<T> = {
+    success,
+    successData,
+  };
+  return result;
 }
 
 export function extractRmrkCoreTxResult<T>(
-    events: EventRecord[],
-    expectMethod: string,
-    extractAction: (data: GenericEventData) => T
+  events: EventRecord[],
+  expectMethod: string,
+  extractAction: (data: GenericEventData) => T,
 ): TxResult<T> {
-    return extractTxResult(events, 'rmrkCore', expectMethod, extractAction);
+  return extractTxResult(events, 'rmrkCore', expectMethod, extractAction);
 }
 
 export function extractRmrkEquipTxResult<T>(
-    events: EventRecord[],
-    expectMethod: string,
-    extractAction: (data: GenericEventData) => T
+  events: EventRecord[],
+  expectMethod: string,
+  extractAction: (data: GenericEventData) => T,
 ): TxResult<T> {
-    return extractTxResult(events, 'rmrkEquip', expectMethod, extractAction);
+  return extractTxResult(events, 'rmrkEquip', expectMethod, extractAction);
 }
 
 export async function findResourceById(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number,
-    resourceId: number,
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ): Promise<ResourceInfo> {
-    const resources = await getResources(api, collectionId, nftId);
+  const resources = await getResources(api, collectionId, nftId);
 
-    let resource = null;
+  let resource = null;
 
-    for (let i = 0; i < resources.length; i++) {
-        const res = resources[i];
+  for (let i = 0; i < resources.length; i++) {
+    const res = resources[i];
 
-        if (res.id.eq(resourceId)) {
-            resource = res;
-            break;
-        }
+    if (res.id.eq(resourceId)) {
+      resource = res;
+      break;
     }
+  }
 
-    return resource!;
+  return resource!;
 }
 
 export async function getResourceById(
-    api: ApiPromise,
-    collectionId: number,
-    nftId: number,
-    resourceId: number,
+  api: ApiPromise,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ): Promise<ResourceInfo> {
-    const resource = await findResourceById(
-        api,
-        collectionId,
-        nftId,
-        resourceId,
-    );
+  const resource = await findResourceById(
+    api,
+    collectionId,
+    nftId,
+    resourceId,
+  );
 
-    expect(resource !== null, 'Error: resource was not found').to.be.true;
+  expect(resource !== null, 'Error: resource was not found').to.be.true;
 
-    return resource!;
+  return resource!;
 }
 
 export function checkResourceStatus(
-    resource: ResourceInfo,
-    expectedStatus: "pending" | "added"
+  resource: ResourceInfo,
+  expectedStatus: 'pending' | 'added',
 ) {
-    expect(resource.pending.isTrue, `Error: added resource should be ${expectedStatus}`)
-          .to.be.equal(expectedStatus === "pending");
+  expect(resource.pending.isTrue, `Error: added resource should be ${expectedStatus}`)
+    .to.be.equal(expectedStatus === 'pending');
 }
modifiedtests/src/rmrk/util/tx.tsdiffbeforeafterboth
--- a/tests/src/rmrk/util/tx.ts
+++ b/tests/src/rmrk/util/tx.ts
@@ -1,16 +1,16 @@
-import { ApiPromise } from "@polkadot/api";
-import { Bytes, Option, u32, Vec } from '@polkadot/types-codec';
+import {ApiPromise} from '@polkadot/api';
+import {Bytes, Option, u32, Vec} from '@polkadot/types-codec';
 import {
   RmrkTraitsNftAccountIdOrCollectionNftTuple as NftOwner, RmrkTraitsPartEquippableList as EquippableList,
   RmrkTraitsPartPartType as PartType, RmrkTraitsResourceBasicResource as BasicResource,
-  RmrkTraitsResourceComposableResource as ComposableResource, RmrkTraitsResourceResourceInfo as ResourceInfo, RmrkTraitsResourceSlotResource as SlotResource, RmrkTraitsTheme as Theme
-} from "@polkadot/types/lookup";
-import { IKeyringPair } from "@polkadot/types/types";
+  RmrkTraitsResourceComposableResource as ComposableResource, RmrkTraitsResourceResourceInfo as ResourceInfo, RmrkTraitsResourceSlotResource as SlotResource, RmrkTraitsTheme as Theme,
+} from '@polkadot/types/lookup';
+import {IKeyringPair} from '@polkadot/types/types';
 import chai from 'chai';
 import chaiAsPromised from 'chai-as-promised';
 import '../../interfaces/augment-api';
-import privateKey from "../../substrate/privateKey";
-import { executeTransaction } from "../../substrate/substrate-api";
+import privateKey from '../../substrate/privateKey';
+import {executeTransaction} from '../../substrate/substrate-api';
 import {
   getBase,
   getCollection,
@@ -21,315 +21,307 @@
   getResources, 
   getResourcePriority, 
   getTheme,
-  NftIdTuple
-} from "./fetch";
+  NftIdTuple,
+} from './fetch';
 import {
   extractRmrkCoreTxResult,
   extractRmrkEquipTxResult, isCollectionPropertyExists, isNftOwnedBy, isNftPropertyExists, isTxResultSuccess, makeNftOwner,
-  findResourceById, getResourceById, checkResourceStatus
-} from "./helpers";
+  findResourceById, getResourceById, checkResourceStatus,
+} from './helpers';
 
 chai.use(chaiAsPromised);
 const expect = chai.expect;
 
 export async function createCollection(
-    api: ApiPromise,
-    issuerUri: string,
-    metadata: string,
-    max: number | null,
-    symbol: string
-  ): Promise<number> {
-    let collectionId = 0;
+  api: ApiPromise,
+  issuerUri: string,
+  metadata: string,
+  max: number | null,
+  symbol: string,
+): Promise<number> {
+  let collectionId = 0;
 
-    const oldCollectionCount = await getCollectionsCount(api);
-    const maxOptional = max ? max.toString() : null;
-    const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const tx = api.tx.rmrkCore.createCollection(metadata, maxOptional, symbol);
-    const events = await executeTransaction(api, issuer, tx);
+  const oldCollectionCount = await getCollectionsCount(api);
+  const maxOptional = max ? max.toString() : null;
+  const ss58Format = (api.registry.getChainProperties())!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const tx = api.tx.rmrkCore.createCollection(metadata, maxOptional, symbol);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const collectionResult = extractRmrkCoreTxResult(
-        events, 'CollectionCreated', (data) => {
-            return parseInt(data[1].toString(), 10)
-        }
-    );
-    expect(collectionResult.success, 'Error: unable to create a collection').to.be.true;
+  const collectionResult = extractRmrkCoreTxResult(events, 'CollectionCreated', (data) => {
+    return parseInt(data[1].toString(), 10);
+  });
+  expect(collectionResult.success, 'Error: unable to create a collection').to.be.true;
 
-    collectionId = collectionResult.successData!;
+  collectionId = collectionResult.successData!;
 
-    const newCollectionCount = await getCollectionsCount(api);
-    const collectionOption = await getCollection(api, collectionId);
+  const newCollectionCount = await getCollectionsCount(api);
+  const collectionOption = await getCollection(api, collectionId);
 
-    expect(newCollectionCount).to.be.equal(oldCollectionCount + 1, 'Error: NFT collection count should increase');
-    expect(collectionOption.isSome, 'Error: unable to fetch created NFT collection').to.be.true;
+  expect(newCollectionCount).to.be.equal(oldCollectionCount + 1, 'Error: NFT collection count should increase');
+  expect(collectionOption.isSome, 'Error: unable to fetch created NFT collection').to.be.true;
 
-    const collection = collectionOption.unwrap();
+  const collection = collectionOption.unwrap();
 
-    expect(collection.metadata.toUtf8()).to.be.equal(metadata, "Error: Invalid NFT collection metadata");
-    expect(collection.max.isSome).to.be.equal(max !== null, "Error: Invalid NFT collection max");
+  expect(collection.metadata.toUtf8()).to.be.equal(metadata, 'Error: Invalid NFT collection metadata');
+  expect(collection.max.isSome).to.be.equal(max !== null, 'Error: Invalid NFT collection max');
 
-    if (collection.max.isSome) {
-        expect(collection.max.unwrap().toNumber()).to.be.equal(max, "Error: Invalid NFT collection max");
-    }
-    expect(collection.symbol.toUtf8()).to.be.equal(symbol, "Error: Invalid NFT collection's symbol");
-    expect(collection.nftsCount.toNumber()).to.be.equal(0, "Error: NFT collection shoudn't have any tokens");
-    expect(collection.issuer.toString()).to.be.equal(issuer.address, "Error: Invalid NFT collection issuer");
+  if (collection.max.isSome) {
+    expect(collection.max.unwrap().toNumber()).to.be.equal(max, 'Error: Invalid NFT collection max');
+  }
+  expect(collection.symbol.toUtf8()).to.be.equal(symbol, "Error: Invalid NFT collection's symbol");
+  expect(collection.nftsCount.toNumber()).to.be.equal(0, "Error: NFT collection shoudn't have any tokens");
+  expect(collection.issuer.toString()).to.be.equal(issuer.address, 'Error: Invalid NFT collection issuer');
 
-    return collectionId;
+  return collectionId;
 }
 
 export async function changeIssuer(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    newIssuer: string
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  newIssuer: string,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const alice = privateKey(issuerUri, Number(ss58Format));
-    const bob = privateKey(newIssuer, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const alice = privateKey(issuerUri, Number(ss58Format));
+  const bob = privateKey(newIssuer, Number(ss58Format));
 
-    // This is only needed when RMRK uses `uniques` pallet by Parity
-    // let tx = api.tx.uniques.setAcceptOwnership(
-    //     api.createType('Option<u32>', collectionId)
-    // );
-    // let events = await executeTransaction(api, bob, tx);
-    // expect(isTxResultSuccess(events), 'Error: Unable to accept ownership').to.be.true;
+  // This is only needed when RMRK uses `uniques` pallet by Parity
+  // let tx = api.tx.uniques.setAcceptOwnership(
+  //     api.createType('Option<u32>', collectionId)
+  // );
+  // let events = await executeTransaction(api, bob, tx);
+  // expect(isTxResultSuccess(events), 'Error: Unable to accept ownership').to.be.true;
 
-    const tx = api.tx.rmrkCore.changeCollectionIssuer(collectionId, bob.address);
-    const events = await executeTransaction(api, alice, tx);
-    const changeIssuerResult = extractRmrkCoreTxResult(
-        events, 'IssuerChanged', (data) => {
-            return parseInt(data[2].toString(), 10);
-        }
-    );
-    expect(changeIssuerResult.success, 'Error: Unable to change NFT collection issuer').to.be.true;
-    expect(changeIssuerResult.successData!, 'Error: Invalid collection id after changing the issuer')
-        .to.be.eq(collectionId);
+  const tx = api.tx.rmrkCore.changeCollectionIssuer(collectionId, bob.address);
+  const events = await executeTransaction(api, alice, tx);
+  const changeIssuerResult = extractRmrkCoreTxResult(events, 'IssuerChanged', (data) => {
+    return parseInt(data[2].toString(), 10);
+  });
+  expect(changeIssuerResult.success, 'Error: Unable to change NFT collection issuer').to.be.true;
+  expect(changeIssuerResult.successData!, 'Error: Invalid collection id after changing the issuer')
+    .to.be.eq(collectionId);
 
-    await getCollection(api, collectionId).then((collectionOption) => {
-        const collection = collectionOption.unwrap();
-        expect(collection.issuer.toString())
-            .to.be.deep.eq(bob.address, 'Error: Invalid NFT collection issuer');
-    });
+  await getCollection(api, collectionId).then((collectionOption) => {
+    const collection = collectionOption.unwrap();
+    expect(collection.issuer.toString())
+      .to.be.deep.eq(bob.address, 'Error: Invalid NFT collection issuer');
+  });
 }
 
 export async function deleteCollection(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: string
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: string,
 ): Promise<number> {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const tx = api.tx.rmrkCore.destroyCollection(collectionId);
-    const events = await executeTransaction(api, issuer, tx);
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const tx = api.tx.rmrkCore.destroyCollection(collectionId);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const collectionTxResult = extractRmrkCoreTxResult(
-        events,
-        "CollectionDestroy",
-        (data) => {
-        return parseInt(data[1].toString(), 10);
-        }
-    );
-    expect(collectionTxResult.success, 'Error: Unable to delete NFT collection').to.be.true;
+  const collectionTxResult = extractRmrkCoreTxResult(
+    events,
+    'CollectionDestroy',
+    (data) => {
+      return parseInt(data[1].toString(), 10);
+    },
+  );
+  expect(collectionTxResult.success, 'Error: Unable to delete NFT collection').to.be.true;
 
-    const collection = await getCollection(
-        api,
-        parseInt(collectionId, 10)
-    );
-    expect(collection.isEmpty, 'Error: NFT collection should be deleted').to.be.true;
+  const collection = await getCollection(
+    api,
+    parseInt(collectionId, 10),
+  );
+  expect(collection.isEmpty, 'Error: NFT collection should be deleted').to.be.true;
 
-    return 0;
+  return 0;
 }
 
 export async function negativeDeleteCollection(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: string
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: string,
 ): Promise<number> {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const tx = api.tx.rmrkCore.destroyCollection(collectionId);
-    await expect(executeTransaction(api, issuer, tx)).to.be.rejected;
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const tx = api.tx.rmrkCore.destroyCollection(collectionId);
+  await expect(executeTransaction(api, issuer, tx)).to.be.rejected;
 
-    return 0;
+  return 0;
 }
 
 export async function setNftProperty(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    key: string,
-    value: string
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  key: string,
+  value: string,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const nftIdOpt = api.createType('Option<u32>', nftId);
-    const tx = api.tx.rmrkCore.setProperty(
-        collectionId,
-        nftIdOpt,
-        key,
-        value
-    );
-    const events = await executeTransaction(api, issuer, tx);
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const nftIdOpt = api.createType('Option<u32>', nftId);
+  const tx = api.tx.rmrkCore.setProperty(
+    collectionId,
+    nftIdOpt,
+    key,
+    value,
+  );
+  const events = await executeTransaction(api, issuer, tx);
 
-    const propResult = extractRmrkCoreTxResult(
-        events, 'PropertySet', (data) => {
-            return {
-                collectionId: parseInt(data[0].toString(), 10),
-                nftId: data[1] as Option<u32>,
-                key: data[2] as Bytes,
-                value: data[3] as Bytes
-            };
-        }
-    );
+  const propResult = extractRmrkCoreTxResult(events, 'PropertySet', (data) => {
+    return {
+      collectionId: parseInt(data[0].toString(), 10),
+      nftId: data[1] as Option<u32>,
+      key: data[2] as Bytes,
+      value: data[3] as Bytes,
+    };
+  });
 
-    expect(propResult.success, 'Error: Unable to set NFT property').to.be.true;
-    const eventData = propResult.successData!;
-    const eventDescription = 'from set NFT property event';
+  expect(propResult.success, 'Error: Unable to set NFT property').to.be.true;
+  const eventData = propResult.successData!;
+  const eventDescription = 'from set NFT property event';
 
-    expect(eventData.collectionId, 'Error: Invalid collection ID ' + eventDescription)
-        .to.be.equal(collectionId);
+  expect(eventData.collectionId, 'Error: Invalid collection ID ' + eventDescription)
+    .to.be.equal(collectionId);
 
-    expect(eventData.nftId.eq(nftIdOpt), 'Error: Invalid NFT ID ' + eventDescription)
-        .to.be.true;
+  expect(eventData.nftId.eq(nftIdOpt), 'Error: Invalid NFT ID ' + eventDescription)
+    .to.be.true;
 
-    expect(eventData.key.eq(key), 'Error: Invalid property key ' + eventDescription)
-        .to.be.true;
+  expect(eventData.key.eq(key), 'Error: Invalid property key ' + eventDescription)
+    .to.be.true;
 
-    expect(eventData.value.eq(value), 'Error: Invalid property value ' + eventDescription)
-        .to.be.true;
+  expect(eventData.value.eq(value), 'Error: Invalid property value ' + eventDescription)
+    .to.be.true;
 
-    expect(
-        await isNftPropertyExists(api, collectionId, nftId, key, value),
-        'Error: NFT property is not found'
-    ).to.be.true;
+  expect(
+    await isNftPropertyExists(api, collectionId, nftId, key, value),
+    'Error: NFT property is not found',
+  ).to.be.true;
 }
 
 export async function mintNft(
-    api: ApiPromise,
-    issuerUri: string,
-    ownerUri: string | null,
-    collectionId: number,
-    metadata: string,
-    recipientUri: string | null = null,
-    royalty: number | null = null,
-    transferable: boolean = true,
-    resources: {basic?: any, composable?: any, slot?: any}[] | null = null
+  api: ApiPromise,
+  issuerUri: string,
+  ownerUri: string | null,
+  collectionId: number,
+  metadata: string,
+  recipientUri: string | null = null,
+  royalty: number | null = null,
+  transferable = true,
+  resources: {basic?: any, composable?: any, slot?: any}[] | null = null,
 ): Promise<number> {
-    let nftId = 0;
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const owner = ownerUri ? privateKey(ownerUri, Number(ss58Format)).address : null;
-    const recipient = recipientUri ? privateKey(recipientUri, Number(ss58Format)).address : null;
-    const royaltyOptional = royalty ? royalty.toString() : null;
+  let nftId = 0;
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const owner = ownerUri ? privateKey(ownerUri, Number(ss58Format)).address : null;
+  const recipient = recipientUri ? privateKey(recipientUri, Number(ss58Format)).address : null;
+  const royaltyOptional = royalty ? royalty.toString() : null;
 
-    const actualOwnerUri = ownerUri ? ownerUri : issuerUri;
-    const actualOwnerAddress = ownerUri ? owner : issuer.address;
+  const actualOwnerUri = ownerUri ? ownerUri : issuerUri;
+  const actualOwnerAddress = ownerUri ? owner : issuer.address;
 
-    const collectionOpt = await getCollection(api, collectionId);
+  const collectionOpt = await getCollection(api, collectionId);
 
-    const tx = api.tx.rmrkCore.mintNft(
-        owner,
-        collectionId,
-        recipient,
-        royaltyOptional,
-        metadata,
-        transferable,
-        resources,
-    );
+  const tx = api.tx.rmrkCore.mintNft(
+    owner,
+    collectionId,
+    recipient,
+    royaltyOptional,
+    metadata,
+    transferable,
+    resources,
+  );
 
-    const events = await executeTransaction(api, issuer, tx);
-    const nftResult = extractRmrkCoreTxResult(
-        events, 'NftMinted', (data) => {
-            return parseInt(data[2].toString(), 10);
-        }
-    );
+  const events = await executeTransaction(api, issuer, tx);
+  const nftResult = extractRmrkCoreTxResult(events, 'NftMinted', (data) => {
+    return parseInt(data[2].toString(), 10);
+  });
 
-    expect(nftResult.success, 'Error: Unable to mint NFT').to.be.true;
+  expect(nftResult.success, 'Error: Unable to mint NFT').to.be.true;
 
-    const newCollectionNftsCount = (await getCollection(api, collectionId))
-        .unwrap()
-        .nftsCount
-        .toNumber();
+  const newCollectionNftsCount = (await getCollection(api, collectionId))
+    .unwrap()
+    .nftsCount
+    .toNumber();
 
-    const oldCollectionNftsCount = collectionOpt
-      .unwrap()
-      .nftsCount.toNumber();
+  const oldCollectionNftsCount = collectionOpt
+    .unwrap()
+    .nftsCount.toNumber();
 
-    expect(newCollectionNftsCount, 'Error: NFTs count should increase')
-        .to.be.equal(oldCollectionNftsCount + 1);
+  expect(newCollectionNftsCount, 'Error: NFTs count should increase')
+    .to.be.equal(oldCollectionNftsCount + 1);
 
-    nftId = nftResult.successData!;
+  nftId = nftResult.successData!;
 
-    const nftOption = await getNft(api, collectionId, nftId);
+  const nftOption = await getNft(api, collectionId, nftId);
 
-    expect(nftOption.isSome, 'Error: Unable to fetch created NFT').to.be.true;
+  expect(nftOption.isSome, 'Error: Unable to fetch created NFT').to.be.true;
 
-    const nft = nftOption.unwrap();
+  const nft = nftOption.unwrap();
 
-    expect(nft.owner.isAccountId, 'Error: NFT owner should be some user').to.be.true;
-    expect(nft.owner.asAccountId.toString()).to.be.equal(actualOwnerAddress, "Error: Invalid NFT owner");
+  expect(nft.owner.isAccountId, 'Error: NFT owner should be some user').to.be.true;
+  expect(nft.owner.asAccountId.toString()).to.be.equal(actualOwnerAddress, 'Error: Invalid NFT owner');
 
-    const isOwnedInUniques = await isNftOwnedBy(api, actualOwnerUri, collectionId, nftId);
-    expect(isOwnedInUniques, `Error: created NFT is not actually owned by ${ownerUri}`)
-        .to.be.true;
+  const isOwnedInUniques = await isNftOwnedBy(api, actualOwnerUri, collectionId, nftId);
+  expect(isOwnedInUniques, `Error: created NFT is not actually owned by ${ownerUri}`)
+    .to.be.true;
 
-    if (recipient === null && royalty === null) {
-        expect(nft.royalty.isNone, 'Error: Invalid NFT recipient')
-            .to.be.true;
-    } else {
-        expect(nft.royalty.isSome, 'Error: NFT royalty not found')
-            .to.be.true;
+  if (recipient === null && royalty === null) {
+    expect(nft.royalty.isNone, 'Error: Invalid NFT recipient')
+      .to.be.true;
+  } else {
+    expect(nft.royalty.isSome, 'Error: NFT royalty not found')
+      .to.be.true;
 
-        const nftRoyalty = nft.royalty.unwrap();
-        expect(nftRoyalty.recipient.eq(recipient), 'Error: Invalid NFT recipient')
-            .to.be.true;
+    const nftRoyalty = nft.royalty.unwrap();
+    expect(nftRoyalty.recipient.eq(recipient), 'Error: Invalid NFT recipient')
+      .to.be.true;
 
-        expect(nftRoyalty.amount.eq(royalty), 'Error: Invalid NFT royalty')
-            .to.be.true;
-    }
+    expect(nftRoyalty.amount.eq(royalty), 'Error: Invalid NFT royalty')
+      .to.be.true;
+  }
 
-    expect(nft.metadata.toUtf8()).to.be.equal(metadata, "Error: Invalid NFT metadata");
+  expect(nft.metadata.toUtf8()).to.be.equal(metadata, 'Error: Invalid NFT metadata');
     
-    const nftResources = await getResources(api, collectionId, nftId);
-    if (resources == null) {
-        expect(nftResources, 'Error: Invalid NFT resources').to.be.empty;
-    } else {
-        expect(nftResources.length).to.be.equal(resources.length);
+  const nftResources = await getResources(api, collectionId, nftId);
+  if (resources == null) {
+    expect(nftResources, 'Error: Invalid NFT resources').to.be.empty;
+  } else {
+    expect(nftResources.length).to.be.equal(resources.length);
 
-        for (let i = 0; i < resources.length; i++) {
-            let successFindingResource = false;
-            const resource = resources[i];
-            // try to find the matching resource from the query
-            for (let j = 0; j < nftResources.length && !successFindingResource; j++) {
-                const nftResourceData = nftResources[j].toHuman();
-                expect(nftResourceData.hasOwnProperty('resource'), `Error: Corrupted resource data on resource #${i}`);
-                const nftResource = nftResourceData.resource!;
+    for (let i = 0; i < resources.length; i++) {
+      let successFindingResource = false;
+      const resource = resources[i];
+      // try to find the matching resource from the query
+      for (let j = 0; j < nftResources.length && !successFindingResource; j++) {
+        const nftResourceData = nftResources[j].toHuman();
+        expect(nftResourceData.hasOwnProperty('resource'), `Error: Corrupted resource data on resource #${i}`);
+        const nftResource = nftResourceData.resource!;
                 type NftResourceKey = keyof typeof nftResource;
 
                 let typedResource = null;
                 let typedNftResource = null;
 
-                if (resource.basic && nftResource.hasOwnProperty("Basic")) {
-                    typedResource = resource.basic!;
-                    typedNftResource = nftResource["Basic" as NftResourceKey]!;
-                } else if (resource.composable && nftResource.hasOwnProperty("Composable")) {
-                    typedResource = resource.composable!;
-                    typedNftResource = nftResource["Composable" as NftResourceKey]! as any;
-                    if (typedResource.parts != undefined && typedResource.parts.toString() != typedNftResource.parts.toString()
+                if (resource.basic && nftResource.hasOwnProperty('Basic')) {
+                  typedResource = resource.basic!;
+                  typedNftResource = nftResource['Basic' as NftResourceKey]!;
+                } else if (resource.composable && nftResource.hasOwnProperty('Composable')) {
+                  typedResource = resource.composable!;
+                  typedNftResource = nftResource['Composable' as NftResourceKey]! as any;
+                  if (typedResource.parts != undefined && typedResource.parts.toString() != typedNftResource.parts.toString()
                         || typedResource.base != typedNftResource.base && typedResource.base != undefined) {
-                        continue;
-                    }
-                } else if (resource.slot && nftResource.hasOwnProperty("Slot")) {
-                    typedResource = resource.slot!;
-                    typedNftResource = nftResource["Slot" as NftResourceKey]! as any;
-                    if (typedResource.slot != typedNftResource.slot && typedResource.slot != undefined 
+                    continue;
+                  }
+                } else if (resource.slot && nftResource.hasOwnProperty('Slot')) {
+                  typedResource = resource.slot!;
+                  typedNftResource = nftResource['Slot' as NftResourceKey]! as any;
+                  if (typedResource.slot != typedNftResource.slot && typedResource.slot != undefined 
                         || typedResource.base != typedNftResource.base && typedResource.base != undefined) {
-                        continue;
-                    }
-                } else {
                     continue;
+                  }
+                } else {
+                  continue;
                 }
 
                 if (typedResource.src != typedNftResource.src 
@@ -337,7 +329,7 @@
                     || typedResource.thumb != typedNftResource.thumb
                     || typedResource.license != typedNftResource.license
                 ) {
-                    continue;
+                  continue;
                 }
 
                 // do final checks since this is now established to be the resource we seek
@@ -347,365 +339,357 @@
                 // remove the matching resource from the resources we check
                 nftResources.splice(j, 1);
                 successFindingResource = true;
-            };
+      }
 
-            expect(successFindingResource, `Error: Couldn't find resource #${i}'s counterpart among the returned`).to.be.true;
-        }
+      expect(successFindingResource, `Error: Couldn't find resource #${i}'s counterpart among the returned`).to.be.true;
     }
+  }
 
-    return nftId;
+  return nftId;
 }
 
 export async function sendNft(
-    api: ApiPromise,
-    expectedStatus: "pending" | "sent",
-    originalOwnerUri: string,
-    collectionId: number,
-    nftId: number,
-    newOwner: string | NftIdTuple
+  api: ApiPromise,
+  expectedStatus: 'pending' | 'sent',
+  originalOwnerUri: string,
+  collectionId: number,
+  nftId: number,
+  newOwner: string | NftIdTuple,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const originalOwner = privateKey(originalOwnerUri, Number(ss58Format));
-    const newOwnerObj = makeNftOwner(api, newOwner);
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const originalOwner = privateKey(originalOwnerUri, Number(ss58Format));
+  const newOwnerObj = makeNftOwner(api, newOwner);
 
-    const nftBeforeSendingOpt = await getNft(api, collectionId, nftId);
+  const nftBeforeSendingOpt = await getNft(api, collectionId, nftId);
 
-    const tx = api.tx.rmrkCore.send(collectionId, nftId, newOwnerObj);
-    const events = await executeTransaction(api, originalOwner, tx);
+  const tx = api.tx.rmrkCore.send(collectionId, nftId, newOwnerObj);
+  const events = await executeTransaction(api, originalOwner, tx);
 
-    const sendResult = extractRmrkCoreTxResult(events, "NFTSent", (data) => {
-        return {
-            dstOwner: data[1] as NftOwner,
-            collectionId: parseInt(data[2].toString(), 10),
-            nftId: parseInt(data[3].toString(), 10)
-        };
-    });
+  const sendResult = extractRmrkCoreTxResult(events, 'NFTSent', (data) => {
+    return {
+      dstOwner: data[1] as NftOwner,
+      collectionId: parseInt(data[2].toString(), 10),
+      nftId: parseInt(data[3].toString(), 10),
+    };
+  });
 
-    expect(sendResult.success, 'Error: Unable to send NFT').to.be.true;
-    const sendData = sendResult.successData!;
+  expect(sendResult.success, 'Error: Unable to send NFT').to.be.true;
+  const sendData = sendResult.successData!;
 
-    expect(sendData.dstOwner.eq(newOwnerObj), 'Error: Invalid target user (from event data)')
-        .to.be.true;
+  expect(sendData.dstOwner.eq(newOwnerObj), 'Error: Invalid target user (from event data)')
+    .to.be.true;
 
-    expect(sendData.collectionId)
-        .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
+  expect(sendData.collectionId)
+    .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
 
-    expect(sendData.nftId).to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
+  expect(sendData.nftId).to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
 
-    expect(nftBeforeSendingOpt.isSome, 'Error: Unable to fetch NFT before sending').to.be.true;
+  expect(nftBeforeSendingOpt.isSome, 'Error: Unable to fetch NFT before sending').to.be.true;
 
-    const nftBeforeSending = nftBeforeSendingOpt.unwrap();
+  const nftBeforeSending = nftBeforeSendingOpt.unwrap();
 
-    const nftAfterSendingOpt = await getNft(api, collectionId, nftId);
+  const nftAfterSendingOpt = await getNft(api, collectionId, nftId);
 
-    expect(nftAfterSendingOpt.isSome, 'Error: Unable to fetch NFT after sending').to.be.true;
+  expect(nftAfterSendingOpt.isSome, 'Error: Unable to fetch NFT after sending').to.be.true;
 
-    const nftAfterSending = nftAfterSendingOpt.unwrap();
+  const nftAfterSending = nftAfterSendingOpt.unwrap();
 
-    const isOwnedByNewOwner = await isNftOwnedBy(api, newOwner, collectionId, nftId);
-    const isPending = expectedStatus === "pending";
+  const isOwnedByNewOwner = await isNftOwnedBy(api, newOwner, collectionId, nftId);
+  const isPending = expectedStatus === 'pending';
 
-    expect(
-        isOwnedByNewOwner,
-        `Error: The NFT should be owned by ${newOwner.toString()}`
-    ).to.be.true;
+  expect(
+    isOwnedByNewOwner,
+    `Error: The NFT should be owned by ${newOwner.toString()}`,
+  ).to.be.true;
 
-    expect(nftAfterSending.royalty.eq(nftBeforeSending.royalty), 'Error: Invalid NFT royalty after sending')
-        .to.be.true;
+  expect(nftAfterSending.royalty.eq(nftBeforeSending.royalty), 'Error: Invalid NFT royalty after sending')
+    .to.be.true;
 
-    expect(nftAfterSending.metadata.eq(nftBeforeSending.metadata), 'Error: Invalid NFT metadata after sending')
-        .to.be.true;
+  expect(nftAfterSending.metadata.eq(nftBeforeSending.metadata), 'Error: Invalid NFT metadata after sending')
+    .to.be.true;
 
-    expect(nftAfterSending.equipped.eq(nftBeforeSending.equipped), 'Error: Invalid NFT equipped status after sending')
-        .to.be.true;
+  expect(nftAfterSending.equipped.eq(nftBeforeSending.equipped), 'Error: Invalid NFT equipped status after sending')
+    .to.be.true;
 
-    expect(nftAfterSending.pending.eq(isPending), 'Error: Invalid NFT pending state')
-        .to.be.true;
+  expect(nftAfterSending.pending.eq(isPending), 'Error: Invalid NFT pending state')
+    .to.be.true;
 }
 
 export async function acceptNft(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    newOwner: string | [number, number]
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  newOwner: string | [number, number],
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const newOwnerObj = makeNftOwner(api, newOwner);
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const newOwnerObj = makeNftOwner(api, newOwner);
 
-    let nftBeforeOpt = await getNft(api, collectionId, nftId);
+  const nftBeforeOpt = await getNft(api, collectionId, nftId);
 
-    const tx = api.tx.rmrkCore.acceptNft(collectionId, nftId, newOwnerObj);
-    const events = await executeTransaction(api, issuer, tx);
+  const tx = api.tx.rmrkCore.acceptNft(collectionId, nftId, newOwnerObj);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const acceptResult = extractRmrkCoreTxResult(events, "NFTAccepted", (data) => {
-        return {
-            recipient: data[1] as NftOwner,
-            collectionId: parseInt(data[2].toString(), 10),
-            nftId: parseInt(data[3].toString(), 10)
-        };
-    });
+  const acceptResult = extractRmrkCoreTxResult(events, 'NFTAccepted', (data) => {
+    return {
+      recipient: data[1] as NftOwner,
+      collectionId: parseInt(data[2].toString(), 10),
+      nftId: parseInt(data[3].toString(), 10),
+    };
+  });
 
-    expect(acceptResult.success, 'Error: Unable to accept NFT').to.be.true;
-    const acceptData = acceptResult.successData!;
+  expect(acceptResult.success, 'Error: Unable to accept NFT').to.be.true;
+  const acceptData = acceptResult.successData!;
 
-    expect(acceptData.recipient.eq(newOwnerObj), 'Error: Invalid NFT recipient (from event data)')
-        .to.be.true;
+  expect(acceptData.recipient.eq(newOwnerObj), 'Error: Invalid NFT recipient (from event data)')
+    .to.be.true;
 
-    expect(acceptData.collectionId)
-        .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
+  expect(acceptData.collectionId)
+    .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
 
-    expect(acceptData.nftId)
-        .to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
+  expect(acceptData.nftId)
+    .to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
 
-    const nftBefore = nftBeforeOpt.unwrap();
+  const nftBefore = nftBeforeOpt.unwrap();
 
-    const isPendingBeforeAccept = nftBefore.pending.isTrue;
+  const isPendingBeforeAccept = nftBefore.pending.isTrue;
 
-    const nftAfter = (await getNft(api, collectionId, nftId)).unwrap();
-    const isPendingAfterAccept = nftAfter.pending.isTrue;
+  const nftAfter = (await getNft(api, collectionId, nftId)).unwrap();
+  const isPendingAfterAccept = nftAfter.pending.isTrue;
 
-    expect(isPendingBeforeAccept, 'Error: NFT should be pending to be accepted')
-        .to.be.true;
+  expect(isPendingBeforeAccept, 'Error: NFT should be pending to be accepted')
+    .to.be.true;
 
-    expect(isPendingAfterAccept, 'Error: NFT should NOT be pending after accept')
-        .to.be.false;
+  expect(isPendingAfterAccept, 'Error: NFT should NOT be pending after accept')
+    .to.be.false;
 
-    const isOwnedInUniques = await isNftOwnedBy(api, newOwner, collectionId, nftId);
-    expect(isOwnedInUniques, `Error: created NFT is not actually owned by ${newOwner.toString()}`)
-        .to.be.true;
+  const isOwnedInUniques = await isNftOwnedBy(api, newOwner, collectionId, nftId);
+  expect(isOwnedInUniques, `Error: created NFT is not actually owned by ${newOwner.toString()}`)
+    .to.be.true;
 }
 
 export async function rejectNft(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    let nftBeforeOpt = await getNft(api, collectionId, nftId);
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const nftBeforeOpt = await getNft(api, collectionId, nftId);
 
-    const tx = api.tx.rmrkCore.rejectNft(collectionId, nftId);
-    const events = await executeTransaction(api, issuer, tx);
-    const rejectResult = extractRmrkCoreTxResult(events, "NFTRejected", (data) => {
-        return {
-            collectionId: parseInt(data[1].toString(), 10),
-            nftId: parseInt(data[2].toString(), 10)
-        };
-    });
+  const tx = api.tx.rmrkCore.rejectNft(collectionId, nftId);
+  const events = await executeTransaction(api, issuer, tx);
+  const rejectResult = extractRmrkCoreTxResult(events, 'NFTRejected', (data) => {
+    return {
+      collectionId: parseInt(data[1].toString(), 10),
+      nftId: parseInt(data[2].toString(), 10),
+    };
+  });
 
-    const rejectData = rejectResult.successData!;
+  const rejectData = rejectResult.successData!;
 
-    expect(rejectData.collectionId)
-        .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
+  expect(rejectData.collectionId)
+    .to.be.equal(collectionId, 'Error: Invalid collection ID (from event data)');
 
-    expect(rejectData.nftId)
-        .to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
+  expect(rejectData.nftId)
+    .to.be.equal(nftId, 'Error: Invalid NFT ID (from event data)');
 
-    const nftBefore = nftBeforeOpt.unwrap();
+  const nftBefore = nftBeforeOpt.unwrap();
 
-    const isPendingBeforeReject = nftBefore.pending.isTrue;
+  const isPendingBeforeReject = nftBefore.pending.isTrue;
 
-    const nftAfter = await getNft(api, collectionId, nftId);
+  const nftAfter = await getNft(api, collectionId, nftId);
 
-    expect(isPendingBeforeReject, 'Error: NFT should be pending to be rejected')
-        .to.be.true;
+  expect(isPendingBeforeReject, 'Error: NFT should be pending to be rejected')
+    .to.be.true;
 
-    expect(nftAfter.isNone, 'Error: NFT should be burned after reject')
-        .to.be.true;
+  expect(nftAfter.isNone, 'Error: NFT should be burned after reject')
+    .to.be.true;
 }
 
 export async function createBase(
-    api: ApiPromise,
-    issuerUri: string,
-    baseType: string,
-    symbol: string,
-    parts: object[]
+  api: ApiPromise,
+  issuerUri: string,
+  baseType: string,
+  symbol: string,
+  parts: object[],
 ): Promise<number> {
-    let baseId = 0;
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  let baseId = 0;
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const partTypes = api.createType("Vec<RmrkTraitsPartPartType>", parts) as Vec<PartType>;
+  const partTypes = api.createType('Vec<RmrkTraitsPartPartType>', parts) as Vec<PartType>;
 
-    const tx = api.tx.rmrkEquip.createBase(baseType, symbol, partTypes);
-    const events = await executeTransaction(api, issuer, tx);
+  const tx = api.tx.rmrkEquip.createBase(baseType, symbol, partTypes);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const baseResult = extractRmrkEquipTxResult(
-        events, 'BaseCreated', (data) => {
-            return parseInt(data[1].toString(), 10);
-        }
-    );
+  const baseResult = extractRmrkEquipTxResult(events, 'BaseCreated', (data) => {
+    return parseInt(data[1].toString(), 10);
+  });
 
-    expect(baseResult.success, 'Error: Unable to create Base')
-        .to.be.true;
+  expect(baseResult.success, 'Error: Unable to create Base')
+    .to.be.true;
 
-    baseId = baseResult.successData!;
-    const baseOptional = await getBase(api, baseId);
+  baseId = baseResult.successData!;
+  const baseOptional = await getBase(api, baseId);
 
-    expect(baseOptional.isSome, 'Error: Unable to fetch created Base')
-        .to.be.true;
+  expect(baseOptional.isSome, 'Error: Unable to fetch created Base')
+    .to.be.true;
 
-    const base = baseOptional.unwrap();
-    const baseParts = await getParts(api, baseId);
+  const base = baseOptional.unwrap();
+  const baseParts = await getParts(api, baseId);
 
-    expect(base.issuer.toString()).to.be.equal(issuer.address, "Error: Invalid Base issuer");
-    expect(base.baseType.toUtf8()).to.be.equal(baseType, "Error: Invalid Base type");
-    expect(base.symbol.toUtf8()).to.be.equal(symbol, "Error: Invalid Base symbol");
-    expect(partTypes.eq(baseParts), "Error: Received invalid base parts").to.be.true;
+  expect(base.issuer.toString()).to.be.equal(issuer.address, 'Error: Invalid Base issuer');
+  expect(base.baseType.toUtf8()).to.be.equal(baseType, 'Error: Invalid Base type');
+  expect(base.symbol.toUtf8()).to.be.equal(symbol, 'Error: Invalid Base symbol');
+  expect(partTypes.eq(baseParts), 'Error: Received invalid base parts').to.be.true;
 
-    return baseId;
+  return baseId;
 }
 
 export async function setResourcePriorities(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    priorities: number[]
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  priorities: number[],
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const prioritiesVec = api.createType('Vec<u32>', priorities);
-    const tx = api.tx.rmrkCore.setPriority(collectionId, nftId, prioritiesVec);
-    const events = await executeTransaction(api, issuer, tx);
+  const prioritiesVec = api.createType('Vec<u32>', priorities);
+  const tx = api.tx.rmrkCore.setPriority(collectionId, nftId, prioritiesVec);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const prioResult = extractRmrkCoreTxResult(events, 'PrioritySet', (data) => {
-        return {
-            collectionId: parseInt(data[0].toString(), 10),
-            nftId: parseInt(data[1].toString(), 10)
-        };
-    });
+  const prioResult = extractRmrkCoreTxResult(events, 'PrioritySet', (data) => {
+    return {
+      collectionId: parseInt(data[0].toString(), 10),
+      nftId: parseInt(data[1].toString(), 10),
+    };
+  });
 
-    expect(prioResult.success, 'Error: Unable to set resource priorities').to.be.true;
-    const eventData = prioResult.successData!;
+  expect(prioResult.success, 'Error: Unable to set resource priorities').to.be.true;
+  const eventData = prioResult.successData!;
 
-    expect(eventData.collectionId)
-        .to.be.equal(collectionId, 'Error: Invalid collection ID (set priorities event data)');
+  expect(eventData.collectionId)
+    .to.be.equal(collectionId, 'Error: Invalid collection ID (set priorities event data)');
 
-    expect(eventData.nftId).to.be.equal(nftId, 'Error: Invalid NFT ID (set priorities event data');
+  expect(eventData.nftId).to.be.equal(nftId, 'Error: Invalid NFT ID (set priorities event data');
 
-    for (var i = 0; i < priorities.length; i++) {
-        const resourceId = priorities[i];
+  for (let i = 0; i < priorities.length; i++) {
+    const resourceId = priorities[i];
 
-        const fetchedPrio = await getResourcePriority(api, collectionId, nftId, resourceId);
-        expect(fetchedPrio).to.be.equal(i, 'Error: Invalid priorities are set');
-    }
+    const fetchedPrio = await getResourcePriority(api, collectionId, nftId, resourceId);
+    expect(fetchedPrio).to.be.equal(i, 'Error: Invalid priorities are set');
+  }
 
 }
 
 export async function setEquippableList(
-    api: ApiPromise,
-    issuerUri: string,
-    baseId: number,
-    slotId: number,
-    equippableList: "All" | "Empty" | { 'Custom': number[] }
+  api: ApiPromise,
+  issuerUri: string,
+  baseId: number,
+  slotId: number,
+  equippableList: 'All' | 'Empty' | { 'Custom': number[] },
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const equippable = api.createType('RmrkTraitsPartEquippableList', equippableList) as EquippableList;
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const equippable = api.createType('RmrkTraitsPartEquippableList', equippableList) as EquippableList;
 
-    const tx = api.tx.rmrkEquip.equippable(baseId, slotId, equippable);
-    const events = await executeTransaction(api, issuer, tx);
+  const tx = api.tx.rmrkEquip.equippable(baseId, slotId, equippable);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const equipListResult = extractRmrkEquipTxResult(events, 'EquippablesUpdated', (data) => {
-        return {
-            baseId: parseInt(data[0].toString(), 10),
-            slotId: parseInt(data[1].toString(), 10)
-        };
-    });
+  const equipListResult = extractRmrkEquipTxResult(events, 'EquippablesUpdated', (data) => {
+    return {
+      baseId: parseInt(data[0].toString(), 10),
+      slotId: parseInt(data[1].toString(), 10),
+    };
+  });
 
-    expect(equipListResult.success, 'Error: unable to update equippable list').to.be.true;
-    const updateEvent = equipListResult.successData!;
+  expect(equipListResult.success, 'Error: unable to update equippable list').to.be.true;
+  const updateEvent = equipListResult.successData!;
 
-    expect(updateEvent.baseId)
-        .to.be.equal(baseId, 'Error: invalid base ID from update equippable event');
+  expect(updateEvent.baseId)
+    .to.be.equal(baseId, 'Error: invalid base ID from update equippable event');
 
-    expect(updateEvent.slotId)
-        .to.be.equal(slotId, 'Error: invalid base ID from update equippable event');
+  expect(updateEvent.slotId)
+    .to.be.equal(slotId, 'Error: invalid base ID from update equippable event');
 
-    const fetchedEquippableList = await getEquippableList(api, baseId, slotId);
+  const fetchedEquippableList = await getEquippableList(api, baseId, slotId);
 
-    expect(fetchedEquippableList, 'Error: unable to fetch equippable list').to.be.not.null;
-    if (fetchedEquippableList) {
-        expect(fetchedEquippableList)
-            .to.be.deep.equal(equippableList, 'Error: invalid equippable list was set');
-    }
+  expect(fetchedEquippableList, 'Error: unable to fetch equippable list').to.be.not.null;
+  if (fetchedEquippableList) {
+    expect(fetchedEquippableList)
+      .to.be.deep.equal(equippableList, 'Error: invalid equippable list was set');
+  }
 }
 
 export async function addTheme(
-    api: ApiPromise,
-    issuerUri: string,
-    baseId: number,
-    themeObj: object,
-    filterKeys: string[] | null = null
+  api: ApiPromise,
+  issuerUri: string,
+  baseId: number,
+  themeObj: object,
+  filterKeys: string[] | null = null,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
-    const theme = api.createType('RmrkTraitsTheme', themeObj) as Theme;
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
+  const theme = api.createType('RmrkTraitsTheme', themeObj) as Theme;
 
-    const tx = api.tx.rmrkEquip.themeAdd(baseId, theme);
-    const events = await executeTransaction(api, issuer, tx);
+  const tx = api.tx.rmrkEquip.themeAdd(baseId, theme);
+  const events = await executeTransaction(api, issuer, tx);
 
-    expect(isTxResultSuccess(events), 'Error: Unable to add Theme').to.be.true;
+  expect(isTxResultSuccess(events), 'Error: Unable to add Theme').to.be.true;
 
-    const fetchedThemeOpt = await getTheme(api, baseId, theme.name.toUtf8(), null);
+  const fetchedThemeOpt = await getTheme(api, baseId, theme.name.toUtf8(), null);
 
-    expect(fetchedThemeOpt.isSome, 'Error: Unable to fetch theme').to.be.true;
+  expect(fetchedThemeOpt.isSome, 'Error: Unable to fetch theme').to.be.true;
 
-    const fetchedTheme = fetchedThemeOpt.unwrap();
+  const fetchedTheme = fetchedThemeOpt.unwrap();
 
-    expect(theme.name.eq(fetchedTheme.name), 'Error: Invalid theme name').to.be.true;
+  expect(theme.name.eq(fetchedTheme.name), 'Error: Invalid theme name').to.be.true;
 
-    for (var i = 0; i < theme.properties.length; i++) {
-        const property = theme.properties[i];
-        const propertyKey = property.key.toUtf8();
+  for (let i = 0; i < theme.properties.length; i++) {
+    const property = theme.properties[i];
+    const propertyKey = property.key.toUtf8();
 
-        const propertyFoundCount = fetchedTheme.properties.filter(
-            (fetchedProp) => property.key.eq(fetchedProp.key)
-        ).length;
+    const propertyFoundCount = fetchedTheme.properties.filter((fetchedProp) => property.key.eq(fetchedProp.key)).length;
 
-        expect(propertyFoundCount > 1, `Error: Too many properties with key ${propertyKey} found`)
-            .to.be.false;
-
-        if (filterKeys) {
-            const isFiltered = fetchedTheme.properties.find(
-                (fetchedProp) => fetchedProp.key.eq(property.key)
-            ) === undefined;
+    expect(propertyFoundCount > 1, `Error: Too many properties with key ${propertyKey} found`)
+      .to.be.false;
 
-            if (isFiltered) {
-                expect(propertyFoundCount === 0, `Error: Unexpected filtered key ${propertyKey}`)
-                    .to.be.true;
-                continue;
-            }
-        }
+    if (filterKeys) {
+      const isFiltered = fetchedTheme.properties.find((fetchedProp) => fetchedProp.key.eq(property.key)) === undefined;
 
-        expect(propertyFoundCount === 1, `Error: The property with key ${propertyKey} is not found`)
-            .to.be.true;
+      if (isFiltered) {
+        expect(propertyFoundCount === 0, `Error: Unexpected filtered key ${propertyKey}`)
+          .to.be.true;
+        continue;
+      }
     }
+
+    expect(propertyFoundCount === 1, `Error: The property with key ${propertyKey} is not found`)
+      .to.be.true;
+  }
 }
 
 export async function lockCollection(
   api: ApiPromise,
   issuerUri: string,
   collectionId: number,
-  max: number = 0
+  max = 0,
 ) {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const issuer = privateKey(issuerUri, Number(ss58Format));
   const tx = api.tx.rmrkCore.lockCollection(collectionId);
   const events = await executeTransaction(api, issuer, tx);
-  const lockResult = extractRmrkCoreTxResult(
-      events, 'CollectionLocked', (data) => {
-          return parseInt(data[1].toString(), 10);
-      }
-  );
+  const lockResult = extractRmrkCoreTxResult(events, 'CollectionLocked', (data) => {
+    return parseInt(data[1].toString(), 10);
+  });
   expect(lockResult.success, 'Error: Unable to lock a collection').to.be.true;
   expect(lockResult.successData!, 'Error: Invalid collection was locked')
-      .to.be.eq(collectionId);
+    .to.be.eq(collectionId);
 
   await getCollection(api, collectionId).then((collectionOption) => {
     const collection = collectionOption.unwrap();
@@ -718,23 +702,21 @@
   issuerUri: string,
   collectionId: number,
   key: string,
-  value: string
+  value: string,
 ) {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const alice = privateKey(issuerUri, Number(ss58Format));
 
   const tx = api.tx.rmrkCore.setProperty(collectionId, null, key, value);
   const events = await executeTransaction(api, alice, tx);
-  const propResult = extractRmrkCoreTxResult(
-        events, 'PropertySet', (data) => {
-            return {
-                collectionId: parseInt(data[0].toString(), 10),
-                nftId: data[1] as Option<u32>,
-                key: data[2] as Bytes,
-                value: data[3] as Bytes
-            };
-        }
-    );
+  const propResult = extractRmrkCoreTxResult(events, 'PropertySet', (data) => {
+    return {
+      collectionId: parseInt(data[0].toString(), 10),
+      nftId: data[1] as Option<u32>,
+      key: data[2] as Bytes,
+      value: data[3] as Bytes,
+    };
+  });
 
   expect(propResult.success, 'Error: Unable to set collection property').to.be.true;
   const eventData = propResult.successData!;
@@ -760,18 +742,16 @@
   api: ApiPromise,
   issuerUri: string,
   collectionId: number,
-  nftId: number
+  nftId: number,
 ) {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const issuer = privateKey(issuerUri, Number(ss58Format));
   const maxBurns = 10;
   const tx = api.tx.rmrkCore.burnNft(collectionId, nftId, maxBurns);
   const events = await executeTransaction(api, issuer, tx);
-  const burnResult = extractRmrkCoreTxResult(
-    events, 'NFTBurned', (data) => {
-      return parseInt(data[1].toString(), 10);
-    }
-  );
+  const burnResult = extractRmrkCoreTxResult(events, 'NFTBurned', (data) => {
+    return parseInt(data[1].toString(), 10);
+  });
 
   expect(burnResult.success, 'Error: Unable to burn an NFT').to.be.true;
   expect(burnResult.successData!, 'Error: Invalid NFT was burned')
@@ -782,185 +762,181 @@
 }
 
 export async function acceptNftResource(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    resourceId: number,
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const tx = api.tx.rmrkCore.acceptResource(
-        collectionId,
-        nftId,
-        resourceId,
-    );
+  const tx = api.tx.rmrkCore.acceptResource(
+    collectionId,
+    nftId,
+    resourceId,
+  );
 
-    const events = await executeTransaction(api, issuer, tx);
-    const acceptResult = extractRmrkCoreTxResult(
-        events, 'ResourceAccepted', (data) => {
-            return {
-                nftId: parseInt(data[0].toString(), 10),
-                resourceId: parseInt(data[1].toString(), 10)
-            };
-        }
-    )
+  const events = await executeTransaction(api, issuer, tx);
+  const acceptResult = extractRmrkCoreTxResult(events, 'ResourceAccepted', (data) => {
+    return {
+      nftId: parseInt(data[0].toString(), 10),
+      resourceId: parseInt(data[1].toString(), 10),
+    };
+  });
 
-    expect(acceptResult.success, 'Error: Unable to accept a resource').to.be.true;
-    expect(acceptResult.successData!.nftId, 'Error: Invalid NFT ID while accepting a resource')
-        .to.be.eq(nftId);
-    expect(acceptResult.successData!.resourceId, 'Error: Invalid resource ID while accepting a resource')
-        .to.be.eq(resourceId);
+  expect(acceptResult.success, 'Error: Unable to accept a resource').to.be.true;
+  expect(acceptResult.successData!.nftId, 'Error: Invalid NFT ID while accepting a resource')
+    .to.be.eq(nftId);
+  expect(acceptResult.successData!.resourceId, 'Error: Invalid resource ID while accepting a resource')
+    .to.be.eq(resourceId);
 
-    const resource = await getResourceById(api, collectionId, nftId, resourceId);
-    checkResourceStatus(resource, "added");
+  const resource = await getResourceById(api, collectionId, nftId, resourceId);
+  checkResourceStatus(resource, 'added');
 }
 
 async function executeResourceCreation(
-    api: ApiPromise,
-    issuer: IKeyringPair,
-    tx: any,
-    collectionId: number,
-    nftId: number,
-    expectedStatus: "pending" | "added"
+  api: ApiPromise,
+  issuer: IKeyringPair,
+  tx: any,
+  collectionId: number,
+  nftId: number,
+  expectedStatus: 'pending' | 'added',
 ): Promise<ResourceInfo> {
-    const events = await executeTransaction(api, issuer, tx);
+  const events = await executeTransaction(api, issuer, tx);
 
-    const resourceResult = extractRmrkCoreTxResult(
-        events, 'ResourceAdded', (data) => {
-            return parseInt(data[1].toString(), 10);
-        }
-    );
-    expect(resourceResult.success, 'Error: Unable to add resource').to.be.true;
-    const resourceId = resourceResult.successData!;
+  const resourceResult = extractRmrkCoreTxResult(events, 'ResourceAdded', (data) => {
+    return parseInt(data[1].toString(), 10);
+  });
+  expect(resourceResult.success, 'Error: Unable to add resource').to.be.true;
+  const resourceId = resourceResult.successData!;
 
-    const resource = await getResourceById(api, collectionId, nftId, resourceId);
-    checkResourceStatus(resource, expectedStatus);
+  const resource = await getResourceById(api, collectionId, nftId, resourceId);
+  checkResourceStatus(resource, expectedStatus);
 
-    return resource;
+  return resource;
 }
 
 export async function addNftBasicResource(
-    api: ApiPromise,
-    issuerUri: string,
-    expectedStatus: "pending" | "added",
-    collectionId: number,
-    nftId: number,
-    src: string | null,
-    metadata: string | null,
-    license: string | null,
-    thumb: string | null
+  api: ApiPromise,
+  issuerUri: string,
+  expectedStatus: 'pending' | 'added',
+  collectionId: number,
+  nftId: number,
+  src: string | null,
+  metadata: string | null,
+  license: string | null,
+  thumb: string | null,
 ): Promise<number> {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const basicResource = api.createType('RmrkTraitsResourceBasicResource', {
-        src: src,
-        metadata: metadata,
-        license: license,
-        thumb: thumb
-    }) as BasicResource;
+  const basicResource = api.createType('RmrkTraitsResourceBasicResource', {
+    src: src,
+    metadata: metadata,
+    license: license,
+    thumb: thumb,
+  }) as BasicResource;
 
-    const tx = api.tx.rmrkCore.addBasicResource(
-        collectionId,
-        nftId,
-        basicResource
-    );
+  const tx = api.tx.rmrkCore.addBasicResource(
+    collectionId,
+    nftId,
+    basicResource,
+  );
 
-    const resource = await executeResourceCreation(api, issuer, tx, collectionId, nftId, expectedStatus);
+  const resource = await executeResourceCreation(api, issuer, tx, collectionId, nftId, expectedStatus);
 
-    // FIXME A workaround. It seems it is a PolkadotJS bug.
-    // All of the following are `false`.
-    //
-    // console.log('>>> basic:', resource.resource.isBasic);
-    // console.log('>>> composable:', resource.resource.isComposable);
-    // console.log('>>> slot:', resource.resource.isSlot);
-    const resourceJson = resource.resource.toHuman() as any;
+  // FIXME A workaround. It seems it is a PolkadotJS bug.
+  // All of the following are `false`.
+  //
+  // console.log('>>> basic:', resource.resource.isBasic);
+  // console.log('>>> composable:', resource.resource.isComposable);
+  // console.log('>>> slot:', resource.resource.isSlot);
+  const resourceJson = resource.resource.toHuman() as any;
 
-    expect(resourceJson.hasOwnProperty('Basic'), 'Error: Expected basic resource type')
-        .to.be.true;
+  expect(resourceJson.hasOwnProperty('Basic'), 'Error: Expected basic resource type')
+    .to.be.true;
 
-    const recvBasicRes = resourceJson['Basic'];
+  const recvBasicRes = resourceJson['Basic'];
 
-    expect(recvBasicRes.src, 'Error: Invalid basic resource src')
-      .to.be.eq(src);
-    expect(recvBasicRes.metadata, 'Error: basic first resource metadata')
-      .to.be.eq(metadata);
-    expect(recvBasicRes.license, 'Error: basic first resource license')
-      .to.be.eq(license);
-    expect(recvBasicRes.thumb, 'Error: basic first resource thumb')
-      .to.be.eq(thumb);
+  expect(recvBasicRes.src, 'Error: Invalid basic resource src')
+    .to.be.eq(src);
+  expect(recvBasicRes.metadata, 'Error: basic first resource metadata')
+    .to.be.eq(metadata);
+  expect(recvBasicRes.license, 'Error: basic first resource license')
+    .to.be.eq(license);
+  expect(recvBasicRes.thumb, 'Error: basic first resource thumb')
+    .to.be.eq(thumb);
 
-    return resource.id.toNumber();
+  return resource.id.toNumber();
 }
 
 export async function addNftComposableResource(
-    api: ApiPromise,
-    issuerUri: string,
-    expectedStatus: "pending" | "added",
-    collectionId: number,
-    nftId: number,
-    parts: number[],
-    baseId: number,
-    src: string | null,
-    metadata: string | null,
-    license: string | null,
-    thumb: string | null
+  api: ApiPromise,
+  issuerUri: string,
+  expectedStatus: 'pending' | 'added',
+  collectionId: number,
+  nftId: number,
+  parts: number[],
+  baseId: number,
+  src: string | null,
+  metadata: string | null,
+  license: string | null,
+  thumb: string | null,
 ): Promise<number> {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const composableResource = api.createType('RmrkTraitsResourceComposableResource', {
-        parts: parts, // api.createType('Vec<u32>', parts),
-        base: baseId,
-        src: src,
-        metadata: metadata,
-        license: license,
-        thumb: thumb
-    }) as ComposableResource;
+  const composableResource = api.createType('RmrkTraitsResourceComposableResource', {
+    parts: parts, // api.createType('Vec<u32>', parts),
+    base: baseId,
+    src: src,
+    metadata: metadata,
+    license: license,
+    thumb: thumb,
+  }) as ComposableResource;
 
-    const tx = api.tx.rmrkCore.addComposableResource(
-        collectionId,
-        nftId,
-        composableResource
-    );
+  const tx = api.tx.rmrkCore.addComposableResource(
+    collectionId,
+    nftId,
+    composableResource,
+  );
 
-    const resource = await executeResourceCreation(api, issuer, tx, collectionId, nftId, expectedStatus);
+  const resource = await executeResourceCreation(api, issuer, tx, collectionId, nftId, expectedStatus);
 
-    // FIXME A workaround. It seems it is a PolkadotJS bug.
-    // All of the following are `false`.
-    //
-    // console.log('>>> basic:', resource.resource.isBasic);
-    // console.log('>>> composable:', resource.resource.isComposable);
-    // console.log('>>> slot:', resource.resource.isSlot);
-    const resourceJson = resource.resource.toHuman() as any;
+  // FIXME A workaround. It seems it is a PolkadotJS bug.
+  // All of the following are `false`.
+  //
+  // console.log('>>> basic:', resource.resource.isBasic);
+  // console.log('>>> composable:', resource.resource.isComposable);
+  // console.log('>>> slot:', resource.resource.isSlot);
+  const resourceJson = resource.resource.toHuman() as any;
 
-    expect(resourceJson.hasOwnProperty('Composable'), 'Error: Expected composable resource type')
-        .to.be.true;
+  expect(resourceJson.hasOwnProperty('Composable'), 'Error: Expected composable resource type')
+    .to.be.true;
 
-    const recvComposableRes = resourceJson['Composable'];
+  const recvComposableRes = resourceJson['Composable'];
 
-    expect(recvComposableRes.parts.toString(), 'Error: Invalid composable resource parts')
-      .to.be.eq(parts.toString());
-    expect(recvComposableRes.base, 'Error: Invalid composable resource base id')
-      .to.be.eq(baseId.toString());
-    expect(recvComposableRes.src, 'Error: Invalid composable resource src')
-      .to.be.eq(src);
-    expect(recvComposableRes.metadata, 'Error: Invalid composable resource metadata')
-      .to.be.eq(metadata);
-    expect(recvComposableRes.license, 'Error: Invalid composable resource license')
-      .to.be.eq(license);
-    expect(recvComposableRes.thumb, 'Error: Invalid composable resource thumb')
-      .to.be.eq(thumb);
+  expect(recvComposableRes.parts.toString(), 'Error: Invalid composable resource parts')
+    .to.be.eq(parts.toString());
+  expect(recvComposableRes.base, 'Error: Invalid composable resource base id')
+    .to.be.eq(baseId.toString());
+  expect(recvComposableRes.src, 'Error: Invalid composable resource src')
+    .to.be.eq(src);
+  expect(recvComposableRes.metadata, 'Error: Invalid composable resource metadata')
+    .to.be.eq(metadata);
+  expect(recvComposableRes.license, 'Error: Invalid composable resource license')
+    .to.be.eq(license);
+  expect(recvComposableRes.thumb, 'Error: Invalid composable resource thumb')
+    .to.be.eq(thumb);
 
-    return resource.id.toNumber();
+  return resource.id.toNumber();
 }
 
 export async function addNftSlotResource(
   api: ApiPromise,
   issuerUri: string,
-  expectedStatus: "pending" | "added",
+  expectedStatus: 'pending' | 'added',
   collectionId: number,
   nftId: number,
   baseId: number,
@@ -968,24 +944,24 @@
   src: string | null,
   metadata: string | null,
   license: string | null,
-  thumb: string | null
+  thumb: string | null,
 ): Promise<number>  {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const issuer = privateKey(issuerUri, Number(ss58Format));
 
   const slotResource = api.createType('RmrkTraitsResourceSlotResource', {
-      base: baseId,
-      src: src,
-      metadata,
-      slot: slotId,
-      license: license,
-      thumb: thumb
+    base: baseId,
+    src: src,
+    metadata,
+    slot: slotId,
+    license: license,
+    thumb: thumb,
   }) as SlotResource;
 
   const tx = api.tx.rmrkCore.addSlotResource(
     collectionId,
     nftId,
-    slotResource
+    slotResource,
   );
 
   const resource = await executeResourceCreation(api, issuer, tx, collectionId, nftId, expectedStatus);
@@ -999,7 +975,7 @@
   const resourceJson = resource.resource.toHuman() as any;
 
   expect(resourceJson.hasOwnProperty('Slot'), 'Error: Expected slot resource type')
-        .to.be.true;
+    .to.be.true;
 
   const recvSlotRes = resourceJson['Slot'];
 
@@ -1026,22 +1002,20 @@
   equipper: NftIdTuple,
   resource: number,
   base: number,
-  slot: number
+  slot: number,
 ) {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const issuer = privateKey(issuerUri, Number(ss58Format));
   const tx = api.tx.rmrkEquip.equip(item, equipper, resource, base, slot);
   const events = await executeTransaction(api, issuer, tx);
-  const equipResult = extractRmrkEquipTxResult(
-    events, 'SlotEquipped', (data) => {
-      return {
-        item_collection: parseInt(data[0].toString(), 10),
-        item_nft: parseInt(data[1].toString(), 10),
-        base_id: parseInt(data[2].toString(), 10),
-        slot_id: parseInt(data[3].toString(), 10),
-      };
-    }
-  )
+  const equipResult = extractRmrkEquipTxResult(events, 'SlotEquipped', (data) => {
+    return {
+      item_collection: parseInt(data[0].toString(), 10),
+      item_nft: parseInt(data[1].toString(), 10),
+      base_id: parseInt(data[2].toString(), 10),
+      slot_id: parseInt(data[3].toString(), 10),
+    };
+  });
   expect(equipResult.success, 'Error: Unable to equip an item').to.be.true;
   expect(equipResult.successData!.item_collection, 'Error: Invalid item collection id')
     .to.be.eq(item[0]);
@@ -1060,7 +1034,7 @@
   equipper: any,
   resource: number,
   base: number,
-  slot: number
+  slot: number,
 ) {
   const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
   const issuer = privateKey(issuerUri, Number(ss58Format));
@@ -1069,7 +1043,7 @@
 
   const unEquipResult = extractRmrkEquipTxResult(
     events,
-    "SlotUnequipped",
+    'SlotUnequipped',
     (data) => {
       return {
         item_collection: parseInt(data[0].toString(), 10),
@@ -1077,7 +1051,7 @@
         base_id: parseInt(data[2].toString(), 10),
         slot_id: parseInt(data[3].toString(), 10),
       };
-    }
+    },
   );
 
   expect(unEquipResult.success, 'Error: Unable to unequip an item').to.be.true;
@@ -1092,68 +1066,64 @@
 }
 
 export async function removeNftResource(
-    api: ApiPromise,
-    expectedStatus: "pending" | "removed",
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    resourceId: number
+  api: ApiPromise,
+  expectedStatus: 'pending' | 'removed',
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const tx = api.tx.rmrkCore.removeResource(collectionId, nftId, resourceId);
-    const events = await executeTransaction(api, issuer, tx);
-    const removeResult = extractRmrkCoreTxResult(
-        events, 'ResourceRemoval', (data) => {
-            return {
-                nftId: parseInt(data[0].toString(), 10),
-                resourceId: parseInt(data[1].toString(), 10)
-            };
-        }
-    )
-    expect(removeResult.success, 'Error: Unable to remove a resource').to.be.true;
-    expect(removeResult.successData!.nftId, 'Error: Invalid NFT Id while removing a resource')
-        .to.be.eq(nftId);
-    expect(removeResult.successData!.resourceId, 'Error: Invalid resource Id while removing a resource')
-        .to.be.eq(resourceId);
+  const tx = api.tx.rmrkCore.removeResource(collectionId, nftId, resourceId);
+  const events = await executeTransaction(api, issuer, tx);
+  const removeResult = extractRmrkCoreTxResult(events, 'ResourceRemoval', (data) => {
+    return {
+      nftId: parseInt(data[0].toString(), 10),
+      resourceId: parseInt(data[1].toString(), 10),
+    };
+  });
+  expect(removeResult.success, 'Error: Unable to remove a resource').to.be.true;
+  expect(removeResult.successData!.nftId, 'Error: Invalid NFT Id while removing a resource')
+    .to.be.eq(nftId);
+  expect(removeResult.successData!.resourceId, 'Error: Invalid resource Id while removing a resource')
+    .to.be.eq(resourceId);
 
-    let afterDeleting = await findResourceById(api, collectionId, nftId, resourceId);
+  const afterDeleting = await findResourceById(api, collectionId, nftId, resourceId);
 
-    if (expectedStatus === 'pending') {
-        expect(afterDeleting).not.to.be.null;
-        expect(afterDeleting?.pendingRemoval.isTrue).to.be.equal(true);
-    } else {
-        expect(afterDeleting).to.be.null;
-    }
+  if (expectedStatus === 'pending') {
+    expect(afterDeleting).not.to.be.null;
+    expect(afterDeleting?.pendingRemoval.isTrue).to.be.equal(true);
+  } else {
+    expect(afterDeleting).to.be.null;
+  }
 }
 
 export async function acceptResourceRemoval(
-    api: ApiPromise,
-    issuerUri: string,
-    collectionId: number,
-    nftId: number,
-    resourceId: number
+  api: ApiPromise,
+  issuerUri: string,
+  collectionId: number,
+  nftId: number,
+  resourceId: number,
 ) {
-    const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
-    const issuer = privateKey(issuerUri, Number(ss58Format));
+  const ss58Format = api.registry.getChainProperties()!.toJSON().ss58Format;
+  const issuer = privateKey(issuerUri, Number(ss58Format));
 
-    const tx = api.tx.rmrkCore.acceptResourceRemoval(collectionId, nftId, resourceId);
-    const events = await executeTransaction(api, issuer, tx);
-    const acceptResult = extractRmrkCoreTxResult(
-        events, 'ResourceRemovalAccepted', (data) => {
-            return {
-                nftId: parseInt(data[0].toString(), 10),
-                resourceId: parseInt(data[1].toString(), 10)
-            };
-        }
-    )
-    expect(acceptResult.success, 'Error: Unable to accept a resource').to.be.true;
-    expect(acceptResult.successData!.nftId, 'Error: Invalid NFT Id while accepting a resource')
-        .to.be.eq(nftId);
-    expect(acceptResult.successData!.resourceId, 'Error: Invalid resource Id while accepting a resource')
-        .to.be.eq(resourceId);
+  const tx = api.tx.rmrkCore.acceptResourceRemoval(collectionId, nftId, resourceId);
+  const events = await executeTransaction(api, issuer, tx);
+  const acceptResult = extractRmrkCoreTxResult(events, 'ResourceRemovalAccepted', (data) => {
+    return {
+      nftId: parseInt(data[0].toString(), 10),
+      resourceId: parseInt(data[1].toString(), 10),
+    };
+  });
+  expect(acceptResult.success, 'Error: Unable to accept a resource').to.be.true;
+  expect(acceptResult.successData!.nftId, 'Error: Invalid NFT Id while accepting a resource')
+    .to.be.eq(nftId);
+  expect(acceptResult.successData!.resourceId, 'Error: Invalid resource Id while accepting a resource')
+    .to.be.eq(resourceId);
 
-    let afterDeleting = await findResourceById(api, collectionId, nftId, resourceId);
-    expect(afterDeleting, 'Error: resource deleting failed').to.be.null;
+  const afterDeleting = await findResourceById(api, collectionId, nftId, resourceId);
+  expect(afterDeleting, 'Error: resource deleting failed').to.be.null;
 }
modifiedtests/src/substrate/substrate-api.tsdiffbeforeafterboth
--- a/tests/src/substrate/substrate-api.ts
+++ b/tests/src/substrate/substrate-api.ts
@@ -61,7 +61,7 @@
 
 export async function getApiConnection(settings: ApiOptions | undefined = undefined): Promise<ApiPromise> {
   settings = settings || defaultApiOptions();
-  let api = new ApiPromise(settings);
+  const api = new ApiPromise(settings);
 
   if (api) {
     await api.isReadyOrError;