From 840f70f84ecaf82f3c2b36ad8c19c7cee4072753 Mon Sep 17 00:00:00 2001 From: Aitor <1726644+aaitor@users.noreply.github.com> Date: Mon, 30 Oct 2023 11:55:54 +0100 Subject: [PATCH 1/5] fix: fixing Gnosis deployment --- scripts/deploy/artifacts.js | 10 +- scripts/deploy/initializeContracts.js | 412 ++++++++++++++------------ scripts/deploy/setupContracts.js | 105 ++++--- 3 files changed, 293 insertions(+), 234 deletions(-) diff --git a/scripts/deploy/artifacts.js b/scripts/deploy/artifacts.js index 85b58f87..c848fc78 100644 --- a/scripts/deploy/artifacts.js +++ b/scripts/deploy/artifacts.js @@ -133,6 +133,13 @@ async function deployLibrary(name, addresses, signer) { } } +function resolveAddress(contractName, addressBook, proxies = undefined) { + let address = addressBook[contractName] || proxies[contractName] + if (address instanceof Object) { address = address.address } + console.log(`resolveAddress :: ${contractName} = ${address}`) + return address +} + module.exports = { updateArtifact, writeArtifact, @@ -140,5 +147,6 @@ module.exports = { exportLibraryArtifacts, exportLibraryArtifact, exportArtifacts, - deployLibrary + deployLibrary, + resolveAddress } diff --git a/scripts/deploy/initializeContracts.js b/scripts/deploy/initializeContracts.js index 2a25ce7e..7fe86c6b 100644 --- a/scripts/deploy/initializeContracts.js +++ b/scripts/deploy/initializeContracts.js @@ -1,7 +1,9 @@ /* eslint-disable no-console */ const ZeroAddress = '0x0000000000000000000000000000000000000000' const { ethers, upgrades, web3 } = require('hardhat') -const { writeArtifact, exportLibraryArtifact } = require('./artifacts') +const { writeArtifact, exportLibraryArtifact, resolveAddress } = require('./artifacts') + +const DEPLOY_AAVE = process.env.DEPLOY_AAVE === 'true' function getSignatureOfMethod( contractInstace, @@ -22,14 +24,18 @@ function getSignatureOfMethod( async function doDeploy(contractName, signer, args, isCore) { const methodSignature = getSignatureOfMethod(signer, 'initialize', args) + console.log(` doDeploy :: Deploying ${contractName} with ${methodSignature}`) if (!isCore || process.env.NO_PROXY === 'true') { + console.log(` doDeploy :: Deploying ${contractName} without proxy and args ${JSON.stringify(args)}`) const c = await signer.deploy() await c.deployed() const tx = await c[methodSignature](...args) await tx.wait() + console.log(` doDeploy :: Exporting Library artifact: ${contractName}`) await exportLibraryArtifact(contractName, c) return c } else { + console.log(` doDeploy :: Deploying ${contractName} WITH proxy`) const c = await upgrades.deployProxy(signer, args, { unsafeAllowLinkedLibraries: true, initializer: methodSignature }) await c.deployed() await writeArtifact(contractName, c) @@ -44,16 +50,24 @@ async function zosCreate({ contract, args, libraries, verbose, ctx, isCore }) { console.error(`Error: core contract ${contract} is not in cache`) process.exit(1) } - console.log(`Contract ${contract} found from cache`) + console.log(`Core Contract ${contract} found from cache`) return addresses[contract] } else if (addresses[contract]) { console.log(`Contract ${contract} found from cache`) const C = await ethers.getContractFactory(contract, { libraries }) - cache[contract] = C.attach(addresses[contract]).connect(roles.deployerSigner) + + const _address = addresses[contract] instanceof Object ? addresses[contract].address : addresses[contract] + console.log(` Attaching to factory ${contract}: ${_address} and signer: ${JSON.stringify(roles.deployerSigner)}`) + cache[contract] = C.attach(_address).connect(roles.deployerSigner) + console.log(` Contract ${contract} attached to cache`) return addresses[contract] } else { + console.log(`Contract ${contract} NOT found in cache, deploying ...`) + console.log(` Get Contract Factory: ${contract}`) const C = await ethers.getContractFactory(contract, { libraries }) + console.log(` Do Deploy: ${contract}`) const c = await doDeploy(contract, C.connect(roles.deployerSigner), args, isCore) + console.log(` Storing in Cache: ${contract}`) cache[contract] = c if (verbose) { console.log(`${contract}: ${c.address}`) @@ -65,7 +79,7 @@ async function zosCreate({ contract, args, libraries, verbose, ctx, isCore }) { async function deployLibrary(name, addresses, cache, signer) { if (addresses[name]) { - console.log(`Contract ${name} found from cache`) + console.log(`deployLibrary :: Contract ${name} found from cache`) const C = await ethers.getContractFactory(name, signer) cache[name] = C.attach(addresses[name]) return addresses[name] @@ -132,9 +146,13 @@ async function initializeContracts({ console.log('NVM Config: [feeReceiver] = ' + configFeeReceiver) // returns either the address from the address book or the address of the manual set proxies - const getAddress = (contract) => { - return addressBook[contract] || proxies[contract] - } + // const getAddress = (contract) => { + // let address = addressBook[contract] || proxies[contract] + // if (address instanceof Object) + // address = address.address + // console.log(`getAddress :: ${contract} = ${address}`) + // return address + // } addressBook.NeverminedConfig = await zosCreate({ contract: 'NeverminedConfig', @@ -165,11 +183,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('DIDRegistry'), + resolveAddress('DIDRegistry', addressBook, proxies), 'Nevermined NFT-1155', 'NVM', '', - getAddress('NeverminedConfig') + resolveAddress('NeverminedConfig', addressBook, proxies) ], isCore: true, verbose @@ -179,12 +197,12 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('DIDRegistry'), + resolveAddress('DIDRegistry', addressBook, proxies), 'Nevermined NFT-721', 'NVM', '', 0, - getAddress('NeverminedConfig') + resolveAddress('NeverminedConfig', addressBook, proxies) ], isCore: true, verbose @@ -194,12 +212,12 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('DIDRegistry'), + resolveAddress('DIDRegistry', addressBook, proxies), 'Nevermined NFT-721', 'NVM', '', 0, - getAddress('NeverminedConfig') + resolveAddress('NeverminedConfig', addressBook, proxies) ], isCore: true, verbose @@ -210,11 +228,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('DIDRegistry'), + resolveAddress('DIDRegistry', addressBook, proxies), 'Nevermined Smart Subscription', 'NVM', '', - getAddress('NeverminedConfig') + resolveAddress('NeverminedConfig', addressBook, proxies) ], isCore: true, verbose @@ -240,13 +258,13 @@ async function initializeContracts({ // testnet only! if ( contracts.indexOf('Dispenser') > -1 && - getAddress('Token') + resolveAddress('Token', addressBook, proxies) ) { addressBook.Dispenser = await zosCreate({ contract: 'Dispenser', ctx, args: [ - getAddress('Token'), + resolveAddress('Token', addressBook, proxies), roles.ownerWallet ], verbose @@ -256,13 +274,13 @@ async function initializeContracts({ addressBook.ConditionStoreManager = await zosCreate({ contract: 'ConditionStoreManager', ctx, - args: [roles.deployer, roles.deployer, getAddress('NeverminedConfig')], + args: [roles.deployer, roles.deployer, resolveAddress('NeverminedConfig', addressBook, proxies)], verbose }) proxies.PlonkVerifier = await deployLibrary('PlonkVerifier', addresses, cache, roles.deployerSigner) - proxies.AaveCreditVault = await deployLibrary('AaveCreditVault', addresses, cache, roles.deployerSigner) + if (DEPLOY_AAVE) { proxies.AaveCreditVault = await deployLibrary('AaveCreditVault', addresses, cache, roles.deployerSigner) } addressBook.TemplateStoreManager = await zosCreate({ contract: 'TemplateStoreManager', @@ -276,7 +294,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -286,7 +304,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -296,7 +314,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -306,7 +324,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -316,7 +334,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -325,7 +343,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -334,7 +352,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -343,7 +361,7 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) @@ -352,55 +370,57 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager') - ], - verbose - }) - addressBook.AaveBorrowCondition = await zosCreate({ - contract: 'AaveBorrowCondition', - ctx, - args: [ - roles.ownerWallet, - getAddress('ConditionStoreManager') - ], - verbose - }) - addressBook.AaveCollateralDepositCondition = await zosCreate({ - contract: 'AaveCollateralDepositCondition', - ctx, - args: [ - roles.ownerWallet, - getAddress('ConditionStoreManager') - ], - verbose - }) - addressBook.AaveCollateralWithdrawCondition = await zosCreate({ - contract: 'AaveCollateralWithdrawCondition', - ctx, - args: [ - roles.ownerWallet, - getAddress('ConditionStoreManager') - ], - verbose - }) - addressBook.AaveRepayCondition = await zosCreate({ - contract: 'AaveRepayCondition', - ctx, - args: [ - roles.ownerWallet, - getAddress('ConditionStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies) ], verbose }) + if (DEPLOY_AAVE) { + addressBook.AaveBorrowCondition = await zosCreate({ + contract: 'AaveBorrowCondition', + ctx, + args: [ + roles.ownerWallet, + resolveAddress('ConditionStoreManager', addressBook, proxies) + ], + verbose + }) + addressBook.AaveCollateralDepositCondition = await zosCreate({ + contract: 'AaveCollateralDepositCondition', + ctx, + args: [ + roles.ownerWallet, + resolveAddress('ConditionStoreManager', addressBook, proxies) + ], + verbose + }) + addressBook.AaveCollateralWithdrawCondition = await zosCreate({ + contract: 'AaveCollateralWithdrawCondition', + ctx, + args: [ + roles.ownerWallet, + resolveAddress('ConditionStoreManager', addressBook, proxies) + ], + verbose + }) + addressBook.AaveRepayCondition = await zosCreate({ + contract: 'AaveRepayCondition', + ctx, + args: [ + roles.ownerWallet, + resolveAddress('ConditionStoreManager', addressBook, proxies) + ], + verbose + }) + } addressBook.AgreementStoreManager = await zosCreate({ contract: 'AgreementStoreManager', ctx, args: [ roles.deployer, - getAddress('ConditionStoreManager'), - getAddress('TemplateStoreManager'), - getAddress('DIDRegistry') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('TemplateStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies) ], verbose }) @@ -408,9 +428,9 @@ async function initializeContracts({ contract: 'RewardsDistributor', ctx, args: [ - getAddress('DIDRegistry'), - getAddress('ConditionStoreManager'), - getAddress('EscrowPaymentCondition') + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -419,8 +439,8 @@ async function initializeContracts({ ctx, args: [ roles.deployer, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies) ], verbose }) @@ -429,8 +449,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies) ], verbose }) @@ -439,8 +459,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies) ], verbose }) @@ -449,9 +469,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry'), - getAddress('PlonkVerifier') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('PlonkVerifier', addressBook, proxies) ], verbose }) @@ -460,10 +480,10 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry'), - getAddress('LockPaymentCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -472,8 +492,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('NFT1155Upgradeable') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('NFT1155Upgradeable', addressBook, proxies) ], verbose }) @@ -482,8 +502,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('NFT1155Upgradeable') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('NFT1155Upgradeable', addressBook, proxies) ], verbose }) @@ -493,9 +513,9 @@ async function initializeContracts({ ctx, args: [ roles.deployer, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry'), - getAddress('NFT1155Upgradeable'), + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('NFT1155Upgradeable', addressBook, proxies), ZeroAddress ], verbose @@ -505,8 +525,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('AgreementStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('AgreementStoreManager', addressBook, proxies) ], verbose }) @@ -515,8 +535,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('AgreementStoreManager') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('AgreementStoreManager', addressBook, proxies) ], verbose }) @@ -526,10 +546,10 @@ async function initializeContracts({ ctx, args: [ roles.deployer, - getAddress('ConditionStoreManager'), - getAddress('DIDRegistry'), - getAddress('NFT721Upgradeable'), - getAddress('LockPaymentCondition') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('NFT721Upgradeable', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies) ], verbose }) @@ -538,8 +558,8 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('ConditionStoreManager'), - getAddress('NFT721LockCondition') + resolveAddress('ConditionStoreManager', addressBook, proxies), + resolveAddress('NFT721LockCondition', addressBook, proxies) ], verbose }) @@ -548,11 +568,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('DIDRegistry'), - getAddress('AccessCondition'), - getAddress('LockPaymentCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('AccessCondition', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -561,11 +581,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('DIDRegistry'), - getAddress('AccessProofCondition'), - getAddress('LockPaymentCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -574,11 +594,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('DIDRegistry'), - getAddress('AccessDLEQCondition'), - getAddress('LockPaymentCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('AccessDLEQCondition', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -587,9 +607,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFTHolderCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFTHolderCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -598,9 +618,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFTHolderCondition'), - getAddress('AccessDLEQCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFTHolderCondition', addressBook, proxies), + resolveAddress('AccessDLEQCondition', addressBook, proxies) ], verbose }) @@ -609,10 +629,10 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFTLockCondition'), - getAddress('NFTEscrowPaymentCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFTLockCondition', addressBook, proxies), + resolveAddress('NFTEscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -621,11 +641,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFTCondition'), - getAddress('EscrowPaymentCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFTCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -635,11 +655,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFTCondition'), - getAddress('EscrowPaymentCondition'), - getAddress('AccessDLEQCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFTCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessDLEQCondition', addressBook, proxies) ], verbose }) @@ -648,9 +668,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFT721HolderCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFT721HolderCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -659,9 +679,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFT721HolderCondition'), - getAddress('AccessDLEQCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFT721HolderCondition', addressBook, proxies), + resolveAddress('AccessDLEQCondition', addressBook, proxies) ], verbose }) @@ -670,10 +690,10 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFT721LockCondition'), - getAddress('NFT721EscrowPaymentCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFT721LockCondition', addressBook, proxies), + resolveAddress('NFT721EscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -682,11 +702,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFT721Condition'), - getAddress('EscrowPaymentCondition'), - getAddress('AccessProofCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFT721Condition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessProofCondition', addressBook, proxies) ], verbose }) @@ -695,11 +715,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFT721Condition'), - getAddress('EscrowPaymentCondition'), - getAddress('AccessDLEQCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFT721Condition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies), + resolveAddress('AccessDLEQCondition', addressBook, proxies) ], verbose }) @@ -709,11 +729,11 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('DIDRegistry'), - getAddress('ComputeExecutionCondition'), - getAddress('LockPaymentCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('DIDRegistry', addressBook, proxies), + resolveAddress('ComputeExecutionCondition', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -722,9 +742,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFTHolderCondition'), - getAddress('NFTAccessCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFTHolderCondition', addressBook, proxies), + resolveAddress('NFTAccessCondition', addressBook, proxies) ], verbose }) @@ -733,9 +753,9 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFT721HolderCondition'), - getAddress('NFTAccessCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFT721HolderCondition', addressBook, proxies), + resolveAddress('NFTAccessCondition', addressBook, proxies) ], verbose }) @@ -744,10 +764,10 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFTCondition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFTCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -756,10 +776,10 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferNFT721Condition'), - getAddress('EscrowPaymentCondition') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferNFT721Condition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) @@ -768,30 +788,34 @@ async function initializeContracts({ ctx, args: [ roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('LockPaymentCondition'), - getAddress('TransferDIDOwnershipCondition'), - getAddress('EscrowPaymentCondition') - ], - verbose - }) - addressBook.AaveCreditTemplate = await zosCreate({ - contract: 'AaveCreditTemplate', - ctx, - args: [ - roles.ownerWallet, - getAddress('AgreementStoreManager'), - getAddress('NFT721LockCondition'), - getAddress('AaveCollateralDepositCondition'), - getAddress('AaveBorrowCondition'), - getAddress('AaveRepayCondition'), - getAddress('AaveCollateralWithdrawCondition'), - getAddress('DistributeNFTCollateralCondition'), - getAddress('AaveCreditVault') + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('LockPaymentCondition', addressBook, proxies), + resolveAddress('TransferDIDOwnershipCondition', addressBook, proxies), + resolveAddress('EscrowPaymentCondition', addressBook, proxies) ], verbose }) + if (DEPLOY_AAVE) { + console.log(' ** Deploying AaveCreditTemplate ** ') + addressBook.AaveCreditTemplate = await zosCreate({ + contract: 'AaveCreditTemplate', + ctx, + args: [ + roles.ownerWallet, + resolveAddress('AgreementStoreManager', addressBook, proxies), + resolveAddress('NFT721LockCondition', addressBook, proxies), + resolveAddress('AaveCollateralDepositCondition', addressBook, proxies), + resolveAddress('AaveBorrowCondition', addressBook, proxies), + resolveAddress('AaveRepayCondition', addressBook, proxies), + resolveAddress('AaveCollateralWithdrawCondition', addressBook, proxies), + resolveAddress('DistributeNFTCollateralCondition', addressBook, proxies), + resolveAddress('AaveCreditVault', addressBook, proxies) + ], + verbose + }) + } + return { cache, addressBook, proxies } } diff --git a/scripts/deploy/setupContracts.js b/scripts/deploy/setupContracts.js index 56ebcae8..20820e35 100644 --- a/scripts/deploy/setupContracts.js +++ b/scripts/deploy/setupContracts.js @@ -1,4 +1,5 @@ const { ethers } = require('hardhat') +const { resolveAddress } = require('./artifacts') /* eslint-disable no-console */ const ZeroAddress = '0x0000000000000000000000000000000000000000' @@ -28,11 +29,15 @@ async function approveTemplate({ TemplateStoreManagerInstance, templateAddress } = {}) { + console.log(` approveTemplate :: ${templateAddress}`) await callContract(TemplateStoreManagerInstance, a => a.approveTemplate(templateAddress)) } async function setupTemplate({ verbose, TemplateStoreManagerInstance, templateName, addressBook, roles } = {}) { - const templateAddress = addressBook[templateName] +// const templateAddress = addressBook[templateName] instanceof Object ? addressBook[templateName].address : addressBook[templateName] + const templateAddress = resolveAddress(templateName, addressBook) + + console.log(` setupTemplate :: ${templateName} :: ${templateAddress}`) if (templateAddress) { const approved = await TemplateStoreManagerInstance.isTemplateApproved(templateAddress) @@ -122,6 +127,8 @@ async function setupContracts({ * setup deployed contracts * ----------------------------------------------------------------------- */ + console.log('\n\n -- Setting up contracts -- \n\n') + console.log(`Stage: ${addresses.stage}`) if (!addresses.stage) { addresses.stage = 0 } @@ -131,6 +138,7 @@ async function setupContracts({ const templates = Object.keys(addressBook).filter(a => a.match(/Template$/)) for (const templateName of templates) { + console.log(`Setting up template: ${templateName}`) await setupTemplate({ verbose, TemplateStoreManagerInstance, @@ -153,38 +161,41 @@ async function setupContracts({ const ConditionStoreManagerInstance = artifacts.ConditionStoreManager if (addressBook.AgreementStoreManager) { + const _address = resolveAddress('AgreementStoreManager', addressBook) if (verbose) { console.log( - `Delegating create role to ${addressBook.AgreementStoreManager}` + `Delegating create role to ${_address}` ) } await callContract(ConditionStoreManagerInstance, a => a.delegateCreateRole( - addressBook.AgreementStoreManager + _address )) } if (addressBook.NeverminedConfig) { + const _address = resolveAddress('NeverminedConfig', addressBook) if (verbose) { console.log( - `Setting nevermined config ${addressBook.NeverminedConfig}` + `Setting nevermined config ${_address}` ) } await callContract(ConditionStoreManagerInstance, a => a.setNvmConfigAddress( - addressBook.NeverminedConfig + _address )) } if (addressBook.EscrowPaymentCondition) { + const _address = resolveAddress('EscrowPaymentCondition', addressBook) if (verbose) { console.log( - `Linking escrow to condition store manager ${addressBook.EscrowPaymentCondition}` + `Linking escrow to condition store manager ${_address}` ) } await callContract(ConditionStoreManagerInstance, a => a.grantProxyRole( - addressBook.EscrowPaymentCondition + _address )) } @@ -198,7 +209,7 @@ async function setupContracts({ } if (addressBook.NFT1155Upgradeable && addressBook.DIDRegistry && addresses.stage < 3) { - console.log('Set NFT Operators : ' + addressBook.NFT1155Upgradeable) + console.log('Set NFT Operators : ' + resolveAddress('NFT1155Upgradeable', addressBook)) console.log('No operators needed, DIDRegistry is setup during the initialization') // Leaving this block here to setup operators when necessary // await callContract(artifacts.NFT1155Upgradeable, a => a.grantOperatorRole(addressBook.DIDRegistry)) @@ -206,8 +217,8 @@ async function setupContracts({ } if (addressBook.LockPaymentCondition && addressBook.AgreementStoreManager && addresses.stage < 4) { - console.log('Set lock payment condition proxy : ' + addressBook.LockPaymentCondition) - await callContract(artifacts.LockPaymentCondition, a => a.grantProxyRole(addressBook.AgreementStoreManager)) + console.log('Set lock payment condition proxy : ' + resolveAddress('LockPaymentCondition', addressBook)) + await callContract(artifacts.LockPaymentCondition, a => a.grantProxyRole(resolveAddress('AgreementStoreManager', addressBook))) addresses.stage = 4 } @@ -215,8 +226,9 @@ async function setupContracts({ const agreements = Object.keys(addressBook).filter(a => a.match(/Template$/)) for (const a of agreements) { if (addressBook[a] && addressBook.AgreementStoreManager) { - console.log('Set agreement manager proxy : ' + addressBook[a]) - await callContract(artifacts.AgreementStoreManager, c => c.grantProxyRole(addressBook[a])) + const _address = resolveAddress(a, addressBook) + console.log('Set agreement manager proxy : ' + _address) + await callContract(artifacts.AgreementStoreManager, c => c.grantProxyRole(_address)) } } addresses.stage = 5 @@ -258,8 +270,9 @@ async function setupContracts({ } if (addressBook.TransferNFTCondition && addressBook.NeverminedConfig && addresses.stage < 10) { - console.log('TransferNFTCondition : ' + addressBook.TransferNFTCondition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.TransferNFTCondition)) + const _address = resolveAddress('TransferNFTCondition', addressBook) + console.log('TransferNFTCondition : ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 10 } @@ -269,8 +282,9 @@ async function setupContracts({ } if (addressBook.TransferNFT721Condition && addressBook.NeverminedConfig && addresses.stage < 12) { - console.log('TransferNFT721Condition : ' + addressBook.TransferNFT721Condition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.TransferNFT721Condition)) + const _address = resolveAddress('TransferNFT721Condition', addressBook) + console.log('TransferNFT721Condition : ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 12 } @@ -288,17 +302,18 @@ async function setupContracts({ if (addressBook.NeverminedToken && addresses.stage < 14) { const token = artifacts.NeverminedToken + const _address = resolveAddress('Dispenser', addressBook) if (addressBook.Dispenser) { if (verbose) { console.log( - `adding dispenser as a minter ${addressBook.Dispenser} from ${roles.deployer}` + `adding dispenser as a minter ${_address} from ${roles.deployer}` ) } const tx = await token.connect(roles.deployerSigner).grantRole( web3.utils.toHex('minter').padEnd(66, '0'), - addressBook.Dispenser, + _address, { from: roles.deployer } ) await tx.wait() @@ -329,7 +344,9 @@ async function setupContracts({ if (addressBook.NeverminedConfig && addresses.stage < 15) { const nvmConfig = artifacts.NeverminedConfig - console.log('NeverminedConfig : ' + addressBook.NeverminedConfig) + const _address = resolveAddress('NeverminedConfig', addressBook) + + console.log('NeverminedConfig : ' + _address) const configMarketplaceFee = Number(process.env.NVM_MARKETPLACE_FEE || '0') const configFeeReceiver = process.env.NVM_RECEIVER_FEE || ZeroAddress @@ -353,10 +370,12 @@ async function setupContracts({ } if (addressBook.TransferNFTCondition && addressBook.AgreementStoreManager && addresses.stage < 16) { + const _address = resolveAddress('AgreementStoreManager', addressBook) + console.log('Set TransferNFTCondition proxy : ' + addressBook.TransferNFTCondition) - console.log('Grant proxy role to AgreementStoreManager: ' + addressBook.AgreementStoreManager) + console.log('Grant proxy role to AgreementStoreManager: ' + _address) - await callContract(artifacts.TransferNFTCondition, a => a.grantProxyRole(addressBook.AgreementStoreManager)) + await callContract(artifacts.TransferNFTCondition, a => a.grantProxyRole(_address)) await transferOwnership({ ContractInstance: artifacts.TransferNFTCondition, @@ -369,8 +388,10 @@ async function setupContracts({ } if (addressBook.TransferNFT721Condition && addressBook.AgreementStoreManager && addresses.stage < 17) { + const _address = resolveAddress('AgreementStoreManager', addressBook) + console.log('Set transfer nft721 condition proxy : ' + addressBook.TransferNFT721Condition) - await callContract(artifacts.TransferNFT721Condition, a => a.grantProxyRole(addressBook.AgreementStoreManager)) + await callContract(artifacts.TransferNFT721Condition, a => a.grantProxyRole(_address)) await transferOwnership({ ContractInstance: artifacts.TransferNFT721Condition, name: 'TransferNFT721Condition', @@ -388,20 +409,22 @@ async function setupContracts({ if (addressBook.DIDRegistry && addressBook.StandardRoyalties && addresses.stage < 19) { console.log('Setup royalty manager: ' + addressBook.StandardRoyalties) - await callContract(artifacts.DIDRegistry, a => a.registerRoyaltiesChecker(addressBook.StandardRoyalties)) - await callContract(artifacts.DIDRegistry, a => a.setDefaultRoyalties(addressBook.StandardRoyalties)) + await callContract(artifacts.DIDRegistry, a => a.registerRoyaltiesChecker(resolveAddress('StandardRoyalties', addressBook))) + await callContract(artifacts.DIDRegistry, a => a.setDefaultRoyalties(resolveAddress('StandardRoyalties', addressBook))) addresses.stage = 19 } if (addressBook.NFTLockCondition && addressBook.NeverminedConfig && addresses.stage < 21) { - console.log('Grant Proxy Approval (NFTLockCondition): ' + addressBook.NFTLockCondition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.NFTLockCondition)) + const _address = resolveAddress('NFTLockCondition', addressBook) + console.log('Grant Proxy Approval (NFTLockCondition): ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 21 } if (addressBook.NeverminedConfig && addressBook.NFT721LockCondition && addresses.stage < 22) { - console.log('Grant Proxy Approval (NFT721LockCondition): ' + addressBook.NFT721LockCondition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.NFT721LockCondition)) + const _address = resolveAddress('NFT721LockCondition', addressBook) + console.log('Grant Proxy Approval (NFT721LockCondition): ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 22 } @@ -424,37 +447,41 @@ async function setupContracts({ } else { console.warn('Warning, OPENGSN_FORWARDER environment variable is not set. Meta transactions will not work') } + const _nvmConfigAddress = resolveAddress('NeverminedConfig', addressBook) if (addressBook.NFT1155Upgradeable) { - await callContract(artifacts.NFT1155Upgradeable, a => a.setNvmConfigAddress(addressBook.NeverminedConfig)) + await callContract(artifacts.NFT1155Upgradeable, a => a.setNvmConfigAddress(_nvmConfigAddress)) } if (addressBook.NFT721Upgradeable) { - await callContract(artifacts.NFT721Upgradeable, a => a.setNvmConfigAddress(addressBook.NeverminedConfig)) + await callContract(artifacts.NFT721Upgradeable, a => a.setNvmConfigAddress(_nvmConfigAddress)) } if (addressBook.NFT1155SubscriptionUpgradeable) { - await callContract(artifacts.NFT1155SubscriptionUpgradeable, a => a.setNvmConfigAddress(addressBook.NeverminedConfig)) + await callContract(artifacts.NFT1155SubscriptionUpgradeable, a => a.setNvmConfigAddress(_nvmConfigAddress)) } if (addressBook.NFT721SubscriptionUpgradeable) { - await callContract(artifacts.NFT721SubscriptionUpgradeable, a => a.setNvmConfigAddress(addressBook.NeverminedConfig)) + await callContract(artifacts.NFT721SubscriptionUpgradeable, a => a.setNvmConfigAddress(_nvmConfigAddress)) } if (addressBook.NeverminedToken) { - await callContract(artifacts.NeverminedToken, a => a.setNvmConfigAddress(addressBook.NeverminedConfig)) + await callContract(artifacts.NeverminedToken, a => a.setNvmConfigAddress(_nvmConfigAddress)) } addresses.stage = 23 } if (addresses.stage < 24 && addressBook.NFT1155Upgradeable) { - console.log('Setting up NFT-1155') - await callContract(artifacts.DIDRegistry, a => a.setNFT1155(addressBook.NFT1155Upgradeable)) + const _address = resolveAddress('NFT1155Upgradeable', addressBook) + console.log('Setting up NFT-1155: ' + _address) + await callContract(artifacts.DIDRegistry, a => a.setNFT1155(_address)) addresses.stage = 24 } if (addressBook.NeverminedConfig && addressBook.NFTEscrowPaymentCondition && addresses.stage < 25) { - console.log('Grant Proxy Approval (NFTEscrowPaymentCondition): ' + addressBook.NFTEscrowPaymentCondition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.NFTEscrowPaymentCondition)) + const _address = resolveAddress('NFTEscrowPaymentCondition', addressBook) + console.log('Grant Proxy Approval (NFTEscrowPaymentCondition): ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 25 } if (addressBook.NeverminedConfig && addressBook.NFT721EscrowPaymentCondition && addresses.stage < 26) { - console.log('Grant Proxy Approval (NFT721EscrowPaymentCondition): ' + addressBook.NFT721EscrowPaymentCondition) - await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(addressBook.NFT721EscrowPaymentCondition)) + const _address = resolveAddress('NFT721EscrowPaymentCondition', addressBook) + console.log('Grant Proxy Approval (NFT721EscrowPaymentCondition): ' + _address) + await callContract(artifacts.NeverminedConfig, a => a.grantNVMOperatorRole(_address)) addresses.stage = 26 } } From e253323af15e1a2da2a424935b0bedf5efeb97d6 Mon Sep 17 00:00:00 2001 From: Aitor <1726644+aaitor@users.noreply.github.com> Date: Mon, 30 Oct 2023 11:56:06 +0100 Subject: [PATCH 2/5] feat: gnosis v3.5.3 deployment artifacts --- .openzeppelin/unknown-100.json | 2198 ++++++++++++++++++++++++- .openzeppelin/unknown-100.json.public | 2198 ++++++++++++++++++++++++- 2 files changed, 4392 insertions(+), 4 deletions(-) diff --git a/.openzeppelin/unknown-100.json b/.openzeppelin/unknown-100.json index 076749c3..e0d42c68 100644 --- a/.openzeppelin/unknown-100.json +++ b/.openzeppelin/unknown-100.json @@ -1,8 +1,8 @@ { "manifestVersion": "3.2", "admin": { - "address": "0xF0d7F37616d007BA6ae19D01d3f6f52aEDA3Ffe2", - "txHash": "0x41acf32f4091b57e71b50a7d73498e343bef31177840f0f0089be10b4af1b76c" + "address": "0x93aA0A931f7003A8c00Af23226675009F38419BC", + "txHash": "0xe8c8e4ad8364516d1d411112ea0cbc69e5674ab50692bcb429af84ca018427e6" }, "proxies": [ { @@ -34,6 +34,161 @@ "address": "0xE2988884c39c7cC0b4421bDf3D9Ab4a705C891E1", "txHash": "0x151b51a1046fca00d46ad76cad13494aa7375abad35c66acd606b0932fc7e9e4", "kind": "transparent" + }, + { + "address": "0x78b59D599a8A66f8dc8A712b3aF90A0012d92537", + "txHash": "0x33ec7abdbfceeca6d2e8f54de04df041a58aa9b7dc67b9a78f7eeac3f8bd5364", + "kind": "transparent" + }, + { + "address": "0x86341d3661aba4a4ba6F13e1da113B8dD27b4921", + "txHash": "0xaa87a6bffaad72dcdae6a9ae99434698c3650565d27c3f2a9e53736ff3804852", + "kind": "transparent" + }, + { + "address": "0xC1f51a6B8aEdC540d34F18756C56Fe4AAF436E3f", + "txHash": "0xdaf906b1f219b61742ba33a30d599ff59aba7f0f39bca168b887f710fbf35652", + "kind": "transparent" + }, + { + "address": "0xF82794c0202AAF7694C65Db65aDAdFEdEc17A70f", + "txHash": "0x86b94103765f0f507bfc09d1e734fdf78993769e2e71c1b512fb0531364f23f2", + "kind": "transparent" + }, + { + "address": "0xFa3d4Afd382C7989D0896d89b5B5C78676B5229c", + "txHash": "0xdf52cf5f8f4b1c6784439d6127cdb7209cceb8369e21d41eb5347c43b7662e2f", + "kind": "transparent" + }, + { + "address": "0x7D4FA581D00dA304B153547919e9A2CaBcE7B1cf", + "txHash": "0x9e88037d655d194fd778c7165c930dec410f8df577d40687429434aa0ee219c6", + "kind": "transparent" + }, + { + "address": "0xA3B72B4c8a2ABAa69bdf462D625c270A05c71502", + "txHash": "0x15f47691af2a755817a1cc02adeb4d1396d7aa1d43c341129b793c922a116935", + "kind": "transparent" + }, + { + "address": "0xdbD7243D80CeadC651CedC8baF76C82735934583", + "txHash": "0x1d22f39fe7cda6d9d31d320ccf74e6e1466edc5e2e2836aea07de3e63ee2cd80", + "kind": "transparent" + }, + { + "address": "0x6b25E3fAe12e7473C239A4Bfad9C5915C9dDE463", + "txHash": "0xeb6bfd5bee476d95bf8f666a3bb0cf0f30871e4f62dafff54d3c3994cd31f3f1", + "kind": "transparent" + }, + { + "address": "0xFEB95359B0746030550B2936e9761EEB8A6D4186", + "txHash": "0x454a0fad8457ae4828ee4d51b68607ca932f941c637168ffcc0c446738e96661", + "kind": "transparent" + }, + { + "address": "0xEB2c157f7A7954F804F051bfFad4D6a883289b13", + "txHash": "0x2eef7b0e949418724f0303867752ded1adf5d6c20c6717340066072213cdf427", + "kind": "transparent" + }, + { + "address": "0x1fF4Fb61308587524aD3119f87e788729bf83189", + "txHash": "0x3383092f07f9fd44431d38863e72e9ab1db90230bd65ca882db01083f37f7a12", + "kind": "transparent" + }, + { + "address": "0x1Dd9475006e3EF7F9a577B628e4Ae1Ec869A64c0", + "txHash": "0x7f798a97fb2c4b54ff6dc12c1e239736cfc3be6d758a952de84643d8a7c69382", + "kind": "transparent" + }, + { + "address": "0x99619E4F5f7734117dA87e51C8099B9f8151fd54", + "txHash": "0x4382d2398dfc1efa649fff607546de5c49f1e53b4206928e407ef60b53e903e2", + "kind": "transparent" + }, + { + "address": "0x3162899DA4F30e5A9f39cCB2768f906CC0fDBB83", + "txHash": "0x9d1f07709d06052e0ab15ac4f0f19bcf456215a4682f977313b7a1b10d620260", + "kind": "transparent" + }, + { + "address": "0x5A184787d220Ad98a3dB82af2990b7aD32627a18", + "txHash": "0xbff535b2edb2c75769a97aa38b6a75c8bff091552283b48bfcc3feac5dd34aec", + "kind": "transparent" + }, + { + "address": "0x9636917aCa62B01d1edF865a580B0C39B5Fe6614", + "txHash": "0x7d9b97949521d53d85618487336231dd7e5dc837ac65337136bd3c669beb9842", + "kind": "transparent" + }, + { + "address": "0xb1C98d6B46e105f23Fc4583e875321C7eDF61116", + "txHash": "0xf7ef409dd1f6cf776b85b771e08822e39ba1d27c975de44d520486d9356d7426", + "kind": "transparent" + }, + { + "address": "0x58A121AF1f1cee587e6B9975138CBcBF262aC152", + "txHash": "0xa1f4408efbede214f8ac28cef5f8b8b9044e6379c776e10c236740c1d5b0f899", + "kind": "transparent" + }, + { + "address": "0x63fE8bCA1287a98F7fF461a5C355a4cA60B07E3C", + "txHash": "0x0a09c491293b39c497b5595961690cd201ca4bcccce483795c4a35e21e31b746", + "kind": "transparent" + }, + { + "address": "0x9718d999952cFcda353C6767fe0eCB73c18181b2", + "txHash": "0x53616c293272891acf41b99c0c5233faa6258378db512d0be2d36cdcb5577a21", + "kind": "transparent" + }, + { + "address": "0xc58f21FF1de1C0E511Cd4febBBA59E8F51c5658C", + "txHash": "0x59d7c99a30ce0cedb1300b7a0bffe72698e8d3a01c5f6c1ce769b15e46c3b5e5", + "kind": "transparent" + }, + { + "address": "0x525F09358E3504bA73a4E205D1D95F724796DA3e", + "txHash": "0x651bebbd6dca22bbe72137a079ef2ad9a848ff7e5964fc19e91eb581156fe372", + "kind": "transparent" + }, + { + "address": "0xCd614a1812158E8A0B15d5f99E65dD4801b7b562", + "txHash": "0x74d3c6cf48d8068837f95477bba6dd7826b29f74ede2aa4e3bcdaaf8dd8d62ac", + "kind": "transparent" + }, + { + "address": "0x6ed58E9770dcA880315a7C9DC45CD0c874411c53", + "txHash": "0x21b7d44749732bf7d9712c582091736d6c529c7178a6311a7735e0e6eaf3ac40", + "kind": "transparent" + }, + { + "address": "0xCB0A331cB1F57E01FF0FA2d664f2F100081cbc3b", + "txHash": "0xf160dab3fa7dfdaa4161f02653bd0a217b962ac6d299f4c47641723570b90180", + "kind": "transparent" + }, + { + "address": "0xbb86D4AC4eFEe7e1Bee3d9b9B85E182DBDC84261", + "txHash": "0x8b9bd1fddbb0ef68e22868552319881b4f79297f6d56ea124aa40363e5ba793c", + "kind": "transparent" + }, + { + "address": "0xbb5388DBE86fbf07a4792AaA7e3fbF6A07f53C5E", + "txHash": "0x7e090cf9239c94936346e9aacaa9531b680e7cf6a741683f7bf603f3217e0fcf", + "kind": "transparent" + }, + { + "address": "0x18096D33B1c33b79abC117e8E984D323d3bA36F4", + "txHash": "0x697d7b002e00fe3c823a607712dc137dd277cbad71fbdf09f1606cab7f21f7de", + "kind": "transparent" + }, + { + "address": "0x507Dee4f870782081E023CBb3278f5EF651FFD4F", + "txHash": "0xa66586ba13d123082c37e5f500888db57b73095ad3ea24aed9963011bf8be2f8", + "kind": "transparent" + }, + { + "address": "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce", + "txHash": "0x1ebdb96a875d10500c026e361bf92bb23cade75f0277766b3c90d80c2ed45e47", + "kind": "transparent" } ], "impls": { @@ -1716,6 +1871,2045 @@ } } } + }, + "892b6797ed627265a679caf78277fe602443a8fa2c3ac1a5a6090c0027c21052": { + "address": "0xd751F77fc3DF3BB999ED2deB7fE6fEF6b9280f52", + "txHash": "0x6882fc2531f71d001a1815fd6aa03aa3bc9655a3afb70f099cca4cd21e2ca257", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "marketplaceFee", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:25" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "202", + "type": "t_address", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:29" + }, + { + "label": "provenanceOff", + "offset": 20, + "slot": "202", + "type": "t_bool", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:32" + }, + { + "label": "trustedForwarder", + "offset": 0, + "slot": "203", + "type": "t_address", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:34" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "16275ea04ec6a399b470a73b8c3437c16990e2e154606370b11ddc456d12b693": { + "address": "0x64F63f7D6A0Fba059DceF99d1E313C90BdE22505", + "txHash": "0xc5b23899063fbdcd60c11184621574c6611d6e4457deadac59b45b530b007c4a", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "provenanceRegistry", + "offset": 0, + "slot": "201", + "type": "t_struct(ProvenanceRegistryList)32617_storage", + "contract": "ProvenanceRegistry", + "src": "contracts/registry/ProvenanceRegistry.sol:56" + }, + { + "label": "didRegisterList", + "offset": 0, + "slot": "202", + "type": "t_struct(DIDRegisterList)31752_storage", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:27" + }, + { + "label": "didPermissions", + "offset": 0, + "slot": "203", + "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:30" + }, + { + "label": "manager", + "offset": 0, + "slot": "204", + "type": "t_address", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:32" + }, + { + "label": "erc1155", + "offset": 0, + "slot": "205", + "type": "t_contract(NFT1155Upgradeable)40786", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:35" + }, + { + "label": "erc721", + "offset": 0, + "slot": "206", + "type": "t_contract(NFT721Upgradeable)41797", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:36" + }, + { + "label": "royaltiesCheckers", + "offset": 0, + "slot": "207", + "type": "t_mapping(t_address,t_bool)", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:38" + }, + { + "label": "defaultRoyalties", + "offset": 0, + "slot": "208", + "type": "t_contract(StandardRoyalties)33944", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:39" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "209", + "type": "t_contract(INVMConfig)25130", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:41" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(INVMConfig)25130": { + "label": "contract INVMConfig", + "numberOfBytes": "20" + }, + "t_contract(IRoyaltyScheme)26409": { + "label": "contract IRoyaltyScheme", + "numberOfBytes": "20" + }, + "t_contract(NFT1155Upgradeable)40786": { + "label": "contract NFT1155Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(NFT721Upgradeable)41797": { + "label": "contract NFT721Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(StandardRoyalties)33944": { + "label": "contract StandardRoyalties", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { + "label": "mapping(bytes32 => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(DIDRegister)31746_storage)": { + "label": "mapping(bytes32 => struct DIDRegistryLibrary.DIDRegister)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Provenance)32611_storage)": { + "label": "mapping(bytes32 => struct ProvenanceRegistry.Provenance)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(DIDRegister)31746_storage": { + "label": "struct DIDRegistryLibrary.DIDRegister", + "members": [ + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royalties", + "type": "t_uint8", + "offset": 20, + "slot": "0" + }, + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 21, + "slot": "0" + }, + { + "label": "nftContractAddress", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "lastChecksum", + "type": "t_bytes32", + "offset": 0, + "slot": "3" + }, + { + "label": "url", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "lastUpdatedBy", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "blockNumberUpdated", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "providers", + "type": "t_array(t_address)dyn_storage", + "offset": 0, + "slot": "7" + }, + { + "label": "delegates", + "type": "t_array(t_address)dyn_storage", + "offset": 0, + "slot": "8" + }, + { + "label": "royaltyRecipient", + "type": "t_address", + "offset": 0, + "slot": "9" + }, + { + "label": "royaltyScheme", + "type": "t_contract(IRoyaltyScheme)26409", + "offset": 0, + "slot": "10" + }, + { + "label": "immutableUrl", + "type": "t_string_storage", + "offset": 0, + "slot": "11" + } + ], + "numberOfBytes": "384" + }, + "t_struct(DIDRegisterList)31752_storage": { + "label": "struct DIDRegistryLibrary.DIDRegisterList", + "members": [ + { + "label": "didRegisters", + "type": "t_mapping(t_bytes32,t_struct(DIDRegister)31746_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Provenance)32611_storage": { + "label": "struct ProvenanceRegistry.Provenance", + "members": [ + { + "label": "did", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "relatedDid", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + }, + { + "label": "agentId", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "activityId", + "type": "t_bytes32", + "offset": 0, + "slot": "3" + }, + { + "label": "agentInvolvedId", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "method", + "type": "t_uint8", + "offset": 20, + "slot": "4" + }, + { + "label": "createdBy", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "blockNumberUpdated", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "signature", + "type": "t_bytes_storage", + "offset": 0, + "slot": "7" + } + ], + "numberOfBytes": "256" + }, + "t_struct(ProvenanceRegistryList)32617_storage": { + "label": "struct ProvenanceRegistry.ProvenanceRegistryList", + "members": [ + { + "label": "list", + "type": "t_mapping(t_bytes32,t_struct(Provenance)32611_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "008194aeb76ab8c710f50c713046918035e3c2654b7b810057790734815c9147": { + "address": "0x68Db959B65967FECe9b2Ba83F7Aee7ea51E87809", + "txHash": "0x00d537dfcd434da64f8ccf9175e2480b3b47fb97e68f0004ef337dfc43d8bf47", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "registry", + "offset": 2, + "slot": "0", + "type": "t_contract(DIDRegistry)31710", + "contract": "StandardRoyalties", + "src": "contracts/royalties/StandardRoyalties.sol:18" + }, + { + "label": "royalties", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "StandardRoyalties", + "src": "contracts/royalties/StandardRoyalties.sol:22" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(DIDRegistry)31710": { + "label": "contract DIDRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "a37a44e7c20131b9e086ca06ca0d965cef6900504fd0803e1aa3a3f9db777427": { + "address": "0x3C418FAaBCE294E9d3D7c60419468AF6795e58f3", + "txHash": "0xc62d079e66a9465a578c65bb86057e4420a2188644fc0c9362a7927fb30ff402", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "153", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "154", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:528" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "name", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:17" + }, + { + "label": "symbol", + "offset": 0, + "slot": "257", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:20" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "258", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:22" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "bcbb1c526eebe428951b77e30246dfade4098cacebd49036fae7750cd2bc7ce4": { + "address": "0x681a8d84b27216719520eeB1ce241Bc550B0e62B", + "txHash": "0x280b6097e2c8d68f59d0e4c6e639c501eac2e81f5afb47d91fb283bba392bd82", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "151", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "152", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28" + }, + { + "label": "_owners", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31" + }, + { + "label": "_balances", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34" + }, + { + "label": "_tokenApprovals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "156", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40" + }, + { + "label": "__gap", + "offset": 0, + "slot": "157", + "type": "t_array(t_uint256)44_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:517" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "_nftContractCap", + "offset": 0, + "slot": "256", + "type": "t_uint256", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:18" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "257", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:20" + }, + { + "label": "_counterMinted", + "offset": 0, + "slot": "258", + "type": "t_struct(Counter)8119_storage", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:25" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)44_storage": { + "label": "uint256[44]", + "numberOfBytes": "1408" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Counter)8119_storage": { + "label": "struct CountersUpgradeable.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "289f043618cad820bbb3f983f4a43bfb59eae2d262cf1798bbdc3acb40a2656c": { + "address": "0xbF1a988d2ea9dc812CA57BA55E1cB8Df024309f4", + "txHash": "0x4a5051082d1445aedb932b9720b6512cec1a94802ee540370b48fd99b4b5cf31", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "151", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "152", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28" + }, + { + "label": "_owners", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31" + }, + { + "label": "_balances", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34" + }, + { + "label": "_tokenApprovals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "156", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40" + }, + { + "label": "__gap", + "offset": 0, + "slot": "157", + "type": "t_array(t_uint256)44_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:517" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "_nftContractCap", + "offset": 0, + "slot": "256", + "type": "t_uint256", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:18" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "257", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:20" + }, + { + "label": "_counterMinted", + "offset": 0, + "slot": "258", + "type": "t_struct(Counter)8119_storage", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:25" + }, + { + "label": "_tokens", + "offset": 0, + "slot": "259", + "type": "t_mapping(t_address,t_array(t_struct(MintedTokens)40799_storage)dyn_storage)", + "contract": "NFT721SubscriptionUpgradeable", + "src": "contracts/token/erc721/NFT721SubscriptionUpgradeable.sol:17" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(MintedTokens)40799_storage)dyn_storage": { + "label": "struct NFT721SubscriptionUpgradeable.MintedTokens[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)44_storage": { + "label": "uint256[44]", + "numberOfBytes": "1408" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_array(t_struct(MintedTokens)40799_storage)dyn_storage)": { + "label": "mapping(address => struct NFT721SubscriptionUpgradeable.MintedTokens[])", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Counter)8119_storage": { + "label": "struct CountersUpgradeable.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(MintedTokens)40799_storage": { + "label": "struct NFT721SubscriptionUpgradeable.MintedTokens", + "members": [ + { + "label": "tokenId", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationBlock", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintBlock", + "type": "t_uint256", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "e5bbd756c7cb1d530a407f372cc5f14df7e829945052521c93791f9158d15ef8": { + "address": "0xf46Ca62a223B2370C825aE023f5fc47e1E7172DD", + "txHash": "0x9c9b47fe9e578014af8a86ea00aaf3f68a8f5807a1b627da9156136b7548b1ab", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "153", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "154", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:528" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "name", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:17" + }, + { + "label": "symbol", + "offset": 0, + "slot": "257", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:20" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "258", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:22" + }, + { + "label": "_tokens", + "offset": 0, + "slot": "259", + "type": "t_mapping(t_bytes32,t_array(t_struct(MintedTokens)39446_storage)dyn_storage)", + "contract": "NFT1155SubscriptionUpgradeable", + "src": "contracts/token/erc1155/NFT1155SubscriptionUpgradeable.sol:18" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(MintedTokens)39446_storage)dyn_storage": { + "label": "struct NFT1155SubscriptionUpgradeable.MintedTokens[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_array(t_struct(MintedTokens)39446_storage)dyn_storage)": { + "label": "mapping(bytes32 => struct NFT1155SubscriptionUpgradeable.MintedTokens[])", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(MintedTokens)39446_storage": { + "label": "struct NFT1155SubscriptionUpgradeable.MintedTokens", + "members": [ + { + "label": "amountMinted", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationBlock", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintBlock", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "isMintOps", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } diff --git a/.openzeppelin/unknown-100.json.public b/.openzeppelin/unknown-100.json.public index 076749c3..e0d42c68 100644 --- a/.openzeppelin/unknown-100.json.public +++ b/.openzeppelin/unknown-100.json.public @@ -1,8 +1,8 @@ { "manifestVersion": "3.2", "admin": { - "address": "0xF0d7F37616d007BA6ae19D01d3f6f52aEDA3Ffe2", - "txHash": "0x41acf32f4091b57e71b50a7d73498e343bef31177840f0f0089be10b4af1b76c" + "address": "0x93aA0A931f7003A8c00Af23226675009F38419BC", + "txHash": "0xe8c8e4ad8364516d1d411112ea0cbc69e5674ab50692bcb429af84ca018427e6" }, "proxies": [ { @@ -34,6 +34,161 @@ "address": "0xE2988884c39c7cC0b4421bDf3D9Ab4a705C891E1", "txHash": "0x151b51a1046fca00d46ad76cad13494aa7375abad35c66acd606b0932fc7e9e4", "kind": "transparent" + }, + { + "address": "0x78b59D599a8A66f8dc8A712b3aF90A0012d92537", + "txHash": "0x33ec7abdbfceeca6d2e8f54de04df041a58aa9b7dc67b9a78f7eeac3f8bd5364", + "kind": "transparent" + }, + { + "address": "0x86341d3661aba4a4ba6F13e1da113B8dD27b4921", + "txHash": "0xaa87a6bffaad72dcdae6a9ae99434698c3650565d27c3f2a9e53736ff3804852", + "kind": "transparent" + }, + { + "address": "0xC1f51a6B8aEdC540d34F18756C56Fe4AAF436E3f", + "txHash": "0xdaf906b1f219b61742ba33a30d599ff59aba7f0f39bca168b887f710fbf35652", + "kind": "transparent" + }, + { + "address": "0xF82794c0202AAF7694C65Db65aDAdFEdEc17A70f", + "txHash": "0x86b94103765f0f507bfc09d1e734fdf78993769e2e71c1b512fb0531364f23f2", + "kind": "transparent" + }, + { + "address": "0xFa3d4Afd382C7989D0896d89b5B5C78676B5229c", + "txHash": "0xdf52cf5f8f4b1c6784439d6127cdb7209cceb8369e21d41eb5347c43b7662e2f", + "kind": "transparent" + }, + { + "address": "0x7D4FA581D00dA304B153547919e9A2CaBcE7B1cf", + "txHash": "0x9e88037d655d194fd778c7165c930dec410f8df577d40687429434aa0ee219c6", + "kind": "transparent" + }, + { + "address": "0xA3B72B4c8a2ABAa69bdf462D625c270A05c71502", + "txHash": "0x15f47691af2a755817a1cc02adeb4d1396d7aa1d43c341129b793c922a116935", + "kind": "transparent" + }, + { + "address": "0xdbD7243D80CeadC651CedC8baF76C82735934583", + "txHash": "0x1d22f39fe7cda6d9d31d320ccf74e6e1466edc5e2e2836aea07de3e63ee2cd80", + "kind": "transparent" + }, + { + "address": "0x6b25E3fAe12e7473C239A4Bfad9C5915C9dDE463", + "txHash": "0xeb6bfd5bee476d95bf8f666a3bb0cf0f30871e4f62dafff54d3c3994cd31f3f1", + "kind": "transparent" + }, + { + "address": "0xFEB95359B0746030550B2936e9761EEB8A6D4186", + "txHash": "0x454a0fad8457ae4828ee4d51b68607ca932f941c637168ffcc0c446738e96661", + "kind": "transparent" + }, + { + "address": "0xEB2c157f7A7954F804F051bfFad4D6a883289b13", + "txHash": "0x2eef7b0e949418724f0303867752ded1adf5d6c20c6717340066072213cdf427", + "kind": "transparent" + }, + { + "address": "0x1fF4Fb61308587524aD3119f87e788729bf83189", + "txHash": "0x3383092f07f9fd44431d38863e72e9ab1db90230bd65ca882db01083f37f7a12", + "kind": "transparent" + }, + { + "address": "0x1Dd9475006e3EF7F9a577B628e4Ae1Ec869A64c0", + "txHash": "0x7f798a97fb2c4b54ff6dc12c1e239736cfc3be6d758a952de84643d8a7c69382", + "kind": "transparent" + }, + { + "address": "0x99619E4F5f7734117dA87e51C8099B9f8151fd54", + "txHash": "0x4382d2398dfc1efa649fff607546de5c49f1e53b4206928e407ef60b53e903e2", + "kind": "transparent" + }, + { + "address": "0x3162899DA4F30e5A9f39cCB2768f906CC0fDBB83", + "txHash": "0x9d1f07709d06052e0ab15ac4f0f19bcf456215a4682f977313b7a1b10d620260", + "kind": "transparent" + }, + { + "address": "0x5A184787d220Ad98a3dB82af2990b7aD32627a18", + "txHash": "0xbff535b2edb2c75769a97aa38b6a75c8bff091552283b48bfcc3feac5dd34aec", + "kind": "transparent" + }, + { + "address": "0x9636917aCa62B01d1edF865a580B0C39B5Fe6614", + "txHash": "0x7d9b97949521d53d85618487336231dd7e5dc837ac65337136bd3c669beb9842", + "kind": "transparent" + }, + { + "address": "0xb1C98d6B46e105f23Fc4583e875321C7eDF61116", + "txHash": "0xf7ef409dd1f6cf776b85b771e08822e39ba1d27c975de44d520486d9356d7426", + "kind": "transparent" + }, + { + "address": "0x58A121AF1f1cee587e6B9975138CBcBF262aC152", + "txHash": "0xa1f4408efbede214f8ac28cef5f8b8b9044e6379c776e10c236740c1d5b0f899", + "kind": "transparent" + }, + { + "address": "0x63fE8bCA1287a98F7fF461a5C355a4cA60B07E3C", + "txHash": "0x0a09c491293b39c497b5595961690cd201ca4bcccce483795c4a35e21e31b746", + "kind": "transparent" + }, + { + "address": "0x9718d999952cFcda353C6767fe0eCB73c18181b2", + "txHash": "0x53616c293272891acf41b99c0c5233faa6258378db512d0be2d36cdcb5577a21", + "kind": "transparent" + }, + { + "address": "0xc58f21FF1de1C0E511Cd4febBBA59E8F51c5658C", + "txHash": "0x59d7c99a30ce0cedb1300b7a0bffe72698e8d3a01c5f6c1ce769b15e46c3b5e5", + "kind": "transparent" + }, + { + "address": "0x525F09358E3504bA73a4E205D1D95F724796DA3e", + "txHash": "0x651bebbd6dca22bbe72137a079ef2ad9a848ff7e5964fc19e91eb581156fe372", + "kind": "transparent" + }, + { + "address": "0xCd614a1812158E8A0B15d5f99E65dD4801b7b562", + "txHash": "0x74d3c6cf48d8068837f95477bba6dd7826b29f74ede2aa4e3bcdaaf8dd8d62ac", + "kind": "transparent" + }, + { + "address": "0x6ed58E9770dcA880315a7C9DC45CD0c874411c53", + "txHash": "0x21b7d44749732bf7d9712c582091736d6c529c7178a6311a7735e0e6eaf3ac40", + "kind": "transparent" + }, + { + "address": "0xCB0A331cB1F57E01FF0FA2d664f2F100081cbc3b", + "txHash": "0xf160dab3fa7dfdaa4161f02653bd0a217b962ac6d299f4c47641723570b90180", + "kind": "transparent" + }, + { + "address": "0xbb86D4AC4eFEe7e1Bee3d9b9B85E182DBDC84261", + "txHash": "0x8b9bd1fddbb0ef68e22868552319881b4f79297f6d56ea124aa40363e5ba793c", + "kind": "transparent" + }, + { + "address": "0xbb5388DBE86fbf07a4792AaA7e3fbF6A07f53C5E", + "txHash": "0x7e090cf9239c94936346e9aacaa9531b680e7cf6a741683f7bf603f3217e0fcf", + "kind": "transparent" + }, + { + "address": "0x18096D33B1c33b79abC117e8E984D323d3bA36F4", + "txHash": "0x697d7b002e00fe3c823a607712dc137dd277cbad71fbdf09f1606cab7f21f7de", + "kind": "transparent" + }, + { + "address": "0x507Dee4f870782081E023CBb3278f5EF651FFD4F", + "txHash": "0xa66586ba13d123082c37e5f500888db57b73095ad3ea24aed9963011bf8be2f8", + "kind": "transparent" + }, + { + "address": "0x80A9b55F8604acC26dF2Ac6e07F9dC5B0eAa05Ce", + "txHash": "0x1ebdb96a875d10500c026e361bf92bb23cade75f0277766b3c90d80c2ed45e47", + "kind": "transparent" } ], "impls": { @@ -1716,6 +1871,2045 @@ } } } + }, + "892b6797ed627265a679caf78277fe602443a8fa2c3ac1a5a6090c0027c21052": { + "address": "0xd751F77fc3DF3BB999ED2deB7fE6fEF6b9280f52", + "txHash": "0x6882fc2531f71d001a1815fd6aa03aa3bc9655a3afb70f099cca4cd21e2ca257", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "marketplaceFee", + "offset": 0, + "slot": "201", + "type": "t_uint256", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:25" + }, + { + "label": "feeReceiver", + "offset": 0, + "slot": "202", + "type": "t_address", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:29" + }, + { + "label": "provenanceOff", + "offset": 20, + "slot": "202", + "type": "t_bool", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:32" + }, + { + "label": "trustedForwarder", + "offset": 0, + "slot": "203", + "type": "t_address", + "contract": "NeverminedConfig", + "src": "contracts/governance/NeverminedConfig.sol:34" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "16275ea04ec6a399b470a73b8c3437c16990e2e154606370b11ddc456d12b693": { + "address": "0x64F63f7D6A0Fba059DceF99d1E313C90BdE22505", + "txHash": "0xc5b23899063fbdcd60c11184621574c6611d6e4457deadac59b45b530b007c4a", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_roles", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "152", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "provenanceRegistry", + "offset": 0, + "slot": "201", + "type": "t_struct(ProvenanceRegistryList)32617_storage", + "contract": "ProvenanceRegistry", + "src": "contracts/registry/ProvenanceRegistry.sol:56" + }, + { + "label": "didRegisterList", + "offset": 0, + "slot": "202", + "type": "t_struct(DIDRegisterList)31752_storage", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:27" + }, + { + "label": "didPermissions", + "offset": 0, + "slot": "203", + "type": "t_mapping(t_bytes32,t_mapping(t_address,t_bool))", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:30" + }, + { + "label": "manager", + "offset": 0, + "slot": "204", + "type": "t_address", + "contract": "DIDFactory", + "src": "contracts/registry/DIDFactory.sol:32" + }, + { + "label": "erc1155", + "offset": 0, + "slot": "205", + "type": "t_contract(NFT1155Upgradeable)40786", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:35" + }, + { + "label": "erc721", + "offset": 0, + "slot": "206", + "type": "t_contract(NFT721Upgradeable)41797", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:36" + }, + { + "label": "royaltiesCheckers", + "offset": 0, + "slot": "207", + "type": "t_mapping(t_address,t_bool)", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:38" + }, + { + "label": "defaultRoyalties", + "offset": 0, + "slot": "208", + "type": "t_contract(StandardRoyalties)33944", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:39" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "209", + "type": "t_contract(INVMConfig)25130", + "contract": "DIDRegistry", + "src": "contracts/registry/DIDRegistry.sol:41" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_address)dyn_storage": { + "label": "address[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_bytes_storage": { + "label": "bytes", + "numberOfBytes": "32" + }, + "t_contract(INVMConfig)25130": { + "label": "contract INVMConfig", + "numberOfBytes": "20" + }, + "t_contract(IRoyaltyScheme)26409": { + "label": "contract IRoyaltyScheme", + "numberOfBytes": "20" + }, + "t_contract(NFT1155Upgradeable)40786": { + "label": "contract NFT1155Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(NFT721Upgradeable)41797": { + "label": "contract NFT721Upgradeable", + "numberOfBytes": "20" + }, + "t_contract(StandardRoyalties)33944": { + "label": "contract StandardRoyalties", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_mapping(t_address,t_bool))": { + "label": "mapping(bytes32 => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(DIDRegister)31746_storage)": { + "label": "mapping(bytes32 => struct DIDRegistryLibrary.DIDRegister)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(Provenance)32611_storage)": { + "label": "mapping(bytes32 => struct ProvenanceRegistry.Provenance)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(DIDRegister)31746_storage": { + "label": "struct DIDRegistryLibrary.DIDRegister", + "members": [ + { + "label": "owner", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royalties", + "type": "t_uint8", + "offset": 20, + "slot": "0" + }, + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 21, + "slot": "0" + }, + { + "label": "nftContractAddress", + "type": "t_address", + "offset": 0, + "slot": "1" + }, + { + "label": "creator", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "lastChecksum", + "type": "t_bytes32", + "offset": 0, + "slot": "3" + }, + { + "label": "url", + "type": "t_string_storage", + "offset": 0, + "slot": "4" + }, + { + "label": "lastUpdatedBy", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "blockNumberUpdated", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "providers", + "type": "t_array(t_address)dyn_storage", + "offset": 0, + "slot": "7" + }, + { + "label": "delegates", + "type": "t_array(t_address)dyn_storage", + "offset": 0, + "slot": "8" + }, + { + "label": "royaltyRecipient", + "type": "t_address", + "offset": 0, + "slot": "9" + }, + { + "label": "royaltyScheme", + "type": "t_contract(IRoyaltyScheme)26409", + "offset": 0, + "slot": "10" + }, + { + "label": "immutableUrl", + "type": "t_string_storage", + "offset": 0, + "slot": "11" + } + ], + "numberOfBytes": "384" + }, + "t_struct(DIDRegisterList)31752_storage": { + "label": "struct DIDRegistryLibrary.DIDRegisterList", + "members": [ + { + "label": "didRegisters", + "type": "t_mapping(t_bytes32,t_struct(DIDRegister)31746_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(Provenance)32611_storage": { + "label": "struct ProvenanceRegistry.Provenance", + "members": [ + { + "label": "did", + "type": "t_bytes32", + "offset": 0, + "slot": "0" + }, + { + "label": "relatedDid", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + }, + { + "label": "agentId", + "type": "t_address", + "offset": 0, + "slot": "2" + }, + { + "label": "activityId", + "type": "t_bytes32", + "offset": 0, + "slot": "3" + }, + { + "label": "agentInvolvedId", + "type": "t_address", + "offset": 0, + "slot": "4" + }, + { + "label": "method", + "type": "t_uint8", + "offset": 20, + "slot": "4" + }, + { + "label": "createdBy", + "type": "t_address", + "offset": 0, + "slot": "5" + }, + { + "label": "blockNumberUpdated", + "type": "t_uint256", + "offset": 0, + "slot": "6" + }, + { + "label": "signature", + "type": "t_bytes_storage", + "offset": 0, + "slot": "7" + } + ], + "numberOfBytes": "256" + }, + "t_struct(ProvenanceRegistryList)32617_storage": { + "label": "struct ProvenanceRegistry.ProvenanceRegistryList", + "members": [ + { + "label": "list", + "type": "t_mapping(t_bytes32,t_struct(Provenance)32611_storage)", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "008194aeb76ab8c710f50c713046918035e3c2654b7b810057790734815c9147": { + "address": "0x68Db959B65967FECe9b2Ba83F7Aee7ea51E87809", + "txHash": "0x00d537dfcd434da64f8ccf9175e2480b3b47fb97e68f0004ef337dfc43d8bf47", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "registry", + "offset": 2, + "slot": "0", + "type": "t_contract(DIDRegistry)31710", + "contract": "StandardRoyalties", + "src": "contracts/royalties/StandardRoyalties.sol:18" + }, + { + "label": "royalties", + "offset": 0, + "slot": "1", + "type": "t_mapping(t_bytes32,t_uint256)", + "contract": "StandardRoyalties", + "src": "contracts/royalties/StandardRoyalties.sol:22" + } + ], + "types": { + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(DIDRegistry)31710": { + "label": "contract DIDRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_bytes32,t_uint256)": { + "label": "mapping(bytes32 => uint256)", + "numberOfBytes": "32" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "a37a44e7c20131b9e086ca06ca0d965cef6900504fd0803e1aa3a3f9db777427": { + "address": "0x3C418FAaBCE294E9d3D7c60419468AF6795e58f3", + "txHash": "0xc62d079e66a9465a578c65bb86057e4420a2188644fc0c9362a7927fb30ff402", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "153", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "154", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:528" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "name", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:17" + }, + { + "label": "symbol", + "offset": 0, + "slot": "257", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:20" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "258", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:22" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "bcbb1c526eebe428951b77e30246dfade4098cacebd49036fae7750cd2bc7ce4": { + "address": "0x681a8d84b27216719520eeB1ce241Bc550B0e62B", + "txHash": "0x280b6097e2c8d68f59d0e4c6e639c501eac2e81f5afb47d91fb283bba392bd82", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "151", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "152", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28" + }, + { + "label": "_owners", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31" + }, + { + "label": "_balances", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34" + }, + { + "label": "_tokenApprovals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "156", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40" + }, + { + "label": "__gap", + "offset": 0, + "slot": "157", + "type": "t_array(t_uint256)44_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:517" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "_nftContractCap", + "offset": 0, + "slot": "256", + "type": "t_uint256", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:18" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "257", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:20" + }, + { + "label": "_counterMinted", + "offset": 0, + "slot": "258", + "type": "t_struct(Counter)8119_storage", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:25" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_uint256)44_storage": { + "label": "uint256[44]", + "numberOfBytes": "1408" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Counter)8119_storage": { + "label": "struct CountersUpgradeable.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "289f043618cad820bbb3f983f4a43bfb59eae2d262cf1798bbdc3acb40a2656c": { + "address": "0xbF1a988d2ea9dc812CA57BA55E1cB8Df024309f4", + "txHash": "0x4a5051082d1445aedb932b9720b6512cec1a94802ee540370b48fd99b4b5cf31", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_name", + "offset": 0, + "slot": "151", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:25" + }, + { + "label": "_symbol", + "offset": 0, + "slot": "152", + "type": "t_string_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:28" + }, + { + "label": "_owners", + "offset": 0, + "slot": "153", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:31" + }, + { + "label": "_balances", + "offset": 0, + "slot": "154", + "type": "t_mapping(t_address,t_uint256)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:34" + }, + { + "label": "_tokenApprovals", + "offset": 0, + "slot": "155", + "type": "t_mapping(t_uint256,t_address)", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:37" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "156", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:40" + }, + { + "label": "__gap", + "offset": 0, + "slot": "157", + "type": "t_array(t_uint256)44_storage", + "contract": "ERC721Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC721/ERC721Upgradeable.sol:517" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "_nftContractCap", + "offset": 0, + "slot": "256", + "type": "t_uint256", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:18" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "257", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:20" + }, + { + "label": "_counterMinted", + "offset": 0, + "slot": "258", + "type": "t_struct(Counter)8119_storage", + "contract": "NFT721Upgradeable", + "src": "contracts/token/erc721/NFT721Upgradeable.sol:25" + }, + { + "label": "_tokens", + "offset": 0, + "slot": "259", + "type": "t_mapping(t_address,t_array(t_struct(MintedTokens)40799_storage)dyn_storage)", + "contract": "NFT721SubscriptionUpgradeable", + "src": "contracts/token/erc721/NFT721SubscriptionUpgradeable.sol:17" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(MintedTokens)40799_storage)dyn_storage": { + "label": "struct NFT721SubscriptionUpgradeable.MintedTokens[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)44_storage": { + "label": "uint256[44]", + "numberOfBytes": "1408" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_array(t_struct(MintedTokens)40799_storage)dyn_storage)": { + "label": "mapping(address => struct NFT721SubscriptionUpgradeable.MintedTokens[])", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_address)": { + "label": "mapping(uint256 => address)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(Counter)8119_storage": { + "label": "struct CountersUpgradeable.Counter", + "members": [ + { + "label": "_value", + "type": "t_uint256", + "offset": 0, + "slot": "0" + } + ], + "numberOfBytes": "32" + }, + "t_struct(MintedTokens)40799_storage": { + "label": "struct NFT721SubscriptionUpgradeable.MintedTokens", + "members": [ + { + "label": "tokenId", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationBlock", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintBlock", + "type": "t_uint256", + "offset": 0, + "slot": "2" + } + ], + "numberOfBytes": "96" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } + }, + "e5bbd756c7cb1d530a407f372cc5f14df7e829945052521c93791f9158d15ef8": { + "address": "0xf46Ca62a223B2370C825aE023f5fc47e1E7172DD", + "txHash": "0x9c9b47fe9e578014af8a86ea00aaf3f68a8f5807a1b627da9156136b7548b1ab", + "layout": { + "solcVersion": "0.8.17", + "storage": [ + { + "label": "_initialized", + "offset": 0, + "slot": "0", + "type": "t_uint8", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:62", + "retypedFrom": "bool" + }, + { + "label": "_initializing", + "offset": 1, + "slot": "0", + "type": "t_bool", + "contract": "Initializable", + "src": "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol:67" + }, + { + "label": "__gap", + "offset": 0, + "slot": "1", + "type": "t_array(t_uint256)50_storage", + "contract": "ContextUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/ContextUpgradeable.sol:36" + }, + { + "label": "_owner", + "offset": 0, + "slot": "51", + "type": "t_address", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:22" + }, + { + "label": "__gap", + "offset": 0, + "slot": "52", + "type": "t_array(t_uint256)49_storage", + "contract": "OwnableUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol:94" + }, + { + "label": "__gap", + "offset": 0, + "slot": "101", + "type": "t_array(t_uint256)50_storage", + "contract": "ERC165Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/utils/introspection/ERC165Upgradeable.sol:41" + }, + { + "label": "_balances", + "offset": 0, + "slot": "151", + "type": "t_mapping(t_uint256,t_mapping(t_address,t_uint256))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:25" + }, + { + "label": "_operatorApprovals", + "offset": 0, + "slot": "152", + "type": "t_mapping(t_address,t_mapping(t_address,t_bool))", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:28" + }, + { + "label": "_uri", + "offset": 0, + "slot": "153", + "type": "t_string_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:31" + }, + { + "label": "__gap", + "offset": 0, + "slot": "154", + "type": "t_array(t_uint256)47_storage", + "contract": "ERC1155Upgradeable", + "src": "@openzeppelin/contracts-upgradeable/token/ERC1155/ERC1155Upgradeable.sol:528" + }, + { + "label": "_roles", + "offset": 0, + "slot": "201", + "type": "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:61" + }, + { + "label": "__gap", + "offset": 0, + "slot": "202", + "type": "t_array(t_uint256)49_storage", + "contract": "AccessControlUpgradeable", + "src": "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol:259" + }, + { + "label": "_royalties", + "offset": 0, + "slot": "251", + "type": "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:57" + }, + { + "label": "_nftAttributes", + "offset": 0, + "slot": "252", + "type": "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:59" + }, + { + "label": "_expiration", + "offset": 0, + "slot": "253", + "type": "t_mapping(t_address,t_uint256)", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:63" + }, + { + "label": "_contractMetadataUri", + "offset": 0, + "slot": "254", + "type": "t_string_storage", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:66" + }, + { + "label": "nvmConfig", + "offset": 0, + "slot": "255", + "type": "t_address", + "contract": "NFTBase", + "src": "contracts/token/NFTBase.sol:68" + }, + { + "label": "name", + "offset": 0, + "slot": "256", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:17" + }, + { + "label": "symbol", + "offset": 0, + "slot": "257", + "type": "t_string_storage", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:20" + }, + { + "label": "nftRegistry", + "offset": 0, + "slot": "258", + "type": "t_contract(IExternalRegistry)26369", + "contract": "NFT1155Upgradeable", + "src": "contracts/token/erc1155/NFT1155Upgradeable.sol:22" + }, + { + "label": "_tokens", + "offset": 0, + "slot": "259", + "type": "t_mapping(t_bytes32,t_array(t_struct(MintedTokens)39446_storage)dyn_storage)", + "contract": "NFT1155SubscriptionUpgradeable", + "src": "contracts/token/erc1155/NFT1155SubscriptionUpgradeable.sol:18" + } + ], + "types": { + "t_address": { + "label": "address", + "numberOfBytes": "20" + }, + "t_array(t_struct(MintedTokens)39446_storage)dyn_storage": { + "label": "struct NFT1155SubscriptionUpgradeable.MintedTokens[]", + "numberOfBytes": "32" + }, + "t_array(t_uint256)47_storage": { + "label": "uint256[47]", + "numberOfBytes": "1504" + }, + "t_array(t_uint256)49_storage": { + "label": "uint256[49]", + "numberOfBytes": "1568" + }, + "t_array(t_uint256)50_storage": { + "label": "uint256[50]", + "numberOfBytes": "1600" + }, + "t_bool": { + "label": "bool", + "numberOfBytes": "1" + }, + "t_bytes32": { + "label": "bytes32", + "numberOfBytes": "32" + }, + "t_contract(IExternalRegistry)26369": { + "label": "contract IExternalRegistry", + "numberOfBytes": "20" + }, + "t_mapping(t_address,t_bool)": { + "label": "mapping(address => bool)", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_mapping(t_address,t_bool))": { + "label": "mapping(address => mapping(address => bool))", + "numberOfBytes": "32" + }, + "t_mapping(t_address,t_uint256)": { + "label": "mapping(address => uint256)", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_array(t_struct(MintedTokens)39446_storage)dyn_storage)": { + "label": "mapping(bytes32 => struct NFT1155SubscriptionUpgradeable.MintedTokens[])", + "numberOfBytes": "32" + }, + "t_mapping(t_bytes32,t_struct(RoleData)2646_storage)": { + "label": "mapping(bytes32 => struct AccessControlUpgradeable.RoleData)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_mapping(t_address,t_uint256))": { + "label": "mapping(uint256 => mapping(address => uint256))", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(NFTAttributes)39065_storage)": { + "label": "mapping(uint256 => struct NFTBase.NFTAttributes)", + "numberOfBytes": "32" + }, + "t_mapping(t_uint256,t_struct(RoyaltyInfo)39056_storage)": { + "label": "mapping(uint256 => struct NFTBase.RoyaltyInfo)", + "numberOfBytes": "32" + }, + "t_string_storage": { + "label": "string", + "numberOfBytes": "32" + }, + "t_struct(MintedTokens)39446_storage": { + "label": "struct NFT1155SubscriptionUpgradeable.MintedTokens", + "members": [ + { + "label": "amountMinted", + "type": "t_uint256", + "offset": 0, + "slot": "0" + }, + { + "label": "expirationBlock", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintBlock", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "isMintOps", + "type": "t_bool", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(NFTAttributes)39065_storage": { + "label": "struct NFTBase.NFTAttributes", + "members": [ + { + "label": "nftInitialized", + "type": "t_bool", + "offset": 0, + "slot": "0" + }, + { + "label": "nftSupply", + "type": "t_uint256", + "offset": 0, + "slot": "1" + }, + { + "label": "mintCap", + "type": "t_uint256", + "offset": 0, + "slot": "2" + }, + { + "label": "nftURI", + "type": "t_string_storage", + "offset": 0, + "slot": "3" + } + ], + "numberOfBytes": "128" + }, + "t_struct(RoleData)2646_storage": { + "label": "struct AccessControlUpgradeable.RoleData", + "members": [ + { + "label": "members", + "type": "t_mapping(t_address,t_bool)", + "offset": 0, + "slot": "0" + }, + { + "label": "adminRole", + "type": "t_bytes32", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_struct(RoyaltyInfo)39056_storage": { + "label": "struct NFTBase.RoyaltyInfo", + "members": [ + { + "label": "receiver", + "type": "t_address", + "offset": 0, + "slot": "0" + }, + { + "label": "royaltyAmount", + "type": "t_uint256", + "offset": 0, + "slot": "1" + } + ], + "numberOfBytes": "64" + }, + "t_uint256": { + "label": "uint256", + "numberOfBytes": "32" + }, + "t_uint8": { + "label": "uint8", + "numberOfBytes": "1" + } + }, + "namespaces": {} + } } } } From b2d7ecb7c634dcc0dacd2acedef1fc0fea98637e Mon Sep 17 00:00:00 2001 From: Aitor <1726644+aaitor@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:15:50 +0100 Subject: [PATCH 3/5] fix: pending adjustments --- scripts/deploy/artifacts.js | 7 +++++-- scripts/deploy/initializeContracts.js | 10 ++-------- scripts/deploy/upgradePlonkVerifier.js | 17 ++++++++++++----- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/scripts/deploy/artifacts.js b/scripts/deploy/artifacts.js index c848fc78..ad99a30c 100644 --- a/scripts/deploy/artifacts.js +++ b/scripts/deploy/artifacts.js @@ -41,12 +41,14 @@ function createArtifact( version, libraries ) { + const _impAddress = implementationAddress instanceof Object ? implementationAddress.address : implementationAddress + const _proxyAddress = proxyAddress instanceof Object ? proxyAddress.address : proxyAddress return { name, abi: generateFunctionSignaturesInABI(contract.abi), bytecode: contract.bytecode, - address: proxyAddress, - implementation: implementationAddress, + address: _proxyAddress, + implementation: _impAddress, version, libraries } @@ -133,6 +135,7 @@ async function deployLibrary(name, addresses, signer) { } } +// returns either the address from the address book or the address of the manual set proxies function resolveAddress(contractName, addressBook, proxies = undefined) { let address = addressBook[contractName] || proxies[contractName] if (address instanceof Object) { address = address.address } diff --git a/scripts/deploy/initializeContracts.js b/scripts/deploy/initializeContracts.js index 7fe86c6b..ebd0aa58 100644 --- a/scripts/deploy/initializeContracts.js +++ b/scripts/deploy/initializeContracts.js @@ -145,14 +145,8 @@ async function initializeContracts({ console.log('NVM Config: [marketplaceFee] = ' + configMarketplaceFee) console.log('NVM Config: [feeReceiver] = ' + configFeeReceiver) - // returns either the address from the address book or the address of the manual set proxies - // const getAddress = (contract) => { - // let address = addressBook[contract] || proxies[contract] - // if (address instanceof Object) - // address = address.address - // console.log(`getAddress :: ${contract} = ${address}`) - // return address - // } + + addressBook.NeverminedConfig = await zosCreate({ contract: 'NeverminedConfig', diff --git a/scripts/deploy/upgradePlonkVerifier.js b/scripts/deploy/upgradePlonkVerifier.js index 55bdfb69..581dfa9a 100644 --- a/scripts/deploy/upgradePlonkVerifier.js +++ b/scripts/deploy/upgradePlonkVerifier.js @@ -2,6 +2,9 @@ const { web3, ethers } = require('hardhat') const { readArtifact, exportLibraryArtifact } = require('./artifacts') const { loadWallet } = require('./wallets') +const DEPLOY_AAVE = process.env.DEPLOY_AAVE === 'true' + + async function deployLibrary(c, verbose) { const afact = readArtifact(c) const factory = await ethers.getContractFactory(c, { libraries: afact.libraries }) @@ -35,13 +38,17 @@ async function main() { if (verbose) { console.log(`setting dispute manager to ${plonkAddress}`) } - await callContract('AccessProofCondition', roles, c => c.changeDisputeManager(plonkAddress)) - const vaultAddress = await deployLibrary('AaveCreditVault', verbose) - if (verbose) { - console.log(`setting aave credit vault to ${vaultAddress}`) + if (DEPLOY_AAVE) { + await callContract('AccessProofCondition', roles, c => c.changeDisputeManager(plonkAddress)) + + const vaultAddress = await deployLibrary('AaveCreditVault', verbose) + if (verbose) { + console.log(`setting aave credit vault to ${vaultAddress}`) + } + await callContract('AaveCreditTemplate', roles, c => c.changeCreditVaultLibrary(vaultAddress)) } - await callContract('AaveCreditTemplate', roles, c => c.changeCreditVaultLibrary(vaultAddress)) + } main() From 114861cbf854eb1958ddb438552dc7bde803aa23 Mon Sep 17 00:00:00 2001 From: Aitor <1726644+aaitor@users.noreply.github.com> Date: Mon, 30 Oct 2023 14:18:56 +0100 Subject: [PATCH 4/5] chore: linting --- scripts/deploy/initializeContracts.js | 3 --- scripts/deploy/upgradePlonkVerifier.js | 4 +--- 2 files changed, 1 insertion(+), 6 deletions(-) diff --git a/scripts/deploy/initializeContracts.js b/scripts/deploy/initializeContracts.js index ebd0aa58..afe69741 100644 --- a/scripts/deploy/initializeContracts.js +++ b/scripts/deploy/initializeContracts.js @@ -145,9 +145,6 @@ async function initializeContracts({ console.log('NVM Config: [marketplaceFee] = ' + configMarketplaceFee) console.log('NVM Config: [feeReceiver] = ' + configFeeReceiver) - - - addressBook.NeverminedConfig = await zosCreate({ contract: 'NeverminedConfig', ctx, diff --git a/scripts/deploy/upgradePlonkVerifier.js b/scripts/deploy/upgradePlonkVerifier.js index 581dfa9a..ac60bbe6 100644 --- a/scripts/deploy/upgradePlonkVerifier.js +++ b/scripts/deploy/upgradePlonkVerifier.js @@ -4,7 +4,6 @@ const { loadWallet } = require('./wallets') const DEPLOY_AAVE = process.env.DEPLOY_AAVE === 'true' - async function deployLibrary(c, verbose) { const afact = readArtifact(c) const factory = await ethers.getContractFactory(c, { libraries: afact.libraries }) @@ -39,7 +38,7 @@ async function main() { console.log(`setting dispute manager to ${plonkAddress}`) } - if (DEPLOY_AAVE) { + if (DEPLOY_AAVE) { await callContract('AccessProofCondition', roles, c => c.changeDisputeManager(plonkAddress)) const vaultAddress = await deployLibrary('AaveCreditVault', verbose) @@ -48,7 +47,6 @@ async function main() { } await callContract('AaveCreditTemplate', roles, c => c.changeCreditVaultLibrary(vaultAddress)) } - } main() From 64e1ded40f8d41d15220a55741ded37c4cf1c826 Mon Sep 17 00:00:00 2001 From: Aitor <1726644+aaitor@users.noreply.github.com> Date: Tue, 31 Oct 2023 10:24:42 +0100 Subject: [PATCH 5/5] chore: approving templates in all iterations --- scripts/deploy/setupContracts.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/scripts/deploy/setupContracts.js b/scripts/deploy/setupContracts.js index 20820e35..83c65e2f 100644 --- a/scripts/deploy/setupContracts.js +++ b/scripts/deploy/setupContracts.js @@ -34,7 +34,6 @@ async function approveTemplate({ } async function setupTemplate({ verbose, TemplateStoreManagerInstance, templateName, addressBook, roles } = {}) { -// const templateAddress = addressBook[templateName] instanceof Object ? addressBook[templateName].address : addressBook[templateName] const templateAddress = resolveAddress(templateName, addressBook) console.log(` setupTemplate :: ${templateName} :: ${templateAddress}`) @@ -132,11 +131,11 @@ async function setupContracts({ if (!addresses.stage) { addresses.stage = 0 } - if (addressBook.TemplateStoreManager && addresses.stage < 1) { + if (addressBook.TemplateStoreManager) { // && addresses.stage < 1) { // Temporary change to validate templates in all the iterations const TemplateStoreManagerInstance = artifacts.TemplateStoreManager const templates = Object.keys(addressBook).filter(a => a.match(/Template$/)) - + console.log(`Templates Found: ${JSON.stringify(templates)}`) for (const templateName of templates) { console.log(`Setting up template: ${templateName}`) await setupTemplate({