@etherisc/gif-next 0.0.2-e9a637d-547 → 0.0.2-ead1eb0-841
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 +6 -12
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/Distribution.sol/Distribution.json +61 -14
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1556 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +780 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → distribution}/IDistributionComponent.sol/IDistributionComponent.json +45 -14
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → distribution}/IDistributionService.sol/IDistributionService.json +24 -274
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +6 -6
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +93 -13
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +5 -43
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +109 -29
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +6 -6
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +124 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +349 -64
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +49 -278
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +39 -128
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +427 -257
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +1 -1
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +49 -0
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +61 -12
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +8 -8
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol}/ObjectManager.json +3 -3
- 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/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1288 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +696 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IBundleService.sol/IBundleService.json +105 -29
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/IPoolComponent.sol/IPoolComponent.json +56 -25
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → pool}/IPoolService.sol/IPoolService.json +272 -39
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/{components → pool}/Pool.sol/Pool.json +56 -25
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1622 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +708 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +918 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +648 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1386 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +748 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IClaimService.sol/IClaimService.json → product/IApplicationService.sol/IApplicationService.json} +119 -101
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +129 -84
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IApplicationService.sol/IApplicationService.json → product/IPricingService.sol/IPricingService.json} +63 -175
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/IProductComponent.sol/IProductComponent.json +53 -22
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IProductService.sol/IProductService.json +6 -14
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1281 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +740 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +1004 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +688 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/{components → product}/Product.sol/Product.json +53 -22
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +864 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +640 -0
- 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/IRegistryService.sol/IRegistryService.json +5 -13
- 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 +6 -6
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +4 -4
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +21 -29
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +27 -40
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +9 -9
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +14 -27
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +3 -3
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/Component.sol/Component.json +38 -7
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ComponentService.sol/ComponentService.json +38 -14
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components → shared}/IComponent.sol/IComponent.json +38 -7
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +0 -13
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +69 -9
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +0 -13
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +0 -13
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +5 -13
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +8 -21
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +80 -26
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +20 -33
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +8 -21
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -15
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +5 -13
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +24 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +523 -0
- package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeingServiceManager.sol/StakingServiceManager.json +628 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +767 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Blocknumber.sol/BlocknumberLib.json +3 -3
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftId.sol/NftIdLib.json +5 -5
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Referral.sol/ReferralLib.json +5 -5
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Seconds.sol/SecondsLib.json +3 -3
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +20 -7
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/{components → distribution}/Distribution.sol +21 -16
- package/contracts/{instance/service → distribution}/DistributionService.sol +85 -173
- package/contracts/{instance/service → distribution}/DistributionServiceManager.sol +5 -5
- package/contracts/{components → distribution}/IDistributionComponent.sol +7 -7
- package/contracts/{instance/service → distribution}/IDistributionService.sol +18 -30
- package/contracts/instance/BundleManager.sol +8 -9
- package/contracts/instance/IInstance.sol +30 -13
- package/contracts/instance/IInstanceService.sol +6 -17
- package/contracts/instance/Instance.sol +76 -46
- package/contracts/instance/InstanceAccessManager.sol +8 -5
- package/contracts/instance/InstanceAuthorizationsLib.sol +308 -0
- package/contracts/instance/InstanceReader.sol +91 -16
- package/contracts/instance/InstanceService.sol +75 -297
- package/contracts/instance/InstanceServiceManager.sol +1 -1
- package/contracts/instance/InstanceStore.sol +57 -65
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +1 -1
- package/contracts/instance/base/IKeyValueStore.sol +14 -10
- package/contracts/instance/base/ILifecycle.sol +3 -3
- package/contracts/instance/base/KeyValueStore.sol +32 -43
- package/contracts/instance/base/Lifecycle.sol +17 -5
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +7 -7
- package/contracts/instance/module/IAccess.sol +2 -2
- package/contracts/instance/module/IBundle.sol +5 -5
- package/contracts/instance/module/IComponents.sol +8 -8
- package/contracts/instance/module/IDistribution.sol +7 -6
- package/contracts/instance/module/IPolicy.sol +22 -16
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/instance/module/ISetup.sol +4 -4
- package/contracts/instance/module/ITreasury.sol +2 -2
- package/contracts/{instance/service → pool}/BundleService.sol +95 -144
- package/contracts/{instance/service → pool}/BundleServiceManager.sol +5 -5
- package/contracts/{instance/service → pool}/IBundleService.sol +43 -18
- package/contracts/{components → pool}/IPoolComponent.sol +14 -13
- package/contracts/{instance/service → pool}/IPoolService.sol +28 -13
- package/contracts/{components → pool}/Pool.sol +20 -21
- package/contracts/{instance/service → pool}/PoolService.sol +149 -49
- package/contracts/{instance/service → pool}/PoolServiceManager.sol +5 -5
- package/contracts/product/ApplicationService.sol +186 -0
- package/contracts/{instance/service → product}/ApplicationServiceManager.sol +2 -2
- package/contracts/product/ClaimService.sol +442 -0
- package/contracts/{instance/service → product}/ClaimServiceManager.sol +2 -2
- package/contracts/{instance/service → product}/IApplicationService.sol +14 -34
- package/contracts/product/IClaimService.sol +93 -0
- package/contracts/{instance/service → product}/IPolicyService.sol +34 -26
- package/contracts/product/IPricingService.sol +37 -0
- package/contracts/{components → product}/IProductComponent.sol +11 -10
- package/contracts/{instance/service → product}/IProductService.sol +10 -10
- package/contracts/{instance/service → product}/PolicyService.sol +148 -134
- package/contracts/{instance/service → product}/PolicyServiceManager.sol +5 -5
- package/contracts/product/PricingService.sol +275 -0
- package/contracts/product/PricingServiceManager.sol +51 -0
- package/contracts/{components → product}/Product.sol +160 -74
- package/contracts/{instance/service → product}/ProductService.sol +44 -43
- package/contracts/{instance/service → product}/ProductServiceManager.sol +5 -5
- package/contracts/registry/IRegistry.sol +4 -4
- package/contracts/registry/IRegistryService.sol +4 -6
- package/contracts/registry/Registry.sol +3 -3
- package/contracts/registry/RegistryAccessManager.sol +2 -2
- package/contracts/registry/RegistryService.sol +23 -20
- package/contracts/registry/RegistryServiceManager.sol +0 -2
- package/contracts/registry/ReleaseManager.sol +12 -8
- package/contracts/registry/TokenRegistry.sol +2 -2
- package/contracts/{components → shared}/Component.sol +26 -8
- package/contracts/{instance/base → shared}/ComponentService.sol +63 -34
- package/contracts/{components → shared}/IComponent.sol +19 -5
- package/contracts/shared/INftOwnable.sol +1 -1
- package/contracts/shared/IPolicyHolder.sol +24 -10
- package/contracts/shared/IRegistryLinked.sol +0 -1
- package/contracts/shared/IService.sol +3 -1
- package/contracts/shared/IVersionable.sol +1 -1
- package/contracts/shared/NftOwnable.sol +1 -3
- package/contracts/shared/PolicyHolder.sol +31 -18
- package/contracts/shared/ProxyManager.sol +3 -3
- package/contracts/shared/Registerable.sol +12 -11
- package/contracts/shared/RegistryLinked.sol +0 -5
- package/contracts/shared/Service.sol +3 -3
- package/contracts/shared/TokenHandler.sol +4 -2
- package/contracts/shared/Versionable.sol +1 -1
- package/contracts/staking/IStakingService.sol +102 -0
- package/contracts/staking/StakeingServiceManager.sol +37 -0
- package/contracts/staking/StakingService.sol +166 -0
- package/contracts/{types → type}/Amount.sol +49 -0
- package/contracts/{types → type}/ClaimId.sol +25 -2
- package/contracts/{types → type}/Fee.sol +7 -6
- package/contracts/{types → type}/NftIdSet.sol +1 -1
- package/contracts/{types → type}/ObjectType.sol +10 -5
- package/contracts/{types → type}/PayoutId.sol +33 -5
- package/contracts/{types → type}/RoleId.sol +44 -9
- package/contracts/{types → type}/StateId.sol +6 -2
- package/contracts/{types → type}/Timestamp.sol +5 -0
- package/package.json +1 -1
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ComponentService.sol/ComponentService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationService.sol/ApplicationService.json +0 -1039
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ApplicationServiceManager.sol/ApplicationServiceManager.json +0 -673
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +0 -1231
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +0 -721
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimService.sol/ClaimService.json +0 -817
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ClaimServiceManager.sol/ClaimServiceManager.json +0 -641
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -1798
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -805
- package/artifacts/contracts/instance/service/IApplicationService.sol/IApplicationService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IClaimService.sol/IClaimService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -1092
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -697
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1237
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -661
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -840
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -653
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -383
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -596
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -104
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.dbg.json +0 -4
- package/artifacts/contracts/types/Amount.sol/AmountLib.json +0 -161
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ClaimId.sol/ClaimIdLib.json +0 -100
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -288
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/PayoutId.sol/PayoutIdLib.json +0 -100
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Seconds.sol/SecondsLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/instance/service/ApplicationService.sol +0 -351
- package/contracts/instance/service/ClaimService.sol +0 -151
- package/contracts/instance/service/IClaimService.sol +0 -61
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -25
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/test/Usdc.sol +0 -26
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- /package/contracts/{instance → shared}/AccessManagerUpgradeableInitializeable.sol +0 -0
- /package/contracts/{types → type}/AddressSet.sol +0 -0
- /package/contracts/{types → type}/Blocknumber.sol +0 -0
- /package/contracts/{types → type}/DistributorType.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/NftId.sol +0 -0
- /package/contracts/{types → type}/Referral.sol +0 -0
- /package/contracts/{types → type}/RiskId.sol +0 -0
- /package/contracts/{types → type}/Seconds.sol +0 -0
- /package/contracts/{types → type}/UFixed.sol +0 -0
- /package/contracts/{types → type}/Version.sol +0 -0
@@ -6,12 +6,38 @@ import {UFixed, UFixedLib} from "./UFixed.sol";
|
|
6
6
|
type Amount is uint96;
|
7
7
|
|
8
8
|
using {
|
9
|
+
addAmount as +,
|
10
|
+
subAmount as -,
|
11
|
+
eqAmount as ==,
|
12
|
+
ltAmount as <,
|
13
|
+
gtAmount as >,
|
14
|
+
AmountLib.eq,
|
9
15
|
AmountLib.eqz,
|
10
16
|
AmountLib.gtz,
|
11
17
|
AmountLib.toInt,
|
18
|
+
AmountLib.add,
|
12
19
|
AmountLib.toUFixed
|
13
20
|
} for Amount global;
|
14
21
|
|
22
|
+
function addAmount(Amount a, Amount b) pure returns (Amount) {
|
23
|
+
return AmountLib.add(a, b);
|
24
|
+
}
|
25
|
+
|
26
|
+
function subAmount(Amount a, Amount b) pure returns (Amount) {
|
27
|
+
return AmountLib.sub(a, b);
|
28
|
+
}
|
29
|
+
|
30
|
+
function eqAmount(Amount a, Amount b) pure returns (bool) {
|
31
|
+
return AmountLib.eq(a, b);
|
32
|
+
}
|
33
|
+
|
34
|
+
function ltAmount(Amount a, Amount b) pure returns (bool) {
|
35
|
+
return AmountLib.lt(a, b);
|
36
|
+
}
|
37
|
+
|
38
|
+
function gtAmount(Amount a, Amount b) pure returns (bool) {
|
39
|
+
return AmountLib.gt(a, b);
|
40
|
+
}
|
15
41
|
|
16
42
|
library AmountLib {
|
17
43
|
|
@@ -40,11 +66,34 @@ library AmountLib {
|
|
40
66
|
return Amount.unwrap(amount) == 0;
|
41
67
|
}
|
42
68
|
|
69
|
+
/// @dev return true if amount1 equals amount2
|
70
|
+
function eq(Amount amount1, Amount amount2) public pure returns (bool) {
|
71
|
+
return Amount.unwrap(amount1) == Amount.unwrap(amount2);
|
72
|
+
}
|
73
|
+
|
74
|
+
/// @dev return true if amount a1 is smaller than a2
|
75
|
+
function lt(Amount a1, Amount a2) public pure returns (bool) {
|
76
|
+
return Amount.unwrap(a1) < Amount.unwrap(a2);
|
77
|
+
}
|
78
|
+
|
79
|
+
/// @dev return true if amount a1 is larger than a2
|
80
|
+
function gt(Amount a1, Amount a2) public pure returns (bool) {
|
81
|
+
return Amount.unwrap(a1) > Amount.unwrap(a2);
|
82
|
+
}
|
83
|
+
|
43
84
|
/// @dev return true if amount is larger than 0
|
44
85
|
function gtz(Amount amount) public pure returns (bool) {
|
45
86
|
return Amount.unwrap(amount) > 0;
|
46
87
|
}
|
47
88
|
|
89
|
+
function add(Amount a1, Amount a2) public pure returns (Amount) {
|
90
|
+
return Amount.wrap(Amount.unwrap(a1) + Amount.unwrap(a2));
|
91
|
+
}
|
92
|
+
|
93
|
+
function sub(Amount a1, Amount a2) public pure returns (Amount) {
|
94
|
+
return Amount.wrap(Amount.unwrap(a1) - Amount.unwrap(a2));
|
95
|
+
}
|
96
|
+
|
48
97
|
function toInt(Amount amount) public pure returns (uint256) {
|
49
98
|
return uint256(uint96(Amount.unwrap(amount)));
|
50
99
|
}
|
@@ -4,13 +4,18 @@ pragma solidity ^0.8.20;
|
|
4
4
|
// uint16 allows for 65'535 claims per policy
|
5
5
|
type ClaimId is uint16;
|
6
6
|
|
7
|
+
import {CLAIM} from "./ObjectType.sol";
|
8
|
+
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
9
|
+
import {NftId} from "./NftId.sol";
|
10
|
+
|
7
11
|
// type bindings
|
8
12
|
using {
|
9
13
|
eqClaimId as ==,
|
10
14
|
neClaimId as !=,
|
11
15
|
ClaimIdLib.eqz,
|
12
16
|
ClaimIdLib.gtz,
|
13
|
-
ClaimIdLib.toInt
|
17
|
+
ClaimIdLib.toInt,
|
18
|
+
ClaimIdLib.toKey32
|
14
19
|
} for ClaimId global;
|
15
20
|
|
16
21
|
|
@@ -25,10 +30,14 @@ function neClaimId(ClaimId a, ClaimId b) pure returns (bool isDifferent) {
|
|
25
30
|
|
26
31
|
// library functions that operate on user defined type
|
27
32
|
library ClaimIdLib {
|
28
|
-
/// @dev
|
33
|
+
/// @dev claim id min value (0), use only for non-initialized values
|
29
34
|
function zero() public pure returns (ClaimId) {
|
30
35
|
return ClaimId.wrap(0);
|
31
36
|
}
|
37
|
+
/// @dev claim id max value (2**16-1), use only for non-initialized values
|
38
|
+
function max() public pure returns (ClaimId) {
|
39
|
+
return ClaimId.wrap(type(uint16).max);
|
40
|
+
}
|
32
41
|
|
33
42
|
/// @dev Converts an uint into a ClaimId.
|
34
43
|
function toClaimId(uint256 a) public pure returns (ClaimId) {
|
@@ -40,6 +49,20 @@ library ClaimIdLib {
|
|
40
49
|
return uint16(ClaimId.unwrap(a));
|
41
50
|
}
|
42
51
|
|
52
|
+
/// @dev Converts the ClaimId and NftId to a Key32.
|
53
|
+
function toKey32(ClaimId claimId, NftId policyNftId) public pure returns (Key32) {
|
54
|
+
return Key32Lib.toKey32(CLAIM(), toKeyId(claimId, policyNftId));
|
55
|
+
}
|
56
|
+
|
57
|
+
/// @dev Converts the ClaimId and NftId to a Key32.
|
58
|
+
function toKeyId(ClaimId claimId, NftId policyNftId) public pure returns (KeyId) {
|
59
|
+
return KeyId.wrap(
|
60
|
+
bytes31(
|
61
|
+
bytes14(
|
62
|
+
uint112(
|
63
|
+
NftId.unwrap(policyNftId) << 16 + ClaimId.unwrap(claimId)))));
|
64
|
+
}
|
65
|
+
|
43
66
|
/// @dev Returns true if the value is non-zero (> 0).
|
44
67
|
function gtz(ClaimId a) public pure returns (bool) {
|
45
68
|
return ClaimId.unwrap(a) > 0;
|
@@ -1,6 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.19;
|
3
3
|
|
4
|
+
import {Amount, AmountLib} from "./Amount.sol";
|
4
5
|
import {UFixed, UFixedLib} from "./UFixed.sol";
|
5
6
|
|
6
7
|
struct Fee {
|
@@ -12,21 +13,21 @@ library FeeLib {
|
|
12
13
|
|
13
14
|
function calculateFee(
|
14
15
|
Fee memory fee,
|
15
|
-
|
16
|
+
Amount amount
|
16
17
|
)
|
17
18
|
public
|
18
19
|
pure
|
19
20
|
returns (
|
20
|
-
|
21
|
-
|
21
|
+
Amount feeAmount,
|
22
|
+
Amount netAmount
|
22
23
|
)
|
23
24
|
{
|
24
25
|
netAmount = amount;
|
25
26
|
if(gtz(fee)) {
|
26
27
|
UFixed fractionalAmount =
|
27
|
-
|
28
|
-
feeAmount = fractionalAmount.toInt() + fee.fixedFee;
|
29
|
-
netAmount
|
28
|
+
amount.toUFixed() * fee.fractionalFee;
|
29
|
+
feeAmount = AmountLib.toAmount(fractionalAmount.toInt() + fee.fixedFee);
|
30
|
+
netAmount = netAmount - feeAmount;
|
30
31
|
}
|
31
32
|
}
|
32
33
|
|
@@ -1,7 +1,7 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.19;
|
3
3
|
|
4
|
-
import {NftId} from "../
|
4
|
+
import {NftId} from "../type/NftId.sol";
|
5
5
|
|
6
6
|
// based on https://github.com/OpenZeppelin/openzeppelin-contracts/blob/master/contracts/utils/structs/EnumerableSet.sol
|
7
7
|
library LibNftIdSet {
|
@@ -8,6 +8,7 @@ using {
|
|
8
8
|
eqObjectType as ==,
|
9
9
|
neObjectType as !=,
|
10
10
|
ObjectTypeLib.toInt,
|
11
|
+
ObjectTypeLib.eqz,
|
11
12
|
ObjectTypeLib.gtz
|
12
13
|
} for ObjectType global;
|
13
14
|
|
@@ -86,6 +87,10 @@ function POOL() pure returns (ObjectType) {
|
|
86
87
|
return toObjectType(140);
|
87
88
|
}
|
88
89
|
|
90
|
+
function BUNDLE() pure returns (ObjectType) {
|
91
|
+
return toObjectType(220);
|
92
|
+
}
|
93
|
+
|
89
94
|
function RISK() pure returns (ObjectType) {
|
90
95
|
return toObjectType(200);
|
91
96
|
}
|
@@ -102,12 +107,12 @@ function CLAIM() pure returns (ObjectType) {
|
|
102
107
|
return toObjectType(212);
|
103
108
|
}
|
104
109
|
|
105
|
-
function
|
106
|
-
return toObjectType(
|
110
|
+
function PAYOUT() pure returns (ObjectType) {
|
111
|
+
return toObjectType(213);
|
107
112
|
}
|
108
113
|
|
109
|
-
function
|
110
|
-
return toObjectType(
|
114
|
+
function PRICE() pure returns (ObjectType) {
|
115
|
+
return toObjectType(230);
|
111
116
|
}
|
112
117
|
|
113
118
|
/// @dev Converts the uint8 to a ObjectType.
|
@@ -154,4 +159,4 @@ library ObjectTypeLib {
|
|
154
159
|
function eq(ObjectType a, ObjectType b) public pure returns (bool isSame) {
|
155
160
|
return eqObjectType(a, b);
|
156
161
|
}
|
157
|
-
}
|
162
|
+
}
|
@@ -4,13 +4,21 @@ pragma solidity ^0.8.20;
|
|
4
4
|
// uint24 allows for 65'535 claims with 255 payouts each per policy
|
5
5
|
type PayoutId is uint24;
|
6
6
|
|
7
|
+
import {ClaimId} from "./ClaimId.sol";
|
8
|
+
import {PAYOUT} from "./ObjectType.sol";
|
9
|
+
import {Key32, KeyId, Key32Lib} from "./Key32.sol";
|
10
|
+
import {NftId} from "./NftId.sol";
|
11
|
+
|
7
12
|
// type bindings
|
8
13
|
using {
|
9
14
|
eqPayoutId as ==,
|
10
15
|
nePayoutId as !=,
|
11
16
|
PayoutIdLib.eqz,
|
12
17
|
PayoutIdLib.gtz,
|
13
|
-
PayoutIdLib.toInt
|
18
|
+
PayoutIdLib.toInt,
|
19
|
+
PayoutIdLib.toClaimId,
|
20
|
+
PayoutIdLib.toPayoutNo,
|
21
|
+
PayoutIdLib.toKey32
|
14
22
|
} for PayoutId global;
|
15
23
|
|
16
24
|
|
@@ -23,8 +31,6 @@ function nePayoutId(PayoutId a, PayoutId b) pure returns (bool isDifferent) {
|
|
23
31
|
return PayoutId.unwrap(a) != PayoutId.unwrap(b);
|
24
32
|
}
|
25
33
|
|
26
|
-
// TODO come up with a way to code claim id into payout id
|
27
|
-
// eg payoutId.getClaimId(), payoutId.getPayoutNo()
|
28
34
|
// library functions that operate on user defined type
|
29
35
|
library PayoutIdLib {
|
30
36
|
/// @dev Converts the PayoutId to a uint.
|
@@ -33,8 +39,16 @@ library PayoutIdLib {
|
|
33
39
|
}
|
34
40
|
|
35
41
|
/// @dev Converts an uint into a PayoutId.
|
36
|
-
function toPayoutId(
|
37
|
-
return PayoutId.wrap(
|
42
|
+
function toPayoutId(ClaimId claimId, uint8 payoutNo) public pure returns (PayoutId) {
|
43
|
+
return PayoutId.wrap((ClaimId.unwrap(claimId) << 8) + payoutNo);
|
44
|
+
}
|
45
|
+
|
46
|
+
function toClaimId(PayoutId payoutId) public pure returns (ClaimId) {
|
47
|
+
return ClaimId.wrap(uint16(PayoutId.unwrap(payoutId) >> 8));
|
48
|
+
}
|
49
|
+
|
50
|
+
function toPayoutNo(PayoutId payoutId) public pure returns (uint8) {
|
51
|
+
return uint8(PayoutId.unwrap(payoutId) & 255);
|
38
52
|
}
|
39
53
|
|
40
54
|
/// @dev Converts the PayoutId to a uint.
|
@@ -51,4 +65,18 @@ library PayoutIdLib {
|
|
51
65
|
function eqz(PayoutId a) public pure returns (bool) {
|
52
66
|
return PayoutId.unwrap(a) == 0;
|
53
67
|
}
|
68
|
+
|
69
|
+
/// @dev Converts the PayoutId and NftId to a Key32.
|
70
|
+
function toKey32(PayoutId payoutId, NftId policyNftId) public pure returns (Key32) {
|
71
|
+
return Key32Lib.toKey32(PAYOUT(), toKeyId(payoutId, policyNftId));
|
72
|
+
}
|
73
|
+
|
74
|
+
/// @dev Converts the PayoutId and NftId to a Key32.
|
75
|
+
function toKeyId(PayoutId payoutId, NftId policyNftId) public pure returns (KeyId) {
|
76
|
+
return KeyId.wrap(
|
77
|
+
bytes31(
|
78
|
+
bytes15(
|
79
|
+
uint120(
|
80
|
+
(NftId.unwrap(policyNftId) << 24) + PayoutId.unwrap(payoutId)))));
|
81
|
+
}
|
54
82
|
}
|
@@ -24,30 +24,65 @@ function ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uin
|
|
24
24
|
function PUBLIC_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(type(uint64).max); }
|
25
25
|
|
26
26
|
// general pure free functions
|
27
|
-
function DISTRIBUTION_OWNER_ROLE_NAME() pure returns (string memory) { return "DistributionOwnerRole"; }
|
28
|
-
function ORACLE_OWNER_ROLE_NAME() pure returns (string memory) { return "OracleOwnerRole"; }
|
29
|
-
function POOL_OWNER_ROLE_NAME() pure returns (string memory) { return "PoolOwnerRole"; }
|
30
|
-
function PRODUCT_OWNER_ROLE_NAME() pure returns (string memory) { return "ProductOwnerRole"; }
|
31
27
|
|
28
|
+
/// @dev cental role for gif release management.
|
29
|
+
/// this role is necessary to call ReleaseManager.createNextRelease/activateNextRelease
|
30
|
+
/// the actual deployment of a release requires the GIF_MANAGER_ROLE.
|
31
|
+
/// GIF_ADMIN_ROLE is the admin of the GIF_MANAGER_ROLE.
|
32
|
+
/// only a single holder may hold this role at any time
|
33
|
+
function GIF_ADMIN_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1500); }
|
34
|
+
|
35
|
+
/// @dev role for token whith/blacklisting, deploying and registering the services for a new major release
|
36
|
+
/// registering services for a new major release is only possible after a new initial release has been created by the GIF_ADMIN_ROLE
|
37
|
+
/// token white/blacklisting is possible for any active release
|
38
|
+
function GIF_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1600); }
|
39
|
+
|
40
|
+
/// @dev role associated with the ReleaseManager contract
|
41
|
+
function RELEASE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
|
42
|
+
|
43
|
+
/// @dev instance specific role to register/own a distribution component
|
32
44
|
function DISTRIBUTION_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2); }
|
45
|
+
|
46
|
+
/// @dev instance specific role to register/own an oracle component
|
33
47
|
function ORACLE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(3); }
|
48
|
+
|
49
|
+
/// @dev instance specific role to register/own a pool component
|
34
50
|
function POOL_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(4); }
|
51
|
+
|
52
|
+
/// @dev instance specific role to register/own a product component
|
35
53
|
function PRODUCT_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(5); }
|
36
54
|
|
55
|
+
/// @dev role associated with an instance contract
|
56
|
+
/// this role is the admin role for the INSTANCE_OWNER_ROLE
|
57
|
+
function INSTANCE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2600); }
|
58
|
+
|
59
|
+
/// @dev required role to register/own an instance
|
60
|
+
/// allows instance specific target, role and access management
|
37
61
|
function INSTANCE_OWNER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1900); }
|
62
|
+
|
63
|
+
/// @dev instance specific role for instance service
|
38
64
|
function INSTANCE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2000); }
|
65
|
+
|
66
|
+
/// @dev instance specific role for distribution service
|
39
67
|
function DISTRIBUTION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2100); }
|
68
|
+
|
69
|
+
/// @dev instance specific role for pool service
|
40
70
|
function POOL_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2200); }
|
71
|
+
|
72
|
+
/// @dev instance specific role for product service
|
41
73
|
function PRODUCT_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2300); }
|
74
|
+
|
75
|
+
/// @dev instance specific role for application service
|
42
76
|
function APPLICATION_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2400); }
|
77
|
+
|
78
|
+
/// @dev instance specific role for policy service
|
43
79
|
function POLICY_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2410); }
|
80
|
+
|
81
|
+
/// @dev instance specific role for claim service
|
44
82
|
function CLAIM_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2420); }
|
45
|
-
function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
|
46
|
-
function INSTANCE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2600); }
|
47
83
|
|
48
|
-
|
49
|
-
function
|
50
|
-
function RELEASE_MANAGER_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(1700); }
|
84
|
+
/// @dev instance specific role for bundle service
|
85
|
+
function BUNDLE_SERVICE_ROLE() pure returns (RoleId) { return RoleIdLib.toRoleId(2500); }
|
51
86
|
|
52
87
|
// @dev Returns true iff role ids a and b are identical
|
53
88
|
function eqRoleId(RoleId a, RoleId b) pure returns (bool isSame) {
|
@@ -26,14 +26,18 @@ function DECLINED() pure returns (StateId) {
|
|
26
26
|
return toStateId(30);
|
27
27
|
}
|
28
28
|
|
29
|
-
function
|
29
|
+
function COLLATERALIZED() pure returns (StateId) {
|
30
30
|
return toStateId(40);
|
31
31
|
}
|
32
32
|
|
33
|
-
function
|
33
|
+
function SUBMITTED() pure returns (StateId) {
|
34
34
|
return toStateId(50);
|
35
35
|
}
|
36
36
|
|
37
|
+
function CONFIRMED() pure returns (StateId) {
|
38
|
+
return toStateId(51);
|
39
|
+
}
|
40
|
+
|
37
41
|
function EXPECTED() pure returns (StateId) {
|
38
42
|
return toStateId(60);
|
39
43
|
}
|
@@ -60,6 +60,11 @@ function zeroTimestamp() pure returns (Timestamp) {
|
|
60
60
|
}
|
61
61
|
|
62
62
|
library TimestampLib {
|
63
|
+
|
64
|
+
function zero() public pure returns (Timestamp) {
|
65
|
+
return toTimestamp(0);
|
66
|
+
}
|
67
|
+
|
63
68
|
function blockTimestamp() public view returns (Timestamp) {
|
64
69
|
return Timestamp.wrap(uint40(block.timestamp));
|
65
70
|
}
|
package/package.json
CHANGED