@etherisc/gif-next 0.0.2-d551b5e-892 → 0.0.2-d59d51e-694
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +8 -13
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1410 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +1343 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +4 -0
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +799 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +969 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +808 -0
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +73 -83
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +291 -1349
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +356 -181
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +366 -2977
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +602 -194
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.json +132 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +485 -337
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +509 -445
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +328 -145
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +3468 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +4 -0
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +318 -0
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +4 -0
- package/artifacts/contracts/instance/{Cloneable.sol → base/Cloneable.sol}/Cloneable.json +6 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +4 -0
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +256 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +71 -45
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{ISetup.sol/ISetup.json → IComponents.sol/IComponents.json} +2 -2
- 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 +4 -0
- package/artifacts/contracts/mock/Dip.sol/Dip.json +376 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +1091 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +723 -0
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IPoolService.sol/IPoolService.json → pool/IBundleService.sol/IBundleService.json} +297 -341
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +1148 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +1044 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +4 -0
- package/artifacts/contracts/pool/Pool.sol/Pool.json +1559 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +1411 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +4 -0
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +719 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +820 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +699 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +1264 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +787 -0
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IComponentOwnerService.sol/IComponentOwnerService.json → product/IApplicationService.sol/IApplicationService.json} +231 -204
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +4 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.json +753 -0
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service → product}/IPolicyService.sol/IPolicyService.json +333 -296
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/service/IProductService.sol/IProductService.json → product/IPricingService.sol/IPricingService.json} +253 -261
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +989 -0
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/{components/IBaseComponent.sol/IBaseComponent.json → product/IProductService.sol/IProductService.json} +132 -119
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +1132 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +731 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +4 -0
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +969 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +755 -0
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +4 -0
- package/artifacts/contracts/product/Product.sol/Product.json +1391 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +673 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +4 -0
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +675 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +15 -2
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +370 -117
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +368 -222
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +18 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +463 -184
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +322 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +438 -333
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +324 -136
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +4 -0
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +1151 -0
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.dbg.json +4 -0
- package/artifacts/contracts/registry/ServiceAuthorizationsLib.sol/ServiceAuthorizationsLib.json +137 -0
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +352 -109
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +4 -0
- package/artifacts/contracts/shared/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +1206 -0
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +4 -0
- package/artifacts/contracts/shared/Component.sol/Component.json +890 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +1461 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +765 -0
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/ComponentServiceBase.sol/ComponentServiceBase.json → shared/ComponentVerifyingService.sol/ComponentVerifyingService.json} +207 -208
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +41 -3
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/{components/BaseComponent.sol/BaseComponent.json → shared/IComponent.sol/IComponent.json} +275 -103
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +4 -0
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +854 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +699 -0
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/{instance/IInstanceBase.sol/IInstanceBase.json → shared/IKeyValueStore.sol/IKeyValueStore.json} +51 -21
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/ILifecycle.sol/ILifecycle.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +27 -29
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.json +207 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +8 -34
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.json +35 -0
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.json +84 -178
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +2 -152
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +4 -0
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +1030 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +4 -0
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +581 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +4 -0
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +194 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +4 -0
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.json +306 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +109 -29
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +4 -0
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +320 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +310 -61
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +126 -53
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +71 -0
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.json +185 -165
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +60 -6
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +2 -2
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +2 -152
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +4 -0
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +1435 -0
- package/artifacts/contracts/staking/IStakingManager.sol/IStakingManager.dbg.json +4 -0
- package/artifacts/contracts/{experiment/inheritance/IA.sol/ISharedA.json → staking/IStakingManager.sol/IStakingManager.json} +10 -10
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +884 -0
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/IStakingStore.sol/IStakingStore.json +357 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +402 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +4 -0
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2002 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +748 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +368 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +1207 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +698 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +1690 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +4 -0
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +494 -0
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/AddressSet.sol/LibAddressSet.json +3 -3
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +4 -0
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +281 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +4 -0
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.json +225 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +179 -0
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/DistributorType.sol/DistributorTypeLib.json +5 -5
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +4 -0
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +312 -0
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Key32.sol/Key32Lib.json +3 -3
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +185 -0
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/NftIdSet.sol/LibNftIdSet.json +3 -3
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/ObjectType.sol/ObjectTypeLib.json +3 -3
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +4 -0
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +209 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +142 -0
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RiskId.sol/RiskIdLib.json +5 -5
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/RoleId.sol/RoleIdLib.json +5 -5
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +4 -0
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.json +174 -0
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/StateId.sol/StateIdLib.json +3 -3
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Timestamp.sol/TimestampLib.json +39 -8
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/MathLib.json +3 -3
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/UFixed.sol/UFixedLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionLib.json +3 -3
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/{types → type}/Version.sol/VersionPartLib.json +3 -3
- package/contracts/distribution/Distribution.sol +263 -0
- package/contracts/distribution/DistributionService.sol +298 -0
- package/contracts/{instance/service → distribution}/DistributionServiceManager.sol +20 -20
- package/contracts/distribution/IDistributionComponent.sol +66 -0
- package/contracts/distribution/IDistributionService.sol +81 -0
- package/contracts/instance/BundleManager.sol +22 -25
- package/contracts/instance/IInstance.sol +57 -38
- package/contracts/instance/IInstanceService.sol +65 -14
- package/contracts/instance/Instance.sol +146 -378
- package/contracts/instance/InstanceAccessManager.sol +432 -177
- package/contracts/instance/InstanceAuthorizationsLib.sol +336 -0
- package/contracts/instance/InstanceReader.sol +136 -85
- package/contracts/instance/InstanceService.sol +305 -190
- package/contracts/instance/InstanceServiceManager.sol +12 -25
- package/contracts/instance/InstanceStore.sol +260 -0
- package/contracts/instance/base/BalanceStore.sol +118 -0
- package/contracts/instance/{Cloneable.sol → base/Cloneable.sol} +8 -3
- package/contracts/instance/{ObjectManager.sol → base/ObjectManager.sol} +16 -35
- package/contracts/instance/module/IAccess.sol +37 -21
- package/contracts/instance/module/IBundle.sol +8 -8
- package/contracts/instance/module/IComponents.sol +52 -0
- package/contracts/instance/module/IDistribution.sol +7 -4
- package/contracts/instance/module/IPolicy.sol +56 -17
- package/contracts/instance/module/IRisk.sol +1 -1
- package/contracts/{test/Usdc.sol → mock/Dip.sol} +5 -5
- package/contracts/pool/BundleService.sol +296 -0
- package/contracts/pool/BundleServiceManager.sol +42 -0
- package/contracts/pool/IBundleService.sol +106 -0
- package/contracts/pool/IPoolComponent.sol +112 -0
- package/contracts/pool/IPoolService.sol +147 -0
- package/contracts/pool/Pool.sol +299 -0
- package/contracts/pool/PoolService.sol +424 -0
- package/contracts/pool/PoolServiceManager.sol +42 -0
- package/contracts/product/ApplicationService.sol +254 -0
- package/contracts/product/ApplicationServiceManager.sol +38 -0
- package/contracts/product/ClaimService.sol +437 -0
- package/contracts/product/ClaimServiceManager.sol +38 -0
- package/contracts/product/IApplicationService.sol +62 -0
- package/contracts/product/IClaimService.sol +93 -0
- package/contracts/product/IPolicyService.sol +78 -0
- package/contracts/product/IPricingService.sol +39 -0
- package/contracts/product/IProductComponent.sol +42 -0
- package/contracts/product/IProductService.sol +33 -0
- package/contracts/product/PolicyService.sol +473 -0
- package/contracts/product/PolicyServiceManager.sol +42 -0
- package/contracts/product/PricingService.sol +301 -0
- package/contracts/product/PricingServiceManager.sol +42 -0
- package/contracts/product/Product.sol +377 -0
- package/contracts/product/ProductService.sol +124 -0
- package/contracts/product/ProductServiceManager.sol +42 -0
- package/contracts/registry/ChainNft.sol +14 -0
- package/contracts/registry/IRegistry.sol +74 -30
- package/contracts/registry/IRegistryService.sol +46 -28
- package/contracts/registry/ITransferInterceptor.sol +1 -0
- package/contracts/registry/Registry.sol +367 -237
- package/contracts/registry/RegistryAccessManager.sol +196 -0
- package/contracts/registry/RegistryService.sol +113 -205
- package/contracts/registry/RegistryServiceManager.sol +34 -42
- package/contracts/registry/ReleaseManager.sol +563 -0
- package/contracts/registry/ServiceAuthorizationsLib.sol +173 -0
- package/contracts/registry/TokenRegistry.sol +300 -57
- package/contracts/shared/AccessManagerUpgradeableInitializeable.sol +13 -0
- package/contracts/shared/Component.sol +286 -0
- package/contracts/shared/ComponentService.sol +595 -0
- package/contracts/shared/ComponentServiceManager.sol +35 -0
- package/contracts/shared/ComponentVerifyingService.sol +111 -0
- package/contracts/shared/ERC165.sol +14 -12
- package/contracts/shared/IComponent.sol +74 -0
- package/contracts/shared/IComponentService.sol +91 -0
- package/contracts/shared/IInstanceLinkedComponent.sol +46 -0
- package/contracts/{instance/base → shared}/IKeyValueStore.sol +14 -10
- package/contracts/{instance/base → shared}/ILifecycle.sol +3 -3
- package/contracts/shared/INftOwnable.sol +12 -11
- package/contracts/shared/IPolicyHolder.sol +45 -0
- package/contracts/shared/IRegisterable.sol +4 -6
- package/contracts/shared/IRegistryLinked.sol +11 -0
- package/contracts/shared/IService.sol +7 -4
- package/contracts/shared/IVersionable.sol +5 -48
- package/contracts/shared/InstanceLinkedComponent.sol +145 -0
- package/contracts/shared/KeyValueStore.sol +130 -0
- package/contracts/{instance/base → shared}/Lifecycle.sol +28 -7
- package/contracts/shared/NftIdSetManager.sol +65 -0
- package/contracts/shared/NftOwnable.sol +64 -80
- package/contracts/shared/PolicyHolder.sol +101 -0
- package/contracts/shared/ProxyManager.sol +126 -25
- package/contracts/shared/Registerable.sol +26 -41
- package/contracts/shared/RegistryLinked.sol +43 -0
- package/contracts/shared/Service.sol +45 -23
- package/contracts/shared/TokenHandler.sol +37 -6
- package/contracts/shared/Versionable.sol +4 -92
- package/contracts/staking/IStaking.sol +152 -0
- package/contracts/staking/IStakingManager.sol +15 -0
- package/contracts/staking/IStakingService.sol +162 -0
- package/contracts/staking/IStakingStore.sol +130 -0
- package/contracts/staking/StakeManagerLib.sol +156 -0
- package/contracts/staking/Staking.sol +502 -0
- package/contracts/staking/StakingManager.sol +65 -0
- package/contracts/staking/StakingReader.sol +147 -0
- package/contracts/staking/StakingService.sol +375 -0
- package/contracts/staking/StakingServiceManager.sol +44 -0
- package/contracts/staking/StakingStore.sol +329 -0
- package/contracts/staking/TargetManagerLib.sol +179 -0
- package/contracts/type/Amount.sol +114 -0
- package/contracts/{types → type}/Blocknumber.sol +20 -2
- package/contracts/type/ClaimId.sol +75 -0
- package/contracts/{types → type}/DistributorType.sol +2 -2
- package/contracts/{types → type}/Fee.sol +32 -22
- package/contracts/{types → type}/NftId.sol +17 -11
- package/contracts/{types → type}/NftIdSet.sol +1 -1
- package/contracts/{types → type}/ObjectType.sol +26 -9
- package/contracts/type/PayoutId.sol +82 -0
- package/contracts/{types → type}/Referral.sol +4 -0
- package/contracts/type/RoleId.sol +143 -0
- package/contracts/type/Seconds.sol +71 -0
- package/contracts/{types → type}/StateId.sol +24 -6
- package/contracts/{types → type}/Timestamp.sol +18 -13
- package/contracts/{types → type}/UFixed.sol +1 -0
- package/contracts/{types → type}/Version.sol +1 -0
- package/package.json +3 -3
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +0 -4
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +0 -744
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +0 -152
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +0 -275
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +0 -157
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +0 -4
- package/artifacts/contracts/components/Pool.sol/Pool.json +0 -939
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +0 -4
- package/artifacts/contracts/components/Product.sol/Product.json +0 -855
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +0 -66
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +0 -24
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +0 -4
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +0 -42
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +0 -105
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +0 -4
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +0 -105
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +0 -128
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +0 -42
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/B.sol/B.json +0 -76
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/C.sol/C.json +0 -89
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.json +0 -128
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.json +0 -50
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +0 -4
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.json +0 -63
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +0 -59
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +0 -74
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +0 -124
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +0 -4
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +0 -207
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +0 -10
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +0 -4
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +0 -10
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +0 -4
- package/artifacts/contracts/instance/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.json +0 -1206
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +0 -763
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +0 -4
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +0 -285
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +0 -113
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +0 -429
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +0 -4
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +0 -502
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +0 -4
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +0 -169
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.json +0 -10
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +0 -827
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +0 -684
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +0 -428
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +0 -446
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +0 -984
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +0 -464
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -1017
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +0 -448
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -789
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +0 -420
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +0 -4
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +0 -107
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +0 -4
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.json +0 -442
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +0 -4
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +0 -119
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +0 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +0 -305
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +0 -4
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +0 -116
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +0 -4
- package/artifacts/contracts/test/TestService.sol/TestService.json +0 -600
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +0 -4
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +0 -376
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +0 -218
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +0 -4
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +0 -286
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +0 -4
- package/artifacts/contracts/test/Usdc.sol/USDC.json +0 -376
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +0 -4
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +0 -174
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +0 -10
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +0 -257
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +0 -153
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +0 -100
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +0 -4
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +0 -123
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +0 -4
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +0 -4
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +0 -4
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +0 -4
- package/contracts/components/BaseComponent.sol +0 -132
- package/contracts/components/Distribution.sol +0 -163
- package/contracts/components/IBaseComponent.sol +0 -31
- package/contracts/components/IDistributionComponent.sol +0 -44
- package/contracts/components/IPoolComponent.sol +0 -66
- package/contracts/components/IProductComponent.sol +0 -35
- package/contracts/components/Pool.sol +0 -267
- package/contracts/components/Product.sol +0 -292
- package/contracts/experiment/cloning/Cloner.sol +0 -47
- package/contracts/experiment/errors/Require.sol +0 -38
- package/contracts/experiment/errors/Revert.sol +0 -44
- package/contracts/experiment/inheritance/A.sol +0 -53
- package/contracts/experiment/inheritance/B.sol +0 -28
- package/contracts/experiment/inheritance/C.sol +0 -34
- package/contracts/experiment/inheritance/IA.sol +0 -13
- package/contracts/experiment/inheritance/IB.sol +0 -10
- package/contracts/experiment/inheritance/IC.sol +0 -12
- package/contracts/experiment/statemachine/Dummy.sol +0 -27
- package/contracts/experiment/statemachine/ISM.sol +0 -25
- package/contracts/experiment/statemachine/SM.sol +0 -57
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +0 -31
- package/contracts/experiment/types/TypeA.sol +0 -47
- package/contracts/experiment/types/TypeB.sol +0 -29
- package/contracts/instance/AccessManagerUpgradeableInitializeable.sol +0 -23
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
- package/contracts/instance/IInstanceBase.sol +0 -26
- package/contracts/instance/InstanceBase.sol +0 -41
- package/contracts/instance/base/ComponentServiceBase.sol +0 -72
- package/contracts/instance/base/IInstanceBase.sol +0 -23
- package/contracts/instance/base/KeyValueStore.sol +0 -172
- package/contracts/instance/module/ISetup.sol +0 -46
- package/contracts/instance/module/ITreasury.sol +0 -23
- package/contracts/instance/service/ComponentOwnerService.sol +0 -317
- package/contracts/instance/service/DistributionService.sol +0 -118
- package/contracts/instance/service/IComponentOwnerService.sol +0 -20
- package/contracts/instance/service/IDistributionService.sol +0 -12
- package/contracts/instance/service/IPolicyService.sol +0 -87
- package/contracts/instance/service/IPoolService.sol +0 -51
- package/contracts/instance/service/IProductService.sol +0 -40
- package/contracts/instance/service/PolicyService.sol +0 -513
- package/contracts/instance/service/PolicyServiceManager.sol +0 -54
- package/contracts/instance/service/PoolService.sol +0 -317
- package/contracts/instance/service/PoolServiceManager.sol +0 -54
- package/contracts/instance/service/ProductService.sol +0 -173
- package/contracts/instance/service/ProductServiceManager.sol +0 -54
- package/contracts/shared/ContractDeployerLib.sol +0 -72
- package/contracts/shared/RegisterableUpgradable.sol +0 -16
- package/contracts/test/TestFee.sol +0 -25
- package/contracts/test/TestRegisterable.sol +0 -18
- package/contracts/test/TestRoleId.sol +0 -14
- package/contracts/test/TestService.sol +0 -24
- package/contracts/test/TestToken.sol +0 -26
- package/contracts/test/TestVersion.sol +0 -44
- package/contracts/test/TestVersionable.sol +0 -17
- package/contracts/types/ChainId.sol +0 -38
- package/contracts/types/NumberId.sol +0 -52
- package/contracts/types/RoleId.sol +0 -91
- /package/contracts/{types → type}/AddressSet.sol +0 -0
- /package/contracts/{types → type}/Key32.sol +0 -0
- /package/contracts/{types → type}/RiskId.sol +0 -0
@@ -0,0 +1,1151 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "ReleaseManager",
|
4
|
+
"sourceName": "contracts/registry/ReleaseManager.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "address",
|
10
|
+
"name": "gifAdmin",
|
11
|
+
"type": "address"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"internalType": "address",
|
15
|
+
"name": "gifManager",
|
16
|
+
"type": "address"
|
17
|
+
},
|
18
|
+
{
|
19
|
+
"internalType": "address",
|
20
|
+
"name": "registry",
|
21
|
+
"type": "address"
|
22
|
+
}
|
23
|
+
],
|
24
|
+
"stateMutability": "nonpayable",
|
25
|
+
"type": "constructor"
|
26
|
+
},
|
27
|
+
{
|
28
|
+
"inputs": [
|
29
|
+
{
|
30
|
+
"internalType": "address",
|
31
|
+
"name": "authority",
|
32
|
+
"type": "address"
|
33
|
+
}
|
34
|
+
],
|
35
|
+
"name": "AccessManagedInvalidAuthority",
|
36
|
+
"type": "error"
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"inputs": [
|
40
|
+
{
|
41
|
+
"internalType": "address",
|
42
|
+
"name": "caller",
|
43
|
+
"type": "address"
|
44
|
+
},
|
45
|
+
{
|
46
|
+
"internalType": "uint32",
|
47
|
+
"name": "delay",
|
48
|
+
"type": "uint32"
|
49
|
+
}
|
50
|
+
],
|
51
|
+
"name": "AccessManagedRequiredDelay",
|
52
|
+
"type": "error"
|
53
|
+
},
|
54
|
+
{
|
55
|
+
"inputs": [
|
56
|
+
{
|
57
|
+
"internalType": "address",
|
58
|
+
"name": "caller",
|
59
|
+
"type": "address"
|
60
|
+
}
|
61
|
+
],
|
62
|
+
"name": "AccessManagedUnauthorized",
|
63
|
+
"type": "error"
|
64
|
+
},
|
65
|
+
{
|
66
|
+
"inputs": [],
|
67
|
+
"name": "ERC1167FailedCreateClone",
|
68
|
+
"type": "error"
|
69
|
+
},
|
70
|
+
{
|
71
|
+
"inputs": [
|
72
|
+
{
|
73
|
+
"internalType": "ObjectType",
|
74
|
+
"name": "objectType",
|
75
|
+
"type": "uint8"
|
76
|
+
},
|
77
|
+
{
|
78
|
+
"internalType": "StateId",
|
79
|
+
"name": "fromStateId",
|
80
|
+
"type": "uint8"
|
81
|
+
},
|
82
|
+
{
|
83
|
+
"internalType": "StateId",
|
84
|
+
"name": "toStateId",
|
85
|
+
"type": "uint8"
|
86
|
+
}
|
87
|
+
],
|
88
|
+
"name": "ErrorInvalidStateTransition",
|
89
|
+
"type": "error"
|
90
|
+
},
|
91
|
+
{
|
92
|
+
"inputs": [
|
93
|
+
{
|
94
|
+
"internalType": "NftId",
|
95
|
+
"name": "nftId",
|
96
|
+
"type": "uint96"
|
97
|
+
},
|
98
|
+
{
|
99
|
+
"internalType": "ObjectType",
|
100
|
+
"name": "objectType",
|
101
|
+
"type": "uint8"
|
102
|
+
}
|
103
|
+
],
|
104
|
+
"name": "ErrorNoLifecycle",
|
105
|
+
"type": "error"
|
106
|
+
},
|
107
|
+
{
|
108
|
+
"inputs": [
|
109
|
+
{
|
110
|
+
"internalType": "StateId",
|
111
|
+
"name": "currentStateId",
|
112
|
+
"type": "uint8"
|
113
|
+
}
|
114
|
+
],
|
115
|
+
"name": "ErrorReleaseManagerActivationDisallowed",
|
116
|
+
"type": "error"
|
117
|
+
},
|
118
|
+
{
|
119
|
+
"inputs": [],
|
120
|
+
"name": "ErrorReleaseManagerNoServiceRegistrationExpected",
|
121
|
+
"type": "error"
|
122
|
+
},
|
123
|
+
{
|
124
|
+
"inputs": [
|
125
|
+
{
|
126
|
+
"internalType": "address",
|
127
|
+
"name": "registry",
|
128
|
+
"type": "address"
|
129
|
+
}
|
130
|
+
],
|
131
|
+
"name": "ErrorReleaseManagerNotRegistry",
|
132
|
+
"type": "error"
|
133
|
+
},
|
134
|
+
{
|
135
|
+
"inputs": [
|
136
|
+
{
|
137
|
+
"internalType": "contract IService",
|
138
|
+
"name": "service",
|
139
|
+
"type": "address"
|
140
|
+
}
|
141
|
+
],
|
142
|
+
"name": "ErrorReleaseManagerNotService",
|
143
|
+
"type": "error"
|
144
|
+
},
|
145
|
+
{
|
146
|
+
"inputs": [
|
147
|
+
{
|
148
|
+
"internalType": "VersionPart",
|
149
|
+
"name": "releaseVersion",
|
150
|
+
"type": "uint8"
|
151
|
+
}
|
152
|
+
],
|
153
|
+
"name": "ErrorReleaseManagerReleaseAlreadyActivated",
|
154
|
+
"type": "error"
|
155
|
+
},
|
156
|
+
{
|
157
|
+
"inputs": [
|
158
|
+
{
|
159
|
+
"internalType": "VersionPart",
|
160
|
+
"name": "version",
|
161
|
+
"type": "uint8"
|
162
|
+
}
|
163
|
+
],
|
164
|
+
"name": "ErrorReleaseManagerReleaseAlreadyCreated",
|
165
|
+
"type": "error"
|
166
|
+
},
|
167
|
+
{
|
168
|
+
"inputs": [
|
169
|
+
{
|
170
|
+
"internalType": "StateId",
|
171
|
+
"name": "currentStateId",
|
172
|
+
"type": "uint8"
|
173
|
+
}
|
174
|
+
],
|
175
|
+
"name": "ErrorReleaseManagerReleaseCreationDisallowed",
|
176
|
+
"type": "error"
|
177
|
+
},
|
178
|
+
{
|
179
|
+
"inputs": [],
|
180
|
+
"name": "ErrorReleaseManagerReleaseEmpty",
|
181
|
+
"type": "error"
|
182
|
+
},
|
183
|
+
{
|
184
|
+
"inputs": [
|
185
|
+
{
|
186
|
+
"internalType": "VersionPart",
|
187
|
+
"name": "releaseVersion",
|
188
|
+
"type": "uint8"
|
189
|
+
}
|
190
|
+
],
|
191
|
+
"name": "ErrorReleaseManagerReleaseNotCreated",
|
192
|
+
"type": "error"
|
193
|
+
},
|
194
|
+
{
|
195
|
+
"inputs": [
|
196
|
+
{
|
197
|
+
"internalType": "StateId",
|
198
|
+
"name": "currentStateId",
|
199
|
+
"type": "uint8"
|
200
|
+
}
|
201
|
+
],
|
202
|
+
"name": "ErrorReleaseManagerReleasePreparationDisallowed",
|
203
|
+
"type": "error"
|
204
|
+
},
|
205
|
+
{
|
206
|
+
"inputs": [
|
207
|
+
{
|
208
|
+
"internalType": "VersionPart",
|
209
|
+
"name": "releaseVersion",
|
210
|
+
"type": "uint8"
|
211
|
+
},
|
212
|
+
{
|
213
|
+
"internalType": "uint256",
|
214
|
+
"name": "awaitingRegistration",
|
215
|
+
"type": "uint256"
|
216
|
+
}
|
217
|
+
],
|
218
|
+
"name": "ErrorReleaseManagerReleaseRegistrationNotFinished",
|
219
|
+
"type": "error"
|
220
|
+
},
|
221
|
+
{
|
222
|
+
"inputs": [
|
223
|
+
{
|
224
|
+
"internalType": "contract IService",
|
225
|
+
"name": "given",
|
226
|
+
"type": "address"
|
227
|
+
},
|
228
|
+
{
|
229
|
+
"internalType": "address",
|
230
|
+
"name": "expected",
|
231
|
+
"type": "address"
|
232
|
+
}
|
233
|
+
],
|
234
|
+
"name": "ErrorReleaseManagerServiceAddressInvalid",
|
235
|
+
"type": "error"
|
236
|
+
},
|
237
|
+
{
|
238
|
+
"inputs": [
|
239
|
+
{
|
240
|
+
"internalType": "contract IService",
|
241
|
+
"name": "service",
|
242
|
+
"type": "address"
|
243
|
+
},
|
244
|
+
{
|
245
|
+
"internalType": "address",
|
246
|
+
"name": "expected",
|
247
|
+
"type": "address"
|
248
|
+
}
|
249
|
+
],
|
250
|
+
"name": "ErrorReleaseManagerServiceInfoAddressInvalid",
|
251
|
+
"type": "error"
|
252
|
+
},
|
253
|
+
{
|
254
|
+
"inputs": [
|
255
|
+
{
|
256
|
+
"internalType": "contract IService",
|
257
|
+
"name": "service",
|
258
|
+
"type": "address"
|
259
|
+
},
|
260
|
+
{
|
261
|
+
"internalType": "bool",
|
262
|
+
"name": "isInterceptor",
|
263
|
+
"type": "bool"
|
264
|
+
}
|
265
|
+
],
|
266
|
+
"name": "ErrorReleaseManagerServiceInfoInterceptorInvalid",
|
267
|
+
"type": "error"
|
268
|
+
},
|
269
|
+
{
|
270
|
+
"inputs": [
|
271
|
+
{
|
272
|
+
"internalType": "contract IService",
|
273
|
+
"name": "service",
|
274
|
+
"type": "address"
|
275
|
+
},
|
276
|
+
{
|
277
|
+
"internalType": "address",
|
278
|
+
"name": "expected",
|
279
|
+
"type": "address"
|
280
|
+
},
|
281
|
+
{
|
282
|
+
"internalType": "address",
|
283
|
+
"name": "found",
|
284
|
+
"type": "address"
|
285
|
+
}
|
286
|
+
],
|
287
|
+
"name": "ErrorReleaseManagerServiceInfoOwnerInvalid",
|
288
|
+
"type": "error"
|
289
|
+
},
|
290
|
+
{
|
291
|
+
"inputs": [
|
292
|
+
{
|
293
|
+
"internalType": "contract IService",
|
294
|
+
"name": "service",
|
295
|
+
"type": "address"
|
296
|
+
},
|
297
|
+
{
|
298
|
+
"internalType": "ObjectType",
|
299
|
+
"name": "expected",
|
300
|
+
"type": "uint8"
|
301
|
+
},
|
302
|
+
{
|
303
|
+
"internalType": "ObjectType",
|
304
|
+
"name": "found",
|
305
|
+
"type": "uint8"
|
306
|
+
}
|
307
|
+
],
|
308
|
+
"name": "ErrorReleaseManagerServiceInfoTypeInvalid",
|
309
|
+
"type": "error"
|
310
|
+
},
|
311
|
+
{
|
312
|
+
"inputs": [
|
313
|
+
{
|
314
|
+
"internalType": "contract IService",
|
315
|
+
"name": "service",
|
316
|
+
"type": "address"
|
317
|
+
},
|
318
|
+
{
|
319
|
+
"internalType": "address",
|
320
|
+
"name": "owner",
|
321
|
+
"type": "address"
|
322
|
+
}
|
323
|
+
],
|
324
|
+
"name": "ErrorReleaseManagerServiceOwnerRegistered",
|
325
|
+
"type": "error"
|
326
|
+
},
|
327
|
+
{
|
328
|
+
"inputs": [
|
329
|
+
{
|
330
|
+
"internalType": "StateId",
|
331
|
+
"name": "currentStateId",
|
332
|
+
"type": "uint8"
|
333
|
+
}
|
334
|
+
],
|
335
|
+
"name": "ErrorReleaseManagerServiceRegistrationDisallowed",
|
336
|
+
"type": "error"
|
337
|
+
},
|
338
|
+
{
|
339
|
+
"inputs": [
|
340
|
+
{
|
341
|
+
"internalType": "contract IService",
|
342
|
+
"name": "service",
|
343
|
+
"type": "address"
|
344
|
+
},
|
345
|
+
{
|
346
|
+
"internalType": "address",
|
347
|
+
"name": "serviceAuthority",
|
348
|
+
"type": "address"
|
349
|
+
},
|
350
|
+
{
|
351
|
+
"internalType": "address",
|
352
|
+
"name": "releaseAuthority",
|
353
|
+
"type": "address"
|
354
|
+
}
|
355
|
+
],
|
356
|
+
"name": "ErrorReleaseManagerServiceReleaseAuthorityMismatch",
|
357
|
+
"type": "error"
|
358
|
+
},
|
359
|
+
{
|
360
|
+
"inputs": [
|
361
|
+
{
|
362
|
+
"internalType": "contract IService",
|
363
|
+
"name": "service",
|
364
|
+
"type": "address"
|
365
|
+
},
|
366
|
+
{
|
367
|
+
"internalType": "VersionPart",
|
368
|
+
"name": "serviceVersion",
|
369
|
+
"type": "uint8"
|
370
|
+
},
|
371
|
+
{
|
372
|
+
"internalType": "VersionPart",
|
373
|
+
"name": "releaseVersion",
|
374
|
+
"type": "uint8"
|
375
|
+
}
|
376
|
+
],
|
377
|
+
"name": "ErrorReleaseManagerServiceReleaseVersionMismatch",
|
378
|
+
"type": "error"
|
379
|
+
},
|
380
|
+
{
|
381
|
+
"inputs": [
|
382
|
+
{
|
383
|
+
"internalType": "address",
|
384
|
+
"name": "service",
|
385
|
+
"type": "address"
|
386
|
+
},
|
387
|
+
{
|
388
|
+
"internalType": "RoleId",
|
389
|
+
"name": "role",
|
390
|
+
"type": "uint64"
|
391
|
+
}
|
392
|
+
],
|
393
|
+
"name": "ErrorReleaseManagerServiceRoleInvalid",
|
394
|
+
"type": "error"
|
395
|
+
},
|
396
|
+
{
|
397
|
+
"inputs": [
|
398
|
+
{
|
399
|
+
"internalType": "contract IService",
|
400
|
+
"name": "service",
|
401
|
+
"type": "address"
|
402
|
+
}
|
403
|
+
],
|
404
|
+
"name": "ErrorReleaseManagerServiceSelfRegistration",
|
405
|
+
"type": "error"
|
406
|
+
},
|
407
|
+
{
|
408
|
+
"inputs": [
|
409
|
+
{
|
410
|
+
"internalType": "address",
|
411
|
+
"name": "stakingAddress",
|
412
|
+
"type": "address"
|
413
|
+
}
|
414
|
+
],
|
415
|
+
"name": "ErrorReleaseManagerStakingAlreadySet",
|
416
|
+
"type": "error"
|
417
|
+
},
|
418
|
+
{
|
419
|
+
"inputs": [],
|
420
|
+
"name": "InvalidInitialization",
|
421
|
+
"type": "error"
|
422
|
+
},
|
423
|
+
{
|
424
|
+
"inputs": [],
|
425
|
+
"name": "NotInitializing",
|
426
|
+
"type": "error"
|
427
|
+
},
|
428
|
+
{
|
429
|
+
"anonymous": false,
|
430
|
+
"inputs": [
|
431
|
+
{
|
432
|
+
"indexed": false,
|
433
|
+
"internalType": "address",
|
434
|
+
"name": "authority",
|
435
|
+
"type": "address"
|
436
|
+
}
|
437
|
+
],
|
438
|
+
"name": "AuthorityUpdated",
|
439
|
+
"type": "event"
|
440
|
+
},
|
441
|
+
{
|
442
|
+
"anonymous": false,
|
443
|
+
"inputs": [
|
444
|
+
{
|
445
|
+
"indexed": false,
|
446
|
+
"internalType": "uint64",
|
447
|
+
"name": "version",
|
448
|
+
"type": "uint64"
|
449
|
+
}
|
450
|
+
],
|
451
|
+
"name": "Initialized",
|
452
|
+
"type": "event"
|
453
|
+
},
|
454
|
+
{
|
455
|
+
"anonymous": false,
|
456
|
+
"inputs": [
|
457
|
+
{
|
458
|
+
"indexed": false,
|
459
|
+
"internalType": "VersionPart",
|
460
|
+
"name": "version",
|
461
|
+
"type": "uint8"
|
462
|
+
}
|
463
|
+
],
|
464
|
+
"name": "LogReleaseActivation",
|
465
|
+
"type": "event"
|
466
|
+
},
|
467
|
+
{
|
468
|
+
"anonymous": false,
|
469
|
+
"inputs": [
|
470
|
+
{
|
471
|
+
"indexed": false,
|
472
|
+
"internalType": "VersionPart",
|
473
|
+
"name": "version",
|
474
|
+
"type": "uint8"
|
475
|
+
},
|
476
|
+
{
|
477
|
+
"indexed": false,
|
478
|
+
"internalType": "bytes32",
|
479
|
+
"name": "salt",
|
480
|
+
"type": "bytes32"
|
481
|
+
},
|
482
|
+
{
|
483
|
+
"indexed": false,
|
484
|
+
"internalType": "contract AccessManagerUpgradeableInitializeable",
|
485
|
+
"name": "accessManager",
|
486
|
+
"type": "address"
|
487
|
+
}
|
488
|
+
],
|
489
|
+
"name": "LogReleaseCreation",
|
490
|
+
"type": "event"
|
491
|
+
},
|
492
|
+
{
|
493
|
+
"inputs": [],
|
494
|
+
"name": "INITIAL_GIF_VERSION",
|
495
|
+
"outputs": [
|
496
|
+
{
|
497
|
+
"internalType": "uint256",
|
498
|
+
"name": "",
|
499
|
+
"type": "uint256"
|
500
|
+
}
|
501
|
+
],
|
502
|
+
"stateMutability": "view",
|
503
|
+
"type": "function"
|
504
|
+
},
|
505
|
+
{
|
506
|
+
"inputs": [],
|
507
|
+
"name": "_accessManager",
|
508
|
+
"outputs": [
|
509
|
+
{
|
510
|
+
"internalType": "contract RegistryAccessManager",
|
511
|
+
"name": "",
|
512
|
+
"type": "address"
|
513
|
+
}
|
514
|
+
],
|
515
|
+
"stateMutability": "view",
|
516
|
+
"type": "function"
|
517
|
+
},
|
518
|
+
{
|
519
|
+
"inputs": [],
|
520
|
+
"name": "_registry",
|
521
|
+
"outputs": [
|
522
|
+
{
|
523
|
+
"internalType": "contract Registry",
|
524
|
+
"name": "",
|
525
|
+
"type": "address"
|
526
|
+
}
|
527
|
+
],
|
528
|
+
"stateMutability": "view",
|
529
|
+
"type": "function"
|
530
|
+
},
|
531
|
+
{
|
532
|
+
"inputs": [],
|
533
|
+
"name": "activateNextRelease",
|
534
|
+
"outputs": [],
|
535
|
+
"stateMutability": "nonpayable",
|
536
|
+
"type": "function"
|
537
|
+
},
|
538
|
+
{
|
539
|
+
"inputs": [],
|
540
|
+
"name": "authority",
|
541
|
+
"outputs": [
|
542
|
+
{
|
543
|
+
"internalType": "address",
|
544
|
+
"name": "",
|
545
|
+
"type": "address"
|
546
|
+
}
|
547
|
+
],
|
548
|
+
"stateMutability": "view",
|
549
|
+
"type": "function"
|
550
|
+
},
|
551
|
+
{
|
552
|
+
"inputs": [],
|
553
|
+
"name": "createNextRelease",
|
554
|
+
"outputs": [
|
555
|
+
{
|
556
|
+
"internalType": "VersionPart",
|
557
|
+
"name": "version",
|
558
|
+
"type": "uint8"
|
559
|
+
}
|
560
|
+
],
|
561
|
+
"stateMutability": "nonpayable",
|
562
|
+
"type": "function"
|
563
|
+
},
|
564
|
+
{
|
565
|
+
"inputs": [
|
566
|
+
{
|
567
|
+
"internalType": "ObjectType",
|
568
|
+
"name": "objectType",
|
569
|
+
"type": "uint8"
|
570
|
+
}
|
571
|
+
],
|
572
|
+
"name": "getInitialState",
|
573
|
+
"outputs": [
|
574
|
+
{
|
575
|
+
"internalType": "StateId",
|
576
|
+
"name": "stateId",
|
577
|
+
"type": "uint8"
|
578
|
+
}
|
579
|
+
],
|
580
|
+
"stateMutability": "view",
|
581
|
+
"type": "function"
|
582
|
+
},
|
583
|
+
{
|
584
|
+
"inputs": [],
|
585
|
+
"name": "getInitialVersion",
|
586
|
+
"outputs": [
|
587
|
+
{
|
588
|
+
"internalType": "VersionPart",
|
589
|
+
"name": "",
|
590
|
+
"type": "uint8"
|
591
|
+
}
|
592
|
+
],
|
593
|
+
"stateMutability": "view",
|
594
|
+
"type": "function"
|
595
|
+
},
|
596
|
+
{
|
597
|
+
"inputs": [],
|
598
|
+
"name": "getLatestVersion",
|
599
|
+
"outputs": [
|
600
|
+
{
|
601
|
+
"internalType": "VersionPart",
|
602
|
+
"name": "",
|
603
|
+
"type": "uint8"
|
604
|
+
}
|
605
|
+
],
|
606
|
+
"stateMutability": "view",
|
607
|
+
"type": "function"
|
608
|
+
},
|
609
|
+
{
|
610
|
+
"inputs": [],
|
611
|
+
"name": "getNextVersion",
|
612
|
+
"outputs": [
|
613
|
+
{
|
614
|
+
"internalType": "VersionPart",
|
615
|
+
"name": "",
|
616
|
+
"type": "uint8"
|
617
|
+
}
|
618
|
+
],
|
619
|
+
"stateMutability": "view",
|
620
|
+
"type": "function"
|
621
|
+
},
|
622
|
+
{
|
623
|
+
"inputs": [],
|
624
|
+
"name": "getRegistry",
|
625
|
+
"outputs": [
|
626
|
+
{
|
627
|
+
"internalType": "contract IRegistry",
|
628
|
+
"name": "",
|
629
|
+
"type": "address"
|
630
|
+
}
|
631
|
+
],
|
632
|
+
"stateMutability": "view",
|
633
|
+
"type": "function"
|
634
|
+
},
|
635
|
+
{
|
636
|
+
"inputs": [],
|
637
|
+
"name": "getRegistryAccessManager",
|
638
|
+
"outputs": [
|
639
|
+
{
|
640
|
+
"internalType": "contract RegistryAccessManager",
|
641
|
+
"name": "",
|
642
|
+
"type": "address"
|
643
|
+
}
|
644
|
+
],
|
645
|
+
"stateMutability": "view",
|
646
|
+
"type": "function"
|
647
|
+
},
|
648
|
+
{
|
649
|
+
"inputs": [],
|
650
|
+
"name": "getRegistryAddress",
|
651
|
+
"outputs": [
|
652
|
+
{
|
653
|
+
"internalType": "address",
|
654
|
+
"name": "",
|
655
|
+
"type": "address"
|
656
|
+
}
|
657
|
+
],
|
658
|
+
"stateMutability": "view",
|
659
|
+
"type": "function"
|
660
|
+
},
|
661
|
+
{
|
662
|
+
"inputs": [
|
663
|
+
{
|
664
|
+
"internalType": "VersionPart",
|
665
|
+
"name": "version",
|
666
|
+
"type": "uint8"
|
667
|
+
}
|
668
|
+
],
|
669
|
+
"name": "getReleaseAccessManager",
|
670
|
+
"outputs": [
|
671
|
+
{
|
672
|
+
"internalType": "contract AccessManagerUpgradeableInitializeable",
|
673
|
+
"name": "",
|
674
|
+
"type": "address"
|
675
|
+
}
|
676
|
+
],
|
677
|
+
"stateMutability": "view",
|
678
|
+
"type": "function"
|
679
|
+
},
|
680
|
+
{
|
681
|
+
"inputs": [
|
682
|
+
{
|
683
|
+
"internalType": "VersionPart",
|
684
|
+
"name": "version",
|
685
|
+
"type": "uint8"
|
686
|
+
}
|
687
|
+
],
|
688
|
+
"name": "getReleaseInfo",
|
689
|
+
"outputs": [
|
690
|
+
{
|
691
|
+
"components": [
|
692
|
+
{
|
693
|
+
"internalType": "VersionPart",
|
694
|
+
"name": "version",
|
695
|
+
"type": "uint8"
|
696
|
+
},
|
697
|
+
{
|
698
|
+
"internalType": "address[]",
|
699
|
+
"name": "addresses",
|
700
|
+
"type": "address[]"
|
701
|
+
},
|
702
|
+
{
|
703
|
+
"internalType": "RoleId[][]",
|
704
|
+
"name": "serviceRoles",
|
705
|
+
"type": "uint64[][]"
|
706
|
+
},
|
707
|
+
{
|
708
|
+
"internalType": "RoleId[][]",
|
709
|
+
"name": "functionRoles",
|
710
|
+
"type": "uint64[][]"
|
711
|
+
},
|
712
|
+
{
|
713
|
+
"internalType": "bytes4[][][]",
|
714
|
+
"name": "selectors",
|
715
|
+
"type": "bytes4[][][]"
|
716
|
+
},
|
717
|
+
{
|
718
|
+
"internalType": "ObjectType[]",
|
719
|
+
"name": "domains",
|
720
|
+
"type": "uint8[]"
|
721
|
+
},
|
722
|
+
{
|
723
|
+
"internalType": "Timestamp",
|
724
|
+
"name": "activatedAt",
|
725
|
+
"type": "uint40"
|
726
|
+
}
|
727
|
+
],
|
728
|
+
"internalType": "struct IRegistry.ReleaseInfo",
|
729
|
+
"name": "",
|
730
|
+
"type": "tuple"
|
731
|
+
}
|
732
|
+
],
|
733
|
+
"stateMutability": "view",
|
734
|
+
"type": "function"
|
735
|
+
},
|
736
|
+
{
|
737
|
+
"inputs": [],
|
738
|
+
"name": "getRemainingServicesToRegister",
|
739
|
+
"outputs": [
|
740
|
+
{
|
741
|
+
"internalType": "uint256",
|
742
|
+
"name": "services",
|
743
|
+
"type": "uint256"
|
744
|
+
}
|
745
|
+
],
|
746
|
+
"stateMutability": "view",
|
747
|
+
"type": "function"
|
748
|
+
},
|
749
|
+
{
|
750
|
+
"inputs": [],
|
751
|
+
"name": "getState",
|
752
|
+
"outputs": [
|
753
|
+
{
|
754
|
+
"internalType": "StateId",
|
755
|
+
"name": "stateId",
|
756
|
+
"type": "uint8"
|
757
|
+
}
|
758
|
+
],
|
759
|
+
"stateMutability": "view",
|
760
|
+
"type": "function"
|
761
|
+
},
|
762
|
+
{
|
763
|
+
"inputs": [
|
764
|
+
{
|
765
|
+
"internalType": "ObjectType",
|
766
|
+
"name": "objectType",
|
767
|
+
"type": "uint8"
|
768
|
+
}
|
769
|
+
],
|
770
|
+
"name": "hasLifecycle",
|
771
|
+
"outputs": [
|
772
|
+
{
|
773
|
+
"internalType": "bool",
|
774
|
+
"name": "",
|
775
|
+
"type": "bool"
|
776
|
+
}
|
777
|
+
],
|
778
|
+
"stateMutability": "view",
|
779
|
+
"type": "function"
|
780
|
+
},
|
781
|
+
{
|
782
|
+
"inputs": [
|
783
|
+
{
|
784
|
+
"internalType": "address",
|
785
|
+
"name": "service",
|
786
|
+
"type": "address"
|
787
|
+
}
|
788
|
+
],
|
789
|
+
"name": "isActiveRegistryService",
|
790
|
+
"outputs": [
|
791
|
+
{
|
792
|
+
"internalType": "bool",
|
793
|
+
"name": "",
|
794
|
+
"type": "bool"
|
795
|
+
}
|
796
|
+
],
|
797
|
+
"stateMutability": "view",
|
798
|
+
"type": "function"
|
799
|
+
},
|
800
|
+
{
|
801
|
+
"inputs": [],
|
802
|
+
"name": "isConsumingScheduledOp",
|
803
|
+
"outputs": [
|
804
|
+
{
|
805
|
+
"internalType": "bytes4",
|
806
|
+
"name": "",
|
807
|
+
"type": "bytes4"
|
808
|
+
}
|
809
|
+
],
|
810
|
+
"stateMutability": "view",
|
811
|
+
"type": "function"
|
812
|
+
},
|
813
|
+
{
|
814
|
+
"inputs": [
|
815
|
+
{
|
816
|
+
"internalType": "VersionPart",
|
817
|
+
"name": "version",
|
818
|
+
"type": "uint8"
|
819
|
+
}
|
820
|
+
],
|
821
|
+
"name": "isValidRelease",
|
822
|
+
"outputs": [
|
823
|
+
{
|
824
|
+
"internalType": "bool",
|
825
|
+
"name": "",
|
826
|
+
"type": "bool"
|
827
|
+
}
|
828
|
+
],
|
829
|
+
"stateMutability": "view",
|
830
|
+
"type": "function"
|
831
|
+
},
|
832
|
+
{
|
833
|
+
"inputs": [
|
834
|
+
{
|
835
|
+
"internalType": "ObjectType",
|
836
|
+
"name": "objectType",
|
837
|
+
"type": "uint8"
|
838
|
+
},
|
839
|
+
{
|
840
|
+
"internalType": "StateId",
|
841
|
+
"name": "fromId",
|
842
|
+
"type": "uint8"
|
843
|
+
},
|
844
|
+
{
|
845
|
+
"internalType": "StateId",
|
846
|
+
"name": "toId",
|
847
|
+
"type": "uint8"
|
848
|
+
}
|
849
|
+
],
|
850
|
+
"name": "isValidTransition",
|
851
|
+
"outputs": [
|
852
|
+
{
|
853
|
+
"internalType": "bool",
|
854
|
+
"name": "isValid",
|
855
|
+
"type": "bool"
|
856
|
+
}
|
857
|
+
],
|
858
|
+
"stateMutability": "view",
|
859
|
+
"type": "function"
|
860
|
+
},
|
861
|
+
{
|
862
|
+
"inputs": [
|
863
|
+
{
|
864
|
+
"internalType": "address",
|
865
|
+
"name": "implementation",
|
866
|
+
"type": "address"
|
867
|
+
},
|
868
|
+
{
|
869
|
+
"internalType": "bytes32",
|
870
|
+
"name": "salt",
|
871
|
+
"type": "bytes32"
|
872
|
+
},
|
873
|
+
{
|
874
|
+
"internalType": "address",
|
875
|
+
"name": "deployer",
|
876
|
+
"type": "address"
|
877
|
+
}
|
878
|
+
],
|
879
|
+
"name": "predictDeterministicAddress",
|
880
|
+
"outputs": [
|
881
|
+
{
|
882
|
+
"internalType": "address",
|
883
|
+
"name": "predicted",
|
884
|
+
"type": "address"
|
885
|
+
}
|
886
|
+
],
|
887
|
+
"stateMutability": "pure",
|
888
|
+
"type": "function"
|
889
|
+
},
|
890
|
+
{
|
891
|
+
"inputs": [
|
892
|
+
{
|
893
|
+
"internalType": "address[]",
|
894
|
+
"name": "addresses",
|
895
|
+
"type": "address[]"
|
896
|
+
},
|
897
|
+
{
|
898
|
+
"internalType": "RoleId[][]",
|
899
|
+
"name": "serviceRoles",
|
900
|
+
"type": "uint64[][]"
|
901
|
+
},
|
902
|
+
{
|
903
|
+
"internalType": "RoleId[][]",
|
904
|
+
"name": "functionRoles",
|
905
|
+
"type": "uint64[][]"
|
906
|
+
},
|
907
|
+
{
|
908
|
+
"internalType": "bytes4[][][]",
|
909
|
+
"name": "selectors",
|
910
|
+
"type": "bytes4[][][]"
|
911
|
+
},
|
912
|
+
{
|
913
|
+
"internalType": "bytes32",
|
914
|
+
"name": "salt",
|
915
|
+
"type": "bytes32"
|
916
|
+
}
|
917
|
+
],
|
918
|
+
"name": "prepareNextRelease",
|
919
|
+
"outputs": [
|
920
|
+
{
|
921
|
+
"internalType": "address",
|
922
|
+
"name": "releaseAccessManagerAddress",
|
923
|
+
"type": "address"
|
924
|
+
},
|
925
|
+
{
|
926
|
+
"internalType": "VersionPart",
|
927
|
+
"name": "version",
|
928
|
+
"type": "uint8"
|
929
|
+
},
|
930
|
+
{
|
931
|
+
"internalType": "bytes32",
|
932
|
+
"name": "releaseSalt",
|
933
|
+
"type": "bytes32"
|
934
|
+
}
|
935
|
+
],
|
936
|
+
"stateMutability": "nonpayable",
|
937
|
+
"type": "function"
|
938
|
+
},
|
939
|
+
{
|
940
|
+
"inputs": [
|
941
|
+
{
|
942
|
+
"internalType": "contract IService",
|
943
|
+
"name": "service",
|
944
|
+
"type": "address"
|
945
|
+
}
|
946
|
+
],
|
947
|
+
"name": "registerService",
|
948
|
+
"outputs": [
|
949
|
+
{
|
950
|
+
"internalType": "NftId",
|
951
|
+
"name": "nftId",
|
952
|
+
"type": "uint96"
|
953
|
+
}
|
954
|
+
],
|
955
|
+
"stateMutability": "nonpayable",
|
956
|
+
"type": "function"
|
957
|
+
},
|
958
|
+
{
|
959
|
+
"inputs": [
|
960
|
+
{
|
961
|
+
"internalType": "address",
|
962
|
+
"name": "stakingAddress",
|
963
|
+
"type": "address"
|
964
|
+
}
|
965
|
+
],
|
966
|
+
"name": "registerStaking",
|
967
|
+
"outputs": [],
|
968
|
+
"stateMutability": "nonpayable",
|
969
|
+
"type": "function"
|
970
|
+
},
|
971
|
+
{
|
972
|
+
"inputs": [
|
973
|
+
{
|
974
|
+
"internalType": "address",
|
975
|
+
"name": "newAuthority",
|
976
|
+
"type": "address"
|
977
|
+
}
|
978
|
+
],
|
979
|
+
"name": "setAuthority",
|
980
|
+
"outputs": [],
|
981
|
+
"stateMutability": "nonpayable",
|
982
|
+
"type": "function"
|
983
|
+
}
|
984
|
+
],
|
985
|
+
"bytecode": "0x60e06040523480156200001157600080fd5b50604051620081dc380380620081dc8339810160408190526200003491620004e5565b336200004081620002a2565b506200004c81620002f6565b6200007a576040516358374b4160e11b81526001600160a01b03821660048201526024015b60405180910390fd5b6001600160a01b03811660a052604051839083906200009990620004bf565b6001600160a01b03928316815291166020820152604001604051809103906000f080158015620000cd573d6000803e3d6000fd5b506001600160a01b031660808190526040805163bf7e214f60e01b8152905162000149929163bf7e214f9160048083019260209291908290030181865afa1580156200011d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200014391906200052f565b62000411565b604051632392b61b60e21b81526003600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90602401602060405180830381865af41580156200019a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001c0919062000554565b60ff1660c05273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__638e4ad86c620001ee6001600362000579565b6040518263ffffffff1660e01b81526004016200020d91815260200190565b602060405180830381865af41580156200022b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000251919062000554565b6006805460ff929092166101000261ff00199092169190911790556200027f62000279600190565b62000491565b600660026101000a81548160ff021916908360ff160217905550505050620005ea565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60006001600160a01b0382166200030f57506000919050565b604051636939560f60e11b81526001600160a01b038316600482018190529063d272ac1e90602401602060405180830381865afa15801562000355573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200037b91906200059b565b604051630a4d29dd60e31b81526001600160601b03909116600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af4158015620003d5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003fb9190620005c6565b156200040957506000919050565b506001919050565b60005433906001600160a01b031681146200044a5760405162d1953b60e31b81526001600160a01b038216600482015260240162000071565b816001600160a01b03163b60000362000482576040516361798f2f60e11b81526001600160a01b038316600482015260240162000071565b6200048d82620002a2565b5050565b6000620004a0826001620004af565b15620004aa575060015b919050565b60ff828116908216145b92915050565b6145928062003c4a83390190565b80516001600160a01b0381168114620004aa57600080fd5b600080600060608486031215620004fb57600080fd5b6200050684620004cd565b92506200051660208501620004cd565b91506200052660408501620004cd565b90509250925092565b6000602082840312156200054257600080fd5b6200054d82620004cd565b9392505050565b6000602082840312156200056757600080fd5b815160ff811681146200054d57600080fd5b81810381811115620004b957634e487b7160e01b600052601160045260246000fd5b600060208284031215620005ae57600080fd5b81516001600160601b03811681146200054d57600080fd5b600060208284031215620005d957600080fd5b815180151581146200054d57600080fd5b60805160a05160c0516135ff6200064b60003960006101e20152600081816102a4015281816102df0152818161066d0152818161087f0152818161184a01526125060152600081816102800152818161034a015261123a01526135ff6000f3fe608060405234801561001057600080fd5b50600436106101a95760003560e01c806393a7e711116100f9578063bf7e214f11610097578063e9e96c7011610071578063e9e96c701461044b578063f21de1e8146102a2578063f40d7c301461045e578063fdd9ec7d1461046e57600080fd5b8063bf7e214f146103e0578063d2213b5b146103f1578063d5264d7a1461041157600080fd5b80639ef6ddc9116100d35780639ef6ddc914610376578063a2844824146103b2578063a52ec529146103ba578063bf1db3f9146103cd57600080fd5b806393a7e711146103355780639941314e1461034857806399a228e51461036e57600080fd5b806319d1478b1161016657806371ed16e41161014057806371ed16e4146102c857806379cbc5fa146102da5780637a9e5e4b146103015780638fb360371461031457600080fd5b806319d1478b146102375780632892cd3a1461027b5780635ab1bd53146102a257600080fd5b80630af43fe1146101ae5780630d358181146101cd5780630e41142e146101e05780630e6d1de9146102065780631865c57d14610211578063186664d814610222575b600080fd5b6101b6610499565b60405160ff90911681526020015b60405180910390f35b6101b66101db36600461294b565b610626565b7f00000000000000000000000000000000000000000000000000000000000000006101b6565b60065460ff166101b6565b60065462010000900460ff166101b6565b61023561023036600461297d565b610643565b005b61026361024536600461294b565b60ff166000908152600360205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016101c4565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610263565b6007545b6040519081526020016101c4565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b61023561030f36600461297d565b610722565b61031c61079c565b6040516001600160e01b031990911681526020016101c4565b61026361034336600461299a565b6107c2565b7f0000000000000000000000000000000000000000000000000000000000000000610263565b6102cc600381565b6103a261038436600461297d565b6001600160a01b031660009081526005602052604090205460ff1690565b60405190151581526020016101c4565b610235610823565b6103a26103c836600461294b565b610b64565b6103a26103db36600461294b565b610bf9565b6000546001600160a01b0316610263565b6104046103ff36600461294b565b610c06565b6040516101c49190612baa565b61042461041f366004612f7e565b611008565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101c4565b6103a2610459366004613090565b61139a565b600654610100900460ff166101b6565b61048161047c36600461297d565b611498565b6040516001600160601b0390911681526020016101c4565b60006104a8335b60003661192b565b6104c1600160065462010000900460ff16610459600290565b6104f1576006546040516319ddc69560e21b81526201000090910460ff1660048201526024015b60405180910390fd5b600654604051632b10f60d60e21b815261010090910460ff16600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af4158015610553573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057791906130d0565b6105829060016130ff565b6040518263ffffffff1660e01b81526004016105a091815260200190565b602060405180830381865af41580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e1919061311d565b6006805460ff929092166101000261ff00199092169190911790556000600755610609600290565b600660026101000a81548160ff021916908360ff16021790555090565b6000610633826001611a2b565b1561063e5760015b90505b919050565b61064c336104a0565b60405163030ccc9b60e31b81526001600160a01b03808316600483015282917f00000000000000000000000000000000000000000000000000000000000000009091169063186664d890602401600060405180830381600087803b1580156106b357600080fd5b505af11580156106c7573d6000803e3d6000fd5b50505050806001600160a01b031663138461e06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050505050565b60005433906001600160a01b031681146107595760405162d1953b60e31b81526001600160a01b03821660048201526024016104e8565b816001600160a01b03163b60000361078f576040516361798f2f60e11b81526001600160a01b03831660048201526024016104e8565b61079882611a3b565b5050565b60008054600160a01b900460ff166107b45750600090565b638fb3603760e01b5b905090565b604051603881018290526f5af43d82803e903d91602b57fd5bf3ff602482015260148101849052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018390526037600c820120607882015260556043909101205b9392505050565b61082c336104a0565b610845600160065462010000900460ff16610459600490565b6108705760065460405163efcc379960e01b81526201000090910460ff1660048201526024016104e8565b600654610100900460ff1660007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e60436108b4602890565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e9190613145565b90506001600160a01b03811661094c57604051638047661960e01b815260ff831660048201526024016104e8565b6007541561097d5760075460405163c90aac6160e01b815260ff8416600482015260248101919091526044016104e8565b60ff8216600090815260046020819052604091829020600601549151638d38cd4b60e01b815264ffffffffff9092169082015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156109ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a109190613172565b15610a3357604051630e5e66b360e21b815260ff831660048201526024016104e8565b6006805460ff191660ff8416179055610a4a600490565b6006805460ff92909216620100000262ff0000199092169190911790556001600160a01b038116600090815260056020908152604091829020805460ff1916600117905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd919061318d565b60ff8316600081815260046020908152604091829020600601805464ffffffffff191664ffffffffff9590951694909417909355519081527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d4910160405180910390a15050565b60ff81166000908152600460208190526040808320600601549051638d38cd4b60e01b815264ffffffffff9091169181019190915273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af4158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190613172565b600061063b826001611a2b565b610c506040518060e00160405280600060ff1681526020016060815260200160608152602001606081526020016060815260200160608152602001600064ffffffffff1681525090565b60ff808316600090815260046020908152604091829020825160e08101845281549094168452600181018054845181850281018501909552808552919385840193909290830182828015610ccd57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610caf575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015610d9957600084815260209081902083018054604080518285028101850190915281815292830182828015610d8557602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610d425790505b505050505081526020019060010190610cfb565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610e6457600084815260209081902083018054604080518285028101850190915281815292830182828015610e5057602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610e0d5790505b505050505081526020019060010190610dc6565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610f7157838290600052602060002001805480602002602001604051908101604052809291908181526020016000905b82821015610f5e57600084815260209081902083018054604080518285028101850190915281815292830182828015610f4a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610f0c5790505b505050505081526020019060010190610ec5565b5050505081526020019060010190610e91565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015610fe657602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610fb75790505b50505091835250506006919091015464ffffffffff1660209091015292915050565b60008080611015336104a0565b61102f60015b60065462010000900460ff16610459600390565b61105a576006546040516313e3076760e31b81526201000090910460ff1660048201526024016104e8565b875160000361107c576040516357e3390360e01b815260040160405180910390fd5b600754156110a257604051638a25989560e01b815260ff831660048201526024016104e8565b6110ae88888888611a8f565b600654610100900460ff166000818152600460209081526040909120805460ff1916831781558a519294506110eb926001909101918b01906125a8565b5060ff821660009081526004602090815260409091208851611115926002909201918a019061260d565b5060ff82166000908152600460209081526040909120875161113f9260039092019189019061260d565b5060ff82166000908152600460208181526040909220875161116993919092019190880190612666565b50875160075560036006805462ff000019166201000060ff938416021790819055610100900416604051632b10f60d60e21b815260ff8216600482015290925073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156111e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120991906130d0565b60408051602081019290925281018590526060016040516020818303038152906040528051906020012090506112c07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ba9190613145565b82611b90565b60ff83166000908152600360205260409081902080546001600160a01b0319166001600160a01b038416908117909155905163189acdbd60e31b8152306004820152919450849163c4d66de890602401600060405180830381600087803b15801561132a57600080fd5b505af115801561133e573d6000803e3d6000fd5b50506040805160ff87168152602081018690526001600160a01b0385168183015290517f6529cb4b9a24b8de97cbd0802b1c3d02a8c8aed37388204e2f5bc3013793977e9350908190036060019150a150955095509592505050565b60006113af8460015b60ff9081169116141590565b156113bc5750600061081c565b6113c7836001611a2b565b80156113d957506113d9826002611a2b565b156113e65750600161081c565b6113f1836002611a2b565b80156114035750611403826003611a2b565b156114105750600161081c565b61141b836003611a2b565b801561142d575061142d826002611a2b565b1561143a5750600161081c565b611445836003611a2b565b80156114575750611457826003611a2b565b156114645750600161081c565b61146f836003611a2b565b80156114815750611481826004611a2b565b1561148e5750600161081c565b5060009392505050565b60006114a3336104a0565b6114ad600161101b565b6114d8576006546040516316997edd60e11b81526201000090910460ff1660048201526024016104e8565b60008060006114e685611bfe565b92509250925060075460000361150f57604051630a7d531760e31b815260040160405180910390fd5b6000600160075461152091906131b4565b60ff83166000908152600460205260408120600101805492935090918390811061154c5761154c6131c7565b600091825260208083209091015460ff8616835260038252604080842054600490935290922060020180546001600160a01b0393841694506117d89392909216918a9190869081106115a0576115a06131c7565b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561162657602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116115e35790505b50505060ff8916600090815260046020526040902060030180549092508891508110611654576116546131c7565b906000526020600020018054806020026020016040519081016040528092919081815260200182805480156116da57602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116116975790505b5050505050600460008960ff1660ff168152602001908152602001600020600401878154811061170c5761170c6131c7565b90600052602060002001805480602002602001604051908101604052809291908181526020016000905b828210156117cf576000848152602090819020830180546040805182850281018501909152818152928301828280156117bb57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161177d5790505b505050505081526020019060010190611736565b50505050611f9e565b60078290556006805462ff000019166203000017905560ff83811660009081526004602081815260408084206005018054600181018255908552938290209184049091018054601f9094166101000a8086021990941694891693909302939093179091559051635382852b60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163a7050a569161188991899188918a910161322d565b6020604051808303816000875af11580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc91906132eb565b9550866001600160a01b031663138461e06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050505050505050919050565b6000806119616119436000546001600160a01b031690565b863061195360046000898b613306565b61195c91613330565b612209565b9150915081611a245763ffffffff811615611a01576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906119bc90889088908890600401613360565b600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b50506000805460ff60a01b1916905550611a249050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104e8565b5050505050565b60ff828116908216145b92915050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60005b8451811015611a245760005b848281518110611ab057611ab06131c7565b602002602001015151811015611b7d576000858381518110611ad457611ad46131c7565b60200260200101518281518110611aed57611aed6131c7565b60200260200101519050611b1481611b03612315565b6001600160401b0390811691161490565b15611b6a57868381518110611b2b57611b2b6131c7565b60209081029190910101516040516313f9006960e01b81526001600160a01b0390911660048201526001600160401b03821660248201526044016104e8565b5080611b75816133a0565b915050611a9e565b5080611b88816133a0565b915050611a92565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116611a35576040516330be1a3d60e21b815260040160405180910390fd5b6040805160e08101825260008082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263b68d180960e01b600482015290919081906001600160a01b038516906301ffc9a790602401602060405180830381865afa158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190613172565b611cd057604051631fdf992160e01b81526001600160a01b03851660048201526024016104e8565b60003390506000856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d399190613145565b9050856001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9d91906133b9565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e16919061311d565b9250856001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7a919061311d565b9350856001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611eba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ee29190810190613441565b9450611eef86868461238c565b600654610100900460ff166000818152600360205260409020546001600160a01b039081169083168114611f515760405163179dce5160e11b81526001600160a01b03808a1660048301528085166024830152821660448201526064016104e8565b60ff80861690831614611f9357604051632dd6635560e21b81526001600160a01b038916600482015260ff8087166024830152831660448201526064016104e8565b505050509193909250565b60005b82518110156120d157856001600160a01b03166308d6122d86848481518110611fcc57611fcc6131c7565b6020026020010151868581518110611fe657611fe66131c7565b6020908102919091010151604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561204a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206e9190613513565b6040518463ffffffff1660e01b815260040161208c93929190613530565b600060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b5050505080806120c9906133a0565b915050611fa1565b5060005b835181101561071a57856001600160a01b03166325c471a08583815181106120ff576120ff6131c7565b6020908102919091010151604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015612163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121879190613513565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038816602482015260006044820152606401600060405180830381600087803b1580156121de57600080fd5b505af11580156121f2573d6000803e3d6000fd5b505050508080612201906133a0565b9150506120d5565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612278919061356d565b600060405180830381855afa9150503d80600081146122b3576040519150601f19603f3d011682016040523d82523d6000602084013e6122b8565b606091505b5091509150811561230a5760408151106122ea57808060200190518101906122e09190613589565b909450925061230a565b602081511061230a57808060200190518101906123079190613172565b93505b505094509492505050565b6040516368aebf7b60e01b81526000600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015612368573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190613513565b826001600160a01b031682608001516001600160a01b0316146123d45760405163396d48c960e11b81526001600160a01b0384166004820181905260248201526044016104e8565b60608201511561240f5760608201516040516376d381b160e01b81526001600160a01b038516600482015290151560248201526044016104e8565b61241f82604001516113a3603c90565b1561245e576040828101519051630c6c87c560e41b81526001600160a01b0385166004820152603c602482015260ff90911660448201526064016104e8565b60a08201516001600160a01b03808216908316146124aa576040516314cc941d60e01b81526001600160a01b0380861660048301528084166024830152821660448201526064016104e8565b836001600160a01b0316816001600160a01b0316036124e75760405163f80468a760e01b81526001600160a01b03851660048201526024016104e8565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125719190613172565b156125a25760405163976310fb60e01b81526001600160a01b038086166004830152821660248201526044016104e8565b50505050565b8280548282559060005260206000209081019282156125fd579160200282015b828111156125fd57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906125c8565b506126099291506126bf565b5090565b82805482825590600052602060002090810192821561265a579160200282015b8281111561265a578251805161264a9184916020909101906126d4565b509160200191906001019061262d565b50612609929150612787565b8280548282559060005260206000209081019282156126b3579160200282015b828111156126b357825180516126a39184916020909101906127a4565b5091602001919060010190612686565b506126099291506127fd565b5b8082111561260957600081556001016126c0565b828054828255906000526020600020906003016004900481019282156125fd5791602002820160005b8382111561274757835183826101000a8154816001600160401b0302191690836001600160401b0316021790555092602001926008016020816007010492830192600103026126fd565b801561277a5782816101000a8154906001600160401b030219169055600801602081600701049283019260010302612747565b50506126099291506126bf565b8082111561260957600061279b828261281a565b50600101612787565b8280548282559060005260206000209081019282156127f1579160200282015b828111156127f157825180516127e1918491602090910190612842565b50916020019190600101906127c4565b506126099291506128dc565b8082111561260957600061281182826128f9565b506001016127fd565b50805460008255600301600490049060005260206000209081019061283f91906126bf565b50565b828054828255906000526020600020906007016008900481019282156125fd5791602002820160005b838211156128ac57835183826101000a81548163ffffffff021916908360e01c0217905550926020019260040160208160030104928301926001030261286b565b801561277a5782816101000a81549063ffffffff02191690556004016020816003010492830192600103026128ac565b808211156126095760006128f08282612917565b506001016128dc565b508054600082559060005260206000209081019061283f91906128dc565b50805460008255600701600890049060005260206000209081019061283f91906126bf565b60ff8116811461283f57600080fd5b60006020828403121561295d57600080fd5b813561081c8161293c565b6001600160a01b038116811461283f57600080fd5b60006020828403121561298f57600080fd5b813561081c81612968565b6000806000606084860312156129af57600080fd5b83356129ba81612968565b92506020840135915060408401356129d181612968565b809150509250925092565b600081518084526020808501945080840160005b83811015612a155781516001600160a01b0316875295820195908201906001016129f0565b509495945050505050565b600081518084526020808501808196508360051b810191508286016000805b86811015612a97578385038a52825180518087529087019087870190845b81811015612a825783516001600160401b031683529289019291890191600101612a5d565b50509a87019a95505091850191600101612a3f565b509298975050505050505050565b600081518084526020808501945080840160005b83811015612a155781516001600160e01b03191687529582019590820190600101612ab9565b600081518084526020808501808196506005915083821b81018387016000805b87811015612b68578484038b5282518051808652908801908886019080891b87018a01855b82811015612b5257601f19898303018452612b40828651612aa5565b948c0194938c01939150600101612b24565b509d8a019d965050509287019250600101612aff565b50919998505050505050505050565b600081518084526020808501945080840160005b83811015612a1557815160ff1687529582019590820190600101612b8b565b6020815260ff82511660208201526000602083015160e06040840152612bd46101008401826129dc565b90506040840151601f1980858403016060860152612bf28383612a20565b92506060860151915080858403016080860152612c0f8383612a20565b925060808601519150808584030160a0860152612c2c8383612adf565b925060a08601519150808584030160c086015250612c4a8282612b77565b91505060c0840151612c6560e085018264ffffffffff169052565b509392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715612ca557612ca5612c6d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612cd357612cd3612c6d565b604052919050565b60006001600160401b03821115612cf457612cf4612c6d565b5060051b60200190565b6001600160401b038116811461283f57600080fd5b600082601f830112612d2457600080fd5b81356020612d39612d3483612cdb565b612cab565b828152600592831b8501820192828201919087851115612d5857600080fd5b8387015b85811015612df75780356001600160401b03811115612d7b5760008081fd5b8801603f81018a13612d8d5760008081fd5b858101356040612d9f612d3483612cdb565b82815291851b8301810191888101908d841115612dbc5760008081fd5b938201935b83851015612de65784359250612dd683612cfe565b8282529389019390890190612dc1565b885250505093850193508401612d5c565b5090979650505050505050565b600082601f830112612e1557600080fd5b612e22612d348335612cdb565b82358082526020808301929160051b85010185811115612e4157600080fd5b602085015b81811015612f73576001600160401b0381351115612e6357600080fd5b8035860187603f820112612e7657600080fd5b6020810135612e87612d3482612cdb565b81815260059190911b82016040019060208101908a831115612ea857600080fd5b604084015b83811015612f5d576001600160401b0381351115612eca57600080fd5b803585018c605f820112612edd57600080fd5b6040810135612eee612d3482612cdb565b81815260059190911b82016060019060208101908f831115612f0f57600080fd5b6060840193505b82841015612f485783356001600160e01b0319811614612f3557600080fd5b8335825260209384019390910190612f16565b86525050602093840193919091019050612ead565b5087525050602094850194919091019050612e46565b509095945050505050565b600080600080600060a08688031215612f9657600080fd5b85356001600160401b0380821115612fad57600080fd5b818801915088601f830112612fc157600080fd5b81356020612fd1612d3483612cdb565b82815260059290921b8401810191818101908c841115612ff057600080fd5b948201945b8386101561301757853561300881612968565b82529482019490820190612ff5565b9950508901359250508082111561302d57600080fd5b61303989838a01612d13565b9550604088013591508082111561304f57600080fd5b61305b89838a01612d13565b9450606088013591508082111561307157600080fd5b5061307e88828901612e04565b95989497509295608001359392505050565b6000806000606084860312156130a557600080fd5b83356130b08161293c565b925060208401356130c08161293c565b915060408401356129d18161293c565b6000602082840312156130e257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611a3557611a356130e9565b805161063e8161293c565b60006020828403121561312f57600080fd5b815161081c8161293c565b805161063e81612968565b60006020828403121561315757600080fd5b815161081c81612968565b8051801515811461063e57600080fd5b60006020828403121561318457600080fd5b61081c82613162565b60006020828403121561319f57600080fd5b815164ffffffffff8116811461081c57600080fd5b81810381811115611a3557611a356130e9565b634e487b7160e01b600052603260045260246000fd5b60005b838110156131f85781810151838201526020016131e0565b50506000910152565b600081518084526132198160208601602086016131dd565b601f01601f19169290920160200192915050565b606080825284516001600160601b03908116838301526020860151166080830152604085015160ff1660a083015284015180151560c08301526000905060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e06101208401526132b0610140840182613201565b9150506132c2602083018560ff169052565b60ff831660408301525b949350505050565b80516001600160601b038116811461063e57600080fd5b6000602082840312156132fd57600080fd5b61081c826132d4565b6000808585111561331657600080fd5b8386111561332357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156133585780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000600182016133b2576133b26130e9565b5060010190565b6000602082840312156133cb57600080fd5b815162ffffff8116811461081c57600080fd5b600082601f8301126133ef57600080fd5b81516001600160401b0381111561340857613408612c6d565b61341b601f8201601f1916602001612cab565b81815284602083860101111561343057600080fd5b6132cc8260208301602087016131dd565b60006020828403121561345357600080fd5b81516001600160401b038082111561346a57600080fd5b9083019060e0828603121561347e57600080fd5b613486612c83565b61348f836132d4565b815261349d602084016132d4565b60208201526134ae60408401613112565b60408201526134bf60608401613162565b60608201526134d06080840161313a565b60808201526134e160a0840161313a565b60a082015260c0830151828111156134f857600080fd5b613504878286016133de565b60c08301525095945050505050565b60006020828403121561352557600080fd5b815161081c81612cfe565b6001600160a01b038416815260606020820181905260009061355490830185612aa5565b90506001600160401b0383166040830152949350505050565b6000825161357f8184602087016131dd565b9190910192915050565b6000806040838503121561359c57600080fd5b6135a583613162565b9150602083015163ffffffff811681146135be57600080fd5b80915050925092905056fea26469706673582212209b770613a550db127f56b3c4738edf10775501e35d6e7a5a9219d0cbfd6c270964736f6c6343000814003360806040523480156200001157600080fd5b50604051620045923803806200459283398101604081905262000034916200089e565b33620000408162000174565b50600180546001600160a01b03191633179055604051600090620000649062000873565b604051809103906000f08015801562000081573d6000803e3d6000fd5b5060405163189acdbd60e31b81523060048201529091506001600160a01b0382169063c4d66de890602401600060405180830381600087803b158015620000c757600080fd5b505af1158015620000dc573d6000803e3d6000fd5b50505050620000f181620001c860201b60201c565b60018054600160a01b600160e01b031916613d0960a61b179055620001156200024c565b6200011f620003a5565b620001366200012d62000456565b846000620004d7565b6200014d62000144620005f1565b836000620004d7565b6200016b6200015b620005f1565b6200016562000456565b6200062e565b505050620009a0565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60005433906001600160a01b03168114620002055760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b6000036200023d576040516361798f2f60e11b81526001600160a01b0383166004820152602401620001fc565b620002488262000174565b5050565b604080516001808252818301909252600091602080830190803683370190505090506335a5af9260e01b816000815181106200028c576200028c620008d6565b6001600160e01b031990921660209283029190910190910152620002bb3082620002b562000456565b620007b1565b604080516003808252608082019092526000916020820160608036833701905050905063186664d860e01b81600081518110620002fc57620002fc620008d6565b6001600160e01b0319909216602092830291909101909101528051630af43fe160e01b9082906001908110620003365762000336620008d6565b6001600160e01b03199092166020928302919091019091015280516328a1120960e21b9082906002908110620003705762000370620008d6565b6001600160e01b03199092166020928302919091019091015260015462000248906001600160a01b031682620002b562000456565b60408051600280825260608201835260009260208301908036833701905050905063fdd9ec7d60e01b81600081518110620003e457620003e4620008d6565b6001600160e01b0319909216602092830291909101909101528051636a9326bd60e11b90829060019081106200041e576200041e620008d6565b6001600160e01b03199092166020928302919091019091015260015462000453906001600160a01b031682620002b5620005f1565b50565b6040516368aebf7b60e01b81526105dc600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024015b602060405180830381865af4158015620004ac573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d2919062000902565b905090565b6000546001600160a01b0316604051631517388760e21b81526001600160401b03851660048201526001600160a01b0391909116906325c471a09073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af41580156200054f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000575919062000902565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038516602482015263ffffffff841660448201526064015b600060405180830381600087803b158015620005d357600080fd5b505af1158015620005e8573d6000803e3d6000fd5b50505050505050565b6040516368aebf7b60e01b8152610640600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024016200048e565b6000546001600160a01b0316604051631517388760e21b81526001600160401b03841660048201526001600160a01b0391909116906330cae1879073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015620006a6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620006cc919062000902565b604051631517388760e21b81526001600160401b038516600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801562000725573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200074b919062000902565b6040516001600160e01b031960e085901b1681526001600160401b03928316600482015291166024820152604401600060405180830381600087803b1580156200079457600080fd5b505af1158015620007a9573d6000803e3d6000fd5b505050505050565b6000546001600160a01b0316604051631517388760e21b81526001600160401b03831660048201526001600160a01b0391909116906308d6122d908590859073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af41580156200082d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000853919062000902565b6040518463ffffffff1660e01b8152600401620005b89392919062000929565b612cfc806200189683390190565b80516001600160a01b03811681146200089957600080fd5b919050565b60008060408385031215620008b257600080fd5b620008bd8362000881565b9150620008cd6020840162000881565b90509250929050565b634e487b7160e01b600052603260045260246000fd5b6001600160401b03811681146200045357600080fd5b6000602082840312156200091557600080fd5b81516200092281620008ec565b9392505050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b818110156200097e5784516001600160e01b0319168352938301939183019160010162000956565b50506001600160401b0395909516604094909401939093525091949350505050565b610ee680620009b06000396000f3fe608060405234801561001057600080fd5b50600436106100935760003560e01c80637a9e5e4b116100665780637a9e5e4b1461011357806384d34938146101265780638fb3603714610130578063b700961314610151578063bf7e214f1461016457600080fd5b806308d6122d1461009857806335a5af92146100ad57806361bc3b41146100c057806364fc3142146100f0575b600080fd5b6100ab6100a6366004610b54565b61017f565b005b6100ab6100bb366004610bb5565b61019c565b6100d36100ce366004610bd7565b6102ee565b6040516001600160401b0390911681526020015b60405180910390f35b6101036100fe366004610c34565b610324565b60405190151581526020016100e7565b6100ab610121366004610bb5565b610447565b6100d3620f424081565b6101386104c2565b6040516001600160e01b031990911681526020016100e7565b61010361015f366004610c6b565b6104e8565b6000546040516001600160a01b0390911681526020016100e7565b61018c335b600036610512565b610197838383610612565b505050565b6101a533610184565b60408051600580825260c082019092526000916020820160a0803683370190505090506309824a8060e01b816000815181106101e3576101e3610cae565b6001600160e01b0319909216602092830291909101909101528051635fa4428d60e01b908290600190811061021a5761021a610cae565b6001600160e01b0319909216602092830291909101909101528051630965fad760e11b908290600290811061025157610251610cae565b6001600160e01b031990921660209283029190910190910152805163378afb8760e11b908290600390811061028857610288610cae565b6001600160e01b031990921660209283029190910190910152805163f16ddea160e01b90829060049081106102bf576102bf610cae565b6001600160e01b0319909216602092830291909101909101526102ea82826102e5610706565b610612565b5050565b60006102f933610184565b600061030361077f565b9050610310848483610612565b61031c8186600061080f565b509392505050565b6000806103396000546001600160a01b031690565b604051631517388760e21b81526001600160401b03851660048201526001600160a01b03919091169063d1f856ee9073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af41580156103a4573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906103c89190610cc4565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b03871660248201526044016040805180830381865afa15801561041a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061043e9190610cf1565b50949350505050565b60005433906001600160a01b031681146104835760405162d1953b60e31b81526001600160a01b03821660048201526024015b60405180910390fd5b816001600160a01b03163b6000036104b9576040516361798f2f60e11b81526001600160a01b038316600482015260240161047a565b6102ea826108f1565b60008054600160a01b900460ff166104da5750600090565b638fb3603760e01b5b905090565b6000806105086105006000546001600160a01b031690565b868686610945565b5095945050505050565b60008061054861052a6000546001600160a01b031690565b863061053a60046000898b610d26565b61054391610d50565b610945565b915091508161060b5763ffffffff8116156105e8576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906105a390889088908890600401610d80565b600060405180830381600087803b1580156105bd57600080fd5b505af11580156105d1573d6000803e3d6000fd5b50506000805460ff60a01b191690555061060b9050565b60405162d1953b60e31b81526001600160a01b038616600482015260240161047a565b5050505050565b6000546001600160a01b0316604051631517388760e21b81526001600160401b03831660048201526001600160a01b0391909116906308d6122d908590859073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561068d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b19190610cc4565b6040518463ffffffff1660e01b81526004016106cf93929190610dc0565b600060405180830381600087803b1580156106e957600080fd5b505af11580156106fd573d6000803e3d6000fd5b50505050505050565b6040516368aebf7b60e01b8152610640600482015260009073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b906024015b602060405180830381865af415801561075b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104e39190610cc4565b600073__$1d92393fa9ccd763988368ce8a1cb90d26$__6368aebf7b6001601481819054906101000a90046001600160401b0316809291906107c090610e32565b91906101000a8154816001600160401b0302191690836001600160401b031602179055506040518263ffffffff1660e01b815260040161073e91906001600160401b0391909116815260200190565b6000546001600160a01b0316604051631517388760e21b81526001600160401b03851660048201526001600160a01b0391909116906325c471a09073__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015610886573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906108aa9190610cc4565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038516602482015263ffffffff841660448201526064016106cf565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b179052516109b49190610e66565b600060405180830381855afa9150503d80600081146109ef576040519150601f19603f3d011682016040523d82523d6000602084013e6109f4565b606091505b50915091508115610a46576040815110610a265780806020019051810190610a1c9190610cf1565b9094509250610a46565b6020815110610a465780806020019051810190610a439190610e95565b93505b505094509492505050565b80356001600160a01b0381168114610a6857600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b80356001600160e01b031981168114610a6857600080fd5b600082601f830112610aac57600080fd5b813560206001600160401b0380831115610ac857610ac8610a6d565b8260051b604051601f19603f83011681018181108482111715610aed57610aed610a6d565b604052938452858101830193838101925087851115610b0b57600080fd5b83870191505b84821015610b3157610b2282610a83565b83529183019190830190610b11565b979650505050505050565b6001600160401b0381168114610b5157600080fd5b50565b600080600060608486031215610b6957600080fd5b610b7284610a51565b925060208401356001600160401b03811115610b8d57600080fd5b610b9986828701610a9b565b9250506040840135610baa81610b3c565b809150509250925092565b600060208284031215610bc757600080fd5b610bd082610a51565b9392505050565b600080600060608486031215610bec57600080fd5b610bf584610a51565b9250610c0360208501610a51565b915060408401356001600160401b03811115610c1e57600080fd5b610c2a86828701610a9b565b9150509250925092565b60008060408385031215610c4757600080fd5b610c5083610a51565b91506020830135610c6081610b3c565b809150509250929050565b600080600060608486031215610c8057600080fd5b610c8984610a51565b9250610c9760208501610a51565b9150610ca560408501610a83565b90509250925092565b634e487b7160e01b600052603260045260246000fd5b600060208284031215610cd657600080fd5b8151610bd081610b3c565b80518015158114610a6857600080fd5b60008060408385031215610d0457600080fd5b610d0d83610ce1565b9150602083015163ffffffff81168114610c6057600080fd5b60008085851115610d3657600080fd5b83861115610d4357600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015610d785780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b6001600160a01b038416815260606020808301829052845191830182905260009185820191906080850190845b81811015610e135784516001600160e01b03191683529383019391830191600101610ded565b50508093505050506001600160401b0383166040830152949350505050565b60006001600160401b03808316818103610e5c57634e487b7160e01b600052601160045260246000fd5b6001019392505050565b6000825160005b81811015610e875760208186018101518583015201610e6d565b506000920191825250919050565b600060208284031215610ea757600080fd5b610bd082610ce156fea264697066735822122093992e0a6b83b183870ed307c9a3c230cc877d309c2b08c9869631108c072c5a64736f6c63430008140033608060405234801561001057600080fd5b50612cdc806100206000396000f3fe6080604052600436106101ee5760003560e01c80636d5115bd1161010d578063b7009613116100a0578063d1f856ee1161006f578063d1f856ee1461060e578063d22b59891461062e578063d6bb62c61461064e578063f801a6981461066e578063fe0776f5146106a857600080fd5b8063b70096131461057c578063b7d2b162146105b8578063c4d66de8146105d8578063cc1b6c81146105f857600080fd5b8063a166aa89116100dc578063a166aa89146104d1578063a64d95ce14610501578063abd9bd2a14610521578063ac9650d81461054f57600080fd5b80636d5115bd1461045c57806375b238fc1461047c578063853551b81461049157806394c7d7ee146104b157600080fd5b806330cae187116101855780634665096d116101545780634665096d146103e65780634c1da1e2146103fc578063529629521461041c578063530dd4561461043c57600080fd5b806330cae187146103545780633adc277a146103745780633ca7c02a146103ab5780634136a33c146103c657600080fd5b806318ff183c116101c157806318ff183c146102a75780631cff79cd146102c757806325c471a0146102da5780633078f114146102fa57600080fd5b806308d6122d146101f35780630b0a93ba1461021557806312be872714610252578063167bd39514610287575b600080fd5b3480156101ff57600080fd5b5061021361020e36600461255f565b6106c8565b005b34801561022157600080fd5b506102356102303660046125c5565b610723565b6040516001600160401b0390911681526020015b60405180910390f35b34801561025e57600080fd5b5061027261026d3660046125c5565b61075c565b60405163ffffffff9091168152602001610249565b34801561029357600080fd5b506102136102a23660046125e0565b6107a8565b3480156102b357600080fd5b506102136102c236600461261e565b6107be565b6102726102d536600461268d565b610825565b3480156102e657600080fd5b506102136102f53660046126f5565b61096b565b34801561030657600080fd5b5061031a61031536600461273a565b61098d565b604051610249949392919065ffffffffffff948516815263ffffffff93841660208201529190921660408201529116606082015260800190565b34801561036057600080fd5b5061021361036f366004612756565b610a04565b34801561038057600080fd5b5061039461038f366004612789565b610a16565b60405165ffffffffffff9091168152602001610249565b3480156103b757600080fd5b506102356001600160401b0381565b3480156103d257600080fd5b506102726103e1366004612789565b610a5b565b3480156103f257600080fd5b5062093a80610272565b34801561040857600080fd5b506102726104173660046127a2565b610a88565b34801561042857600080fd5b50610213610437366004612756565b610ac4565b34801561044857600080fd5b506102356104573660046125c5565b610ad6565b34801561046857600080fd5b506102356104773660046127d5565b610b08565b34801561048857600080fd5b50610235600081565b34801561049d57600080fd5b506102136104ac366004612803565b610b51565b3480156104bd57600080fd5b506102136104cc36600461268d565b610be8565b3480156104dd57600080fd5b506104f16104ec3660046127a2565b610c94565b6040519015158152602001610249565b34801561050d57600080fd5b5061021361051c366004612821565b610ccd565b34801561052d57600080fd5b5061054161053c36600461284b565b610cdf565b604051908152602001610249565b34801561055b57600080fd5b5061056f61056a3660046128af565b610d18565b6040516102499190612914565b34801561058857600080fd5b5061059c61059736600461298e565b610e0c565b60408051921515835263ffffffff909116602083015201610249565b3480156105c457600080fd5b506102136105d336600461273a565b610e93565b3480156105e457600080fd5b506102136105f33660046127a2565b610eaa565b34801561060457600080fd5b5062069780610272565b34801561061a57600080fd5b5061059c61062936600461273a565b610fb7565b34801561063a57600080fd5b506102136106493660046129d9565b611034565b34801561065a57600080fd5b5061027261066936600461284b565b611046565b34801561067a57600080fd5b5061068e6106893660046129f7565b6111b1565b6040805192835263ffffffff909116602083015201610249565b3480156106b457600080fd5b506102136106c336600461273a565b61135c565b6106d0611385565b60005b8281101561071c5761070c858585848181106106f1576106f1612a69565b90506020020160208101906107069190612a7f565b84611400565b61071581612ab2565b90506106d3565b5050505050565b60008061072e61148e565b6001600160401b0393841660009081526001918201602052604090200154600160401b900490921692915050565b60008061076761148e565b6001600160401b03841660009081526001828101602052604090912001549091506107a190600160801b90046001600160701b03166114b2565b9392505050565b6107b0611385565b6107ba82826114d1565b5050565b6107c6611385565b604051637a9e5e4b60e01b81526001600160a01b038281166004830152831690637a9e5e4b90602401600060405180830381600087803b15801561080957600080fd5b505af115801561081d573d6000803e3d6000fd5b505050505050565b60008061083061148e565b90503360008061084283898989611577565b9150915081158015610858575063ffffffff8116155b156108ab57828861086989896115ca565b6040516381c6f24b60e01b81526001600160a01b0393841660048201529290911660248301526001600160e01b03191660448201526064015b60405180910390fd5b60006108b9848a8a8a610cdf565b9050600063ffffffff83161515806108e057506108d582610a16565b65ffffffffffff1615155b156108f1576108ee826115e2565b90505b60038601546109098b6109048c8c6115ca565b6116f6565b87600301819055506109538b8b8b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250349250611738915050565b50600390960195909555509293505050509392505050565b610973611385565b61098783836109818661075c565b846117d5565b50505050565b600080600080600061099d61148e565b6001600160401b038816600090815260018201602090815260408083206001600160a01b038b1684529091529020805465ffffffffffff81169750919250906109f590600160301b90046001600160701b0316611a34565b979a9199509750945050505050565b610a0c611385565b6107ba8282611a57565b600080610a2161148e565b600084815260028201602052604090205490915065ffffffffffff16610a4681611b09565b610a505780610a53565b60005b949350505050565b600080610a6661148e565b600093845260020160205250506040902054600160301b900463ffffffff1690565b600080610a9361148e565b6001600160a01b0384166000908152602082905260409020600101549091506107a1906001600160701b03166114b2565b610acc611385565b6107ba8282611b38565b600080610ae161148e565b6001600160401b039384166000908152600191820160205260409020015490921692915050565b600080610b1361148e565b6001600160a01b0385166000908152602091825260408082206001600160e01b03198716835290925220546001600160401b03169150505b92915050565b610b59611385565b6001600160401b0383161580610b7757506001600160401b03838116145b15610ba05760405163061c6a4360e21b81526001600160401b03841660048201526024016108a2565b826001600160401b03167f1256f5b5ecb89caec12db449738f2fbcd1ba5806cf38f35413f4e5c15bf6a4508383604051610bdb929190612af4565b60405180910390a2505050565b60408051638fb3603760e01b80825291513392918391638fb36037916004808201926020929091908290030181865afa158015610c29573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4d9190612b08565b6001600160e01b03191614610c8057604051630641fee960e31b81526001600160a01b03821660048201526024016108a2565b61071c610c8f85838686610cdf565b6115e2565b600080610c9f61148e565b6001600160a01b0390931660009081526020939093525050604090206001015460ff600160701b9091041690565b610cd5611385565b6107ba8282611bf8565b600084848484604051602001610cf89493929190612b25565b604051602081830303815290604052805190602001209050949350505050565b6060816001600160401b03811115610d3257610d32612b52565b604051908082528060200260200182016040528015610d6557816020015b6060815260200190600190039081610d505790505b50905060005b82811015610e0557610dd530858584818110610d8957610d89612a69565b9050602002810190610d9b9190612b68565b8080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250611d2592505050565b828281518110610de757610de7612a69565b60200260200101819052508080610dfd90612ab2565b915050610d6b565b5092915050565b600080610e1884610c94565b15610e2857506000905080610e8b565b306001600160a01b03861603610e4d57610e428484611d9b565b600091509150610e8b565b6000610e598585610b08565b9050600080610e688389610fb7565b9150915081610e7957600080610e83565b63ffffffff811615815b945094505050505b935093915050565b610e9b611385565b610ea58282611dc0565b505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a008054600160401b810460ff1615906001600160401b0316600081158015610eef5750825b90506000826001600160401b03166001148015610f0b5750303b155b905081158015610f19575080155b15610f375760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610f6157845460ff60401b1916600160401b1785555b610f6a86611ebf565b831561081d57845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a1505050505050565b60008067fffffffffffffffe196001600160401b03851601610fdf575060019050600061102d565b600080610fec868661098d565b5050915091508165ffffffffffff16600014158015611022575061100e611ed3565b65ffffffffffff168265ffffffffffff1611155b9350915061102d9050565b9250929050565b61103c611385565b6107ba8282611ee3565b60008061105161148e565b905033600061106086866115ca565b9050600061107089898989610cdf565b600081815260028601602052604081205491925065ffffffffffff90911690036110b05760405163060a299b60e41b8152600481018290526024016108a2565b826001600160a01b0316896001600160a01b03161461114c5760006110d6600085610fb7565b50905060006110f16110eb6102308c87610b08565b86610fb7565b50905081158015611100575080155b1561114957604051630ff89d4760e21b81526001600160a01b038087166004830152808d1660248301528b1660448201526001600160e01b0319851660648201526084016108a2565b50505b6000818152600285016020526040808220805465ffffffffffff1916908190559051600160301b90910463ffffffff1691829184917fbd9ac67a6e2f6463b80927326310338bcbb4bdb7936ce1365ea3e01067e7b9f791a39998505050505050505050565b60008060006111be61148e565b90503360006111cf828a8a8a611577565b91505060008163ffffffff166111e3611ed3565b6111ed9190612bae565b905063ffffffff82161580611224575060008765ffffffffffff1611801561122457508065ffffffffffff168765ffffffffffff16105b1561123557828a6108698b8b6115ca565b61124f8765ffffffffffff168265ffffffffffff16611faf565b965061125d838b8b8b610cdf565b955061126886611fc5565b83600201600087815260200190815260200160002060000160069054906101000a900463ffffffff1660010194508684600201600088815260200190815260200160002060000160006101000a81548165ffffffffffff021916908365ffffffffffff1602179055508484600201600088815260200190815260200160002060000160066101000a81548163ffffffff021916908363ffffffff1602179055508463ffffffff16867f82a2da5dee54ea8021c6545b4444620291e07ee83be6dd57edb175062715f3b489868e8e8e604051611347959493929190612bcd565b60405180910390a35050505094509492505050565b6001600160a01b0381163314610e9b57604051635f159e6360e01b815260040160405180910390fd5b33600080611394838236612021565b9150915081610ea5578063ffffffff166000036113f05760006113b781366120d9565b5060405163f07e038f60e01b81526001600160a01b03871660048201526001600160401b038216602482015290925060440190506108a2565b610987610c8f8430600036610cdf565b600061140a61148e565b6001600160a01b0385166000818152602083815260408083206001600160e01b0319891680855290835292819020805467ffffffffffffffff19166001600160401b03891690811790915590519283529394507f9ea6790c7dadfd01c9f8b9762b3682607af2c7e79e05a9f9fdf5580dde949151910160405180910390a350505050565b7f40c6c8c28789853c7efd823ab20824bbd71718a8a5915e855f6f288c9a26ad0090565b6000806114c7836001600160701b0316611a34565b5090949350505050565b60006114db61148e565b9050306001600160a01b0384160361151157604051630b40d17960e31b81526001600160a01b03841660048201526024016108a2565b6001600160a01b038316600081815260208390526040908190206001018054851515600160701b0260ff60701b19909116179055517f90d4e7bb7e5d933792b3562e1741306f8be94837e1348dacef9b6f1df56eb13890610bdb90851515815260200190565b600080306001600160a01b0386160361159e57611595868585612021565b915091506115c1565b600483106115ba576115b5868661059787876115ca565b611595565b5060009050805b94509492505050565b60006115d96004828486612c13565b6107a191612c3d565b6000806115ed61148e565b600084815260028201602052604081205491925065ffffffffffff821691600160301b900463ffffffff169082900361163c5760405163060a299b60e41b8152600481018690526024016108a2565b611644611ed3565b65ffffffffffff168265ffffffffffff16111561167757604051630c65b5bd60e11b8152600481018690526024016108a2565b61168082611b09565b156116a157604051631e2975b960e21b8152600481018690526024016108a2565b6000858152600284016020526040808220805465ffffffffffff191690555163ffffffff83169187917f76a2a46953689d4861a5d3f6ed883ad7e6af674a21f8e162707159fc9dde614d9190a3949350505050565b604080516001600160a01b03939093166020808501919091526001600160e01b0319929092168382015280518084038201815260609093019052815191012090565b60608147101561175d5760405163cd78605960e01b81523060048201526024016108a2565b600080856001600160a01b031684866040516117799190612c6d565b60006040518083038185875af1925050503d80600081146117b6576040519150601f19603f3d011682016040523d82523d6000602084013e6117bb565b606091505b50915091506117cb8683836122a5565b9695505050505050565b6000806117e061148e565b905067fffffffffffffffe196001600160401b0387160161181f5760405163061c6a4360e21b81526001600160401b03871660048201526024016108a2565b6001600160401b038616600090815260018201602090815260408083206001600160a01b038916845290915281205465ffffffffffff1615908115611915578563ffffffff1661186d611ed3565b6118779190612bae565b905060405180604001604052808265ffffffffffff1681526020016118a58763ffffffff1663ffffffff1690565b6001600160701b039081169091526001600160401b038a16600090815260018601602090815260408083206001600160a01b038d1684528252909120835181549490920151909216600160301b026001600160a01b031990931665ffffffffffff909116179190911790556119c5565b6001600160401b038816600090815260018401602090815260408083206001600160a01b038b16845290915281205461196191600160301b9091046001600160701b0316908790612301565b6001600160401b038a16600090815260018601602090815260408083206001600160a01b038d168452909152902080546001600160701b03909316600160301b0273ffffffffffffffffffffffffffff000000000000199093169290921790915590505b6040805163ffffffff8716815265ffffffffffff831660208201528315158183015290516001600160a01b038916916001600160401b038b16917ff98448b987f1428e0e230e1f3c6e2ce15b5693eaf31827fbd0b1ec4b424ae7cf9181900360600190a3509695505050505050565b6000806000611a4a84611a45611ed3565b6123ab565b9250925092509193909250565b6000611a6161148e565b90506001600160401b0383161580611a8157506001600160401b03838116145b15611aaa5760405163061c6a4360e21b81526001600160401b03841660048201526024016108a2565b6001600160401b03838116600081815260018481016020526040808320909101805467ffffffffffffffff19169487169485179055517f1fd6dd7631312dfac2205b52913f99de03b4d7e381d5d27d3dbfe0713e6e63409190a3505050565b6000611b13611ed3565b65ffffffffffff16611b2862093a8084612bae565b65ffffffffffff16111592915050565b6000611b4261148e565b90506001600160401b0383161580611b6257506001600160401b03838116145b15611b8b5760405163061c6a4360e21b81526001600160401b03841660048201526024016108a2565b6001600160401b0383811660008181526001848101602052604080832090910180546fffffffffffffffff00000000000000001916600160401b958816958602179055517f7a8059630b897b5de4c08ade69f8b90c3ead1f8596d62d10b6c4d14a0afb4ae29190a3505050565b6000611c0261148e565b905067fffffffffffffffe196001600160401b03841601611c415760405163061c6a4360e21b81526001600160401b03841660048201526024016108a2565b6001600160401b03831660009081526001828101602052604082200154611c7c90600160801b90046001600160701b03168462069780612301565b6001600160401b038616600081815260018087016020526040918290200180546001600160701b03909516600160801b026dffffffffffffffffffffffffffff60801b199095169490941790935591519092507ffeb69018ee8b8fd50ea86348f1267d07673379f72cffdeccec63853ee8ce8b4890611d17908690859063ffffffff92909216825265ffffffffffff16602082015260400190565b60405180910390a250505050565b6060600080846001600160a01b031684604051611d429190612c6d565b600060405180830381855af49150503d8060008114611d7d576040519150601f19603f3d011682016040523d82523d6000602084013e611d82565b606091505b5091509150611d928583836122a5565b95945050505050565b600080611da661148e565b9050611db284846116f6565b600390910154149392505050565b600080611dcb61148e565b905067fffffffffffffffe196001600160401b03851601611e0a5760405163061c6a4360e21b81526001600160401b03851660048201526024016108a2565b6001600160401b038416600090815260018201602090815260408083206001600160a01b038716845290915281205465ffffffffffff169003611e51576000915050610b4b565b6001600160401b038416600081815260018301602090815260408083206001600160a01b038816808552925280832080546001600160a01b0319169055519092917ff229baa593af28c41b1d16b748cd7688f0c83aaf92d4be41c44005defe84c16691a35060019392505050565b611ec76123ff565b611ed08161244a565b50565b6000611ede4261248a565b905090565b6000611eed61148e565b90506000611f2583620697806001600160a01b0387166000908152602086905260409020600101546001600160701b03169190612301565b6001600160a01b0386166000818152602086815260409182902060010180546dffffffffffffffffffffffffffff19166001600160701b039690961695909517909455805163ffffffff8816815265ffffffffffff841694810194909452919350917fa56b76017453f399ec2327ba00375dbfb1fd070ff854341ad6191e6a2e2de19c9101611d17565b6000818311611fbe57816107a1565b5090919050565b6000611fcf61148e565b600083815260028201602052604090205490915065ffffffffffff1680158015906120005750611ffe81611b09565b155b15610ea55760405163813e945960e01b8152600481018490526024016108a2565b600080600483101561203857506000905080610e8b565b306001600160a01b0386160361205b57610e423061205686866115ca565b611d9b565b600080600061206a87876120d9565b925092509250826120845760008094509450505050610e8b565b600080612091848b610fb7565b91509150816120ab57600080965096505050505050610e8b565b6120c18363ffffffff168263ffffffff16611faf565b63ffffffff8116159b909a5098505050505050505050565b6000808060048410156120f45750600091508190508061229e565b600061210086866115ca565b90506001600160e01b031981166310a6aa3760e31b148061213157506001600160e01b031981166330cae18760e01b145b8061214c57506001600160e01b0319811663294b14a960e11b145b8061216757506001600160e01b03198116635326cae760e11b145b8061218257506001600160e01b0319811663d22b598960e01b145b156121985760016000809350935093505061229e565b6001600160e01b0319811663063fc60f60e21b14806121c757506001600160e01b0319811663167bd39560e01b145b806121e257506001600160e01b031981166308d6122d60e01b145b156122245760006121f760246004888a612c13565b81019061220491906127a2565b9050600061221182610a88565b6001965060009550935061229e92505050565b6001600160e01b0319811663012e238d60e51b148061225357506001600160e01b03198116635be958b160e11b145b1561229157600061226860246004888a612c13565b81019061227591906125c5565b9050600161228282610ad6565b6000945094509450505061229e565b6000806000935093509350505b9250925092565b6060826122ba576122b5826124c1565b6107a1565b81511580156122d157506001600160a01b0384163b155b156122fa57604051639996b31560e01b81526001600160a01b03851660048201526024016108a2565b50806107a1565b6000806000612318866001600160701b03166114b2565b905060006123558563ffffffff168763ffffffff168463ffffffff161161234057600061234a565b61234a8885612c89565b63ffffffff16611faf565b90508063ffffffff16612366611ed3565b6123709190612bae565b925063ffffffff8616602083901b67ffffffff0000000016604085901b6dffffffffffff000000000000000016171793505050935093915050565b6000808069ffffffffffffffffffff602086901c166001600160701b03861665ffffffffffff604088901c81169087168111156123ea578282826123ef565b816000805b9550955095505050509250925092565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a0054600160401b900460ff1661244857604051631afcd79f60e31b815260040160405180910390fd5b565b6124526123ff565b6001600160a01b03811661247c57604051630409d6d160e11b8152600060048201526024016108a2565b6107ba6000826000806117d5565b600065ffffffffffff8211156124bd576040516306dfcc6560e41b815260306004820152602481018390526044016108a2565b5090565b8051156124d15780518082602001fd5b604051630a12f52160e11b815260040160405180910390fd5b6001600160a01b0381168114611ed057600080fd5b60008083601f84011261251157600080fd5b5081356001600160401b0381111561252857600080fd5b6020830191508360208260051b850101111561102d57600080fd5b80356001600160401b038116811461255a57600080fd5b919050565b6000806000806060858703121561257557600080fd5b8435612580816124ea565b935060208501356001600160401b0381111561259b57600080fd5b6125a7878288016124ff565b90945092506125ba905060408601612543565b905092959194509250565b6000602082840312156125d757600080fd5b6107a182612543565b600080604083850312156125f357600080fd5b82356125fe816124ea565b91506020830135801515811461261357600080fd5b809150509250929050565b6000806040838503121561263157600080fd5b823561263c816124ea565b91506020830135612613816124ea565b60008083601f84011261265e57600080fd5b5081356001600160401b0381111561267557600080fd5b60208301915083602082850101111561102d57600080fd5b6000806000604084860312156126a257600080fd5b83356126ad816124ea565b925060208401356001600160401b038111156126c857600080fd5b6126d48682870161264c565b9497909650939450505050565b803563ffffffff8116811461255a57600080fd5b60008060006060848603121561270a57600080fd5b61271384612543565b92506020840135612723816124ea565b9150612731604085016126e1565b90509250925092565b6000806040838503121561274d57600080fd5b61263c83612543565b6000806040838503121561276957600080fd5b61277283612543565b915061278060208401612543565b90509250929050565b60006020828403121561279b57600080fd5b5035919050565b6000602082840312156127b457600080fd5b81356107a1816124ea565b6001600160e01b031981168114611ed057600080fd5b600080604083850312156127e857600080fd5b82356127f3816124ea565b91506020830135612613816127bf565b60008060006040848603121561281857600080fd5b6126ad84612543565b6000806040838503121561283457600080fd5b61283d83612543565b9150612780602084016126e1565b6000806000806060858703121561286157600080fd5b843561286c816124ea565b9350602085013561287c816124ea565b925060408501356001600160401b0381111561289757600080fd5b6128a38782880161264c565b95989497509550505050565b600080602083850312156128c257600080fd5b82356001600160401b038111156128d857600080fd5b6128e4858286016124ff565b90969095509350505050565b60005b8381101561290b5781810151838201526020016128f3565b50506000910152565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561298157878503603f1901845281518051808752612962818989018a85016128f0565b601f01601f19169590950186019450928501929085019060010161293b565b5092979650505050505050565b6000806000606084860312156129a357600080fd5b83356129ae816124ea565b925060208401356129be816124ea565b915060408401356129ce816127bf565b809150509250925092565b600080604083850312156129ec57600080fd5b823561283d816124ea565b60008060008060608587031215612a0d57600080fd5b8435612a18816124ea565b935060208501356001600160401b03811115612a3357600080fd5b612a3f8782880161264c565b909450925050604085013565ffffffffffff81168114612a5e57600080fd5b939692955090935050565b634e487b7160e01b600052603260045260246000fd5b600060208284031215612a9157600080fd5b81356107a1816127bf565b634e487b7160e01b600052601160045260246000fd5b600060018201612ac457612ac4612a9c565b5060010190565b81835281816020850137506000828201602090810191909152601f909101601f19169091010190565b602081526000610a53602083018486612acb565b600060208284031215612b1a57600080fd5b81516107a1816127bf565b6001600160a01b038581168252841660208201526060604082018190526000906117cb9083018486612acb565b634e487b7160e01b600052604160045260246000fd5b6000808335601e19843603018112612b7f57600080fd5b8301803591506001600160401b03821115612b9957600080fd5b60200191503681900382131561102d57600080fd5b65ffffffffffff818116838216019080821115610e0557610e05612a9c565b65ffffffffffff861681526001600160a01b03858116602083015284166040820152608060608201819052600090612c089083018486612acb565b979650505050505050565b60008085851115612c2357600080fd5b83861115612c3057600080fd5b5050820193919092039150565b6001600160e01b03198135818116916004851015612c655780818660040360031b1b83161692505b505092915050565b60008251612c7f8184602087016128f0565b9190910192915050565b63ffffffff828116828216039080821115610e0557610e05612a9c56fea26469706673582212200ae6538f089bb3e9b144e45d48a18927c3aebce616ac1218eef43b59c1b3631464736f6c63430008140033",
|
986
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101a95760003560e01c806393a7e711116100f9578063bf7e214f11610097578063e9e96c7011610071578063e9e96c701461044b578063f21de1e8146102a2578063f40d7c301461045e578063fdd9ec7d1461046e57600080fd5b8063bf7e214f146103e0578063d2213b5b146103f1578063d5264d7a1461041157600080fd5b80639ef6ddc9116100d35780639ef6ddc914610376578063a2844824146103b2578063a52ec529146103ba578063bf1db3f9146103cd57600080fd5b806393a7e711146103355780639941314e1461034857806399a228e51461036e57600080fd5b806319d1478b1161016657806371ed16e41161014057806371ed16e4146102c857806379cbc5fa146102da5780637a9e5e4b146103015780638fb360371461031457600080fd5b806319d1478b146102375780632892cd3a1461027b5780635ab1bd53146102a257600080fd5b80630af43fe1146101ae5780630d358181146101cd5780630e41142e146101e05780630e6d1de9146102065780631865c57d14610211578063186664d814610222575b600080fd5b6101b6610499565b60405160ff90911681526020015b60405180910390f35b6101b66101db36600461294b565b610626565b7f00000000000000000000000000000000000000000000000000000000000000006101b6565b60065460ff166101b6565b60065462010000900460ff166101b6565b61023561023036600461297d565b610643565b005b61026361024536600461294b565b60ff166000908152600360205260409020546001600160a01b031690565b6040516001600160a01b0390911681526020016101c4565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b7f0000000000000000000000000000000000000000000000000000000000000000610263565b6007545b6040519081526020016101c4565b6102637f000000000000000000000000000000000000000000000000000000000000000081565b61023561030f36600461297d565b610722565b61031c61079c565b6040516001600160e01b031990911681526020016101c4565b61026361034336600461299a565b6107c2565b7f0000000000000000000000000000000000000000000000000000000000000000610263565b6102cc600381565b6103a261038436600461297d565b6001600160a01b031660009081526005602052604090205460ff1690565b60405190151581526020016101c4565b610235610823565b6103a26103c836600461294b565b610b64565b6103a26103db36600461294b565b610bf9565b6000546001600160a01b0316610263565b6104046103ff36600461294b565b610c06565b6040516101c49190612baa565b61042461041f366004612f7e565b611008565b604080516001600160a01b03909416845260ff9092166020840152908201526060016101c4565b6103a2610459366004613090565b61139a565b600654610100900460ff166101b6565b61048161047c36600461297d565b611498565b6040516001600160601b0390911681526020016101c4565b60006104a8335b60003661192b565b6104c1600160065462010000900460ff16610459600290565b6104f1576006546040516319ddc69560e21b81526201000090910460ff1660048201526024015b60405180910390fd5b600654604051632b10f60d60e21b815261010090910460ff16600482015273__$b659da7d8a6d2d32aa6c1e17da23dc2174$__90638e4ad86c90829063ac43d83490602401602060405180830381865af4158015610553573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061057791906130d0565b6105829060016130ff565b6040518263ffffffff1660e01b81526004016105a091815260200190565b602060405180830381865af41580156105bd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105e1919061311d565b6006805460ff929092166101000261ff00199092169190911790556000600755610609600290565b600660026101000a81548160ff021916908360ff16021790555090565b6000610633826001611a2b565b1561063e5760015b90505b919050565b61064c336104a0565b60405163030ccc9b60e31b81526001600160a01b03808316600483015282917f00000000000000000000000000000000000000000000000000000000000000009091169063186664d890602401600060405180830381600087803b1580156106b357600080fd5b505af11580156106c7573d6000803e3d6000fd5b50505050806001600160a01b031663138461e06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561070657600080fd5b505af115801561071a573d6000803e3d6000fd5b505050505050565b60005433906001600160a01b031681146107595760405162d1953b60e31b81526001600160a01b03821660048201526024016104e8565b816001600160a01b03163b60000361078f576040516361798f2f60e11b81526001600160a01b03831660048201526024016104e8565b61079882611a3b565b5050565b60008054600160a01b900460ff166107b45750600090565b638fb3603760e01b5b905090565b604051603881018290526f5af43d82803e903d91602b57fd5bf3ff602482015260148101849052733d602d80600a3d3981f3363d3d373d3d3d363d738152605881018390526037600c820120607882015260556043909101205b9392505050565b61082c336104a0565b610845600160065462010000900460ff16610459600490565b6108705760065460405163efcc379960e01b81526201000090910460ff1660048201526024016104e8565b600654610100900460ff1660007f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663d39e60436108b4602890565b6040516001600160e01b031960e084901b16815260ff91821660048201529085166024820152604401602060405180830381865afa1580156108fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091e9190613145565b90506001600160a01b03811661094c57604051638047661960e01b815260ff831660048201526024016104e8565b6007541561097d5760075460405163c90aac6160e01b815260ff8416600482015260248101919091526044016104e8565b60ff8216600090815260046020819052604091829020600601549151638d38cd4b60e01b815264ffffffffff9092169082015273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af41580156109ec573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a109190613172565b15610a3357604051630e5e66b360e21b815260ff831660048201526024016104e8565b6006805460ff191660ff8416179055610a4a600490565b6006805460ff92909216620100000262ff0000199092169190911790556001600160a01b038116600090815260056020908152604091829020805460ff1916600117905581516356db0c1960e11b8152915173__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__9263adb618329260048083019391928290030181865af4158015610ad9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610afd919061318d565b60ff8316600081815260046020908152604091829020600601805464ffffffffff191664ffffffffff9590951694909417909355519081527fb7defc6b4b34e4db6f0265bb8cc2606e513beda1e68095b668932471417561d4910160405180910390a15050565b60ff81166000908152600460208190526040808320600601549051638d38cd4b60e01b815264ffffffffff9091169181019190915273__$91d01b1eccbca8d6f94a5eb2a0acb040e9$__90638d38cd4b90602401602060405180830381865af4158015610bd5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061063b9190613172565b600061063b826001611a2b565b610c506040518060e00160405280600060ff1681526020016060815260200160608152602001606081526020016060815260200160608152602001600064ffffffffff1681525090565b60ff808316600090815260046020908152604091829020825160e08101845281549094168452600181018054845181850281018501909552808552919385840193909290830182828015610ccd57602002820191906000526020600020905b81546001600160a01b03168152600190910190602001808311610caf575b5050505050815260200160028201805480602002602001604051908101604052809291908181526020016000905b82821015610d9957600084815260209081902083018054604080518285028101850190915281815292830182828015610d8557602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610d425790505b505050505081526020019060010190610cfb565b50505050815260200160038201805480602002602001604051908101604052809291908181526020016000905b82821015610e6457600084815260209081902083018054604080518285028101850190915281815292830182828015610e5057602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b031681526020019060080190602082600701049283019260010382029150808411610e0d5790505b505050505081526020019060010190610dc6565b50505050815260200160048201805480602002602001604051908101604052809291908181526020016000905b82821015610f7157838290600052602060002001805480602002602001604051908101604052809291908181526020016000905b82821015610f5e57600084815260209081902083018054604080518285028101850190915281815292830182828015610f4a57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b03191681526020019060040190602082600301049283019260010382029150808411610f0c5790505b505050505081526020019060010190610ec5565b5050505081526020019060010190610e91565b50505050815260200160058201805480602002602001604051908101604052809291908181526020018280548015610fe657602002820191906000526020600020906000905b825461010083900a900460ff16815260206001928301818104948501949093039092029101808411610fb75790505b50505091835250506006919091015464ffffffffff1660209091015292915050565b60008080611015336104a0565b61102f60015b60065462010000900460ff16610459600390565b61105a576006546040516313e3076760e31b81526201000090910460ff1660048201526024016104e8565b875160000361107c576040516357e3390360e01b815260040160405180910390fd5b600754156110a257604051638a25989560e01b815260ff831660048201526024016104e8565b6110ae88888888611a8f565b600654610100900460ff166000818152600460209081526040909120805460ff1916831781558a519294506110eb926001909101918b01906125a8565b5060ff821660009081526004602090815260409091208851611115926002909201918a019061260d565b5060ff82166000908152600460209081526040909120875161113f9260039092019189019061260d565b5060ff82166000908152600460208181526040909220875161116993919092019190880190612666565b50875160075560036006805462ff000019166201000060ff938416021790819055610100900416604051632b10f60d60e21b815260ff8216600482015290925073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af41580156111e5573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061120991906130d0565b60408051602081019290925281018590526060016040516020818303038152906040528051906020012090506112c07f00000000000000000000000000000000000000000000000000000000000000006001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611296573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112ba9190613145565b82611b90565b60ff83166000908152600360205260409081902080546001600160a01b0319166001600160a01b038416908117909155905163189acdbd60e31b8152306004820152919450849163c4d66de890602401600060405180830381600087803b15801561132a57600080fd5b505af115801561133e573d6000803e3d6000fd5b50506040805160ff87168152602081018690526001600160a01b0385168183015290517f6529cb4b9a24b8de97cbd0802b1c3d02a8c8aed37388204e2f5bc3013793977e9350908190036060019150a150955095509592505050565b60006113af8460015b60ff9081169116141590565b156113bc5750600061081c565b6113c7836001611a2b565b80156113d957506113d9826002611a2b565b156113e65750600161081c565b6113f1836002611a2b565b80156114035750611403826003611a2b565b156114105750600161081c565b61141b836003611a2b565b801561142d575061142d826002611a2b565b1561143a5750600161081c565b611445836003611a2b565b80156114575750611457826003611a2b565b156114645750600161081c565b61146f836003611a2b565b80156114815750611481826004611a2b565b1561148e5750600161081c565b5060009392505050565b60006114a3336104a0565b6114ad600161101b565b6114d8576006546040516316997edd60e11b81526201000090910460ff1660048201526024016104e8565b60008060006114e685611bfe565b92509250925060075460000361150f57604051630a7d531760e31b815260040160405180910390fd5b6000600160075461152091906131b4565b60ff83166000908152600460205260408120600101805492935090918390811061154c5761154c6131c7565b600091825260208083209091015460ff8616835260038252604080842054600490935290922060020180546001600160a01b0393841694506117d89392909216918a9190869081106115a0576115a06131c7565b9060005260206000200180548060200260200160405190810160405280929190818152602001828054801561162657602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116115e35790505b50505060ff8916600090815260046020526040902060030180549092508891508110611654576116546131c7565b906000526020600020018054806020026020016040519081016040528092919081815260200182805480156116da57602002820191906000526020600020906000905b82829054906101000a90046001600160401b03166001600160401b0316815260200190600801906020826007010492830192600103820291508084116116975790505b5050505050600460008960ff1660ff168152602001908152602001600020600401878154811061170c5761170c6131c7565b90600052602060002001805480602002602001604051908101604052809291908181526020016000905b828210156117cf576000848152602090819020830180546040805182850281018501909152818152928301828280156117bb57602002820191906000526020600020906000905b82829054906101000a900460e01b6001600160e01b0319168152602001906004019060208260030104928301926001038202915080841161177d5790505b505050505081526020019060010190611736565b50505050611f9e565b60078290556006805462ff000019166203000017905560ff83811660009081526004602081815260408084206005018054600181018255908552938290209184049091018054601f9094166101000a8086021990941694891693909302939093179091559051635382852b60e11b81527f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03169163a7050a569161188991899188918a910161322d565b6020604051808303816000875af11580156118a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118cc91906132eb565b9550866001600160a01b031663138461e06040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561190957600080fd5b505af115801561191d573d6000803e3d6000fd5b505050505050505050919050565b6000806119616119436000546001600160a01b031690565b863061195360046000898b613306565b61195c91613330565b612209565b9150915081611a245763ffffffff811615611a01576000805460ff60a01b198116600160a01b17909155604051634a63ebf760e11b81526001600160a01b03909116906394c7d7ee906119bc90889088908890600401613360565b600060405180830381600087803b1580156119d657600080fd5b505af11580156119ea573d6000803e3d6000fd5b50506000805460ff60a01b1916905550611a249050565b60405162d1953b60e31b81526001600160a01b03861660048201526024016104e8565b5050505050565b60ff828116908216145b92915050565b600080546001600160a01b0319166001600160a01b0383169081179091556040519081527f2f658b440c35314f52658ea8a740e05b284cdc84dc9ae01e891f21b8933e7cad9060200160405180910390a150565b60005b8451811015611a245760005b848281518110611ab057611ab06131c7565b602002602001015151811015611b7d576000858381518110611ad457611ad46131c7565b60200260200101518281518110611aed57611aed6131c7565b60200260200101519050611b1481611b03612315565b6001600160401b0390811691161490565b15611b6a57868381518110611b2b57611b2b6131c7565b60209081029190910101516040516313f9006960e01b81526001600160a01b0390911660048201526001600160401b03821660248201526044016104e8565b5080611b75816133a0565b915050611a9e565b5080611b88816133a0565b915050611a92565b6000763d602d80600a3d3981f3363d3d373d3d3d363d730000008360601b60e81c176000526e5af43d82803e903d91602b57fd5bf38360781b1760205281603760096000f590506001600160a01b038116611a35576040516330be1a3d60e21b815260040160405180910390fd5b6040805160e08101825260008082526020820181905281830181905260608083018290526080830182905260a0830182905260c083015291516301ffc9a760e01b815263b68d180960e01b600482015290919081906001600160a01b038516906301ffc9a790602401602060405180830381865afa158015611c84573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ca89190613172565b611cd057604051631fdf992160e01b81526001600160a01b03851660048201526024016104e8565b60003390506000856001600160a01b031663bf7e214f6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d399190613145565b9050856001600160a01b0316630d8e6e2c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d79573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d9d91906133b9565b60405163c9e66e2960e01b815262ffffff909116600482015273__$8eede297b65ed5a56eb3f84d8232ae93f5$__9063c9e66e2990602401602060405180830381865af4158015611df2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e16919061311d565b9250856001600160a01b031663b68d18096040518163ffffffff1660e01b8152600401602060405180830381865afa158015611e56573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e7a919061311d565b9350856001600160a01b0316630fec111c6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611eba573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611ee29190810190613441565b9450611eef86868461238c565b600654610100900460ff166000818152600360205260409020546001600160a01b039081169083168114611f515760405163179dce5160e11b81526001600160a01b03808a1660048301528085166024830152821660448201526064016104e8565b60ff80861690831614611f9357604051632dd6635560e21b81526001600160a01b038916600482015260ff8087166024830152831660448201526064016104e8565b505050509193909250565b60005b82518110156120d157856001600160a01b03166308d6122d86848481518110611fcc57611fcc6131c7565b6020026020010151868581518110611fe657611fe66131c7565b6020908102919091010151604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af415801561204a573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061206e9190613513565b6040518463ffffffff1660e01b815260040161208c93929190613530565b600060405180830381600087803b1580156120a657600080fd5b505af11580156120ba573d6000803e3d6000fd5b5050505080806120c9906133a0565b915050611fa1565b5060005b835181101561071a57856001600160a01b03166325c471a08583815181106120ff576120ff6131c7565b6020908102919091010151604051631517388760e21b81526001600160401b03909116600482015273__$1d92393fa9ccd763988368ce8a1cb90d26$__9063545ce21c90602401602060405180830381865af4158015612163573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121879190613513565b6040516001600160e01b031960e084901b1681526001600160401b0390911660048201526001600160a01b038816602482015260006044820152606401600060405180830381600087803b1580156121de57600080fd5b505af11580156121f2573d6000803e3d6000fd5b505050508080612201906133a0565b9150506120d5565b6040516001600160a01b03848116602483015283811660448301526001600160e01b03198316606483015260009182918291829189169060840160408051601f198184030181529181526020820180516001600160e01b031663b700961360e01b17905251612278919061356d565b600060405180830381855afa9150503d80600081146122b3576040519150601f19603f3d011682016040523d82523d6000602084013e6122b8565b606091505b5091509150811561230a5760408151106122ea57808060200190518101906122e09190613589565b909450925061230a565b602081511061230a57808060200190518101906123079190613172565b93505b505094509492505050565b6040516368aebf7b60e01b81526000600482018190529073__$1d92393fa9ccd763988368ce8a1cb90d26$__906368aebf7b90602401602060405180830381865af4158015612368573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107bd9190613513565b826001600160a01b031682608001516001600160a01b0316146123d45760405163396d48c960e11b81526001600160a01b0384166004820181905260248201526044016104e8565b60608201511561240f5760608201516040516376d381b160e01b81526001600160a01b038516600482015290151560248201526044016104e8565b61241f82604001516113a3603c90565b1561245e576040828101519051630c6c87c560e41b81526001600160a01b0385166004820152603c602482015260ff90911660448201526064016104e8565b60a08201516001600160a01b03808216908316146124aa576040516314cc941d60e01b81526001600160a01b0380861660048301528084166024830152821660448201526064016104e8565b836001600160a01b0316816001600160a01b0316036124e75760405163f80468a760e01b81526001600160a01b03851660048201526024016104e8565b60405163c3c5a54760e01b81526001600160a01b0382811660048301527f0000000000000000000000000000000000000000000000000000000000000000169063c3c5a54790602401602060405180830381865afa15801561254d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906125719190613172565b156125a25760405163976310fb60e01b81526001600160a01b038086166004830152821660248201526044016104e8565b50505050565b8280548282559060005260206000209081019282156125fd579160200282015b828111156125fd57825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906125c8565b506126099291506126bf565b5090565b82805482825590600052602060002090810192821561265a579160200282015b8281111561265a578251805161264a9184916020909101906126d4565b509160200191906001019061262d565b50612609929150612787565b8280548282559060005260206000209081019282156126b3579160200282015b828111156126b357825180516126a39184916020909101906127a4565b5091602001919060010190612686565b506126099291506127fd565b5b8082111561260957600081556001016126c0565b828054828255906000526020600020906003016004900481019282156125fd5791602002820160005b8382111561274757835183826101000a8154816001600160401b0302191690836001600160401b0316021790555092602001926008016020816007010492830192600103026126fd565b801561277a5782816101000a8154906001600160401b030219169055600801602081600701049283019260010302612747565b50506126099291506126bf565b8082111561260957600061279b828261281a565b50600101612787565b8280548282559060005260206000209081019282156127f1579160200282015b828111156127f157825180516127e1918491602090910190612842565b50916020019190600101906127c4565b506126099291506128dc565b8082111561260957600061281182826128f9565b506001016127fd565b50805460008255600301600490049060005260206000209081019061283f91906126bf565b50565b828054828255906000526020600020906007016008900481019282156125fd5791602002820160005b838211156128ac57835183826101000a81548163ffffffff021916908360e01c0217905550926020019260040160208160030104928301926001030261286b565b801561277a5782816101000a81549063ffffffff02191690556004016020816003010492830192600103026128ac565b808211156126095760006128f08282612917565b506001016128dc565b508054600082559060005260206000209081019061283f91906128dc565b50805460008255600701600890049060005260206000209081019061283f91906126bf565b60ff8116811461283f57600080fd5b60006020828403121561295d57600080fd5b813561081c8161293c565b6001600160a01b038116811461283f57600080fd5b60006020828403121561298f57600080fd5b813561081c81612968565b6000806000606084860312156129af57600080fd5b83356129ba81612968565b92506020840135915060408401356129d181612968565b809150509250925092565b600081518084526020808501945080840160005b83811015612a155781516001600160a01b0316875295820195908201906001016129f0565b509495945050505050565b600081518084526020808501808196508360051b810191508286016000805b86811015612a97578385038a52825180518087529087019087870190845b81811015612a825783516001600160401b031683529289019291890191600101612a5d565b50509a87019a95505091850191600101612a3f565b509298975050505050505050565b600081518084526020808501945080840160005b83811015612a155781516001600160e01b03191687529582019590820190600101612ab9565b600081518084526020808501808196506005915083821b81018387016000805b87811015612b68578484038b5282518051808652908801908886019080891b87018a01855b82811015612b5257601f19898303018452612b40828651612aa5565b948c0194938c01939150600101612b24565b509d8a019d965050509287019250600101612aff565b50919998505050505050505050565b600081518084526020808501945080840160005b83811015612a1557815160ff1687529582019590820190600101612b8b565b6020815260ff82511660208201526000602083015160e06040840152612bd46101008401826129dc565b90506040840151601f1980858403016060860152612bf28383612a20565b92506060860151915080858403016080860152612c0f8383612a20565b925060808601519150808584030160a0860152612c2c8383612adf565b925060a08601519150808584030160c086015250612c4a8282612b77565b91505060c0840151612c6560e085018264ffffffffff169052565b509392505050565b634e487b7160e01b600052604160045260246000fd5b60405160e081016001600160401b0381118282101715612ca557612ca5612c6d565b60405290565b604051601f8201601f191681016001600160401b0381118282101715612cd357612cd3612c6d565b604052919050565b60006001600160401b03821115612cf457612cf4612c6d565b5060051b60200190565b6001600160401b038116811461283f57600080fd5b600082601f830112612d2457600080fd5b81356020612d39612d3483612cdb565b612cab565b828152600592831b8501820192828201919087851115612d5857600080fd5b8387015b85811015612df75780356001600160401b03811115612d7b5760008081fd5b8801603f81018a13612d8d5760008081fd5b858101356040612d9f612d3483612cdb565b82815291851b8301810191888101908d841115612dbc5760008081fd5b938201935b83851015612de65784359250612dd683612cfe565b8282529389019390890190612dc1565b885250505093850193508401612d5c565b5090979650505050505050565b600082601f830112612e1557600080fd5b612e22612d348335612cdb565b82358082526020808301929160051b85010185811115612e4157600080fd5b602085015b81811015612f73576001600160401b0381351115612e6357600080fd5b8035860187603f820112612e7657600080fd5b6020810135612e87612d3482612cdb565b81815260059190911b82016040019060208101908a831115612ea857600080fd5b604084015b83811015612f5d576001600160401b0381351115612eca57600080fd5b803585018c605f820112612edd57600080fd5b6040810135612eee612d3482612cdb565b81815260059190911b82016060019060208101908f831115612f0f57600080fd5b6060840193505b82841015612f485783356001600160e01b0319811614612f3557600080fd5b8335825260209384019390910190612f16565b86525050602093840193919091019050612ead565b5087525050602094850194919091019050612e46565b509095945050505050565b600080600080600060a08688031215612f9657600080fd5b85356001600160401b0380821115612fad57600080fd5b818801915088601f830112612fc157600080fd5b81356020612fd1612d3483612cdb565b82815260059290921b8401810191818101908c841115612ff057600080fd5b948201945b8386101561301757853561300881612968565b82529482019490820190612ff5565b9950508901359250508082111561302d57600080fd5b61303989838a01612d13565b9550604088013591508082111561304f57600080fd5b61305b89838a01612d13565b9450606088013591508082111561307157600080fd5b5061307e88828901612e04565b95989497509295608001359392505050565b6000806000606084860312156130a557600080fd5b83356130b08161293c565b925060208401356130c08161293c565b915060408401356129d18161293c565b6000602082840312156130e257600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b80820180821115611a3557611a356130e9565b805161063e8161293c565b60006020828403121561312f57600080fd5b815161081c8161293c565b805161063e81612968565b60006020828403121561315757600080fd5b815161081c81612968565b8051801515811461063e57600080fd5b60006020828403121561318457600080fd5b61081c82613162565b60006020828403121561319f57600080fd5b815164ffffffffff8116811461081c57600080fd5b81810381811115611a3557611a356130e9565b634e487b7160e01b600052603260045260246000fd5b60005b838110156131f85781810151838201526020016131e0565b50506000910152565b600081518084526132198160208601602086016131dd565b601f01601f19169290920160200192915050565b606080825284516001600160601b03908116838301526020860151166080830152604085015160ff1660a083015284015180151560c08301526000905060808501516001600160a01b03811660e08401525060a08501516001600160a01b0381166101008401525060c085015160e06101208401526132b0610140840182613201565b9150506132c2602083018560ff169052565b60ff831660408301525b949350505050565b80516001600160601b038116811461063e57600080fd5b6000602082840312156132fd57600080fd5b61081c826132d4565b6000808585111561331657600080fd5b8386111561332357600080fd5b5050820193919092039150565b6001600160e01b031981358181169160048510156133585780818660040360031b1b83161692505b505092915050565b6001600160a01b03841681526040602082018190528101829052818360608301376000818301606090810191909152601f909201601f1916010192915050565b6000600182016133b2576133b26130e9565b5060010190565b6000602082840312156133cb57600080fd5b815162ffffff8116811461081c57600080fd5b600082601f8301126133ef57600080fd5b81516001600160401b0381111561340857613408612c6d565b61341b601f8201601f1916602001612cab565b81815284602083860101111561343057600080fd5b6132cc8260208301602087016131dd565b60006020828403121561345357600080fd5b81516001600160401b038082111561346a57600080fd5b9083019060e0828603121561347e57600080fd5b613486612c83565b61348f836132d4565b815261349d602084016132d4565b60208201526134ae60408401613112565b60408201526134bf60608401613162565b60608201526134d06080840161313a565b60808201526134e160a0840161313a565b60a082015260c0830151828111156134f857600080fd5b613504878286016133de565b60c08301525095945050505050565b60006020828403121561352557600080fd5b815161081c81612cfe565b6001600160a01b038416815260606020820181905260009061355490830185612aa5565b90506001600160401b0383166040830152949350505050565b6000825161357f8184602087016131dd565b9190910192915050565b6000806040838503121561359c57600080fd5b6135a583613162565b9150602083015163ffffffff811681146135be57600080fd5b80915050925092905056fea26469706673582212209b770613a550db127f56b3c4738edf10775501e35d6e7a5a9219d0cbfd6c270964736f6c63430008140033",
|
987
|
+
"linkReferences": {
|
988
|
+
"contracts/type/NftId.sol": {
|
989
|
+
"NftIdLib": [
|
990
|
+
{
|
991
|
+
"length": 20,
|
992
|
+
"start": 922
|
993
|
+
}
|
994
|
+
]
|
995
|
+
},
|
996
|
+
"contracts/type/RoleId.sol": {
|
997
|
+
"RoleIdLib": [
|
998
|
+
{
|
999
|
+
"length": 20,
|
1000
|
+
"start": 9819
|
1001
|
+
},
|
1002
|
+
{
|
1003
|
+
"length": 20,
|
1004
|
+
"start": 10100
|
1005
|
+
},
|
1006
|
+
{
|
1007
|
+
"length": 20,
|
1008
|
+
"start": 10617
|
1009
|
+
},
|
1010
|
+
{
|
1011
|
+
"length": 20,
|
1012
|
+
"start": 16570
|
1013
|
+
},
|
1014
|
+
{
|
1015
|
+
"length": 20,
|
1016
|
+
"start": 16734
|
1017
|
+
},
|
1018
|
+
{
|
1019
|
+
"length": 20,
|
1020
|
+
"start": 16981
|
1021
|
+
},
|
1022
|
+
{
|
1023
|
+
"length": 20,
|
1024
|
+
"start": 17077
|
1025
|
+
},
|
1026
|
+
{
|
1027
|
+
"length": 20,
|
1028
|
+
"start": 17204
|
1029
|
+
},
|
1030
|
+
{
|
1031
|
+
"length": 20,
|
1032
|
+
"start": 17468
|
1033
|
+
},
|
1034
|
+
{
|
1035
|
+
"length": 20,
|
1036
|
+
"start": 18788
|
1037
|
+
},
|
1038
|
+
{
|
1039
|
+
"length": 20,
|
1040
|
+
"start": 19533
|
1041
|
+
},
|
1042
|
+
{
|
1043
|
+
"length": 20,
|
1044
|
+
"start": 19738
|
1045
|
+
},
|
1046
|
+
{
|
1047
|
+
"length": 20,
|
1048
|
+
"start": 19837
|
1049
|
+
},
|
1050
|
+
{
|
1051
|
+
"length": 20,
|
1052
|
+
"start": 20038
|
1053
|
+
}
|
1054
|
+
]
|
1055
|
+
},
|
1056
|
+
"contracts/type/Timestamp.sol": {
|
1057
|
+
"TimestampLib": [
|
1058
|
+
{
|
1059
|
+
"length": 20,
|
1060
|
+
"start": 4093
|
1061
|
+
},
|
1062
|
+
{
|
1063
|
+
"length": 20,
|
1064
|
+
"start": 4329
|
1065
|
+
},
|
1066
|
+
{
|
1067
|
+
"length": 20,
|
1068
|
+
"start": 4582
|
1069
|
+
}
|
1070
|
+
]
|
1071
|
+
},
|
1072
|
+
"contracts/type/Version.sol": {
|
1073
|
+
"VersionLib": [
|
1074
|
+
{
|
1075
|
+
"length": 20,
|
1076
|
+
"start": 9219
|
1077
|
+
}
|
1078
|
+
],
|
1079
|
+
"VersionPartLib": [
|
1080
|
+
{
|
1081
|
+
"length": 20,
|
1082
|
+
"start": 351
|
1083
|
+
},
|
1084
|
+
{
|
1085
|
+
"length": 20,
|
1086
|
+
"start": 456
|
1087
|
+
},
|
1088
|
+
{
|
1089
|
+
"length": 20,
|
1090
|
+
"start": 2908
|
1091
|
+
},
|
1092
|
+
{
|
1093
|
+
"length": 20,
|
1094
|
+
"start": 6134
|
1095
|
+
}
|
1096
|
+
]
|
1097
|
+
}
|
1098
|
+
},
|
1099
|
+
"deployedLinkReferences": {
|
1100
|
+
"contracts/type/RoleId.sol": {
|
1101
|
+
"RoleIdLib": [
|
1102
|
+
{
|
1103
|
+
"length": 20,
|
1104
|
+
"start": 8208
|
1105
|
+
},
|
1106
|
+
{
|
1107
|
+
"length": 20,
|
1108
|
+
"start": 8489
|
1109
|
+
},
|
1110
|
+
{
|
1111
|
+
"length": 20,
|
1112
|
+
"start": 9006
|
1113
|
+
}
|
1114
|
+
]
|
1115
|
+
},
|
1116
|
+
"contracts/type/Timestamp.sol": {
|
1117
|
+
"TimestampLib": [
|
1118
|
+
{
|
1119
|
+
"length": 20,
|
1120
|
+
"start": 2482
|
1121
|
+
},
|
1122
|
+
{
|
1123
|
+
"length": 20,
|
1124
|
+
"start": 2718
|
1125
|
+
},
|
1126
|
+
{
|
1127
|
+
"length": 20,
|
1128
|
+
"start": 2971
|
1129
|
+
}
|
1130
|
+
]
|
1131
|
+
},
|
1132
|
+
"contracts/type/Version.sol": {
|
1133
|
+
"VersionLib": [
|
1134
|
+
{
|
1135
|
+
"length": 20,
|
1136
|
+
"start": 7608
|
1137
|
+
}
|
1138
|
+
],
|
1139
|
+
"VersionPartLib": [
|
1140
|
+
{
|
1141
|
+
"length": 20,
|
1142
|
+
"start": 1297
|
1143
|
+
},
|
1144
|
+
{
|
1145
|
+
"length": 20,
|
1146
|
+
"start": 4523
|
1147
|
+
}
|
1148
|
+
]
|
1149
|
+
}
|
1150
|
+
}
|
1151
|
+
}
|