UNPKG

@ensuro/core

Version:

Ensuro - Blockchain-based insurance protocol

352 lines (351 loc) 17.5 kB
{ "_format": "hh-sol-artifact-1", "contractName": "FullTrustedUW", "sourceName": "contracts/underwriters/FullTrustedUW.sol", "abi": [ { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "inputData", "type": "bytes" } ], "name": "priceNewPolicy", "outputs": [ { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "lossProb", "type": "uint256" }, { "internalType": "uint40", "name": "expiration", "type": "uint40" }, { "internalType": "uint96", "name": "internalId", "type": "uint96" }, { "components": [ { "internalType": "uint256", "name": "moc", "type": "uint256" }, { "internalType": "uint256", "name": "jrCollRatio", "type": "uint256" }, { "internalType": "uint256", "name": "collRatio", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroPpFee", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroCocFee", "type": "uint256" }, { "internalType": "uint256", "name": "jrRoc", "type": "uint256" }, { "internalType": "uint256", "name": "srRoc", "type": "uint256" } ], "internalType": "struct Policy.Params", "name": "params", "type": "tuple" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "inputData", "type": "bytes" } ], "name": "pricePolicyCancellation", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "jrScr", "type": "uint256" }, { "internalType": "uint256", "name": "srScr", "type": "uint256" }, { "internalType": "uint256", "name": "lossProb", "type": "uint256" }, { "internalType": "uint256", "name": "purePremium", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroCommission", "type": "uint256" }, { "internalType": "uint256", "name": "partnerCommission", "type": "uint256" }, { "internalType": "uint256", "name": "jrCoc", "type": "uint256" }, { "internalType": "uint256", "name": "srCoc", "type": "uint256" }, { "internalType": "uint40", "name": "start", "type": "uint40" }, { "internalType": "uint40", "name": "expiration", "type": "uint40" } ], "internalType": "struct Policy.PolicyData", "name": "policyToCancel", "type": "tuple" }, { "internalType": "uint256", "name": "purePremiumRefund", "type": "uint256" }, { "internalType": "uint256", "name": "jrCocRefund", "type": "uint256" }, { "internalType": "uint256", "name": "srCocRefund", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" }, { "internalType": "bytes", "name": "inputData", "type": "bytes" } ], "name": "pricePolicyReplacement", "outputs": [ { "components": [ { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "jrScr", "type": "uint256" }, { "internalType": "uint256", "name": "srScr", "type": "uint256" }, { "internalType": "uint256", "name": "lossProb", "type": "uint256" }, { "internalType": "uint256", "name": "purePremium", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroCommission", "type": "uint256" }, { "internalType": "uint256", "name": "partnerCommission", "type": "uint256" }, { "internalType": "uint256", "name": "jrCoc", "type": "uint256" }, { "internalType": "uint256", "name": "srCoc", "type": "uint256" }, { "internalType": "uint40", "name": "start", "type": "uint40" }, { "internalType": "uint40", "name": "expiration", "type": "uint40" } ], "internalType": "struct Policy.PolicyData", "name": "oldPolicy", "type": "tuple" }, { "internalType": "uint256", "name": "payout", "type": "uint256" }, { "internalType": "uint256", "name": "premium", "type": "uint256" }, { "internalType": "uint256", "name": "lossProb", "type": "uint256" }, { "internalType": "uint40", "name": "expiration", "type": "uint40" }, { "internalType": "uint96", "name": "internalId", "type": "uint96" }, { "components": [ { "internalType": "uint256", "name": "moc", "type": "uint256" }, { "internalType": "uint256", "name": "jrCollRatio", "type": "uint256" }, { "internalType": "uint256", "name": "collRatio", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroPpFee", "type": "uint256" }, { "internalType": "uint256", "name": "ensuroCocFee", "type": "uint256" }, { "internalType": "uint256", "name": "jrRoc", "type": "uint256" }, { "internalType": "uint256", "name": "srRoc", "type": "uint256" } ], "internalType": "struct Policy.Params", "name": "params", "type": "tuple" } ], "stateMutability": "pure", "type": "function" } ], "bytecode": "0x6080604052348015600e575f5ffd5b506108878061001c5f395ff3fe608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806332f857fa146100435780639ba942d61461006f578063ba097a2a14610095575b5f5ffd5b6100566100513660046102f5565b6100ba565b604051610066949392919061041c565b60405180910390f35b61008261007d3660046102f5565b61012c565b604051610066979695949392919061048d565b6100a86100a33660046102f5565b610199565b604051610066969594939291906104e9565b6100c2610292565b5f80806100d185870187610629565b92965090945092509050600182016100ff576100ec846101f9565b8461010001516100fc9190610678565b91505b5f1981036101235761011084610242565b8461012001516101209190610678565b90505b93509350935093565b610134610292565b5f5f5f5f5f6101726040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61017e888a018a61072c565b96509650965096509650965096509397509397509397909450565b5f5f5f5f5f6101d76040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6101e3878901896107a1565b949e939d50919b50995097509095509350505050565b5f6102038261027b565b64ffffffffff1682610140015164ffffffffff16426102229190610678565b83610100015161023291906107fe565b61023c9190610815565b92915050565b5f61024c8261027b565b64ffffffffff1682610140015164ffffffffff164261026b9190610678565b83610120015161023291906107fe565b5f81610140015182610160015161023c9190610834565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f64ffffffffff1681526020015f64ffffffffff1681525090565b5f5f5f60408486031215610307575f5ffd5b83356001600160a01b038116811461031d575f5ffd5b9250602084013567ffffffffffffffff811115610338575f5ffd5b8401601f81018613610348575f5ffd5b803567ffffffffffffffff81111561035e575f5ffd5b86602082840101111561036f575f5ffd5b939660209190910195509293505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008101516101008301526101208101516101208301526101408101516103fc61014084018264ffffffffff169052565b5061016081015161041761016084018264ffffffffff169052565b505050565b6101e0810161042b8287610380565b84610180830152836101a0830152826101c083015295945050505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b610300810161049c828a610380565b87610180830152866101a0830152856101c083015264ffffffffff85166101e08301526001600160601b0384166102008301526104dd610220830184610449565b98975050505050505050565b868152602081018690526040810185905264ffffffffff841660608201526001600160601b0383166080820152610180810161052860a0830184610449565b979650505050505050565b604051610180810167ffffffffffffffff8111828210171561056357634e487b7160e01b5f52604160045260245ffd5b60405290565b803564ffffffffff8116811461057d575f5ffd5b919050565b5f6101808284031215610593575f5ffd5b61059b610533565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260a0808401359082015260c0808401359082015260e0808401359082015261010080840135908201526101208084013590820152905061060a6101408301610569565b61014082015261061d6101608301610569565b61016082015292915050565b5f5f5f5f6101e0858703121561063d575f5ffd5b6106478686610582565b9661018086013596506101a0860135956101c00135945092505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561023c5761023c610664565b80356001600160601b038116811461057d575f5ffd5b5f60e082840312156106b1575f5ffd5b60405160e0810167ffffffffffffffff811182821017156106e057634e487b7160e01b5f52604160045260245ffd5b604090815283358252602080850135908301528381013590820152606080840135908201526080808401359082015260a0808401359082015260c0928301359281019290925250919050565b5f5f5f5f5f5f5f610300888a031215610743575f5ffd5b61074d8989610582565b965061018088013595506101a088013594506101c088013593506107746101e08901610569565b9250610783610200890161068b565b9150610793896102208a016106a1565b905092959891949750929550565b5f5f5f5f5f5f61018087890312156107b7575f5ffd5b8635955060208701359450604087013593506107d560608801610569565b92506107e36080880161068b565b91506107f28860a089016106a1565b90509295509295509295565b808202811582820484141761023c5761023c610664565b5f8261082f57634e487b7160e01b5f52601260045260245ffd5b500490565b64ffffffffff828116828216039081111561023c5761023c61066456fea26469706673582212209199050338b0f1e1dac7fa841ef3095bbd5b6aeaaab9f4f7de04f7a1cfb5d92064736f6c634300081e0033", "deployedBytecode": "0x608060405234801561000f575f5ffd5b506004361061003f575f3560e01c806332f857fa146100435780639ba942d61461006f578063ba097a2a14610095575b5f5ffd5b6100566100513660046102f5565b6100ba565b604051610066949392919061041c565b60405180910390f35b61008261007d3660046102f5565b61012c565b604051610066979695949392919061048d565b6100a86100a33660046102f5565b610199565b604051610066969594939291906104e9565b6100c2610292565b5f80806100d185870187610629565b92965090945092509050600182016100ff576100ec846101f9565b8461010001516100fc9190610678565b91505b5f1981036101235761011084610242565b8461012001516101209190610678565b90505b93509350935093565b610134610292565b5f5f5f5f5f6101726040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61017e888a018a61072c565b96509650965096509650965096509397509397509397909450565b5f5f5f5f5f6101d76040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6101e3878901896107a1565b949e939d50919b50995097509095509350505050565b5f6102038261027b565b64ffffffffff1682610140015164ffffffffff16426102229190610678565b83610100015161023291906107fe565b61023c9190610815565b92915050565b5f61024c8261027b565b64ffffffffff1682610140015164ffffffffff164261026b9190610678565b83610120015161023291906107fe565b5f81610140015182610160015161023c9190610834565b6040518061018001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f64ffffffffff1681526020015f64ffffffffff1681525090565b5f5f5f60408486031215610307575f5ffd5b83356001600160a01b038116811461031d575f5ffd5b9250602084013567ffffffffffffffff811115610338575f5ffd5b8401601f81018613610348575f5ffd5b803567ffffffffffffffff81111561035e575f5ffd5b86602082840101111561036f575f5ffd5b939660209190910195509293505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c083015260e081015160e08301526101008101516101008301526101208101516101208301526101408101516103fc61014084018264ffffffffff169052565b5061016081015161041761016084018264ffffffffff169052565b505050565b6101e0810161042b8287610380565b84610180830152836101a0830152826101c083015295945050505050565b805182526020810151602083015260408101516040830152606081015160608301526080810151608083015260a081015160a083015260c081015160c08301525050565b610300810161049c828a610380565b87610180830152866101a0830152856101c083015264ffffffffff85166101e08301526001600160601b0384166102008301526104dd610220830184610449565b98975050505050505050565b868152602081018690526040810185905264ffffffffff841660608201526001600160601b0383166080820152610180810161052860a0830184610449565b979650505050505050565b604051610180810167ffffffffffffffff8111828210171561056357634e487b7160e01b5f52604160045260245ffd5b60405290565b803564ffffffffff8116811461057d575f5ffd5b919050565b5f6101808284031215610593575f5ffd5b61059b610533565b823581526020808401359082015260408084013590820152606080840135908201526080808401359082015260a0808401359082015260c0808401359082015260e0808401359082015261010080840135908201526101208084013590820152905061060a6101408301610569565b61014082015261061d6101608301610569565b61016082015292915050565b5f5f5f5f6101e0858703121561063d575f5ffd5b6106478686610582565b9661018086013596506101a0860135956101c00135945092505050565b634e487b7160e01b5f52601160045260245ffd5b8181038181111561023c5761023c610664565b80356001600160601b038116811461057d575f5ffd5b5f60e082840312156106b1575f5ffd5b60405160e0810167ffffffffffffffff811182821017156106e057634e487b7160e01b5f52604160045260245ffd5b604090815283358252602080850135908301528381013590820152606080840135908201526080808401359082015260a0808401359082015260c0928301359281019290925250919050565b5f5f5f5f5f5f5f610300888a031215610743575f5ffd5b61074d8989610582565b965061018088013595506101a088013594506101c088013593506107746101e08901610569565b9250610783610200890161068b565b9150610793896102208a016106a1565b905092959891949750929550565b5f5f5f5f5f5f61018087890312156107b7575f5ffd5b8635955060208701359450604087013593506107d560608801610569565b92506107e36080880161068b565b91506107f28860a089016106a1565b90509295509295509295565b808202811582820484141761023c5761023c610664565b5f8261082f57634e487b7160e01b5f52601260045260245ffd5b500490565b64ffffffffff828116828216039081111561023c5761023c61066456fea26469706673582212209199050338b0f1e1dac7fa841ef3095bbd5b6aeaaab9f4f7de04f7a1cfb5d92064736f6c634300081e0033", "linkReferences": {}, "deployedLinkReferences": {} }