@etherisc/gif-next 0.0.2-f15b559-661 → 0.0.2-f1b01e0-214
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 +43 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +38 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +26 -26
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +6 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +366 -251
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +8 -39
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +101 -28
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +283 -189
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +37 -5
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +32 -145
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +101 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1 -87
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +160 -89
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +56 -52
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +1 -87
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +68 -5
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +44 -74
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +101 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +94 -124
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +101 -46
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +82 -173
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +101 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +20 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +69 -112
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +101 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +95 -138
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +101 -46
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +104 -8
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +62 -13
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +119 -26
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +520 -413
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +101 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +225 -196
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +94 -65
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -36
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +356 -346
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +14 -35
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +98 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +0 -21
- 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/Oracle.sol/Oracle.json +0 -21
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +42 -42
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +31 -31
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +22 -43
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +101 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +64 -64
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +39 -39
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +6 -6
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +10 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +18 -18
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +10 -31
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +34 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +80 -80
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +41 -41
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +90 -24
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -22
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +27 -48
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +101 -46
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +78 -78
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +50 -50
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +42 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +21 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +21 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +21 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +62 -62
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +32 -32
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +41 -41
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +63 -82
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -51
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +21 -42
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +55 -26
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +27 -23
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +445 -355
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +19 -19
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +481 -376
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +128 -124
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +114 -129
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +45 -49
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +60 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +44 -51
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -21
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -21
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +83 -39
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -4
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +133 -94
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +41 -37
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +34 -61
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +109 -30
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +27 -23
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +148 -134
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +47 -37
- 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 +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +56 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/IAccountingService.sol +2 -2
- package/contracts/authorization/AccessAdmin.sol +201 -186
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +61 -33
- package/contracts/authorization/IAccess.sol +13 -5
- package/contracts/authorization/IAccessAdmin.sol +63 -36
- package/contracts/authorization/IAuthorization.sol +6 -0
- package/contracts/distribution/BasicDistribution.sol +6 -6
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +3 -48
- package/contracts/distribution/DistributionService.sol +57 -30
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +4 -2
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +45 -9
- package/contracts/instance/IInstanceService.sol +19 -3
- package/contracts/instance/Instance.sol +73 -16
- package/contracts/instance/InstanceAdmin.sol +120 -107
- package/contracts/instance/InstanceAuthorizationV3.sol +43 -21
- package/contracts/instance/InstanceReader.sol +13 -0
- package/contracts/instance/InstanceService.sol +128 -73
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +19 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +0 -2
- package/contracts/pool/BasicPool.sol +0 -2
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/Pool.sol +0 -2
- package/contracts/pool/PoolService.sol +1 -3
- package/contracts/product/ApplicationService.sol +21 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +3 -0
- package/contracts/product/PolicyService.sol +0 -18
- package/contracts/product/PricingService.sol +11 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +10 -0
- package/contracts/registry/IRegistry.sol +4 -0
- package/contracts/registry/RegistryAdmin.sol +133 -229
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/ReleaseAdmin.sol +30 -22
- package/contracts/registry/ReleaseRegistry.sol +39 -33
- package/contracts/registry/ServiceAuthorizationV3.sol +87 -3
- package/contracts/shared/Component.sol +13 -30
- package/contracts/shared/ComponentService.sol +58 -42
- package/contracts/shared/ContractLib.sol +28 -0
- package/contracts/shared/IComponent.sol +0 -3
- package/contracts/shared/IComponentService.sol +9 -9
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +0 -2
- package/contracts/shared/NftOwnable.sol +1 -1
- package/contracts/shared/Registerable.sol +1 -4
- package/contracts/shared/TokenHandler.sol +5 -4
- package/contracts/staking/IStaking.sol +12 -2
- package/contracts/staking/IStakingService.sol +8 -1
- package/contracts/staking/Staking.sol +35 -15
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +79 -22
- package/contracts/staking/StakingReader.sol +5 -15
- package/contracts/staking/StakingService.sol +36 -2
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/ObjectType.sol +5 -14
- package/contracts/type/UFixed.sol +27 -10
- package/contracts/type/Version.sol +39 -0
- package/package.json +2 -2
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
| @@ -381,6 +381,25 @@ | |
| 381 381 | 
             
                  "stateMutability": "view",
         | 
| 382 382 | 
             
                  "type": "function"
         | 
| 383 383 | 
             
                },
         | 
| 384 | 
            +
                {
         | 
| 385 | 
            +
                  "inputs": [
         | 
| 386 | 
            +
                    {
         | 
| 387 | 
            +
                      "internalType": "address",
         | 
| 388 | 
            +
                      "name": "target",
         | 
| 389 | 
            +
                      "type": "address"
         | 
| 390 | 
            +
                    }
         | 
| 391 | 
            +
                  ],
         | 
| 392 | 
            +
                  "name": "isAccessManaged",
         | 
| 393 | 
            +
                  "outputs": [
         | 
| 394 | 
            +
                    {
         | 
| 395 | 
            +
                      "internalType": "bool",
         | 
| 396 | 
            +
                      "name": "",
         | 
| 397 | 
            +
                      "type": "bool"
         | 
| 398 | 
            +
                    }
         | 
| 399 | 
            +
                  ],
         | 
| 400 | 
            +
                  "stateMutability": "view",
         | 
| 401 | 
            +
                  "type": "function"
         | 
| 402 | 
            +
                },
         | 
