{
  "_format": "hh-sol-artifact-1",
  "contractName": "DCNTVaultNFT",
  "sourceName": "contracts/DCNTVaultNFT.sol",
  "abi": [
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_DCNTSDK",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "constructor"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": false,
          "internalType": "address",
          "name": "nft",
          "type": "address"
        },
        {
          "indexed": false,
          "internalType": "address",
          "name": "vault",
          "type": "address"
        }
      ],
      "name": "Create",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "internalType": "address",
          "name": "previousOwner",
          "type": "address"
        },
        {
          "indexed": true,
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "OwnershipTransferred",
      "type": "event"
    },
    {
      "inputs": [],
      "name": "DCNT4907AImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DCNT721AImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DCNTCrescendoImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DCNTSeriesImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DCNTStakingImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "DCNTVaultImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "ZKEditionImplementation",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "contractRegistry",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "_DCNTSDK",
          "type": "address"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "name",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "symbol",
              "type": "string"
            },
            {
              "internalType": "bool",
              "name": "hasAdjustableCap",
              "type": "bool"
            },
            {
              "internalType": "bool",
              "name": "isSoulbound",
              "type": "bool"
            },
            {
              "internalType": "uint32",
              "name": "maxTokens",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "maxTokenPurchase",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "presaleStart",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "presaleEnd",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "saleStart",
              "type": "uint32"
            },
            {
              "internalType": "uint32",
              "name": "saleEnd",
              "type": "uint32"
            },
            {
              "internalType": "uint16",
              "name": "royaltyBPS",
              "type": "uint16"
            },
            {
              "internalType": "uint96",
              "name": "tokenPrice",
              "type": "uint96"
            },
            {
              "internalType": "address",
              "name": "feeManager",
              "type": "address"
            },
            {
              "internalType": "address",
              "name": "payoutAddress",
              "type": "address"
            },
            {
              "internalType": "bytes32",
              "name": "presaleMerkleRoot",
              "type": "bytes32"
            }
          ],
          "internalType": "struct EditionConfig",
          "name": "_editionConfig",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "string",
              "name": "contractURI",
              "type": "string"
            },
            {
              "internalType": "string",
              "name": "metadataURI",
              "type": "string"
            },
            {
              "internalType": "bytes",
              "name": "metadataRendererInit",
              "type": "bytes"
            },
            {
              "internalType": "address",
              "name": "parentIP",
              "type": "address"
            }
          ],
          "internalType": "struct MetadataConfig",
          "name": "_metadataConfig",
          "type": "tuple"
        },
        {
          "components": [
            {
              "internalType": "address",
              "name": "tokenAddress",
              "type": "address"
            },
            {
              "internalType": "uint88",
              "name": "minBalance",
              "type": "uint88"
            },
            {
              "internalType": "enum SaleType",
              "name": "saleType",
              "type": "uint8"
            }
          ],
          "internalType": "struct TokenGateConfig",
          "name": "_tokenGateConfig",
          "type": "tuple"
        },
        {
          "internalType": "address",
          "name": "_vaultDistributionTokenAddress",
          "type": "address"
        },
        {
          "internalType": "uint256",
          "name": "_unlockDate",
          "type": "uint256"
        },
        {
          "internalType": "bool",
          "name": "_supports4907",
          "type": "bool"
        }
      ],
      "name": "create",
      "outputs": [
        {
          "internalType": "address",
          "name": "nft",
          "type": "address"
        },
        {
          "internalType": "address",
          "name": "vault",
          "type": "address"
        }
      ],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "metadataRenderer",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "owner",
      "outputs": [
        {
          "internalType": "address",
          "name": "",
          "type": "address"
        }
      ],
      "stateMutability": "view",
      "type": "function"
    },
    {
      "inputs": [],
      "name": "renounceOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "inputs": [
        {
          "internalType": "address",
          "name": "newOwner",
          "type": "address"
        }
      ],
      "name": "transferOwnership",
      "outputs": [],
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x60806040523480156200001157600080fd5b506040516200115638038062001156833981016040819052620000349162000358565b6200003f3362000308565b6000819050806001600160a01b03166310a089136040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000085573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620000ab919062000358565b600160006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316634285656b6040518163ffffffff1660e01b81526004016020604051808303816000875af115801562000112573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000138919062000358565b600260006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b0316639f61dfec6040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200019f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c5919062000358565b600560006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663703199706040518163ffffffff1660e01b81526004016020604051808303816000875af11580156200022c573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000252919062000358565b600860006101000a8154816001600160a01b0302191690836001600160a01b03160217905550806001600160a01b031663abf410e56040518163ffffffff1660e01b81526004016020604051808303816000875af1158015620002b9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002df919062000358565b600980546001600160a01b0319166001600160a01b0392909216919091179055506200038a9050565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6000602082840312156200036b57600080fd5b81516001600160a01b03811681146200038357600080fd5b9392505050565b610dbc806200039a6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063abf410e511610066578063abf410e5146101b1578063ca825bb5146101c4578063d0ae315a146101d7578063f2fde38b146101ea57600080fd5b8063715018a6146101835780638da5cb5b1461018d5780639f61dfec1461019e57600080fd5b806310a08913146100d45780632d11e65e1461010457806339d206f9146101175780633c3b370b1461014a5780634285656b1461015d5780637031997014610170575b600080fd5b6001546100e7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6003546100e7906001600160a01b031681565b61012a6101253660046108b3565b6101fd565b604080516001600160a01b039384168152929091166020830152016100fb565b6006546100e7906001600160a01b031681565b6002546100e7906001600160a01b031681565b6008546100e7906001600160a01b031681565b61018b6104bd565b005b6000546001600160a01b03166100e7565b6005546100e7906001600160a01b031681565b6009546100e7906001600160a01b031681565b6004546100e7906001600160a01b031681565b6007546100e7906001600160a01b031681565b61018b6101f8366004610aa2565b6104d1565b600080600083156102cb576000808b6001600160a01b03168b8b8b60405160240161022a93929190610bc8565b60408051601f198184030181529181526020820180516001600160e01b03166312d1dca160e21b1790525161025f9190610d4d565b600060405180830381855af49150503d806000811461029a576040519150601f19603f3d011682016040523d82523d6000602084013e61029f565b606091505b5091509150816102ae57600080fd5b808060200190518101906102c29190610d69565b9250505061038a565b6000808b6001600160a01b03168b8b8b6040516024016102ed93929190610bc8565b60408051601f198184030181529181526020820180516001600160e01b0316631560517360e01b179052516103229190610d4d565b600060405180830381855af49150503d806000811461035d576040519150601f19603f3d011682016040523d82523d6000602084013e610362565b606091505b50915091508161037157600080fd5b808060200190518101906103859190610d69565b925050505b60808901516040516001600160a01b038881166024830152838116604483015263ffffffff9092166064820152608481018790526000918291908d169060a40160408051601f198184030181529181526020820180516001600160e01b0316630e7ac45f60e31b179052516103ff9190610d4d565b600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b50915091508161044e57600080fd5b6000818060200190518101906104649190610d69565b604080516001600160a01b038088168252831660208201529192507f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a909910160405180910390a1929c929b50919950505050505050505050565b6104c561054f565b6104cf60006105a9565b565b6104d961054f565b6001600160a01b0381166105435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61054c816105a9565b50565b6000546001600160a01b031633146104cf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161053a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461054c57600080fd5b8035610619816105f9565b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff811182821017156106575761065761061e565b60405290565b6040516101e0810167ffffffffffffffff811182821017156106575761065761061e565b600067ffffffffffffffff8084111561069c5761069c61061e565b604051601f8501601f19908116603f011681019082821181831017156106c4576106c461061e565b816040528093508581528686860111156106dd57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261070857600080fd5b61071783833560208501610681565b9392505050565b8035801515811461061957600080fd5b803563ffffffff8116811461061957600080fd5b803561ffff8116811461061957600080fd5b80356bffffffffffffffffffffffff8116811461061957600080fd5b60006080828403121561078257600080fd5b61078a610634565b9050813567ffffffffffffffff808211156107a457600080fd5b6107b0858386016106f7565b835260208401359150808211156107c657600080fd5b6107d2858386016106f7565b602084015260408401359150808211156107eb57600080fd5b508201601f810184136107fd57600080fd5b61080c84823560208401610681565b60408301525061081e6060830161060e565b606082015292915050565b60006060828403121561083b57600080fd5b6040516060810181811067ffffffffffffffff8211171561085e5761085e61061e565b604052905080823561086f816105f9565b815260208301356affffffffffffffffffffff8116811461088f57600080fd5b60208201526040830135600381106108a657600080fd5b6040919091015292915050565b600080600080600080600061012080898b0312156108d057600080fd5b88356108db816105f9565b9750602089013567ffffffffffffffff808211156108f857600080fd5b908a01906101e0828d03121561090d57600080fd5b61091561065d565b82358281111561092457600080fd5b6109308e8286016106f7565b82525060208301358281111561094557600080fd5b6109518e8286016106f7565b6020830152506109636040840161071e565b60408201526109746060840161071e565b60608201526109856080840161072e565b608082015261099660a0840161072e565b60a08201526109a760c0840161072e565b60c08201526109b860e0840161072e565b60e08201526101006109cb81850161072e565b818301526109da85850161072e565b8583015261014094506109ee858501610742565b858301526101609450610a02858501610754565b858301526101809450610a1685850161060e565b858301526101a09450610a2a85850161060e565b858301526101c094508484013585830152819a5060408d0135945082851115610a5257600080fd5b610a5e8e868f01610770565b9950610a6d8e60608f01610829565b9850610a7b60c08e0161060e565b975060e08d01359650610a8f818e0161071e565b9550505050505092959891949750929550565b600060208284031215610ab457600080fd5b8135610717816105f9565b60005b83811015610ada578181015183820152602001610ac2565b50506000910152565b60008151808452610afb816020860160208601610abf565b601f01601f19169290920160200192915050565b6000815160808452610b246080850182610ae3565b905060208301518482036020860152610b3d8282610ae3565b91505060408301518482036040860152610b578282610ae3565b6060948501516001600160a01b03169590940194909452509092915050565b80516001600160a01b031682526020808201516affffffffffffffffffffff1690830152604081015160038110610bbd57634e487b7160e01b600052602160045260246000fd5b806040840152505050565b60a08152600084516101e08060a0850152610be7610280850183610ae3565b91506020870151609f198584030160c0860152610c048382610ae3565b9250506040870151610c1a60e086018215159052565b506060870151610100610c308187018315159052565b60808901519150610120610c4b8188018463ffffffff169052565b60a08a01519250610140610c668189018563ffffffff169052565b60c08b01519350610160610c81818a018663ffffffff169052565b60e08c01519450610180610c9c818b018763ffffffff169052565b938c015194506101a093610cb78a86018763ffffffff169052565b928c015194506101c092610cd28a85018763ffffffff169052565b918c015161ffff1695890195909552938a01516bffffffffffffffffffffffff16610200880152928901516001600160a01b039081166102208801529089015116610240860152508601516102608401528281036020840152610d358186610b0f565b915050610d456040830184610b76565b949350505050565b60008251610d5f818460208701610abf565b9190910192915050565b600060208284031215610d7b57600080fd5b8151610717816105f956fea2646970667358221220e2da63bd2777ab8a5bf53a445935286dd433268d36fe4a0ef14ef4587fd6f06864736f6c63430008110033",
  "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063715018a61161008c578063abf410e511610066578063abf410e5146101b1578063ca825bb5146101c4578063d0ae315a146101d7578063f2fde38b146101ea57600080fd5b8063715018a6146101835780638da5cb5b1461018d5780639f61dfec1461019e57600080fd5b806310a08913146100d45780632d11e65e1461010457806339d206f9146101175780633c3b370b1461014a5780634285656b1461015d5780637031997014610170575b600080fd5b6001546100e7906001600160a01b031681565b6040516001600160a01b0390911681526020015b60405180910390f35b6003546100e7906001600160a01b031681565b61012a6101253660046108b3565b6101fd565b604080516001600160a01b039384168152929091166020830152016100fb565b6006546100e7906001600160a01b031681565b6002546100e7906001600160a01b031681565b6008546100e7906001600160a01b031681565b61018b6104bd565b005b6000546001600160a01b03166100e7565b6005546100e7906001600160a01b031681565b6009546100e7906001600160a01b031681565b6004546100e7906001600160a01b031681565b6007546100e7906001600160a01b031681565b61018b6101f8366004610aa2565b6104d1565b600080600083156102cb576000808b6001600160a01b03168b8b8b60405160240161022a93929190610bc8565b60408051601f198184030181529181526020820180516001600160e01b03166312d1dca160e21b1790525161025f9190610d4d565b600060405180830381855af49150503d806000811461029a576040519150601f19603f3d011682016040523d82523d6000602084013e61029f565b606091505b5091509150816102ae57600080fd5b808060200190518101906102c29190610d69565b9250505061038a565b6000808b6001600160a01b03168b8b8b6040516024016102ed93929190610bc8565b60408051601f198184030181529181526020820180516001600160e01b0316631560517360e01b179052516103229190610d4d565b600060405180830381855af49150503d806000811461035d576040519150601f19603f3d011682016040523d82523d6000602084013e610362565b606091505b50915091508161037157600080fd5b808060200190518101906103859190610d69565b925050505b60808901516040516001600160a01b038881166024830152838116604483015263ffffffff9092166064820152608481018790526000918291908d169060a40160408051601f198184030181529181526020820180516001600160e01b0316630e7ac45f60e31b179052516103ff9190610d4d565b600060405180830381855af49150503d806000811461043a576040519150601f19603f3d011682016040523d82523d6000602084013e61043f565b606091505b50915091508161044e57600080fd5b6000818060200190518101906104649190610d69565b604080516001600160a01b038088168252831660208201529192507f96b5b9b8a7193304150caccf9b80d150675fa3d6af57761d8d8ef1d6f9a1a909910160405180910390a1929c929b50919950505050505050505050565b6104c561054f565b6104cf60006105a9565b565b6104d961054f565b6001600160a01b0381166105435760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b60648201526084015b60405180910390fd5b61054c816105a9565b50565b6000546001600160a01b031633146104cf5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604482015260640161053a565b600080546001600160a01b038381166001600160a01b0319831681178455604051919092169283917f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e09190a35050565b6001600160a01b038116811461054c57600080fd5b8035610619816105f9565b919050565b634e487b7160e01b600052604160045260246000fd5b6040516080810167ffffffffffffffff811182821017156106575761065761061e565b60405290565b6040516101e0810167ffffffffffffffff811182821017156106575761065761061e565b600067ffffffffffffffff8084111561069c5761069c61061e565b604051601f8501601f19908116603f011681019082821181831017156106c4576106c461061e565b816040528093508581528686860111156106dd57600080fd5b858560208301376000602087830101525050509392505050565b600082601f83011261070857600080fd5b61071783833560208501610681565b9392505050565b8035801515811461061957600080fd5b803563ffffffff8116811461061957600080fd5b803561ffff8116811461061957600080fd5b80356bffffffffffffffffffffffff8116811461061957600080fd5b60006080828403121561078257600080fd5b61078a610634565b9050813567ffffffffffffffff808211156107a457600080fd5b6107b0858386016106f7565b835260208401359150808211156107c657600080fd5b6107d2858386016106f7565b602084015260408401359150808211156107eb57600080fd5b508201601f810184136107fd57600080fd5b61080c84823560208401610681565b60408301525061081e6060830161060e565b606082015292915050565b60006060828403121561083b57600080fd5b6040516060810181811067ffffffffffffffff8211171561085e5761085e61061e565b604052905080823561086f816105f9565b815260208301356affffffffffffffffffffff8116811461088f57600080fd5b60208201526040830135600381106108a657600080fd5b6040919091015292915050565b600080600080600080600061012080898b0312156108d057600080fd5b88356108db816105f9565b9750602089013567ffffffffffffffff808211156108f857600080fd5b908a01906101e0828d03121561090d57600080fd5b61091561065d565b82358281111561092457600080fd5b6109308e8286016106f7565b82525060208301358281111561094557600080fd5b6109518e8286016106f7565b6020830152506109636040840161071e565b60408201526109746060840161071e565b60608201526109856080840161072e565b608082015261099660a0840161072e565b60a08201526109a760c0840161072e565b60c08201526109b860e0840161072e565b60e08201526101006109cb81850161072e565b818301526109da85850161072e565b8583015261014094506109ee858501610742565b858301526101609450610a02858501610754565b858301526101809450610a1685850161060e565b858301526101a09450610a2a85850161060e565b858301526101c094508484013585830152819a5060408d0135945082851115610a5257600080fd5b610a5e8e868f01610770565b9950610a6d8e60608f01610829565b9850610a7b60c08e0161060e565b975060e08d01359650610a8f818e0161071e565b9550505050505092959891949750929550565b600060208284031215610ab457600080fd5b8135610717816105f9565b60005b83811015610ada578181015183820152602001610ac2565b50506000910152565b60008151808452610afb816020860160208601610abf565b601f01601f19169290920160200192915050565b6000815160808452610b246080850182610ae3565b905060208301518482036020860152610b3d8282610ae3565b91505060408301518482036040860152610b578282610ae3565b6060948501516001600160a01b03169590940194909452509092915050565b80516001600160a01b031682526020808201516affffffffffffffffffffff1690830152604081015160038110610bbd57634e487b7160e01b600052602160045260246000fd5b806040840152505050565b60a08152600084516101e08060a0850152610be7610280850183610ae3565b91506020870151609f198584030160c0860152610c048382610ae3565b9250506040870151610c1a60e086018215159052565b506060870151610100610c308187018315159052565b60808901519150610120610c4b8188018463ffffffff169052565b60a08a01519250610140610c668189018563ffffffff169052565b60c08b01519350610160610c81818a018663ffffffff169052565b60e08c01519450610180610c9c818b018763ffffffff169052565b938c015194506101a093610cb78a86018763ffffffff169052565b928c015194506101c092610cd28a85018763ffffffff169052565b918c015161ffff1695890195909552938a01516bffffffffffffffffffffffff16610200880152928901516001600160a01b039081166102208801529089015116610240860152508601516102608401528281036020840152610d358186610b0f565b915050610d456040830184610b76565b949350505050565b60008251610d5f818460208701610abf565b9190910192915050565b600060208284031215610d7b57600080fd5b8151610717816105f956fea2646970667358221220e2da63bd2777ab8a5bf53a445935286dd433268d36fe4a0ef14ef4587fd6f06864736f6c63430008110033",
  "linkReferences": {},
  "deployedLinkReferences": {}
}
