difftreelog
Merge pull request #103 from usetech-llc/feature/NFTPAR-303_itemCreated_event_recipient
in: master
Add recipient field to ItemCreated event
4 files changed
doc/application_development.mddiffbeforeafterboth--- a/doc/application_development.md
+++ b/doc/application_development.md
@@ -79,6 +79,7 @@
##### Events
ItemCreated
ItemId: Identifier of newly created NFT, which is unique within the Collection, so the NFT is uniquely identified with a pair of values: CollectionId and ItemId.
+Recipient: Address, owner of newly created item
#### BurnItem
pallets/nft/src/lib.rsdiffbeforeafterboth--- a/pallets/nft/src/lib.rs
+++ b/pallets/nft/src/lib.rs
@@ -495,7 +495,9 @@
/// * collection_id: Id of the collection where item was created.
///
/// * item_id: Id of an item. Unique within the collection.
- ItemCreated(CollectionId, TokenId),
+ ///
+ /// * recipient: Owner of newly created item
+ ItemCreated(CollectionId, TokenId, AccountId),
/// Collection item was burned.
///
@@ -1635,7 +1637,7 @@
{
CreateItemData::NFT(data) => {
let item = NftItemType {
- owner,
+ owner: owner.clone(),
const_data: data.const_data,
variable_data: data.variable_data
};
@@ -1660,7 +1662,7 @@
};
// call event
- Self::deposit_event(RawEvent::ItemCreated(collection_id, <ItemListIndex>::get(collection_id)));
+ Self::deposit_event(RawEvent::ItemCreated(collection_id, <ItemListIndex>::get(collection_id), owner));
Ok(())
}
tests/package.jsondiffbeforeafterboth--- a/tests/package.json
+++ b/tests/package.json
@@ -29,6 +29,7 @@
"testRemoveFromWhiteList": "mocha --timeout 9999999 -r ts-node/register ./**/removeFromWhiteList.test.ts",
"testConnection": "mocha --timeout 9999999 -r ts-node/register ./**/connection.test.ts",
"testCollection": "mocha --timeout 9999999 -r ts-node/register ./**/createCollection.test.ts",
+ "testCreateItem": "mocha --timeout 9999999 -r ts-node/register ./**/createItem.test.ts",
"testCreateMultipleItems": "mocha --timeout 9999999 -r ts-node/register ./**/createMultipleItems.test.ts",
"testApprove": "mocha --timeout 9999999 -r ts-node/register ./**/approve.test.ts",
"testTransferFrom": "mocha --timeout 9999999 -r ts-node/register ./**/transferFrom.test.ts",
tests/src/util/helpers.tsdiffbeforeafterboth36 success: boolean;36 success: boolean;37 collectionId: number;37 collectionId: number;38 itemId: number;38 itemId: number;39 recipient: string;39}40}404141interface IReFungibleOwner {42interface IReFungibleOwner {94 let success = false;95 let success = false;95 let collectionId: number = 0;96 let collectionId: number = 0;96 let itemId: number = 0;97 let itemId: number = 0;98 let recipient: string = '';97 events.forEach(({ phase, event: { data, method, section } }) => {99 events.forEach(({ phase, event: { data, method, section } }) => {98 // console.log(` ${phase}: ${section}.${method}:: ${data}`);100 // console.log(` ${phase}: ${section}.${method}:: ${data}`);99 if (method == 'ExtrinsicSuccess') {101 if (method == 'ExtrinsicSuccess') {100 success = true;102 success = true;101 } else if ((section == 'nft') && (method == 'ItemCreated')) {103 } else if ((section == 'nft') && (method == 'ItemCreated')) {102 collectionId = parseInt(data[0].toString());104 collectionId = parseInt(data[0].toString());103 itemId = parseInt(data[1].toString());105 itemId = parseInt(data[1].toString());106 recipient = data[2].toString();104 }107 }105 });108 });106 const result: CreateItemResult = {109 const result: CreateItemResult = {107 success,110 success,108 collectionId,111 collectionId,109 itemId,112 itemId,113 recipient,110 };114 };111 return result;115 return result;112}116}736 }740 }737 expect(collectionId).to.be.equal(result.collectionId);741 expect(collectionId).to.be.equal(result.collectionId);738 expect(BItemCount).to.be.equal(result.itemId);742 expect(BItemCount).to.be.equal(result.itemId);743 expect(owner).to.be.equal(result.recipient);739 newItemId = result.itemId;744 newItemId = result.itemId;740 });745 });741 return newItemId;746 return newItemId;