| 384 403 | 
             
                {
         | 
| 385 404 | 
             
                  "inputs": [
         | 
| 386 405 | 
             
                    {
         | 
| @@ -472,6 +491,35 @@ | |
| 472 491 | 
             
                  "stateMutability": "view",
         | 
| 473 492 | 
             
                  "type": "function"
         | 
| 474 493 | 
             
                },
         | 
| 494 | 
            +
                {
         | 
| 495 | 
            +
                  "inputs": [
         | 
| 496 | 
            +
                    {
         | 
| 497 | 
            +
                      "internalType": "address",
         | 
| 498 | 
            +
                      "name": "registry",
         | 
| 499 | 
            +
                      "type": "address"
         | 
| 500 | 
            +
                    },
         | 
| 501 | 
            +
                    {
         | 
| 502 | 
            +
                      "internalType": "address",
         | 
| 503 | 
            +
                      "name": "caller",
         | 
| 504 | 
            +
                      "type": "address"
         | 
| 505 | 
            +
                    },
         | 
| 506 | 
            +
                    {
         | 
| 507 | 
            +
                      "internalType": "ObjectType",
         | 
| 508 | 
            +
                      "name": "expectedType",
         | 
| 509 | 
            +
                      "type": "uint8"
         | 
| 510 | 
            +
                    }
         | 
| 511 | 
            +
                  ],
         | 
| 512 | 
            +
                  "name": "isRegistered",
         | 
| 513 | 
            +
                  "outputs": [
         | 
| 514 | 
            +
                    {
         | 
| 515 | 
            +
                      "internalType": "bool",
         | 
| 516 | 
            +
                      "name": "",
         | 
| 517 | 
            +
                      "type": "bool"
         | 
| 518 | 
            +
                    }
         | 
| 519 | 
            +
                  ],
         | 
| 520 | 
            +
                  "stateMutability": "view",
         | 
| 521 | 
            +
                  "type": "function"
         | 
| 522 | 
            +
                },
         | 
| 475 523 | 
             
                {
         | 
| 476 524 | 
             
                  "inputs": [
         | 
| 477 525 | 
             
                    {
         | 
| @@ -516,14 +564,18 @@ | |
| 516 564 | 
             
                  "type": "function"
         | 
| 517 565 | 
             
                }
         | 
| 518 566 | 
             
              ],
         | 
| 519 | 
            -
              "bytecode": "0x61112c610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100b1575f3560e01c80637d482da1116100795780637d482da114610148578063aa13a9881461015b578063b6bbad121461016e578063c52721a314610181578063ce64d28114610194578063d9057007146101bf575f80fd5b80630c21dea2146100b557806316279055146100de5780632330f247146101015780633334d16b146101145780635c990ed314610127575b5f80fd5b6100c86100c3366004610be8565b6101d2565b6040516100d59190610cde565b60405180910390f35b6100f16100ec366004610cf0565b610246565b60405190151581526020016100d5565b6100f161010f366004610cf0565b610263565b6100f1610122366004610cf0565b610289565b61013a610135366004610d26565b6102af565b6040516100d5929190610d7f565b6100f1610156366004610da8565b61033e565b61013a610169366004610ded565b6103c2565b6100f161017c366004610cf0565b61048f565b61013a61018f366004610e49565b6104a0565b6101a76101a2366004610e76565b61053c565b6040516001600160a01b0390911681526020016100d5565b6100f16101cd366004610ea2565b6106a4565b6101da610b94565b6101e483836106b6565b905061020281604001516101f6600390565b60ff9081169116141590565b15610240578051604080830151905163067e446760e31b81526001600160601b03909216600483015260ff1660248201526044015b60405180910390fd5b92915050565b5f6001600160a01b03821661025c57505f919050565b503b151590565b5f61026d82610246565b61027857505f919050565b610240826309990e3960e41b6106a4565b5f61029382610246565b61029e57505f919050565b61024082630398724f60e11b6106a4565b6102b7610b94565b5f6102c286866106b6565b91506102d982604001518560ff9081169116141590565b1561031a578151604080840151905163176bb19d60e21b81526001600160601b03909216600483015260ff8087166024840152166044820152606401610237565b6103248683610848565b90506103358186845f0151866109c3565b94509492505050565b604051634806e33f60e11b8152600481018390526001600160a01b03848116602483015260ff831660448301525f919086169063900dc67e90606401602060405180830381865afa158015610395573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b99190610eea565b95945050505050565b6103ca610b94565b5f6103d585856106b6565b91506103f282604001516103e7600c90565b60ff90811691161490565b80610408575061040882604001516103e7600f90565b8061041e575061041e82604001516103e7600e90565b80610434575061043482604001516103e7600d90565b61046c5781516040808401519051631df6ffe760e01b81526001600160601b03909216600483015260ff166024820152604401610237565b6104768583610848565b90506104878185845f0151866109c3565b935093915050565b5f61024082620b5ccf60e31b610ac1565b6104a8610b94565b6040516305247a1760e51b81526001600160601b03841660048201525f906001600160a01b0386169063a48f42e0906024015f60405180830381865afa1580156104f4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261051b9190810190610fee565b91506105278583610848565b9050610487818360800151845f0151866109c3565b60405163677d3feb60e11b81526001600160601b03821660048201525f9081906001600160a01b0385169063cefa7fd690602401602060405180830381865afa15801561058b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105af91906110c0565b60405163677d3feb60e11b81526001600160601b03821660048201529091505f906001600160a01b0386169063cefa7fd690602401602060405180830381865afa1580156105ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062391906110c0565b6040516305247a1760e51b81526001600160601b03821660048201529091506001600160a01b0386169063a48f42e0906024015f60405180830381865afa158015610670573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106979190810190610fee565b6080015195945050505050565b5f6106af8383610ac1565b9392505050565b6106be610b94565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f9190851690635e546bee90602401602060405180830381865afa158015610705573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072991906110c0565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610782573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a69190610eea565b156107cf57604051630e8088a760e01b81526001600160a01b0384166004820152602401610237565b6040516305247a1760e51b81526001600160601b03821660048201526001600160a01b0385169063a48f42e0906024015f60405180830381865afa158015610819573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108409190810190610fee565b949350505050565b5f61085982604001516103e7600c90565b156108da57602082015160405163bf8e179760e01b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790602401602060405180830381865afa1580156108af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d391906110db565b9050610240565b60208201516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790829063a48f42e0906024015f60405180830381865afa158015610932573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109599190810190610fee565b602001516040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa15801561099f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af91906110db565b8015610abb57836001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2991906110db565b604051629b7b3560e61b81526001600160a01b03858116600483015291909116906326decd4090602401602060405180830381865afa158015610a6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a929190610eea565b15610abb57604051633a31890160e11b81526001600160601b0383166004820152602401610237565b50505050565b5f610acb83610adc565b80156106af57506106af8383610b0e565b5f610aee826301ffc9a760e01b610b0e565b80156102405750610b07826001600160e01b0319610b0e565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015610b7e575060208210155b8015610b8957505f81115b979650505050505050565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6001600160a01b0381168114610be5575f80fd5b50565b5f8060408385031215610bf9575f80fd5b8235610c0481610bd1565b91506020830135610c1481610bd1565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160601b0381511682526001600160601b03602082015116602083015260ff60408201511660408301525f6060820151610c8e606085018215159052565b506080820151610ca960808501826001600160a01b03169052565b5060a0820151610cc460a08501826001600160a01b03169052565b5060c082015160e060c085015261084060e0850182610c1f565b602081525f6106af6020830184610c4d565b5f60208284031215610d00575f80fd5b81356106af81610bd1565b60ff81168114610be5575f80fd5b8015158114610be5575f80fd5b5f805f8060808587031215610d39575f80fd5b8435610d4481610bd1565b93506020850135610d5481610bd1565b92506040850135610d6481610d0b565b91506060850135610d7481610d19565b939692955090935050565b604081525f610d916040830185610c4d565b905060018060a01b03831660208301529392505050565b5f805f8060808587031215610dbb575f80fd5b8435610dc681610bd1565b93506020850135610dd681610bd1565b9250604085013591506060850135610d7481610d0b565b5f805f60608486031215610dff575f80fd5b8335610e0a81610bd1565b92506020840135610e1a81610bd1565b91506040840135610e2a81610d19565b809150509250925092565b6001600160601b0381168114610be5575f80fd5b5f805f60608486031215610e5b575f80fd5b8335610e6681610bd1565b92506020840135610e1a81610e35565b5f8060408385031215610e87575f80fd5b8235610e9281610bd1565b91506020830135610c1481610e35565b5f8060408385031215610eb3575f80fd5b8235610ebe81610bd1565b915060208301356001600160e01b031981168114610c14575f80fd5b8051610ee581610d19565b919050565b5f60208284031215610efa575f80fd5b81516106af81610d19565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715610f3c57610f3c610f05565b60405290565b8051610ee581610e35565b8051610ee581610d0b565b8051610ee581610bd1565b5f82601f830112610f72575f80fd5b815167ffffffffffffffff811115610f8c57610f8c610f05565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610fbb57610fbb610f05565b604052818152838201602001851015610fd2575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215610ffe575f80fd5b815167ffffffffffffffff811115611014575f80fd5b820160e08185031215611025575f80fd5b61102d610f19565b61103682610f42565b815261104460208301610f42565b602082015261105560408301610f4d565b604082015261106660608301610eda565b606082015261107760808301610f58565b608082015261108860a08301610f58565b60a082015260c082015167ffffffffffffffff8111156110a6575f80fd5b6110b286828501610f63565b60c083015250949350505050565b5f602082840312156110d0575f80fd5b81516106af81610e35565b5f602082840312156110eb575f80fd5b81516106af81610bd156fea2646970667358221220ed749e11944e4fdc572b6896cb185c28acf692e398a29e38c2958e11a5af347964736f6c634300081a0033",
         | 
| 520 | 
            -
              "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100b1575f3560e01c80637d482da1116100795780637d482da114610148578063aa13a9881461015b578063b6bbad121461016e578063c52721a314610181578063ce64d28114610194578063d9057007146101bf575f80fd5b80630c21dea2146100b557806316279055146100de5780632330f247146101015780633334d16b146101145780635c990ed314610127575b5f80fd5b6100c86100c3366004610be8565b6101d2565b6040516100d59190610cde565b60405180910390f35b6100f16100ec366004610cf0565b610246565b60405190151581526020016100d5565b6100f161010f366004610cf0565b610263565b6100f1610122366004610cf0565b610289565b61013a610135366004610d26565b6102af565b6040516100d5929190610d7f565b6100f1610156366004610da8565b61033e565b61013a610169366004610ded565b6103c2565b6100f161017c366004610cf0565b61048f565b61013a61018f366004610e49565b6104a0565b6101a76101a2366004610e76565b61053c565b6040516001600160a01b0390911681526020016100d5565b6100f16101cd366004610ea2565b6106a4565b6101da610b94565b6101e483836106b6565b905061020281604001516101f6600390565b60ff9081169116141590565b15610240578051604080830151905163067e446760e31b81526001600160601b03909216600483015260ff1660248201526044015b60405180910390fd5b92915050565b5f6001600160a01b03821661025c57505f919050565b503b151590565b5f61026d82610246565b61027857505f919050565b610240826309990e3960e41b6106a4565b5f61029382610246565b61029e57505f919050565b61024082630398724f60e11b6106a4565b6102b7610b94565b5f6102c286866106b6565b91506102d982604001518560ff9081169116141590565b1561031a578151604080840151905163176bb19d60e21b81526001600160601b03909216600483015260ff8087166024840152166044820152606401610237565b6103248683610848565b90506103358186845f0151866109c3565b94509492505050565b604051634806e33f60e11b8152600481018390526001600160a01b03848116602483015260ff831660448301525f919086169063900dc67e90606401602060405180830381865afa158015610395573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b99190610eea565b95945050505050565b6103ca610b94565b5f6103d585856106b6565b91506103f282604001516103e7600c90565b60ff90811691161490565b80610408575061040882604001516103e7600f90565b8061041e575061041e82604001516103e7600e90565b80610434575061043482604001516103e7600d90565b61046c5781516040808401519051631df6ffe760e01b81526001600160601b03909216600483015260ff166024820152604401610237565b6104768583610848565b90506104878185845f0151866109c3565b935093915050565b5f61024082620b5ccf60e31b610ac1565b6104a8610b94565b6040516305247a1760e51b81526001600160601b03841660048201525f906001600160a01b0386169063a48f42e0906024015f60405180830381865afa1580156104f4573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261051b9190810190610fee565b91506105278583610848565b9050610487818360800151845f0151866109c3565b60405163677d3feb60e11b81526001600160601b03821660048201525f9081906001600160a01b0385169063cefa7fd690602401602060405180830381865afa15801561058b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105af91906110c0565b60405163677d3feb60e11b81526001600160601b03821660048201529091505f906001600160a01b0386169063cefa7fd690602401602060405180830381865afa1580156105ff573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062391906110c0565b6040516305247a1760e51b81526001600160601b03821660048201529091506001600160a01b0386169063a48f42e0906024015f60405180830381865afa158015610670573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526106979190810190610fee565b6080015195945050505050565b5f6106af8383610ac1565b9392505050565b6106be610b94565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f9190851690635e546bee90602401602060405180830381865afa158015610705573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061072991906110c0565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610782573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107a69190610eea565b156107cf57604051630e8088a760e01b81526001600160a01b0384166004820152602401610237565b6040516305247a1760e51b81526001600160601b03821660048201526001600160a01b0385169063a48f42e0906024015f60405180830381865afa158015610819573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526108409190810190610fee565b949350505050565b5f61085982604001516103e7600c90565b156108da57602082015160405163bf8e179760e01b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790602401602060405180830381865afa1580156108af573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108d391906110db565b9050610240565b60208201516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790829063a48f42e0906024015f60405180830381865afa158015610932573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526109599190810190610fee565b602001516040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa15801561099f573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906106af91906110db565b8015610abb57836001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610a05573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a2991906110db565b604051629b7b3560e61b81526001600160a01b03858116600483015291909116906326decd4090602401602060405180830381865afa158015610a6e573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a929190610eea565b15610abb57604051633a31890160e11b81526001600160601b0383166004820152602401610237565b50505050565b5f610acb83610adc565b80156106af57506106af8383610b0e565b5f610aee826301ffc9a760e01b610b0e565b80156102405750610b07826001600160e01b0319610b0e565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015610b7e575060208210155b8015610b8957505f81115b979650505050505050565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6001600160a01b0381168114610be5575f80fd5b50565b5f8060408385031215610bf9575f80fd5b8235610c0481610bd1565b91506020830135610c1481610bd1565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160601b0381511682526001600160601b03602082015116602083015260ff60408201511660408301525f6060820151610c8e606085018215159052565b506080820151610ca960808501826001600160a01b03169052565b5060a0820151610cc460a08501826001600160a01b03169052565b5060c082015160e060c085015261084060e0850182610c1f565b602081525f6106af6020830184610c4d565b5f60208284031215610d00575f80fd5b81356106af81610bd1565b60ff81168114610be5575f80fd5b8015158114610be5575f80fd5b5f805f8060808587031215610d39575f80fd5b8435610d4481610bd1565b93506020850135610d5481610bd1565b92506040850135610d6481610d0b565b91506060850135610d7481610d19565b939692955090935050565b604081525f610d916040830185610c4d565b905060018060a01b03831660208301529392505050565b5f805f8060808587031215610dbb575f80fd5b8435610dc681610bd1565b93506020850135610dd681610bd1565b9250604085013591506060850135610d7481610d0b565b5f805f60608486031215610dff575f80fd5b8335610e0a81610bd1565b92506020840135610e1a81610bd1565b91506040840135610e2a81610d19565b809150509250925092565b6001600160601b0381168114610be5575f80fd5b5f805f60608486031215610e5b575f80fd5b8335610e6681610bd1565b92506020840135610e1a81610e35565b5f8060408385031215610e87575f80fd5b8235610e9281610bd1565b91506020830135610c1481610e35565b5f8060408385031215610eb3575f80fd5b8235610ebe81610bd1565b915060208301356001600160e01b031981168114610c14575f80fd5b8051610ee581610d19565b919050565b5f60208284031215610efa575f80fd5b81516106af81610d19565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff81118282101715610f3c57610f3c610f05565b60405290565b8051610ee581610e35565b8051610ee581610d0b565b8051610ee581610bd1565b5f82601f830112610f72575f80fd5b815167ffffffffffffffff811115610f8c57610f8c610f05565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715610fbb57610fbb610f05565b604052818152838201602001851015610fd2575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f60208284031215610ffe575f80fd5b815167ffffffffffffffff811115611014575f80fd5b820160e08185031215611025575f80fd5b61102d610f19565b61103682610f42565b815261104460208301610f42565b602082015261105560408301610f4d565b604082015261106660608301610eda565b606082015261107760808301610f58565b608082015261108860a08301610f58565b60a082015260c082015167ffffffffffffffff8111156110a6575f80fd5b6110b286828501610f63565b60c083015250949350505050565b5f602082840312156110d0575f80fd5b81516106af81610e35565b5f602082840312156110eb575f80fd5b81516106af81610bd156fea2646970667358221220ed749e11944e4fdc572b6896cb185c28acf692e398a29e38c2958e11a5af347964736f6c634300081a0033",
         | 
| 567 | 
            +
              "bytecode": "0x6113e7610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c80635c990ed311610093578063b6bbad121161006e578063b6bbad12146101b9578063c52721a3146101cc578063ce64d281146101df578063d90570071461020a575f80fd5b80635c990ed3146101725780637d482da114610193578063aa13a988146101a6575f80fd5b80630c21dea2146100da5780630f4809ac1461010357806316279055146101265780632227ca6d146101395780632330f2471461014c5780633334d16b1461015f575b5f80fd5b6100ed6100e8366004610e50565b61021d565b6040516100fa9190610f46565b60405180910390f35b610116610111366004610f58565b610291565b60405190151581526020016100fa565b610116610134366004610f58565b61032e565b610116610147366004610f81565b61034b565b61011661015a366004610f58565b6104d2565b61011661016d366004610f58565b6104f8565b610185610180366004610fd6565b61051e565b6040516100fa92919061102f565b6101166101a1366004611058565b6105ad565b6101856101b436600461109d565b610631565b6101166101c7366004610f58565b6106fe565b6101856101da3660046110ee565b61070f565b6101f26101ed36600461111b565b6107ab565b6040516001600160a01b0390911681526020016100fa565b610116610218366004611147565b610913565b610225610dfc565b61022f838361091e565b905061024d8160400151610241600390565b60ff9081169116141590565b1561028b578051604080830151905163067e446760e31b81526001600160601b03909216600483015260ff1660248201526044015b60405180910390fd5b92915050565b5f61029b8261032e565b6102a657505f919050565b60408051600481526024810182526020810180516001600160e01b031663bf7e214f60e01b17905290515f916001600160a01b038516916102e7919061117f565b5f60405180830381855afa9150503d805f811461031f576040519150601f19603f3d011682016040523d82523d5f602084013e610324565b606091505b5090949350505050565b5f6001600160a01b03821661034457505f919050565b503b151590565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f918291861690635e546bee90602401602060405180830381865afa158015610393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b791906111a5565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610410573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043491906111cb565b15610442575f9150506104cb565b6040516305247a1760e51b81526001600160601b03821660048201526104c7906001600160a01b0387169063a48f42e0906024015f60405180830381865afa158015610490573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104b791908101906112c4565b604001518460ff90811691161490565b9150505b9392505050565b5f6104dc8261032e565b6104e757505f919050565b61028b826309990e3960e41b610913565b5f6105028261032e565b61050d57505f919050565b61028b82630398724f60e11b610913565b610526610dfc565b5f610531868661091e565b915061054882604001518560ff9081169116141590565b15610589578151604080840151905163176bb19d60e21b81526001600160601b03909216600483015260ff8087166024840152166044820152606401610282565b6105938683610ab0565b90506105a48186845f015186610c2b565b94509492505050565b604051634806e33f60e11b8152600481018390526001600160a01b03848116602483015260ff831660448301525f919086169063900dc67e90606401602060405180830381865afa158015610604573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062891906111cb565b95945050505050565b610639610dfc565b5f610644858561091e565b91506106618260400151610656600c90565b60ff90811691161490565b8061067757506106778260400151610656600f90565b8061068d575061068d8260400151610656600e90565b806106a357506106a38260400151610656600d90565b6106db5781516040808401519051631df6ffe760e01b81526001600160601b03909216600483015260ff166024820152604401610282565b6106e58583610ab0565b90506106f68185845f015186610c2b565b935093915050565b5f61028b82620b5ccf60e31b610d29565b610717610dfc565b6040516305247a1760e51b81526001600160601b03841660048201525f906001600160a01b0386169063a48f42e0906024015f60405180830381865afa158015610763573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261078a91908101906112c4565b91506107968583610ab0565b90506106f6818360800151845f015186610c2b565b60405163677d3feb60e11b81526001600160601b03821660048201525f9081906001600160a01b0385169063cefa7fd690602401602060405180830381865afa1580156107fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081e91906111a5565b60405163677d3feb60e11b81526001600160601b03821660048201529091505f906001600160a01b0386169063cefa7fd690602401602060405180830381865afa15801561086e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089291906111a5565b6040516305247a1760e51b81526001600160601b03821660048201529091506001600160a01b0386169063a48f42e0906024015f60405180830381865afa1580156108df573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261090691908101906112c4565b6080015195945050505050565b5f6104cb8383610d29565b610926610dfc565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f9190851690635e546bee90602401602060405180830381865afa15801561096d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099191906111a5565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af41580156109ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0e91906111cb565b15610a3757604051630e8088a760e01b81526001600160a01b0384166004820152602401610282565b6040516305247a1760e51b81526001600160601b03821660048201526001600160a01b0385169063a48f42e0906024015f60405180830381865afa158015610a81573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aa891908101906112c4565b949350505050565b5f610ac18260400151610656600c90565b15610b4257602082015160405163bf8e179760e01b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790602401602060405180830381865afa158015610b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611396565b905061028b565b60208201516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790829063a48f42e0906024015f60405180830381865afa158015610b9a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bc191908101906112c4565b602001516040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa158015610c07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104cb9190611396565b8015610d2357836001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c919190611396565b604051629b7b3560e61b81526001600160a01b03858116600483015291909116906326decd4090602401602060405180830381865afa158015610cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa91906111cb565b15610d2357604051633a31890160e11b81526001600160601b0383166004820152602401610282565b50505050565b5f610d3383610d44565b80156104cb57506104cb8383610d76565b5f610d56826301ffc9a760e01b610d76565b801561028b5750610d6f826001600160e01b0319610d76565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015610de6575060208210155b8015610df157505f81115b979650505050505050565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6001600160a01b0381168114610e4d575f80fd5b50565b5f8060408385031215610e61575f80fd5b8235610e6c81610e39565b91506020830135610e7c81610e39565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160601b0381511682526001600160601b03602082015116602083015260ff60408201511660408301525f6060820151610ef6606085018215159052565b506080820151610f1160808501826001600160a01b03169052565b5060a0820151610f2c60a08501826001600160a01b03169052565b5060c082015160e060c0850152610aa860e0850182610e87565b602081525f6104cb6020830184610eb5565b5f60208284031215610f68575f80fd5b81356104cb81610e39565b60ff81168114610e4d575f80fd5b5f805f60608486031215610f93575f80fd5b8335610f9e81610e39565b92506020840135610fae81610e39565b91506040840135610fbe81610f73565b809150509250925092565b8015158114610e4d575f80fd5b5f805f8060808587031215610fe9575f80fd5b8435610ff481610e39565b9350602085013561100481610e39565b9250604085013561101481610f73565b9150606085013561102481610fc9565b939692955090935050565b604081525f6110416040830185610eb5565b905060018060a01b03831660208301529392505050565b5f805f806080858703121561106b575f80fd5b843561107681610e39565b9350602085013561108681610e39565b925060408501359150606085013561102481610f73565b5f805f606084860312156110af575f80fd5b83356110ba81610e39565b925060208401356110ca81610e39565b91506040840135610fbe81610fc9565b6001600160601b0381168114610e4d575f80fd5b5f805f60608486031215611100575f80fd5b833561110b81610e39565b925060208401356110ca816110da565b5f806040838503121561112c575f80fd5b823561113781610e39565b91506020830135610e7c816110da565b5f8060408385031215611158575f80fd5b823561116381610e39565b915060208301356001600160e01b031981168114610e7c575f80fd5b5f82518060208501845e5f920191825250919050565b80516111a0816110da565b919050565b5f602082840312156111b5575f80fd5b81516104cb816110da565b80516111a081610fc9565b5f602082840312156111db575f80fd5b81516104cb81610fc9565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff8111828210171561121d5761121d6111e6565b60405290565b80516111a081610f73565b80516111a081610e39565b5f82601f830112611248575f80fd5b815167ffffffffffffffff811115611262576112626111e6565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611291576112916111e6565b6040528181528382016020018510156112a8575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156112d4575f80fd5b815167ffffffffffffffff8111156112ea575f80fd5b820160e081850312156112fb575f80fd5b6113036111fa565b61130c82611195565b815261131a60208301611195565b602082015261132b60408301611223565b604082015261133c606083016111c0565b606082015261134d6080830161122e565b608082015261135e60a0830161122e565b60a082015260c082015167ffffffffffffffff81111561137c575f80fd5b61138886828501611239565b60c083015250949350505050565b5f602082840312156113a6575f80fd5b81516104cb81610e3956fea264697066735822122059bfd04173a100ec4c8ec93131dcc63e397ca98f15fbf5b1d1a400bd8c487e5e64736f6c634300081a0033",
         | 
| 568 | 
            +
              "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d6575f3560e01c80635c990ed311610093578063b6bbad121161006e578063b6bbad12146101b9578063c52721a3146101cc578063ce64d281146101df578063d90570071461020a575f80fd5b80635c990ed3146101725780637d482da114610193578063aa13a988146101a6575f80fd5b80630c21dea2146100da5780630f4809ac1461010357806316279055146101265780632227ca6d146101395780632330f2471461014c5780633334d16b1461015f575b5f80fd5b6100ed6100e8366004610e50565b61021d565b6040516100fa9190610f46565b60405180910390f35b610116610111366004610f58565b610291565b60405190151581526020016100fa565b610116610134366004610f58565b61032e565b610116610147366004610f81565b61034b565b61011661015a366004610f58565b6104d2565b61011661016d366004610f58565b6104f8565b610185610180366004610fd6565b61051e565b6040516100fa92919061102f565b6101166101a1366004611058565b6105ad565b6101856101b436600461109d565b610631565b6101166101c7366004610f58565b6106fe565b6101856101da3660046110ee565b61070f565b6101f26101ed36600461111b565b6107ab565b6040516001600160a01b0390911681526020016100fa565b610116610218366004611147565b610913565b610225610dfc565b61022f838361091e565b905061024d8160400151610241600390565b60ff9081169116141590565b1561028b578051604080830151905163067e446760e31b81526001600160601b03909216600483015260ff1660248201526044015b60405180910390fd5b92915050565b5f61029b8261032e565b6102a657505f919050565b60408051600481526024810182526020810180516001600160e01b031663bf7e214f60e01b17905290515f916001600160a01b038516916102e7919061117f565b5f60405180830381855afa9150503d805f811461031f576040519150601f19603f3d011682016040523d82523d5f602084013e610324565b606091505b5090949350505050565b5f6001600160a01b03821661034457505f919050565b503b151590565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f918291861690635e546bee90602401602060405180830381865afa158015610393573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103b791906111a5565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015610410573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061043491906111cb565b15610442575f9150506104cb565b6040516305247a1760e51b81526001600160601b03821660048201526104c7906001600160a01b0387169063a48f42e0906024015f60405180830381865afa158015610490573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f191682016040526104b791908101906112c4565b604001518460ff90811691161490565b9150505b9392505050565b5f6104dc8261032e565b6104e757505f919050565b61028b826309990e3960e41b610913565b5f6105028261032e565b61050d57505f919050565b61028b82630398724f60e11b610913565b610526610dfc565b5f610531868661091e565b915061054882604001518560ff9081169116141590565b15610589578151604080840151905163176bb19d60e21b81526001600160601b03909216600483015260ff8087166024840152166044820152606401610282565b6105938683610ab0565b90506105a48186845f015186610c2b565b94509492505050565b604051634806e33f60e11b8152600481018390526001600160a01b03848116602483015260ff831660448301525f919086169063900dc67e90606401602060405180830381865afa158015610604573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061062891906111cb565b95945050505050565b610639610dfc565b5f610644858561091e565b91506106618260400151610656600c90565b60ff90811691161490565b8061067757506106778260400151610656600f90565b8061068d575061068d8260400151610656600e90565b806106a357506106a38260400151610656600d90565b6106db5781516040808401519051631df6ffe760e01b81526001600160601b03909216600483015260ff166024820152604401610282565b6106e58583610ab0565b90506106f68185845f015186610c2b565b935093915050565b5f61028b82620b5ccf60e31b610d29565b610717610dfc565b6040516305247a1760e51b81526001600160601b03841660048201525f906001600160a01b0386169063a48f42e0906024015f60405180830381865afa158015610763573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261078a91908101906112c4565b91506107968583610ab0565b90506106f6818360800151845f015186610c2b565b60405163677d3feb60e11b81526001600160601b03821660048201525f9081906001600160a01b0385169063cefa7fd690602401602060405180830381865afa1580156107fa573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061081e91906111a5565b60405163677d3feb60e11b81526001600160601b03821660048201529091505f906001600160a01b0386169063cefa7fd690602401602060405180830381865afa15801561086e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061089291906111a5565b6040516305247a1760e51b81526001600160601b03821660048201529091506001600160a01b0386169063a48f42e0906024015f60405180830381865afa1580156108df573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f1916820160405261090691908101906112c4565b6080015195945050505050565b5f6104cb8383610d29565b610926610dfc565b604051632f2a35f760e11b81526001600160a01b0383811660048301525f9190851690635e546bee90602401602060405180830381865afa15801561096d573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061099191906111a5565b604051630a4d29dd60e31b81526001600160601b038216600482015290915073__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af41580156109ea573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a0e91906111cb565b15610a3757604051630e8088a760e01b81526001600160a01b0384166004820152602401610282565b6040516305247a1760e51b81526001600160601b03821660048201526001600160a01b0385169063a48f42e0906024015f60405180830381865afa158015610a81573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610aa891908101906112c4565b949350505050565b5f610ac18260400151610656600c90565b15610b4257602082015160405163bf8e179760e01b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790602401602060405180830381865afa158015610b17573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b3b9190611396565b905061028b565b60208201516040516305247a1760e51b81526001600160601b0390911660048201526001600160a01b0384169063bf8e179790829063a48f42e0906024015f60405180830381865afa158015610b9a573d5f803e3d5ffd5b505050506040513d5f823e601f3d908101601f19168201604052610bc191908101906112c4565b602001516040516001600160e01b031960e084901b1681526001600160601b039091166004820152602401602060405180830381865afa158015610c07573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104cb9190611396565b8015610d2357836001600160a01b031663311adb686040518163ffffffff1660e01b8152600401602060405180830381865afa158015610c6d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610c919190611396565b604051629b7b3560e61b81526001600160a01b03858116600483015291909116906326decd4090602401602060405180830381865afa158015610cd6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cfa91906111cb565b15610d2357604051633a31890160e11b81526001600160601b0383166004820152602401610282565b50505050565b5f610d3383610d44565b80156104cb57506104cb8383610d76565b5f610d56826301ffc9a760e01b610d76565b801561028b5750610d6f826001600160e01b0319610d76565b1592915050565b6040516001600160e01b0319821660248201525f90819060440160408051601f19818403018152919052602080820180516001600160e01b03166301ffc9a760e01b17815282519293505f9283928392909183918a617530fa92503d91505f519050828015610de6575060208210155b8015610df157505f81115b979650505050505050565b6040805160e0810182525f8082526020820181905291810182905260608082018390526080820183905260a082019290925260c081019190915290565b6001600160a01b0381168114610e4d575f80fd5b50565b5f8060408385031215610e61575f80fd5b8235610e6c81610e39565b91506020830135610e7c81610e39565b809150509250929050565b5f81518084528060208401602086015e5f602082860101526020601f19601f83011685010191505092915050565b6001600160601b0381511682526001600160601b03602082015116602083015260ff60408201511660408301525f6060820151610ef6606085018215159052565b506080820151610f1160808501826001600160a01b03169052565b5060a0820151610f2c60a08501826001600160a01b03169052565b5060c082015160e060c0850152610aa860e0850182610e87565b602081525f6104cb6020830184610eb5565b5f60208284031215610f68575f80fd5b81356104cb81610e39565b60ff81168114610e4d575f80fd5b5f805f60608486031215610f93575f80fd5b8335610f9e81610e39565b92506020840135610fae81610e39565b91506040840135610fbe81610f73565b809150509250925092565b8015158114610e4d575f80fd5b5f805f8060808587031215610fe9575f80fd5b8435610ff481610e39565b9350602085013561100481610e39565b9250604085013561101481610f73565b9150606085013561102481610fc9565b939692955090935050565b604081525f6110416040830185610eb5565b905060018060a01b03831660208301529392505050565b5f805f806080858703121561106b575f80fd5b843561107681610e39565b9350602085013561108681610e39565b925060408501359150606085013561102481610f73565b5f805f606084860312156110af575f80fd5b83356110ba81610e39565b925060208401356110ca81610e39565b91506040840135610fbe81610fc9565b6001600160601b0381168114610e4d575f80fd5b5f805f60608486031215611100575f80fd5b833561110b81610e39565b925060208401356110ca816110da565b5f806040838503121561112c575f80fd5b823561113781610e39565b91506020830135610e7c816110da565b5f8060408385031215611158575f80fd5b823561116381610e39565b915060208301356001600160e01b031981168114610e7c575f80fd5b5f82518060208501845e5f920191825250919050565b80516111a0816110da565b919050565b5f602082840312156111b5575f80fd5b81516104cb816110da565b80516111a081610fc9565b5f602082840312156111db575f80fd5b81516104cb81610fc9565b634e487b7160e01b5f52604160045260245ffd5b60405160e0810167ffffffffffffffff8111828210171561121d5761121d6111e6565b60405290565b80516111a081610f73565b80516111a081610e39565b5f82601f830112611248575f80fd5b815167ffffffffffffffff811115611262576112626111e6565b604051601f8201601f19908116603f0116810167ffffffffffffffff81118282101715611291576112916111e6565b6040528181528382016020018510156112a8575f80fd5b8160208501602083015e5f918101602001919091529392505050565b5f602082840312156112d4575f80fd5b815167ffffffffffffffff8111156112ea575f80fd5b820160e081850312156112fb575f80fd5b6113036111fa565b61130c82611195565b815261131a60208301611195565b602082015261132b60408301611223565b604082015261133c606083016111c0565b606082015261134d6080830161122e565b608082015261135e60a0830161122e565b60a082015260c082015167ffffffffffffffff81111561137c575f80fd5b61138886828501611239565b60c083015250949350505050565b5f602082840312156113a6575f80fd5b81516104cb81610e3956fea264697066735822122059bfd04173a100ec4c8ec93131dcc63e397ca98f15fbf5b1d1a400bd8c487e5e64736f6c634300081a0033",
         | 
| 521 569 | 
             
              "linkReferences": {
         | 
| 522 570 | 
             
                "contracts/type/NftId.sol": {
         | 
| 523 571 | 
             
                  "NftIdLib": [
         | 
| 524 572 | 
             
                    {
         | 
| 525 573 | 
             
                      "length": 20,
         | 
| 526 | 
            -
                      "start":  | 
| 574 | 
            +
                      "start": 1036
         | 
| 575 | 
            +
                    },
         | 
| 576 | 
            +
                    {
         | 
| 577 | 
            +
                      "length": 20,
         | 
| 578 | 
            +
                      "start": 2534
         | 
| 527 579 | 
             
                    }
         | 
| 528 580 | 
             
                  ]
         | 
| 529 581 | 
             
                }
         | 
| @@ -533,7 +585,11 @@ | |
| 533 585 | 
             
                  "NftIdLib": [
         | 
| 534 586 | 
             
                    {
         | 
| 535 587 | 
             
                      "length": 20,
         | 
| 536 | 
            -
                      "start":  | 
| 588 | 
            +
                      "start": 984
         | 
| 589 | 
            +
                    },
         | 
| 590 | 
            +
                    {
         | 
| 591 | 
            +
                      "length": 20,
         | 
| 592 | 
            +
                      "start": 2482
         | 
| 537 593 | 
             
                    }
         | 
| 538 594 | 
             
                  ]
         | 
| 539 595 | 
             
                }
         | 
| @@ -78,17 +78,6 @@ | |
| 78 78 | 
             
                  "name": "ErrorComponentProductNftIdZero",
         | 
| 79 79 | 
             
                  "type": "error"
         | 
| 80 80 | 
             
                },
         | 
| 81 | 
            -
                {
         | 
| 82 | 
            -
                  "inputs": [
         | 
| 83 | 
            -
                    {
         | 
| 84 | 
            -
                      "internalType": "address",
         | 
| 85 | 
            -
                      "name": "token",
         | 
| 86 | 
            -
                      "type": "address"
         | 
| 87 | 
            -
                    }
         | 
| 88 | 
            -
                  ],
         | 
| 89 | 
            -
                  "name": "ErrorComponentTokenInvalid",
         | 
| 90 | 
            -
                  "type": "error"
         | 
| 91 | 
            -
                },
         | 
| 92 81 | 
             
                {
         | 
| 93 82 | 
             
                  "inputs": [],
         | 
| 94 83 | 
             
                  "name": "ErrorComponentWalletAddressIsSameAsCurrent",
         | 
| @@ -286,11 +275,6 @@ | |
| 286 275 | 
             
                          "name": "name",
         | 
| 287 276 | 
             
                          "type": "string"
         | 
| 288 277 | 
             
                        },
         | 
| 289 | 
            -
                        {
         | 
| 290 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 291 | 
            -
                          "name": "token",
         | 
| 292 | 
            -
                          "type": "address"
         | 
| 293 | 
            -
                        },
         | 
| 294 278 | 
             
                        {
         | 
| 295 279 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 296 280 | 
             
                          "name": "tokenHandler",
         | 
| @@ -321,11 +305,6 @@ | |
| 321 305 | 
             
                          "name": "name",
         | 
| 322 306 | 
             
                          "type": "string"
         | 
| 323 307 | 
             
                        },
         | 
| 324 | 
            -
                        {
         | 
| 325 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 326 | 
            -
                          "name": "token",
         | 
| 327 | 
            -
                          "type": "address"
         | 
| 328 | 
            -
                        },
         | 
| 329 308 | 
             
                        {
         | 
| 330 309 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 331 310 | 
             
                          "name": "tokenHandler",
         | 
| @@ -234,6 +234,17 @@ | |
| 234 234 | 
             
                  "name": "ErrorComponentServiceSenderNotRegistered",
         | 
| 235 235 | 
             
                  "type": "error"
         | 
| 236 236 | 
             
                },
         | 
| 237 | 
            +
                {
         | 
| 238 | 
            +
                  "inputs": [
         | 
| 239 | 
            +
                    {
         | 
| 240 | 
            +
                      "internalType": "address",
         | 
| 241 | 
            +
                      "name": "token",
         | 
| 242 | 
            +
                      "type": "address"
         | 
| 243 | 
            +
                    }
         | 
| 244 | 
            +
                  ],
         | 
| 245 | 
            +
                  "name": "ErrorComponentServiceTokenInvalid",
         | 
| 246 | 
            +
                  "type": "error"
         | 
| 247 | 
            +
                },
         | 
| 237 248 | 
             
                {
         | 
| 238 249 | 
             
                  "inputs": [
         | 
| 239 250 | 
             
                    {
         | 
| @@ -592,25 +603,25 @@ | |
| 592 603 | 
             
                      "indexed": false,
         | 
| 593 604 | 
             
                      "internalType": "UFixed",
         | 
| 594 605 | 
             
                      "name": "previousFractionalFee",
         | 
| 595 | 
            -
                      "type": " | 
| 606 | 
            +
                      "type": "uint160"
         | 
| 596 607 | 
             
                    },
         | 
| 597 608 | 
             
                    {
         | 
| 598 609 | 
             
                      "indexed": false,
         | 
| 599 | 
            -
                      "internalType": " | 
| 610 | 
            +
                      "internalType": "Amount",
         | 
| 600 611 | 
             
                      "name": "previousFixedFee",
         | 
| 601 | 
            -
                      "type": " | 
| 612 | 
            +
                      "type": "uint96"
         | 
| 602 613 | 
             
                    },
         | 
| 603 614 | 
             
                    {
         | 
| 604 615 | 
             
                      "indexed": false,
         | 
| 605 616 | 
             
                      "internalType": "UFixed",
         | 
| 606 617 | 
             
                      "name": "newFractionalFee",
         | 
| 607 | 
            -
                      "type": " | 
| 618 | 
            +
                      "type": "uint160"
         | 
| 608 619 | 
             
                    },
         | 
| 609 620 | 
             
                    {
         | 
| 610 621 | 
             
                      "indexed": false,
         | 
| 611 | 
            -
                      "internalType": " | 
| 622 | 
            +
                      "internalType": "Amount",
         | 
| 612 623 | 
             
                      "name": "newFixedFee",
         | 
| 613 | 
            -
                      "type": " | 
| 624 | 
            +
                      "type": "uint96"
         | 
| 614 625 | 
             
                    }
         | 
| 615 626 | 
             
                  ],
         | 
| 616 627 | 
             
                  "name": "LogComponentServiceUpdateFee",
         | 
| @@ -926,6 +937,11 @@ | |
| 926 937 | 
             
                      "internalType": "address",
         | 
| 927 938 | 
             
                      "name": "product",
         | 
| 928 939 | 
             
                      "type": "address"
         | 
| 940 | 
            +
                    },
         | 
| 941 | 
            +
                    {
         | 
| 942 | 
            +
                      "internalType": "address",
         | 
| 943 | 
            +
                      "name": "token",
         | 
| 944 | 
            +
                      "type": "address"
         | 
| 929 945 | 
             
                    }
         | 
| 930 946 | 
             
                  ],
         | 
| 931 947 | 
             
                  "name": "registerProduct",
         | 
| @@ -959,12 +975,12 @@ | |
| 959 975 | 
             
                        {
         | 
| 960 976 | 
             
                          "internalType": "UFixed",
         | 
| 961 977 | 
             
                          "name": "fractionalFee",
         | 
| 962 | 
            -
                          "type": " | 
| 978 | 
            +
                          "type": "uint160"
         | 
| 963 979 | 
             
                        },
         | 
| 964 980 | 
             
                        {
         | 
| 965 | 
            -
                          "internalType": " | 
| 981 | 
            +
                          "internalType": "Amount",
         | 
| 966 982 | 
             
                          "name": "fixedFee",
         | 
| 967 | 
            -
                          "type": " | 
| 983 | 
            +
                          "type": "uint96"
         | 
| 968 984 | 
             
                        }
         | 
| 969 985 | 
             
                      ],
         | 
