@etherisc/gif-next 0.0.2-eb98db7-932 → 0.0.2-eba4d8b-925
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 +83 -93
- 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 +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1379 -0
- 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/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1434 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +542 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/{instance/module/ISetup.sol/ISetup.json → authorization/IAccess.sol/IAccess.json} +2 -2
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1130 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +350 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1322 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +589 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +266 -596
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1509 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +864 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +342 -327
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1008 -0
- 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 +1475 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2032 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +589 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1479 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1195 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1655 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +589 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2432 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +589 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +851 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +357 -2088
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +339 -78
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +448 -2892
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1929 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +661 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1640 -597
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +361 -371
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +157 -106
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3718 -0
- 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 +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -49
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +10 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +192 -0
- 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 +4 -0
- package/artifacts/contracts/instance/module/{ITreasury.sol/ITreasury.json → IComponents.sol/IComponents.json} +2 -2
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +959 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +569 -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 +774 -0
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IDistributionService.sol/IDistributionService.json → oracle/IOracleService.sol/IOracleService.json} +380 -167
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +4 -0
- package/artifacts/contracts/{components/Component.sol/Component.json → oracle/Oracle.sol/Oracle.json} +306 -284
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +997 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +764 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/{components/Pool.sol/Pool.json → pool/BasicPool.sol/BasicPool.json} +473 -543
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +589 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1261 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +800 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +880 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +401 -381
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1230 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1027 -0
- 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 +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1574 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +808 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +813 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +728 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/{components/Product.sol/Product.json → product/BasicProduct.sol/BasicProduct.json} +423 -508
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +589 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1496 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +848 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPolicyService.sol/IPolicyService.json → product/IApplicationService.sol/IApplicationService.json} +221 -196
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +1064 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +981 -0
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IBundleService.sol/IBundleService.json → product/IPricingService.sol/IPricingService.json} +287 -307
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +495 -283
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IRiskService.sol/IRiskService.json} +150 -64
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1333 -0
- 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 +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +808 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +930 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +784 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1119 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +659 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +732 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +72 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +499 -26
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +286 -122
- 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 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +989 -125
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1928 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +360 -257
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +164 -99
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +1849 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1333 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +317 -154
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +707 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1571 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +820 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentService.sol/ComponentService.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +115 -171
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +541 -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 +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +244 -125
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +1203 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +709 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IKeyValueStore.sol/IKeyValueStore.json +95 -14
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +35 -4
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +19 -10
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +59 -13
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +144 -3
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +158 -17
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +797 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +538 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +174 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +28 -70
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +35 -85
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -100
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -28
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +143 -104
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +635 -8
- 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 +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +172 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1447 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +1096 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +1849 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +205 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +788 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +587 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1301 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +732 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +2283 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +607 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +398 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +203 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +317 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +125 -0
- 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 +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +228 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +33 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +239 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- 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 +4 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +204 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +433 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +246 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +148 -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 +4 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +105 -0
- 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 +4 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +312 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +548 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionLib.json +158 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +113 -0
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +618 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/accounting/AccountingService.sol +262 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +689 -0
- package/contracts/authorization/AccessManagerCloneable.sol +149 -0
- package/contracts/authorization/Authorization.sol +337 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +143 -0
- package/contracts/authorization/IAuthorization.sol +74 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +141 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +60 -0
- package/contracts/{components → distribution}/Distribution.sol +173 -171
- package/contracts/distribution/DistributionService.sol +358 -0
- package/contracts/distribution/DistributionServiceManager.sol +39 -0
- package/contracts/distribution/IDistributionComponent.sol +52 -0
- package/contracts/distribution/IDistributionService.sol +101 -0
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +90 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +35 -0
- package/contracts/examples/fire/FireProduct.sol +437 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +45 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +57 -0
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +106 -0
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +377 -0
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +130 -0
- package/contracts/instance/IInstance.sol +50 -72
- package/contracts/instance/IInstanceService.sol +39 -26
- package/contracts/instance/Instance.sol +177 -221
- package/contracts/instance/InstanceAdmin.sol +437 -0
- package/contracts/instance/InstanceAuthorizationV3.sol +213 -0
- package/contracts/instance/InstanceReader.sol +408 -64
- package/contracts/instance/InstanceService.sol +290 -362
- package/contracts/instance/InstanceServiceManager.sol +14 -29
- package/contracts/instance/InstanceStore.sol +298 -0
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +123 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +4 -22
- package/contracts/instance/base/ObjectCounter.sol +20 -0
- package/contracts/instance/base/ObjectLifecycle.sol +113 -0
- package/contracts/instance/base/ObjectSet.sol +77 -0
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +8 -8
- package/contracts/instance/module/IComponents.sol +51 -0
- package/contracts/instance/module/IDistribution.sol +8 -6
- package/contracts/instance/module/IPolicy.sol +56 -18
- package/contracts/instance/module/IRisk.sol +4 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +6 -6
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +37 -0
- package/contracts/oracle/IOracle.sol +36 -0
- package/contracts/oracle/IOracleComponent.sol +33 -0
- package/contracts/oracle/IOracleService.sol +66 -0
- package/contracts/oracle/Oracle.sol +156 -0
- package/contracts/oracle/OracleService.sol +310 -0
- package/contracts/oracle/OracleServiceManager.sol +39 -0
- package/contracts/pool/BasicPool.sol +175 -0
- package/contracts/pool/BasicPoolAuthorization.sol +76 -0
- package/contracts/pool/BundleService.sol +395 -0
- package/contracts/pool/BundleServiceManager.sol +39 -0
- package/contracts/pool/IBundleService.sol +115 -0
- package/contracts/pool/IPoolComponent.sol +62 -0
- package/contracts/pool/IPoolService.sol +165 -0
- package/contracts/pool/Pool.sol +345 -0
- package/contracts/pool/PoolLib.sol +216 -0
- package/contracts/pool/PoolService.sol +757 -0
- package/contracts/pool/PoolServiceManager.sol +39 -0
- package/contracts/product/ApplicationService.sol +259 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +12 -9
- package/contracts/product/BasicProduct.sol +51 -0
- package/contracts/product/BasicProductAuthorization.sol +56 -0
- package/contracts/product/ClaimService.sol +632 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +12 -9
- package/contracts/{instance/service → product}/IApplicationService.sol +20 -36
- package/contracts/product/IClaimService.sol +135 -0
- package/contracts/product/IPolicyService.sol +95 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +62 -0
- package/contracts/product/IRiskService.sol +30 -0
- package/contracts/product/PolicyService.sol +682 -0
- package/contracts/product/PolicyServiceLib.sol +65 -0
- package/contracts/product/PolicyServiceManager.sol +39 -0
- package/contracts/product/PricingService.sol +304 -0
- package/contracts/product/PricingServiceManager.sol +39 -0
- package/contracts/product/Product.sol +469 -0
- package/contracts/product/RiskService.sol +144 -0
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +83 -36
- package/contracts/registry/IRegistry.sol +97 -30
- package/contracts/registry/IRegistryService.sol +36 -41
- package/contracts/registry/IRelease.sol +26 -0
- package/contracts/registry/ITransferInterceptor.sol +1 -1
- package/contracts/registry/Registry.sol +472 -206
- package/contracts/registry/RegistryAdmin.sol +354 -0
- package/contracts/registry/RegistryService.sol +89 -131
- package/contracts/registry/RegistryServiceManager.sol +23 -32
- package/contracts/registry/ReleaseAdmin.sol +245 -0
- package/contracts/registry/ReleaseLifecycle.sol +32 -0
- package/contracts/registry/ReleaseRegistry.sol +511 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +247 -0
- package/contracts/registry/TokenRegistry.sol +261 -64
- package/contracts/shared/Component.sol +227 -0
- package/contracts/shared/ComponentService.sol +692 -0
- package/contracts/shared/ComponentServiceManager.sol +38 -0
- package/contracts/shared/ComponentVerifyingService.sol +128 -0
- package/contracts/shared/ContractLib.sol +253 -0
- package/contracts/shared/IComponent.sol +61 -0
- package/contracts/shared/IComponentService.sol +112 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +30 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +16 -11
- package/contracts/{instance/base → shared}/ILifecycle.sol +5 -4
- package/contracts/shared/INftOwnable.sol +4 -2
- package/contracts/shared/IPolicyHolder.sol +23 -14
- package/contracts/shared/IRegisterable.sol +23 -1
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +12 -5
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +4 -4
- package/contracts/shared/InstanceLinkedComponent.sol +197 -0
- package/contracts/shared/KeyValueStore.sol +131 -0
- package/contracts/shared/Lifecycle.sol +88 -0
- package/contracts/shared/NftIdSet.sol +65 -0
- package/contracts/shared/NftOwnable.sol +34 -27
- package/contracts/shared/PolicyHolder.sol +22 -41
- package/contracts/shared/Registerable.sol +54 -19
- package/contracts/shared/RegistryLinked.sol +9 -19
- package/contracts/shared/Service.sol +36 -29
- package/contracts/shared/TokenHandler.sol +326 -12
- package/contracts/shared/TokenHandlerDeployerLib.sol +20 -0
- package/contracts/staking/IStaking.sol +165 -0
- package/contracts/staking/IStakingService.sol +165 -0
- package/contracts/staking/StakeManagerLib.sol +224 -0
- package/contracts/staking/Staking.sol +526 -0
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +52 -0
- package/contracts/staking/StakingReader.sol +190 -0
- package/contracts/staking/StakingService.sol +430 -0
- package/contracts/staking/StakingServiceManager.sol +45 -0
- package/contracts/staking/StakingStore.sol +605 -0
- package/contracts/staking/TargetManagerLib.sol +211 -0
- package/contracts/{types → type}/AddressSet.sol +1 -1
- package/contracts/type/Amount.sol +150 -0
- package/contracts/{types → type}/Blocknumber.sol +27 -3
- package/contracts/{types → type}/ClaimId.sol +31 -3
- package/contracts/{types → type}/Fee.sol +33 -23
- package/contracts/{types → type}/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/{types → type}/NftId.sol +28 -15
- package/contracts/{types → type}/NftIdSet.sol +2 -2
- package/contracts/type/ObjectType.sol +303 -0
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +6 -1
- package/contracts/type/RequestId.sol +75 -0
- package/contracts/type/RiskId.sol +75 -0
- package/contracts/type/RoleId.sol +182 -0
- package/contracts/type/Seconds.sol +101 -0
- package/contracts/type/Selector.sol +107 -0
- package/contracts/{types → type}/StateId.sol +48 -4
- package/contracts/type/String.sol +53 -0
- package/contracts/{types → type}/Timestamp.sol +33 -19
- package/contracts/{types → type}/UFixed.sol +41 -121
- package/contracts/{types → type}/Version.sol +20 -7
- package/contracts/{shared → upgradeability}/IVersionable.sol +1 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +93 -30
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +3 -3
- package/package.json +11 -7
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -764
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +0 -984
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -261
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -254
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -858
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -657
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1085
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -743
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -637
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1087
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -729
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.json +0 -462
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.json +0 -398
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +0 -336
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1109
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -717
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -716
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -649
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -766
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -649
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +0 -285
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -547
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- 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/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -582
- 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/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -510
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +0 -10
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +0 -104
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +0 -125
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +0 -33
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +0 -92
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +0 -86
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +0 -156
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +0 -92
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +0 -249
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +0 -10
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.json +0 -479
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.json +0 -177
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +0 -49
- package/contracts/components/Component.sol +0 -241
- package/contracts/components/IComponent.sol +0 -54
- package/contracts/components/IDistributionComponent.sol +0 -92
- package/contracts/components/IPoolComponent.sol +0 -87
- package/contracts/components/IProductComponent.sol +0 -39
- package/contracts/components/Pool.sol +0 -254
- package/contracts/components/Product.sol +0 -285
- package/contracts/instance/BundleManager.sol +0 -125
- package/contracts/instance/InstanceAccessManager.sol +0 -297
- package/contracts/instance/ObjectManager.sol +0 -84
- package/contracts/instance/base/ComponentService.sol +0 -134
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/base/Lifecycle.sol +0 -100
- package/contracts/instance/module/IAccess.sol +0 -47
- package/contracts/instance/module/ISetup.sol +0 -48
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ApplicationService.sol +0 -268
- package/contracts/instance/service/BundleService.sol +0 -298
- package/contracts/instance/service/BundleServiceManager.sol +0 -51
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/DistributionService.sol +0 -346
- package/contracts/instance/service/DistributionServiceManager.sol +0 -51
- package/contracts/instance/service/IBundleService.sol +0 -54
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/instance/service/IDistributionService.sol +0 -73
- package/contracts/instance/service/IPolicyService.sol +0 -89
- package/contracts/instance/service/IPoolService.sol +0 -20
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -476
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -109
- package/contracts/instance/service/PoolServiceManager.sol +0 -51
- package/contracts/instance/service/ProductService.sol +0 -233
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/registry/RegistryAccessManager.sol +0 -216
- package/contracts/registry/ReleaseManager.sol +0 -322
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/ObjectType.sol +0 -156
- package/contracts/types/PayoutId.sol +0 -54
- package/contracts/types/RiskId.sol +0 -43
- package/contracts/types/RoleId.sol +0 -90
- /package/contracts/{types → type}/DistributorType.sol +0 -0
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {Math} from "@openzeppelin/contracts/utils/math/Math.sol";
|
5
|
+
|
4
6
|
/// @dev UFixed is a fixed point number with 18 decimals precision.
|
5
7
|
type UFixed is uint256;
|
6
8
|
|
@@ -15,10 +17,13 @@ using {
|
|
15
17
|
lteUFixed as <=,
|
16
18
|
eqUFixed as ==,
|
17
19
|
neUFixed as !=,
|
20
|
+
UFixedLib.gt,
|
21
|
+
UFixedLib.gtz,
|
18
22
|
UFixedLib.toInt,
|
19
|
-
UFixedLib.
|
23
|
+
UFixedLib.toInt1000
|
20
24
|
} for UFixed global;
|
21
25
|
|
26
|
+
// TODO move to UFixedLib and rename to zero()
|
22
27
|
function zeroUFixed() pure returns (UFixed zero) {
|
23
28
|
return UFixed.wrap(0);
|
24
29
|
}
|
@@ -28,20 +33,24 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
28
33
|
}
|
29
34
|
|
30
35
|
function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
31
|
-
|
36
|
+
if (a < b) {
|
37
|
+
revert UFixedLib.UFixedLibNegativeResult();
|
38
|
+
}
|
32
39
|
return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
|
33
40
|
}
|
34
41
|
|
35
42
|
function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
36
43
|
return
|
37
|
-
UFixed.wrap(
|
44
|
+
UFixed.wrap(Math.mulDiv(UFixed.unwrap(a), UFixed.unwrap(b), 10 ** 18));
|
38
45
|
}
|
39
46
|
|
40
47
|
function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
41
|
-
|
42
|
-
|
48
|
+
if (UFixed.unwrap(b) == 0) {
|
49
|
+
revert UFixedLib.UFixedLibDivisionByZero();
|
50
|
+
}
|
51
|
+
|
43
52
|
return
|
44
|
-
UFixed.wrap(
|
53
|
+
UFixed.wrap(Math.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
|
45
54
|
}
|
46
55
|
|
47
56
|
function gtUFixed(UFixed a, UFixed b) pure returns (bool isGreaterThan) {
|
@@ -84,115 +93,13 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
84
93
|
return b - a;
|
85
94
|
}
|
86
95
|
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
enum Rounding {
|
91
|
-
Down, // Toward negative infinity
|
92
|
-
Up, // Toward infinity
|
93
|
-
Zero // Toward zero
|
94
|
-
}
|
95
|
-
|
96
|
-
/**
|
97
|
-
* @notice Calculates floor(x * y / denominator) with full precision. Throws if result overflows a uint256 or denominator == 0
|
98
|
-
* @dev Original credit to Remco Bloemen under MIT license (https://xn--2-umb.com/21/muldiv)
|
99
|
-
* with further edits by Uniswap Labs also under MIT license.
|
100
|
-
*/
|
101
|
-
function mulDiv(uint256 x, uint256 y, uint256 denominator) internal pure returns (uint256 result) {
|
102
|
-
unchecked {
|
103
|
-
// 512-bit multiply [prod1 prod0] = x * y. Compute the product mod 2^256 and mod 2^256 - 1, then use
|
104
|
-
// use the Chinese Remainder Theorem to reconstruct the 512 bit result. The result is stored in two 256
|
105
|
-
// variables such that product = prod1 * 2^256 + prod0.
|
106
|
-
uint256 prod0; // Least significant 256 bits of the product
|
107
|
-
uint256 prod1; // Most significant 256 bits of the product
|
108
|
-
assembly {
|
109
|
-
let mm := mulmod(x, y, not(0))
|
110
|
-
prod0 := mul(x, y)
|
111
|
-
prod1 := sub(sub(mm, prod0), lt(mm, prod0))
|
112
|
-
}
|
113
|
-
|
114
|
-
// Handle non-overflow cases, 256 by 256 division.
|
115
|
-
if (prod1 == 0) {
|
116
|
-
// Solidity will revert if denominator == 0, unlike the div opcode on its own.
|
117
|
-
// The surrounding unchecked block does not change this fact.
|
118
|
-
// See https://docs.soliditylang.org/en/latest/control-structures.html#checked-or-unchecked-arithmetic.
|
119
|
-
return prod0 / denominator;
|
120
|
-
}
|
121
|
-
|
122
|
-
// Make sure the result is less than 2^256. Also prevents denominator == 0.
|
123
|
-
require(denominator > prod1, "Math: mulDiv overflow");
|
124
|
-
|
125
|
-
///////////////////////////////////////////////
|
126
|
-
// 512 by 256 division.
|
127
|
-
///////////////////////////////////////////////
|
128
|
-
|
129
|
-
// Make division exact by subtracting the remainder from [prod1 prod0].
|
130
|
-
uint256 remainder;
|
131
|
-
assembly {
|
132
|
-
// Compute remainder using mulmod.
|
133
|
-
remainder := mulmod(x, y, denominator)
|
134
|
-
|
135
|
-
// Subtract 256 bit number from 512 bit number.
|
136
|
-
prod1 := sub(prod1, gt(remainder, prod0))
|
137
|
-
prod0 := sub(prod0, remainder)
|
138
|
-
}
|
139
|
-
|
140
|
-
// Factor powers of two out of denominator and compute largest power of two divisor of denominator. Always >= 1.
|
141
|
-
// See https://cs.stackexchange.com/q/138556/92363.
|
142
|
-
|
143
|
-
// Does not overflow because the denominator cannot be zero at this stage in the function.
|
144
|
-
uint256 twos = denominator & (~denominator + 1);
|
145
|
-
assembly {
|
146
|
-
// Divide denominator by twos.
|
147
|
-
denominator := div(denominator, twos)
|
148
|
-
|
149
|
-
// Divide [prod1 prod0] by twos.
|
150
|
-
prod0 := div(prod0, twos)
|
151
|
-
|
152
|
-
// Flip twos such that it is 2^256 / twos. If twos is zero, then it becomes one.
|
153
|
-
twos := add(div(sub(0, twos), twos), 1)
|
154
|
-
}
|
155
|
-
|
156
|
-
// Shift in bits from prod1 into prod0.
|
157
|
-
prod0 |= prod1 * twos;
|
158
|
-
|
159
|
-
// Invert denominator mod 2^256. Now that denominator is an odd number, it has an inverse modulo 2^256 such
|
160
|
-
// that denominator * inv = 1 mod 2^256. Compute the inverse by starting with a seed that is correct for
|
161
|
-
// four bits. That is, denominator * inv = 1 mod 2^4.
|
162
|
-
uint256 inverse = (3 * denominator) ^ 2;
|
163
|
-
|
164
|
-
// Use the Newton-Raphson iteration to improve the precision. Thanks to Hensel's lifting lemma, this also works
|
165
|
-
// in modular arithmetic, doubling the correct bits in each step.
|
166
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^8
|
167
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^16
|
168
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^32
|
169
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^64
|
170
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^128
|
171
|
-
inverse *= 2 - denominator * inverse; // inverse mod 2^256
|
172
|
-
|
173
|
-
// Because the division is now exact we can divide by multiplying with the modular inverse of denominator.
|
174
|
-
// This will give us the correct result modulo 2^256. Since the preconditions guarantee that the outcome is
|
175
|
-
// less than 2^256, this is the final result. We don't need to compute the high bits of the result and prod1
|
176
|
-
// is no longer required.
|
177
|
-
result = prod0 * inverse;
|
178
|
-
return result;
|
179
|
-
}
|
180
|
-
}
|
181
|
-
|
182
|
-
/**
|
183
|
-
* @notice Calculates x * y / denominator with full precision, following the selected rounding direction.
|
184
|
-
*/
|
185
|
-
function mulDiv(uint256 x, uint256 y, uint256 denominator, Rounding rounding) internal pure returns (uint256) {
|
186
|
-
uint256 result = mulDiv(x, y, denominator);
|
187
|
-
if (rounding == Rounding.Up && mulmod(x, y, denominator) > 0) {
|
188
|
-
result += 1;
|
189
|
-
}
|
190
|
-
return result;
|
191
|
-
}
|
96
|
+
library UFixedLib {
|
97
|
+
error UFixedLibNegativeResult();
|
98
|
+
error UFixedLibDivisionByZero();
|
192
99
|
|
193
|
-
|
100
|
+
error UFixedLibExponentTooSmall(int8 exp);
|
101
|
+
error UFixedLibExponentTooLarge(int8 exp);
|
194
102
|
|
195
|
-
library UFixedLib {
|
196
103
|
int8 public constant EXP = 18;
|
197
104
|
uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
|
198
105
|
uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
|
@@ -219,9 +126,13 @@ library UFixedLib {
|
|
219
126
|
|
220
127
|
/// @dev Converts the uint256 to a UFixed with given exponent.
|
221
128
|
function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
|
222
|
-
|
223
|
-
|
224
|
-
|
129
|
+
if (EXP + exp < 0) {
|
130
|
+
revert UFixedLibExponentTooSmall(exp);
|
131
|
+
}
|
132
|
+
if (EXP + exp > 64) {
|
133
|
+
revert UFixedLibExponentTooLarge(exp);
|
134
|
+
}
|
135
|
+
|
225
136
|
return UFixed.wrap(a * 10 ** uint8(EXP + exp));
|
226
137
|
}
|
227
138
|
|
@@ -235,27 +146,32 @@ library UFixedLib {
|
|
235
146
|
return toIntWithRounding(a, ROUNDING_HALF_UP());
|
236
147
|
}
|
237
148
|
|
149
|
+
/// @dev Converts a UFixed to a uint256.
|
150
|
+
function toInt1000(UFixed a) public pure returns (uint256) {
|
151
|
+
return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
|
152
|
+
}
|
153
|
+
|
238
154
|
/// @dev Converts a UFixed to a uint256 with given rounding mode.
|
239
155
|
function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
|
240
156
|
if (rounding == ROUNDING_HALF_UP()) {
|
241
157
|
return
|
242
|
-
|
158
|
+
Math.mulDiv(
|
243
159
|
UFixed.unwrap(a) + MULTIPLIER_HALF,
|
244
160
|
1,
|
245
161
|
MULTIPLIER,
|
246
|
-
|
162
|
+
Math.Rounding.Floor
|
247
163
|
);
|
248
164
|
} else if (rounding == ROUNDING_DOWN()) {
|
249
165
|
return
|
250
|
-
|
166
|
+
Math.mulDiv(
|
251
167
|
UFixed.unwrap(a),
|
252
168
|
1,
|
253
169
|
MULTIPLIER,
|
254
|
-
|
170
|
+
Math.Rounding.Floor
|
255
171
|
);
|
256
172
|
} else {
|
257
173
|
return
|
258
|
-
|
174
|
+
Math.mulDiv(UFixed.unwrap(a), 1, MULTIPLIER, Math.Rounding.Ceil);
|
259
175
|
}
|
260
176
|
}
|
261
177
|
|
@@ -318,6 +234,10 @@ library UFixedLib {
|
|
318
234
|
return UFixed.wrap(0);
|
319
235
|
}
|
320
236
|
|
237
|
+
function one() public pure returns (UFixed) {
|
238
|
+
return UFixed.wrap(MULTIPLIER);
|
239
|
+
}
|
240
|
+
|
321
241
|
/// @dev return the absolute delta between two UFixed numbers
|
322
242
|
function delta(UFixed a, UFixed b) public pure returns (UFixed) {
|
323
243
|
return deltaUFixed(a, b);
|
@@ -1,5 +1,5 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
|
-
pragma solidity ^0.8.
|
2
|
+
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
type VersionPart is uint8;
|
5
5
|
|
@@ -7,7 +7,9 @@ using {
|
|
7
7
|
versionPartGt as >,
|
8
8
|
versionPartEq as ==,
|
9
9
|
versionPartNe as !=,
|
10
|
-
VersionPartLib.
|
10
|
+
VersionPartLib.eqz,
|
11
|
+
VersionPartLib.toInt,
|
12
|
+
VersionPartLib.isValidRelease
|
11
13
|
}
|
12
14
|
for VersionPart global;
|
13
15
|
|
@@ -16,8 +18,17 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
|
|
16
18
|
function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
|
17
19
|
|
18
20
|
library VersionPartLib {
|
19
|
-
function
|
20
|
-
function
|
21
|
+
function releaseMin() public pure returns (VersionPart) { return toVersionPart(3); }
|
22
|
+
function releaseMax() public pure returns (VersionPart) { return toVersionPart(99); }
|
23
|
+
|
24
|
+
function isValidRelease(VersionPart release) external pure returns(bool) {
|
25
|
+
uint256 releaseInt = VersionPart.unwrap(release);
|
26
|
+
return 3 <= releaseInt && releaseInt <= 99;
|
27
|
+
}
|
28
|
+
|
29
|
+
function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
|
30
|
+
function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
|
31
|
+
function toVersionPart(uint256 a) public pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
|
21
32
|
}
|
22
33
|
|
23
34
|
type Version is uint24; // contains major,minor,patch version parts
|
@@ -36,6 +47,7 @@ function versionGt(Version a, Version b) pure returns(bool isGreaterThan) { retu
|
|
36
47
|
function versionEq(Version a, Version b) pure returns(bool isSame) { return Version.unwrap(a) == Version.unwrap(b); }
|
37
48
|
|
38
49
|
library VersionLib {
|
50
|
+
|
39
51
|
function toInt(Version version) external pure returns(uint) { return Version.unwrap(version); }
|
40
52
|
|
41
53
|
function toUint64(Version version) external pure returns(uint64) { return Version.unwrap(version); }
|
@@ -73,9 +85,9 @@ library VersionLib {
|
|
73
85
|
);
|
74
86
|
}
|
75
87
|
|
76
|
-
function toVersionPart(uint256 versionPart)
|
77
|
-
|
78
|
-
}
|
88
|
+
// function toVersionPart(uint256 versionPart) public pure returns(VersionPart) {
|
89
|
+
// return VersionPart.wrap(uint8(versionPart));
|
90
|
+
// }
|
79
91
|
|
80
92
|
function toVersion(
|
81
93
|
uint256 major,
|
@@ -101,6 +113,7 @@ library VersionLib {
|
|
101
113
|
return Version.wrap(uint24(versionNumber));
|
102
114
|
}
|
103
115
|
|
116
|
+
// TODO rename to zero()
|
104
117
|
function zeroVersion() external pure returns(Version) {
|
105
118
|
return Version.wrap(0);
|
106
119
|
}
|
@@ -1,16 +1,16 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
|
4
5
|
import {ITransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
|
5
6
|
|
6
|
-
import {Blocknumber, blockNumber} from "../
|
7
|
+
import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
|
7
8
|
import {IVersionable} from "./IVersionable.sol";
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {
|
11
|
-
import {Timestamp, TimestampLib} from "../types/Timestamp.sol";
|
9
|
+
import {NftId} from "../type/NftId.sol";
|
10
|
+
import {NftOwnable} from "../shared/NftOwnable.sol";
|
11
|
+
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
12
12
|
import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
|
13
|
-
import {Version, VersionLib} from "../
|
13
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
14
14
|
|
15
15
|
/// @dev manages proxy deployments for upgradable contracs of type IVersionable
|
16
16
|
contract ProxyManager is
|
@@ -40,43 +40,80 @@ contract ProxyManager is
|
|
40
40
|
mapping(Version version => VersionInfo info) _versionHistory;
|
41
41
|
Version [] _versions;
|
42
42
|
|
43
|
-
/// @dev
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
43
|
+
/// @dev convencience initializer
|
44
|
+
function initialize(
|
45
|
+
address registry,
|
46
|
+
address implementation,
|
47
|
+
bytes memory data,
|
48
|
+
bytes32 salt
|
49
|
+
)
|
50
50
|
public
|
51
51
|
initializer()
|
52
|
+
returns (IVersionable versionable)
|
52
53
|
{
|
53
|
-
|
54
|
+
versionable = deployDetermenistic(
|
55
|
+
registry,
|
56
|
+
implementation,
|
57
|
+
data,
|
58
|
+
salt);
|
54
59
|
}
|
55
60
|
|
56
61
|
/// @dev deploy initial contract
|
57
|
-
function deploy(
|
62
|
+
function deploy(
|
63
|
+
address registry,
|
64
|
+
address initialImplementation,
|
65
|
+
bytes memory initializationData
|
66
|
+
)
|
58
67
|
public
|
59
68
|
virtual
|
60
|
-
|
69
|
+
onlyInitializing()
|
61
70
|
returns (IVersionable versionable)
|
62
71
|
{
|
63
|
-
|
64
|
-
|
65
|
-
|
72
|
+
(
|
73
|
+
address currentProxyOwner,
|
74
|
+
address initialProxyAdminOwner
|
75
|
+
) = _preDeployChecksAndSetup(registry);
|
66
76
|
|
67
|
-
address currentProxyOwner = getOwner(); // used by implementation
|
68
|
-
address initialProxyAdminOwner = address(this); // used by proxy
|
69
|
-
|
70
77
|
_proxy = new UpgradableProxyWithAdmin(
|
71
78
|
initialImplementation,
|
72
79
|
initialProxyAdminOwner,
|
73
80
|
getDeployData(currentProxyOwner, initializationData)
|
74
81
|
);
|
75
82
|
|
76
|
-
versionable =
|
77
|
-
|
83
|
+
versionable = _updateVersionHistory(
|
84
|
+
initialImplementation,
|
85
|
+
currentProxyOwner);
|
78
86
|
|
79
|
-
emit LogProxyManagerVersionableDeployed(address(
|
87
|
+
emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
|
88
|
+
}
|
89
|
+
|
90
|
+
function deployDetermenistic(
|
91
|
+
address registry,
|
92
|
+
address initialImplementation,
|
93
|
+
bytes memory initializationData,
|
94
|
+
bytes32 salt
|
95
|
+
)
|
96
|
+
public
|
97
|
+
virtual
|
98
|
+
onlyInitializing()
|
99
|
+
returns (IVersionable versionable)
|
100
|
+
{
|
101
|
+
(
|
102
|
+
address currentProxyOwner,
|
103
|
+
address initialProxyAdminOwner
|
104
|
+
) = _preDeployChecksAndSetup(registry);
|
105
|
+
|
106
|
+
_proxy = new UpgradableProxyWithAdmin{salt: salt}(
|
107
|
+
initialImplementation,
|
108
|
+
initialProxyAdminOwner,
|
109
|
+
getDeployData(currentProxyOwner, initializationData)
|
110
|
+
);
|
111
|
+
|
112
|
+
versionable = _updateVersionHistory(
|
113
|
+
initialImplementation,
|
114
|
+
currentProxyOwner);
|
115
|
+
|
116
|
+
emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
|
80
117
|
}
|
81
118
|
|
82
119
|
/// @dev upgrade existing contract
|
@@ -99,11 +136,16 @@ contract ProxyManager is
|
|
99
136
|
newImplementation,
|
100
137
|
getUpgradeData(upgradeData));
|
101
138
|
|
102
|
-
versionable =
|
103
|
-
|
139
|
+
versionable = _updateVersionHistory(
|
140
|
+
newImplementation,
|
141
|
+
currentProxyOwner);
|
142
|
+
|
143
|
+
emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
|
104
144
|
|
105
|
-
|
145
|
+
}
|
106
146
|
|
147
|
+
function linkToProxy() public returns (NftId) {
|
148
|
+
return _linkToNftOwnable(address(_proxy));
|
107
149
|
}
|
108
150
|
|
109
151
|
function getDeployData(address proxyOwner, bytes memory deployData) public pure returns (bytes memory data) {
|
@@ -119,7 +161,7 @@ contract ProxyManager is
|
|
119
161
|
upgradeData);
|
120
162
|
}
|
121
163
|
|
122
|
-
function getProxy() public returns (UpgradableProxyWithAdmin) {
|
164
|
+
function getProxy() public view returns (UpgradableProxyWithAdmin) {
|
123
165
|
return _proxy;
|
124
166
|
}
|
125
167
|
|
@@ -139,13 +181,34 @@ contract ProxyManager is
|
|
139
181
|
return _versionHistory[_version];
|
140
182
|
}
|
141
183
|
|
184
|
+
function _preDeployChecksAndSetup(address registry)
|
185
|
+
private
|
186
|
+
returns (
|
187
|
+
address currentProxyOwner,
|
188
|
+
address initialProxyAdminOwner
|
189
|
+
)
|
190
|
+
{
|
191
|
+
if (_versions.length > 0) {
|
192
|
+
revert ErrorProxyManagerAlreadyDeployed();
|
193
|
+
}
|
194
|
+
|
195
|
+
address initialOwner = msg.sender;
|
196
|
+
__NftOwnable_init(registry, initialOwner);
|
197
|
+
|
198
|
+
currentProxyOwner = getOwner(); // used by implementation
|
199
|
+
initialProxyAdminOwner = address(this); // used by proxy
|
200
|
+
}
|
201
|
+
|
142
202
|
function _updateVersionHistory(
|
143
|
-
Version newVersion,
|
144
203
|
address implementation,
|
145
204
|
address activatedBy
|
146
205
|
)
|
147
206
|
private
|
207
|
+
returns (IVersionable versionable)
|
148
208
|
{
|
209
|
+
versionable = IVersionable(address(_proxy));
|
210
|
+
Version newVersion = versionable.getVersion();
|
211
|
+
|
149
212
|
if(newVersion == VersionLib.zeroVersion()) {
|
150
213
|
revert ErrorProxyManagerZeroVersion();
|
151
214
|
}
|
@@ -2,9 +2,7 @@
|
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
4
|
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
|
5
|
-
import {TransparentUpgradeableProxy
|
6
|
-
|
7
|
-
import {IVersionable} from "./IVersionable.sol";
|
5
|
+
import {TransparentUpgradeableProxy} from "@openzeppelin/contracts/proxy/transparent/TransparentUpgradeableProxy.sol";
|
8
6
|
|
9
7
|
contract UpgradableProxyWithAdmin is TransparentUpgradeableProxy {
|
10
8
|
|
@@ -4,7 +4,7 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
5
|
|
6
6
|
import {IVersionable} from "./IVersionable.sol";
|
7
|
-
import {Version, VersionLib} from "../
|
7
|
+
import {Version, VersionLib} from "../type/Version.sol";
|
8
8
|
|
9
9
|
|
10
10
|
abstract contract Versionable is
|
@@ -20,7 +20,7 @@ abstract contract Versionable is
|
|
20
20
|
bytes memory data
|
21
21
|
)
|
22
22
|
public
|
23
|
-
initializer
|
23
|
+
initializer()
|
24
24
|
{
|
25
25
|
_initialize(activatedBy, data);
|
26
26
|
}
|
@@ -41,7 +41,7 @@ abstract contract Versionable is
|
|
41
41
|
// each implementation MUST call intializers of all base contracts...
|
42
42
|
function _initialize(address owner, bytes memory data)
|
43
43
|
internal
|
44
|
-
onlyInitializing
|
44
|
+
onlyInitializing()
|
45
45
|
virtual
|
46
46
|
{
|
47
47
|
revert();
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@etherisc/gif-next",
|
3
|
-
"version": "0.0.2-
|
3
|
+
"version": "0.0.2-eba4d8b-925",
|
4
4
|
"description": "This is the repository for the next version of the Generic Insurance Framework (GIF) smart contracts. ",
|
5
5
|
"main": "index.js",
|
6
6
|
"scripts": {
|
@@ -30,10 +30,11 @@
|
|
30
30
|
"homepage": "https://github.com/etherisc/gif-next#readme",
|
31
31
|
"devDependencies": {
|
32
32
|
"@nomicfoundation/hardhat-foundry": "^1.1.1",
|
33
|
-
"@nomicfoundation/hardhat-toolbox": "^
|
34
|
-
"@nomicfoundation/hardhat-verify": "^
|
35
|
-
"@typescript-eslint/eslint-plugin": "^
|
36
|
-
"@typescript-eslint/parser": "^
|
33
|
+
"@nomicfoundation/hardhat-toolbox": "^5.0.0",
|
34
|
+
"@nomicfoundation/hardhat-verify": "^2.0.1",
|
35
|
+
"@typescript-eslint/eslint-plugin": "^8.1.0",
|
36
|
+
"@typescript-eslint/parser": "^8.1.0",
|
37
|
+
"antlr4ng-cli": "^2.0.0",
|
37
38
|
"dotenv": "^16.3.1",
|
38
39
|
"eslint": "^8.50.0",
|
39
40
|
"hardhat": "^2.17.2",
|
@@ -42,10 +43,13 @@
|
|
42
43
|
"typescript": "^5"
|
43
44
|
},
|
44
45
|
"dependencies": {
|
45
|
-
"@openzeppelin/contracts": "5.0.
|
46
|
-
"@openzeppelin/contracts-upgradeable": "5.0.
|
46
|
+
"@openzeppelin/contracts": "5.0.2",
|
47
|
+
"@openzeppelin/contracts-upgradeable": "5.0.2",
|
48
|
+
"@openzeppelin/upgrades-core": "^1.34.1",
|
47
49
|
"abi-coder": "^5.0.0",
|
50
|
+
"antlr4ng": "^3.0.4",
|
48
51
|
"ethers": "^6.7.1",
|
52
|
+
"ethers-decode-error": "^2.1.3",
|
49
53
|
"solidity-docgen": "^0.6.0-beta.36",
|
50
54
|
"winston": "^3.10.0"
|
51
55
|
}
|