@etherisc/gif-next 0.0.2-c17621f-221 → 0.0.2-c258ac8-869
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 +80 -6
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1007 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +744 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +496 -255
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.json +24 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +277 -20
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +395 -203
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +143 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +19 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +68 -5
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +172 -305
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +265 -31
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +103 -185
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +343 -163
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +160 -79
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +90 -167
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +209 -70
- 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 +1445 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2002 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +644 -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 +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +247 -270
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +156 -175
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +325 -230
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +644 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +751 -340
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +644 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +236 -39
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +144 -93
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +284 -62
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +738 -328
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +209 -94
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +916 -308
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +175 -169
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +114 -63
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +764 -623
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- 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/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +46 -5
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -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 +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +142 -183
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +247 -33
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +104 -116
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +69 -11
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +118 -135
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +156 -81
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +140 -55
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +158 -175
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +265 -31
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +167 -268
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +124 -95
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +90 -117
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +133 -156
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +287 -255
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +146 -174
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +456 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +491 -386
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +178 -65
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +195 -48
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +125 -52
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +278 -234
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +265 -31
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +319 -148
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +155 -82
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +131 -9
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +199 -21
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +244 -48
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +117 -43
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +258 -209
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +86 -6
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +377 -148
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +293 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +163 -70
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +183 -132
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +119 -70
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +268 -224
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +172 -67
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +137 -52
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +126 -26
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +144 -41
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +4 -0
- package/artifacts/contracts/registry/IRelease.sol/IRelease.json +24 -0
- 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 +170 -62
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +593 -436
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +112 -183
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +112 -47
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1954 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +47 -6
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +426 -258
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +66 -8
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +94 -93
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +512 -524
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +151 -88
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +60 -2
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +597 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +81 -75
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +463 -300
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +104 -116
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +36 -0
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +36 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +16 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +16 -6
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +148 -0
- 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 +55 -2
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +117 -134
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +42 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +18 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +18 -8
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +152 -38
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +60 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +327 -73
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +484 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +88 -24
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +170 -117
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +152 -20
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +264 -204
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +46 -5
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +141 -63
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +41 -73
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +208 -59
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +121 -52
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +205 -150
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +60 -50
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +35 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- 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 +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- 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/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -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 +33 -31
- 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 +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +125 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +79 -15
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- 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 +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +73 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +89 -37
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +337 -222
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +350 -202
- package/contracts/authorization/IAccess.sol +13 -4
- package/contracts/authorization/IAccessAdmin.sol +69 -35
- package/contracts/authorization/IAuthorization.sol +33 -7
- package/contracts/authorization/IServiceAuthorization.sol +3 -1
- package/contracts/authorization/ServiceAuthorization.sol +26 -10
- package/contracts/distribution/BasicDistribution.sol +20 -17
- package/contracts/distribution/BasicDistributionAuthorization.sol +22 -9
- package/contracts/distribution/Distribution.sol +36 -87
- package/contracts/distribution/DistributionService.sol +147 -98
- package/contracts/distribution/DistributionServiceManager.sol +6 -6
- package/contracts/distribution/IDistributionComponent.sol +1 -10
- package/contracts/distribution/IDistributionService.sol +22 -20
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +86 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +433 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +43 -12
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +8 -12
- package/contracts/examples/unpermissioned/SimplePool.sol +36 -10
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +51 -29
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +60 -17
- package/contracts/instance/IInstanceService.sol +27 -31
- package/contracts/instance/Instance.sol +115 -40
- package/contracts/instance/InstanceAdmin.sol +287 -122
- package/contracts/instance/InstanceAuthorizationV3.sol +90 -59
- package/contracts/instance/InstanceReader.sol +259 -39
- package/contracts/instance/InstanceService.sol +186 -194
- package/contracts/instance/InstanceServiceManager.sol +6 -7
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +29 -13
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +30 -9
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -4
- package/contracts/oracle/BasicOracleAuthorization.sol +3 -12
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +5 -18
- package/contracts/oracle/OracleService.sol +111 -80
- package/contracts/oracle/OracleServiceManager.sol +6 -6
- package/contracts/pool/BasicPool.sol +32 -25
- package/contracts/pool/BasicPoolAuthorization.sol +27 -9
- package/contracts/pool/BundleService.sol +91 -134
- package/contracts/pool/BundleServiceManager.sol +6 -6
- package/contracts/pool/IBundleService.sol +15 -34
- package/contracts/pool/IPoolComponent.sol +19 -15
- package/contracts/pool/IPoolService.sol +70 -65
- package/contracts/pool/Pool.sol +136 -119
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +482 -236
- package/contracts/pool/PoolServiceManager.sol +4 -4
- package/contracts/product/ApplicationService.sol +47 -21
- package/contracts/product/ApplicationServiceManager.sol +4 -4
- package/contracts/product/BasicProduct.sol +9 -13
- package/contracts/product/BasicProductAuthorization.sol +24 -11
- package/contracts/product/ClaimService.sol +300 -155
- package/contracts/product/ClaimServiceManager.sol +4 -4
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +17 -4
- package/contracts/product/IPolicyService.sol +33 -11
- package/contracts/product/IPricingService.sol +10 -9
- package/contracts/product/IProductComponent.sol +27 -4
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +337 -246
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +4 -4
- package/contracts/product/PricingService.sol +38 -30
- package/contracts/product/PricingServiceManager.sol +4 -4
- package/contracts/product/Product.sol +118 -76
- package/contracts/product/RiskService.sol +90 -33
- package/contracts/product/RiskServiceManager.sol +4 -4
- package/contracts/registry/ChainNft.sol +10 -11
- package/contracts/registry/IRegistry.sol +20 -18
- package/contracts/registry/IRegistryService.sol +5 -12
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +36 -8
- package/contracts/registry/RegistryAdmin.sol +145 -351
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/RegistryService.sol +36 -47
- package/contracts/registry/RegistryServiceManager.sol +3 -3
- package/contracts/registry/ReleaseAdmin.sol +253 -0
- package/contracts/registry/ReleaseLifecycle.sol +8 -3
- package/contracts/registry/ReleaseRegistry.sol +271 -245
- package/contracts/registry/ServiceAuthorizationV3.sol +182 -50
- package/contracts/registry/TokenRegistry.sol +10 -9
- package/contracts/shared/Component.sol +61 -119
- package/contracts/shared/ComponentService.sol +436 -369
- package/contracts/shared/ComponentServiceManager.sol +8 -5
- package/contracts/shared/ComponentVerifyingService.sol +27 -16
- package/contracts/shared/ContractLib.sol +281 -0
- package/contracts/shared/IComponent.sol +5 -17
- package/contracts/shared/IComponentService.sol +44 -40
- package/contracts/shared/IInstanceLinkedComponent.sol +3 -22
- package/contracts/shared/ILifecycle.sol +3 -1
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -13
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +69 -46
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +15 -4
- package/contracts/shared/NftOwnable.sol +27 -7
- package/contracts/shared/PolicyHolder.sol +12 -6
- package/contracts/shared/Registerable.sol +50 -19
- package/contracts/shared/RegistryLinked.sol +7 -13
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +275 -72
- package/contracts/shared/TokenHandlerDeployerLib.sol +10 -2
- package/contracts/staking/IStaking.sol +23 -12
- package/contracts/staking/IStakingService.sol +16 -4
- package/contracts/staking/Staking.sol +97 -49
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingManager.sol +8 -6
- package/contracts/staking/StakingReader.sol +18 -21
- package/contracts/staking/StakingService.sol +81 -24
- package/contracts/staking/StakingServiceManager.sol +6 -5
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Amount.sol +15 -0
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +7 -0
- package/contracts/type/ObjectType.sol +54 -35
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/RiskId.sol +38 -6
- package/contracts/type/RoleId.sol +23 -15
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/StateId.sol +14 -1
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +37 -126
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +79 -43
- package/contracts/upgradeability/Versionable.sol +2 -2
- package/package.json +5 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.json +0 -290
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +0 -4
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.json +0 -390
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/IModuleAuthorization.sol +0 -21
- package/contracts/authorization/ModuleAuthorization.sol +0 -78
- package/contracts/instance/module/IAccess.sol +0 -46
- package/contracts/shared/InitializableCustom.sol +0 -177
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {VersionPart} from "./Version.sol";
|
5
|
+
|
4
6
|
type ObjectType is uint8;
|
5
7
|
|
6
8
|
// type bindings
|
@@ -9,6 +11,7 @@ using {
|
|
9
11
|
neObjectType as !=,
|
10
12
|
ObjectTypeLib.toInt,
|
11
13
|
ObjectTypeLib.eqz,
|
14
|
+
ObjectTypeLib.eq,
|
12
15
|
ObjectTypeLib.gtz
|
13
16
|
} for ObjectType global;
|
14
17
|
|
@@ -43,10 +46,16 @@ function INSTANCE() pure returns (ObjectType) {
|
|
43
46
|
return ObjectType.wrap(10);
|
44
47
|
}
|
45
48
|
|
49
|
+
/// @dev Generic component object type.
|
50
|
+
/// Component role id range is 11-19.
|
51
|
+
/// Stick to this range for new component object types.
|
46
52
|
function COMPONENT() pure returns (ObjectType) {
|
47
53
|
return ObjectType.wrap(11);
|
48
54
|
}
|
49
55
|
|
56
|
+
/// @dev Product object type.
|
57
|
+
/// IMPORTANT the actual value has an influence on the corresponding role id (RoleIdLib.sol).
|
58
|
+
/// Do not change this value without updating the corresponding role id calculation.
|
50
59
|
function PRODUCT() pure returns (ObjectType) {
|
51
60
|
return ObjectType.wrap(12);
|
52
61
|
}
|
@@ -63,6 +72,8 @@ function POOL() pure returns (ObjectType) {
|
|
63
72
|
return ObjectType.wrap(15);
|
64
73
|
}
|
65
74
|
|
75
|
+
/// @dev Application object type.
|
76
|
+
/// Range for NFT objects created thorugh components is 20-29.
|
66
77
|
function APPLICATION() pure returns (ObjectType) {
|
67
78
|
return ObjectType.wrap(20);
|
68
79
|
}
|
@@ -71,54 +82,69 @@ function POLICY() pure returns (ObjectType) {
|
|
71
82
|
return ObjectType.wrap(21);
|
72
83
|
}
|
73
84
|
|
74
|
-
function
|
85
|
+
function BUNDLE() pure returns (ObjectType) {
|
75
86
|
return ObjectType.wrap(22);
|
76
87
|
}
|
77
88
|
|
78
|
-
function
|
89
|
+
function DISTRIBUTOR() pure returns (ObjectType) {
|
79
90
|
return ObjectType.wrap(23);
|
80
91
|
}
|
81
92
|
|
82
|
-
|
83
|
-
|
93
|
+
/// @dev Stake object type.
|
94
|
+
/// NFT object type is 30
|
95
|
+
function STAKE() pure returns (ObjectType) {
|
96
|
+
return ObjectType.wrap(30);
|
84
97
|
}
|
85
98
|
|
86
|
-
|
87
|
-
|
99
|
+
/// @dev Staking target object type.
|
100
|
+
function TARGET() pure returns (ObjectType) {
|
101
|
+
return ObjectType.wrap(31);
|
102
|
+
}
|
103
|
+
|
104
|
+
/// @dev Accounting object type.
|
105
|
+
/// Range for non-NFT types created through components is 40+
|
106
|
+
function ACCOUNTING() pure returns (ObjectType) {
|
107
|
+
return ObjectType.wrap(40);
|
108
|
+
}
|
109
|
+
|
110
|
+
function FEE() pure returns (ObjectType) {
|
111
|
+
return ObjectType.wrap(41);
|
88
112
|
}
|
89
113
|
|
90
114
|
function PRICE() pure returns (ObjectType) {
|
91
|
-
return ObjectType.wrap(
|
115
|
+
return ObjectType.wrap(42);
|
92
116
|
}
|
93
117
|
|
94
|
-
function
|
95
|
-
return ObjectType.wrap(
|
118
|
+
function PREMIUM() pure returns (ObjectType) {
|
119
|
+
return ObjectType.wrap(43);
|
96
120
|
}
|
97
121
|
|
98
|
-
function
|
99
|
-
return ObjectType.wrap(
|
122
|
+
function RISK() pure returns (ObjectType) {
|
123
|
+
return ObjectType.wrap(44);
|
100
124
|
}
|
101
125
|
|
102
|
-
function
|
103
|
-
return ObjectType.wrap(
|
126
|
+
function CLAIM() pure returns (ObjectType) {
|
127
|
+
return ObjectType.wrap(45);
|
104
128
|
}
|
105
129
|
|
106
|
-
function
|
107
|
-
return ObjectType.wrap(
|
130
|
+
function PAYOUT() pure returns (ObjectType) {
|
131
|
+
return ObjectType.wrap(46);
|
108
132
|
}
|
109
133
|
|
110
|
-
function
|
111
|
-
return ObjectType.wrap(
|
134
|
+
function REQUEST() pure returns (ObjectType) {
|
135
|
+
return ObjectType.wrap(47);
|
112
136
|
}
|
113
137
|
|
114
|
-
function
|
115
|
-
return ObjectType.wrap(
|
138
|
+
function DISTRIBUTOR_TYPE() pure returns (ObjectType) {
|
139
|
+
return ObjectType.wrap(48);
|
116
140
|
}
|
117
141
|
|
118
|
-
function
|
119
|
-
return ObjectType.wrap(
|
142
|
+
function REFERRAL() pure returns (ObjectType) {
|
143
|
+
return ObjectType.wrap(49);
|
120
144
|
}
|
121
145
|
|
146
|
+
|
147
|
+
|
122
148
|
/// @dev Object type that includes any other object type.
|
123
149
|
/// Note that eq()/'==' does not take this property into account.
|
124
150
|
function ALL() pure returns (ObjectType) {
|
@@ -137,8 +163,6 @@ function neObjectType(ObjectType a, ObjectType b) pure returns (bool isSame) {
|
|
137
163
|
// library functions that operate on user defined type
|
138
164
|
library ObjectTypeLib {
|
139
165
|
|
140
|
-
error ErrorVersionTooBig(uint256 version);
|
141
|
-
|
142
166
|
function zero() public pure returns (ObjectType) {
|
143
167
|
return ObjectType.wrap(0);
|
144
168
|
}
|
@@ -201,6 +225,10 @@ library ObjectTypeLib {
|
|
201
225
|
return "Price";
|
202
226
|
} else if (objectType == BUNDLE()) {
|
203
227
|
return "Bundle";
|
228
|
+
} else if (objectType == RISK()) {
|
229
|
+
return "Risk";
|
230
|
+
} else if (objectType == ACCOUNTING()) {
|
231
|
+
return "Accounting";
|
204
232
|
}
|
205
233
|
|
206
234
|
// fallback: ObjectType<obect-type-int>
|
@@ -214,19 +242,15 @@ library ObjectTypeLib {
|
|
214
242
|
function toVersionedName(
|
215
243
|
string memory name,
|
216
244
|
string memory suffix,
|
217
|
-
|
245
|
+
VersionPart release
|
218
246
|
)
|
219
247
|
external
|
220
248
|
pure
|
221
249
|
returns (string memory versionedName)
|
222
250
|
{
|
223
|
-
if (version > maxNumReleases()) {
|
224
|
-
revert ErrorVersionTooBig(version);
|
225
|
-
}
|
226
|
-
|
227
251
|
string memory versionName = "_v0";
|
228
252
|
|
229
|
-
if (
|
253
|
+
if (release.toInt() >= 10) {
|
230
254
|
versionName = "_v";
|
231
255
|
}
|
232
256
|
|
@@ -235,12 +259,7 @@ library ObjectTypeLib {
|
|
235
259
|
name,
|
236
260
|
suffix,
|
237
261
|
versionName,
|
238
|
-
toString(
|
239
|
-
}
|
240
|
-
|
241
|
-
/// @dev returns the max number of releases (major versions) this gif setup can handle.
|
242
|
-
function maxNumReleases() public pure returns (uint8) {
|
243
|
-
return 99;
|
262
|
+
release.toString()));
|
244
263
|
}
|
245
264
|
|
246
265
|
/// @dev returns the provied int as a string
|
@@ -1,8 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
//
|
5
|
-
type PayoutId is
|
4
|
+
// uint40 allows for 65'535 claims with 16'777'216 payouts each per policy
|
5
|
+
type PayoutId is uint40;
|
6
6
|
|
7
7
|
import {ClaimId} from "./ClaimId.sol";
|
8
8
|
import {PAYOUT} from "./ObjectType.sol";
|
@@ -39,21 +39,21 @@ library PayoutIdLib {
|
|
39
39
|
}
|
40
40
|
|
41
41
|
/// @dev Converts an uint into a PayoutId.
|
42
|
-
function toPayoutId(ClaimId claimId,
|
43
|
-
return PayoutId.wrap((ClaimId.unwrap(claimId) <<
|
42
|
+
function toPayoutId(ClaimId claimId, uint24 payoutNo) public pure returns (PayoutId) {
|
43
|
+
return PayoutId.wrap((uint40(ClaimId.unwrap(claimId)) << 24) + payoutNo);
|
44
44
|
}
|
45
45
|
|
46
46
|
function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
|
47
|
-
return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >>
|
47
|
+
return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 24));
|
48
48
|
}
|
49
49
|
|
50
|
-
function toPayoutNo(PayoutId payoutId) public pure returns (
|
51
|
-
return
|
50
|
+
function toPayoutNo(PayoutId payoutId) public pure returns (uint24) {
|
51
|
+
return uint24(PayoutId.unwrap(payoutId) & 16777215);
|
52
52
|
}
|
53
53
|
|
54
54
|
/// @dev Converts the PayoutId to a uint.
|
55
|
-
function toInt(PayoutId a) public pure returns (
|
56
|
-
return
|
55
|
+
function toInt(PayoutId a) public pure returns (uint40) {
|
56
|
+
return PayoutId.unwrap(a);
|
57
57
|
}
|
58
58
|
|
59
59
|
/// @dev Returns true if the value is non-zero (> 0).
|
@@ -77,6 +77,6 @@ library PayoutIdLib {
|
|
77
77
|
bytes31(
|
78
78
|
bytes15(
|
79
79
|
uint120(
|
80
|
-
(NftId.unwrap(policyNftId) <<
|
80
|
+
(NftId.unwrap(policyNftId) << 40) + PayoutId.unwrap(payoutId)))));
|
81
81
|
}
|
82
82
|
}
|
@@ -2,6 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
5
|
+
import {NftId} from "./NftId.sol";
|
5
6
|
import {RISK} from "./ObjectType.sol";
|
6
7
|
|
7
8
|
type RiskId is bytes8;
|
@@ -10,6 +11,11 @@ type RiskId is bytes8;
|
|
10
11
|
using {
|
11
12
|
eqRiskId as ==,
|
12
13
|
neRiskId as !=,
|
14
|
+
RiskIdLib.eq,
|
15
|
+
RiskIdLib.eqz,
|
16
|
+
RiskIdLib.gtz,
|
17
|
+
RiskIdLib.toInt,
|
18
|
+
RiskIdLib.toKeyId,
|
13
19
|
RiskIdLib.toKey32
|
14
20
|
} for RiskId global;
|
15
21
|
|
@@ -26,18 +32,44 @@ function neRiskId(RiskId a, RiskId b) pure returns (bool isDifferent) {
|
|
26
32
|
}
|
27
33
|
|
28
34
|
library RiskIdLib {
|
29
|
-
|
30
|
-
|
31
|
-
return RiskId.wrap(bytes8(keccak256(abi.encode(risk))));
|
35
|
+
function zero() public pure returns (RiskId) {
|
36
|
+
return RiskId.wrap(bytes8(0));
|
32
37
|
}
|
33
38
|
|
34
|
-
|
35
|
-
function
|
36
|
-
return
|
39
|
+
// @dev Converts a risk id into a uint256.
|
40
|
+
function toInt(RiskId riskId) public pure returns (uint256) {
|
41
|
+
return uint64(RiskId.unwrap(riskId));
|
42
|
+
}
|
43
|
+
|
44
|
+
// @dev Converts a risk id string with a product NftId into a risk id.
|
45
|
+
function toRiskId(NftId productNftId, bytes32 risk) public pure returns (RiskId) {
|
46
|
+
return RiskId.wrap(bytes8(keccak256(abi.encode(productNftId, risk))));
|
47
|
+
}
|
48
|
+
|
49
|
+
/// @dev Returns the key32 value for the specified risk id.
|
50
|
+
function toKey32(RiskId riskId) public pure returns (Key32 key) {
|
51
|
+
return Key32Lib.toKey32(RISK(), toKeyId(riskId));
|
37
52
|
}
|
38
53
|
|
39
54
|
/// @dev Returns the key id value for the specified nft id
|
40
55
|
function toKeyId(RiskId id) public pure returns (KeyId keyId) {
|
41
56
|
return KeyId.wrap(bytes31(RiskId.unwrap(id)));
|
42
57
|
}
|
58
|
+
|
59
|
+
function toRiskId(KeyId keyId) public pure returns (RiskId riskId) {
|
60
|
+
riskId = RiskId.wrap(bytes8(KeyId.unwrap(keyId)));
|
61
|
+
assert(toInt(riskId) < 2**64);
|
62
|
+
}
|
63
|
+
|
64
|
+
function eq(RiskId a, RiskId b) public pure returns (bool isSame) {
|
65
|
+
return eqRiskId(a, b);
|
66
|
+
}
|
67
|
+
|
68
|
+
function eqz(RiskId a) public pure returns (bool isZero) {
|
69
|
+
return eqRiskId(a, zero());
|
70
|
+
}
|
71
|
+
|
72
|
+
function gtz(RiskId a) public pure returns (bool isZero) {
|
73
|
+
return uint64(RiskId.unwrap(a)) > 0;
|
74
|
+
}
|
43
75
|
}
|
@@ -11,9 +11,11 @@ type RoleId is uint64;
|
|
11
11
|
using {
|
12
12
|
eqRoleId as ==,
|
13
13
|
neRoleId as !=,
|
14
|
+
RoleIdLib.toInt,
|
14
15
|
RoleIdLib.eqz,
|
15
16
|
RoleIdLib.gtz,
|
16
|
-
RoleIdLib.
|
17
|
+
RoleIdLib.isComponentRole,
|
18
|
+
RoleIdLib.isCustomRole
|
17
19
|
// RoleIdLib.toKey32
|
18
20
|
} for RoleId global;
|
19
21
|
|
@@ -54,17 +56,8 @@ function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2)
|
|
54
56
|
/// @dev role for registering remote staking targets and reporting remote total value locked amounts.
|
55
57
|
function GIF_REMOTE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
56
58
|
|
57
|
-
/// @dev
|
58
|
-
function
|
59
|
-
|
60
|
-
/// @dev instance specific role to register/own an oracle component
|
61
|
-
function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(12); }
|
62
|
-
|
63
|
-
/// @dev instance specific role to register/own a distribution component
|
64
|
-
function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(13); }
|
65
|
-
|
66
|
-
/// @dev instance specific role to register/own a pool component
|
67
|
-
function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14); }
|
59
|
+
/// @dev role assigned to release registry, release specfic to lock/unlock a release
|
60
|
+
function RELEASE_REGISTRY_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
|
68
61
|
|
69
62
|
//--- GIF core contract roles (range: 200 - 9'900) --------------------------//
|
70
63
|
// created and assigned during initial deployment for registry and staking
|
@@ -84,6 +77,8 @@ function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(14)
|
|
84
77
|
// - application service role (version 3): 2003
|
85
78
|
|
86
79
|
//--- GIF component contract roles (range 12'001 - 19'099) ------------------//
|
80
|
+
// the min value of 12'001 is based on the following calculation:
|
81
|
+
// object type * 1000 + 1 where the lowest object type is 12 (product)
|
87
82
|
// assigned at component registration time
|
88
83
|
// object type * 1000 + instane specific component counter
|
89
84
|
// on any instance a maximum number of 999 components may be deployed
|
@@ -104,8 +99,10 @@ library RoleIdLib {
|
|
104
99
|
|
105
100
|
uint64 public constant ALL_VERSIONS = 99;
|
106
101
|
uint64 public constant SERVICE_DOMAIN_ROLE_FACTOR = 100;
|
107
|
-
uint64 public constant COMPONENT_ROLE_FACTOR =
|
108
|
-
uint64 public constant
|
102
|
+
uint64 public constant COMPONENT_ROLE_FACTOR = 1000;
|
103
|
+
uint64 public constant COMPONENT_ROLE_MIN_INT = 12000;
|
104
|
+
uint64 public constant COMPONENT_ROLE_MAX_INT = 19000;
|
105
|
+
uint64 public constant CUSTOM_ROLE_MIN_INT = 1000000;
|
109
106
|
|
110
107
|
/// @dev Converts the RoleId to a uint.
|
111
108
|
function zero() public pure returns (RoleId) {
|
@@ -124,7 +121,7 @@ library RoleIdLib {
|
|
124
121
|
|
125
122
|
/// @dev Converts an uint into a custom role id.
|
126
123
|
function toCustomRoleId(uint64 index) public pure returns (RoleId) {
|
127
|
-
return toRoleId(
|
124
|
+
return toRoleId(CUSTOM_ROLE_MIN_INT + index);
|
128
125
|
}
|
129
126
|
|
130
127
|
/// @dev Converts the role id to a uint.
|
@@ -162,6 +159,17 @@ library RoleIdLib {
|
|
162
159
|
return RoleId.unwrap(a) == 0;
|
163
160
|
}
|
164
161
|
|
162
|
+
/// @dev Returns true iff the role id is a component role.
|
163
|
+
function isComponentRole(RoleId roleId) public pure returns (bool) {
|
164
|
+
uint64 roleIdInt = RoleId.unwrap(roleId);
|
165
|
+
return roleIdInt >= COMPONENT_ROLE_MIN_INT && roleIdInt <= COMPONENT_ROLE_MAX_INT;
|
166
|
+
}
|
167
|
+
|
168
|
+
/// @dev Returns true iff the role id is a custom role.
|
169
|
+
function isCustomRole(RoleId roleId) public pure returns (bool) {
|
170
|
+
return RoleId.unwrap(roleId) >= CUSTOM_ROLE_MIN_INT;
|
171
|
+
}
|
172
|
+
|
165
173
|
/// @dev Returns the key32 value for the specified id and object type.
|
166
174
|
function toKey32(RoleId a) public pure returns (Key32 key) {
|
167
175
|
return Key32Lib.toKey32(ROLE(), toKeyId(a));
|
@@ -8,6 +8,7 @@ using {
|
|
8
8
|
eqSelector as ==,
|
9
9
|
neSelector as !=,
|
10
10
|
SelectorLib.toBytes4,
|
11
|
+
SelectorLib.toString,
|
11
12
|
SelectorLib.eqz
|
12
13
|
} for Selector global;
|
13
14
|
|
@@ -46,6 +47,10 @@ library SelectorLib {
|
|
46
47
|
function toBytes4(Selector s) public pure returns (bytes4) {
|
47
48
|
return Selector.unwrap(s);
|
48
49
|
}
|
50
|
+
|
51
|
+
function toString(Selector s) public pure returns (string memory) {
|
52
|
+
return string(abi.encode(Selector.unwrap(s)));
|
53
|
+
}
|
49
54
|
}
|
50
55
|
|
51
56
|
// selector specific set library
|
@@ -28,10 +28,18 @@ function DEPLOYING() pure returns (StateId) {
|
|
28
28
|
return toStateId(3);
|
29
29
|
}
|
30
30
|
|
31
|
-
function
|
31
|
+
function DEPLOYED() pure returns (StateId) {
|
32
32
|
return toStateId(4);
|
33
33
|
}
|
34
34
|
|
35
|
+
function ACTIVE() pure returns (StateId) {
|
36
|
+
return toStateId(5);
|
37
|
+
}
|
38
|
+
|
39
|
+
function SKIPPED() pure returns (StateId) {
|
40
|
+
return toStateId(6);
|
41
|
+
}
|
42
|
+
|
35
43
|
function APPLIED() pure returns (StateId) {
|
36
44
|
return toStateId(10);
|
37
45
|
}
|
@@ -114,6 +122,11 @@ function neStateId(StateId a, StateId b) pure returns (bool isDifferent) {
|
|
114
122
|
|
115
123
|
// library functions that operate on user defined type
|
116
124
|
library StateIdLib {
|
125
|
+
|
126
|
+
function zero() public pure returns (StateId) {
|
127
|
+
return StateId.wrap(0);
|
128
|
+
}
|
129
|
+
|
117
130
|
/// @dev Converts the NftId to a uint256.
|
118
131
|
function toInt(StateId stateId) public pure returns (uint96) {
|
119
132
|
return uint96(StateId.unwrap(stateId));
|
@@ -54,11 +54,6 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
|
|
54
54
|
return Timestamp.unwrap(a) != Timestamp.unwrap(b);
|
55
55
|
}
|
56
56
|
|
57
|
-
/// @dev Converts the uint256 to a Timestamp.
|
58
|
-
function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
|
59
|
-
return TimestampLib.toTimestamp(timestamp);
|
60
|
-
}
|
61
|
-
|
62
57
|
// TODO move to TimestampLib and rename to zero()
|
63
58
|
/// @dev Return the Timestamp zero (0)
|
64
59
|
function zeroTimestamp() pure returns (Timestamp) {
|