| 970 986 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -976,12 +992,12 @@ | |
| 976 992 | 
             
                        {
         | 
| 977 993 | 
             
                          "internalType": "UFixed",
         | 
| 978 994 | 
             
                          "name": "fractionalFee",
         | 
| 979 | 
            -
                          "type": " | 
| 995 | 
            +
                          "type": "uint160"
         | 
| 980 996 | 
             
                        },
         | 
| 981 997 | 
             
                        {
         | 
| 982 | 
            -
                          "internalType": " | 
| 998 | 
            +
                          "internalType": "Amount",
         | 
| 983 999 | 
             
                          "name": "fixedFee",
         | 
| 984 | 
            -
                          "type": " | 
| 1000 | 
            +
                          "type": "uint96"
         | 
| 985 1001 | 
             
                        }
         | 
| 986 1002 | 
             
                      ],
         | 
| 987 1003 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -996,36 +1012,13 @@ | |
| 996 1012 | 
             
                },
         | 
| 997 1013 | 
             
                {
         | 
| 998 1014 | 
             
                  "inputs": [
         | 
| 999 | 
            -
                    {
         | 
| 1000 | 
            -
                      "internalType": "address",
         | 
| 1001 | 
            -
                      "name": "componentAddress",
         | 
| 1002 | 
            -
                      "type": "address"
         | 
| 1003 | 
            -
                    },
         | 
| 1004 | 
            -
                    {
         | 
| 1005 | 
            -
                      "internalType": "bool",
         | 
| 1006 | 
            -
                      "name": "locked",
         | 
| 1007 | 
            -
                      "type": "bool"
         | 
| 1008 | 
            -
                    }
         | 
| 1009 | 
            -
                  ],
         | 
| 1010 | 
            -
                  "name": "setLockedFromComponent",
         | 
| 1011 | 
            -
                  "outputs": [],
         | 
| 1012 | 
            -
                  "stateMutability": "nonpayable",
         | 
| 1013 | 
            -
                  "type": "function"
         | 
| 1014 | 
            -
                },
         | 
