@etherisc/gif-next 0.0.2-7c8d286-020 → 0.0.2-7d488b3-675
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 +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +32 -48
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +26 -34
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +246 -361
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +39 -8
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +23 -96
- 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 +184 -278
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +0 -32
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +109 -33
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +41 -96
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +65 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +106 -142
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +53 -61
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +65 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +20 -40
- 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 +17 -33
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +41 -96
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +59 -75
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +41 -96
- 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 +118 -42
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +41 -96
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +23 -23
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +27 -43
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +41 -96
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +29 -45
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +41 -96
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +7 -85
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +11 -54
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +25 -95
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +405 -512
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +41 -96
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +63 -86
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +36 -26
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +2 -2
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +2 -2
- 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 +14 -14
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +30 -93
- 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/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +42 -58
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +31 -39
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +41 -96
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +58 -74
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +39 -47
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +22 -38
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +74 -106
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +47 -63
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +26 -71
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +23 -35
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +41 -96
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +80 -96
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +50 -58
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +0 -21
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +0 -21
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +0 -21
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +86 -94
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +18 -452
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +53 -57
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +52 -89
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +36 -44
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +26 -55
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +23 -27
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- 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 +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +350 -440
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +19 -19
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +368 -473
- 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 +124 -128
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +102 -63
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +49 -41
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +4 -60
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +24 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- 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/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- 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/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/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/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +9 -74
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +3 -74
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +440 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +57 -141
- 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 +34 -50
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +57 -30
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +29 -124
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +23 -35
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +128 -142
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +14 -24
- 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/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/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 +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- 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 +31 -33
- 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 +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- 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/SelectorSetLib.dbg.json +1 -1
- 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/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- 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 +2 -56
- 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 +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/AccountingService.sol +3 -2
- package/contracts/authorization/AccessAdmin.sol +186 -201
- package/contracts/authorization/AccessManagerCloneable.sol +31 -40
- package/contracts/authorization/Authorization.sol +33 -61
- package/contracts/authorization/IAccessAdmin.sol +36 -63
- package/contracts/authorization/IAuthorization.sol +0 -6
- package/contracts/distribution/BasicDistribution.sol +3 -5
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +47 -4
- package/contracts/distribution/DistributionService.sol +6 -10
- package/contracts/distribution/IDistributionComponent.sol +9 -0
- package/contracts/distribution/IDistributionService.sol +5 -3
- package/contracts/instance/IInstance.sol +8 -43
- package/contracts/instance/IInstanceService.sol +2 -14
- package/contracts/instance/Instance.sol +13 -62
- package/contracts/instance/InstanceAdmin.sol +107 -120
- package/contracts/instance/InstanceAuthorizationV3.sol +21 -43
- package/contracts/instance/InstanceReader.sol +1 -1
- package/contracts/instance/InstanceService.sol +60 -118
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
- package/contracts/oracle/OracleService.sol +4 -4
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/PoolLib.sol +1 -94
- package/contracts/pool/PoolService.sol +89 -91
- package/contracts/product/ApplicationService.sol +1 -10
- package/contracts/product/BasicProductAuthorization.sol +1 -1
- package/contracts/product/ClaimService.sol +0 -8
- package/contracts/product/IApplicationService.sol +0 -2
- package/contracts/product/IPricingService.sol +0 -1
- package/contracts/product/IRiskService.sol +0 -3
- package/contracts/product/PolicyService.sol +53 -35
- package/contracts/product/PolicyServiceLib.sol +1 -55
- package/contracts/product/PricingService.sol +0 -5
- package/contracts/product/RiskService.sol +0 -10
- package/contracts/registry/RegistryAdmin.sol +229 -133
- package/contracts/registry/ReleaseAdmin.sol +22 -30
- package/contracts/registry/ReleaseRegistry.sol +33 -39
- package/contracts/registry/ServiceAuthorizationV3.sol +3 -88
- package/contracts/shared/Component.sol +6 -6
- package/contracts/shared/ComponentService.sol +29 -33
- package/contracts/shared/ContractLib.sol +0 -28
- package/contracts/shared/IComponentService.sol +6 -4
- package/contracts/shared/InitializableERC165.sol +1 -9
- package/contracts/shared/NftOwnable.sol +1 -2
- package/contracts/shared/Registerable.sol +4 -1
- package/contracts/shared/TokenHandler.sol +4 -5
- package/contracts/staking/IStaking.sol +2 -12
- package/contracts/staking/IStakingService.sol +1 -11
- package/contracts/staking/{StakingLib.sol → StakeManagerLib.sol} +22 -79
- package/contracts/staking/Staking.sol +13 -33
- package/contracts/staking/StakingReader.sol +15 -5
- package/contracts/staking/StakingService.sol +2 -39
- package/contracts/staking/StakingStore.sol +1 -2
- package/contracts/type/ObjectType.sol +14 -5
- package/contracts/type/Version.sol +0 -39
- package/package.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +0 -4
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +0 -673
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +0 -4
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +0 -878
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +0 -469
- package/contracts/authorization/AccessAdminLib.sol +0 -183
- package/contracts/registry/RegistryAuthorization.sol +0 -267
@@ -4,28 +4,31 @@ pragma solidity ^0.8.20;
|
|
4
4
|
import {Clones} from "@openzeppelin/contracts/proxy/Clones.sol";
|
5
5
|
|
6
6
|
import {IAuthorization} from "../authorization/IAuthorization.sol";
|
7
|
-
import {
|
8
|
-
import {
|
9
|
-
import {
|
7
|
+
import {AccessManagerCloneable} from "../authorization/AccessManagerCloneable.sol";
|
8
|
+
import {Amount} from "../type/Amount.sol";
|
9
|
+
import {BundleSet} from "./BundleSet.sol";
|
10
|
+
import {RiskSet} from "./RiskSet.sol";
|
11
|
+
import {ChainNft} from "../registry/ChainNft.sol";
|
12
|
+
import {NftId} from "../type/NftId.sol";
|
13
|
+
import {RoleId} from "../type/RoleId.sol";
|
14
|
+
import {UFixed} from "../type/UFixed.sol";
|
15
|
+
import {ObjectType, INSTANCE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
|
16
|
+
|
17
|
+
import {Service} from "../shared/Service.sol";
|
18
|
+
|
10
19
|
import {IRegistry} from "../registry/IRegistry.sol";
|
11
20
|
import {IRegistryService} from "../registry/IRegistryService.sol";
|
12
21
|
import {IStakingService} from "../staking/IStakingService.sol";
|
22
|
+
import {TargetManagerLib} from "../staking/TargetManagerLib.sol";
|
13
23
|
|
14
|
-
import {
|
15
|
-
import {Amount} from "../type/Amount.sol";
|
16
|
-
import {BundleSet} from "./BundleSet.sol";
|
24
|
+
import {IComponentService} from "../shared/IComponentService.sol";
|
17
25
|
import {Instance} from "./Instance.sol";
|
26
|
+
import {IInstance} from "./IInstance.sol";
|
18
27
|
import {InstanceAdmin} from "./InstanceAdmin.sol";
|
28
|
+
import {IInstanceService} from "./IInstanceService.sol";
|
19
29
|
import {InstanceReader} from "./InstanceReader.sol";
|
20
30
|
import {InstanceStore} from "./InstanceStore.sol";
|
21
|
-
import {NftId} from "../type/NftId.sol";
|
22
|
-
import {ObjectType, INSTANCE, COMPONENT, INSTANCE, REGISTRY, STAKING} from "../type/ObjectType.sol";
|
23
|
-
import {RiskSet} from "./RiskSet.sol";
|
24
|
-
import {RoleId} from "../type/RoleId.sol";
|
25
31
|
import {Seconds} from "../type/Seconds.sol";
|
26
|
-
import {Service} from "../shared/Service.sol";
|
27
|
-
import {TargetManagerLib} from "../staking/TargetManagerLib.sol";
|
28
|
-
import {UFixed} from "../type/UFixed.sol";
|
29
32
|
import {VersionPart} from "../type/Version.sol";
|
30
33
|
|
31
34
|
|
@@ -50,8 +53,23 @@ contract InstanceService is
|
|
50
53
|
address internal _masterInstanceStore;
|
51
54
|
|
52
55
|
|
53
|
-
modifier onlyInstance() {
|
54
|
-
|
56
|
+
modifier onlyInstance() {
|
57
|
+
address instanceAddress = msg.sender;
|
58
|
+
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
59
|
+
if (instanceNftId.eqz()) {
|
60
|
+
revert ErrorInstanceServiceNotRegistered(instanceAddress);
|
61
|
+
}
|
62
|
+
|
63
|
+
ObjectType objectType = getRegistry().getObjectInfo(instanceNftId).objectType;
|
64
|
+
if (objectType != INSTANCE()) {
|
65
|
+
revert ErrorInstanceServiceNotInstance(instanceAddress, objectType);
|
66
|
+
}
|
67
|
+
|
68
|
+
VersionPart instanceVersion = IInstance(instanceAddress).getRelease();
|
69
|
+
if (instanceVersion != getVersion().toMajorPart()) {
|
70
|
+
revert ErrorInstanceServiceInstanceVersionMismatch(instanceAddress, instanceVersion);
|
71
|
+
}
|
72
|
+
|
55
73
|
_;
|
56
74
|
}
|
57
75
|
|
@@ -72,33 +90,8 @@ contract InstanceService is
|
|
72
90
|
_;
|
73
91
|
}
|
74
92
|
|
75
|
-
/// @inheritdoc IInstanceService
|
76
|
-
function setInstanceLocked(bool locked)
|
77
|
-
external
|
78
|
-
virtual
|
79
|
-
restricted()
|
80
|
-
onlyInstance()
|
81
|
-
{
|
82
|
-
address instanceAddress = msg.sender;
|
83
|
-
IInstance(instanceAddress).getInstanceAdmin().setInstanceLocked(locked);
|
84
|
-
}
|
85
|
-
|
86
|
-
|
87
|
-
/// @dev Locks/unlocks the specified target constrolled by the corresponding instance admin.
|
88
|
-
function setTargetLocked(address target, bool locked)
|
89
|
-
external
|
90
|
-
virtual
|
91
|
-
restricted()
|
92
|
-
onlyInstance()
|
93
|
-
{
|
94
|
-
address instanceAddress = msg.sender;
|
95
|
-
IInstance(instanceAddress).getInstanceAdmin().setTargetLocked(target, locked);
|
96
|
-
}
|
97
|
-
|
98
|
-
|
99
93
|
function createInstance()
|
100
94
|
external
|
101
|
-
virtual
|
102
95
|
restricted()
|
103
96
|
returns (
|
104
97
|
IInstance instance,
|
@@ -109,31 +102,26 @@ contract InstanceService is
|
|
109
102
|
address instanceOwner = msg.sender;
|
110
103
|
|
111
104
|
// create instance admin and instance
|
112
|
-
InstanceAdmin instanceAdmin =
|
105
|
+
InstanceAdmin instanceAdmin = _createInstanceAdmin();
|
113
106
|
instance = _createInstance(instanceAdmin, instanceOwner);
|
114
107
|
|
115
108
|
// register cloned instance with registry
|
116
109
|
instanceNftId = _registryService.registerInstance(
|
117
110
|
instance, instanceOwner).nftId;
|
118
111
|
|
119
|
-
// MUST be set after instance is set up and registered
|
120
|
-
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
121
|
-
instanceAdmin.completeSetup(
|
122
|
-
address(getRegistry()),
|
123
|
-
address(instance),
|
124
|
-
address(instanceAuthorization),
|
125
|
-
getRelease());
|
126
|
-
|
127
|
-
// hard checks for newly cloned instance
|
128
|
-
assert(address(instance.getRegistry()) == address(getRegistry()));
|
129
|
-
assert(instance.getRelease() == getRelease());
|
130
|
-
|
131
112
|
// register cloned instance as staking target
|
132
113
|
_stakingService.createInstanceTarget(
|
133
114
|
instanceNftId,
|
134
115
|
TargetManagerLib.getDefaultLockingPeriod(),
|
135
116
|
TargetManagerLib.getDefaultRewardRate());
|
136
117
|
|
118
|
+
// MUST be set after instance is set up and registered
|
119
|
+
IAuthorization instanceAuthorization = InstanceAdmin(_masterInstanceAdmin).getInstanceAuthorization();
|
120
|
+
VersionPart release = AccessManagerCloneable(authority()).getRelease();
|
121
|
+
instanceAdmin.completeSetup(
|
122
|
+
address(instance),
|
123
|
+
address(instanceAuthorization));
|
124
|
+
|
137
125
|
emit LogInstanceCloned(
|
138
126
|
instanceNftId,
|
139
127
|
address(instance));
|
@@ -165,18 +153,6 @@ contract InstanceService is
|
|
165
153
|
rewardRate);
|
166
154
|
}
|
167
155
|
|
168
|
-
function setStakingMaxAmount(Amount maxStakedAmount)
|
169
|
-
external
|
170
|
-
virtual
|
171
|
-
restricted()
|
172
|
-
onlyInstance()
|
173
|
-
{
|
174
|
-
NftId instanceNftId = getRegistry().getNftIdForAddress(msg.sender);
|
175
|
-
_stakingService.setInstanceMaxStakedAmount(
|
176
|
-
instanceNftId,
|
177
|
-
maxStakedAmount);
|
178
|
-
}
|
179
|
-
|
180
156
|
|
181
157
|
function refillStakingRewardReserves(address rewardProvider, Amount dipAmount)
|
182
158
|
external
|
@@ -205,23 +181,22 @@ contract InstanceService is
|
|
205
181
|
dipAmount);
|
206
182
|
}
|
207
183
|
|
208
|
-
|
209
|
-
function upgradeInstanceReader()
|
184
|
+
function upgradeInstanceReader(NftId instanceNftId)
|
210
185
|
external
|
186
|
+
nonReentrant()
|
211
187
|
restricted()
|
212
|
-
|
188
|
+
onlyInstanceOwner(instanceNftId)
|
189
|
+
onlyNftOfType(instanceNftId, INSTANCE())
|
213
190
|
{
|
214
|
-
|
215
|
-
|
191
|
+
IRegistry registry = getRegistry();
|
192
|
+
IRegistry.ObjectInfo memory instanceInfo = registry.getObjectInfo(instanceNftId);
|
193
|
+
Instance instance = Instance(instanceInfo.objectAddress);
|
216
194
|
|
217
|
-
InstanceReader upgradedInstanceReaderClone = InstanceReader(
|
218
|
-
|
219
|
-
|
220
|
-
upgradedInstanceReaderClone.initializeWithInstance(instanceAddress);
|
195
|
+
InstanceReader upgradedInstanceReaderClone = InstanceReader(Clones.clone(address(_masterInstanceReader)));
|
196
|
+
upgradedInstanceReaderClone.initializeWithInstance(address(instance));
|
221
197
|
instance.setInstanceReader(upgradedInstanceReaderClone);
|
222
198
|
}
|
223
199
|
|
224
|
-
|
225
200
|
function setAndRegisterMasterInstance(address instanceAddress)
|
226
201
|
external
|
227
202
|
onlyOwner()
|
@@ -294,23 +269,22 @@ contract InstanceService is
|
|
294
269
|
|
295
270
|
/// @dev create new cloned instance admin
|
296
271
|
/// function used to setup a new instance
|
297
|
-
function
|
272
|
+
function _createInstanceAdmin()
|
298
273
|
internal
|
299
274
|
virtual
|
300
|
-
returns (InstanceAdmin
|
275
|
+
returns (InstanceAdmin clonedInstanceAdmin)
|
301
276
|
{
|
302
|
-
//
|
277
|
+
// start with setting up a new OZ access manager
|
278
|
+
// TODO consider _masterInstanceAdmin.authority() instead of _masterAccessManager
|
303
279
|
AccessManagerCloneable clonedAccessManager = AccessManagerCloneable(
|
304
|
-
Clones.clone(
|
305
|
-
InstanceAdmin(_masterInstanceAdmin).authority()));
|
280
|
+
Clones.clone(_masterAccessManager));
|
306
281
|
|
307
282
|
// set up the instance admin
|
308
|
-
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
"InstanceAdmin");
|
283
|
+
clonedInstanceAdmin = InstanceAdmin(Clones.clone(_masterInstanceAdmin));
|
284
|
+
clonedInstanceAdmin.initialize(
|
285
|
+
clonedAccessManager,
|
286
|
+
getRegistry(),
|
287
|
+
getRelease());
|
314
288
|
}
|
315
289
|
|
316
290
|
|
@@ -338,9 +312,7 @@ contract InstanceService is
|
|
338
312
|
clonedRiskSet,
|
339
313
|
clonedInstanceReader,
|
340
314
|
getRegistry(),
|
341
|
-
getRelease(),
|
342
315
|
instanceOwner);
|
343
|
-
|
344
316
|
return clonedInstance;
|
345
317
|
}
|
346
318
|
|
@@ -425,36 +397,6 @@ contract InstanceService is
|
|
425
397
|
|
426
398
|
}
|
427
399
|
|
428
|
-
|
429
|
-
function _checkInstance(
|
430
|
-
address instanceAddress,
|
431
|
-
VersionPart expectedRelease
|
432
|
-
)
|
433
|
-
internal
|
434
|
-
virtual
|
435
|
-
view
|
436
|
-
{
|
437
|
-
IRegistry registry = getRegistry();
|
438
|
-
|
439
|
-
NftId instanceNftId = registry.getNftIdForAddress(instanceAddress);
|
440
|
-
if (instanceNftId.eqz()) {
|
441
|
-
revert ErrorInstanceServiceNotRegistered(instanceAddress);
|
442
|
-
}
|
443
|
-
|
444
|
-
ObjectType objectType = registry.getObjectInfo(instanceNftId).objectType;
|
445
|
-
if (objectType != INSTANCE()) {
|
446
|
-
revert ErrorInstanceServiceNotInstance(instanceAddress, objectType);
|
447
|
-
}
|
448
|
-
|
449
|
-
if (expectedRelease.gtz()) {
|
450
|
-
VersionPart instanceRelease = IInstance(instanceAddress).getRelease();
|
451
|
-
if (instanceRelease != expectedRelease) {
|
452
|
-
revert ErrorInstanceServiceInstanceVersionMismatch(instanceNftId, expectedRelease, instanceRelease);
|
453
|
-
}
|
454
|
-
}
|
455
|
-
}
|
456
|
-
|
457
|
-
|
458
400
|
// From IService
|
459
401
|
function _getDomain() internal pure override returns(ObjectType) {
|
460
402
|
return INSTANCE();
|
@@ -48,7 +48,7 @@ contract OracleService is
|
|
48
48
|
)
|
49
49
|
external
|
50
50
|
virtual
|
51
|
-
restricted()
|
51
|
+
// restricted() // add authz
|
52
52
|
onlyNftOfType(oracleNftId, ORACLE())
|
53
53
|
returns (RequestId requestId)
|
54
54
|
{
|
@@ -104,7 +104,7 @@ contract OracleService is
|
|
104
104
|
)
|
105
105
|
external
|
106
106
|
virtual
|
107
|
-
restricted()
|
107
|
+
// restricted() // add authz
|
108
108
|
returns (bool success)
|
109
109
|
{
|
110
110
|
(
|
@@ -153,7 +153,7 @@ contract OracleService is
|
|
153
153
|
function resend(RequestId requestId)
|
154
154
|
external
|
155
155
|
virtual
|
156
|
-
restricted()
|
156
|
+
// restricted() // add authz
|
157
157
|
{
|
158
158
|
(
|
159
159
|
IRegistry.ObjectInfo memory info,
|
@@ -192,7 +192,7 @@ contract OracleService is
|
|
192
192
|
function cancel(RequestId requestId)
|
193
193
|
external
|
194
194
|
virtual
|
195
|
-
restricted()
|
195
|
+
// restricted() // add authz
|
196
196
|
{
|
197
197
|
(
|
198
198
|
IRegistry.ObjectInfo memory info,
|
@@ -15,8 +15,6 @@ import {InstanceReader} from "../instance/InstanceReader.sol";
|
|
15
15
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
16
16
|
import {NftId} from "../type/NftId.sol";
|
17
17
|
import {ObjectType, BUNDLE, POOL} from "../type/ObjectType.sol";
|
18
|
-
import {PayoutId} from "../type/PayoutId.sol";
|
19
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
20
18
|
import {UFixed} from "../type/UFixed.sol";
|
21
19
|
|
22
20
|
library PoolLib {
|
@@ -107,7 +105,7 @@ library PoolLib {
|
|
107
105
|
Amount payoutAmount,
|
108
106
|
address payoutBeneficiary
|
109
107
|
)
|
110
|
-
|
108
|
+
external
|
111
109
|
view
|
112
110
|
returns (
|
113
111
|
Amount netPayoutAmount,
|
@@ -215,95 +213,4 @@ library PoolLib {
|
|
215
213
|
revert INftOwnable.ErrorNftOwnableInvalidType(nftId, expectedObjectType);
|
216
214
|
}
|
217
215
|
}
|
218
|
-
|
219
|
-
function transferTokenAndNotifyPolicyHolder(
|
220
|
-
IRegistry registry,
|
221
|
-
InstanceReader instanceReader,
|
222
|
-
TokenHandler poolTokenHandler,
|
223
|
-
NftId productNftId,
|
224
|
-
NftId policyNftId,
|
225
|
-
PayoutId payoutId,
|
226
|
-
Amount payoutAmount,
|
227
|
-
address payoutBeneficiary
|
228
|
-
)
|
229
|
-
external
|
230
|
-
{
|
231
|
-
(
|
232
|
-
Amount netPayoutAmount,
|
233
|
-
Amount processingFeeAmount,
|
234
|
-
address beneficiary
|
235
|
-
) = calculatePayoutAmounts(
|
236
|
-
registry,
|
237
|
-
instanceReader,
|
238
|
-
productNftId,
|
239
|
-
policyNftId,
|
240
|
-
payoutAmount,
|
241
|
-
payoutBeneficiary);
|
242
|
-
|
243
|
-
// 1st token tx to payout to beneficiary
|
244
|
-
poolTokenHandler.pushToken(
|
245
|
-
beneficiary,
|
246
|
-
netPayoutAmount);
|
247
|
-
|
248
|
-
// 2nd token tx to transfer processing fees to product wallet
|
249
|
-
// if processingFeeAmount > 0
|
250
|
-
if (processingFeeAmount.gtz()) {
|
251
|
-
poolTokenHandler.pushToken(
|
252
|
-
instanceReader.getWallet(productNftId),
|
253
|
-
processingFeeAmount);
|
254
|
-
}
|
255
|
-
|
256
|
-
// callback to policy holder if applicable
|
257
|
-
policyHolderPayoutExecuted(
|
258
|
-
registry,
|
259
|
-
policyNftId,
|
260
|
-
payoutId,
|
261
|
-
beneficiary,
|
262
|
-
netPayoutAmount);
|
263
|
-
}
|
264
|
-
|
265
|
-
function policyHolderPayoutExecuted(
|
266
|
-
IRegistry registry,
|
267
|
-
NftId policyNftId,
|
268
|
-
PayoutId payoutId,
|
269
|
-
address beneficiary,
|
270
|
-
Amount payoutAmount
|
271
|
-
)
|
272
|
-
private
|
273
|
-
{
|
274
|
-
IPolicyHolder policyHolder = getPolicyHolder(registry, policyNftId);
|
275
|
-
if(address(policyHolder) != address(0)) {
|
276
|
-
policyHolder.payoutExecuted(policyNftId, payoutId, payoutAmount, beneficiary);
|
277
|
-
}
|
278
|
-
}
|
279
|
-
|
280
|
-
/// @dev Transfers the specified amount from the "from account" to the pool's wallet
|
281
|
-
function pullStakingAmount(
|
282
|
-
InstanceReader reader,
|
283
|
-
NftId poolNftId,
|
284
|
-
address from,
|
285
|
-
Amount amount
|
286
|
-
)
|
287
|
-
external
|
288
|
-
{
|
289
|
-
IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
|
290
|
-
info.tokenHandler.pullToken(
|
291
|
-
from,
|
292
|
-
amount);
|
293
|
-
}
|
294
|
-
|
295
|
-
/// @dev Transfers the specified amount from the pool's wallet to the "to account"
|
296
|
-
function pushUnstakingAmount(
|
297
|
-
InstanceReader reader,
|
298
|
-
NftId poolNftId,
|
299
|
-
address to,
|
300
|
-
Amount amount
|
301
|
-
)
|
302
|
-
external
|
303
|
-
{
|
304
|
-
IComponents.ComponentInfo memory info = reader.getComponentInfo(poolNftId);
|
305
|
-
info.tokenHandler.pushToken(
|
306
|
-
to,
|
307
|
-
amount);
|
308
|
-
}
|
309
216
|
}
|