From 942486a34d88b2aafa3f4116526c6819668db15e Mon Sep 17 00:00:00 2001 From: Trubnikov Sergey Date: Fri, 26 Aug 2022 13:07:40 +0000 Subject: [PATCH] feat: make `nft2rftMapping` and `rft2nftMapping` public in Fractionalizer.sol --- --- a/tests/src/eth/fractionalizer/Fractionalizer.sol +++ b/tests/src/eth/fractionalizer/Fractionalizer.sol @@ -16,8 +16,8 @@ } address rftCollection; mapping(address => bool) nftCollectionAllowList; - mapping(address => mapping(uint256 => uint256)) nft2rftMapping; - mapping(address => Token) rft2nftMapping; + mapping(address => mapping(uint256 => uint256)) public nft2rftMapping; + mapping(address => Token) public rft2nftMapping; bytes32 refungibleCollectionType = keccak256(bytes("ReFungible")); receive() external payable onlyOwner {} --- a/tests/src/eth/fractionalizer/fractionalizer.test.ts +++ b/tests/src/eth/fractionalizer/fractionalizer.test.ts @@ -223,6 +223,28 @@ }, }); }); + + itWeb3('Test fractionalizer NFT <-> RFT mapping ', async ({api, web3, privateKeyWrapper}) => { + const owner = await createEthAccountWithBalance(api, web3, privateKeyWrapper); + + const {fractionalizer, rftCollectionAddress} = await initFractionalizer(api, web3, privateKeyWrapper, owner); + const {rftTokenAddress, nftCollectionAddress, nftTokenId} = await createRFTToken(api, web3, owner, fractionalizer, 100n); + + const {collectionId, tokenId} = tokenIdFromAddress(rftTokenAddress); + const refungibleAddress = collectionIdToAddress(collectionId); + expect(rftCollectionAddress).to.be.equal(refungibleAddress); + const refungibleTokenContract = uniqueRefungibleToken(web3, rftTokenAddress, owner); + await refungibleTokenContract.methods.approve(fractionalizer.options.address, 100).send(); + + const rft2nft = await fractionalizer.methods.rft2nftMapping(rftTokenAddress).call(); + expect(rft2nft).to.be.like({ + _collection: nftCollectionAddress, + _tokenId: nftTokenId, + }); + + const nft2rft = await fractionalizer.methods.nft2rftMapping(nftCollectionAddress, nftTokenId).call(); + expect(nft2rft).to.be.eq(tokenId.toString()); + }); }); -- gitstuff