| 1015 | 
            -
                {
         | 
| 1016 | 
            -
                  "inputs": [
         | 
| 1017 | 
            -
                    {
         | 
| 1018 | 
            -
                      "internalType": "address",
         | 
| 1019 | 
            -
                      "name": "componentAddress",
         | 
| 1020 | 
            -
                      "type": "address"
         | 
| 1021 | 
            -
                    },
         | 
| 1022 1015 | 
             
                    {
         | 
| 1023 1016 | 
             
                      "internalType": "bool",
         | 
| 1024 1017 | 
             
                      "name": "locked",
         | 
| 1025 1018 | 
             
                      "type": "bool"
         | 
| 1026 1019 | 
             
                    }
         | 
| 1027 1020 | 
             
                  ],
         | 
| 1028 | 
            -
                  "name": " | 
| 1021 | 
            +
                  "name": "setLocked",
         | 
| 1029 1022 | 
             
                  "outputs": [],
         | 
| 1030 1023 | 
             
                  "stateMutability": "nonpayable",
         | 
| 1031 1024 | 
             
                  "type": "function"
         | 
| @@ -1037,12 +1030,12 @@ | |
| 1037 1030 | 
             
                        {
         | 
| 1038 1031 | 
             
                          "internalType": "UFixed",
         | 
| 1039 1032 | 
             
                          "name": "fractionalFee",
         | 
| 1040 | 
            -
                          "type": " | 
| 1033 | 
            +
                          "type": "uint160"
         | 
| 1041 1034 | 
             
                        },
         | 
| 1042 1035 | 
             
                        {
         | 
| 1043 | 
            -
                          "internalType": " | 
| 1036 | 
            +
                          "internalType": "Amount",
         | 
| 1044 1037 | 
             
                          "name": "fixedFee",
         | 
| 1045 | 
            -
                          "type": " | 
| 1038 | 
            +
                          "type": "uint96"
         | 
| 1046 1039 | 
             
                        }
         | 
| 1047 1040 | 
             
                      ],
         | 
