standard-contract-registry
Version:
Contract that use the Transparent Upgradeable model (openzeppelin) to keep a registry of the current deployed contracts, their types and versions
318 lines (317 loc) • 7.11 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "IContractRegistry",
"sourceName": "contracts/interfaces/IContractRegistry.sol",
"abi": [
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "oldAdmin",
"type": "address"
},
{
"indexed": true,
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "AdminChanged",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "bytes",
"name": "oldExtraData",
"type": "bytes"
},
{
"indexed": true,
"internalType": "bytes",
"name": "newExtraData",
"type": "bytes"
}
],
"name": "ExtraDataUpdated",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "address",
"name": "proxy",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"indexed": true,
"internalType": "uint16",
"name": "version",
"type": "uint16"
},
{
"indexed": false,
"internalType": "bytes32",
"name": "logicCodeHash",
"type": "bytes32"
}
],
"name": "NewRecord",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
}
],
"name": "changeRegisteredAdmin",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "newExtraData",
"type": "bytes"
}
],
"name": "editExtraData",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "getMyRecords",
"outputs": [
{
"internalType": "bytes32[]",
"name": "latestRecords",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "uint16",
"name": "version",
"type": "uint16"
}
],
"name": "getRecord",
"outputs": [
{
"internalType": "bool",
"name": "found",
"type": "bool"
},
{
"components": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "address",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
},
{
"internalType": "uint16",
"name": "version",
"type": "uint16"
},
{
"internalType": "bytes32",
"name": "logicCodeHash",
"type": "bytes32"
},
{
"internalType": "bytes",
"name": "extraData",
"type": "bytes"
},
{
"internalType": "uint256",
"name": "timestamp",
"type": "uint256"
}
],
"internalType": "struct ContractRecord",
"name": "record",
"type": "tuple"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "getSystemRecords",
"outputs": [
{
"internalType": "bytes32[]",
"name": "latestRecords",
"type": "bytes32[]"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "address",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"internalType": "uint16",
"name": "version",
"type": "uint16"
},
{
"internalType": "bytes32",
"name": "logicCodeHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"name": "register",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "name",
"type": "bytes32"
},
{
"internalType": "address",
"name": "proxy",
"type": "address"
},
{
"internalType": "address",
"name": "logic",
"type": "address"
},
{
"internalType": "address",
"name": "newAdmin",
"type": "address"
},
{
"internalType": "uint16",
"name": "version",
"type": "uint16"
},
{
"internalType": "bytes32",
"name": "logicCodeHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "admin",
"type": "address"
}
],
"name": "update",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
],
"bytecode": "0x",
"deployedBytecode": "0x",
"linkReferences": {},
"deployedLinkReferences": {}
}