@etherisc/gif-next 0.0.2-9e03baf-990 → 0.0.2-9e6b423-414
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 +54 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +1023 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +752 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +4 -0
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +791 -0
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +640 -269
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +1289 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +202 -5
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +409 -33
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +525 -213
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +179 -19
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.json +246 -16
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +420 -27
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +110 -209
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +381 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +40 -128
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +374 -196
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +113 -71
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +26 -114
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +210 -71
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +134 -102
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +355 -52
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +291 -252
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +380 -45
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +181 -207
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +75 -100
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +151 -129
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +805 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +380 -256
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +4 -0
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +805 -0
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +193 -45
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +502 -49
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +300 -12
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +518 -84
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +1022 -326
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +393 -52
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1064 -471
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +309 -84
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +40 -52
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +673 -557
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +4 -0
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +853 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +16 -5
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +168 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +60 -83
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +379 -47
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +30 -53
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.json +27 -3
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +44 -67
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +114 -83
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +71 -45
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +65 -88
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +355 -52
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +120 -312
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +62 -104
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +44 -128
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +40 -63
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +138 -193
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +53 -76
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +538 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +288 -317
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +105 -67
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +167 -59
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +56 -42
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +176 -184
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +380 -45
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +260 -187
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +86 -88
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +103 -10
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +142 -20
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.json +105 -55
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +48 -3
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +157 -165
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +58 -7
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +220 -195
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +783 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +87 -77
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +112 -108
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +57 -71
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +170 -178
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +131 -81
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +60 -42
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +2 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +36 -12
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +31 -7
- 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/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +74 -50
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +728 -480
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +1053 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +55 -48
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +36 -38
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +2152 -0
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +386 -64
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +437 -26
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +15 -15
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +43 -52
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +206 -562
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +69 -87
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.json +27 -16
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +525 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.json +24 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.json +30 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.json +40 -0
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +30 -39
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +115 -390
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +30 -53
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +120 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +27 -3
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +43 -66
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +118 -62
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +27 -16
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +63 -162
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +118 -29
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +32 -32
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +96 -40
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +134 -10
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +191 -103
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +66 -46
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +40 -67
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +189 -58
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +53 -43
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +163 -149
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +61 -51
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +11 -11
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +94 -38
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +4 -0
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +33 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +23 -4
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +69 -7
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +42 -157
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.json +21 -2
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.json +2 -2
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.json +50 -2
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.json +2 -2
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +61 -37
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -21
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +101 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +18 -18
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +15 -2
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +261 -0
- package/contracts/accounting/AccountingServiceManager.sol +38 -0
- package/contracts/accounting/IAccountingService.sol +45 -0
- package/contracts/authorization/AccessAdmin.sol +426 -242
- package/contracts/authorization/AccessAdminLib.sol +396 -0
- package/contracts/authorization/AccessManagerCloneable.sol +146 -4
- package/contracts/authorization/Authorization.sol +142 -257
- package/contracts/authorization/IAccess.sol +25 -7
- package/contracts/authorization/IAccessAdmin.sol +87 -80
- package/contracts/authorization/IAuthorization.sol +9 -42
- package/contracts/authorization/IServiceAuthorization.sol +55 -17
- package/contracts/authorization/ServiceAuthorization.sol +247 -33
- package/contracts/distribution/BasicDistribution.sol +18 -16
- package/contracts/distribution/BasicDistributionAuthorization.sol +30 -10
- package/contracts/distribution/Distribution.sol +38 -78
- package/contracts/distribution/DistributionService.sol +183 -96
- package/contracts/distribution/DistributionServiceManager.sol +1 -1
- package/contracts/distribution/IDistributionComponent.sol +3 -10
- package/contracts/distribution/IDistributionService.sol +32 -24
- package/contracts/examples/fire/FirePool.sol +6 -6
- package/contracts/examples/fire/FirePoolAuthorization.sol +2 -1
- package/contracts/examples/fire/FireProduct.sol +9 -7
- package/contracts/examples/fire/FireProductAuthorization.sol +2 -1
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +34 -11
- package/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +7 -13
- package/contracts/examples/unpermissioned/SimplePoolAuthorization.sol +28 -0
- package/contracts/examples/unpermissioned/SimpleProduct.sol +36 -8
- package/contracts/examples/unpermissioned/SimpleProductAuthorization.sol +28 -0
- package/contracts/instance/BundleSet.sol +42 -38
- package/contracts/instance/IInstance.sol +97 -18
- package/contracts/instance/IInstanceService.sol +50 -8
- package/contracts/instance/Instance.sol +170 -57
- package/contracts/instance/InstanceAdmin.sol +271 -165
- package/contracts/instance/InstanceAuthorizationV3.sol +114 -43
- package/contracts/instance/InstanceReader.sol +449 -312
- package/contracts/instance/InstanceService.sol +260 -163
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +13 -2
- package/contracts/instance/RiskSet.sol +118 -0
- package/contracts/instance/base/BalanceStore.sol +3 -5
- package/contracts/instance/base/ObjectCounter.sol +1 -2
- package/contracts/instance/base/ObjectLifecycle.sol +4 -2
- package/contracts/instance/base/ObjectSet.sol +31 -33
- package/contracts/instance/base/ObjectSetHelperLib.sol +30 -0
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +19 -7
- package/contracts/instance/module/IDistribution.sol +21 -8
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +5 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +15 -8
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +1 -3
- package/contracts/oracle/OracleService.sol +96 -78
- package/contracts/oracle/OracleServiceManager.sol +1 -1
- package/contracts/pool/BasicPool.sol +0 -2
- package/contracts/pool/BasicPoolAuthorization.sol +28 -14
- package/contracts/pool/BundleService.sol +35 -125
- package/contracts/pool/BundleServiceManager.sol +1 -1
- package/contracts/pool/IBundleService.sol +13 -38
- package/contracts/pool/IPoolService.sol +49 -56
- package/contracts/pool/Pool.sol +9 -11
- package/contracts/pool/PoolLib.sol +353 -0
- package/contracts/pool/PoolService.sol +190 -223
- package/contracts/pool/PoolServiceManager.sol +1 -1
- package/contracts/product/ApplicationService.sol +34 -15
- package/contracts/product/ApplicationServiceManager.sol +1 -1
- package/contracts/product/BasicProduct.sol +2 -2
- package/contracts/product/BasicProductAuthorization.sol +30 -11
- package/contracts/product/ClaimService.sol +167 -150
- package/contracts/product/ClaimServiceManager.sol +1 -1
- package/contracts/product/IApplicationService.sol +8 -2
- package/contracts/product/IClaimService.sol +14 -2
- package/contracts/product/IPolicyService.sol +23 -10
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IProductComponent.sol +4 -1
- package/contracts/product/IRiskService.sol +7 -7
- package/contracts/product/PolicyService.sol +235 -290
- package/contracts/product/PolicyServiceLib.sol +139 -0
- package/contracts/product/PolicyServiceManager.sol +1 -1
- package/contracts/product/PricingService.sol +30 -21
- package/contracts/product/PricingServiceManager.sol +3 -3
- package/contracts/product/Product.sol +57 -22
- package/contracts/product/RiskService.sol +89 -31
- package/contracts/product/RiskServiceManager.sol +1 -1
- package/contracts/registry/ChainNft.sol +4 -2
- package/contracts/registry/IRegistry.sol +12 -15
- package/contracts/registry/IRelease.sol +29 -0
- package/contracts/registry/Registry.sol +7 -2
- package/contracts/registry/RegistryAdmin.sol +100 -374
- package/contracts/registry/RegistryAuthorization.sol +277 -0
- package/contracts/registry/RegistryService.sol +3 -3
- package/contracts/registry/RegistryServiceManager.sol +1 -1
- package/contracts/registry/ReleaseAdmin.sol +195 -0
- package/contracts/registry/ReleaseLifecycle.sol +2 -0
- package/contracts/registry/ReleaseRegistry.sol +153 -118
- package/contracts/registry/ServiceAuthorizationV3.sol +187 -46
- package/contracts/registry/TokenRegistry.sol +12 -13
- package/contracts/shared/Component.sol +30 -49
- package/contracts/shared/ComponentService.sol +330 -431
- package/contracts/shared/ComponentServiceManager.sol +1 -1
- package/contracts/shared/ComponentVerifyingService.sol +1 -1
- package/contracts/shared/ContractLib.sol +259 -2
- package/contracts/shared/IComponent.sol +0 -9
- package/contracts/shared/IComponentService.sol +21 -41
- package/contracts/shared/IInstanceLinkedComponent.sol +0 -11
- package/contracts/shared/IRegisterable.sol +15 -5
- package/contracts/shared/IService.sol +3 -5
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +3 -14
- package/contracts/shared/NftOwnable.sol +6 -6
- package/contracts/shared/PolicyHolder.sol +1 -1
- package/contracts/shared/Registerable.sol +42 -19
- package/contracts/shared/RegistryLinked.sol +1 -1
- package/contracts/shared/Service.sol +13 -30
- package/contracts/shared/TokenHandler.sol +45 -100
- package/contracts/staking/IStaking.sol +18 -12
- package/contracts/staking/IStakingService.sol +19 -1
- package/contracts/staking/Staking.sol +73 -33
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +80 -23
- package/contracts/staking/StakingReader.sol +6 -16
- package/contracts/staking/StakingService.sol +71 -57
- package/contracts/staking/StakingServiceManager.sol +5 -4
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/staking/TargetManagerLib.sol +1 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/Key32.sol +2 -2
- package/contracts/type/Key32Set.sol +62 -0
- package/contracts/type/NftId.sol +6 -0
- package/contracts/type/ObjectType.sol +69 -38
- package/contracts/type/RiskId.sol +26 -8
- package/contracts/type/RoleId.sol +63 -45
- package/contracts/type/Selector.sol +5 -0
- package/contracts/type/String.sol +12 -0
- package/contracts/type/Timestamp.sol +0 -5
- package/contracts/type/UFixed.sol +34 -127
- package/contracts/type/Version.sol +54 -5
- package/contracts/upgradeability/ProxyManager.sol +14 -12
- package/contracts/upgradeability/UpgradableProxyWithAdmin.sol +7 -1
- package/contracts/upgradeability/Versionable.sol +4 -1
- package/package.json +2 -2
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.dbg.json +0 -4
- package/artifacts/contracts/authorization/ReleaseAccessManager.sol/ReleaseAccessManager.json +0 -1196
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +0 -129
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +0 -16
- package/contracts/authorization/ReleaseAccessManager.sol +0 -38
- package/contracts/instance/module/IAccess.sol +0 -46
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
5
7
|
import {BasicPool} from "../../pool/BasicPool.sol";
|
6
8
|
import {Fee} from "../../type/Fee.sol";
|
@@ -12,13 +14,11 @@ import {UFixed, UFixedLib} from "../../type/UFixed.sol";
|
|
12
14
|
|
13
15
|
contract FirePool is
|
14
16
|
BasicPool
|
15
|
-
{
|
16
|
-
|
17
|
+
{
|
17
18
|
constructor(
|
18
19
|
address registry,
|
19
20
|
NftId fireProductNftId,
|
20
21
|
string memory componentName,
|
21
|
-
address token,
|
22
22
|
IAuthorization authorization
|
23
23
|
)
|
24
24
|
{
|
@@ -27,7 +27,6 @@ contract FirePool is
|
|
27
27
|
registry,
|
28
28
|
fireProductNftId,
|
29
29
|
componentName,
|
30
|
-
token,
|
31
30
|
IComponents.PoolInfo({
|
32
31
|
maxBalanceAmount: AmountLib.max(),
|
33
32
|
isInterceptingBundleTransfers: false,
|
@@ -45,7 +44,6 @@ contract FirePool is
|
|
45
44
|
address registry,
|
46
45
|
NftId fireProductNftId,
|
47
46
|
string memory componentName,
|
48
|
-
address token,
|
49
47
|
IComponents.PoolInfo memory poolInfo,
|
50
48
|
IAuthorization authorization,
|
51
49
|
address initialOwner
|
@@ -57,7 +55,6 @@ contract FirePool is
|
|
57
55
|
registry,
|
58
56
|
fireProductNftId,
|
59
57
|
componentName,
|
60
|
-
token,
|
61
58
|
poolInfo,
|
62
59
|
authorization,
|
63
60
|
initialOwner);
|
@@ -83,4 +80,7 @@ contract FirePool is
|
|
83
80
|
netStakedAmount = _stake(bundleNftId, initialAmount);
|
84
81
|
}
|
85
82
|
|
83
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
84
|
+
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
85
|
+
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
86
86
|
}
|
@@ -25,8 +25,9 @@ contract FirePoolAuthorization
|
|
25
25
|
IAccess.FunctionInfo[] storage functions;
|
26
26
|
|
27
27
|
// authorize public role (open access to any account, only allows to lock target)
|
28
|
-
functions = _authorizeForTarget(
|
28
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
29
29
|
// TODO: FirePool.createBundle must require a custom role (e.g. INVESTOR) instead of PUBLIC_ROLE
|
30
|
+
_authorize(functions, FirePool.approveTokenHandler.selector, "approveTokenHandler");
|
30
31
|
_authorize(functions, FirePool.createBundle.selector, "createBundle");
|
31
32
|
}
|
32
33
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {ACTIVE, PAUSED} from "../../type/StateId.sol";
|
5
7
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
6
8
|
import {BasicProduct} from "../../product/BasicProduct.sol";
|
@@ -66,7 +68,6 @@ contract FireProduct is
|
|
66
68
|
address registry,
|
67
69
|
NftId instanceNftid,
|
68
70
|
string memory componentName,
|
69
|
-
address token,
|
70
71
|
IAuthorization authorization
|
71
72
|
)
|
72
73
|
{
|
@@ -76,7 +77,6 @@ contract FireProduct is
|
|
76
77
|
registry,
|
77
78
|
instanceNftid,
|
78
79
|
componentName,
|
79
|
-
token,
|
80
80
|
authorization,
|
81
81
|
initialOwner);
|
82
82
|
}
|
@@ -85,7 +85,6 @@ contract FireProduct is
|
|
85
85
|
address registry,
|
86
86
|
NftId instanceNftId,
|
87
87
|
string memory componentName,
|
88
|
-
address token,
|
89
88
|
IAuthorization authorization,
|
90
89
|
address initialOwner
|
91
90
|
)
|
@@ -96,7 +95,6 @@ contract FireProduct is
|
|
96
95
|
registry,
|
97
96
|
instanceNftId,
|
98
97
|
componentName,
|
99
|
-
token,
|
100
98
|
IComponents.ProductInfo({
|
101
99
|
isProcessingFundedClaims: false,
|
102
100
|
isInterceptingPolicyTransfers: false,
|
@@ -105,7 +103,9 @@ contract FireProduct is
|
|
105
103
|
numberOfOracles: 0,
|
106
104
|
poolNftId: NftIdLib.zero(),
|
107
105
|
distributionNftId: NftIdLib.zero(),
|
108
|
-
oracleNftId: new NftId[](0)
|
106
|
+
oracleNftId: new NftId[](0)
|
107
|
+
}),
|
108
|
+
IComponents.FeeInfo({
|
109
109
|
productFee: FeeLib.zero(),
|
110
110
|
processingFee: FeeLib.zero(),
|
111
111
|
distributionFee: FeeLib.zero(),
|
@@ -248,8 +248,7 @@ contract FireProduct is
|
|
248
248
|
return _riskMapping[cityName];
|
249
249
|
}
|
250
250
|
_cities.push(cityName);
|
251
|
-
risk =
|
252
|
-
_createRisk(risk, "");
|
251
|
+
risk = _createRisk(bytes32(abi.encodePacked(cityName)), "");
|
253
252
|
_riskMapping[cityName] = risk;
|
254
253
|
}
|
255
254
|
|
@@ -428,4 +427,7 @@ contract FireProduct is
|
|
428
427
|
}
|
429
428
|
}
|
430
429
|
|
430
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
431
|
+
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
432
|
+
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
431
433
|
}
|
@@ -23,8 +23,9 @@ contract FireProductAuthorization
|
|
23
23
|
IAccess.FunctionInfo[] storage functions;
|
24
24
|
|
25
25
|
// authorize public role (open access to any account, only allows to lock target)
|
26
|
-
functions = _authorizeForTarget(
|
26
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
27
27
|
// fully public functions
|
28
|
+
_authorize(functions, FireProduct.approveTokenHandler.selector, "approveTokenHandler");
|
28
29
|
_authorize(functions, FireProduct.createApplication.selector, "createApplication");
|
29
30
|
|
30
31
|
// only owner
|
@@ -1,9 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
6
|
+
import {Amount} from "../../type/Amount.sol";
|
4
7
|
import {BasicDistribution} from "../../distribution/BasicDistribution.sol";
|
5
8
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
6
9
|
import {NftId} from "../../type/NftId.sol";
|
10
|
+
import {ReferralId} from "../../type/Referral.sol";
|
11
|
+
import {Timestamp, TimestampLib} from "../../type/Timestamp.sol";
|
12
|
+
import {UFixed, UFixedLib} from "../../type/UFixed.sol";
|
7
13
|
|
8
14
|
|
9
15
|
contract SimpleDistribution is
|
@@ -14,8 +20,7 @@ contract SimpleDistribution is
|
|
14
20
|
address registry,
|
15
21
|
NftId productNftId,
|
16
22
|
IAuthorization authorization,
|
17
|
-
address initialOwner
|
18
|
-
address token
|
23
|
+
address initialOwner
|
19
24
|
)
|
20
25
|
{
|
21
26
|
initialize(
|
@@ -23,8 +28,7 @@ contract SimpleDistribution is
|
|
23
28
|
productNftId,
|
24
29
|
authorization,
|
25
30
|
initialOwner,
|
26
|
-
"SimpleDistribution"
|
27
|
-
token);
|
31
|
+
"SimpleDistribution");
|
28
32
|
}
|
29
33
|
|
30
34
|
function initialize(
|
@@ -32,8 +36,7 @@ contract SimpleDistribution is
|
|
32
36
|
NftId productNftId,
|
33
37
|
IAuthorization authorization,
|
34
38
|
address initialOwner,
|
35
|
-
string memory name
|
36
|
-
address token
|
39
|
+
string memory name
|
37
40
|
)
|
38
41
|
public
|
39
42
|
virtual
|
@@ -44,15 +47,35 @@ contract SimpleDistribution is
|
|
44
47
|
productNftId,
|
45
48
|
authorization,
|
46
49
|
initialOwner,
|
47
|
-
name
|
48
|
-
token);
|
50
|
+
name);
|
49
51
|
}
|
50
52
|
|
53
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
54
|
+
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
55
|
+
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
51
56
|
|
52
|
-
|
57
|
+
/**
|
58
|
+
* @dev create referral codes. This is required for testing only to provide a distributor that is not the message sender.
|
59
|
+
*/
|
60
|
+
function createReferral2(
|
61
|
+
NftId distributorNftId,
|
62
|
+
string memory code,
|
63
|
+
UFixed discountPercentage,
|
64
|
+
uint32 maxReferrals,
|
65
|
+
Timestamp expiryAt,
|
66
|
+
bytes memory data
|
67
|
+
)
|
53
68
|
external
|
54
|
-
|
69
|
+
virtual
|
70
|
+
returns (ReferralId referralId)
|
55
71
|
{
|
56
|
-
|
72
|
+
return _createReferral(
|
73
|
+
distributorNftId,
|
74
|
+
code,
|
75
|
+
discountPercentage,
|
76
|
+
maxReferrals,
|
77
|
+
expiryAt,
|
78
|
+
data); // data
|
57
79
|
}
|
80
|
+
|
58
81
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {BasicDistributionAuthorization} from "../../distribution/BasicDistributionAuthorization.sol";
|
5
|
+
import {IAccess} from "../../authorization/IAccess.sol";
|
6
|
+
import {PUBLIC_ROLE} from "../../type/RoleId.sol";
|
7
|
+
import {SimpleDistribution} from "./SimpleDistribution.sol";
|
8
|
+
|
9
|
+
contract SimpleDistributionAuthorization
|
10
|
+
is BasicDistributionAuthorization
|
11
|
+
{
|
12
|
+
constructor(string memory componentName)
|
13
|
+
BasicDistributionAuthorization(componentName)
|
14
|
+
{}
|
15
|
+
|
16
|
+
function _setupTargetAuthorizations()
|
17
|
+
internal
|
18
|
+
virtual override
|
19
|
+
{
|
20
|
+
super._setupTargetAuthorizations();
|
21
|
+
|
22
|
+
// authorize public role (open access to any account, only allows to lock target)
|
23
|
+
IAccess.FunctionInfo[] storage functions;
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
|
+
_authorize(functions, SimpleDistribution.approveTokenHandler.selector, "approveTokenHandler");
|
26
|
+
_authorize(functions, SimpleDistribution.setWallet.selector, "setWallet");
|
27
|
+
}
|
28
|
+
}
|
@@ -34,8 +34,7 @@ contract SimpleOracle is
|
|
34
34
|
address registry,
|
35
35
|
NftId productNftId,
|
36
36
|
IAuthorization authorization,
|
37
|
-
address initialOwner
|
38
|
-
address token
|
37
|
+
address initialOwner
|
39
38
|
)
|
40
39
|
{
|
41
40
|
initialize(
|
@@ -43,8 +42,7 @@ contract SimpleOracle is
|
|
43
42
|
productNftId,
|
44
43
|
authorization,
|
45
44
|
initialOwner,
|
46
|
-
"SimpleOracle"
|
47
|
-
token
|
45
|
+
"SimpleOracle"
|
48
46
|
);
|
49
47
|
}
|
50
48
|
|
@@ -53,8 +51,7 @@ contract SimpleOracle is
|
|
53
51
|
NftId productNftId,
|
54
52
|
IAuthorization authorization,
|
55
53
|
address initialOwner,
|
56
|
-
string memory name
|
57
|
-
address token
|
54
|
+
string memory name
|
58
55
|
)
|
59
56
|
public
|
60
57
|
virtual
|
@@ -65,8 +62,7 @@ contract SimpleOracle is
|
|
65
62
|
productNftId,
|
66
63
|
authorization,
|
67
64
|
initialOwner,
|
68
|
-
name
|
69
|
-
token);
|
65
|
+
name);
|
70
66
|
}
|
71
67
|
|
72
68
|
/// @dev use case specific handling of oracle requests
|
@@ -1,9 +1,10 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
5
7
|
import {BasicPool} from "../../pool/BasicPool.sol";
|
6
|
-
import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
|
7
8
|
import {Fee} from "../../type/Fee.sol";
|
8
9
|
import {IAuthorization} from "../../authorization/IAuthorization.sol";
|
9
10
|
import {IComponents} from "../../instance/module/IComponents.sol";
|
@@ -18,7 +19,6 @@ contract SimplePool is
|
|
18
19
|
constructor(
|
19
20
|
address registry,
|
20
21
|
NftId productNftId,
|
21
|
-
address token,
|
22
22
|
IComponents.PoolInfo memory poolInfo,
|
23
23
|
IAuthorization authorization,
|
24
24
|
address initialOwner
|
@@ -27,7 +27,6 @@ contract SimplePool is
|
|
27
27
|
initialize(
|
28
28
|
registry,
|
29
29
|
productNftId,
|
30
|
-
token,
|
31
30
|
poolInfo,
|
32
31
|
authorization,
|
33
32
|
initialOwner
|
@@ -38,7 +37,6 @@ contract SimplePool is
|
|
38
37
|
function initialize(
|
39
38
|
address registry,
|
40
39
|
NftId productNftId,
|
41
|
-
address token,
|
42
40
|
IComponents.PoolInfo memory poolInfo,
|
43
41
|
IAuthorization authorization,
|
44
42
|
address initialOwner
|
@@ -51,21 +49,12 @@ contract SimplePool is
|
|
51
49
|
registry,
|
52
50
|
productNftId,
|
53
51
|
"SimplePool",
|
54
|
-
token,
|
55
52
|
poolInfo,
|
56
53
|
authorization,
|
57
54
|
initialOwner);
|
58
55
|
}
|
59
56
|
|
60
57
|
|
61
|
-
function setWallet(address newWallet)
|
62
|
-
external
|
63
|
-
onlyOwner()
|
64
|
-
{
|
65
|
-
_setWallet(newWallet);
|
66
|
-
}
|
67
|
-
|
68
|
-
|
69
58
|
function createBundle(
|
70
59
|
Fee memory fee,
|
71
60
|
uint256 initialAmount,
|
@@ -105,4 +94,9 @@ contract SimplePool is
|
|
105
94
|
{
|
106
95
|
_defundPoolWallet(amount);
|
107
96
|
}
|
97
|
+
|
98
|
+
|
99
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
100
|
+
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
101
|
+
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
108
102
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {BasicPoolAuthorization} from "../../pool/BasicPoolAuthorization.sol";
|
5
|
+
import {IAccess} from "../../authorization/IAccess.sol";
|
6
|
+
import {PUBLIC_ROLE} from "../../type/RoleId.sol";
|
7
|
+
import {SimplePool} from "./SimplePool.sol";
|
8
|
+
|
9
|
+
contract SimplePoolAuthorization
|
10
|
+
is BasicPoolAuthorization
|
11
|
+
{
|
12
|
+
constructor(string memory poolName)
|
13
|
+
BasicPoolAuthorization(poolName)
|
14
|
+
{}
|
15
|
+
|
16
|
+
function _setupTargetAuthorizations()
|
17
|
+
internal
|
18
|
+
virtual override
|
19
|
+
{
|
20
|
+
super._setupTargetAuthorizations();
|
21
|
+
|
22
|
+
// authorize public role (open access to any account, only allows to lock target)
|
23
|
+
IAccess.FunctionInfo[] storage functions;
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
|
+
_authorize(functions, SimplePool.approveTokenHandler.selector, "approveTokenHandler");
|
26
|
+
_authorize(functions, SimplePool.setWallet.selector, "setWallet");
|
27
|
+
}
|
28
|
+
}
|
@@ -1,6 +1,8 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
4
6
|
import {Amount, AmountLib} from "../../type/Amount.sol";
|
5
7
|
import {BasicProduct} from "../../product/BasicProduct.sol";
|
6
8
|
import {ClaimId} from "../../type/ClaimId.sol";
|
@@ -35,8 +37,8 @@ contract SimpleProduct is
|
|
35
37
|
address registry,
|
36
38
|
NftId instanceNftId,
|
37
39
|
string memory name,
|
38
|
-
address token,
|
39
40
|
IComponents.ProductInfo memory productInfo,
|
41
|
+
IComponents.FeeInfo memory feeInfo,
|
40
42
|
IAuthorization authorization,
|
41
43
|
address initialOwner
|
42
44
|
)
|
@@ -45,8 +47,8 @@ contract SimpleProduct is
|
|
45
47
|
registry,
|
46
48
|
instanceNftId,
|
47
49
|
name,
|
48
|
-
token,
|
49
50
|
productInfo,
|
51
|
+
feeInfo,
|
50
52
|
authorization,
|
51
53
|
initialOwner);
|
52
54
|
}
|
@@ -56,8 +58,8 @@ contract SimpleProduct is
|
|
56
58
|
address registry,
|
57
59
|
NftId instanceNftid,
|
58
60
|
string memory name,
|
59
|
-
address token,
|
60
61
|
IComponents.ProductInfo memory productInfo,
|
62
|
+
IComponents.FeeInfo memory feeInfo,
|
61
63
|
IAuthorization authorization,
|
62
64
|
address initialOwner
|
63
65
|
)
|
@@ -69,20 +71,21 @@ contract SimpleProduct is
|
|
69
71
|
registry,
|
70
72
|
instanceNftid,
|
71
73
|
name,
|
72
|
-
token,
|
73
74
|
productInfo,
|
75
|
+
feeInfo,
|
74
76
|
authorization,
|
75
77
|
initialOwner);
|
76
78
|
|
77
79
|
_oracleService = IOracleService(_getServiceAddress(ORACLE()));
|
78
80
|
}
|
79
81
|
|
82
|
+
|
80
83
|
function createRisk(
|
81
|
-
|
84
|
+
string memory id,
|
82
85
|
bytes memory data
|
83
|
-
) public {
|
84
|
-
_createRisk(
|
85
|
-
id,
|
86
|
+
) public returns (RiskId) {
|
87
|
+
return _createRisk(
|
88
|
+
bytes32(abi.encodePacked(id)),
|
86
89
|
data
|
87
90
|
);
|
88
91
|
}
|
@@ -181,6 +184,13 @@ contract SimpleProduct is
|
|
181
184
|
_activate(policyNftId, activateAt);
|
182
185
|
}
|
183
186
|
|
187
|
+
function adjustActivation(
|
188
|
+
NftId policyNftId,
|
189
|
+
Timestamp activateAt
|
190
|
+
) public {
|
191
|
+
_adjustActivation(policyNftId, activateAt);
|
192
|
+
}
|
193
|
+
|
184
194
|
function close(
|
185
195
|
NftId policyNftId
|
186
196
|
) public {
|
@@ -195,6 +205,13 @@ contract SimpleProduct is
|
|
195
205
|
return _submitClaim(policyNftId, claimAmount, submissionData);
|
196
206
|
}
|
197
207
|
|
208
|
+
function revokeClaim(
|
209
|
+
NftId policyNftId,
|
210
|
+
ClaimId claimId
|
211
|
+
) public {
|
212
|
+
_revokeClaim(policyNftId, claimId);
|
213
|
+
}
|
214
|
+
|
198
215
|
function confirmClaim(
|
199
216
|
NftId policyNftId,
|
200
217
|
ClaimId claimId,
|
@@ -228,6 +245,13 @@ contract SimpleProduct is
|
|
228
245
|
return _createPayout(policyNftId, claimId, amount, data);
|
229
246
|
}
|
230
247
|
|
248
|
+
function cancelPayout(
|
249
|
+
NftId policyNftId,
|
250
|
+
PayoutId payoutId
|
251
|
+
) public {
|
252
|
+
_cancelPayout(policyNftId, payoutId);
|
253
|
+
}
|
254
|
+
|
231
255
|
// TODO add test
|
232
256
|
function createPayoutForBeneficiary(
|
233
257
|
NftId policyNftId,
|
@@ -342,4 +366,8 @@ contract SimpleProduct is
|
|
342
366
|
function getOracleService() public view returns (IOracleService) {
|
343
367
|
return _oracleService;
|
344
368
|
}
|
369
|
+
|
370
|
+
function approveTokenHandler(IERC20Metadata token, Amount amount) external restricted() onlyOwner() { _approveTokenHandler(token, amount); }
|
371
|
+
function setLocked(bool locked) external onlyOwner() { _setLocked(locked); }
|
372
|
+
function setWallet(address newWallet) external restricted() onlyOwner() { _setWallet(newWallet); }
|
345
373
|
}
|
@@ -0,0 +1,28 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.20;
|
3
|
+
|
4
|
+
import {BasicProductAuthorization} from "../../product/BasicProductAuthorization.sol";
|
5
|
+
import {IAccess} from "../../authorization/IAccess.sol";
|
6
|
+
import {PUBLIC_ROLE} from "../../type/RoleId.sol";
|
7
|
+
import {SimpleProduct} from "./SimpleProduct.sol";
|
8
|
+
|
9
|
+
contract SimpleProductAuthorization
|
10
|
+
is BasicProductAuthorization
|
11
|
+
{
|
12
|
+
constructor(string memory componentName)
|
13
|
+
BasicProductAuthorization(componentName)
|
14
|
+
{}
|
15
|
+
|
16
|
+
function _setupTargetAuthorizations()
|
17
|
+
internal
|
18
|
+
virtual override
|
19
|
+
{
|
20
|
+
super._setupTargetAuthorizations();
|
21
|
+
|
22
|
+
// authorize public role (open access to any account, only allows to lock target)
|
23
|
+
IAccess.FunctionInfo[] storage functions;
|
24
|
+
functions = _authorizeForTarget(getMainTargetName(), PUBLIC_ROLE());
|
25
|
+
_authorize(functions, SimpleProduct.approveTokenHandler.selector, "approveTokenHandler");
|
26
|
+
_authorize(functions, SimpleProduct.setWallet.selector, "setWallet");
|
27
|
+
}
|
28
|
+
}
|