| 1048 1041 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -1054,12 +1047,12 @@ | |
| 1054 1047 | 
             
                        {
         | 
| 1055 1048 | 
             
                          "internalType": "UFixed",
         | 
| 1056 1049 | 
             
                          "name": "fractionalFee",
         | 
| 1057 | 
            -
                          "type": " | 
| 1050 | 
            +
                          "type": "uint160"
         | 
| 1058 1051 | 
             
                        },
         | 
| 1059 1052 | 
             
                        {
         | 
| 1060 | 
            -
                          "internalType": " | 
| 1053 | 
            +
                          "internalType": "Amount",
         | 
| 1061 1054 | 
             
                          "name": "fixedFee",
         | 
| 1062 | 
            -
                          "type": " | 
| 1055 | 
            +
                          "type": "uint96"
         | 
| 1063 1056 | 
             
                        }
         | 
| 1064 1057 | 
             
                      ],
         | 
| 1065 1058 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -1071,12 +1064,12 @@ | |
| 1071 1064 | 
             
                        {
         | 
| 1072 1065 | 
             
                          "internalType": "UFixed",
         | 
| 1073 1066 | 
             
                          "name": "fractionalFee",
         | 
| 1074 | 
            -
                          "type": " | 
| 1067 | 
            +
                          "type": "uint160"
         | 
| 1075 1068 | 
             
                        },
         | 
