@etherisc/gif-next 0.0.2-fd4931b-974 → 0.0.2-fd5f17a-625
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 +51 -5
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1253 -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 +358 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1032 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +258 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +290 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +148 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +390 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +190 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1342 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +410 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +65 -463
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +291 -234
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +88 -100
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +102 -165
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +171 -47
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1411 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1171 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1517 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +1978 -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 +77 -78
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +149 -52
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +75 -205
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1626 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +601 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +410 -130
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +191 -206
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +60 -92
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +387 -268
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- 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 +182 -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 +8 -116
- 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 +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +979 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +418 -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 +765 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +675 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +871 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +922 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +679 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1248 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +410 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +440 -169
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +132 -84
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +225 -2
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +56 -295
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +255 -101
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +102 -627
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +309 -251
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +57 -81
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +72 -160
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +55 -87
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1096 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +410 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +229 -168
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +82 -94
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +25 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +134 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +204 -120
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +63 -44
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +43 -84
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +22 -3
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +273 -301
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +77 -93
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +134 -243
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +70 -110
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +53 -390
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +583 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +651 -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 +302 -61
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -184
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +645 -123
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1861 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +66 -124
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +46 -81
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +164 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1169 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +214 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +46 -177
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +18 -223
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +271 -164
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +83 -95
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +14 -107
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +11 -31
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +180 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +43 -42
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +11 -15
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +0 -5
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +7 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +0 -42
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +7 -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 +20 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +39 -0
- 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 +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +50 -287
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +15 -99
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +4 -65
- 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 +10 -55
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +4 -136
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +11 -94
- 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 +14 -107
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +273 -605
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +471 -62
- 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 +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +332 -1004
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +164 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +73 -203
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -39
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +484 -213
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +57 -84
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2242 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +318 -19
- 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 +97 -4
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +40 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +4 -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 +17 -12
- 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 +28 -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 +4 -4
- 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 +4 -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 +100 -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 +2 -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 +58 -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 +566 -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 +589 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +217 -0
- package/contracts/authorization/IAccess.sol +48 -0
- package/contracts/authorization/IAccessAdmin.sol +136 -0
- package/contracts/authorization/IAuthorization.sol +54 -0
- package/contracts/authorization/IModuleAuthorization.sol +21 -0
- package/contracts/authorization/IServiceAuthorization.sol +38 -0
- package/contracts/authorization/ModuleAuthorization.sol +78 -0
- package/contracts/authorization/ServiceAuthorization.sol +90 -0
- package/contracts/distribution/BasicDistribution.sol +138 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +146 -114
- package/contracts/distribution/DistributionService.sol +84 -46
- package/contracts/distribution/DistributionServiceManager.sol +2 -17
- package/contracts/distribution/IDistributionComponent.sol +26 -40
- package/contracts/distribution/IDistributionService.sol +24 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +29 -43
- package/contracts/instance/IInstanceService.sol +36 -27
- package/contracts/instance/Instance.sol +117 -116
- package/contracts/instance/InstanceAdmin.sol +285 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +204 -0
- package/contracts/instance/InstanceReader.sol +82 -18
- package/contracts/instance/InstanceService.sol +206 -106
- package/contracts/instance/InstanceServiceManager.sol +2 -6
- package/contracts/instance/InstanceStore.sol +49 -22
- package/contracts/instance/base/BalanceStore.sol +11 -6
- 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 -10
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +1 -7
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +22 -22
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +48 -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 +65 -0
- package/contracts/oracle/Oracle.sol +167 -0
- package/contracts/oracle/OracleService.sol +279 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +166 -0
- package/contracts/pool/BasicPoolAuthorization.sol +58 -0
- package/contracts/pool/BundleService.sol +211 -69
- package/contracts/pool/BundleServiceManager.sol +2 -5
- package/contracts/pool/IBundleService.sol +34 -6
- package/contracts/pool/IPoolComponent.sol +6 -60
- package/contracts/pool/IPoolService.sol +40 -27
- package/contracts/pool/Pool.sol +165 -138
- package/contracts/pool/PoolService.sol +199 -114
- package/contracts/pool/PoolServiceManager.sol +2 -5
- package/contracts/product/ApplicationService.sol +59 -65
- package/contracts/product/ApplicationServiceManager.sol +2 -2
- package/contracts/product/BasicProduct.sol +53 -0
- package/contracts/product/BasicProductAuthorization.sol +43 -0
- package/contracts/product/ClaimService.sol +132 -82
- package/contracts/product/ClaimServiceManager.sol +2 -2
- package/contracts/product/IApplicationService.sol +2 -1
- package/contracts/product/IClaimService.sol +32 -3
- package/contracts/product/IPolicyService.sol +28 -33
- package/contracts/product/IPricingService.sol +8 -8
- package/contracts/product/IProductComponent.sol +7 -10
- package/contracts/product/{IProductService.sol → IRiskService.sol} +2 -2
- package/contracts/product/PolicyService.sol +289 -189
- package/contracts/product/PolicyServiceManager.sol +2 -5
- package/contracts/product/PricingService.sol +52 -52
- package/contracts/product/PricingServiceManager.sol +2 -5
- package/contracts/product/Product.sol +163 -115
- package/contracts/product/{ProductService.sol → RiskService.sol} +18 -45
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +65 -31
- package/contracts/registry/IRegistry.sol +79 -29
- package/contracts/registry/IRegistryService.sol +7 -6
- package/contracts/registry/Registry.sol +354 -215
- package/contracts/registry/RegistryAdmin.sol +464 -0
- package/contracts/registry/RegistryService.sol +14 -90
- package/contracts/registry/RegistryServiceManager.sol +3 -22
- package/contracts/registry/ReleaseLifecycle.sol +27 -0
- package/contracts/registry/ReleaseRegistry.sol +491 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +199 -0
- package/contracts/registry/TokenRegistry.sol +58 -62
- package/contracts/shared/Component.sol +35 -53
- package/contracts/shared/ComponentService.sol +127 -81
- package/contracts/shared/ComponentServiceManager.sol +2 -2
- package/contracts/shared/ComponentVerifyingService.sol +14 -8
- package/contracts/shared/IComponent.sol +7 -11
- package/contracts/shared/IComponentService.sol +26 -9
- package/contracts/shared/IInstanceLinkedComponent.sol +10 -7
- package/contracts/shared/IKeyValueStore.sol +2 -1
- package/contracts/shared/ILifecycle.sol +1 -2
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +0 -9
- package/contracts/shared/IService.sol +9 -2
- package/contracts/shared/InitializableCustom.sol +177 -0
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +51 -24
- package/contracts/shared/KeyValueStore.sol +7 -6
- package/contracts/shared/Lifecycle.sol +16 -60
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +3 -7
- package/contracts/shared/NftOwnable.sol +9 -20
- package/contracts/shared/PolicyHolder.sol +8 -53
- package/contracts/shared/Registerable.sol +4 -4
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +33 -28
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +96 -41
- package/contracts/staking/IStakingService.sol +78 -40
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +305 -155
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +21 -23
- package/contracts/staking/StakingReader.sol +119 -28
- package/contracts/staking/StakingService.sol +190 -77
- package/contracts/staking/StakingServiceManager.sol +4 -4
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +83 -13
- package/contracts/type/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +24 -3
- package/contracts/type/Blocknumber.sol +20 -2
- package/contracts/type/Fee.sol +1 -1
- package/contracts/type/NftId.sol +9 -9
- package/contracts/type/NftIdSet.sol +1 -1
- package/contracts/type/ObjectType.sol +174 -68
- package/contracts/type/Referral.sol +2 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +1 -1
- package/contracts/type/RoleId.sol +104 -73
- package/contracts/type/Seconds.sol +39 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +13 -0
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +17 -3
- package/contracts/type/UFixed.sol +34 -9
- package/contracts/type/Version.sol +4 -2
- package/contracts/{shared → upgradeability}/ProxyManager.sol +9 -6
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/package.json +8 -5
- 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/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -1348
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -132
- 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/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 -673
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -675
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -298
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1112
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- 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/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -314
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -598
- 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/InstanceAccessManager.sol +0 -543
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -336
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/RegistryAccessManager.sol +0 -167
- package/contracts/registry/ReleaseManager.sol +0 -530
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +0 -13
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
- /package/contracts/{shared → upgradeability}/Versionable.sol +0 -0
@@ -0,0 +1,76 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Amount, AmountLib} from "../../type/Amount.sol";
|
5
|
+
import {BasicPool} from "../../pool/BasicPool.sol";
|
6
|
+
import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
|
7
|
+
import {Fee} from "../../type/Fee.sol";
|
8
|
+
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
9
|
+
import {NftId} from "../../type/NftId.sol";
|
10
|
+
import {Seconds} from "../../type/Timestamp.sol";
|
11
|
+
import {UFixed} from "../../type/UFixed.sol";
|
12
|
+
|
13
|
+
contract SimplePool is
|
14
|
+
BasicPool
|
15
|
+
{
|
16
|
+
|
17
|
+
constructor(
|
18
|
+
address registry,
|
19
|
+
NftId instanceNftId,
|
20
|
+
address token,
|
21
|
+
IAuthorization authorization,
|
22
|
+
address initialOwner
|
23
|
+
)
|
24
|
+
{
|
25
|
+
initialize(
|
26
|
+
registry,
|
27
|
+
instanceNftId,
|
28
|
+
token,
|
29
|
+
authorization,
|
30
|
+
initialOwner
|
31
|
+
);
|
32
|
+
}
|
33
|
+
|
34
|
+
function initialize(
|
35
|
+
address registry,
|
36
|
+
NftId instanceNftId,
|
37
|
+
address token,
|
38
|
+
IAuthorization authorization,
|
39
|
+
address initialOwner
|
40
|
+
)
|
41
|
+
public
|
42
|
+
virtual
|
43
|
+
initializer()
|
44
|
+
{
|
45
|
+
_initializeBasicPool(
|
46
|
+
registry,
|
47
|
+
instanceNftId,
|
48
|
+
authorization,
|
49
|
+
token,
|
50
|
+
"SimplePool",
|
51
|
+
initialOwner);
|
52
|
+
}
|
53
|
+
|
54
|
+
function createBundle(
|
55
|
+
Fee memory fee,
|
56
|
+
uint256 initialAmount,
|
57
|
+
Seconds lifetime,
|
58
|
+
bytes calldata filter
|
59
|
+
)
|
60
|
+
external
|
61
|
+
virtual
|
62
|
+
returns(NftId bundleNftId, uint256 netStakedAmountInt)
|
63
|
+
{
|
64
|
+
address owner = msg.sender;
|
65
|
+
Amount netStakedAmount;
|
66
|
+
bundleNftId = _createBundle(
|
67
|
+
owner,
|
68
|
+
fee,
|
69
|
+
lifetime,
|
70
|
+
filter
|
71
|
+
);
|
72
|
+
netStakedAmount = _stake(bundleNftId, AmountLib.toAmount(initialAmount));
|
73
|
+
netStakedAmountInt = netStakedAmount.toInt();
|
74
|
+
}
|
75
|
+
|
76
|
+
}
|
@@ -0,0 +1,351 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {Amount, AmountLib} from "../../type/Amount.sol";
|
5
|
+
import {BasicProduct} from "../../product/BasicProduct.sol";
|
6
|
+
import {ClaimId} from "../../type/ClaimId.sol";
|
7
|
+
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
8
|
+
import {IOracleService} from "../../oracle/IOracleService.sol";
|
9
|
+
import {ORACLE} from "../../type/ObjectType.sol";
|
10
|
+
import {NftId} from "../../type/NftId.sol";
|
11
|
+
import {PayoutId} from "../../type/PayoutId.sol";
|
12
|
+
import {ReferralId} from "../../type/Referral.sol";
|
13
|
+
import {RequestId} from "../../type/RequestId.sol";
|
14
|
+
import {RiskId} from "../../type/RiskId.sol";
|
15
|
+
import {Seconds} from "../../type/Seconds.sol";
|
16
|
+
import {SimpleOracle} from "./SimpleOracle.sol";
|
17
|
+
import {StateId} from "../../type/StateId.sol";
|
18
|
+
import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
|
19
|
+
|
20
|
+
uint64 constant SPECIAL_ROLE_INT = 11111;
|
21
|
+
|
22
|
+
contract SimpleProduct is
|
23
|
+
BasicProduct
|
24
|
+
{
|
25
|
+
|
26
|
+
event LogSimpleProductRequestAsyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
|
27
|
+
event LogSimpleProductRequestSyncFulfilled(RequestId requestId, string responseText, uint256 responseDataLength);
|
28
|
+
|
29
|
+
error ErrorSimpleProductRevertedWhileProcessingResponse(RequestId requestId);
|
30
|
+
|
31
|
+
IOracleService private _oracleService;
|
32
|
+
|
33
|
+
constructor(
|
34
|
+
address registry,
|
35
|
+
NftId instanceNftid,
|
36
|
+
IAuthorization authorization,
|
37
|
+
address initialOwner,
|
38
|
+
address token,
|
39
|
+
bool isInterceptor,
|
40
|
+
address pool,
|
41
|
+
address distribution
|
42
|
+
)
|
43
|
+
{
|
44
|
+
initialize(
|
45
|
+
registry,
|
46
|
+
instanceNftid,
|
47
|
+
authorization,
|
48
|
+
initialOwner,
|
49
|
+
"SimpleProduct",
|
50
|
+
token,
|
51
|
+
isInterceptor,
|
52
|
+
pool,
|
53
|
+
distribution);
|
54
|
+
}
|
55
|
+
|
56
|
+
|
57
|
+
function initialize(
|
58
|
+
address registry,
|
59
|
+
NftId instanceNftid,
|
60
|
+
IAuthorization authorization,
|
61
|
+
address initialOwner,
|
62
|
+
string memory name,
|
63
|
+
address token,
|
64
|
+
bool isInterceptor,
|
65
|
+
address pool,
|
66
|
+
address distribution
|
67
|
+
)
|
68
|
+
public
|
69
|
+
virtual
|
70
|
+
initializer()
|
71
|
+
{
|
72
|
+
_initializeBasicProduct(
|
73
|
+
registry,
|
74
|
+
instanceNftid,
|
75
|
+
authorization,
|
76
|
+
initialOwner,
|
77
|
+
name,
|
78
|
+
token,
|
79
|
+
isInterceptor,
|
80
|
+
pool,
|
81
|
+
distribution);
|
82
|
+
|
83
|
+
_oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
84
|
+
}
|
85
|
+
|
86
|
+
function createRisk(
|
87
|
+
RiskId id,
|
88
|
+
bytes memory data
|
89
|
+
) public {
|
90
|
+
_createRisk(
|
91
|
+
id,
|
92
|
+
data
|
93
|
+
);
|
94
|
+
}
|
95
|
+
|
96
|
+
function updateRisk(
|
97
|
+
RiskId id,
|
98
|
+
bytes memory data
|
99
|
+
) public {
|
100
|
+
_updateRisk(
|
101
|
+
id,
|
102
|
+
data
|
103
|
+
);
|
104
|
+
}
|
105
|
+
|
106
|
+
function updateRiskState(
|
107
|
+
RiskId id,
|
108
|
+
StateId state
|
109
|
+
) public {
|
110
|
+
_updateRiskState(
|
111
|
+
id,
|
112
|
+
state
|
113
|
+
);
|
114
|
+
}
|
115
|
+
|
116
|
+
function createApplication(
|
117
|
+
address applicationOwner,
|
118
|
+
RiskId riskId,
|
119
|
+
uint256 sumInsured,
|
120
|
+
Seconds lifetime,
|
121
|
+
bytes memory applicationData,
|
122
|
+
NftId bundleNftId,
|
123
|
+
ReferralId referralId
|
124
|
+
)
|
125
|
+
public
|
126
|
+
returns (NftId nftId)
|
127
|
+
{
|
128
|
+
Amount sumInsuredAmount = AmountLib.toAmount(sumInsured);
|
129
|
+
Amount premiumAmount = calculatePremium(
|
130
|
+
sumInsuredAmount,
|
131
|
+
riskId,
|
132
|
+
lifetime,
|
133
|
+
applicationData,
|
134
|
+
bundleNftId,
|
135
|
+
referralId);
|
136
|
+
|
137
|
+
return _createApplication(
|
138
|
+
applicationOwner,
|
139
|
+
riskId,
|
140
|
+
sumInsuredAmount,
|
141
|
+
premiumAmount,
|
142
|
+
lifetime,
|
143
|
+
bundleNftId,
|
144
|
+
referralId,
|
145
|
+
applicationData
|
146
|
+
);
|
147
|
+
}
|
148
|
+
|
149
|
+
function createPolicy(
|
150
|
+
NftId applicationNftId,
|
151
|
+
bool requirePremiumPayment,
|
152
|
+
Timestamp activateAt
|
153
|
+
) public {
|
154
|
+
_createPolicy(applicationNftId, activateAt);
|
155
|
+
if (requirePremiumPayment == true) {
|
156
|
+
_collectPremium(applicationNftId, activateAt);
|
157
|
+
}
|
158
|
+
}
|
159
|
+
|
160
|
+
function decline(
|
161
|
+
NftId policyNftId
|
162
|
+
) public {
|
163
|
+
_decline(policyNftId);
|
164
|
+
}
|
165
|
+
|
166
|
+
function expire(
|
167
|
+
NftId policyNftId,
|
168
|
+
Timestamp expireAt
|
169
|
+
)
|
170
|
+
public
|
171
|
+
returns (Timestamp)
|
172
|
+
{
|
173
|
+
return _expire(policyNftId, expireAt);
|
174
|
+
}
|
175
|
+
|
176
|
+
function collectPremium(
|
177
|
+
NftId policyNftId,
|
178
|
+
Timestamp activateAt
|
179
|
+
) public {
|
180
|
+
_collectPremium(policyNftId, activateAt);
|
181
|
+
}
|
182
|
+
|
183
|
+
function activate(
|
184
|
+
NftId policyNftId,
|
185
|
+
Timestamp activateAt
|
186
|
+
) public {
|
187
|
+
_activate(policyNftId, activateAt);
|
188
|
+
}
|
189
|
+
|
190
|
+
function close(
|
191
|
+
NftId policyNftId
|
192
|
+
) public {
|
193
|
+
_close(policyNftId);
|
194
|
+
}
|
195
|
+
|
196
|
+
function submitClaim(
|
197
|
+
NftId policyNftId,
|
198
|
+
Amount claimAmount,
|
199
|
+
bytes memory submissionData
|
200
|
+
) public returns (ClaimId) {
|
201
|
+
return _submitClaim(policyNftId, claimAmount, submissionData);
|
202
|
+
}
|
203
|
+
|
204
|
+
function confirmClaim(
|
205
|
+
NftId policyNftId,
|
206
|
+
ClaimId claimId,
|
207
|
+
Amount confirmedAmount,
|
208
|
+
bytes memory processData
|
209
|
+
) public {
|
210
|
+
_confirmClaim(policyNftId, claimId, confirmedAmount, processData);
|
211
|
+
}
|
212
|
+
|
213
|
+
function declineClaim(
|
214
|
+
NftId policyNftId,
|
215
|
+
ClaimId claimId,
|
216
|
+
bytes memory processData
|
217
|
+
) public {
|
218
|
+
_declineClaim(policyNftId, claimId, processData);
|
219
|
+
}
|
220
|
+
|
221
|
+
function closeClaim(
|
222
|
+
NftId policyNftId,
|
223
|
+
ClaimId claimId
|
224
|
+
) public {
|
225
|
+
_closeClaim(policyNftId, claimId);
|
226
|
+
}
|
227
|
+
|
228
|
+
function createPayout(
|
229
|
+
NftId policyNftId,
|
230
|
+
ClaimId claimId,
|
231
|
+
Amount amount,
|
232
|
+
bytes memory data
|
233
|
+
) public returns (PayoutId) {
|
234
|
+
return _createPayout(policyNftId, claimId, amount, data);
|
235
|
+
}
|
236
|
+
|
237
|
+
// TODO add test
|
238
|
+
function createPayoutForBeneficiary(
|
239
|
+
NftId policyNftId,
|
240
|
+
ClaimId claimId,
|
241
|
+
Amount amount,
|
242
|
+
address beneficiary,
|
243
|
+
bytes memory data
|
244
|
+
) public returns (PayoutId) {
|
245
|
+
return _createPayoutForBeneficiary(policyNftId, claimId, amount, beneficiary, data);
|
246
|
+
}
|
247
|
+
|
248
|
+
function processPayout(
|
249
|
+
NftId policyNftId,
|
250
|
+
PayoutId payoutId
|
251
|
+
) public {
|
252
|
+
_processPayout(policyNftId, payoutId);
|
253
|
+
}
|
254
|
+
|
255
|
+
function createOracleRequest(
|
256
|
+
NftId oracleNftId,
|
257
|
+
string memory requestText,
|
258
|
+
Timestamp expiryAt,
|
259
|
+
bool synchronous
|
260
|
+
)
|
261
|
+
public
|
262
|
+
// restricted()
|
263
|
+
returns (RequestId)
|
264
|
+
{
|
265
|
+
bytes memory requestData = abi.encode(SimpleOracle.SimpleRequest(
|
266
|
+
synchronous,
|
267
|
+
requestText));
|
268
|
+
|
269
|
+
if (synchronous) {
|
270
|
+
return _oracleService.request(
|
271
|
+
oracleNftId,
|
272
|
+
requestData,
|
273
|
+
expiryAt,
|
274
|
+
"fulfillOracleRequestSync");
|
275
|
+
} else {
|
276
|
+
return _oracleService.request(
|
277
|
+
oracleNftId,
|
278
|
+
requestData,
|
279
|
+
expiryAt,
|
280
|
+
"fulfillOracleRequestAsync");
|
281
|
+
}
|
282
|
+
}
|
283
|
+
|
284
|
+
function cancelOracleRequest(
|
285
|
+
RequestId requestId
|
286
|
+
)
|
287
|
+
public
|
288
|
+
// restricted() //
|
289
|
+
{
|
290
|
+
_oracleService.cancel(requestId);
|
291
|
+
}
|
292
|
+
|
293
|
+
function fulfillOracleRequestSync(
|
294
|
+
RequestId requestId,
|
295
|
+
bytes memory responseData
|
296
|
+
)
|
297
|
+
public
|
298
|
+
// restricted() // only oracle service
|
299
|
+
{
|
300
|
+
string memory responseText = abi.decode(responseData, (string));
|
301
|
+
emit LogSimpleProductRequestSyncFulfilled(requestId, responseText, bytes(responseText).length);
|
302
|
+
}
|
303
|
+
|
304
|
+
function fulfillOracleRequestAsync(
|
305
|
+
RequestId requestId,
|
306
|
+
bytes memory responseData
|
307
|
+
)
|
308
|
+
public
|
309
|
+
// restricted() // only oracle service
|
310
|
+
{
|
311
|
+
SimpleOracle.SimpleResponse memory response = abi.decode(
|
312
|
+
responseData, (SimpleOracle.SimpleResponse));
|
313
|
+
|
314
|
+
if (response.revertInCall && response.revertUntil >= TimestampLib.blockTimestamp()) {
|
315
|
+
revert ErrorSimpleProductRevertedWhileProcessingResponse(requestId);
|
316
|
+
}
|
317
|
+
|
318
|
+
emit LogSimpleProductRequestAsyncFulfilled(requestId, response.text, bytes(response.text).length);
|
319
|
+
}
|
320
|
+
|
321
|
+
|
322
|
+
function resend(
|
323
|
+
RequestId requestId
|
324
|
+
)
|
325
|
+
public
|
326
|
+
// restricted() //
|
327
|
+
{
|
328
|
+
_oracleService.resend(requestId);
|
329
|
+
}
|
330
|
+
|
331
|
+
|
332
|
+
function doSomethingSpecial()
|
333
|
+
public
|
334
|
+
restricted()
|
335
|
+
returns (bool)
|
336
|
+
{
|
337
|
+
return true;
|
338
|
+
}
|
339
|
+
|
340
|
+
function doWhenNotLocked()
|
341
|
+
public
|
342
|
+
restricted()
|
343
|
+
returns (bool)
|
344
|
+
{
|
345
|
+
return true;
|
346
|
+
}
|
347
|
+
|
348
|
+
function getOracleService() public view returns (IOracleService) {
|
349
|
+
return _oracleService;
|
350
|
+
}
|
351
|
+
}
|
@@ -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,17 @@ 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 {
|
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
|
-
|
21
|
-
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
22
|
-
import {BundleManager} from "./BundleManager.sol";
|
6
|
+
import {Amount} from "../type/Amount.sol";
|
7
|
+
import {BundleSet} from "./BundleSet.sol";
|
8
|
+
import {InstanceAdmin} from "./InstanceAdmin.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 {IDistributionService} from "../distribution/IDistributionService.sol";
|
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 {RoleId} from "../type/RoleId.sol";
|
14
|
+
import {Seconds} from "../type/Seconds.sol";
|
15
|
+
import {UFixed} from "../type/UFixed.sol";
|
16
|
+
import {VersionPart} from "../type/Version.sol";
|
38
17
|
|
39
18
|
|
40
19
|
interface IInstance is
|
@@ -42,19 +21,23 @@ interface IInstance is
|
|
42
21
|
ITransferInterceptor,
|
43
22
|
IAccessManaged
|
44
23
|
{
|
45
|
-
error
|
46
|
-
error
|
47
|
-
error
|
24
|
+
error ErrorInstanceInstanceAdminZero();
|
25
|
+
error ErrorInstanceInstanceAdminAlreadySet(address InstanceAdmin);
|
26
|
+
error ErrorInstanceInstanceAdminAuthorityMismatch(address instanceAuthority);
|
48
27
|
|
49
|
-
error
|
50
|
-
error
|
51
|
-
error
|
28
|
+
error ErrorInstanceBundleSetAlreadySet(address instanceBundleSet);
|
29
|
+
error ErrorInstanceBundleSetInstanceMismatch(address instance);
|
30
|
+
error ErrorInstanceBundleSetAuthorityMismatch(address instanceAuthority);
|
52
31
|
|
53
32
|
error ErrorInstanceInstanceReaderInstanceMismatch(address instanceAuthority);
|
54
33
|
|
55
34
|
error ErrorInstanceInstanceStoreAlreadySet(address instanceStore);
|
56
35
|
error ErrorInstanceInstanceStoreAuthorityMismatch(address instanceAuthority);
|
57
36
|
|
37
|
+
struct InstanceInfo {
|
38
|
+
uint64 requestsCount;
|
39
|
+
}
|
40
|
+
|
58
41
|
function createRole(string memory roleName, string memory adminName) external returns (RoleId roleId, RoleId admin);
|
59
42
|
function grantRole(RoleId roleId, address account) external;
|
60
43
|
function revokeRole(RoleId roleId, address account) external;
|
@@ -63,15 +46,18 @@ interface IInstance is
|
|
63
46
|
function setTargetFunctionRole(string memory targetName, bytes4[] calldata selectors, RoleId roleId) external;
|
64
47
|
function setTargetLocked(address target, bool locked) external;
|
65
48
|
|
66
|
-
function
|
67
|
-
function
|
68
|
-
function
|
69
|
-
|
70
|
-
|
49
|
+
function setStakingLockingPeriod(Seconds stakeLockingPeriod) external;
|
50
|
+
function setStakingRewardRate(UFixed rewardRate) external;
|
51
|
+
function refillStakingRewardReserves(Amount dipAmount) external;
|
52
|
+
|
53
|
+
/// @dev Defunds the staking reward reserves for the specified target.
|
54
|
+
/// Permissioned: only the target owner may call this function.
|
55
|
+
function withdrawStakingRewardReserves(Amount dipAmount) external returns (Amount newBalance);
|
71
56
|
|
57
|
+
// get instance release and supporting contracts
|
72
58
|
function getMajorVersion() external pure returns (VersionPart majorVersion);
|
73
59
|
function getInstanceReader() external view returns (InstanceReader);
|
74
|
-
function
|
75
|
-
function
|
60
|
+
function getBundleSet() external view returns (BundleSet);
|
61
|
+
function getInstanceAdmin() external view returns (InstanceAdmin);
|
76
62
|
function getInstanceStore() external view returns (InstanceStore);
|
77
63
|
}
|