@etherisc/gif-next 0.0.2-caf7ec3-284 → 0.0.2-cb65f02-318
Sign up to get free protection for your applications and to get access to all the features.
- 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 +2 -2
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +2 -2
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +96 -102
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +46 -46
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +1 -12
- 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 +2 -2
- 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 +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/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 +210 -44
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +55 -23
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +102 -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/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 +2 -2
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
- 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 +2 -2
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
- 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/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/DistributionService.sol +3 -16
- package/contracts/distribution/IDistributionComponent.sol +1 -1
- package/contracts/distribution/IDistributionService.sol +2 -3
- package/contracts/pool/BasicPoolAuthorization.sol +3 -0
- package/contracts/pool/BundleService.sol +59 -2
- package/contracts/pool/IBundleService.sol +14 -0
- package/contracts/pool/IPoolComponent.sol +7 -0
- package/contracts/pool/Pool.sol +17 -0
- package/contracts/pool/PoolService.sol +1 -3
- package/contracts/product/ClaimService.sol +2 -1
- package/contracts/product/PolicyService.sol +1 -0
- package/contracts/shared/ComponentService.sol +2 -3
- 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
@@ -14,6 +14,11 @@
|
|
14
14
|
"name": "ErrorAmountLibValueTooBig",
|
15
15
|
"type": "error"
|
16
16
|
},
|
17
|
+
{
|
18
|
+
"inputs": [],
|
19
|
+
"name": "MathLigMulDivOverflow",
|
20
|
+
"type": "error"
|
21
|
+
},
|
17
22
|
{
|
18
23
|
"inputs": [
|
19
24
|
{
|
@@ -105,6 +110,30 @@
|
|
105
110
|
"stateMutability": "pure",
|
106
111
|
"type": "function"
|
107
112
|
},
|
113
|
+
{
|
114
|
+
"inputs": [
|
115
|
+
{
|
116
|
+
"internalType": "Amount",
|
117
|
+
"name": "a1",
|
118
|
+
"type": "uint96"
|
119
|
+
},
|
120
|
+
{
|
121
|
+
"internalType": "Amount",
|
122
|
+
"name": "a2",
|
123
|
+
"type": "uint96"
|
124
|
+
}
|
125
|
+
],
|
126
|
+
"name": "gte",
|
127
|
+
"outputs": [
|
128
|
+
{
|
129
|
+
"internalType": "bool",
|
130
|
+
"name": "",
|
131
|
+
"type": "bool"
|
132
|
+
}
|
133
|
+
],
|
134
|
+
"stateMutability": "pure",
|
135
|
+
"type": "function"
|
136
|
+
},
|
108
137
|
{
|
109
138
|
"inputs": [
|
110
139
|
{
|
@@ -304,22 +333,22 @@
|
|
304
333
|
"type": "function"
|
305
334
|
}
|
306
335
|
],
|
307
|
-
"bytecode": "
|
308
|
-
"deployedBytecode": "
|
336
|
+
"bytecode": "0x6106ac610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c806355205f0f1161009e57806398058c4c1161006e57806398058c4c1461022a578063bc1b392d14610249578063c4cade9d1461024f578063c79eaa221461026e575f80fd5b806355205f0f146101e45780635869dfca146101f75780636ac5db191461020a5780637931c81114610217575f80fd5b8063274acb35116100d9578063274acb351461016f57806330b8415f1461019a5780634c41dd96146101b657806352694ee8146101c9575f80fd5b806308dc895e146100ff57806309a81d621461012c578063262b32d21461014f575b5f80fd5b61011961010d366004610570565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013f61013a366004610589565b610281565b6040519015158152602001610123565b61013f61015d366004610589565b6001600160601b039081169116101590565b61018261017d366004610589565b610297565b6040516001600160601b039091168152602001610123565b61013f6101a8366004610570565b6001600160601b0316151590565b6101826101c43660046105ba565b6102a9565b61013f6101d7366004610570565b6001600160601b03161590565b6101196101f2366004610570565b6102dd565b6101826102053660046105d1565b610359565b6001600160601b03610182565b610182610225366004610589565b610457565b61013f610238366004610589565b6001600160601b0390811691161190565b5f610182565b61013f61025d366004610589565b6001600160601b0390811691161490565b61018261027c366004610589565b61047f565b6001600160601b03808216908316105b92915050565b5f6102a2828461060d565b9392505050565b5f6001600160601b038211156102d957604051635a1bd76760e01b81526004810183905260240160405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061062c565b6040516322f5db0f60e11b81526001600160601b03831660048201525f906102a2906103e490849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af41580156103bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103df919061062c565b61048a565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610433573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c4919061062c565b5f816001600160601b0316836001600160601b03161015610479575081610291565b50919050565b5f6102a28284610643565b5f6102a28383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104d0578382816104c6576104c6610662565b04925050506102a2565b8084116104ef57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b038116811461056b575f80fd5b919050565b5f60208284031215610580575f80fd5b6102a282610555565b5f806040838503121561059a575f80fd5b6105a383610555565b91506105b160208401610555565b90509250929050565b5f602082840312156105ca575f80fd5b5035919050565b5f80604083850312156105e2575f80fd5b6105eb83610555565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610291576102916105f9565b5f6020828403121561063c575f80fd5b5051919050565b6001600160601b038281168282160390811115610291576102916105f9565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122013765204b0b341e5f899c19c579dc5f273e4df7c20bc624cd8e865431bddce3764736f6c634300081a0033",
|
337
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100fb575f3560e01c806355205f0f1161009e57806398058c4c1161006e57806398058c4c1461022a578063bc1b392d14610249578063c4cade9d1461024f578063c79eaa221461026e575f80fd5b806355205f0f146101e45780635869dfca146101f75780636ac5db191461020a5780637931c81114610217575f80fd5b8063274acb35116100d9578063274acb351461016f57806330b8415f1461019a5780634c41dd96146101b657806352694ee8146101c9575f80fd5b806308dc895e146100ff57806309a81d621461012c578063262b32d21461014f575b5f80fd5b61011961010d366004610570565b6001600160601b031690565b6040519081526020015b60405180910390f35b61013f61013a366004610589565b610281565b6040519015158152602001610123565b61013f61015d366004610589565b6001600160601b039081169116101590565b61018261017d366004610589565b610297565b6040516001600160601b039091168152602001610123565b61013f6101a8366004610570565b6001600160601b0316151590565b6101826101c43660046105ba565b6102a9565b61013f6101d7366004610570565b6001600160601b03161590565b6101196101f2366004610570565b6102dd565b6101826102053660046105d1565b610359565b6001600160601b03610182565b610182610225366004610589565b610457565b61013f610238366004610589565b6001600160601b0390811691161190565b5f610182565b61013f61025d366004610589565b6001600160601b0390811691161490565b61018261027c366004610589565b61047f565b6001600160601b03808216908316105b92915050565b5f6102a2828461060d565b9392505050565b5f6001600160601b038211156102d957604051635a1bd76760e01b81526004810183905260240160405180910390fd5b5090565b6040516322f5db0f60e11b81526001600160601b03821660048201525f9073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af4158015610335573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610291919061062c565b6040516322f5db0f60e11b81526001600160601b03831660048201525f906102a2906103e490849073__$bf7bc340cbb9229ef1de2c568356e67902$__906345ebb61e90602401602060405180830381865af41580156103bb573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103df919061062c565b61048a565b604051632255341b60e11b8152600481019190915273__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af4158015610433573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c4919061062c565b5f816001600160601b0316836001600160601b03161015610479575081610291565b50919050565b5f6102a28284610643565b5f6102a28383670de0b6b3a76400005f80805f19858709858702925082811083820303915050805f036104d0578382816104c6576104c6610662565b04925050506102a2565b8084116104ef57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b80356001600160601b038116811461056b575f80fd5b919050565b5f60208284031215610580575f80fd5b6102a282610555565b5f806040838503121561059a575f80fd5b6105a383610555565b91506105b160208401610555565b90509250929050565b5f602082840312156105ca575f80fd5b5035919050565b5f80604083850312156105e2575f80fd5b6105eb83610555565b946020939093013593505050565b634e487b7160e01b5f52601160045260245ffd5b6001600160601b038181168382160190811115610291576102916105f9565b5f6020828403121561063c575f80fd5b5051919050565b6001600160601b038281168282160390811115610291576102916105f9565b634e487b7160e01b5f52601260045260245ffdfea264697066735822122013765204b0b341e5f899c19c579dc5f273e4df7c20bc624cd8e865431bddce3764736f6c634300081a0033",
|
309
338
|
"linkReferences": {
|
310
339
|
"contracts/type/UFixed.sol": {
|
311
340
|
"UFixedLib": [
|
312
341
|
{
|
313
342
|
"length": 20,
|
314
|
-
"start":
|
343
|
+
"start": 817
|
315
344
|
},
|
316
345
|
{
|
317
346
|
"length": 20,
|
318
|
-
"start":
|
347
|
+
"start": 951
|
319
348
|
},
|
320
349
|
{
|
321
350
|
"length": 20,
|
322
|
-
"start":
|
351
|
+
"start": 1071
|
323
352
|
}
|
324
353
|
]
|
325
354
|
}
|
@@ -329,15 +358,15 @@
|
|
329
358
|
"UFixedLib": [
|
330
359
|
{
|
331
360
|
"length": 20,
|
332
|
-
"start":
|
361
|
+
"start": 765
|
333
362
|
},
|
334
363
|
{
|
335
364
|
"length": 20,
|
336
|
-
"start":
|
365
|
+
"start": 899
|
337
366
|
},
|
338
367
|
{
|
339
368
|
"length": 20,
|
340
|
-
"start":
|
369
|
+
"start": 1019
|
341
370
|
}
|
342
371
|
]
|
343
372
|
}
|
@@ -3,6 +3,11 @@
|
|
3
3
|
"contractName": "FeeLib",
|
4
4
|
"sourceName": "contracts/type/Fee.sol",
|
5
5
|
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [],
|
8
|
+
"name": "MathLigMulDivOverflow",
|
9
|
+
"type": "error"
|
10
|
+
},
|
6
11
|
{
|
7
12
|
"inputs": [
|
8
13
|
{
|
@@ -247,8 +252,8 @@
|
|
247
252
|
"type": "function"
|
248
253
|
}
|
249
254
|
],
|
250
|
-
"bytecode": "
|
251
|
-
"deployedBytecode": "
|
255
|
+
"bytecode": "0x610756610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c6100973660046105e1565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf3660046105fb565b6101ae565b6100d76100d236600461062e565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610665565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c36600461069b565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f3660046105e1565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106bb565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106bb565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106bb565b6103ab91906106d2565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040891906106f1565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c791906106f1565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f961070c565b04925050506101c7565b80841161052257604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60408284031215610598575f80fd5b6040516040810181811067ffffffffffffffff821117156105c757634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f604082840312156105f1575f80fd5b6101c78383610588565b5f806080838503121561060c575f80fd5b6106168484610588565b91506106258460408501610588565b90509250929050565b5f6020828403121561063e575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b0381168114610662575f80fd5b50565b5f8060608385031215610676575f80fd5b6106808484610588565b915060408301356106908161064e565b809150509250929050565b5f80604083850312156106ac575f80fd5b50508035926020909101359150565b5f602082840312156106cb575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610701575f80fd5b81516101c78161064e565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220b92eab848363bc2ea2900ce95ee90acb94d6435185724a8959997a93ef654cbd64736f6c634300081a0033",
|
256
|
+
"deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c80639ed246ea116100635780639ed246ea146100f2578063bc1b392d14610125578063c7010dfa1461014e578063d0e149f714610181575f80fd5b806305deb8b7146100895780632b324dc0146100b15780635faa955b146100c4575b5f80fd5b61009c6100973660046105e1565b610194565b60405190151581526020015b60405180910390f35b61009c6100bf3660046105fb565b6101ae565b6100d76100d236600461062e565b6101ce565b604080518251815260209283015192810192909252016100a8565b610105610100366004610665565b610273565b604080516001600160601b039384168152929091166020830152016100a8565b6040805180820182525f80825260209182018190528251808401909352808352908201526100d7565b6100d761015c36600461069b565b6040805180820182525f80825260209182015281518083019092529281529182015290565b61009c61018f3660046105e1565b61041f565b80515f901515806101a857505f8260200151115b92915050565b5f816020015183602001511480156101c7575082518251145b9392505050565b6040805180820182525f8082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c84560848301602060405180830381865af4158015610240573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061026491906106bb565b81525f60209091015292915050565b5f8161027e84610194565b15610418576040516355205f0f60e01b81526001600160601b03841660048201525f9061030a9073__$3bac17678db7ae928afa209f2f44deec9c$__906355205f0f90602401602060405180830381865af41580156102df573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061030391906106bb565b8651610434565b6020860151604051632255341b60e11b81526004810183905291925073__$3bac17678db7ae928afa209f2f44deec9c$__91634c41dd96919073__$bf7bc340cbb9229ef1de2c568356e67902$__906344aa683690602401602060405180830381865af415801561037d573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103a191906106bb565b6103ab91906106d2565b6040518263ffffffff1660e01b81526004016103c991815260200190565b602060405180830381865af41580156103e4573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061040891906106f1565b92506104148284610448565b9150505b9250929050565b5f81602001515f1480156101a8575050511590565b5f6101c78383670de0b6b3a76400006104cc565b6040516363cf551160e11b81526001600160601b038084166004830152821660248201525f9073__$3bac17678db7ae928afa209f2f44deec9c$__9063c79eaa2290604401602060405180830381865af41580156104a8573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906101c791906106f1565b5f80805f19858709858702925082811083820303915050805f03610503578382816104f9576104f961070c565b04925050506101c7565b80841161052257604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f60408284031215610598575f80fd5b6040516040810181811067ffffffffffffffff821117156105c757634e487b7160e01b5f52604160045260245ffd5b604052823581526020928301359281019290925250919050565b5f604082840312156105f1575f80fd5b6101c78383610588565b5f806080838503121561060c575f80fd5b6106168484610588565b91506106258460408501610588565b90509250929050565b5f6020828403121561063e575f80fd5b813560ff811681146101c7575f80fd5b6001600160601b0381168114610662575f80fd5b50565b5f8060608385031215610676575f80fd5b6106808484610588565b915060408301356106908161064e565b809150509250929050565b5f80604083850312156106ac575f80fd5b50508035926020909101359150565b5f602082840312156106cb575f80fd5b5051919050565b808201808211156101a857634e487b7160e01b5f52601160045260245ffd5b5f60208284031215610701575f80fd5b81516101c78161064e565b634e487b7160e01b5f52601260045260245ffdfea2646970667358221220b92eab848363bc2ea2900ce95ee90acb94d6435185724a8959997a93ef654cbd64736f6c634300081a0033",
|
252
257
|
"linkReferences": {
|
253
258
|
"contracts/type/Amount.sol": {
|
254
259
|
"AmountLib": [
|
@@ -117,8 +117,8 @@
|
|
117
117
|
"type": "function"
|
118
118
|
}
|
119
119
|
],
|
120
|
-
"bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$
|
121
|
-
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$
|
120
|
+
"bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220c767affb37b06ea14a0869186bef6fe1272ab4fabc3aa4455b51b267c2edd7cb64736f6c634300081a0033",
|
121
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce601d6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220c767affb37b06ea14a0869186bef6fe1272ab4fabc3aa4455b51b267c2edd7cb64736f6c634300081a0033",
|
122
122
|
"linkReferences": {
|
123
123
|
"contracts/type/Key32.sol": {
|
124
124
|
"Key32Lib": [
|
@@ -2,9 +2,15 @@
|
|
2
2
|
"_format": "hh-sol-artifact-1",
|
3
3
|
"contractName": "MathLib",
|
4
4
|
"sourceName": "contracts/type/UFixed.sol",
|
5
|
-
"abi": [
|
6
|
-
|
7
|
-
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [],
|
8
|
+
"name": "MathLigMulDivOverflow",
|
9
|
+
"type": "error"
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"bytecode": "0x60556032600b8282823980515f1a607314602657634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
|
13
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040525f80fdfea2646970667358221220629048970b23464bc18bc1ab0a62b29b959e39ba69dbe3ba01a199f7c6ff738a64736f6c634300081a0033",
|
8
14
|
"linkReferences": {},
|
9
15
|
"deployedLinkReferences": {}
|
10
16
|
}
|
@@ -3,6 +3,43 @@
|
|
3
3
|
"contractName": "UFixedLib",
|
4
4
|
"sourceName": "contracts/type/UFixed.sol",
|
5
5
|
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [],
|
8
|
+
"name": "MathLigMulDivOverflow",
|
9
|
+
"type": "error"
|
10
|
+
},
|
11
|
+
{
|
12
|
+
"inputs": [],
|
13
|
+
"name": "UFixedLibDivisionByZero",
|
14
|
+
"type": "error"
|
15
|
+
},
|
16
|
+
{
|
17
|
+
"inputs": [
|
18
|
+
{
|
19
|
+
"internalType": "int8",
|
20
|
+
"name": "exp",
|
21
|
+
"type": "int8"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"name": "UFixedLibExponentTooLarge",
|
25
|
+
"type": "error"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"inputs": [
|
29
|
+
{
|
30
|
+
"internalType": "int8",
|
31
|
+
"name": "exp",
|
32
|
+
"type": "int8"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"name": "UFixedLibExponentTooSmall",
|
36
|
+
"type": "error"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"inputs": [],
|
40
|
+
"name": "UFixedLibNegativeResult",
|
41
|
+
"type": "error"
|
42
|
+
},
|
6
43
|
{
|
7
44
|
"inputs": [],
|
8
45
|
"name": "EXP",
|
@@ -491,8 +528,8 @@
|
|
491
528
|
"type": "function"
|
492
529
|
}
|
493
530
|
],
|
494
|
-
"bytecode": "
|
495
|
-
"deployedBytecode": "
|
531
|
+
"bytecode": "0x61095e610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
|
532
|
+
"deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610178575f3560e01c80637a858b97116100e4578063b67d77c51161009e578063c8a4ac9c11610079578063c8a4ac9c146102fa578063cc8b7b731461030d578063ea6515c414610320578063eb646d7114610333575f80fd5b8063b67d77c5146102da578063bc1b392d146102ed578063bdbb4630146102f3575f80fd5b80637a858b971461027357806389fa8ed714610286578063916c5c571461029b57806393aa8725146102ae578063a391c15b146102b4578063b4773329146102c7575f80fd5b8063313ce56711610135578063313ce5671461020d57806332148d731461021457806344aa68361461022757806345ebb61e1461023a578063753b14a51461024d578063771602f714610260575f80fd5b8063059f8b161461017c57806308c76ec414610197578063118fc88c146101aa5780631488c845146101cd5780631a12cd47146101e057806321e5749b146101fa575b5f80fd5b61018461033b565b6040519081526020015b60405180910390f35b6101846101a53660046106e2565b61034a565b6101bd6101b8366004610715565b6103d0565b604051901515815260200161018e565b6101846101db366004610735565b6103dc565b6101e8601281565b6040515f9190910b815260200161018e565b6101bd610208366004610715565b610467565b6012610184565b6101bd610222366004610715565b610470565b61018461023536600461075d565b610479565b61018461024836600461075d565b610485565b6101bd61025b36600461075d565b61049c565b61018461026e366004610715565b6104a4565b6101bd61028136600461075d565b6104af565b60025b60405160ff909116815260200161018e565b6101846102a936600461075d565b6104b8565b5f610289565b6101846102c2366004610715565b6104d7565b6101bd6102d5366004610715565b6104e2565b6101846102e8366004610715565b6104ec565b5f610184565b6001610289565b610184610308366004610715565b6104f7565b61018461031b366004610715565b610502565b6101bd61032e366004610715565b61050d565b610184610517565b6103476012600a61086b565b81565b5f60011960ff8316016103975761039060026103686012600a61086b565b610372919061088a565b61037c90856108a9565b600161038a6012600a61086b565b5f61052f565b90506103ca565b60ff82166103b15761039083600161038a6012600a61086b565b6103908360016103c36012600a61086b565b600161052f565b92915050565b5f8282115b9392505050565b5f806103e98360126108bc565b5f0b121561041457604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b60406104218360126108bc565b5f0b13156104475760405163e39f5db560e01b81525f83900b600482015260240161040b565b6104528260126108bc565b61045d90600a6108dc565b6103d590846108ea565b5f8282106103d5565b5f8183146103d5565b5f6103ca82600261034a565b5f6104926012600a61086b565b6103ca90836108ea565b5f81156103ca565b5f6103d5838361058a565b5f8115156103ca565b5f6103ca6104d06104ca6103e8610485565b84610595565b600261034a565b5f6103d583836105a9565b5f828211156103d5565b5f6103d583836105dd565b5f6103d58383610595565b5f6103d58383610609565b5f828210156103d5565b60026105256012600a61086b565b610347919061088a565b5f8061053c868686610626565b9050600183600281111561055257610552610901565b14801561056e57505f848061056957610569610876565b868809115b156105815761057e6001826108a9565b90505b95945050505050565b5f6103d582846108a9565b5f6103d58383670de0b6b3a7640000610626565b5f815f036105ca57604051630f6c8fc360e21b815260040160405180910390fd5b6103d583670de0b6b3a764000084610626565b5f828211156105ff5760405163117efe6d60e31b815260040160405180910390fd5b6103d58284610915565b5f8282101561061c5761039083836105dd565b6103d582846105dd565b5f80805f19858709858702925082811083820303915050805f0361065d5783828161065357610653610876565b04925050506103d5565b80841161067c57604051629540d960e61b815260040160405180910390fd5b5f84868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203025f889003889004909101858311909403939093029303949094049190911702949350505050565b5f80604083850312156106f3575f80fd5b82359150602083013560ff8116811461070a575f80fd5b809150509250929050565b5f8060408385031215610726575f80fd5b50508035926020909101359150565b5f8060408385031215610746575f80fd5b8235915060208301355f81900b811461070a575f80fd5b5f6020828403121561076d575f80fd5b5035919050565b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156107c3578085048111156107a7576107a7610774565b60018416156107b557908102905b60019390931c92800261078c565b935093915050565b5f826107d9575060016103ca565b816107e557505f6103ca565b81600181146107fb576002811461080557610821565b60019150506103ca565b60ff84111561081657610816610774565b50506001821b6103ca565b5060208310610133831016604e8410600b8410161715610844575081810a6103ca565b6108505f198484610788565b805f190482111561086357610863610774565b029392505050565b5f6103d583836107cb565b634e487b7160e01b5f52601260045260245ffd5b5f826108a457634e487b7160e01b5f52601260045260245ffd5b500490565b808201808211156103ca576103ca610774565b5f81810b9083900b01607f8113607f19821217156103ca576103ca610774565b5f6103d560ff8416836107cb565b80820281158282048414176103ca576103ca610774565b634e487b7160e01b5f52602160045260245ffd5b818103818111156103ca576103ca61077456fea26469706673582212203e4e2503f40cb4f921285a9376599632e104ff38976d428bdba7a78c8a4f296f64736f6c634300081a0033",
|
496
533
|
"linkReferences": {},
|
497
534
|
"deployedLinkReferences": {}
|
498
535
|
}
|
@@ -32,13 +32,6 @@ contract DistributionService is
|
|
32
32
|
ComponentVerifyingService,
|
33
33
|
IDistributionService
|
34
34
|
{
|
35
|
-
using AmountLib for Amount;
|
36
|
-
using NftIdLib for NftId;
|
37
|
-
using TimestampLib for Timestamp;
|
38
|
-
using UFixedLib for UFixed;
|
39
|
-
using FeeLib for Fee;
|
40
|
-
using ReferralLib for ReferralId;
|
41
|
-
|
42
35
|
IComponentService private _componentService;
|
43
36
|
IInstanceService private _instanceService;
|
44
37
|
IRegistryService private _registryService;
|
@@ -259,10 +252,7 @@ contract DistributionService is
|
|
259
252
|
}
|
260
253
|
}
|
261
254
|
|
262
|
-
/// @
|
263
|
-
/// @param distributorNftId the distributor Nft Id
|
264
|
-
/// @param amount the amount to withdraw. If set to UINT256_MAX, the full commission available is withdrawn
|
265
|
-
/// @return withdrawnAmount the effective withdrawn amount
|
255
|
+
/// @inheritdoc IDistributionService
|
266
256
|
function withdrawCommission(NftId distributorNftId, Amount amount)
|
267
257
|
public
|
268
258
|
virtual
|
@@ -276,14 +266,10 @@ contract DistributionService is
|
|
276
266
|
address distributionWallet = distributionInfo.wallet;
|
277
267
|
|
278
268
|
IDistribution.DistributorInfo memory distributorInfo = reader.getDistributorInfo(distributorNftId);
|
279
|
-
|
280
|
-
if (!distributorInfo.active) {
|
281
|
-
revert ErrorDistributionServiceDistributorNotActive(distributorNftId);
|
282
|
-
}
|
283
269
|
|
284
270
|
// determine withdrawn amount
|
285
271
|
withdrawnAmount = amount;
|
286
|
-
if (withdrawnAmount.
|
272
|
+
if (withdrawnAmount.gte(AmountLib.max())) {
|
287
273
|
withdrawnAmount = distributorInfo.commissionAmount;
|
288
274
|
} else {
|
289
275
|
if (withdrawnAmount.gt(distributorInfo.commissionAmount)) {
|
@@ -314,6 +300,7 @@ contract DistributionService is
|
|
314
300
|
// transfer amount to distributor
|
315
301
|
{
|
316
302
|
address distributor = getRegistry().ownerOf(distributorNftId);
|
303
|
+
// TODO: centralize token handling (issue #471)
|
317
304
|
distributionInfo.tokenHandler.transfer(distributionWallet, distributor, withdrawnAmount);
|
318
305
|
|
319
306
|
emit LogDistributionServiceCommissionWithdrawn(distributorNftId, distributor, address(token), withdrawnAmount);
|
@@ -46,7 +46,7 @@ interface IDistributionComponent is IInstanceLinkedComponent {
|
|
46
46
|
|
47
47
|
/// @dev Withdraw commission for the distributor
|
48
48
|
/// @param distributorNftId the distributor Nft Id
|
49
|
-
/// @param amount the amount to withdraw. If set to
|
49
|
+
/// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
|
50
50
|
/// @return withdrawnAmount the effective withdrawn amount
|
51
51
|
function withdrawCommission(NftId distributorNftId, Amount amount) external returns (Amount withdrawnAmount);
|
52
52
|
}
|
@@ -27,7 +27,6 @@ interface IDistributionService is IService {
|
|
27
27
|
error ErrorIDistributionServiceCommissionTooHigh(uint256 commissionPercentage, uint256 maxCommissionPercentage);
|
28
28
|
error ErrorIDistributionServiceMinFeeTooHigh(uint256 minFee, uint256 limit);
|
29
29
|
|
30
|
-
error ErrorDistributionServiceDistributorNotActive(NftId distributorNftId);
|
31
30
|
error ErrorDistributionServiceCommissionWithdrawAmountExceedsLimit(Amount amount, Amount limit);
|
32
31
|
error ErrorDistributionServiceCommissionWithdrawAmountIsZero();
|
33
32
|
error ErrorDistributionServiceWalletAllowanceTooSmall(address wallet, address tokenHandler, uint256 allowance, uint256 amount);
|
@@ -38,7 +37,7 @@ interface IDistributionService is IService {
|
|
38
37
|
error ErrorIDistributionServiceReferralInvalid(NftId distributionNftId, ReferralId referralId);
|
39
38
|
error ErrorDistributionServiceInvalidFeeTransferred(Amount transferredDistributionFeeAmount, Amount expectedDistributionFeeAmount);
|
40
39
|
|
41
|
-
event LogDistributionServiceCommissionWithdrawn(NftId distributorNftId, address
|
40
|
+
event LogDistributionServiceCommissionWithdrawn(NftId distributorNftId, address recipient, address tokenAddress, Amount amount);
|
42
41
|
|
43
42
|
function createDistributorType(
|
44
43
|
string memory name,
|
@@ -92,7 +91,7 @@ interface IDistributionService is IService {
|
|
92
91
|
|
93
92
|
/// @dev Withdraw commission for the distributor
|
94
93
|
/// @param distributorNftId the distributor Nft Id
|
95
|
-
/// @param amount the amount to withdraw. If set to
|
94
|
+
/// @param amount the amount to withdraw. If set to AMOUNT_MAX, the full commission available is withdrawn
|
96
95
|
/// @return withdrawnAmount the effective withdrawn amount
|
97
96
|
function withdrawCommission(NftId distributorNftId, Amount amount) external returns (Amount withdrawnAmount);
|
98
97
|
}
|