@etherisc/gif-next 0.0.2-9dd41ff-671 → 0.0.2-9e03baf-990
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +75 -9
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1324 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +219 -596
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +340 -444
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +144 -133
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +226 -309
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +215 -94
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.json +22 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +1429 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +502 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +1979 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1430 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1177 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1606 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2281 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +112 -91
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +170 -84
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +127 -238
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1183 -276
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +874 -395
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +255 -242
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +122 -103
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +1210 -389
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +21 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +961 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +52 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +776 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +709 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +877 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +982 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +746 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1254 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +502 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +507 -345
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +194 -111
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +275 -46
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +214 -400
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +490 -282
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +224 -621
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +634 -640
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +124 -117
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +132 -282
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +112 -97
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1148 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +333 -299
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +153 -114
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +54 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +196 -7
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +361 -81
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +154 -86
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +365 -221
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -57
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +422 -406
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +128 -137
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +248 -348
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +143 -116
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +364 -475
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +638 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +718 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +400 -50
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +112 -64
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +5 -18
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +840 -107
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1743 -149
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +180 -200
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +105 -86
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +314 -136
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +120 -317
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1406 -213
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +834 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +474 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +111 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +114 -130
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1402 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +711 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +46 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +23 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -30
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +36 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +49 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +799 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +48 -70
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +20 -124
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +67 -103
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +54 -119
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +735 -27
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +395 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +573 -53
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1816 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +780 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +661 -182
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +125 -90
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +121 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +53 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +39 -34
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +47 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +149 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +204 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +124 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +36 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +596 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +289 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +137 -0
- package/contracts/authorization/IAuthorization.sol +60 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +139 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +156 -156
- package/contracts/distribution/DistributionService.sol +177 -173
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +28 -47
- package/contracts/distribution/IDistributionService.sol +24 -10
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +431 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +58 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +108 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +345 -0
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +28 -39
- package/contracts/instance/IInstanceService.sol +30 -32
- package/contracts/instance/Instance.sol +124 -122
- package/contracts/instance/InstanceAdmin.sol +208 -285
- package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
- package/contracts/instance/InstanceReader.sol +194 -67
- package/contracts/instance/InstanceService.sol +246 -130
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +142 -66
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectCounter.sol +21 -0
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IAccess.sol +2 -0
- package/contracts/instance/module/IBundle.sol +1 -4
- package/contracts/instance/module/IComponents.sol +22 -13
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +33 -26
- package/contracts/mock/Dip.sol +26 -0
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +156 -0
- package/contracts/oracle/OracleService.sol +292 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +68 -0
- package/contracts/pool/BundleService.sol +314 -213
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +46 -24
- package/contracts/pool/IPoolComponent.sol +23 -75
- package/contracts/pool/IPoolService.sol +105 -47
- package/contracts/pool/Pool.sol +211 -168
- package/contracts/pool/PoolService.sol +448 -232
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +156 -84
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +49 -0
- package/contracts/product/BasicProductAuthorization.sol +42 -0
- package/contracts/product/ClaimService.sol +333 -162
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +35 -5
- package/contracts/product/IPolicyService.sol +41 -39
- package/contracts/product/IPricingService.sol +13 -11
- package/contracts/product/IProductComponent.sol +28 -10
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -9
- package/contracts/product/PolicyService.sol +521 -204
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +107 -83
- package/contracts/product/PricingServiceManager.sol +5 -8
- package/contracts/product/Product.sol +199 -146
- package/contracts/product/RiskService.sol +96 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +75 -38
- package/contracts/registry/IRegistry.sol +85 -24
- package/contracts/registry/IRegistryService.sol +9 -6
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +439 -179
- package/contracts/registry/RegistryAdmin.sol +396 -77
- package/contracts/registry/RegistryService.sol +73 -64
- package/contracts/registry/RegistryServiceManager.sol +6 -13
- package/contracts/registry/ReleaseLifecycle.sol +30 -0
- package/contracts/registry/ReleaseRegistry.sol +485 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +203 -0
- package/contracts/registry/TokenRegistry.sol +261 -64
- package/contracts/shared/Component.sol +128 -170
- package/contracts/shared/ComponentService.sol +732 -94
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ComponentVerifyingService.sol +128 -0
- package/contracts/shared/ContractLib.sol +54 -0
- package/contracts/shared/IComponent.sol +24 -47
- package/contracts/shared/IComponentService.sol +130 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +41 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +7 -6
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +3 -1
- package/contracts/shared/IPolicyHolder.sol +12 -17
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +205 -0
- package/contracts/{instance/base → shared}/KeyValueStore.sol +36 -74
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +32 -22
- package/contracts/shared/PolicyHolder.sol +18 -50
- package/contracts/shared/Registerable.sol +21 -13
- package/contracts/shared/RegistryLinked.sol +9 -14
- package/contracts/shared/Service.sol +48 -36
- package/contracts/shared/TokenHandler.sol +375 -13
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +173 -0
- package/contracts/staking/IStakingService.sol +103 -48
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +505 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +52 -0
- package/contracts/staking/StakingReader.sol +190 -0
- package/contracts/staking/StakingService.sol +331 -47
- package/contracts/staking/StakingServiceManager.sol +11 -7
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +44 -3
- package/contracts/type/Blocknumber.sol +26 -3
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +17 -16
- package/contracts/type/NftId.sol +15 -16
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +176 -62
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +17 -3
- package/contracts/type/RoleId.sol +98 -75
- package/contracts/type/Seconds.sol +48 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +41 -2
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +38 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +73 -41
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +11 -7
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -188
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -581
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -194
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -883
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -711
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1018
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1747
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1765
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1594
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -630
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -320
- package/contracts/instance/base/Lifecycle.sol +0 -121
- package/contracts/instance/module/ISetup.sol +0 -33
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/product/ProductService.sol +0 -212
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -465
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -469
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -125
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -17
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -10,26 +10,26 @@ import {LibNftIdSet} from "../type/NftIdSet.sol";
|
|
10
10
|
import {NftId} from "../type/NftId.sol";
|
11
11
|
import {TimestampLib} from "../type/Timestamp.sol";
|
12
12
|
|
13
|
-
import {
|
13
|
+
import {ObjectSet} from "./base/ObjectSet.sol";
|
14
14
|
|
15
|
-
contract
|
16
|
-
|
15
|
+
contract BundleSet is
|
16
|
+
ObjectSet
|
17
17
|
{
|
18
18
|
|
19
|
-
event
|
20
|
-
event
|
19
|
+
event LogBundleSetPolicyLinked(NftId bundleNftId, NftId policyNftId);
|
20
|
+
event LogBundleSetPolicyUnlinked(NftId bundleNftId, NftId policyNftId);
|
21
21
|
|
22
|
-
event
|
23
|
-
event
|
24
|
-
event
|
25
|
-
event
|
22
|
+
event LogBundleSetBundleAdded(NftId poolNftId, NftId bundleNftId);
|
23
|
+
event LogBundleSetBundleUnlocked(NftId poolNftId, NftId bundleNftId);
|
24
|
+
event LogBundleSetBundleLocked(NftId poolNftId, NftId bundleNftId);
|
25
|
+
event LogBundleSetBundleClosed(NftId poolNftId, NftId bundleNftId);
|
26
26
|
|
27
|
-
error
|
28
|
-
error
|
29
|
-
error
|
30
|
-
error
|
31
|
-
error
|
32
|
-
error
|
27
|
+
error ErrorBundleSetPolicyAlreadyActivated(NftId policyNftId);
|
28
|
+
error ErrorBundleSetBundleLocked(NftId bundleNftId, NftId policyNftId);
|
29
|
+
error ErrorBundleSetPolicyWithOpenClaims(NftId policyNftId, uint256 openClaimsCount);
|
30
|
+
error ErrorBundleSetPolicyNotCloseable(NftId policyNftId);
|
31
|
+
error ErrorBundleSetBundleUnknown(NftId bundleNftId);
|
32
|
+
error ErrorBundleSetBundleNotRegistered(NftId bundleNftId);
|
33
33
|
|
34
34
|
mapping(NftId bundleNftId => LibNftIdSet.Set policies) internal _activePolicies;
|
35
35
|
|
@@ -42,11 +42,11 @@ contract BundleManager is
|
|
42
42
|
|
43
43
|
// ensure bundle is unlocked (in active set) and registered with this instance
|
44
44
|
if (!_isActive(poolNftId, bundleNftId)) {
|
45
|
-
revert
|
45
|
+
revert ErrorBundleSetBundleLocked(bundleNftId, policyNftId);
|
46
46
|
}
|
47
47
|
|
48
48
|
LibNftIdSet.add(_activePolicies[bundleNftId], policyNftId);
|
49
|
-
emit
|
49
|
+
emit LogBundleSetPolicyLinked(bundleNftId, policyNftId);
|
50
50
|
}
|
51
51
|
|
52
52
|
|
@@ -63,11 +63,11 @@ contract BundleManager is
|
|
63
63
|
|
64
64
|
// ensure bundle is registered with this instance
|
65
65
|
if (!_contains(poolNftId, bundleNftId)) {
|
66
|
-
revert
|
66
|
+
revert ErrorBundleSetBundleUnknown(bundleNftId);
|
67
67
|
}
|
68
68
|
|
69
69
|
LibNftIdSet.remove(_activePolicies[bundleNftId], policyNftId);
|
70
|
-
emit
|
70
|
+
emit LogBundleSetPolicyUnlinked(policyInfo.bundleNftId, policyNftId);
|
71
71
|
}
|
72
72
|
|
73
73
|
|
@@ -78,11 +78,11 @@ contract BundleManager is
|
|
78
78
|
|
79
79
|
// ensure pool is registered with instance
|
80
80
|
if(poolNftId.eqz()) {
|
81
|
-
revert
|
81
|
+
revert ErrorBundleSetBundleNotRegistered(bundleNftId);
|
82
82
|
}
|
83
83
|
|
84
84
|
_add(poolNftId, bundleNftId);
|
85
|
-
emit
|
85
|
+
emit LogBundleSetBundleAdded(poolNftId, bundleNftId);
|
86
86
|
}
|
87
87
|
|
88
88
|
|
@@ -90,14 +90,14 @@ contract BundleManager is
|
|
90
90
|
function unlock(NftId bundleNftId) external restricted() {
|
91
91
|
NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
|
92
92
|
_activate(poolNftId, bundleNftId);
|
93
|
-
emit
|
93
|
+
emit LogBundleSetBundleUnlocked(poolNftId, bundleNftId);
|
94
94
|
}
|
95
95
|
|
96
96
|
/// @dev locked (deactivated) bundles may not collateralize any new policies
|
97
97
|
function lock(NftId bundleNftId) external restricted() {
|
98
98
|
NftId poolNftId = _instance.getInstanceReader().getBundleInfo(bundleNftId).poolNftId;
|
99
99
|
_deactivate(poolNftId, bundleNftId);
|
100
|
-
emit
|
100
|
+
emit LogBundleSetBundleLocked(poolNftId, bundleNftId);
|
101
101
|
}
|
102
102
|
|
103
103
|
function bundles(NftId poolNftId) external view returns(uint256) {
|
@@ -3,38 +3,18 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
5
|
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
9
|
-
import {NftId} from "../type/NftId.sol";
|
10
|
-
import {StateId} from "../type/StateId.sol";
|
11
|
-
import {ReferralId} from "../type/Referral.sol";
|
12
|
-
import {RiskId} from "../type/RiskId.sol";
|
13
|
-
import {VersionPart} from "../type/Version.sol";
|
14
|
-
import {Key32} from "../type/Key32.sol";
|
15
|
-
import {RoleId} from "../type/RoleId.sol";
|
16
|
-
|
17
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
18
|
-
|
19
|
-
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
20
|
-
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {BundleSet} from "./BundleSet.sol";
|
21
8
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
22
|
-
import {BundleManager} from "./BundleManager.sol";
|
23
9
|
import {InstanceReader} from "./InstanceReader.sol";
|
24
10
|
import {InstanceStore} from "./InstanceStore.sol";
|
25
|
-
|
26
|
-
import {
|
27
|
-
|
28
|
-
import {
|
29
|
-
|
30
|
-
import {
|
31
|
-
import {
|
32
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
33
|
-
import {IPoolService} from "../pool/IPoolService.sol";
|
34
|
-
import {IProductService} from "../product/IProductService.sol";
|
35
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
36
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
37
|
-
|
11
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
12
|
+
import {ITransferInterceptor} from "../registry/ITransferInterceptor.sol";
|
13
|
+
import {NftId} from "../type/NftId.sol";
|
14
|
+
import {RoleId} from "../type/RoleId.sol";
|
15
|
+
import {Seconds} from "../type/Seconds.sol";
|
16
|
+
import {UFixed} from "../type/UFixed.sol";
|
17
|
+
import {VersionPart} from "../type/Version.sol";
|
38
18
|
|
39
19
|
|
40
20
|
interface IInstance is
|
@@ -46,15 +26,22 @@ interface IInstance is
|
|
46
26
|
error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
|
47
27
|
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
48
28
|
|
49
|
-
error
|
50
|
-
error
|
51
|
-
error
|
29
|
+
error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
|
30
|
+
error ErrorInstanceBundleSetInstanceMismatch(address instance);
|
31
|
+
error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
|
52
32
|
|
53
33
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
54
34
|
|
55
35
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
56
36
|
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
57
37
|
|
38
|
+
struct InstanceInfo {
|
39
|
+
uint64 requestsCount;
|
40
|
+
}
|
41
|
+
|
42
|
+
/// @dev Register a product with the instance.
|
43
|
+
function registerProduct(address product) external returns (NftId productNftId);
|
44
|
+
|
58
45
|
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
59
46
|
function grantRole(RoleId roleId, address account) external;
|
60
47
|
function revokeRole(RoleId roleId, address account) external;
|
@@ -63,15 +50,17 @@ interface IInstance is
|
|
63
50
|
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
64
51
|
function setTargetLocked(address target, bool locked) external;
|
65
52
|
|
66
|
-
function
|
67
|
-
function
|
68
|
-
function
|
69
|
-
|
70
|
-
|
53
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
54
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
55
|
+
function refillStakingRewardReserves(Amount dipAmount) external;
|
56
|
+
|
57
|
+
/// @dev Defunds the staking reward reserves for the specified target.
|
58
|
+
/// Permissioned: only the target owner may call this function.
|
59
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
71
60
|
|
72
|
-
|
61
|
+
// get instance release and supporting contracts
|
73
62
|
function getInstanceReader() external view returns (InstanceReader);
|
74
|
-
function
|
63
|
+
function getBundleSet() external view returns (BundleSet);
|
75
64
|
function getInstanceAdmin() external view returns (InstanceAdmin);
|
76
65
|
function getInstanceStore() external view returns (InstanceStore);
|
77
66
|
}
|
@@ -1,24 +1,30 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {Amount} from "../type/Amount.sol";
|
5
|
+
import {BundleSet} from "./BundleSet.sol";
|
6
|
+
import {IInstance} from "./IInstance.sol";
|
7
|
+
import {IInstanceLinkedComponent} from "../shared/IInstanceLinkedComponent.sol";
|
8
|
+
import {IService} from "../shared/IService.sol";
|
4
9
|
import {NftId} from "../type/NftId.sol";
|
5
10
|
import {ObjectType} from "../type/ObjectType.sol";
|
6
11
|
import {RoleId} from "../type/RoleId.sol";
|
7
|
-
import {
|
8
|
-
|
9
|
-
import {
|
10
|
-
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
11
|
-
import {Instance} from "./Instance.sol";
|
12
|
-
import {InstanceReader} from "./InstanceReader.sol";
|
13
|
-
import {BundleManager} from "./BundleManager.sol";
|
14
|
-
import {InstanceStore} from "./InstanceStore.sol";
|
12
|
+
import {Seconds} from "../type/Seconds.sol";
|
13
|
+
import {UFixed} from "../type/UFixed.sol";
|
14
|
+
import {VersionPart} from "../type/Version.sol";
|
15
15
|
|
16
16
|
interface IInstanceService is IService {
|
17
17
|
|
18
|
+
// onlyInstance
|
19
|
+
error ErrorInstanceServiceNotRegistered(address instance);
|
20
|
+
error ErrorInstanceServiceNotInstance(address instance, ObjectType objectType);
|
21
|
+
error ErrorInstanceServiceInstanceVersionMismatch(address instance, VersionPart instanceVersion);
|
22
|
+
|
23
|
+
error ErrorInstanceServiceComponentNotInstanceLinked(address component);
|
24
|
+
|
18
25
|
error ErrorInstanceServiceMasterInstanceAlreadySet();
|
19
|
-
error ErrorInstanceServiceMasterOzAccessManagerAlreadySet();
|
20
26
|
error ErrorInstanceServiceMasterInstanceAdminAlreadySet();
|
21
|
-
error
|
27
|
+
error ErrorInstanceServiceMasterBundleSetAlreadySet();
|
22
28
|
error ErrorInstanceServiceInstanceAddressZero();
|
23
29
|
|
24
30
|
error ErrorInstanceServiceMasterInstanceReaderNotSet();
|
@@ -26,48 +32,40 @@ interface IInstanceService is IService {
|
|
26
32
|
error ErrorInstanceServiceInstanceReaderSameAsMasterInstanceReader();
|
27
33
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch();
|
28
34
|
|
35
|
+
error ErrorInstanceServiceAccessManagerZero();
|
29
36
|
error ErrorInstanceServiceInstanceAdminZero();
|
30
37
|
error ErrorInstanceServiceInstanceReaderZero();
|
31
|
-
error
|
38
|
+
error ErrorInstanceServiceBundleSetZero();
|
32
39
|
error ErrorInstanceServiceInstanceStoreZero();
|
33
40
|
|
34
41
|
error ErrorInstanceServiceInstanceAuthorityMismatch();
|
35
|
-
error
|
42
|
+
error ErrorInstanceServiceBundleSetAuthorityMismatch();
|
36
43
|
error ErrorInstanceServiceInstanceReaderInstanceMismatch2();
|
37
44
|
error ErrorInstanceServiceBundleMangerInstanceMismatch();
|
38
45
|
error ErrorInstanceServiceInstanceStoreAuthorityMismatch();
|
39
46
|
|
40
47
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
41
|
-
error
|
42
|
-
error ErrorInstanceServiceNotInstance(NftId nftId);
|
48
|
+
error ErrorInstanceServiceNotInstanceNftId(NftId nftId);
|
43
49
|
error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
|
44
50
|
error ErrorInstanceServiceInstanceComponentMismatch(NftId instanceNftId, NftId componentNftId);
|
45
51
|
error ErrorInstanceServiceInvalidComponentType(address componentAddress, ObjectType expectedType, ObjectType componentType);
|
46
52
|
|
47
|
-
event LogInstanceCloned(
|
48
|
-
address clonedOzAccessManager,
|
49
|
-
address clonedInstanceAccessManager,
|
50
|
-
address clonedInstance,
|
51
|
-
address clonedInstanceStore,
|
52
|
-
address clonedBundleManager,
|
53
|
-
address clonedInstanceReader,
|
54
|
-
NftId clonedInstanceNftId
|
55
|
-
);
|
53
|
+
event LogInstanceCloned(NftId instanceNftId, address instance);
|
56
54
|
|
57
|
-
function
|
55
|
+
function createInstance()
|
58
56
|
external
|
59
57
|
returns (
|
60
|
-
|
58
|
+
IInstance instance,
|
61
59
|
NftId instanceNftId
|
62
60
|
);
|
63
61
|
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
) external;
|
62
|
+
|
63
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
64
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
65
|
+
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount) external;
|
66
|
+
|
67
|
+
/// @dev Defunds the staking reward reserves for the specified target.
|
68
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
71
69
|
|
72
70
|
function setComponentLocked(bool locked) external;
|
73
71
|
}
|
@@ -3,54 +3,35 @@ pragma solidity ^0.8.20;
|
|
3
3
|
|
4
4
|
import {AccessManagedUpgradeable} from "@openzeppelin/contracts-upgradeable/access/manager/AccessManagedUpgradeable.sol";
|
5
5
|
|
6
|
-
import {
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {ObjectType, BUNDLE, DISTRIBUTION, INSTANCE, POLICY, POOL, ROLE, PRODUCT, TARGET, COMPONENT, DISTRIBUTOR, DISTRIBUTOR_TYPE} from "../type/ObjectType.sol";
|
10
|
-
import {RoleId, RoleIdLib, eqRoleId, ADMIN_ROLE, INSTANCE_ROLE, INSTANCE_OWNER_ROLE} from "../type/RoleId.sol";
|
11
|
-
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
12
|
-
import {ClaimId} from "../type/ClaimId.sol";
|
13
|
-
import {ReferralId} from "../type/Referral.sol";
|
14
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
15
|
-
import {DistributorType} from "../type/DistributorType.sol";
|
16
|
-
|
17
|
-
import {Registerable} from "../shared/Registerable.sol";
|
18
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
|
-
import {AccessManagerExtendedInitializeable} from "../shared/AccessManagerExtendedInitializeable.sol";
|
20
|
-
|
21
|
-
import {IRegistry} from "../registry/IRegistry.sol";
|
22
|
-
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {BundleSet} from "./BundleSet.sol";
|
8
|
+
import {COMPONENT, INSTANCE} from "../type/ObjectType.sol";
|
23
9
|
import {IInstance} from "./IInstance.sol";
|
10
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
11
|
+
import {IInstanceService} from "./IInstanceService.sol";
|
24
12
|
import {InstanceReader} from "./InstanceReader.sol";
|
25
13
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
26
|
-
import {BundleManager} from "./BundleManager.sol";
|
27
14
|
import {InstanceStore} from "./InstanceStore.sol";
|
28
|
-
|
29
|
-
import {
|
30
|
-
import {
|
31
|
-
import {
|
32
|
-
import {
|
33
|
-
import {
|
34
|
-
import {
|
35
|
-
|
36
|
-
import {IDistributionService} from "../distribution/IDistributionService.sol";
|
37
|
-
import {IPoolService} from "../pool/IPoolService.sol";
|
38
|
-
import {IProductService} from "../product/IProductService.sol";
|
39
|
-
import {IPolicyService} from "../product/IPolicyService.sol";
|
40
|
-
import {IBundleService} from "../pool/IBundleService.sol";
|
15
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
16
|
+
import {NftId} from "../type/NftId.sol";
|
17
|
+
import {Registerable} from "../shared/Registerable.sol";
|
18
|
+
import {RoleId} from "../type/RoleId.sol";
|
19
|
+
import {Seconds} from "../type/Seconds.sol";
|
20
|
+
import {UFixed} from "../type/UFixed.sol";
|
21
|
+
import {VersionPart, VersionPartLib} from "../type/Version.sol";
|
41
22
|
|
42
23
|
contract Instance is
|
43
24
|
IInstance,
|
44
25
|
AccessManagedUpgradeable,
|
45
26
|
Registerable
|
46
27
|
{
|
47
|
-
uint256 public constant GIF_MAJOR_VERSION = 3;
|
48
|
-
|
49
28
|
bool private _initialized;
|
50
29
|
|
30
|
+
IComponentService internal _componentService;
|
31
|
+
IInstanceService internal _instanceService;
|
51
32
|
InstanceAdmin internal _instanceAdmin;
|
52
33
|
InstanceReader internal _instanceReader;
|
53
|
-
|
34
|
+
BundleSet internal _bundleManager;
|
54
35
|
InstanceStore internal _instanceStore;
|
55
36
|
|
56
37
|
modifier onlyChainNft() {
|
@@ -60,53 +41,132 @@ contract Instance is
|
|
60
41
|
_;
|
61
42
|
}
|
62
43
|
|
63
|
-
function initialize(
|
44
|
+
function initialize(
|
45
|
+
InstanceAdmin instanceAdmin,
|
46
|
+
InstanceStore instanceStore,
|
47
|
+
BundleSet bundleManager,
|
48
|
+
InstanceReader instanceReader,
|
49
|
+
IRegistry registry,
|
50
|
+
address initialOwner
|
51
|
+
)
|
64
52
|
external
|
65
53
|
initializer()
|
66
54
|
{
|
67
|
-
|
55
|
+
_instanceAdmin = instanceAdmin;
|
56
|
+
if(_instanceAdmin.authority() == address(0)) {
|
68
57
|
revert ErrorInstanceInstanceAdminZero();
|
69
58
|
}
|
70
59
|
|
71
|
-
|
72
|
-
|
73
|
-
IRegistry registry = IRegistry(registryAddress);
|
74
|
-
initializeRegisterable(registryAddress, registry.getNftId(), INSTANCE(), true, initialOwner, "");
|
60
|
+
// set authority to instance admin authority
|
61
|
+
__AccessManaged_init(_instanceAdmin.authority());
|
75
62
|
|
76
|
-
|
63
|
+
// setup instance object info
|
64
|
+
_initializeRegisterable(
|
65
|
+
address(registry),
|
66
|
+
registry.getNftId(),
|
67
|
+
INSTANCE(),
|
68
|
+
true,
|
69
|
+
initialOwner,
|
70
|
+
"");
|
71
|
+
|
72
|
+
// store instance supporting contracts
|
73
|
+
_instanceStore = instanceStore;
|
74
|
+
_bundleManager = bundleManager;
|
75
|
+
_instanceReader = instanceReader;
|
76
|
+
|
77
|
+
// initialize instance supporting contracts
|
78
|
+
_instanceStore.initialize();
|
79
|
+
_bundleManager.initialize();
|
80
|
+
_instanceReader.initialize();
|
81
|
+
|
82
|
+
_componentService = IComponentService(
|
83
|
+
getRegistry().getServiceAddress(
|
84
|
+
COMPONENT(),
|
85
|
+
getRelease()));
|
86
|
+
|
87
|
+
_instanceService = IInstanceService(
|
88
|
+
getRegistry().getServiceAddress(
|
89
|
+
INSTANCE(),
|
90
|
+
getRelease()));
|
91
|
+
|
92
|
+
_registerInterface(type(IInstance).interfaceId);
|
93
|
+
}
|
94
|
+
|
95
|
+
//--- ProductRegistration ----------------------------------------------//
|
96
|
+
function registerProduct(address product)
|
97
|
+
external
|
98
|
+
onlyOwner()
|
99
|
+
returns (NftId productNftId)
|
100
|
+
{
|
101
|
+
return _componentService.registerProduct(product);
|
102
|
+
}
|
103
|
+
|
104
|
+
//--- Staking ----------------------------------------------------------//
|
105
|
+
|
106
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod)
|
107
|
+
external
|
108
|
+
onlyOwner()
|
109
|
+
{
|
110
|
+
_instanceService.setStakingLockingPeriod(stakeLockingPeriod);
|
111
|
+
}
|
112
|
+
|
113
|
+
function setStakingRewardRate(UFixed rewardRate)
|
114
|
+
external
|
115
|
+
onlyOwner()
|
116
|
+
{
|
117
|
+
_instanceService.setStakingRewardRate(rewardRate);
|
118
|
+
}
|
119
|
+
|
120
|
+
function refillStakingRewardReserves(Amount dipAmount)
|
121
|
+
external
|
122
|
+
onlyOwner()
|
123
|
+
{
|
124
|
+
address instanceOwner = msg.sender;
|
125
|
+
_instanceService.refillStakingRewardReserves(instanceOwner, dipAmount);
|
126
|
+
}
|
127
|
+
|
128
|
+
function withdrawStakingRewardReserves(Amount dipAmount)
|
129
|
+
external
|
130
|
+
onlyOwner()
|
131
|
+
returns (Amount newBalance)
|
132
|
+
{
|
133
|
+
return _instanceService.withdrawStakingRewardReserves(dipAmount);
|
77
134
|
}
|
78
135
|
|
79
136
|
//--- Roles ------------------------------------------------------------//
|
80
137
|
|
81
138
|
function createRole(string memory roleName, string memory adminName)
|
82
139
|
external
|
83
|
-
|
140
|
+
onlyOwner()
|
84
141
|
returns (RoleId roleId, RoleId admin)
|
85
142
|
{
|
86
|
-
|
143
|
+
// TODO refactor
|
144
|
+
// (roleId, admin) = _instanceAdmin.createRole(roleName, adminName);
|
87
145
|
}
|
88
146
|
|
89
147
|
function grantRole(RoleId roleId, address account)
|
90
148
|
external
|
91
|
-
|
149
|
+
onlyOwner()
|
92
150
|
{
|
93
|
-
|
151
|
+
_instanceAdmin.grantRole(roleId, account);
|
94
152
|
}
|
95
153
|
|
96
154
|
function revokeRole(RoleId roleId, address account)
|
97
155
|
external
|
98
|
-
|
156
|
+
onlyOwner()
|
99
157
|
{
|
100
|
-
|
158
|
+
// TODO refactor
|
159
|
+
// AccessManagerExtendedInitializeable(authority()).revokeRole(roleId.toInt(), account);
|
101
160
|
}
|
102
161
|
|
103
162
|
//--- Targets ------------------------------------------------------------//
|
104
163
|
|
105
164
|
function createTarget(address target, string memory name)
|
106
165
|
external
|
107
|
-
|
166
|
+
onlyOwner()
|
108
167
|
{
|
109
|
-
|
168
|
+
// TODO refactor
|
169
|
+
// _instanceAdmin.createTarget(target, name);
|
110
170
|
}
|
111
171
|
|
112
172
|
function setTargetFunctionRole(
|
@@ -115,58 +175,34 @@ contract Instance is
|
|
115
175
|
RoleId roleId
|
116
176
|
)
|
117
177
|
external
|
118
|
-
|
178
|
+
onlyOwner()
|
119
179
|
{
|
120
|
-
|
180
|
+
// TODO refactor
|
181
|
+
// _instanceAdmin.setTargetFunctionRoleByInstance(targetName, selectors, roleId);
|
121
182
|
}
|
122
183
|
|
123
184
|
function setTargetLocked(address target, bool locked)
|
124
185
|
external
|
125
|
-
|
186
|
+
onlyOwner()
|
126
187
|
{
|
127
|
-
|
188
|
+
// TODO refactor
|
189
|
+
// _instanceAdmin.setTargetLockedByInstance(target, locked);
|
128
190
|
}
|
129
191
|
|
130
|
-
//--- ITransferInterceptor
|
131
|
-
// TODO interception of child components nfts
|
132
|
-
function nftMint(address to, uint256 tokenId) external onlyChainNft {
|
133
|
-
_instanceAdmin.transferInstanceOwnerRole(address(0), to);
|
134
|
-
}
|
192
|
+
//--- ITransferInterceptor ----------------------------------------------//
|
135
193
|
|
136
|
-
function nftTransferFrom(address from, address to, uint256 tokenId) external onlyChainNft {
|
137
|
-
|
194
|
+
function nftTransferFrom(address from, address to, uint256 tokenId, address operator) external onlyChainNft {
|
195
|
+
// TODO refactor
|
196
|
+
// _instanceAdmin.transferInstanceOwnerRole(from, to);
|
138
197
|
}
|
139
198
|
|
140
|
-
//function nftBurn(address from, uint256 tokenId) external onlyChainNft {
|
141
|
-
//_instanceAdmin.transferInstanceOwnerRole(from, address(0));
|
142
|
-
//}
|
143
|
-
|
144
199
|
//--- initial setup functions -------------------------------------------//
|
145
200
|
|
146
|
-
function setInstanceAdmin(InstanceAdmin accessManager) external restricted {
|
147
|
-
if(address(_instanceAdmin) != address(0)) {
|
148
|
-
revert ErrorInstanceInstanceAdminAlreadySet(address(_instanceAdmin));
|
149
|
-
}
|
150
|
-
if(accessManager.authority() != authority()) {
|
151
|
-
revert ErrorInstanceInstanceAdminAuthorityMismatch(authority());
|
152
|
-
}
|
153
|
-
_instanceAdmin = accessManager;
|
154
|
-
}
|
155
|
-
|
156
|
-
function setBundleManager(BundleManager bundleManager) external restricted() {
|
157
|
-
if(address(_bundleManager) != address(0)) {
|
158
|
-
revert ErrorInstanceBundleManagerAlreadySet(address(_bundleManager));
|
159
|
-
}
|
160
|
-
if(bundleManager.getInstance() != Instance(this)) {
|
161
|
-
revert ErrorInstanceBundleManagerInstanceMismatch(address(this));
|
162
|
-
}
|
163
|
-
if(bundleManager.authority() != authority()) {
|
164
|
-
revert ErrorInstanceBundleManagerAuthorityMismatch(authority());
|
165
|
-
}
|
166
|
-
_bundleManager = bundleManager;
|
167
|
-
}
|
168
201
|
|
169
|
-
function setInstanceReader(InstanceReader instanceReader)
|
202
|
+
function setInstanceReader(InstanceReader instanceReader)
|
203
|
+
external
|
204
|
+
restricted()
|
205
|
+
{
|
170
206
|
if(instanceReader.getInstance() != Instance(this)) {
|
171
207
|
revert ErrorInstanceInstanceReaderInstanceMismatch(address(this));
|
172
208
|
}
|
@@ -180,7 +216,7 @@ contract Instance is
|
|
180
216
|
return _instanceReader;
|
181
217
|
}
|
182
218
|
|
183
|
-
function
|
219
|
+
function getBundleSet() external view returns (BundleSet) {
|
184
220
|
return _bundleManager;
|
185
221
|
}
|
186
222
|
|
@@ -188,43 +224,9 @@ contract Instance is
|
|
188
224
|
return _instanceAdmin;
|
189
225
|
}
|
190
226
|
|
191
|
-
function setInstanceStore(InstanceStore instanceStore) external restricted {
|
192
|
-
if(address(_instanceStore) != address(0)) {
|
193
|
-
revert ErrorInstanceInstanceStoreAlreadySet(address(_instanceStore));
|
194
|
-
}
|
195
|
-
if(instanceStore.authority() != authority()) {
|
196
|
-
revert ErrorInstanceInstanceStoreAuthorityMismatch(authority());
|
197
|
-
}
|
198
|
-
_instanceStore = instanceStore;
|
199
|
-
}
|
200
|
-
|
201
227
|
function getInstanceStore() external view returns (InstanceStore) {
|
202
228
|
return _instanceStore;
|
203
229
|
}
|
204
230
|
|
205
|
-
function getMajorVersion() external pure returns (VersionPart majorVersion) {
|
206
|
-
return VersionPartLib.toVersionPart(GIF_MAJOR_VERSION);
|
207
|
-
}
|
208
|
-
|
209
|
-
function getDistributionService() external view returns (IDistributionService) {
|
210
|
-
return IDistributionService(getRegistry().getServiceAddress(DISTRIBUTION(), VersionPart.wrap(3)));
|
211
|
-
}
|
212
|
-
|
213
|
-
function getProductService() external view returns (IProductService) {
|
214
|
-
return IProductService(getRegistry().getServiceAddress(PRODUCT(), VersionPart.wrap(3)));
|
215
|
-
}
|
216
|
-
|
217
|
-
function getPoolService() external view returns (IPoolService) {
|
218
|
-
return IPoolService(getRegistry().getServiceAddress(POOL(), VersionPart.wrap(3)));
|
219
|
-
}
|
220
|
-
|
221
|
-
function getPolicyService() external view returns (IPolicyService) {
|
222
|
-
return IPolicyService(getRegistry().getServiceAddress(POLICY(), VersionPart.wrap(3)));
|
223
|
-
}
|
224
|
-
|
225
|
-
function getBundleService() external view returns (IBundleService) {
|
226
|
-
return IBundleService(getRegistry().getServiceAddress(BUNDLE(), VersionPart.wrap(3)));
|
227
|
-
}
|
228
|
-
|
229
231
|
//--- internal view/pure functions --------------------------------------//
|
230
232
|
}
|