Skip to content

Commit

Permalink
unit tests working
Browse files Browse the repository at this point in the history
  • Loading branch information
mrsmkl committed Sep 27, 2023
1 parent 47cde5c commit 583979f
Show file tree
Hide file tree
Showing 19 changed files with 53 additions and 41 deletions.
5 changes: 3 additions & 2 deletions contracts/token/erc1155/NFT1155SubscriptionUpgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -25,14 +25,15 @@ contract NFT1155SubscriptionUpgradeable is NFT1155Upgradeable {
address didRegistryAddress,
string memory name_,
string memory symbol_,
string memory uri_
string memory uri_,
address nvmConfig_
)
public
override
virtual
initializer
{
__NFT1155Upgradeable_init(owner, didRegistryAddress, name_, symbol_, uri_);
__NFT1155Upgradeable_init(owner, didRegistryAddress, name_, symbol_, uri_, nvmConfig_);
}


Expand Down
16 changes: 10 additions & 6 deletions contracts/token/erc1155/NFT1155Upgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,8 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
address didRegistryAddress,
string memory name_,
string memory symbol_,
string memory uri_
string memory uri_,
address nvmConfig_
)
public
virtual
Expand All @@ -36,7 +37,7 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
owner != address(0) && didRegistryAddress != address(0),
'Invalid address'
);
__NFT1155Upgradeable_init(owner, didRegistryAddress, name_, symbol_, uri_);
__NFT1155Upgradeable_init(owner, didRegistryAddress, name_, symbol_, uri_, nvmConfig_);
}

// solhint-disable-next-line
Expand All @@ -45,7 +46,8 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
address didRegistryAddress,
string memory name_,
string memory symbol_,
string memory uri_
string memory uri_,
address nvmConfig_
)
public
virtual
Expand All @@ -57,7 +59,7 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
__Ownable_init_unchained();

AccessControlUpgradeable.__AccessControl_init();
__NFT1155Upgradeable_unchained(owner, didRegistryAddress, name_, symbol_, uri_);
__NFT1155Upgradeable_unchained(owner, didRegistryAddress, name_, symbol_, uri_, nvmConfig_);
}

// solhint-disable-next-line
Expand All @@ -66,7 +68,8 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
address didRegistryAddress,
string memory name_,
string memory symbol_,
string memory uri_
string memory uri_,
address nvmConfig_
)
public
virtual
Expand All @@ -78,6 +81,7 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
setContractMetadataUri(uri_);
name = name_;
symbol = symbol_;
nvmConfig = nvmConfig_;

nftRegistry = IExternalRegistry(didRegistryAddress);
if (owner != _msgSender()) {
Expand All @@ -101,7 +105,7 @@ contract NFT1155Upgradeable is ERC1155Upgradeable, NFTBase {
}
address cloneAddress = ClonesUpgradeable.clone(implementation);
NFT1155Upgradeable nftContract = NFT1155Upgradeable(cloneAddress);
nftContract.initialize(_msgSender(), address(nftRegistry), _name, _symbol, _uri);
nftContract.initialize(_msgSender(), address(nftRegistry), _name, _symbol, _uri, nvmConfig);
for (uint256 i = 0; i < _operators.length; i++) {
nftContract.grantOperatorRole(_operators[i]);
}
Expand Down
5 changes: 3 additions & 2 deletions contracts/token/erc721/NFT721SubscriptionUpgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -27,13 +27,14 @@ contract NFT721SubscriptionUpgradeable is NFT721Upgradeable {
string memory name,
string memory symbol,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
public
override
initializer
{
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap);
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap, nvmConfig_);
}

