1 tx
2 calls
constructor
constructor(address initialAdmin_, address operator_, address kycRegistry_, address recipientWallet_, address treasuryWallet_, address poolRegistry_, address depositTokenRegistry_, address _sharePriceCalculatorFactory, address _insuranceCapitalLayerFactory)
functions
DEFAULT_ADMIN_ROLE
viewfunction DEFAULT_ADMIN_ROLE() view returns (bytes32)
depositTokenRegistry
viewfunction depositTokenRegistry() view returns (address)
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)
KYC_REGISTRY
viewfunction KYC_REGISTRY() view returns (address)
OPERATOR_ROLE
viewfunction OPERATOR_ROLE() view returns (bytes32)
operator
viewfunction operator() view returns (address)
poolRegistry
viewfunction poolRegistry() view returns (address)
recipientWallet
viewfunction recipientWallet() view returns (address)
rePrice18
viewfunction rePrice18() view returns (uint256)
reserveAmountPerICL
viewfunction reserveAmountPerICL(uint256) view returns (uint256)
reserveAmountPerPool
viewfunction reserveAmountPerPool(uint256, address) view returns (uint256)
sharePriceCalculatorFactory
viewfunction sharePriceCalculatorFactory() view returns (address)
supportsInterface
viewfunction supportsInterface(bytes4 interfaceId) view returns (bool)
treasuryWallet
viewfunction treasuryWallet() view returns (address)
createInsuranceCapital
nonpayablefunction createInsuranceCapital(string tokenName, string tokenSymbol, address admin_, address operator_, uint256 initialSharePrice)
grantRole
nonpayablefunction grantRole(bytes32 role, address account)
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_)
events
InsuranceCapitalLayerCreated
event InsuranceCapitalLayerCreated(uint256 head, address iclAddress)
PoolAddedToWithdrawQueue
event PoolAddedToWithdrawQueue(uint256 id, address poolAddress, uint256 amount)
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)
USDCWithdrawan
event USDCWithdrawan(address recipient, uint256 amount)
errors
AccessControlBadConfirmation
error AccessControlBadConfirmation()
AccessControlUnauthorizedAccount
error AccessControlUnauthorizedAccount(address account, bytes32 neededRole)
InvalidAddress
error InvalidAddress()
OperatorAlreadySet
error OperatorAlreadySet()
ReentrancyGuardReentrantCall
error ReentrancyGuardReentrantCall()
creation bytecode
0x60c0346200016d57601f62000fb338819003918201601f19168301916001600160401b038311848410176200017257808492610120946040528339810103126200016d57806200013862000057620001439362000188565b620000656020840162000188565b620000736040850162000188565b620000816060860162000188565b91620000906080870162000188565b926200009f60a0880162000188565b96620000ae60c0820162000188565b93620000cc610100620000c460e0850162000188565b930162000188565b94600160005560018060a01b03809a818099818098818098166080528160018060a01b03199b168b60055416176005551689600454161760045516876003541617600355168560025416176002551683600c541617600c551690600d541617600d551660a0526200019d565b50600554166200021e565b50604051610cd19081620002c282396080518161038f015260a051818181610278015261054b0152f35b600080fd5b634e487b7160e01b600052604160045260246000fd5b51906001600160a01b03821682036200016d57565b6001600160a01b031660008181527fa6eef7e35abe7026729641147f7915573c7e97b47efa546f5f6e3230263bcb49602052604081205490919060ff166200021a5781805260016020526040822081835260205260408220600160ff19825416179055339160008051602062000f938339815191528180a4600190565b5090565b6001600160a01b031660008181527f31c1e66639f421f1853aeefe8ad6b62a3b96f3287efe23106923cd924aa025c260205260408120549091907f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b9299060ff16620002bc5780835260016020526040832082845260205260408320600160ff1982541617905560008051602062000f93833981519152339380a4600190565b50509056fe608060408181526004918236101561001657600080fd5b600092833560e01c91826301ffc9a71461088357508163136758fd1461085b5781631dac3fb61461083c578163248a9ca3146108125781632f2ff15d146107e857816336568abe146107a257816344ab9484146107605781634626402b1461073757816347995266146106b2578163536aee961461068a578163570ca735146106615781637098322e146104635781637b77cd6a14610417578163809d458d146103be5781638b7cc1e31461037a57816391d14854146103335781639bcaadfd14610314578163a217fddf146102f9578163a981c7b4146102d0578163afcff50f146102a7578163ba756da314610263578163c19507ab1461020d578163c50a7652146101e4578163d547741f146101a5578163e3fe471a1461016e575063f5b541a61461014357600080fd5b3461016a578160031936011261016a5760209051600080516020610c7c8339815191528152f35b5080fd5b9050346101a15760203660031901126101a15735825260086020908152918190205490516001600160a01b039091168152f35b8280fd5b919050346101a157806003193601126101a1576101e091356101db60016101ca6108d6565b9383875281602052862001546109ec565b610ba4565b5080f35b50503461016a578160031936011261016a57600d5490516001600160a01b039091168152602090f35b919050346101a15760203660031901126101a1576102296108f1565b610231610996565b6001600160a01b0316908115610254575081546001600160a01b03191617905580f35b5163e6c4247b60e01b81529050fd5b50503461016a578160031936011261016a57517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b50503461016a578160031936011261016a5760025490516001600160a01b039091168152602090f35b50503461016a578160031936011261016a57600c5490516001600160a01b039091168152602090f35b50503461016a578160031936011261016a5751908152602090f35b50503461016a578160031936011261016a576020906006549051908152f35b9050346101a157816003193601126101a1578160209360ff926103546108d6565b90358252600186528282206001600160a01b039091168252855220549151911615158152f35b50503461016a578160031936011261016a57517f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03168152602090f35b9050346101a15760203660031901126101a1576103d96108f1565b6103e1610996565b6001600160a01b031691821561040a575050600380546001600160a01b03191691909117905580f35b5163e6c4247b60e01b8152fd5b9050346101a15760203660031901126101a1576104326108f1565b61043a610996565b6001600160a01b031691821561040a575050600280546001600160a01b03191691909117905580f35b919050346101a1576003199160a03684011261065d5767ffffffffffffffff92813584811161065957610499903690840161093f565b93602435908111610659576104b1903690840161093f565b6001600160a01b0394604435868116939192908490036106555760643592878416809403610651576104e1610996565b6007546001810180911161063e579161051d60a0979695949261052c946007558951988998630ddd73e160e31b8a5289015260a4880190610c1b565b91868303016024870152610c1b565b91604484015260648301526084356084830152816020938492038188887f0000000000000000000000000000000000000000000000000000000000000000165af19081156106345785916105d8575b507f773c7b72146fa723f413e940914aa89e1cc9b9554ef4074d8651d2d1ada4cda9936007548652600883528386209116908160018060a01b0319825416179055600754918186526009815282848720558351928352820152a180f35b90508181813d831161062d575b6105ef8183610907565b81010312610629575192808416840361062957927f773c7b72146fa723f413e940914aa89e1cc9b9554ef4074d8651d2d1ada4cda961057b565b8480fd5b503d6105e5565b83513d87823e3d90fd5b634e487b7160e01b8a526011875260248afd5b8880fd5b8780fd5b8580fd5b8380fd5b50503461016a578160031936011261016a5760055490516001600160a01b039091168152602090f35b9050346101a15760203660031901126101a1576020928291358152600a845220549051908152f35b919050346101a15760203660031901126101a1576106ce6108f1565b916106d7610996565b6001600160a01b0392831692831561072857600554169182841461071b57846101e08561070386610b1c565b50600580546001600160a01b03191682179055610a12565b5163c4142b4160e01b8152fd5b50905163e6c4247b60e01b8152fd5b50503461016a578160031936011261016a5760035490516001600160a01b039091168152602090f35b9050346101a157816003193601126101a157602092829161077f6108d6565b90358252600b85528282206001600160a01b039091168252845220549051908152f35b83833461016a578060031936011261016a576107bc6108d6565b90336001600160a01b038316036107d957506101e0919235610ba4565b5163334bd91960e11b81528390fd5b919050346101a157806003193601126101a1576101e0913561080d60016101ca6108d6565b610aa1565b9050346101a15760203660031901126101a157816020936001923581528285522001549051908152f35b50503461016a578160031936011261016a576020906007549051908152f35b9050346101a157826003193601126101a1575490516001600160a01b03909116815260209150f35b8491346101a15760203660031901126101a1573563ffffffff60e01b81168091036101a15760209250637965db0b60e01b81149081156108c5575b5015158152f35b6301ffc9a760e01b149050836108be565b602435906001600160a01b03821682036108ec57565b600080fd5b600435906001600160a01b03821682036108ec57565b90601f8019910116810190811067ffffffffffffffff82111761092957604052565b634e487b7160e01b600052604160045260246000fd5b81601f820112156108ec5780359067ffffffffffffffff82116109295760405192610974601f8401601f191660200185610907565b828452602083830101116108ec57816000926020809301838601378301015290565b336000908152600080516020610c5c8339815191526020526040902054600080516020610c7c8339815191529060ff16156109ce5750565b6044906040519063e2517d3f60e01b82523360048301526024820152fd5b80600052600160205260406000203360005260205260ff60406000205416156109ce5750565b6001600160a01b03166000818152600080516020610c5c8339815191526020526040812054909190600080516020610c7c8339815191529060ff16610a9c5780835260016020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b505090565b906000918083526001602052604083209160018060a01b03169182845260205260ff60408420541615600014610a9c5780835260016020526040832082845260205260408320600160ff198254161790557f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d339380a4600190565b6001600160a01b03166000818152600080516020610c5c8339815191526020526040812054909190600080516020610c7c8339815191529060ff1615610a9c578083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b906000918083526001602052604083209160018060a01b03169182845260205260ff604084205416600014610a9c578083526001602052604083208284526020526040832060ff1981541690557ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b339380a4600190565b919082519283825260005b848110610c47575050826000602080949584010152601f8019910116010190565b602081830181015184830182015201610c2656fe31c1e66639f421f1853aeefe8ad6b62a3b96f3287efe23106923cd924aa025c297667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b929a2646970667358221220907a74ed6685fca0d0c8cce730e1e6ec3649d9db762f23d9e89ca6d7468b005a64736f6c634300081400332f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d0000000000000000000000006c15b25e9750dccb698c1a4023f34015bfe576490000000000000000000000006c15b25e9750dccb698c1a4023f34015bfe5764900000000000000000000000056e9b453ea1966a71002c52c33d22d155b726b0f00000000000000000000000030fa3df7441f2b5501ea556df78dc51dccbed03500000000000000000000000030fa3df7441f2b5501ea556df78dc51dccbed0350000000000000000000000008317dd90dacf0fa7926e1546dd3f9b03c26fc836000000000000000000000000474bd40cfddafb2cff7954cc50c10c6dd7ec47f10000000000000000000000000520a29f93bedd7f360850e205bb070d3de96033000000000000000000000000822f703b92195ea7188a929e7bf614e543cc73ae