@ensuro/core
Version:
Ensuro - Decentralized insurance protocol
458 lines (457 loc) • 21.2 kB
JSON
{
"_format": "hh-sol-artifact-1",
"contractName": "PolicyHolderMock",
"sourceName": "contracts/mocks/PolicyHolderMock.sol",
"abi": [
{
"inputs": [],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"anonymous": false,
"inputs": [
{
"indexed": false,
"internalType": "enum PolicyHolderMock.NotificationKind",
"name": "kind",
"type": "uint8"
},
{
"indexed": false,
"internalType": "uint256",
"name": "policyId",
"type": "uint256"
},
{
"indexed": false,
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"indexed": false,
"internalType": "address",
"name": "from",
"type": "address"
}
],
"name": "NotificationReceived",
"type": "event"
},
{
"inputs": [],
"name": "badlyImplemented",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "badlyImplementedReplace",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "emptyRevert",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "fail",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "failReplace",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "noERC165",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "noV2",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "notImplemented",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "policyId_",
"type": "uint256"
},
{
"internalType": "bytes",
"name": "",
"type": "bytes"
}
],
"name": "onERC721Received",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "policyId_",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "onPayoutReceived",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "policyId_",
"type": "uint256"
}
],
"name": "onPolicyExpired",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "operator",
"type": "address"
},
{
"internalType": "address",
"name": "from",
"type": "address"
},
{
"internalType": "uint256",
"name": "oldPolicyId",
"type": "uint256"
},
{
"internalType": "uint256",
"name": "newPolicyId",
"type": "uint256"
}
],
"name": "onPolicyReplaced",
"outputs": [
{
"internalType": "bytes4",
"name": "",
"type": "bytes4"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "payout",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "policyId",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "badlyImplemented_",
"type": "bool"
}
],
"name": "setBadlyImplemented",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "badlyImplementedReplace_",
"type": "bool"
}
],
"name": "setBadlyImplementedReplace",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "emptyRevert_",
"type": "bool"
}
],
"name": "setEmptyRevert",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "fail_",
"type": "bool"
}
],
"name": "setFail",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "failReplace_",
"type": "bool"
}
],
"name": "setFailReplace",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "noERC165_",
"type": "bool"
}
],
"name": "setNoERC165",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "noV2_",
"type": "bool"
}
],
"name": "setNoV2",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "bool",
"name": "notImplemented_",
"type": "bool"
}
],
"name": "setNotImplemented",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "uint256",
"name": "spendGasCount_",
"type": "uint256"
}
],
"name": "setSpendGasCount",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "spendGasCount",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "bytes4",
"name": "interfaceId",
"type": "bytes4"
}
],
"name": "supportsInterface",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "view",
"type": "function"
}
],
"bytecode": "0x6080604052348015600e575f5ffd5b506002805466ff00ffffff00ff191690555f196001555f600355610b6a806100355f395ff3fe608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806375d475f9116100d9578063bcce539911610093578063d99ba4081161006e578063d99ba408146103f6578063e8e617b71461040c578063ee89ef3a1461041f578063f57c302e14610427575f5ffd5b8063bcce5399146103ba578063c3af904e146103ce578063d6281d3e146103e3575f5ffd5b806375d475f91461030b5780637806ce811461033b5780639568ca0f1461034e5780639d76940214610360578063a9cc471814610381578063aeec8f9d1461038e575f5ffd5b806331ca29441161012a57806331ca294414610260578063352870141461028a5780635177cd131461029e5780635ee0c7dd146102ce57806363bd1d4a146102e15780636db65619146102f8575f5ffd5b806301ffc9a7146101715780630dc13e9914610199578063150b7a02146101ad578063286ee351146101d95780632bb2adb3146102035780632fb6436214610231575b5f5ffd5b61018461017f36600461092a565b610430565b60405190151581526020015b60405180910390f35b60025461018490600160381b900460ff1681565b6101c06101bb36600461096c565b6104c6565b6040516001600160e01b03199091168152602001610190565b6102016101e7366004610a01565b600280549115156101000261ff0019909216919091179055565b005b610201610211366004610a01565b600280549115156401000000000264ff0000000019909216919091179055565b61020161023f366004610a01565b60028054911515600160301b0266ff00000000000019909216919091179055565b61020161026e366004610a01565b60028054911515620100000262ff000019909216919091179055565b600254610184906301000000900460ff1681565b6102016102ac366004610a01565b60028054911515650100000000000265ff000000000019909216919091179055565b6101c06102dc366004610a20565b6105b9565b6102ea60015481565b604051908152602001610190565b6002546101849062010000900460ff1681565b610201610319366004610a01565b60028054911515600160381b0267ff0000000000000019909216919091179055565b610201610349366004610a5f565b600355565b60025461018490610100900460ff1681565b61020161036e366004610a01565b6002805460ff1916911515919091179055565b6002546101849060ff1681565b61020161039c366004610a01565b6002805491151563010000000263ff00000019909216919091179055565b60025461018490600160301b900460ff1681565b60025461018490640100000000900460ff1681565b6101c06103f1366004610a20565b61071e565b6002546101849065010000000000900460ff1681565b6101c061041a366004610a76565b61080a565b6102ea5f5481565b6102ea60035481565b6002545f90600160301b900460ff1615610448575f5ffd5b6002546301000000900460ff161561046157505f919050565b6001600160e01b03198216633ece0a8960e01b14806104a55750600254600160381b900460ff161580156104a557506001600160e01b03198216635ee0c7dd60e01b145b806104c057506001600160e01b031982166301ffc9a760e01b145b92915050565b6002545f9060ff161561054b5760025462010000900460ff16156104e8575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e45524337323152656365697665643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b60648201526084015b60405180910390fd5b5f8481555f196001556040515f516020610b155f395f51905f52916105759187908a908a90610ab0565b60405180910390a1600254640100000000900460ff161561059e5750630badf00d60e01b6105b0565b6105a66108f6565b50630a85bd0160e11b5b95945050505050565b6002545f90600160381b900460ff161561062a5760405162461bcd60e51b815260206004820152602c60248201527f53686f756c646e27742063616c6c2074686973206d6574686f6420696620563260448201526b081b9bdd08195b98589b195960a21b6064820152608401610542565b600254610100900460ff16156106ad5760025462010000900460ff161561064f575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e506f6c6963795265706c616365643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b6064820152608401610542565b5f83905560018290556040515f516020610b155f395f51905f52906106da90600390869089908990610ab0565b60405180910390a160025465010000000000900460ff16156107045750630badf00d60e01b610716565b61070c6108f6565b50635ee0c7dd60e01b5b949350505050565b6002545f9060ff161561079e5760025462010000900460ff1615610740575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e5061796f757452656365697665643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b6064820152608401610542565b5f83905560018281556040515f516020610b155f395f51905f52916107c891869089908990610ab0565b60405180910390a1600254640100000000900460ff16156107f15750630badf00d60e01b610716565b6107f96108f6565b50636b140e9f60e11b949350505050565b6002545f9060ff16156108895760025462010000900460ff161561082c575f5ffd5b60405162461bcd60e51b815260206004820152602c60248201527f6f6e506f6c696379457870697265643a205468657920746f6c64206d6520492060448201526b1a185d99481d1bc819985a5b60a21b6064820152608401610542565b5f8281556001556040515f516020610b155f395f51905f52906108b490600290859088908890610ab0565b60405180910390a1600254640100000000900460ff16156108dd5750630badf00d60e01b6108ef565b6108e56108f6565b5063e8e617b760e01b5b9392505050565b5f5b6003548110156109275761090d816001610af5565b61091e61091b836064610af5565b90565b556001016108f8565b50565b5f6020828403121561093a575f5ffd5b81356001600160e01b0319811681146108ef575f5ffd5b80356001600160a01b0381168114610967575f5ffd5b919050565b5f5f5f5f5f60808688031215610980575f5ffd5b61098986610951565b945061099760208701610951565b935060408601359250606086013567ffffffffffffffff8111156109b9575f5ffd5b8601601f810188136109c9575f5ffd5b803567ffffffffffffffff8111156109df575f5ffd5b8860208284010111156109f0575f5ffd5b959894975092955050506020019190565b5f60208284031215610a11575f5ffd5b813580151581146108ef575f5ffd5b5f5f5f5f60808587031215610a33575f5ffd5b610a3c85610951565b9350610a4a60208601610951565b93969395505050506040820135916060013590565b5f60208284031215610a6f575f5ffd5b5035919050565b5f5f5f60608486031215610a88575f5ffd5b610a9184610951565b9250610a9f60208501610951565b929592945050506040919091013590565b6080810160048610610ad057634e487b7160e01b5f52602160045260245ffd5b94815260208101939093526001600160a01b0391821660408401521660609091015290565b808201808211156104c057634e487b7160e01b5f52601160045260245ffdfecb6442f1752a34d49fd946725ee915eae9914b3fe3f3193b98232c772393e7c5a264697066735822122035daeb15837aafe20f221941736d87414daac6b3bbf21bb77fec1870e9183c9b64736f6c634300081c0033",
"deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061016d575f3560e01c806375d475f9116100d9578063bcce539911610093578063d99ba4081161006e578063d99ba408146103f6578063e8e617b71461040c578063ee89ef3a1461041f578063f57c302e14610427575f5ffd5b8063bcce5399146103ba578063c3af904e146103ce578063d6281d3e146103e3575f5ffd5b806375d475f91461030b5780637806ce811461033b5780639568ca0f1461034e5780639d76940214610360578063a9cc471814610381578063aeec8f9d1461038e575f5ffd5b806331ca29441161012a57806331ca294414610260578063352870141461028a5780635177cd131461029e5780635ee0c7dd146102ce57806363bd1d4a146102e15780636db65619146102f8575f5ffd5b806301ffc9a7146101715780630dc13e9914610199578063150b7a02146101ad578063286ee351146101d95780632bb2adb3146102035780632fb6436214610231575b5f5ffd5b61018461017f36600461092a565b610430565b60405190151581526020015b60405180910390f35b60025461018490600160381b900460ff1681565b6101c06101bb36600461096c565b6104c6565b6040516001600160e01b03199091168152602001610190565b6102016101e7366004610a01565b600280549115156101000261ff0019909216919091179055565b005b610201610211366004610a01565b600280549115156401000000000264ff0000000019909216919091179055565b61020161023f366004610a01565b60028054911515600160301b0266ff00000000000019909216919091179055565b61020161026e366004610a01565b60028054911515620100000262ff000019909216919091179055565b600254610184906301000000900460ff1681565b6102016102ac366004610a01565b60028054911515650100000000000265ff000000000019909216919091179055565b6101c06102dc366004610a20565b6105b9565b6102ea60015481565b604051908152602001610190565b6002546101849062010000900460ff1681565b610201610319366004610a01565b60028054911515600160381b0267ff0000000000000019909216919091179055565b610201610349366004610a5f565b600355565b60025461018490610100900460ff1681565b61020161036e366004610a01565b6002805460ff1916911515919091179055565b6002546101849060ff1681565b61020161039c366004610a01565b6002805491151563010000000263ff00000019909216919091179055565b60025461018490600160301b900460ff1681565b60025461018490640100000000900460ff1681565b6101c06103f1366004610a20565b61071e565b6002546101849065010000000000900460ff1681565b6101c061041a366004610a76565b61080a565b6102ea5f5481565b6102ea60035481565b6002545f90600160301b900460ff1615610448575f5ffd5b6002546301000000900460ff161561046157505f919050565b6001600160e01b03198216633ece0a8960e01b14806104a55750600254600160381b900460ff161580156104a557506001600160e01b03198216635ee0c7dd60e01b145b806104c057506001600160e01b031982166301ffc9a760e01b145b92915050565b6002545f9060ff161561054b5760025462010000900460ff16156104e8575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e45524337323152656365697665643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b60648201526084015b60405180910390fd5b5f8481555f196001556040515f516020610b155f395f51905f52916105759187908a908a90610ab0565b60405180910390a1600254640100000000900460ff161561059e5750630badf00d60e01b6105b0565b6105a66108f6565b50630a85bd0160e11b5b95945050505050565b6002545f90600160381b900460ff161561062a5760405162461bcd60e51b815260206004820152602c60248201527f53686f756c646e27742063616c6c2074686973206d6574686f6420696620563260448201526b081b9bdd08195b98589b195960a21b6064820152608401610542565b600254610100900460ff16156106ad5760025462010000900460ff161561064f575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e506f6c6963795265706c616365643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b6064820152608401610542565b5f83905560018290556040515f516020610b155f395f51905f52906106da90600390869089908990610ab0565b60405180910390a160025465010000000000900460ff16156107045750630badf00d60e01b610716565b61070c6108f6565b50635ee0c7dd60e01b5b949350505050565b6002545f9060ff161561079e5760025462010000900460ff1615610740575f5ffd5b60405162461bcd60e51b815260206004820152602d60248201527f6f6e5061796f757452656365697665643a205468657920746f6c64206d65204960448201526c081a185d99481d1bc819985a5b609a1b6064820152608401610542565b5f83905560018281556040515f516020610b155f395f51905f52916107c891869089908990610ab0565b60405180910390a1600254640100000000900460ff16156107f15750630badf00d60e01b610716565b6107f96108f6565b50636b140e9f60e11b949350505050565b6002545f9060ff16156108895760025462010000900460ff161561082c575f5ffd5b60405162461bcd60e51b815260206004820152602c60248201527f6f6e506f6c696379457870697265643a205468657920746f6c64206d6520492060448201526b1a185d99481d1bc819985a5b60a21b6064820152608401610542565b5f8281556001556040515f516020610b155f395f51905f52906108b490600290859088908890610ab0565b60405180910390a1600254640100000000900460ff16156108dd5750630badf00d60e01b6108ef565b6108e56108f6565b5063e8e617b760e01b5b9392505050565b5f5b6003548110156109275761090d816001610af5565b61091e61091b836064610af5565b90565b556001016108f8565b50565b5f6020828403121561093a575f5ffd5b81356001600160e01b0319811681146108ef575f5ffd5b80356001600160a01b0381168114610967575f5ffd5b919050565b5f5f5f5f5f60808688031215610980575f5ffd5b61098986610951565b945061099760208701610951565b935060408601359250606086013567ffffffffffffffff8111156109b9575f5ffd5b8601601f810188136109c9575f5ffd5b803567ffffffffffffffff8111156109df575f5ffd5b8860208284010111156109f0575f5ffd5b959894975092955050506020019190565b5f60208284031215610a11575f5ffd5b813580151581146108ef575f5ffd5b5f5f5f5f60808587031215610a33575f5ffd5b610a3c85610951565b9350610a4a60208601610951565b93969395505050506040820135916060013590565b5f60208284031215610a6f575f5ffd5b5035919050565b5f5f5f60608486031215610a88575f5ffd5b610a9184610951565b9250610a9f60208501610951565b929592945050506040919091013590565b6080810160048610610ad057634e487b7160e01b5f52602160045260245ffd5b94815260208101939093526001600160a01b0391821660408401521660609091015290565b808201808211156104c057634e487b7160e01b5f52601160045260245ffdfecb6442f1752a34d49fd946725ee915eae9914b3fe3f3193b98232c772393e7c5a264697066735822122035daeb15837aafe20f221941736d87414daac6b3bbf21bb77fec1870e9183c9b64736f6c634300081c0033",
"linkReferences": {},
"deployedLinkReferences": {}
}