@etherisc/gif-next 0.0.2-8b116c2-371 → 0.0.2-8c1d8cd-727
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 +49 -4
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +1293 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +1206 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +414 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.json +10 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +1060 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +295 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +167 -0
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +4 -0
- package/artifacts/contracts/{shared/AccessManagerCustom.sol/AccessManagerCustom.json → authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json} +28 -25
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +4 -0
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +253 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +1402 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +470 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +133 -501
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +319 -229
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +115 -103
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +164 -210
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +194 -47
- 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 +1538 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +2077 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +470 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +4 -0
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.json +376 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +1471 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +1231 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +1592 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +2095 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +4 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +703 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +105 -103
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +163 -111
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +108 -243
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1210 -265
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +561 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +511 -154
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +210 -268
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +83 -95
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +324 -288
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.json +0 -53
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +223 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +181 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.json +2 -2
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +1039 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +4 -0
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +478 -0
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.json +43 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +109 -80
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +56 -9
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +119 -358
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +110 -141
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +82 -78
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +1299 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +470 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +517 -157
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +176 -88
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +271 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +125 -319
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +410 -192
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +165 -632
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +524 -331
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +111 -83
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +95 -158
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +79 -91
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +1173 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +470 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +322 -169
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +126 -98
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +47 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +189 -6
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +336 -118
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +127 -85
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +154 -137
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +4 -0
- package/artifacts/contracts/product/{IProductService.sol/IProductService.json → IRiskService.sol/IRiskService.json} +44 -2
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +451 -295
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +123 -95
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +207 -283
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +96 -112
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +168 -434
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +4 -0
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +622 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +694 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +59 -16
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +311 -55
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +55 -146
- 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 +533 -113
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +1635 -162
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +96 -265
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +74 -70
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +205 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +1067 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +272 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +4 -4
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +65 -236
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +541 -263
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +136 -114
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +51 -103
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +92 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +55 -54
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +487 -19
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +98 -80
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.json +45 -3
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.json +34 -3
- 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 +15 -47
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +29 -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 +42 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +53 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +111 -318
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +55 -88
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +42 -62
- 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 +22 -57
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +19 -141
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +58 -89
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +51 -103
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +330 -11
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +108 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +82 -55
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +78 -28
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +97 -101
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +168 -325
- 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 +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +103 -104
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +7 -17
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +123 -198
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +76 -92
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +241 -147
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +59 -23
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.json +2 -2
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +61 -8
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +28 -4
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +4 -4
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +17 -12
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +4 -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 +136 -2
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +19 -19
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +4 -4
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +4 -4
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +60 -4
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +219 -6
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +50 -2
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +129 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +4 -0
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +10 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.json +15 -2
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +4 -0
- package/artifacts/contracts/type/String.sol/StrLib.json +132 -0
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +23 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +71 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +21 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/IVersionable.sol/IVersionable.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +602 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/{shared → upgradeability}/Versionable.sol/Versionable.json +1 -1
- package/contracts/authorization/AccessAdmin.sol +596 -0
- package/contracts/authorization/AccessManagerCloneable.sol +16 -0
- package/contracts/authorization/Authorization.sol +289 -0
- package/contracts/authorization/IAccess.sol +49 -0
- package/contracts/authorization/IAccessAdmin.sol +137 -0
- package/contracts/authorization/IAuthorization.sol +60 -0
- package/contracts/authorization/IServiceAuthorization.sol +40 -0
- package/contracts/authorization/ReleaseAccessManager.sol +38 -0
- package/contracts/authorization/ServiceAuthorization.sol +106 -0
- package/contracts/distribution/BasicDistribution.sol +139 -0
- package/contracts/distribution/BasicDistributionAuthorization.sol +47 -0
- package/contracts/distribution/Distribution.sol +140 -116
- package/contracts/distribution/DistributionService.sol +140 -83
- package/contracts/distribution/DistributionServiceManager.sol +8 -11
- package/contracts/distribution/IDistributionComponent.sol +26 -40
- package/contracts/distribution/IDistributionService.sol +23 -3
- package/contracts/examples/fire/DamageLevel.sol +59 -0
- package/contracts/examples/fire/FirePool.sol +75 -0
- package/contracts/examples/fire/FirePoolAuthorization.sol +34 -0
- package/contracts/examples/fire/FireProduct.sol +418 -0
- package/contracts/examples/fire/FireProductAuthorization.sol +44 -0
- package/contracts/examples/fire/FireUSD.sol +26 -0
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +50 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +137 -0
- package/contracts/examples/unpermissioned/SimplePool.sol +76 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +351 -0
- package/contracts/instance/{BundleManager.sol → BundleSet.sol} +23 -23
- package/contracts/instance/IInstance.sol +24 -40
- package/contracts/instance/IInstanceService.sol +27 -36
- package/contracts/instance/Instance.sol +123 -127
- package/contracts/instance/InstanceAdmin.sol +216 -270
- package/contracts/instance/InstanceAuthorizationV3.sol +194 -0
- package/contracts/instance/InstanceReader.sol +139 -34
- package/contracts/instance/InstanceService.sol +177 -128
- package/contracts/instance/InstanceServiceManager.sol +8 -13
- package/contracts/instance/InstanceStore.sol +26 -20
- package/contracts/instance/base/BalanceStore.sol +11 -6
- package/contracts/instance/base/Cloneable.sol +2 -25
- package/contracts/instance/base/ObjectLifecycle.sol +111 -0
- package/contracts/instance/base/{ObjectManager.sol → ObjectSet.sol} +11 -14
- package/contracts/instance/module/IBundle.sol +1 -1
- package/contracts/instance/module/IComponents.sol +10 -11
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/instance/module/IPolicy.sol +24 -24
- package/contracts/mock/Dip.sol +1 -1
- package/contracts/oracle/BasicOracle.sol +47 -0
- package/contracts/oracle/BasicOracleAuthorization.sol +46 -0
- package/contracts/oracle/IOracle.sol +16 -0
- package/contracts/oracle/IOracleComponent.sol +2 -1
- package/contracts/oracle/IOracleService.sol +2 -1
- package/contracts/oracle/Oracle.sol +64 -53
- package/contracts/oracle/OracleService.sol +51 -37
- package/contracts/oracle/OracleServiceManager.sol +8 -11
- package/contracts/pool/BasicPool.sol +154 -0
- package/contracts/pool/BasicPoolAuthorization.sol +57 -0
- package/contracts/pool/BundleService.sol +284 -87
- package/contracts/pool/BundleServiceManager.sol +8 -11
- package/contracts/pool/IBundleService.sol +42 -5
- package/contracts/pool/IPoolComponent.sol +24 -68
- package/contracts/pool/IPoolService.sol +56 -39
- package/contracts/pool/Pool.sol +184 -148
- package/contracts/pool/PoolService.sol +262 -171
- package/contracts/pool/PoolServiceManager.sol +6 -9
- package/contracts/product/ApplicationService.sol +75 -70
- package/contracts/product/ApplicationServiceManager.sol +6 -6
- package/contracts/product/BasicProduct.sol +53 -0
- package/contracts/product/BasicProductAuthorization.sol +42 -0
- package/contracts/product/ClaimService.sol +321 -151
- package/contracts/product/ClaimServiceManager.sol +6 -6
- package/contracts/product/IApplicationService.sol +1 -0
- package/contracts/product/IClaimService.sol +31 -7
- package/contracts/product/IPolicyService.sol +34 -32
- package/contracts/product/IPricingService.sol +10 -10
- package/contracts/product/IProductComponent.sol +26 -9
- package/contracts/product/{IProductService.sol → IRiskService.sol} +1 -1
- package/contracts/product/PolicyService.sol +424 -202
- package/contracts/product/PolicyServiceManager.sol +6 -9
- package/contracts/product/PricingService.sol +58 -59
- package/contracts/product/PricingServiceManager.sol +5 -8
- package/contracts/product/Product.sol +211 -133
- package/contracts/product/{ProductService.sol → RiskService.sol} +18 -46
- package/contracts/product/RiskServiceManager.sol +39 -0
- package/contracts/registry/ChainNft.sol +68 -38
- package/contracts/registry/IRegistry.sol +69 -22
- package/contracts/registry/IRegistryService.sol +3 -10
- package/contracts/registry/ITransferInterceptor.sol +1 -2
- package/contracts/registry/Registry.sol +354 -213
- package/contracts/registry/RegistryAdmin.sol +360 -149
- package/contracts/registry/RegistryService.sol +44 -69
- package/contracts/registry/RegistryServiceManager.sol +4 -9
- package/contracts/registry/ReleaseLifecycle.sol +30 -0
- package/contracts/registry/ReleaseRegistry.sol +501 -0
- package/contracts/registry/ServiceAuthorizationV3.sol +194 -0
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/shared/Component.sol +47 -63
- package/contracts/shared/ComponentService.sol +316 -189
- package/contracts/shared/ComponentServiceManager.sol +10 -7
- package/contracts/shared/ComponentVerifyingService.sol +24 -15
- package/contracts/shared/ContractLib.sol +38 -0
- package/contracts/shared/IComponent.sol +10 -6
- package/contracts/shared/IComponentService.sol +38 -20
- package/contracts/shared/IInstanceLinkedComponent.sol +11 -16
- package/contracts/shared/IKeyValueStore.sol +1 -0
- package/contracts/shared/ILifecycle.sol +3 -2
- package/contracts/shared/INftOwnable.sol +2 -0
- package/contracts/shared/IPolicyHolder.sol +12 -22
- package/contracts/shared/IRegisterable.sol +11 -0
- package/contracts/shared/IService.sol +8 -1
- package/contracts/shared/{ERC165.sol → InitializableERC165.sol} +3 -3
- package/contracts/shared/InstanceLinkedComponent.sol +106 -37
- package/contracts/shared/KeyValueStore.sol +7 -3
- package/contracts/shared/Lifecycle.sol +30 -72
- package/contracts/shared/{NftIdSetManager.sol → NftIdSet.sol} +1 -1
- package/contracts/shared/NftOwnable.sol +29 -9
- package/contracts/shared/PolicyHolder.sol +17 -57
- package/contracts/shared/Registerable.sol +19 -9
- package/contracts/shared/RegistryLinked.sol +3 -2
- package/contracts/shared/Service.sol +43 -36
- package/contracts/shared/TokenHandler.sol +100 -19
- package/contracts/shared/TokenHandlerDeployerLib.sol +12 -0
- package/contracts/staking/IStaking.sol +3 -3
- package/contracts/staking/IStakingService.sol +22 -14
- package/contracts/staking/StakeManagerLib.sol +70 -25
- package/contracts/staking/Staking.sol +86 -140
- package/contracts/staking/StakingLifecycle.sol +23 -0
- package/contracts/staking/StakingManager.sol +10 -12
- package/contracts/staking/StakingReader.sol +23 -20
- package/contracts/staking/StakingService.sol +69 -82
- package/contracts/staking/StakingServiceManager.sol +4 -5
- package/contracts/staking/StakingStore.sol +93 -60
- package/contracts/staking/TargetManagerLib.sol +7 -3
- package/contracts/type/Amount.sol +27 -5
- package/contracts/type/Blocknumber.sol +7 -1
- package/contracts/type/ClaimId.sol +6 -1
- package/contracts/type/NftId.sol +1 -0
- package/contracts/type/ObjectType.sol +172 -64
- package/contracts/type/PayoutId.sol +10 -10
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/RiskId.sol +15 -1
- package/contracts/type/RoleId.sol +97 -81
- package/contracts/type/Seconds.sol +21 -1
- package/contracts/type/Selector.sol +102 -0
- package/contracts/type/StateId.sol +15 -1
- package/contracts/type/String.sol +53 -0
- package/contracts/type/Timestamp.sol +11 -1
- package/contracts/type/UFixed.sol +38 -9
- package/contracts/type/Version.sol +3 -1
- package/contracts/{shared → upgradeability}/ProxyManager.sol +71 -38
- package/contracts/{shared → upgradeability}/UpgradableProxyWithAdmin.sol +1 -3
- package/contracts/{shared → upgradeability}/Versionable.sol +2 -2
- package/package.json +7 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +0 -4
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +0 -778
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +0 -228
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +0 -256
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +0 -679
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +0 -694
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +0 -4
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +0 -1292
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +0 -4
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +0 -137
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.json +0 -1715
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.json +0 -1728
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.json +0 -1806
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.json +0 -1824
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +0 -4
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +0 -73
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.json +0 -1562
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +0 -4
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.json +0 -1600
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +0 -4
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.json +0 -39
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +0 -4
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +0 -306
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +0 -4
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +0 -617
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +0 -4
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +0 -129
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +0 -4
- package/contracts/instance/InstanceAuthorizationsLib.sol +0 -377
- package/contracts/product/ProductServiceManager.sol +0 -42
- package/contracts/registry/ReleaseManager.sol +0 -600
- package/contracts/registry/ServiceAuthorizationsLib.sol +0 -173
- package/contracts/shared/AccessManagerCustom.sol +0 -736
- package/contracts/shared/AccessManagerExtended.sol +0 -470
- package/contracts/shared/AccessManagerExtendedInitializeable.sol +0 -13
- package/contracts/shared/AccessManagerExtendedWithDisable.sol +0 -137
- package/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol +0 -14
- package/contracts/shared/IAccessManagerExtended.sol +0 -74
- package/contracts/shared/IAccessManagerExtendedWithDisable.sol +0 -18
- package/contracts/shared/InitializableCustom.sol +0 -177
- /package/contracts/{shared → upgradeability}/IVersionable.sol +0 -0
@@ -6,9 +6,14 @@ type Seconds is uint40;
|
|
6
6
|
using {
|
7
7
|
SecondsEq as ==,
|
8
8
|
SecondsGt as >,
|
9
|
+
SecondsAdd as +,
|
9
10
|
SecondsLib.eqz,
|
10
11
|
SecondsLib.gtz,
|
11
|
-
SecondsLib.
|
12
|
+
SecondsLib.eq,
|
13
|
+
SecondsLib.gt,
|
14
|
+
SecondsLib.lt,
|
15
|
+
SecondsLib.toInt,
|
16
|
+
SecondsLib.add
|
12
17
|
} for Seconds global;
|
13
18
|
|
14
19
|
function SecondsEq(Seconds duration1, Seconds duration2) pure returns (bool) {
|
@@ -19,6 +24,11 @@ function SecondsGt(Seconds duration1, Seconds duration2) pure returns (bool) {
|
|
19
24
|
return SecondsLib.gt(duration1, duration2);
|
20
25
|
}
|
21
26
|
|
27
|
+
function SecondsAdd(Seconds duration1, Seconds duration2) pure returns (Seconds) {
|
28
|
+
return SecondsLib.add(duration1, duration2);
|
29
|
+
}
|
30
|
+
|
31
|
+
|
22
32
|
library SecondsLib {
|
23
33
|
|
24
34
|
error ErrorSecondsLibDurationTooBig(uint256 duration);
|
@@ -70,6 +80,16 @@ library SecondsLib {
|
|
70
80
|
return Seconds.unwrap(duration1) > Seconds.unwrap(duration2);
|
71
81
|
}
|
72
82
|
|
83
|
+
/// @dev return true if duration1 is smaller than duration2
|
84
|
+
function lt(Seconds duration1, Seconds duration2) public pure returns (bool) {
|
85
|
+
return Seconds.unwrap(duration1) < Seconds.unwrap(duration2);
|
86
|
+
}
|
87
|
+
|
88
|
+
/// @dev return add duration1 and duration2
|
89
|
+
function add(Seconds duration1, Seconds duration2) public pure returns (Seconds) {
|
90
|
+
return Seconds.wrap(Seconds.unwrap(duration1) + Seconds.unwrap(duration2));
|
91
|
+
}
|
92
|
+
|
73
93
|
function toInt(Seconds duration) public pure returns (uint256) {
|
74
94
|
return uint256(uint40(Seconds.unwrap(duration)));
|
75
95
|
}
|
@@ -0,0 +1,102 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
type Selector is bytes4;
|
5
|
+
|
6
|
+
// type bindings
|
7
|
+
using {
|
8
|
+
eqSelector as ==,
|
9
|
+
neSelector as !=,
|
10
|
+
SelectorLib.toBytes4,
|
11
|
+
SelectorLib.eqz
|
12
|
+
} for Selector global;
|
13
|
+
|
14
|
+
// pure free functions for operators
|
15
|
+
function eqSelector(Selector s1, Selector s2) pure returns (bool isSame) {
|
16
|
+
return SelectorLib.eq(s1, s2);
|
17
|
+
}
|
18
|
+
|
19
|
+
function neSelector(Selector s1, Selector s2) pure returns (bool isDifferent) {
|
20
|
+
return SelectorLib.ne(s1, s2);
|
21
|
+
}
|
22
|
+
|
23
|
+
// library functions that operate on user defined type
|
24
|
+
library SelectorLib {
|
25
|
+
|
26
|
+
function zero() public pure returns (Selector) {
|
27
|
+
return Selector.wrap("");
|
28
|
+
}
|
29
|
+
|
30
|
+
function eqz(Selector s) public pure returns (bool) {
|
31
|
+
return Selector.unwrap(s) == "";
|
32
|
+
}
|
33
|
+
|
34
|
+
function eq(Selector s1, Selector s2) public pure returns (bool isSame) {
|
35
|
+
return Selector.unwrap(s1) == Selector.unwrap(s2);
|
36
|
+
}
|
37
|
+
|
38
|
+
function ne(Selector s1, Selector s2) public pure returns (bool isDifferent) {
|
39
|
+
return Selector.unwrap(s1) != Selector.unwrap(s2);
|
40
|
+
}
|
41
|
+
|
42
|
+
function toSelector(bytes4 selector) public pure returns (Selector) {
|
43
|
+
return Selector.wrap(selector);
|
44
|
+
}
|
45
|
+
|
46
|
+
function toBytes4(Selector s) public pure returns (bytes4) {
|
47
|
+
return Selector.unwrap(s);
|
48
|
+
}
|
49
|
+
}
|
50
|
+
|
51
|
+
// selector specific set library
|
52
|
+
// based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
|
53
|
+
library SelectorSetLib {
|
54
|
+
|
55
|
+
struct Set {
|
56
|
+
Selector[] selectors;
|
57
|
+
mapping(Selector selector => uint256 index) at;
|
58
|
+
}
|
59
|
+
|
60
|
+
function add(Set storage set, Selector selector) external {
|
61
|
+
// selector already in set
|
62
|
+
if (set.at[selector] > 0) { return; }
|
63
|
+
|
64
|
+
set.selectors.push(selector);
|
65
|
+
set.at[selector] = set.selectors.length;
|
66
|
+
}
|
67
|
+
|
68
|
+
function remove(Set storage set, Selector selector) external {
|
69
|
+
uint256 selectorIndex = set.at[selector];
|
70
|
+
|
71
|
+
// selector not in set
|
72
|
+
if (selectorIndex == 0) {return; }
|
73
|
+
|
74
|
+
uint256 toDeleteIndex = selectorIndex - 1;
|
75
|
+
uint256 lastIndex = set.selectors.length - 1;
|
76
|
+
|
77
|
+
if (lastIndex != toDeleteIndex) {
|
78
|
+
Selector lastSelector = set.selectors[lastIndex];
|
79
|
+
set.selectors[toDeleteIndex] = lastSelector;
|
80
|
+
set.at[lastSelector] = selectorIndex; // Replace lastValue's index to valueIndex
|
81
|
+
}
|
82
|
+
|
83
|
+
set.selectors.pop();
|
84
|
+
delete set.at[selector];
|
85
|
+
}
|
86
|
+
|
87
|
+
function isEmpty(Set storage set) external view returns(bool empty) {
|
88
|
+
return set.selectors.length == 0;
|
89
|
+
}
|
90
|
+
|
91
|
+
function contains(Set storage set, Selector selector) external view returns(bool inSet) {
|
92
|
+
return set.at[selector] > 0;
|
93
|
+
}
|
94
|
+
|
95
|
+
function size(Set storage set) external view returns(uint256 length) {
|
96
|
+
return set.selectors.length;
|
97
|
+
}
|
98
|
+
|
99
|
+
function at(Set storage set, uint256 index) external view returns(Selector selector) {
|
100
|
+
return set.selectors[index];
|
101
|
+
}
|
102
|
+
}
|
@@ -9,6 +9,7 @@ using {
|
|
9
9
|
eqStateId as ==,
|
10
10
|
neStateId as !=,
|
11
11
|
StateIdLib.eqz,
|
12
|
+
StateIdLib.eq,
|
12
13
|
StateIdLib.gtz,
|
13
14
|
StateIdLib.toInt
|
14
15
|
} for StateId global;
|
@@ -27,10 +28,18 @@ function DEPLOYING() pure returns (StateId) {
|
|
27
28
|
return toStateId(3);
|
28
29
|
}
|
29
30
|
|
30
|
-
function
|
31
|
+
function DEPLOYED() pure returns (StateId) {
|
31
32
|
return toStateId(4);
|
32
33
|
}
|
33
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
|
+
|
34
43
|
function APPLIED() pure returns (StateId) {
|
35
44
|
return toStateId(10);
|
36
45
|
}
|
@@ -113,6 +122,11 @@ function neStateId(StateId a, StateId b) pure returns (bool isDifferent) {
|
|
113
122
|
|
114
123
|
// library functions that operate on user defined type
|
115
124
|
library StateIdLib {
|
125
|
+
|
126
|
+
function zero() public pure returns (StateId) {
|
127
|
+
return StateId.wrap(0);
|
128
|
+
}
|
129
|
+
|
116
130
|
/// @dev Converts the NftId to a uint256.
|
117
131
|
function toInt(StateId stateId) public pure returns (uint96) {
|
118
132
|
return uint96(StateId.unwrap(stateId));
|
@@ -0,0 +1,53 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {ShortString, ShortStrings} from "@openzeppelin/contracts/utils/ShortStrings.sol";
|
5
|
+
|
6
|
+
type Str is bytes32;
|
7
|
+
|
8
|
+
using {
|
9
|
+
StrEq as ==,
|
10
|
+
StrNe as !=,
|
11
|
+
StrLib.toString,
|
12
|
+
StrLib.length
|
13
|
+
} for Str global;
|
14
|
+
|
15
|
+
function StrEq(Str s1, Str s2) pure returns (bool) {
|
16
|
+
return StrLib.eq(s1, s2);
|
17
|
+
}
|
18
|
+
|
19
|
+
function StrNe(Str s1, Str s2) pure returns (bool) {
|
20
|
+
return StrLib.ne(s1, s2);
|
21
|
+
}
|
22
|
+
|
23
|
+
library StrLib {
|
24
|
+
|
25
|
+
|
26
|
+
/// @dev converts the provided string into a short string.
|
27
|
+
/// uses ShortStrings.toShortString
|
28
|
+
function toStr(string memory str) public pure returns (Str) {
|
29
|
+
return Str.wrap(ShortString.unwrap(ShortStrings.toShortString(str)));
|
30
|
+
}
|
31
|
+
|
32
|
+
/// @dev return true iff s1 equals s2
|
33
|
+
function eq(Str s1, Str s2) public pure returns (bool) {
|
34
|
+
return Str.unwrap(s1) == Str.unwrap(s2);
|
35
|
+
}
|
36
|
+
|
37
|
+
/// @dev return true iff s1 differs from s2
|
38
|
+
function ne(Str s1, Str s2) public pure returns (bool) {
|
39
|
+
return Str.unwrap(s1) != Str.unwrap(s2);
|
40
|
+
}
|
41
|
+
|
42
|
+
/// @dev converts the provided short string into a string.
|
43
|
+
/// uses ShortStrings.toString
|
44
|
+
function toString(Str str) public pure returns (string memory) {
|
45
|
+
return ShortStrings.toString(ShortString.wrap(Str.unwrap(str)));
|
46
|
+
}
|
47
|
+
|
48
|
+
/// @dev converts the provided short string into a string.
|
49
|
+
/// uses ShortStrings.byteLength
|
50
|
+
function length(Str str) public pure returns (uint256 byteLength) {
|
51
|
+
return ShortStrings.byteLength(ShortString.wrap(Str.unwrap(str)));
|
52
|
+
}
|
53
|
+
}
|
@@ -12,6 +12,12 @@ using {
|
|
12
12
|
lteTimestamp as <=,
|
13
13
|
eqTimestamp as ==,
|
14
14
|
neTimestamp as !=,
|
15
|
+
TimestampLib.eq,
|
16
|
+
TimestampLib.ne,
|
17
|
+
TimestampLib.gt,
|
18
|
+
TimestampLib.gte,
|
19
|
+
TimestampLib.lt,
|
20
|
+
TimestampLib.lte,
|
15
21
|
TimestampLib.gtz,
|
16
22
|
TimestampLib.eqz,
|
17
23
|
TimestampLib.addSeconds,
|
@@ -50,7 +56,7 @@ function neTimestamp(Timestamp a, Timestamp b) pure returns (bool) {
|
|
50
56
|
|
51
57
|
/// @dev Converts the uint256 to a Timestamp.
|
52
58
|
function toTimestamp(uint256 timestamp) pure returns (Timestamp) {
|
53
|
-
return
|
59
|
+
return TimestampLib.toTimestamp(timestamp);
|
54
60
|
}
|
55
61
|
|
56
62
|
// TODO move to TimestampLib and rename to zero()
|
@@ -72,6 +78,10 @@ library TimestampLib {
|
|
72
78
|
function blockTimestamp() public view returns (Timestamp) {
|
73
79
|
return Timestamp.wrap(uint40(block.timestamp));
|
74
80
|
}
|
81
|
+
|
82
|
+
function toTimestamp(uint256 timestamp) public pure returns (Timestamp) {
|
83
|
+
return Timestamp.wrap(uint40(timestamp));
|
84
|
+
}
|
75
85
|
|
76
86
|
/// @dev return true if Timestamp a is after Timestamp b
|
77
87
|
function gt(Timestamp a, Timestamp b) public pure returns (bool isAfter) {
|
@@ -15,8 +15,10 @@ using {
|
|
15
15
|
lteUFixed as <=,
|
16
16
|
eqUFixed as ==,
|
17
17
|
neUFixed as !=,
|
18
|
+
UFixedLib.gt,
|
19
|
+
UFixedLib.gtz,
|
18
20
|
UFixedLib.toInt,
|
19
|
-
UFixedLib.
|
21
|
+
UFixedLib.toInt1000
|
20
22
|
} for UFixed global;
|
21
23
|
|
22
24
|
// TODO move to UFixedLib and rename to zero()
|
@@ -29,7 +31,9 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
29
31
|
}
|
30
32
|
|
31
33
|
function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
32
|
-
|
34
|
+
if (a < b) {
|
35
|
+
revert UFixedLib.UFixedLibNegativeResult();
|
36
|
+
}
|
33
37
|
return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
|
34
38
|
}
|
35
39
|
|
@@ -39,8 +43,10 @@ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
39
43
|
}
|
40
44
|
|
41
45
|
function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
42
|
-
|
43
|
-
|
46
|
+
if (UFixed.unwrap(b) == 0) {
|
47
|
+
revert UFixedLib.UFixedLibDivisionByZero();
|
48
|
+
}
|
49
|
+
|
44
50
|
return
|
45
51
|
UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
|
46
52
|
}
|
@@ -88,6 +94,8 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
88
94
|
/// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
|
89
95
|
library MathLib {
|
90
96
|
|
97
|
+
error MathLigMulDivOverflow();
|
98
|
+
|
91
99
|
enum Rounding {
|
92
100
|
Down, // Toward negative infinity
|
93
101
|
Up, // Toward infinity
|
@@ -121,8 +129,10 @@ library MathLib {
|
|
121
129
|
}
|
122
130
|
|
123
131
|
// Make sure the result is less than 2^256. Also prevents denominator == 0.
|
124
|
-
|
125
|
-
|
132
|
+
if (denominator <= prod1) {
|
133
|
+
revert MathLigMulDivOverflow();
|
134
|
+
}
|
135
|
+
|
126
136
|
///////////////////////////////////////////////
|
127
137
|
// 512 by 256 division.
|
128
138
|
///////////////////////////////////////////////
|
@@ -194,6 +204,12 @@ library MathLib {
|
|
194
204
|
}
|
195
205
|
|
196
206
|
library UFixedLib {
|
207
|
+
error UFixedLibNegativeResult();
|
208
|
+
error UFixedLibDivisionByZero();
|
209
|
+
|
210
|
+
error UFixedLibExponentTooSmall(int8 exp);
|
211
|
+
error UFixedLibExponentTooLarge(int8 exp);
|
212
|
+
|
197
213
|
int8 public constant EXP = 18;
|
198
214
|
uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
|
199
215
|
uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
|
@@ -220,9 +236,13 @@ library UFixedLib {
|
|
220
236
|
|
221
237
|
/// @dev Converts the uint256 to a UFixed with given exponent.
|
222
238
|
function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
|
223
|
-
|
224
|
-
|
225
|
-
|
239
|
+
if (EXP + exp < 0) {
|
240
|
+
revert UFixedLibExponentTooSmall(exp);
|
241
|
+
}
|
242
|
+
if (EXP + exp > 64) {
|
243
|
+
revert UFixedLibExponentTooLarge(exp);
|
244
|
+
}
|
245
|
+
|
226
246
|
return UFixed.wrap(a * 10 ** uint8(EXP + exp));
|
227
247
|
}
|
228
248
|
|
@@ -236,6 +256,11 @@ library UFixedLib {
|
|
236
256
|
return toIntWithRounding(a, ROUNDING_HALF_UP());
|
237
257
|
}
|
238
258
|
|
259
|
+
/// @dev Converts a UFixed to a uint256.
|
260
|
+
function toInt1000(UFixed a) public pure returns (uint256) {
|
261
|
+
return toIntWithRounding(toUFixed(1000) * a, ROUNDING_HALF_UP());
|
262
|
+
}
|
263
|
+
|
239
264
|
/// @dev Converts a UFixed to a uint256 with given rounding mode.
|
240
265
|
function toIntWithRounding(UFixed a, uint8 rounding) public pure returns (uint256) {
|
241
266
|
if (rounding == ROUNDING_HALF_UP()) {
|
@@ -319,6 +344,10 @@ library UFixedLib {
|
|
319
344
|
return UFixed.wrap(0);
|
320
345
|
}
|
321
346
|
|
347
|
+
function one() public pure returns (UFixed) {
|
348
|
+
return UFixed.wrap(MULTIPLIER);
|
349
|
+
}
|
350
|
+
|
322
351
|
/// @dev return the absolute delta between two UFixed numbers
|
323
352
|
function delta(UFixed a, UFixed b) public pure returns (UFixed) {
|
324
353
|
return deltaUFixed(a, b);
|
@@ -7,6 +7,7 @@ using {
|
|
7
7
|
versionPartGt as >,
|
8
8
|
versionPartEq as ==,
|
9
9
|
versionPartNe as !=,
|
10
|
+
VersionPartLib.eqz,
|
10
11
|
VersionPartLib.toInt
|
11
12
|
}
|
12
13
|
for VersionPart global;
|
@@ -16,7 +17,8 @@ function versionPartEq(VersionPart a, VersionPart b) pure returns(bool isSame) {
|
|
16
17
|
function versionPartNe(VersionPart a, VersionPart b) pure returns(bool isSame) { return VersionPart.unwrap(a) != VersionPart.unwrap(b); }
|
17
18
|
|
18
19
|
library VersionPartLib {
|
19
|
-
function
|
20
|
+
function eqz(VersionPart a) external pure returns(bool) { return VersionPart.unwrap(a) == 0; }
|
21
|
+
function toInt(VersionPart a) external pure returns(uint256) { return VersionPart.unwrap(a); }
|
20
22
|
function toVersionPart(uint256 a) external pure returns(VersionPart) { return VersionPart.wrap(uint8(a)); }
|
21
23
|
}
|
22
24
|
|
@@ -1,17 +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
7
|
import {Blocknumber, blockNumber} from "../type/Blocknumber.sol";
|
7
8
|
import {IVersionable} from "./IVersionable.sol";
|
8
|
-
import {
|
9
|
-
import {
|
10
|
-
import {ProxyAdmin} from "@openzeppelin/contracts/proxy/transparent/ProxyAdmin.sol";
|
9
|
+
import {NftId} from "../type/NftId.sol";
|
10
|
+
import {NftOwnable} from "../shared/NftOwnable.sol";
|
11
11
|
import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
12
12
|
import {UpgradableProxyWithAdmin} from "./UpgradableProxyWithAdmin.sol";
|
13
13
|
import {Version, VersionLib} from "../type/Version.sol";
|
14
|
-
import {NftId} from "../type/NftId.sol";
|
15
14
|
|
16
15
|
/// @dev manages proxy deployments for upgradable contracs of type IVersionable
|
17
16
|
contract ProxyManager is
|
@@ -41,57 +40,68 @@ contract ProxyManager is
|
|
41
40
|
mapping(Version version => VersionInfo info) _versionHistory;
|
42
41
|
Version [] _versions;
|
43
42
|
|
44
|
-
/// @dev
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
43
|
+
/// @dev convencience initializer
|
44
|
+
function initialize(
|
45
|
+
address registry,
|
46
|
+
address implementation,
|
47
|
+
bytes memory data,
|
48
|
+
bytes32 salt
|
49
|
+
)
|
51
50
|
public
|
52
51
|
initializer()
|
52
|
+
returns (IVersionable versionable)
|
53
53
|
{
|
54
|
-
|
54
|
+
versionable = deployDetermenistic(
|
55
|
+
registry,
|
56
|
+
implementation,
|
57
|
+
data,
|
58
|
+
salt);
|
55
59
|
}
|
56
60
|
|
57
61
|
/// @dev deploy initial contract
|
58
|
-
function deploy(
|
62
|
+
function deploy(
|
63
|
+
address registry,
|
64
|
+
address initialImplementation,
|
65
|
+
bytes memory initializationData
|
66
|
+
)
|
59
67
|
public
|
60
68
|
virtual
|
61
|
-
|
69
|
+
onlyInitializing()
|
62
70
|
returns (IVersionable versionable)
|
63
71
|
{
|
64
|
-
|
65
|
-
|
66
|
-
|
72
|
+
(
|
73
|
+
address currentProxyOwner,
|
74
|
+
address initialProxyAdminOwner
|
75
|
+
) = _preDeployChecksAndSetup(registry);
|
67
76
|
|
68
|
-
address currentProxyOwner = getOwner(); // used by implementation
|
69
|
-
address initialProxyAdminOwner = address(this); // used by proxy
|
70
|
-
|
71
77
|
_proxy = new UpgradableProxyWithAdmin(
|
72
78
|
initialImplementation,
|
73
79
|
initialProxyAdminOwner,
|
74
80
|
getDeployData(currentProxyOwner, initializationData)
|
75
81
|
);
|
76
82
|
|
77
|
-
versionable =
|
78
|
-
|
83
|
+
versionable = _updateVersionHistory(
|
84
|
+
initialImplementation,
|
85
|
+
currentProxyOwner);
|
79
86
|
|
80
|
-
emit LogProxyManagerVersionableDeployed(address(
|
87
|
+
emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
|
81
88
|
}
|
82
89
|
|
83
|
-
function deployDetermenistic(
|
90
|
+
function deployDetermenistic(
|
91
|
+
address registry,
|
92
|
+
address initialImplementation,
|
93
|
+
bytes memory initializationData,
|
94
|
+
bytes32 salt
|
95
|
+
)
|
84
96
|
public
|
85
97
|
virtual
|
86
|
-
|
98
|
+
onlyInitializing()
|
87
99
|
returns (IVersionable versionable)
|
88
100
|
{
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
address currentProxyOwner = getOwner();
|
94
|
-
address initialProxyAdminOwner = address(this);
|
101
|
+
(
|
102
|
+
address currentProxyOwner,
|
103
|
+
address initialProxyAdminOwner
|
104
|
+
) = _preDeployChecksAndSetup(registry);
|
95
105
|
|
96
106
|
_proxy = new UpgradableProxyWithAdmin{salt: salt}(
|
97
107
|
initialImplementation,
|
@@ -99,10 +109,11 @@ contract ProxyManager is
|
|
99
109
|
getDeployData(currentProxyOwner, initializationData)
|
100
110
|
);
|
101
111
|
|
102
|
-
versionable =
|
103
|
-
|
112
|
+
versionable = _updateVersionHistory(
|
113
|
+
initialImplementation,
|
114
|
+
currentProxyOwner);
|
104
115
|
|
105
|
-
emit LogProxyManagerVersionableDeployed(address(
|
116
|
+
emit LogProxyManagerVersionableDeployed(address(versionable), initialImplementation);
|
106
117
|
}
|
107
118
|
|
108
119
|
/// @dev upgrade existing contract
|
@@ -125,10 +136,11 @@ contract ProxyManager is
|
|
125
136
|
newImplementation,
|
126
137
|
getUpgradeData(upgradeData));
|
127
138
|
|
128
|
-
versionable =
|
129
|
-
|
139
|
+
versionable = _updateVersionHistory(
|
140
|
+
newImplementation,
|
141
|
+
currentProxyOwner);
|
130
142
|
|
131
|
-
emit LogProxyManagerVersionableUpgraded(address(
|
143
|
+
emit LogProxyManagerVersionableUpgraded(address(versionable), newImplementation);
|
132
144
|
|
133
145
|
}
|
134
146
|
|
@@ -169,13 +181,34 @@ contract ProxyManager is
|
|
169
181
|
return _versionHistory[_version];
|
170
182
|
}
|
171
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
|
+
_initializeNftOwnable(registry, initialOwner);
|
197
|
+
|
198
|
+
currentProxyOwner = getOwner(); // used by implementation
|
199
|
+
initialProxyAdminOwner = address(this); // used by proxy
|
200
|
+
}
|
201
|
+
|
172
202
|
function _updateVersionHistory(
|
173
|
-
Version newVersion,
|
174
203
|
address implementation,
|
175
204
|
address activatedBy
|
176
205
|
)
|
177
206
|
private
|
207
|
+
returns (IVersionable versionable)
|
178
208
|
{
|
209
|
+
versionable = IVersionable(address(_proxy));
|
210
|
+
Version newVersion = versionable.getVersion();
|
211
|
+
|
179
212
|
if(newVersion == VersionLib.zeroVersion()) {
|
180
213
|
revert ErrorProxyManagerZeroVersion();
|
181
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
|
|
@@ -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-8c1d8cd-727",
|
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,11 +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-ignition-ethers": "^0.15.4",
|
34
33
|
"@nomicfoundation/hardhat-toolbox": "^5.0.0",
|
35
34
|
"@nomicfoundation/hardhat-verify": "^2.0.1",
|
36
35
|
"@typescript-eslint/eslint-plugin": "^7.1.0",
|
37
36
|
"@typescript-eslint/parser": "^7.1.0",
|
37
|
+
"antlr4ng-cli": "^2.0.0",
|
38
38
|
"dotenv": "^16.3.1",
|
39
39
|
"eslint": "^8.50.0",
|
40
40
|
"hardhat": "^2.17.2",
|
@@ -43,10 +43,13 @@
|
|
43
43
|
"typescript": "^5"
|
44
44
|
},
|
45
45
|
"dependencies": {
|
46
|
-
"@openzeppelin/contracts": "5.0.
|
47
|
-
"@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",
|
48
49
|
"abi-coder": "^5.0.0",
|
50
|
+
"antlr4ng": "^3.0.4",
|
49
51
|
"ethers": "^6.7.1",
|
52
|
+
"ethers-decode-error": "^2.1.3",
|
50
53
|
"solidity-docgen": "^0.6.0-beta.36",
|
51
54
|
"winston": "^3.10.0"
|
52
55
|
}
|