| 1076 1069 | 
             
                        {
         | 
| 1077 | 
            -
                          "internalType": " | 
| 1070 | 
            +
                          "internalType": "Amount",
         | 
| 1078 1071 | 
             
                          "name": "fixedFee",
         | 
| 1079 | 
            -
                          "type": " | 
| 1072 | 
            +
                          "type": "uint96"
         | 
| 1080 1073 | 
             
                        }
         | 
| 1081 1074 | 
             
                      ],
         | 
| 1082 1075 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -1096,12 +1089,12 @@ | |
| 1096 1089 | 
             
                        {
         | 
| 1097 1090 | 
             
                          "internalType": "UFixed",
         | 
| 1098 1091 | 
             
                          "name": "fractionalFee",
         | 
| 1099 | 
            -
                          "type": " | 
| 1092 | 
            +
                          "type": "uint160"
         | 
| 1100 1093 | 
             
                        },
         | 
| 1101 1094 | 
             
                        {
         | 
| 1102 | 
            -
                          "internalType": " | 
| 1095 | 
            +
                          "internalType": "Amount",
         | 
| 1103 1096 | 
             
                          "name": "fixedFee",
         | 
| 1104 | 
            -
                          "type": " | 
| 1097 | 
            +
                          "type": "uint96"
         | 
| 1105 1098 | 
             
                        }
         | 
