@etherisc/gif-next 0.0.2-f8e07c7-917 → 0.0.2-f981ede-436
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/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- 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/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IModuleAuthorization.sol/IModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ModuleAuthorization.sol/ModuleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +50 -26
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +16 -16
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +24 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +237 -74
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +66 -38
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +24 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +102 -0
- 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/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +54 -59
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +2 -2
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +66 -76
- 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/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +2 -2
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +24 -0
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +16 -16
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +312 -44
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +63 -23
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +188 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +24 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +101 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +24 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +177 -36
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +39 -19
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- 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/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +7 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
- 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/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 +2 -2
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +2 -2
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- 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 +132 -76
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +39 -39
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.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 +56 -0
- 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/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- 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/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- 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/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/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +12 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +17 -12
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +7 -2
- 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 +37 -8
- 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/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +7 -2
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- 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/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- 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/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.json +9 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +39 -2
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- 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/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/distribution/BasicDistributionAuthorization.sol +2 -1
- package/contracts/distribution/Distribution.sol +18 -1
- package/contracts/distribution/DistributionService.sol +59 -10
- package/contracts/distribution/IDistributionComponent.sol +6 -1
- package/contracts/distribution/IDistributionService.sol +12 -0
- package/contracts/instance/InstanceStore.sol +2 -1
- package/contracts/instance/module/IBundle.sol +1 -0
- package/contracts/instance/module/IDistribution.sol +0 -1
- package/contracts/pool/BasicPoolAuthorization.sol +3 -0
- package/contracts/pool/BundleService.sol +125 -4
- package/contracts/pool/IBundleService.sol +24 -3
- package/contracts/pool/IPoolComponent.sol +7 -0
- package/contracts/pool/IPoolService.sol +5 -3
- package/contracts/pool/Pool.sol +24 -3
- package/contracts/pool/PoolService.sol +103 -3
- package/contracts/product/ClaimService.sol +2 -1
- package/contracts/product/PolicyService.sol +1 -0
- package/contracts/shared/Component.sol +6 -0
- package/contracts/shared/ComponentService.sol +32 -3
- package/contracts/shared/IComponentService.sol +5 -9
- package/contracts/staking/Staking.sol +3 -1
- package/contracts/type/Amount.sol +12 -5
- package/contracts/type/Referral.sol +1 -0
- package/contracts/type/UFixed.sol +29 -10
- package/package.json +1 -1
@@ -336,7 +336,8 @@ contract ClaimService is
|
|
336
336
|
// TODO transfer processing fees to product wallet
|
337
337
|
// TODO inform product to update fee book keeping
|
338
338
|
}
|
339
|
-
|
339
|
+
|
340
|
+
// TODO: centralize token handling (issue #471)
|
340
341
|
poolInfo.tokenHandler.transfer(
|
341
342
|
poolInfo.wallet,
|
342
343
|
beneficiary,
|
@@ -427,6 +427,7 @@ contract PolicyService is
|
|
427
427
|
bundleNftId,
|
428
428
|
premium);
|
429
429
|
|
430
|
+
// TODO: centralize token handling (issue #471)
|
430
431
|
// transfer premium amounts to target wallets
|
431
432
|
tokenHandler.transfer(policyHolder, productWallet, premium.productFeeAmount);
|
432
433
|
tokenHandler.transfer(policyHolder, distributionWallet, premium.distributionFeeAndCommissionAmount);
|
@@ -39,6 +39,12 @@ abstract contract Component is
|
|
39
39
|
_;
|
40
40
|
}
|
41
41
|
|
42
|
+
modifier onlyNftOwner(NftId nftId) {
|
43
|
+
if(msg.sender != getRegistry().ownerOf(nftId)) {
|
44
|
+
revert ErrorNftOwnableNotOwner(msg.sender);
|
45
|
+
}
|
46
|
+
_;
|
47
|
+
}
|
42
48
|
|
43
49
|
function _getComponentStorage() private pure returns (ComponentStorage storage $) {
|
44
50
|
assembly {
|
@@ -27,8 +27,6 @@ contract ComponentService is
|
|
27
27
|
ComponentVerifyingService,
|
28
28
|
IComponentService
|
29
29
|
{
|
30
|
-
using AmountLib for Amount;
|
31
|
-
|
32
30
|
error ErrorComponentServiceAlreadyRegistered(address component);
|
33
31
|
error ErrorComponentServiceNotComponent(address component);
|
34
32
|
error ErrorComponentServiceInvalidType(address component, ObjectType requiredType, ObjectType componentType);
|
@@ -106,7 +104,7 @@ contract ComponentService is
|
|
106
104
|
|
107
105
|
// determine withdrawn amount
|
108
106
|
withdrawnAmount = amount;
|
109
|
-
if (withdrawnAmount.
|
107
|
+
if (withdrawnAmount.gte(AmountLib.max())) {
|
110
108
|
withdrawnAmount = instance.getInstanceReader().getFeeAmount(componentNftId);
|
111
109
|
} else if (withdrawnAmount.eqz()) {
|
112
110
|
revert ErrorComponentServiceWithdrawAmountIsZero();
|
@@ -130,6 +128,7 @@ contract ComponentService is
|
|
130
128
|
|
131
129
|
// transfer amount to component owner
|
132
130
|
address componentOwner = getRegistry().ownerOf(componentNftId);
|
131
|
+
// TODO: centralize token handling (issue #471)
|
133
132
|
tokenHandler.transfer(componentWallet, componentOwner, withdrawnAmount);
|
134
133
|
|
135
134
|
emit LogComponentServiceComponentFeesWithdrawn(componentNftId, componentOwner, address(token), withdrawnAmount);
|
@@ -296,6 +295,36 @@ contract ComponentService is
|
|
296
295
|
_changeTargetBalance(DECREASE, instanceStore, distributionNftId, amount, feeAmount);
|
297
296
|
}
|
298
297
|
|
298
|
+
//-------- distributor -------------------------------------------------------//
|
299
|
+
|
300
|
+
function increaseDistributorBalance(
|
301
|
+
InstanceStore instanceStore,
|
302
|
+
NftId distributorNftId,
|
303
|
+
Amount amount,
|
304
|
+
Amount feeAmount
|
305
|
+
)
|
306
|
+
external
|
307
|
+
virtual
|
308
|
+
// TODO re-enable once role granting is stable and fixed
|
309
|
+
// restricted()
|
310
|
+
{
|
311
|
+
_changeTargetBalance(INCREASE, instanceStore, distributorNftId, amount, feeAmount);
|
312
|
+
}
|
313
|
+
|
314
|
+
function decreaseDistributorBalance(
|
315
|
+
InstanceStore instanceStore,
|
316
|
+
NftId distributorNftId,
|
317
|
+
Amount amount,
|
318
|
+
Amount feeAmount
|
319
|
+
)
|
320
|
+
external
|
321
|
+
virtual
|
322
|
+
// TODO re-enable once role granting is stable and fixed
|
323
|
+
// restricted()
|
324
|
+
{
|
325
|
+
_changeTargetBalance(DECREASE, instanceStore, distributorNftId, amount, feeAmount);
|
326
|
+
}
|
327
|
+
|
299
328
|
//-------- oracle -------------------------------------------------------//
|
300
329
|
|
301
330
|
function registerOracle()
|
@@ -1,21 +1,12 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {IAccessManaged} from "@openzeppelin/contracts/access/manager/IAccessManaged.sol";
|
5
|
-
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
4
|
|
7
5
|
import {Amount} from "../type/Amount.sol";
|
8
6
|
import {Fee} from "../type/Fee.sol";
|
9
|
-
import {IComponents} from "../instance/module/IComponents.sol";
|
10
|
-
import {IInstance} from "../instance/IInstance.sol";
|
11
|
-
import {IInstanceService} from "../instance/IInstanceService.sol";
|
12
7
|
import {InstanceStore} from "../instance/InstanceStore.sol";
|
13
|
-
import {IProductService} from "../product/IProductService.sol";
|
14
|
-
import {IRegisterable} from "../shared/IRegisterable.sol";
|
15
8
|
import {IService} from "../shared/IService.sol";
|
16
9
|
import {NftId} from "../type/NftId.sol";
|
17
|
-
import {ObjectType} from "../type/ObjectType.sol";
|
18
|
-
import {TokenHandler} from "../shared/TokenHandler.sol";
|
19
10
|
import {UFixed} from "../type/UFixed.sol";
|
20
11
|
|
21
12
|
/// @dev component base class
|
@@ -87,6 +78,10 @@ interface IComponentService is
|
|
87
78
|
function increaseDistributionBalance(InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external;
|
88
79
|
function decreaseDistributionBalance(InstanceStore instanceStore, NftId distributionNftId, Amount amount, Amount feeAmount) external;
|
89
80
|
|
81
|
+
//-------- distributor --------------------------------------------------//
|
82
|
+
function increaseDistributorBalance(InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external;
|
83
|
+
function decreaseDistributorBalance(InstanceStore instanceStore, NftId distributorNftId, Amount amount, Amount feeAmount) external;
|
84
|
+
|
90
85
|
//-------- oracle -------------------------------------------------------//
|
91
86
|
|
92
87
|
/// @dev registers the sending component as an oracle component
|
@@ -109,4 +104,5 @@ interface IComponentService is
|
|
109
104
|
//-------- bundle -------------------------------------------------------//
|
110
105
|
function increaseBundleBalance(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
|
111
106
|
function decreaseBundleBalance(InstanceStore instanceStore, NftId bundleNftId, Amount amount, Amount feeAmount) external;
|
107
|
+
|
112
108
|
}
|
@@ -386,6 +386,7 @@ contract Staking is
|
|
386
386
|
address(tokenHandler),
|
387
387
|
dipAmount);
|
388
388
|
|
389
|
+
// TODO: centralize token handling (issue #471)
|
389
390
|
tokenHandler.transfer(from, stakingWallet, dipAmount);
|
390
391
|
}
|
391
392
|
|
@@ -402,7 +403,8 @@ contract Staking is
|
|
402
403
|
stakingWallet,
|
403
404
|
address(tokenHandler),
|
404
405
|
dipAmount);
|
405
|
-
|
406
|
+
|
407
|
+
// TODO: centralize token handling (issue #471)
|
406
408
|
tokenHandler.transfer(stakingWallet, to, dipAmount);
|
407
409
|
}
|
408
410
|
|
@@ -12,13 +12,15 @@ using {
|
|
12
12
|
nqAmount as !=,
|
13
13
|
ltAmount as <,
|
14
14
|
gtAmount as >,
|
15
|
+
AmountLib.add,
|
15
16
|
AmountLib.eq,
|
16
17
|
AmountLib.eqz,
|
17
18
|
AmountLib.gtz,
|
19
|
+
AmountLib.gt,
|
20
|
+
AmountLib.gte,
|
21
|
+
AmountLib.multiplyWith,
|
18
22
|
AmountLib.toInt,
|
19
|
-
AmountLib.
|
20
|
-
AmountLib.toUFixed,
|
21
|
-
AmountLib.multiplyWith
|
23
|
+
AmountLib.toUFixed
|
22
24
|
} for Amount global;
|
23
25
|
|
24
26
|
function addAmount(Amount a, Amount b) pure returns (Amount) {
|
@@ -77,16 +79,21 @@ library AmountLib {
|
|
77
79
|
return Amount.unwrap(amount1) == Amount.unwrap(amount2);
|
78
80
|
}
|
79
81
|
|
80
|
-
/// @dev return true if amount a1 is
|
82
|
+
/// @dev return true if amount a1 is less than a2
|
81
83
|
function lt(Amount a1, Amount a2) public pure returns (bool) {
|
82
84
|
return Amount.unwrap(a1) < Amount.unwrap(a2);
|
83
85
|
}
|
84
86
|
|
85
|
-
/// @dev return true if amount a1 is
|
87
|
+
/// @dev return true if amount a1 is greater than a2
|
86
88
|
function gt(Amount a1, Amount a2) public pure returns (bool) {
|
87
89
|
return Amount.unwrap(a1) > Amount.unwrap(a2);
|
88
90
|
}
|
89
91
|
|
92
|
+
/// @dev return true if amount a1 is greater or equal than a2
|
93
|
+
function gte(Amount a1, Amount a2) public pure returns (bool) {
|
94
|
+
return Amount.unwrap(a1) >= Amount.unwrap(a2);
|
95
|
+
}
|
96
|
+
|
90
97
|
/// @dev return minimum of a1 and a2.
|
91
98
|
function min(Amount a1, Amount a2) public pure returns (Amount) {
|
92
99
|
if (Amount.unwrap(a1) < Amount.unwrap(a2)) {
|
@@ -15,9 +15,10 @@ using {
|
|
15
15
|
lteUFixed as <=,
|
16
16
|
eqUFixed as ==,
|
17
17
|
neUFixed as !=,
|
18
|
+
UFixedLib.gt,
|
19
|
+
UFixedLib.gtz,
|
18
20
|
UFixedLib.toInt,
|
19
|
-
UFixedLib.toInt1000
|
20
|
-
UFixedLib.gtz
|
21
|
+
UFixedLib.toInt1000
|
21
22
|
} for UFixed global;
|
22
23
|
|
23
24
|
// TODO move to UFixedLib and rename to zero()
|
@@ -30,7 +31,9 @@ function addUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
30
31
|
}
|
31
32
|
|
32
33
|
function subUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
33
|
-
|
34
|
+
if (a < b) {
|
35
|
+
revert UFixedLib.UFixedLibNegativeResult();
|
36
|
+
}
|
34
37
|
return UFixed.wrap(UFixed.unwrap(a) - UFixed.unwrap(b));
|
35
38
|
}
|
36
39
|
|
@@ -40,8 +43,10 @@ function mulUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
40
43
|
}
|
41
44
|
|
42
45
|
function divUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
43
|
-
|
44
|
-
|
46
|
+
if (UFixed.unwrap(b) == 0) {
|
47
|
+
revert UFixedLib.UFixedLibDivisionByZero();
|
48
|
+
}
|
49
|
+
|
45
50
|
return
|
46
51
|
UFixed.wrap(MathLib.mulDiv(UFixed.unwrap(a), 10 ** 18, UFixed.unwrap(b)));
|
47
52
|
}
|
@@ -89,6 +94,8 @@ function deltaUFixed(UFixed a, UFixed b) pure returns (UFixed) {
|
|
89
94
|
/// @dev copied from https://github.com/OpenZeppelin/openzeppelin-contracts/blob/v4.9.3/contracts/utils/math/Math.sol
|
90
95
|
library MathLib {
|
91
96
|
|
97
|
+
error MathLigMulDivOverflow();
|
98
|
+
|
92
99
|
enum Rounding {
|
93
100
|
Down, // Toward negative infinity
|
94
101
|
Up, // Toward infinity
|
@@ -122,8 +129,10 @@ library MathLib {
|
|
122
129
|
}
|
123
130
|
|
124
131
|
// Make sure the result is less than 2^256. Also prevents denominator == 0.
|
125
|
-
|
126
|
-
|
132
|
+
if (denominator <= prod1) {
|
133
|
+
revert MathLigMulDivOverflow();
|
134
|
+
}
|
135
|
+
|
127
136
|
///////////////////////////////////////////////
|
128
137
|
// 512 by 256 division.
|
129
138
|
///////////////////////////////////////////////
|
@@ -195,6 +204,12 @@ library MathLib {
|
|
195
204
|
}
|
196
205
|
|
197
206
|
library UFixedLib {
|
207
|
+
error UFixedLibNegativeResult();
|
208
|
+
error UFixedLibDivisionByZero();
|
209
|
+
|
210
|
+
error UFixedLibExponentTooSmall(int8 exp);
|
211
|
+
error UFixedLibExponentTooLarge(int8 exp);
|
212
|
+
|
198
213
|
int8 public constant EXP = 18;
|
199
214
|
uint256 public constant MULTIPLIER = 10 ** uint256(int256(EXP));
|
200
215
|
uint256 public constant MULTIPLIER_HALF = MULTIPLIER / 2;
|
@@ -221,9 +236,13 @@ library UFixedLib {
|
|
221
236
|
|
222
237
|
/// @dev Converts the uint256 to a UFixed with given exponent.
|
223
238
|
function toUFixed(uint256 a, int8 exp) public pure returns (UFixed) {
|
224
|
-
|
225
|
-
|
226
|
-
|
239
|
+
if (EXP + exp < 0) {
|
240
|
+
revert UFixedLibExponentTooSmall(exp);
|
241
|
+
}
|
242
|
+
if (EXP + exp > 64) {
|
243
|
+
revert UFixedLibExponentTooLarge(exp);
|
244
|
+
}
|
245
|
+
|
227
246
|
return UFixed.wrap(a * 10 ** uint8(EXP + exp));
|
228
247
|
}
|
229
248
|
|
package/package.json
CHANGED