/**
Expand Down
16 changes: 10 additions & 6 deletions contracts/token/erc721/NFT721Upgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -31,13 +31,14 @@ contract NFT721Upgradeable is ERC721Upgradeable, NFTBase {
string memory name,
string memory symbol,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
public
virtual
initializer
{
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap);
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap, nvmConfig_);
}

// solhint-disable-next-line
Expand All @@ -47,7 +48,8 @@ contract NFT721Upgradeable is ERC721Upgradeable, NFTBase {
string memory name,
string memory symbol,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
internal
onlyInitializing
Expand All @@ -57,15 +59,16 @@ contract NFT721Upgradeable is ERC721Upgradeable, NFTBase {
__ERC721_init_unchained(name, symbol);
__Ownable_init_unchained();
AccessControlUpgradeable.__AccessControl_init();
__NFT721Upgradeable_unchained(owner, didRegistryAddress, uri, cap);
__NFT721Upgradeable_unchained(owner, didRegistryAddress, uri, cap, nvmConfig_);
}

// solhint-disable-next-line
function __NFT721Upgradeable_unchained(
address owner,
address didRegistryAddress,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
internal
onlyInitializing
Expand All @@ -75,6 +78,7 @@ contract NFT721Upgradeable is ERC721Upgradeable, NFTBase {
AccessControlUpgradeable._setupRole(NVM_OPERATOR_ROLE, owner);
setContractMetadataUri(uri);
_nftContractCap = cap;
nvmConfig = nvmConfig_;

nftRegistry = IExternalRegistry(didRegistryAddress);
if (owner != _msgSender()) {
Expand All @@ -99,7 +103,7 @@ contract NFT721Upgradeable is ERC721Upgradeable, NFTBase {
}
address cloneAddress = ClonesUpgradeable.clone(implementation);
NFT721Upgradeable nftContract = NFT721Upgradeable(cloneAddress);
nftContract.initialize(_msgSender(), address(nftRegistry), name, symbol, uri, cap);
nftContract.initialize(_msgSender(), address(nftRegistry), name, symbol, uri, cap, nvmConfig);
for (uint256 i = 0; i < _operators.length; i++) {
nftContract.grantOperatorRole(_operators[i]);
}
Expand Down
5 changes: 3 additions & 2 deletions contracts/token/erc721/POAPUpgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -23,13 +23,14 @@ contract POAPUpgradeable is NFT721Upgradeable, ERC721EnumerableUpgradeable {
string memory name,
string memory symbol,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
public
override
initializer
{
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap);
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap, nvmConfig_);
}

function mint(
Expand Down
5 changes: 3 additions & 2 deletions contracts/token/erc721/SoulBoundUpgradeable.sol
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,14 @@ contract SoulBoundUpgradeable is NFT721Upgradeable {
string memory name,
string memory symbol,
string memory uri,
uint256 cap
uint256 cap,
address nvmConfig_
)
public
override
initializer
{
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap);
__NFT721Upgradeable_init(owner, didRegistryAddress, name, symbol, uri, cap, nvmConfig_);
}

function _beforeTokenTransfer(
Expand Down
6 changes: 3 additions & 3 deletions test/helpers/deployManagers.js
Original file line number Diff line number Diff line change
Expand Up @@ -6,13 +6,13 @@ const deployManagers = async function(deployer, owner, governor = owner, subscri
const nvmConfig = await testUtils.deploy('NeverminedConfig', [owner, governor, false], deployer)
const didRegistry = await testUtils.deploy('DIDRegistry', [owner, constants.address.zero, constants.address.zero, nvmConfig.address, constants.address.zero], deployer)

const nft = await testUtils.deploy('NFT1155Upgradeable', [deployer, didRegistry.address, 'NFT1155', 'NVM', 'http'], deployer, [], 'initialize')
const nft = await testUtils.deploy('NFT1155Upgradeable', [deployer, didRegistry.address, 'NFT1155', 'NVM', 'http', nvmConfig.address], deployer, [], 'initialize')

let nft721
if (subscription) {
nft721 = await testUtils.deploy('NFT721SubscriptionUpgradeable', [deployer, didRegistry.address, 'NFT721', 'NVM', '', 0], deployer, [], 'initialize')
nft721 = await testUtils.deploy('NFT721SubscriptionUpgradeable', [deployer, didRegistry.address, 'NFT721', 'NVM', '', 0, nvmConfig.address], deployer, [], 'initialize')
} else {
nft721 = await testUtils.deploy('NFT721Upgradeable', [deployer, didRegistry.address, 'NFT721', 'NVM', '', 0], deployer, [], 'initialize')
nft721 = await testUtils.deploy('NFT721Upgradeable', [deployer, didRegistry.address, 'NFT721', 'NVM', '', 0, nvmConfig.address], deployer, [], 'initialize')
}

const royaltyManager = await testUtils.deploy('StandardRoyalties', [didRegistry.address], deployer)
Expand Down
3 changes: 1 addition & 2 deletions test/helpers/utils.js
Original file line number Diff line number Diff line change
Expand Up @@ -92,12 +92,11 @@ const utils = {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, nvmConfig.address, royalties.address)
await royalties.initialize(didRegistry.address)
const nft = await NFT.new()
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '')
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '', nvmConfig.address)
const conditionStoreManager = await ConditionStoreManager.new()
await conditionStoreManager.initialize(createRole, owner, nvmConfig.address, { from: owner })
await nvmConfig.grantNVMOperatorRole(owner, { from: owner })
await nvmConfig.grantNVMOperatorRole(didRegistry.address, { from: owner })
await nft.setNvmConfigAddress(nvmConfig.address, { from: owner })
return {
didRegistry,
nvmConfig,
Expand Down
2 changes: 1 addition & 1 deletion test/unit/Relay.test.js
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ describe('using ethers with OpenGSN forwarder', () => {
{},
[owner, constants.address.zero, constants.address.zero, nvmConfig.address, constants.address.zero]
)
nft = await deployContract('NFT1155Upgradeable', deployer, {}, [owner, didRegistry.address, '', '', ''])
nft = await deployContract('NFT1155Upgradeable', deployer, {}, [owner, didRegistry.address, '', '', '', nvmConfig.address])
nft.connect(await deploymentProvider.getSigner(owner)).setNvmConfigAddress(nvmConfig.address)
})

Expand Down
3 changes: 1 addition & 2 deletions test/unit/conditions/NFT721LockCondition.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -45,9 +45,8 @@ contract('NFT721LockCondition', (accounts) => {

// We deploy the ERC-721 in each test iteration
erc721 = await NFT721Upgradeable.new()
await erc721.initialize(createRole, didRegistry.address, '', '', '', 0, { from: createRole })
await erc721.initialize(createRole, didRegistry.address, '', '', '', 0, nvmConfig.address, { from: createRole })
nftTokenAddress = erc721.address
await erc721.setNvmConfigAddress(nvmConfig.address, { from: createRole })
// ERC-721 deployed on address `nftTokenAddress`
// Approving NFT721LockCondition as proxy in the NFT contract
await nvmConfig.grantNVMOperatorRole(lockCondition.address, { from: owner })
Expand Down
2 changes: 1 addition & 1 deletion test/unit/conditions/TransferNFTCondition.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ contract('TransferNFT Condition', (accounts) => {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, nvmConfig.address, constants.address.zero)

nft = await NFT.new()
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '')
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '', nvmConfig.address)

conditionStoreManager = await ConditionStoreManager.new()

Expand Down
6 changes: 2 additions & 4 deletions test/unit/conditions/rewards/wrapper.js
Original file line number Diff line number Diff line change
Expand Up @@ -124,8 +124,7 @@ function tokenTokenWrapper(contract) {

function nftTokenWrapper(contract) {
contract.initWrap = async (owner, _b, registry, config) => {
await contract.initialize(owner, registry.address, '', '', '')
await contract.setNvmConfigAddress(config.address, { from: owner })
await contract.initialize(owner, registry.address, '', '', '', config.address)
}
contract.getBalance = async (addr) => {
if (!contract.did) {
Expand Down Expand Up @@ -156,8 +155,7 @@ function nftTokenWrapper(contract) {

function nft721TokenWrapper(contract) {
contract.initWrap = async (owner, _b, registry, config) => {
await contract.initialize(owner, registry.address, '', '', '', 0)
await contract.setNvmConfigAddress(config.address, { from: owner })
await contract.initialize(owner, registry.address, '', '', '', 0, config.address)
}
contract.getBalance = async (addr) => {
if (!contract.did) {
Expand Down
2 changes: 1 addition & 1 deletion test/unit/registry/CurveRoyalties.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ contract('CurveRoyalties', (accounts) => {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, config.address, constants.address.zero)

nft = await NFT.new()
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '')
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '', config.address)

royalties = await CurveRoyalties.new()
await royalties.initialize(didRegistry.address)
Expand Down
2 changes: 1 addition & 1 deletion test/unit/registry/Mintable721DIDRegistry.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ contract('Mintable DIDRegistry (ERC-721)', (accounts) => {
await standardRoyalties.initialize(didRegistry.address)

nft = await NFT.new()
await nft.initialize(owner, didRegistry.address, '', '', nftMetadataURL, 0, { from: deployer })
await nft.initialize(owner, didRegistry.address, '', '', nftMetadataURL, 0, config.address, { from: deployer })

await nft.setNvmConfigAddress(config.address, { from: owner })
await config.grantNVMOperatorRole(didRegistry.address, { from: owner })
Expand Down
2 changes: 1 addition & 1 deletion test/unit/registry/MintableDIDRegistry.js
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ contract('Mintable DIDRegistry', (accounts) => {
await standardRoyalties.initialize(didRegistry.address)

nft = await NFT.new()
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '', { from: deployer })
await nft.initialize(owner, didRegistry.address, 'NFT1155', 'NVM', '', config.address, { from: deployer })

await nft.setNvmConfigAddress(config.address, { from: owner })
await config.grantNVMOperatorRole(didRegistry.address, { from: owner })
Expand Down
2 changes: 1 addition & 1 deletion test/unit/token/NFT1155Subscription.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,7 @@ contract('NFT1155 Subscription', (accounts) => {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, config.address, constants.address.zero)

nft = await TestERC1155.new({ from: deployer })
await nft.initialize(owner, didRegistry.address, 'TestERC1155', 'TEST', '', { from: owner })
await nft.initialize(owner, didRegistry.address, 'TestERC1155', 'TEST', '', config.address, { from: owner })

await nft.setNvmConfigAddress(config.address, { from: owner })
await config.grantNVMOperatorRole(didRegistry.address, { from: owner })
Expand Down
2 changes: 1 addition & 1 deletion test/unit/token/NFT721Subscription.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ contract('NFT721 Subscription', (accounts) => {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, config.address, constants.address.zero)

nft = await TestERC721.new({ from: deployer })
await nft.initialize(owner, didRegistry.address, 'TestERC721', 'TEST', '', 0, { from: owner })
await nft.initialize(owner, didRegistry.address, 'TestERC721', 'TEST', '', 0, config.address, { from: owner })

await nft.setNvmConfigAddress(config.address, { from: owner })
await config.grantNVMOperatorRole(didRegistry.address, { from: owner })
Expand Down
8 changes: 6 additions & 2 deletions test/unit/token/NFTClones.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -39,8 +39,10 @@ contract('NFT Clones', (accounts) => {

describe('As a user I want to clone an existing ERC-721 NFT Contract', () => {
it('I can clone an existing ERC-721 NFT Contract', async () => {
const config = await artifacts.require('NeverminedConfig').new()
await config.initialize(owner, owner, true)
nft721 = await NFT721.new({ from: deployer })
await nft721.initialize(owner, didRegistry.address, 'TestERC721', 'TEST', 'http', 10, { from: owner })
await nft721.initialize(owner, didRegistry.address, 'TestERC721', 'TEST', 'http', 10, config.address, { from: owner })

const result = await nft721.createClone('My Name', 'xXx', 'cid', 100, [account2], { from: account1 })

Expand All @@ -67,8 +69,10 @@ contract('NFT Clones', (accounts) => {

describe('As a user I want to clone an existing ERC-1155 NFT Contract', () => {
it('I can clone an existing ERC-1155 NFT Contract', async () => {
const config = await artifacts.require('NeverminedConfig').new()
await config.initialize(owner, owner, true)
nft1155 = await NFT1155.new({ from: deployer })
await nft1155.initialize(owner, didRegistry.address, 'TestERC1155', '1155', 'http', { from: owner })
await nft1155.initialize(owner, didRegistry.address, 'TestERC1155', '1155', 'http', config.address, { from: owner })

const result = await nft1155.createClone('My 1155', 'yYy', 'cid', [account2], { from: account1 })

Expand Down
2 changes: 1 addition & 1 deletion test/unit/token/POAP.Test.js
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ contract('POAP', (accounts) => {
await didRegistry.initialize(owner, constants.address.zero, constants.address.zero, config.address, constants.address.zero)

nft = await POAPUpgradeable.new({ from: deployer })
await nft.initialize(owner, didRegistry.address, 'TestPOAP', 'TEST', '', 0, { from: owner })
await nft.initialize(owner, didRegistry.address, 'TestPOAP', 'TEST', '', 0, config.address, { from: owner })

await nft.setNvmConfigAddress(config.address, { from: owner })
await config.grantNVMOperatorRole(didRegistry.address, { from: owner })
Expand Down

0 comments on commit 583979f

Please sign in to comment.