| 1106 1099 | 
             
                      ],
         | 
| 1107 1100 | 
             
                      "internalType": "struct Fee",
         | 
| @@ -1113,12 +1106,12 @@ | |
| 1113 1106 | 
             
                        {
         | 
| 1114 1107 | 
             
                          "internalType": "UFixed",
         | 
| 1115 1108 | 
             
                          "name": "fractionalFee",
         | 
| 1116 | 
            -
                          "type": " | 
| 1109 | 
            +
                          "type": "uint160"
         | 
| 1117 1110 | 
             
                        },
         | 
| 1118 1111 | 
             
                        {
         | 
| 1119 | 
            -
                          "internalType": " | 
| 1112 | 
            +
                          "internalType": "Amount",
         | 
| 1120 1113 | 
             
                          "name": "fixedFee",
         | 
| 1121 | 
            -
                          "type": " | 
| 1114 | 
            +
                          "type": "uint96"
         | 
| 1122 1115 | 
             
                        }
         | 
| 1123 1116 | 
             
                      ],
         | 
| 1124 1117 | 
             
                      "internalType": "struct Fee",
         | 
    
        package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json
    CHANGED
    
    | @@ -78,17 +78,6 @@ | |
| 78 78 | 
             
                  "name": "ErrorComponentProductNftIdZero",
         | 
