0 txs
4 calls
constructor
constructor()
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
getRoleAdmin
viewfunction getRoleAdmin(bytes32 role) view returns (bytes32)
hasRole
viewfunction hasRole(bytes32 role, address account) view returns (bool)
insuranceCapitalLayerFactory
viewfunction insuranceCapitalLayerFactory() view returns (address)
insuranceCapitalLayerHead
viewfunction insuranceCapitalLayerHead() view returns (uint256)
insuranceCapitalLayers
viewfunction insuranceCapitalLayers(uint256) view returns (address)
kycRegistry
viewfunction kycRegistry() view returns (address)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
operator
viewfunction operator() view returns (address)
poolRegistry
viewfunction poolRegistry() view returns (address)
proxiableUUID
viewfunction proxiableUUID() view returns (bytes32)
recipientWallet
viewfunction recipientWallet() view returns (address)
sharePriceCalculatorFactory
viewfunction sharePriceCalculatorFactory() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasuryWallet
viewfunction treasuryWallet() view returns (address)
UPGRADE_INTERFACE_VERSION
viewfunction UPGRADE_INTERFACE_VERSION() view returns (string)
UPGRADER_ROLE
viewfunction UPGRADER_ROLE() view returns (bytes32)
createInsuranceCapital
nonpayablefunction createInsuranceCapital(address depositTokenRegistry, string tokenName, string tokenSymbol, address admin_, address operator_, uint256 initialSharePrice)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
initialize
nonpayablefunction initialize(address initialAdmin_, address operator_, address kycRegistry_, address recipientWallet_, address treasuryWallet_, address poolRegistry_, address _sharePriceCalculatorFactory, address _insuranceCapitalLayerFactory)
renounceRole
nonpayablefunction renounceRole(bytes32 role, address callerConfirmation)
revokeRole
nonpayablefunction revokeRole(bytes32 role, address account)
setPoolRegistry
nonpayablefunction setPoolRegistry(address poolRegistryAddress)
updateOperatorAddress
nonpayablefunction updateOperatorAddress(address newOperator_)
updateRecipientWallet
nonpayablefunction updateRecipientWallet(address recipientWallet_)
updateTreasuryWallet
nonpayablefunction updateTreasuryWallet(address treasuryWallet_)
upgradeToAndCall
payablefunction upgradeToAndCall(address newImplementation, bytes data) payable
events
Initialized
event Initialized(uint64 version)
InsuranceCapitalLayerCreated
event InsuranceCapitalLayerCreated(uint256 head, address iclAddress)
InsuranceCapitalLayerFactoryUpdated
event InsuranceCapitalLayerFactoryUpdated(address insuranceCapitalLayerFactory)
KYCRegistryUpdated
event KYCRegistryUpdated(address kycRegistry)
OperatorUpdated
event OperatorUpdated(address operator)
PoolRegistryUpdated
event PoolRegistryUpdated(address poolRegistry)
RecipientWalletUpdated
event RecipientWalletUpdated(address recipientWallet)
RoleAdminChanged
event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole)
RoleGranted
event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender)
RoleRevoked
event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender)
SharePriceCalculatorFactoryUpdated
event SharePriceCalculatorFactoryUpdated(address sharePriceCalculatorFactory)
TreasuryWalletUpdated
event TreasuryWalletUpdated(address treasuryWallet)
Upgraded
event Upgraded(address indexed implementation)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
AddressEmptyCode
error AddressEmptyCode(address target)
ERC1967InvalidImplementation
error ERC1967InvalidImplementation(address implementation)
ERC1967NonPayable
error ERC1967NonPayable()
FailedInnerCall
error FailedInnerCall()
InvalidAddress
error InvalidAddress()
InvalidInitialization
error InvalidInitialization()
NotInitializing
error NotInitializing()
OperatorAlreadySet
error OperatorAlreadySet()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
UUPSUnauthorizedCallContext
error UUPSUnauthorizedCallContext()
UUPSUnsupportedProxiableUUID
error UUPSUnsupportedProxiableUUID(bytes32 slot)
creation bytecode
0x60a080604052346100cc57306080527ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009081549060ff8260401c166100bd57506001600160401b036002600160401b031982821601610078575b60405161154290816100d2823960805181818161099c0152610a430152f35b6001600160401b031990911681179091556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a1388080610059565b63f92ee8a960e01b8152600490fd5b600080fdfe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a714610e4657508163136758fd14610e1d5781631dac3fb614610dfe578163248a9ca314610dc65781632f2ff15d14610d9c57816336568abe14610d565781634626402b14610d2d5781634799526614610c795781634b155b9714610c515781634f1ef286146109f157816352d1902d14610987578163570ca7351461095f5781637b77cd6a146108eb5781637ffcde1c146106f5578163809d458d146106815781638a29e2de1461040057816391d14854146103ac578163a217fddf14610391578163ad3cb1cc14610322578163afcff50f146102f9578163ba756da3146102d0578163c19507ab1461024e578163c50a765214610225578163d547741f146101d8578163e3fe471a146101a157508063f5b541a6146101795763f72c0d8b1461014e57600080fd5b346101755781600319360112610175576020905160008051602061146d8339815191528152f35b5080fd5b5034610175578160031936011261017557602090516000805160206114ad8339815191528152f35b9050346101d45760203660031901126101d45735825260066020908152918190205490516001600160a01b039091168152f35b8280fd5b919050346101d457806003193601126101d457610221913561021c60016101fd610e99565b938387526000805160206114cd83398151915260205286200154611035565b611325565b5080f35b50503461017557816003193601126101755760085490516001600160a01b039091168152602090f35b919050346101d45760203660031901126101d45761026a610eb4565b610272610fdf565b6001600160a01b03169182156102c25750600380546001600160a01b03191683179055519081527f14896a9aa4b9b8a58e8ba95a10949794e8c2a9a53ef4ab1c7d588decc5501ea690602090a180f35b905163e6c4247b60e01b8152fd5b50503461017557816003193601126101755760095490516001600160a01b039091168152602090f35b50503461017557816003193601126101755760015490516001600160a01b039091168152602090f35b8383346101755781600319360112610175578051918183019083821067ffffffffffffffff83111761037e575061037a9350815260058252640352e302e360dc1b602083015251918291602083526020830190610f9f565b0390f35b634e487b7160e01b815260418552602490fd5b50503461017557816003193601126101755751908152602090f35b9050346101d457816003193601126101d4578160209360ff926103cd610e99565b903582526000805160206114cd83398151915286528282206001600160a01b039091168252855220549151911615158152f35b9050346101d4576101003660031901126101d45761041c610eb4565b90610425610e99565b6044356001600160a01b03818116949185900361067d57610444610eca565b9361044d610ee0565b9560a435908382168092036106795760c4358481168091036106755760e43592858416809403610671578a987ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a009a60ff8c54809c1c16159967ffffffffffffffff8c169b8c158061066a575b6001809e149081610660575b159081610657575b506106475767ffffffffffffffff1981168d178e558b610628575b506104f161140b565b6104f961140b565b8b7f9b779b17422d0df92223018b32b4d1fa46e071723d6817e2486d003becc55f005561052461140b565b61052c61140b565b888a161561061857881691821561061857851561061857881690811561061857881691821561061857831561061857841561061857861561061857916105cb979593918f936105d19b9a98969460018060a01b0319968782541617905585885416178755846003541617600355836002541617600255828b5416178a5581600854161760085560095416176009556105c3846110f4565b505416611068565b50611182565b506105da578380f35b815460ff60401b191690915590519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d290602090a13880808380f35b8d5163e6c4247b60e01b81528890fd5b68ffffffffffffffffff191668010000000000000001178d55386104e8565b8e5163f92ee8a960e01b81528990fd5b905015386104cd565b303b1591506104c5565b508b6104b9565b8b80fd5b8a80fd5b8980fd5b8680fd5b919050346101d45760203660031901126101d45761069d610eb4565b6106a5610fdf565b6001600160a01b03169182156102c25750600280546001600160a01b03191683179055519081527f97c79b3848e51f57983ac89e4403452655c8d83ceba8199011de63a74f60d1a790602090a180f35b8383346101755760031960c0368201126101d457610711610eb4565b67ffffffffffffffff916024358381116108e7576107329036908801610f81565b926044359081116108e75761074a9036908801610f81565b90610753610eca565b9161075c610ee0565b91610765610fdf565b6001600160a01b039485169384156108d75785169283156108d75785169081156108d757600554600181018091116108c4578a9392916107df916005558760095416936107d08b519a8b998a98632ad8d0f160e21b8a5289015260c0602489015260c4880190610f9f565b91868303016044870152610f9f565b936064840152608483015260a43560a48301528188602097889503925af19081156108ba578591610880575b50168015610870576005805485526006835283852080546001600160a01b0319168317905554818552600783528385208190558351908152918201529192507f773c7b72146fa723f413e940914aa89e1cc9b9554ef4074d8651d2d1ada4cda991a180f35b825163e6c4247b60e01b81528590fd5b90508281813d83116108b3575b6108978183610ef6565b810103126108af575181811681036108af578661080b565b8480fd5b503d61088d565b84513d87823e3d90fd5b634e487b7160e01b8a5260118b5260248afd5b875163e6c4247b60e01b81528a90fd5b8580fd5b919050346101d45760203660031901126101d457610907610eb4565b61090f610fdf565b6001600160a01b03169182156102c25750600180546001600160a01b03191683179055519081527f95fd1d551f130a77656bd9af2797344c3e20a0ed7fc6fd06d2ecb6e9d2b47a0690602090a180f35b9050346101d457826003193601126101d4575490516001600160a01b03909116815260209150f35b8284346109ee57806003193601126109ee57507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031630036109e1576020905160008051602061148d8339815191528152f35b5163703e46dd60e11b8152fd5b80fd5b918091506003193601126101d457610a07610eb4565b90602493843567ffffffffffffffff8111610175573660238201121561017557610a3990369087818801359101610f4a565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000008116308114908115610c35575b50610c255760008051602061146d833981519152908184526020916000805160206114cd8339815191528352858520338652835260ff868620541615610c08575085169484516352d1902d60e01b8152828189818a5afa859181610bd9575b50610ae95750505050505191634c9c8ce360e01b8352820152fd5b90878787938b60008051602061148d83398151915291828103610bc45750843b15610bb0575080546001600160a01b0319168217905583518792917fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b8480a2865115610b9357505080858561022197519101845af4913d15610b89573d610b7b610b7282610f2e565b92519283610ef6565b81528581943d92013e6113a8565b50606092506113a8565b9450945050505034610ba457505080f35b63b398979f60e01b8152fd5b8551634c9c8ce360e01b8152808501849052fd5b8651632a87526960e21b815280860191909152fd5b9091508381813d8311610c01575b610bf18183610ef6565b810103126108e757519038610ace565b503d610be7565b855163e2517d3f60e01b815233818a0152808a0191909152604490fd5b835163703e46dd60e11b81528690fd5b90508160008051602061148d8339815191525416141538610a6f565b505034610175578160031936011261017557905490516001600160a01b039091168152602090f35b9050346101d45760203660031901126101d457610c94610eb4565b90610c9d610fdf565b6001600160a01b039182168015610d1e5782825416808214610d0e5791610d0260209492610cec7fb3b3f5f64ab192e4b5fefde1f51ce9733bbdcf831951543b325aebd49cc27ec4979561128f565b5082546001600160a01b03191681178355611068565b5054169051908152a180f35b845163c4142b4160e01b81528390fd5b50825163e6c4247b60e01b8152fd5b50503461017557816003193601126101755760025490516001600160a01b039091168152602090f35b838334610175578060031936011261017557610d70610e99565b90336001600160a01b03831603610d8d5750610221919235611325565b5163334bd91960e11b81528390fd5b919050346101d457806003193601126101d4576102219135610dc160016101fd610e99565b61121a565b9050346101d45760203660031901126101d457816020936001923581526000805160206114cd83398151915285522001549051908152f35b5050346101755781600319360112610175576020906005549051908152f35b50503461017557816003193601126101755760035490516001600160a01b039091168152602090f35b8491346101d45760203660031901126101d4573563ffffffff60e01b81168091036101d45760209250637965db0b60e01b8114908115610e88575b5015158152f35b6301ffc9a760e01b14905083610e81565b602435906001600160a01b0382168203610eaf57565b600080fd5b600435906001600160a01b0382168203610eaf57565b606435906001600160a01b0382168203610eaf57565b608435906001600160a01b0382168203610eaf57565b90601f8019910116810190811067ffffffffffffffff821117610f1857604052565b634e487b7160e01b600052604160045260246000fd5b67ffffffffffffffff8111610f1857601f01601f191660200190565b929192610f5682610f2e565b91610f646040519384610ef6565b829481845281830111610eaf578281602093846000960137010152565b9080601f83011215610eaf57816020610f9c93359101610f4a565b90565b919082519283825260005b848110610fcb575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610faa565b3360009081526000805160206114ed83398151915260205260409020546000805160206114ad8339815191529060ff16156110175750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b806000526000805160206114cd83398151915260205260406000203360005260205260ff60406000205416156110175750565b6001600160a01b031660008181526000805160206114ed83398151915260205260408120549091906000805160206114ad833981519152906000805160206114cd8339815191529060ff166110ee578184526020526040832082845260205260408320600160ff1982541617905560008051602061144d833981519152339380a4600190565b50505090565b6001600160a01b031660008181527fb7db2dd08fcb62d0c9e08c51941cae53c267786a0b75803fb7960902fc8ef97d60205260408120549091906000805160206114cd8339815191529060ff1661117d578280526020526040822081835260205260408220600160ff19825416179055339160008051602061144d8339815191528180a4600190565b505090565b6001600160a01b031660008181527fab71e3f32666744d246edff3f96e4bdafee2e9867098cdd118a979a7464786a8602052604081205490919060008051602061146d833981519152906000805160206114cd8339815191529060ff166110ee578184526020526040832082845260205260408320600160ff1982541617905560008051602061144d833981519152339380a4600190565b906000918083526000805160206114cd83398151915280602052604084209260018060a01b03169283855260205260ff604085205416156000146110ee578184526020526040832082845260205260408320600160ff1982541617905560008051602061144d833981519152339380a4600190565b6001600160a01b031660008181526000805160206114ed83398151915260205260408120549091906000805160206114ad833981519152906000805160206114cd8339815191529060ff16156110ee57818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b906000918083526000805160206114cd83398151915280602052604084209260018060a01b03169283855260205260ff6040852054166000146110ee57818452602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b906113cf57508051156113bd57805190602001fd5b604051630a12f52160e11b8152600490fd5b81511580611402575b6113e0575090565b604051639996b31560e01b81526001600160a01b039091166004820152602490fd5b50803b156113d8565b60ff7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005460401c161561143a57565b604051631afcd79f60e31b8152600490fdfe2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92902dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800448256db8f8fb95ee3eaaf89c1051414494e85cebb6057fcf996cc3d0ccfb456a26469706673582212207038dc40fdb73568a9cfbadf325f15f5d946d51ca9c7351a8425fff8616697c764736f6c63430008140033