UNPKG

@ensuro/core

Version:

Ensuro - Decentralized insurance protocol

458 lines (457 loc) 21.2 kB
{ "_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": {} }