@ensuro/core
Version:
Ensuro - Blockchain-based insurance protocol
352 lines (351 loc) • 17.5 kB
JSON
{
"_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": {}
}