| 79 79 | 
             
                  "type": "error"
         | 
| 80 80 | 
             
                },
         | 
| 81 | 
            -
                {
         | 
| 82 | 
            -
                  "inputs": [
         | 
| 83 | 
            -
                    {
         | 
| 84 | 
            -
                      "internalType": "address",
         | 
| 85 | 
            -
                      "name": "token",
         | 
| 86 | 
            -
                      "type": "address"
         | 
| 87 | 
            -
                    }
         | 
| 88 | 
            -
                  ],
         | 
| 89 | 
            -
                  "name": "ErrorComponentTokenInvalid",
         | 
| 90 | 
            -
                  "type": "error"
         | 
| 91 | 
            -
                },
         | 
| 92 81 | 
             
                {
         | 
| 93 82 | 
             
                  "inputs": [],
         | 
| 94 83 | 
             
                  "name": "ErrorComponentWalletAddressIsSameAsCurrent",
         | 
| @@ -331,11 +320,6 @@ | |
| 331 320 | 
             
                          "name": "name",
         | 
| 332 321 | 
             
                          "type": "string"
         | 
| 333 322 | 
             
                        },
         | 
| 334 | 
            -
                        {
         | 
| 335 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 336 | 
            -
                          "name": "token",
         | 
| 337 | 
            -
                          "type": "address"
         | 
| 338 | 
            -
                        },
         | 
| 339 323 | 
             
                        {
         | 
| 340 324 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 341 325 | 
             
                          "name": "tokenHandler",
         | 
| @@ -366,11 +350,6 @@ | |
| 366 350 | 
             
                          "name": "name",
         | 
| 367 351 | 
             
                          "type": "string"
         | 
| 368 352 | 
             
                        },
         | 
| 369 | 
            -
                        {
         | 
| 370 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 371 | 
            -
                          "name": "token",
         | 
| 372 | 
            -
                          "type": "address"
         | 
| 373 | 
            -
                        },
         | 
| 374 353 | 
             
                        {
         | 
| 375 354 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 376 355 | 
             
                          "name": "tokenHandler",
         | 
| @@ -46,8 +46,8 @@ | |
| 46 46 | 
             
                  "type": "function"
         | 
| 47 47 | 
             
                }
         | 
| 48 48 | 
             
              ],
         | 
| 49 | 
            -
              "bytecode": " | 
| 50 | 
            -
              "deployedBytecode": " | 
| 49 | 
            +
              "bytecode": "0x6080604052348015600e575f80fd5b5060c980601a5f395ff3fe6080604052348015600e575f80fd5b50600436106026575f3560e01c806301ffc9a714602a575b5f80fd5b605360353660046067565b6001600160e01b0319165f9081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b5f602082840312156076575f80fd5b81356001600160e01b031981168114608c575f80fd5b939250505056fea2646970667358221220e17b1480c958561a8210e063e8bfb94a7d90b9bb257b4fc7c3ee4f4a0bc799c264736f6c634300081a0033",
         | 
| 50 | 
            +
              "deployedBytecode": "0x6080604052348015600e575f80fd5b50600436106026575f3560e01c806301ffc9a714602a575b5f80fd5b605360353660046067565b6001600160e01b0319165f9081526020819052604090205460ff1690565b604051901515815260200160405180910390f35b5f602082840312156076575f80fd5b81356001600160e01b031981168114608c575f80fd5b939250505056fea2646970667358221220e17b1480c958561a8210e063e8bfb94a7d90b9bb257b4fc7c3ee4f4a0bc799c264736f6c634300081a0033",
         | 
| 51 51 | 
             
              "linkReferences": {},
         | 
| 52 52 | 
             
              "deployedLinkReferences": {}
         | 
| 53 53 | 
             
            }
         | 
| @@ -78,17 +78,6 @@ | |
| 78 78 | 
             
                  "name": "ErrorComponentProductNftIdZero",
         | 
| 79 79 | 
             
                  "type": "error"
         | 
| 80 80 | 
             
                },
         | 
| 81 | 
            -
                {
         | 
| 82 | 
            -
                  "inputs": [
         | 
| 83 | 
            -
                    {
         | 
| 84 | 
            -
                      "internalType": "address",
         | 
| 85 | 
            -
                      "name": "token",
         | 
| 86 | 
            -
                      "type": "address"
         | 
| 87 | 
            -
                    }
         | 
| 88 | 
            -
                  ],
         | 
| 89 | 
            -
                  "name": "ErrorComponentTokenInvalid",
         | 
| 90 | 
            -
                  "type": "error"
         | 
| 91 | 
            -
                },
         | 
| 92 81 | 
             
                {
         | 
| 93 82 | 
             
                  "inputs": [],
         | 
| 94 83 | 
             
                  "name": "ErrorComponentWalletAddressIsSameAsCurrent",
         | 
| @@ -406,11 +395,6 @@ | |
| 406 395 | 
             
                          "name": "name",
         | 
| 407 396 | 
             
                          "type": "string"
         | 
| 408 397 | 
             
                        },
         | 
| 409 | 
            -
                        {
         | 
| 410 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 411 | 
            -
                          "name": "token",
         | 
| 412 | 
            -
                          "type": "address"
         | 
| 413 | 
            -
                        },
         | 
| 414 398 | 
             
                        {
         | 
| 415 399 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 416 400 | 
             
                          "name": "tokenHandler",
         | 
| @@ -441,11 +425,6 @@ | |
| 441 425 | 
             
                          "name": "name",
         | 
| 442 426 | 
             
                          "type": "string"
         | 
| 443 427 | 
             
                        },
         | 
| 444 | 
            -
                        {
         | 
| 445 | 
            -
                          "internalType": "contract IERC20Metadata",
         | 
| 446 | 
            -
                          "name": "token",
         | 
| 447 | 
            -
                          "type": "address"
         | 
| 448 | 
            -
                        },
         | 
| 449 428 | 
             
                        {
         | 
| 450 429 | 
             
                          "internalType": "contract TokenHandler",
         | 
| 451 430 | 
             
                          "name": "tokenHandler",
         |