@secure-ci/core
Version:
Smart contracts for the Secure Contract Interaction protocol
218 lines (217 loc) • 18.4 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PublicListVerifier",
"sourceName": "contracts/Verifiers/PublicListVerifier.sol",
"abi": [
{
"inputs": [
{
"internalType": "address",
"name": "_registry",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
},
{
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
}
],
"name": "AccountIsNotDomainOwner",
"type": "error"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "msgSender",
"type": "address"
}
],
"name": "AddressAdded",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"indexed": true,
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
},
{
"indexed": true,
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "msgSender",
"type": "address"
}
],
"name": "AddressRemoved",
"type": "event"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"internalType": "address[]",
"name": "contractAddresses",
"type": "address[]"
},
{
"internalType": "uint256[][]",
"name": "chainIds",
"type": "uint256[][]"
}
],
"name": "addAddresses",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"name": "isVerified",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "registry",
"outputs": [
{
"internalType": "contract ISciRegistry",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"internalType": "address[]",
"name": "contractAddresses",
"type": "address[]"
},
{
"internalType": "uint256[][]",
"name": "chainIds",
"type": "uint256[][]"
}
],
"name": "removeAddresses",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes32",
"name": "domainHash",
"type": "bytes32"
},
{
"internalType": "address",
"name": "contractAddress",
"type": "address"
},
{
"internalType": "uint256",
"name": "chainId",
"type": "uint256"
}
],
"name": "verifiedContracts",
"outputs": [
{
"internalType": "uint256",
"name": "registerTimestamp",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x60a060405234801561001057600080fd5b50604051610ddf380380610ddf833981810160405281019061003291906100d1565b808073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff168152505050506100fe565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061009e82610073565b9050919050565b6100ae81610093565b81146100b957600080fd5b50565b6000815190506100cb816100a5565b92915050565b6000602082840312156100e7576100e661006e565b5b60006100f5848285016100bc565b91505092915050565b608051610cbf6101206000396000818161044501526106740152610cbf6000f3fe608060405234801561001057600080fd5b50600436106100575760003560e01c8063046852d01461005c5780630f59a4981461008c57806379fb477a146100a85780637b103999146100d857806382ef31d9146100f6575b600080fd5b6100766004803603810190610071919061083e565b610112565b60405161008391906108a0565b60405180910390f35b6100a660048036038101906100a19190610976565b61022a565b005b6100c260048036038101906100bd919061083e565b610411565b6040516100cf91906108a0565b60405180910390f35b6100e0610443565b6040516100ed9190610a6a565b60405180910390f35b610110600480360381019061010b9190610976565b610467565b005b60008060008086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020549050600081146101895780915050610223565b60008086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81526020019081526020016000205490506000811461021d5780915050610223565b60009150505b9392505050565b3385610236828261065b565b60005b868690508110156104075760005b85858381811061025a57610259610a85565b5b905060200281019061026c9190610ac3565b90508110156103fb57426000808b815260200190815260200160002060008a8a8681811061029d5761029c610a85565b5b90506020020160208101906102b29190610b26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888681811061030157610300610a85565b5b90506020028101906103139190610ac3565b8581811061032457610323610a85565b5b905060200201358152602001908152602001600020819055508787838181106103505761034f610a85565b5b90506020020160208101906103659190610b26565b73ffffffffffffffffffffffffffffffffffffffff1686868481811061038e5761038d610a85565b5b90506020028101906103a09190610ac3565b838181106103b1576103b0610a85565b5b905060200201358a7fc177490b924686771eb8a2b77bee53e5913e624c90b60207d396f81cfe6e7cd0336040516103e89190610b62565b60405180910390a4806001019050610247565b50806001019050610239565b5050505050505050565b600060205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b3385610473828261065b565b60005b868690508110156106515760005b85858381811061049757610496610a85565b5b90506020028101906104a99190610ac3565b90508110156106455760008060008b815260200190815260200160002060008a8a868181106104db576104da610a85565b5b90506020020160208101906104f09190610b26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888681811061053f5761053e610a85565b5b90506020028101906105519190610ac3565b8581811061056257610561610a85565b5b9050602002013581526020019081526020016000208190555087878381811061058e5761058d610a85565b5b90506020020160208101906105a39190610b26565b73ffffffffffffffffffffffffffffffffffffffff168686848181106105cc576105cb610a85565b5b90506020028101906105de9190610ac3565b838181106105ef576105ee610a85565b5b905060200201358a7f36be184145fbd476ffe0597f987f89d7490b926e334512a42de54749eee25e75336040516106269190610b62565b60405180910390a48060010190508061063e90610bac565b9050610484565b50806001019050610476565b5050505050505050565b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d26cdd20836040518263ffffffff1660e01b81526004016106cb9190610c03565b602060405180830381865afa1580156106e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070c9190610c33565b73ffffffffffffffffffffffffffffffffffffffff16146107665781816040517f2ebb0ef600000000000000000000000000000000000000000000000000000000815260040161075d929190610c60565b60405180910390fd5b5050565b600080fd5b600080fd5b6000819050919050565b61078781610774565b811461079257600080fd5b50565b6000813590506107a48161077e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107d5826107aa565b9050919050565b6107e5816107ca565b81146107f057600080fd5b50565b600081359050610802816107dc565b92915050565b6000819050919050565b61081b81610808565b811461082657600080fd5b50565b60008135905061083881610812565b92915050565b6000806000606084860312156108575761085661076a565b5b600061086586828701610795565b9350506020610876868287016107f3565b925050604061088786828701610829565b9150509250925092565b61089a81610808565b82525050565b60006020820190506108b56000830184610891565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126108e0576108df6108bb565b5b8235905067ffffffffffffffff8111156108fd576108fc6108c0565b5b602083019150836020820283011115610919576109186108c5565b5b9250929050565b60008083601f840112610936576109356108bb565b5b8235905067ffffffffffffffff811115610953576109526108c0565b5b60208301915083602082028301111561096f5761096e6108c5565b5b9250929050565b6000806000806000606086880312156109925761099161076a565b5b60006109a088828901610795565b955050602086013567ffffffffffffffff8111156109c1576109c061076f565b5b6109cd888289016108ca565b9450945050604086013567ffffffffffffffff8111156109f0576109ef61076f565b5b6109fc88828901610920565b92509250509295509295909350565b6000819050919050565b6000610a30610a2b610a26846107aa565b610a0b565b6107aa565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610ae057610adf610ab4565b5b80840192508235915067ffffffffffffffff821115610b0257610b01610ab9565b5b602083019250602082023603831315610b1e57610b1d610abe565b5b509250929050565b600060208284031215610b3c57610b3b61076a565b5b6000610b4a848285016107f3565b91505092915050565b610b5c816107ca565b82525050565b6000602082019050610b776000830184610b53565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bb782610808565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610be957610be8610b7d565b5b600182019050919050565b610bfd81610774565b82525050565b6000602082019050610c186000830184610bf4565b92915050565b600081519050610c2d816107dc565b92915050565b600060208284031215610c4957610c4861076a565b5b6000610c5784828501610c1e565b91505092915050565b6000604082019050610c756000830185610b53565b610c826020830184610bf4565b939250505056fea264697066735822122022c0c17b2cbc5db02001b8e5e67ef586328fbf7d3fe2fa08565b8cdb4fd8e1e764736f6c634300081c0033",
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100575760003560e01c8063046852d01461005c5780630f59a4981461008c57806379fb477a146100a85780637b103999146100d857806382ef31d9146100f6575b600080fd5b6100766004803603810190610071919061083e565b610112565b60405161008391906108a0565b60405180910390f35b6100a660048036038101906100a19190610976565b61022a565b005b6100c260048036038101906100bd919061083e565b610411565b6040516100cf91906108a0565b60405180910390f35b6100e0610443565b6040516100ed9190610a6a565b60405180910390f35b610110600480360381019061010b9190610976565b610467565b005b60008060008086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000848152602001908152602001600020549050600081146101895780915050610223565b60008086815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81526020019081526020016000205490506000811461021d5780915050610223565b60009150505b9392505050565b3385610236828261065b565b60005b868690508110156104075760005b85858381811061025a57610259610a85565b5b905060200281019061026c9190610ac3565b90508110156103fb57426000808b815260200190815260200160002060008a8a8681811061029d5761029c610a85565b5b90506020020160208101906102b29190610b26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888681811061030157610300610a85565b5b90506020028101906103139190610ac3565b8581811061032457610323610a85565b5b905060200201358152602001908152602001600020819055508787838181106103505761034f610a85565b5b90506020020160208101906103659190610b26565b73ffffffffffffffffffffffffffffffffffffffff1686868481811061038e5761038d610a85565b5b90506020028101906103a09190610ac3565b838181106103b1576103b0610a85565b5b905060200201358a7fc177490b924686771eb8a2b77bee53e5913e624c90b60207d396f81cfe6e7cd0336040516103e89190610b62565b60405180910390a4806001019050610247565b50806001019050610239565b5050505050505050565b600060205282600052604060002060205281600052604060002060205280600052604060002060009250925050505481565b7f000000000000000000000000000000000000000000000000000000000000000081565b3385610473828261065b565b60005b868690508110156106515760005b85858381811061049757610496610a85565b5b90506020028101906104a99190610ac3565b90508110156106455760008060008b815260200190815260200160002060008a8a868181106104db576104da610a85565b5b90506020020160208101906104f09190610b26565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600088888681811061053f5761053e610a85565b5b90506020028101906105519190610ac3565b8581811061056257610561610a85565b5b9050602002013581526020019081526020016000208190555087878381811061058e5761058d610a85565b5b90506020020160208101906105a39190610b26565b73ffffffffffffffffffffffffffffffffffffffff168686848181106105cc576105cb610a85565b5b90506020028101906105de9190610ac3565b838181106105ef576105ee610a85565b5b905060200201358a7f36be184145fbd476ffe0597f987f89d7490b926e334512a42de54749eee25e75336040516106269190610b62565b60405180910390a48060010190508061063e90610bac565b9050610484565b50806001019050610476565b5050505050505050565b8173ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663d26cdd20836040518263ffffffff1660e01b81526004016106cb9190610c03565b602060405180830381865afa1580156106e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070c9190610c33565b73ffffffffffffffffffffffffffffffffffffffff16146107665781816040517f2ebb0ef600000000000000000000000000000000000000000000000000000000815260040161075d929190610c60565b60405180910390fd5b5050565b600080fd5b600080fd5b6000819050919050565b61078781610774565b811461079257600080fd5b50565b6000813590506107a48161077e565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006107d5826107aa565b9050919050565b6107e5816107ca565b81146107f057600080fd5b50565b600081359050610802816107dc565b92915050565b6000819050919050565b61081b81610808565b811461082657600080fd5b50565b60008135905061083881610812565b92915050565b6000806000606084860312156108575761085661076a565b5b600061086586828701610795565b9350506020610876868287016107f3565b925050604061088786828701610829565b9150509250925092565b61089a81610808565b82525050565b60006020820190506108b56000830184610891565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126108e0576108df6108bb565b5b8235905067ffffffffffffffff8111156108fd576108fc6108c0565b5b602083019150836020820283011115610919576109186108c5565b5b9250929050565b60008083601f840112610936576109356108bb565b5b8235905067ffffffffffffffff811115610953576109526108c0565b5b60208301915083602082028301111561096f5761096e6108c5565b5b9250929050565b6000806000806000606086880312156109925761099161076a565b5b60006109a088828901610795565b955050602086013567ffffffffffffffff8111156109c1576109c061076f565b5b6109cd888289016108ca565b9450945050604086013567ffffffffffffffff8111156109f0576109ef61076f565b5b6109fc88828901610920565b92509250509295509295909350565b6000819050919050565b6000610a30610a2b610a26846107aa565b610a0b565b6107aa565b9050919050565b6000610a4282610a15565b9050919050565b6000610a5482610a37565b9050919050565b610a6481610a49565b82525050565b6000602082019050610a7f6000830184610a5b565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600080fd5b600080fd5b600080fd5b60008083356001602003843603038112610ae057610adf610ab4565b5b80840192508235915067ffffffffffffffff821115610b0257610b01610ab9565b5b602083019250602082023603831315610b1e57610b1d610abe565b5b509250929050565b600060208284031215610b3c57610b3b61076a565b5b6000610b4a848285016107f3565b91505092915050565b610b5c816107ca565b82525050565b6000602082019050610b776000830184610b53565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000610bb782610808565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203610be957610be8610b7d565b5b600182019050919050565b610bfd81610774565b82525050565b6000602082019050610c186000830184610bf4565b92915050565b600081519050610c2d816107dc565b92915050565b600060208284031215610c4957610c4861076a565b5b6000610c5784828501610c1e565b91505092915050565b6000604082019050610c756000830185610b53565b610c826020830184610bf4565b939250505056fea264697066735822122022c0c17b2cbc5db02001b8e5e67ef586328fbf7d3fe2fa08565b8cdb4fd8e1e764736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}