@etherisc/gif-next 0.0.2-f15b559-661 → 0.0.2-f1b01e0-214
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +43 -0
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingService.sol/AccountingService.json +38 -38
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/accounting/AccountingServiceManager.sol/AccountingServiceManager.json +26 -26
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.dbg.json +1 -1
- package/artifacts/contracts/accounting/IAccountingService.sol/IAccountingService.json +6 -6
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdmin.sol/AccessAdmin.json +366 -251
- package/artifacts/contracts/authorization/AccessAdmin.sol/IAccessManagedChecker.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.dbg.json +4 -0
- package/artifacts/contracts/authorization/AccessAdminLib.sol/AccessAdminLib.json +673 -0
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.dbg.json +1 -1
- package/artifacts/contracts/authorization/AccessManagerCloneable.sol/AccessManagerCloneable.json +8 -39
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/Authorization.sol/Authorization.json +101 -28
- package/artifacts/contracts/authorization/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAccessAdmin.sol/IAccessAdmin.json +283 -189
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/IAuthorization.sol/IAuthorization.json +37 -5
- package/artifacts/contracts/authorization/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/authorization/ServiceAuthorization.sol/ServiceAuthorization.json +2 -2
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistribution.sol/BasicDistribution.json +32 -145
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/distribution/BasicDistributionAuthorization.sol/BasicDistributionAuthorization.json +101 -46
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.json +1 -87
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +160 -89
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +56 -52
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.json +1 -87
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.json +68 -5
- package/artifacts/contracts/examples/fire/DamageLevel.sol/DamageLevelLib.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePool.sol/FirePool.json +44 -74
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FirePoolAuthorization.sol/FirePoolAuthorization.json +101 -46
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProduct.sol/FireProduct.json +94 -124
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/fire/FireProductAuthorization.sol/FireProductAuthorization.json +101 -46
- package/artifacts/contracts/examples/fire/FireUSD.sol/FireUSD.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistribution.sol/SimpleDistribution.json +82 -173
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleDistributionAuthorization.sol/SimpleDistributionAuthorization.json +101 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleOracle.sol/SimpleOracle.json +20 -63
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePool.sol/SimplePool.json +69 -112
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimplePoolAuthorization.sol/SimplePoolAuthorization.json +101 -46
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProduct.sol/SimpleProduct.json +95 -138
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/examples/unpermissioned/SimpleProductAuthorization.sol/SimpleProductAuthorization.json +101 -46
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleSet.sol/BundleSet.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +104 -8
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +62 -13
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +119 -26
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +520 -413
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationV3.sol/InstanceAuthorizationV3.json +101 -46
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +225 -196
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +94 -65
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -36
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +356 -346
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.dbg.json +1 -1
- package/artifacts/contracts/instance/RiskSet.sol/RiskSet.json +2 -2
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.json +2 -2
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.json +2 -2
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSet.sol/ObjectSet.json +2 -2
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectSetHelperLib.sol/ObjectSetHelperLib.json +20 -20
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracle.sol/BasicOracle.json +14 -35
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.dbg.json +1 -1
- package/artifacts/contracts/oracle/BasicOracleAuthorization.sol/BasicOracleAuthorization.json +98 -35
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.json +0 -21
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.json +0 -21
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +42 -42
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +31 -31
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPool.sol/BasicPool.json +22 -43
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.dbg.json +1 -1
- package/artifacts/contracts/pool/BasicPoolAuthorization.sol/BasicPoolAuthorization.json +101 -46
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +64 -64
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +39 -39
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.json +6 -6
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.json +10 -31
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.json +18 -18
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.json +10 -31
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolLib.sol/PoolLib.json +34 -34
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +80 -80
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +41 -41
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +90 -24
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +34 -22
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProduct.sol/BasicProduct.json +27 -48
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.dbg.json +1 -1
- package/artifacts/contracts/product/BasicProductAuthorization.sol/BasicProductAuthorization.json +101 -46
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +78 -78
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +50 -50
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.json +42 -0
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.json +21 -0
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.json +21 -42
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.dbg.json +1 -1
- package/artifacts/contracts/product/IRiskService.sol/IRiskService.json +21 -0
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +62 -62
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceLib.sol/PolicyServiceLib.json +32 -32
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +41 -41
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +63 -82
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +31 -51
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/Product.sol/Product.json +21 -42
- package/artifacts/contracts/product/RiskService.sol/RiskService.dbg.json +1 -1
- package/artifacts/contracts/product/RiskService.sol/RiskService.json +55 -26
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/RiskServiceManager.sol/RiskServiceManager.json +27 -23
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IRelease.sol/IRelease.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +445 -355
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryAuthorization.sol/RegistryAuthorization.json +878 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +18 -18
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +19 -19
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseAdmin.sol/ReleaseAdmin.json +481 -376
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +2 -2
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseRegistry.sol/ReleaseRegistry.json +128 -124
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +6 -6
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.json +0 -21
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +114 -129
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +45 -49
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ContractLib.json +60 -4
- package/artifacts/contracts/shared/ContractLib.sol/IInstanceAdminHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITargetHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/ContractLib.sol/ITokenRegistryHelper.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.json +0 -21
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.json +44 -51
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.json +0 -21
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableERC165.sol/InitializableERC165.json +2 -2
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.json +0 -21
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.dbg.json +1 -1
- package/artifacts/contracts/shared/NftIdSet.sol/NftIdSet.json +2 -2
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.json +2 -2
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +2 -2
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandlerBase.json +2 -2
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandlerDeployerLib.sol/TokenHandlerDeployerLib.json +2 -2
- package/artifacts/contracts/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStaking.sol/IStaking.json +83 -39
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.json +75 -4
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +133 -94
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.dbg.json +4 -0
- package/artifacts/contracts/staking/StakingLib.sol/StakingLib.json +469 -0
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +2 -2
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +41 -37
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +34 -61
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +109 -30
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +27 -23
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +148 -134
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +47 -37
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.json +10 -10
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.json +2 -2
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.json +2 -2
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.json +93 -37
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.json +2 -2
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.dbg.json +1 -1
- package/artifacts/contracts/type/Key32Set.sol/LibKey32Set.json +2 -2
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.json +33 -31
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.json +2 -2
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.json +2 -2
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.json +2 -2
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.json +2 -2
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.json +60 -36
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.json +2 -2
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.json +56 -2
- package/artifacts/contracts/upgradeability/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/ProxyManager.sol/ProxyManager.json +4 -4
- package/artifacts/contracts/upgradeability/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/upgradeability/Versionable.sol/Versionable.dbg.json +1 -1
- package/contracts/accounting/IAccountingService.sol +2 -2
- package/contracts/authorization/AccessAdmin.sol +201 -186
- package/contracts/authorization/AccessAdminLib.sol +183 -0
- package/contracts/authorization/AccessManagerCloneable.sol +40 -31
- package/contracts/authorization/Authorization.sol +61 -33
- package/contracts/authorization/IAccess.sol +13 -5
- package/contracts/authorization/IAccessAdmin.sol +63 -36
- package/contracts/authorization/IAuthorization.sol +6 -0
- package/contracts/distribution/BasicDistribution.sol +6 -6
- package/contracts/distribution/BasicDistributionAuthorization.sol +1 -1
- package/contracts/distribution/Distribution.sol +3 -48
- package/contracts/distribution/DistributionService.sol +57 -30
- package/contracts/distribution/IDistributionComponent.sol +0 -9
- package/contracts/distribution/IDistributionService.sol +4 -2
- package/contracts/examples/fire/FirePool.sol +0 -4
- package/contracts/examples/fire/FireProduct.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleDistribution.sol +32 -8
- package/contracts/examples/unpermissioned/SimpleOracle.sol +4 -8
- package/contracts/examples/unpermissioned/SimplePool.sol +0 -4
- package/contracts/examples/unpermissioned/SimpleProduct.sol +0 -4
- package/contracts/instance/IInstance.sol +45 -9
- package/contracts/instance/IInstanceService.sol +19 -3
- package/contracts/instance/Instance.sol +73 -16
- package/contracts/instance/InstanceAdmin.sol +120 -107
- package/contracts/instance/InstanceAuthorizationV3.sol +43 -21
- package/contracts/instance/InstanceReader.sol +13 -0
- package/contracts/instance/InstanceService.sol +128 -73
- package/contracts/instance/module/IBundle.sol +6 -5
- package/contracts/instance/module/IComponents.sol +16 -5
- package/contracts/instance/module/IDistribution.sol +19 -7
- package/contracts/instance/module/IPolicy.sol +28 -8
- package/contracts/instance/module/IRisk.sol +2 -0
- package/contracts/oracle/BasicOracle.sol +1 -3
- package/contracts/oracle/BasicOracleAuthorization.sol +1 -1
- package/contracts/oracle/IOracle.sol +9 -4
- package/contracts/oracle/Oracle.sol +0 -2
- package/contracts/pool/BasicPool.sol +0 -2
- package/contracts/pool/BasicPoolAuthorization.sol +1 -1
- package/contracts/pool/Pool.sol +0 -2
- package/contracts/pool/PoolService.sol +1 -3
- package/contracts/product/ApplicationService.sol +21 -6
- package/contracts/product/BasicProduct.sol +0 -2
- package/contracts/product/BasicProductAuthorization.sol +1 -1
- package/contracts/product/IApplicationService.sol +3 -0
- package/contracts/product/IPricingService.sol +1 -0
- package/contracts/product/IRiskService.sol +3 -0
- package/contracts/product/PolicyService.sol +0 -18
- package/contracts/product/PricingService.sol +11 -6
- package/contracts/product/Product.sol +0 -2
- package/contracts/product/RiskService.sol +10 -0
- package/contracts/registry/IRegistry.sol +4 -0
- package/contracts/registry/RegistryAdmin.sol +133 -229
- package/contracts/registry/RegistryAuthorization.sol +267 -0
- package/contracts/registry/ReleaseAdmin.sol +30 -22
- package/contracts/registry/ReleaseRegistry.sol +39 -33
- package/contracts/registry/ServiceAuthorizationV3.sol +87 -3
- package/contracts/shared/Component.sol +13 -30
- package/contracts/shared/ComponentService.sol +58 -42
- package/contracts/shared/ContractLib.sol +28 -0
- package/contracts/shared/IComponent.sol +0 -3
- package/contracts/shared/IComponentService.sol +9 -9
- package/contracts/shared/InitializableERC165.sol +9 -1
- package/contracts/shared/InstanceLinkedComponent.sol +0 -2
- package/contracts/shared/NftOwnable.sol +1 -1
- package/contracts/shared/Registerable.sol +1 -4
- package/contracts/shared/TokenHandler.sol +5 -4
- package/contracts/staking/IStaking.sol +12 -2
- package/contracts/staking/IStakingService.sol +8 -1
- package/contracts/staking/Staking.sol +35 -15
- package/contracts/staking/{StakeManagerLib.sol → StakingLib.sol} +79 -22
- package/contracts/staking/StakingReader.sol +5 -15
- package/contracts/staking/StakingService.sol +36 -2
- package/contracts/staking/StakingStore.sol +2 -1
- package/contracts/type/Fee.sol +8 -8
- package/contracts/type/ObjectType.sol +5 -14
- package/contracts/type/UFixed.sol +27 -10
- package/contracts/type/Version.sol +39 -0
- package/package.json +2 -2
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +0 -4
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +0 -440
| @@ -117,8 +117,8 @@ | |
| 117 117 | 
             
                  "type": "function"
         | 
| 118 118 | 
             
                }
         | 
| 119 119 | 
             
              ],
         | 
| 120 | 
            -
              "bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 121 | 
            -
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 120 | 
            +
              "bytecode": "0x6103e0610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce60316001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220cfe20a99a33f33035be72df3f84d162b78d4dae8c7bd7fe65d1dc2b5ba0d7db164736f6c634300081a0033",
         | 
| 121 | 
            +
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006b575f3560e01c80632cf96bf91461006f5780633f093cd6146100a257806355ee6275146100ce5780637bc32ecf146100ef578063a420c7871461011f578063bc1b392d14610142575b5f80fd5b61008a61007d366004610211565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100b56100b0366004610253565b610148565b6040516001600160c01b03199091168152602001610099565b6100e16100dc366004610211565b61017a565b604051908152602001610099565b61010f6100fd366004610211565b5f6001600160c01b031982161561020b565b6040519015158152602001610099565b61013061012d366004610329565b90565b60405160ff9091168152602001610099565b5f6100b5565b5f828260405160200161015c929190610349565b60405160208183030381529060405280519060200120905092915050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce60316001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e7573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061020b9190610393565b92915050565b5f60208284031215610221575f80fd5b81356001600160c01b031981168114610238575f80fd5b9392505050565b634e487b7160e01b5f52604160045260245ffd5b5f8060408385031215610264575f80fd5b82356bffffffffffffffffffffffff8116811461027f575f80fd5b9150602083013567ffffffffffffffff81111561029a575f80fd5b8301601f810185136102aa575f80fd5b803567ffffffffffffffff8111156102c4576102c461023f565b604051601f8201601f19908116603f0116810167ffffffffffffffff811182821017156102f3576102f361023f565b60405281815282820160200187101561030a575f80fd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215610339575f80fd5b813560ff81168114610238575f80fd5b6bffffffffffffffffffffffff83168152604060208201525f82518060408401528060208501606085015e5f606082850101526060601f19601f8301168401019150509392505050565b5f602082840312156103a3575f80fd5b505191905056fea2646970667358221220cfe20a99a33f33035be72df3f84d162b78d4dae8c7bd7fe65d1dc2b5ba0d7db164736f6c634300081a0033",
         | 
| 122 122 | 
             
              "linkReferences": {
         | 
| 123 123 | 
             
                "contracts/type/Key32.sol": {
         | 
| 124 124 | 
             
                  "Key32Lib": [
         | 
| @@ -179,8 +179,8 @@ | |
| 179 179 | 
             
                  "type": "function"
         | 
| 180 180 | 
             
                }
         | 
| 181 181 | 
             
              ],
         | 
| 182 | 
            -
              "bytecode": "0x610334610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c806367cb8ec11161006e57806367cb8ec11461013a578063755905de1461016c578063a42e52e914610196578063bc1b392d146101b3578063f37f38f0146101b9575f80fd5b8063057182b41461009f5780633120ca45146100d05780634894bb5e146100f0578063545ce21c14610111575b5f80fd5b6100bb6100ad36600461027f565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100bb6100de36600461029f565b67ffffffffffffffff90811691161490565b6100bb6100fe36600461029f565b67ffffffffffffffff9081169116141590565b61012c61011f36600461027f565b67ffffffffffffffff1690565b6040519081526020016100c7565b61015961014836600461027f565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100c7565b61017d61017a3660046102d0565b90565b60405167ffffffffffffffff90911681526020016100c7565b6100bb6101a436600461027f565b67ffffffffffffffff16151590565b5f61017d565b61012c6101c736600461027f565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 183 | 
            -
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c806367cb8ec11161006e57806367cb8ec11461013a578063755905de1461016c578063a42e52e914610196578063bc1b392d146101b3578063f37f38f0146101b9575f80fd5b8063057182b41461009f5780633120ca45146100d05780634894bb5e146100f0578063545ce21c14610111575b5f80fd5b6100bb6100ad36600461027f565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100bb6100de36600461029f565b67ffffffffffffffff90811691161490565b6100bb6100fe36600461029f565b67ffffffffffffffff9081169116141590565b61012c61011f36600461027f565b67ffffffffffffffff1690565b6040519081526020016100c7565b61015961014836600461027f565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100c7565b61017d61017a3660046102d0565b90565b60405167ffffffffffffffff90911681526020016100c7565b6100bb6101a436600461027f565b67ffffffffffffffff16151590565b5f61017d565b61012c6101c736600461027f565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 182 | 
            +
              "bytecode": "0x610334610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c806367cb8ec11161006e57806367cb8ec11461013a578063755905de1461016c578063a42e52e914610196578063bc1b392d146101b3578063f37f38f0146101b9575f80fd5b8063057182b41461009f5780633120ca45146100d05780634894bb5e146100f0578063545ce21c14610111575b5f80fd5b6100bb6100ad36600461027f565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100bb6100de36600461029f565b67ffffffffffffffff90811691161490565b6100bb6100fe36600461029f565b67ffffffffffffffff9081169116141590565b61012c61011f36600461027f565b67ffffffffffffffff1690565b6040519081526020016100c7565b61015961014836600461027f565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100c7565b61017d61017a3660046102d0565b90565b60405167ffffffffffffffff90911681526020016100c7565b6100bb6101a436600461027f565b67ffffffffffffffff16151590565b5f61017d565b61012c6101c736600461027f565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce602f600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610239573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025d91906102e7565b92915050565b803567ffffffffffffffff8116811461027a575f80fd5b919050565b5f6020828403121561028f575f80fd5b61029882610263565b9392505050565b5f80604083850312156102b0575f80fd5b6102b983610263565b91506102c760208401610263565b90509250929050565b5f602082840312156102e0575f80fd5b5035919050565b5f602082840312156102f7575f80fd5b505191905056fea2646970667358221220350c4f9bdda55ce25b563ec455b918d47c9bcecd8664158ac76caf0b77d6592a64736f6c634300081a0033",
         | 
| 183 | 
            +
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c806367cb8ec11161006e57806367cb8ec11461013a578063755905de1461016c578063a42e52e914610196578063bc1b392d146101b3578063f37f38f0146101b9575f80fd5b8063057182b41461009f5780633120ca45146100d05780634894bb5e146100f0578063545ce21c14610111575b5f80fd5b6100bb6100ad36600461027f565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100bb6100de36600461029f565b67ffffffffffffffff90811691161490565b6100bb6100fe36600461029f565b67ffffffffffffffff9081169116141590565b61012c61011f36600461027f565b67ffffffffffffffff1690565b6040519081526020016100c7565b61015961014836600461027f565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100c7565b61017d61017a3660046102d0565b90565b60405167ffffffffffffffff90911681526020016100c7565b6100bb6101a436600461027f565b67ffffffffffffffff16151590565b5f61017d565b61012c6101c736600461027f565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce602f600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610239573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061025d91906102e7565b92915050565b803567ffffffffffffffff8116811461027a575f80fd5b919050565b5f6020828403121561028f575f80fd5b61029882610263565b9392505050565b5f80604083850312156102b0575f80fd5b6102b983610263565b91506102c760208401610263565b90509250929050565b5f602082840312156102e0575f80fd5b5035919050565b5f602082840312156102f7575f80fd5b505191905056fea2646970667358221220350c4f9bdda55ce25b563ec455b918d47c9bcecd8664158ac76caf0b77d6592a64736f6c634300081a0033",
         | 
| 184 184 | 
             
              "linkReferences": {
         | 
| 185 185 | 
             
                "contracts/type/Key32.sol": {
         | 
| 186 186 | 
             
                  "Key32Lib": [
         | 
| @@ -179,8 +179,8 @@ | |
| 179 179 | 
             
                  "type": "function"
         | 
| 180 180 | 
             
                }
         | 
| 181 181 | 
             
              ],
         | 
| 182 | 
            -
              "bytecode": "0x6103da610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c80637bc32ecf1161006e5780637bc32ecf146101425780638a3065c1146101555780638b0d9ff0146101a4578063b2e508a6146101b8578063bc1b392d146101ce575f80fd5b806301809eea1461009f5780632cf96bf9146100d057806355ee6275146100fe57806370a021ec1461011f575b5f80fd5b6100b26100ad3660046102bd565b6101d4565b6040516001600160c01b031990911681526020015b60405180910390f35b6100eb6100de3660046102f5565b6001600160c01b03191690565b60405160ff1990911681526020016100c7565b61011161010c3660046102f5565b6101fb565b6040519081526020016100c7565b61013261012d36600461030e565b610292565b60405190151581526020016100c7565b6101326101503660046102f5565b6102ab565b6100b261016336600461033f565b604080516bffffffffffffffffffffffff841660208201529081018290525f9060600160405160208183030381529060405280519060200120905092915050565b6101116101b23660046102f5565b60c01c90565b6101326101c63660046102f5565b60c01c151590565b5f6100b2565b80680100000000000000006101e98260c01c90565b106101f6576101f6610379565b919050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 183 | 
            -
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c80637bc32ecf1161006e5780637bc32ecf146101425780638a3065c1146101555780638b0d9ff0146101a4578063b2e508a6146101b8578063bc1b392d146101ce575f80fd5b806301809eea1461009f5780632cf96bf9146100d057806355ee6275146100fe57806370a021ec1461011f575b5f80fd5b6100b26100ad3660046102bd565b6101d4565b6040516001600160c01b031990911681526020015b60405180910390f35b6100eb6100de3660046102f5565b6001600160c01b03191690565b60405160ff1990911681526020016100c7565b61011161010c3660046102f5565b6101fb565b6040519081526020016100c7565b61013261012d36600461030e565b610292565b60405190151581526020016100c7565b6101326101503660046102f5565b6102ab565b6100b261016336600461033f565b604080516bffffffffffffffffffffffff841660208201529081018290525f9060600160405160208183030381529060405280519060200120905092915050565b6101116101b23660046102f5565b60c01c90565b6101326101c63660046102f5565b60c01c151590565b5f6100b2565b80680100000000000000006101e98260c01c90565b106101f6576101f6610379565b919050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 182 | 
            +
              "bytecode": "0x6103da610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c80637bc32ecf1161006e5780637bc32ecf146101425780638a3065c1146101555780638b0d9ff0146101a4578063b2e508a6146101b8578063bc1b392d146101ce575f80fd5b806301809eea1461009f5780632cf96bf9146100d057806355ee6275146100fe57806370a021ec1461011f575b5f80fd5b6100b26100ad3660046102bd565b6101d4565b6040516001600160c01b031990911681526020015b60405180910390f35b6100eb6100de3660046102f5565b6001600160c01b03191690565b60405160ff1990911681526020016100c7565b61011161010c3660046102f5565b6101fb565b6040519081526020016100c7565b61013261012d36600461030e565b610292565b60405190151581526020016100c7565b6101326101503660046102f5565b6102ab565b6100b261016336600461033f565b604080516bffffffffffffffffffffffff841660208201529081018290525f9060600160405160208183030381529060405280519060200120905092915050565b6101116101b23660046102f5565b60c01c90565b6101326101c63660046102f5565b60c01c151590565b5f6100b2565b80680100000000000000006101e98260c01c90565b106101f6576101f6610379565b919050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce602c6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610268573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028c919061038d565b92915050565b5f6001600160c01b0319808416908316145b9392505050565b5f6001600160c01b031982161561028c565b5f602082840312156102cd575f80fd5b813560ff19811681146102a4575f80fd5b80356001600160c01b0319811681146101f6575f80fd5b5f60208284031215610305575f80fd5b6102a4826102de565b5f806040838503121561031f575f80fd5b610328836102de565b9150610336602084016102de565b90509250929050565b5f8060408385031215610350575f80fd5b82356bffffffffffffffffffffffff8116811461036b575f80fd5b946020939093013593505050565b634e487b7160e01b5f52600160045260245ffd5b5f6020828403121561039d575f80fd5b505191905056fea2646970667358221220e0d6d2d3e75d25c7420676f53096d3ab62daca98eb3f39bb9c2d5cfd3764e77064736f6c634300081a0033",
         | 
| 183 | 
            +
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061009b575f3560e01c80637bc32ecf1161006e5780637bc32ecf146101425780638a3065c1146101555780638b0d9ff0146101a4578063b2e508a6146101b8578063bc1b392d146101ce575f80fd5b806301809eea1461009f5780632cf96bf9146100d057806355ee6275146100fe57806370a021ec1461011f575b5f80fd5b6100b26100ad3660046102bd565b6101d4565b6040516001600160c01b031990911681526020015b60405180910390f35b6100eb6100de3660046102f5565b6001600160c01b03191690565b60405160ff1990911681526020016100c7565b61011161010c3660046102f5565b6101fb565b6040519081526020016100c7565b61013261012d36600461030e565b610292565b60405190151581526020016100c7565b6101326101503660046102f5565b6102ab565b6100b261016336600461033f565b604080516bffffffffffffffffffffffff841660208201529081018290525f9060600160405160208183030381529060405280519060200120905092915050565b6101116101b23660046102f5565b60c01c90565b6101326101c63660046102f5565b60c01c151590565b5f6100b2565b80680100000000000000006101e98260c01c90565b106101f6576101f6610379565b919050565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce602c6001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610268573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061028c919061038d565b92915050565b5f6001600160c01b0319808416908316145b9392505050565b5f6001600160c01b031982161561028c565b5f602082840312156102cd575f80fd5b813560ff19811681146102a4575f80fd5b80356001600160c01b0319811681146101f6575f80fd5b5f60208284031215610305575f80fd5b6102a4826102de565b5f806040838503121561031f575f80fd5b610328836102de565b9150610336602084016102de565b90509250929050565b5f8060408385031215610350575f80fd5b82356bffffffffffffffffffffffff8116811461036b575f80fd5b946020939093013593505050565b634e487b7160e01b5f52600160045260245ffd5b5f6020828403121561039d575f80fd5b505191905056fea2646970667358221220e0d6d2d3e75d25c7420676f53096d3ab62daca98eb3f39bb9c2d5cfd3764e77064736f6c634300081a0033",
         | 
| 184 184 | 
             
              "linkReferences": {
         | 
| 185 185 | 
             
                "contracts/type/Key32.sol": {
         | 
| 186 186 | 
             
                  "Key32Lib": [
         | 
| @@ -352,8 +352,8 @@ | |
| 352 352 | 
             
                  "type": "function"
         | 
| 353 353 | 
             
                }
         | 
| 354 354 | 
             
              ],
         | 
| 355 | 
            -
              "bytecode": "0x610843610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610132575f3560e01c80637c3940bf116100b4578063a42e52e911610079578063a42e52e914610268578063bc1b392d14610285578063d9e5f7a01461028b578063dda777d31461029e578063f37f38f0146102b1575f80fd5b80637c3940bf1461019c57806385a4507c1461023c5780638ed252d814610245578063915f1dbb1461025857806393328fb714610260575f80fd5b8063616f31cc116100fa578063616f31cc146101ad57806361890d9b146101c057806367cb8ec1146101e45780636d3d2a7e1461021657806376d7ed4e14610229575f80fd5b8063057182b414610136578063163e40c5146101675780633b1eced31461018a57806346729cd214610193578063545ce21c1461019c575b5f80fd5b610152610144366004610677565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b610171620f424081565b60405167ffffffffffffffff909116815260200161015e565b610171614a3881565b6101716103e881565b6101716101aa366004610677565b90565b6101716101bb366004610677565b6102d2565b6101526101ce366004610677565b620f424067ffffffffffffffff91909116101590565b6102036101f2366004610677565b60081b68ffffffffffffffff001690565b60405160ff19909116815260200161015e565b6101716102243660046106a0565b6102e9565b6101716102373660046106a0565b61036a565b610171612ee081565b6101716102533660046106bb565b6103f8565b610171606481565b610171606381565b610152610276366004610677565b67ffffffffffffffff16151590565b5f610171565b610152610299366004610677565b610491565b6101716102ac3660046106f2565b6104c1565b6102c46102bf366004610677565b6105c9565b60405190815260200161015e565b5f6102e36101aa83620f4240610732565b92915050565b604051632b10f60d60e21b815260ff821660048201525f9073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af415801561033b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035f9190610752565b6102e3906064610778565b604051632b10f60d60e21b815260ff821660048201525f9060639073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af41580156103bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e39190610752565b6103ee9060646107a2565b6102e391906107c4565b604051632b10f60d60e21b815260ff831660048201525f9061048a90839073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610450573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104749190610752565b610480906103e8610778565b6101aa9190610732565b9392505050565b5f81612ee067ffffffffffffffff82161080159061048a5750614a3867ffffffffffffffff821611159392505050565b604051632b10f60d60e21b815260ff821660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610513573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053791906107e3565b604051632b10f60d60e21b815260ff8516600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610587573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab9190610752565b6105b69060646107a2565b6001600160601b031661048a91906107fa565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 356 | 
            -
              "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610132575f3560e01c80637c3940bf116100b4578063a42e52e911610079578063a42e52e914610268578063bc1b392d14610285578063d9e5f7a01461028b578063dda777d31461029e578063f37f38f0146102b1575f80fd5b80637c3940bf1461019c57806385a4507c1461023c5780638ed252d814610245578063915f1dbb1461025857806393328fb714610260575f80fd5b8063616f31cc116100fa578063616f31cc146101ad57806361890d9b146101c057806367cb8ec1146101e45780636d3d2a7e1461021657806376d7ed4e14610229575f80fd5b8063057182b414610136578063163e40c5146101675780633b1eced31461018a57806346729cd214610193578063545ce21c1461019c575b5f80fd5b610152610144366004610677565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b610171620f424081565b60405167ffffffffffffffff909116815260200161015e565b610171614a3881565b6101716103e881565b6101716101aa366004610677565b90565b6101716101bb366004610677565b6102d2565b6101526101ce366004610677565b620f424067ffffffffffffffff91909116101590565b6102036101f2366004610677565b60081b68ffffffffffffffff001690565b60405160ff19909116815260200161015e565b6101716102243660046106a0565b6102e9565b6101716102373660046106a0565b61036a565b610171612ee081565b6101716102533660046106bb565b6103f8565b610171606481565b610171606381565b610152610276366004610677565b67ffffffffffffffff16151590565b5f610171565b610152610299366004610677565b610491565b6101716102ac3660046106f2565b6104c1565b6102c46102bf366004610677565b6105c9565b60405190815260200161015e565b5f6102e36101aa83620f4240610732565b92915050565b604051632b10f60d60e21b815260ff821660048201525f9073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af415801561033b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035f9190610752565b6102e3906064610778565b604051632b10f60d60e21b815260ff821660048201525f9060639073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af41580156103bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e39190610752565b6103ee9060646107a2565b6102e391906107c4565b604051632b10f60d60e21b815260ff831660048201525f9061048a90839073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610450573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104749190610752565b610480906103e8610778565b6101aa9190610732565b9392505050565b5f81612ee067ffffffffffffffff82161080159061048a5750614a3867ffffffffffffffff821611159392505050565b604051632b10f60d60e21b815260ff821660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610513573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053791906107e3565b604051632b10f60d60e21b815260ff8516600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610587573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab9190610752565b6105b69060646107a2565b6001600160601b031661048a91906107fa565b5f73__$4b9aaffa8d044614668dad578b824b8eee$ | 
| 355 | 
            +
              "bytecode": "0x610843610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610132575f3560e01c80637c3940bf116100b4578063a42e52e911610079578063a42e52e914610268578063bc1b392d14610285578063d9e5f7a01461028b578063dda777d31461029e578063f37f38f0146102b1575f80fd5b80637c3940bf1461019c57806385a4507c1461023c5780638ed252d814610245578063915f1dbb1461025857806393328fb714610260575f80fd5b8063616f31cc116100fa578063616f31cc146101ad57806361890d9b146101c057806367cb8ec1146101e45780636d3d2a7e1461021657806376d7ed4e14610229575f80fd5b8063057182b414610136578063163e40c5146101675780633b1eced31461018a57806346729cd214610193578063545ce21c1461019c575b5f80fd5b610152610144366004610677565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b610171620f424081565b60405167ffffffffffffffff909116815260200161015e565b610171614a3881565b6101716103e881565b6101716101aa366004610677565b90565b6101716101bb366004610677565b6102d2565b6101526101ce366004610677565b620f424067ffffffffffffffff91909116101590565b6102036101f2366004610677565b60081b68ffffffffffffffff001690565b60405160ff19909116815260200161015e565b6101716102243660046106a0565b6102e9565b6101716102373660046106a0565b61036a565b610171612ee081565b6101716102533660046106bb565b6103f8565b610171606481565b610171606381565b610152610276366004610677565b67ffffffffffffffff16151590565b5f610171565b610152610299366004610677565b610491565b6101716102ac3660046106f2565b6104c1565b6102c46102bf366004610677565b6105c9565b60405190815260200161015e565b5f6102e36101aa83620f4240610732565b92915050565b604051632b10f60d60e21b815260ff821660048201525f9073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af415801561033b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035f9190610752565b6102e3906064610778565b604051632b10f60d60e21b815260ff821660048201525f9060639073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af41580156103bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e39190610752565b6103ee9060646107a2565b6102e391906107c4565b604051632b10f60d60e21b815260ff831660048201525f9061048a90839073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610450573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104749190610752565b610480906103e8610778565b6101aa9190610732565b9392505050565b5f81612ee067ffffffffffffffff82161080159061048a5750614a3867ffffffffffffffff821611159392505050565b604051632b10f60d60e21b815260ff821660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610513573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053791906107e3565b604051632b10f60d60e21b815260ff8516600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610587573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab9190610752565b6105b69060646107a2565b6001600160601b031661048a91906107fa565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce6007600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af415801561063b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e391906107e3565b67ffffffffffffffff81168114610674575f80fd5b50565b5f60208284031215610687575f80fd5b813561048a8161065f565b60ff81168114610674575f80fd5b5f602082840312156106b0575f80fd5b813561048a81610692565b5f80604083850312156106cc575f80fd5b82356106d781610692565b915060208301356106e78161065f565b809150509250929050565b5f8060408385031215610703575f80fd5b823561070e81610692565b915060208301356106e781610692565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156102e3576102e361071e565b5f60208284031215610762575f80fd5b81516001600160601b038116811461048a575f80fd5b67ffffffffffffffff818116838216029081169081811461079b5761079b61071e565b5092915050565b6001600160601b03818116838216029081169081811461079b5761079b61071e565b6001600160601b0381811683821601908111156102e3576102e361071e565b5f602082840312156107f3575f80fd5b5051919050565b808201808211156102e3576102e361071e56fea2646970667358221220bd322e42eb29d03146d42146ca6f407eb251492479938180aae3cab18c0f625b64736f6c634300081a0033",
         | 
| 356 | 
            +
              "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610132575f3560e01c80637c3940bf116100b4578063a42e52e911610079578063a42e52e914610268578063bc1b392d14610285578063d9e5f7a01461028b578063dda777d31461029e578063f37f38f0146102b1575f80fd5b80637c3940bf1461019c57806385a4507c1461023c5780638ed252d814610245578063915f1dbb1461025857806393328fb714610260575f80fd5b8063616f31cc116100fa578063616f31cc146101ad57806361890d9b146101c057806367cb8ec1146101e45780636d3d2a7e1461021657806376d7ed4e14610229575f80fd5b8063057182b414610136578063163e40c5146101675780633b1eced31461018a57806346729cd214610193578063545ce21c1461019c575b5f80fd5b610152610144366004610677565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b610171620f424081565b60405167ffffffffffffffff909116815260200161015e565b610171614a3881565b6101716103e881565b6101716101aa366004610677565b90565b6101716101bb366004610677565b6102d2565b6101526101ce366004610677565b620f424067ffffffffffffffff91909116101590565b6102036101f2366004610677565b60081b68ffffffffffffffff001690565b60405160ff19909116815260200161015e565b6101716102243660046106a0565b6102e9565b6101716102373660046106a0565b61036a565b610171612ee081565b6101716102533660046106bb565b6103f8565b610171606481565b610171606381565b610152610276366004610677565b67ffffffffffffffff16151590565b5f610171565b610152610299366004610677565b610491565b6101716102ac3660046106f2565b6104c1565b6102c46102bf366004610677565b6105c9565b60405190815260200161015e565b5f6102e36101aa83620f4240610732565b92915050565b604051632b10f60d60e21b815260ff821660048201525f9073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af415801561033b573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061035f9190610752565b6102e3906064610778565b604051632b10f60d60e21b815260ff821660048201525f9060639073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af41580156103bf573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906103e39190610752565b6103ee9060646107a2565b6102e391906107c4565b604051632b10f60d60e21b815260ff831660048201525f9061048a90839073__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610450573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906104749190610752565b610480906103e8610778565b6101aa9190610732565b9392505050565b5f81612ee067ffffffffffffffff82161080159061048a5750614a3867ffffffffffffffff821611159392505050565b604051632b10f60d60e21b815260ff821660048201525f9073__$b659da7d8a6d2d32aa6c1e17da23dc2174$__9063ac43d83490602401602060405180830381865af4158015610513573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061053791906107e3565b604051632b10f60d60e21b815260ff8516600482015273__$0d958e68cba84670b8f4a3f2f2686b1c6b$__9063ac43d83490602401602060405180830381865af4158015610587573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105ab9190610752565b6105b69060646107a2565b6001600160601b031661048a91906107fa565b5f73__$4b9aaffa8d044614668dad578b824b8eee$__63f48016ce6007600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af415801561063b573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906102e391906107e3565b67ffffffffffffffff81168114610674575f80fd5b50565b5f60208284031215610687575f80fd5b813561048a8161065f565b60ff81168114610674575f80fd5b5f602082840312156106b0575f80fd5b813561048a81610692565b5f80604083850312156106cc575f80fd5b82356106d781610692565b915060208301356106e78161065f565b809150509250929050565b5f8060408385031215610703575f80fd5b823561070e81610692565b915060208301356106e781610692565b634e487b7160e01b5f52601160045260245ffd5b67ffffffffffffffff81811683821601908111156102e3576102e361071e565b5f60208284031215610762575f80fd5b81516001600160601b038116811461048a575f80fd5b67ffffffffffffffff818116838216029081169081811461079b5761079b61071e565b5092915050565b6001600160601b03818116838216029081169081811461079b5761079b61071e565b6001600160601b0381811683821601908111156102e3576102e361071e565b5f602082840312156107f3575f80fd5b5051919050565b808201808211156102e3576102e361071e56fea2646970667358221220bd322e42eb29d03146d42146ca6f407eb251492479938180aae3cab18c0f625b64736f6c634300081a0033",
         | 
| 357 357 | 
             
              "linkReferences": {
         | 
| 358 358 | 
             
                "contracts/type/Key32.sol": {
         | 
| 359 359 | 
             
                  "Key32Lib": [
         | 
| @@ -40,6 +40,17 @@ | |
| 40 40 | 
             
                  "name": "UFixedLibNegativeResult",
         | 
| 41 41 | 
             
                  "type": "error"
         | 
| 42 42 | 
             
                },
         | 
| 43 | 
            +
                {
         | 
| 44 | 
            +
                  "inputs": [
         | 
| 45 | 
            +
                    {
         | 
| 46 | 
            +
                      "internalType": "uint256",
         | 
| 47 | 
            +
                      "name": "number",
         | 
| 48 | 
            +
                      "type": "uint256"
         | 
| 49 | 
            +
                    }
         | 
| 50 | 
            +
                  ],
         | 
| 51 | 
            +
                  "name": "UFixedLibNumberTooLarge",
         | 
| 52 | 
            +
                  "type": "error"
         | 
| 53 | 
            +
                },
         | 
| 43 54 | 
             
                {
         | 
| 44 55 | 
             
                  "inputs": [],
         | 
| 45 56 | 
             
                  "name": "EXP",
         | 
| @@ -123,12 +134,12 @@ | |
| 123 134 | 
             
                    {
         | 
| 124 135 | 
             
                      "internalType": "UFixed",
         | 
| 125 136 | 
             
                      "name": "a",
         | 
| 126 | 
            -
                      "type": " | 
| 137 | 
            +
                      "type": "uint160"
         | 
| 127 138 | 
             
                    },
         | 
| 128 139 | 
             
                    {
         | 
| 129 140 | 
             
                      "internalType": "UFixed",
         | 
| 130 141 | 
             
                      "name": "b",
         | 
| 131 | 
            -
                      "type": " | 
| 142 | 
            +
                      "type": "uint160"
         | 
| 132 143 | 
             
                    }
         | 
| 133 144 | 
             
                  ],
         | 
| 134 145 | 
             
                  "name": "add",
         | 
| @@ -136,7 +147,7 @@ | |
| 136 147 | 
             
                    {
         | 
| 137 148 | 
             
                      "internalType": "UFixed",
         | 
| 138 149 | 
             
                      "name": "",
         | 
| 139 | 
            -
                      "type": " | 
| 150 | 
            +
                      "type": "uint160"
         | 
| 140 151 | 
             
                    }
         | 
| 141 152 | 
             
                  ],
         | 
| 142 153 | 
             
                  "stateMutability": "pure",
         | 
| @@ -160,12 +171,12 @@ | |
| 160 171 | 
             
                    {
         | 
| 161 172 | 
             
                      "internalType": "UFixed",
         | 
| 162 173 | 
             
                      "name": "a",
         | 
| 163 | 
            -
                      "type": " | 
| 174 | 
            +
                      "type": "uint160"
         | 
| 164 175 | 
             
                    },
         | 
| 165 176 | 
             
                    {
         | 
| 166 177 | 
             
                      "internalType": "UFixed",
         | 
| 167 178 | 
             
                      "name": "b",
         | 
| 168 | 
            -
                      "type": " | 
| 179 | 
            +
                      "type": "uint160"
         | 
| 169 180 | 
             
                    }
         | 
| 170 181 | 
             
                  ],
         | 
| 171 182 | 
             
                  "name": "delta",
         | 
| @@ -173,7 +184,7 @@ | |
| 173 184 | 
             
                    {
         | 
| 174 185 | 
             
                      "internalType": "UFixed",
         | 
| 175 186 | 
             
                      "name": "",
         | 
| 176 | 
            -
                      "type": " | 
| 187 | 
            +
                      "type": "uint160"
         | 
| 177 188 | 
             
                    }
         | 
| 178 189 | 
             
                  ],
         | 
| 179 190 | 
             
                  "stateMutability": "pure",
         | 
| @@ -184,12 +195,12 @@ | |
| 184 195 | 
             
                    {
         | 
| 185 196 | 
             
                      "internalType": "UFixed",
         | 
| 186 197 | 
             
                      "name": "a",
         | 
| 187 | 
            -
                      "type": " | 
| 198 | 
            +
                      "type": "uint160"
         | 
| 188 199 | 
             
                    },
         | 
| 189 200 | 
             
                    {
         | 
| 190 201 | 
             
                      "internalType": "UFixed",
         | 
| 191 202 | 
             
                      "name": "b",
         | 
| 192 | 
            -
                      "type": " | 
| 203 | 
            +
                      "type": "uint160"
         | 
| 193 204 | 
             
                    }
         | 
| 194 205 | 
             
                  ],
         | 
| 195 206 | 
             
                  "name": "div",
         | 
| @@ -197,7 +208,7 @@ | |
| 197 208 | 
             
                    {
         | 
| 198 209 | 
             
                      "internalType": "UFixed",
         | 
| 199 210 | 
             
                      "name": "",
         | 
| 200 | 
            -
                      "type": " | 
| 211 | 
            +
                      "type": "uint160"
         | 
| 201 212 | 
             
                    }
         | 
| 202 213 | 
             
                  ],
         | 
| 203 214 | 
             
                  "stateMutability": "pure",
         | 
| @@ -208,12 +219,12 @@ | |
| 208 219 | 
             
                    {
         | 
| 209 220 | 
             
                      "internalType": "UFixed",
         | 
| 210 221 | 
             
                      "name": "a",
         | 
| 211 | 
            -
                      "type": " | 
| 222 | 
            +
                      "type": "uint160"
         | 
| 212 223 | 
             
                    },
         | 
| 213 224 | 
             
                    {
         | 
| 214 225 | 
             
                      "internalType": "UFixed",
         | 
| 215 226 | 
             
                      "name": "b",
         | 
| 216 | 
            -
                      "type": " | 
| 227 | 
            +
                      "type": "uint160"
         | 
| 217 228 | 
             
                    }
         | 
| 218 229 | 
             
                  ],
         | 
| 219 230 | 
             
                  "name": "eq",
         | 
| @@ -232,7 +243,7 @@ | |
| 232 243 | 
             
                    {
         | 
| 233 244 | 
             
                      "internalType": "UFixed",
         | 
| 234 245 | 
             
                      "name": "a",
         | 
| 235 | 
            -
                      "type": " | 
| 246 | 
            +
                      "type": "uint160"
         | 
| 236 247 | 
             
                    }
         | 
| 237 248 | 
             
                  ],
         | 
| 238 249 | 
             
                  "name": "eqz",
         | 
| @@ -251,12 +262,12 @@ | |
| 251 262 | 
             
                    {
         | 
| 252 263 | 
             
                      "internalType": "UFixed",
         | 
| 253 264 | 
             
                      "name": "a",
         | 
| 254 | 
            -
                      "type": " | 
| 265 | 
            +
                      "type": "uint160"
         | 
| 255 266 | 
             
                    },
         | 
| 256 267 | 
             
                    {
         | 
| 257 268 | 
             
                      "internalType": "UFixed",
         | 
| 258 269 | 
             
                      "name": "b",
         | 
| 259 | 
            -
                      "type": " | 
| 270 | 
            +
                      "type": "uint160"
         | 
| 260 271 | 
             
                    }
         | 
| 261 272 | 
             
                  ],
         | 
| 262 273 | 
             
                  "name": "gt",
         | 
| @@ -275,12 +286,12 @@ | |
| 275 286 | 
             
                    {
         | 
| 276 287 | 
             
                      "internalType": "UFixed",
         | 
| 277 288 | 
             
                      "name": "a",
         | 
| 278 | 
            -
                      "type": " | 
| 289 | 
            +
                      "type": "uint160"
         | 
| 279 290 | 
             
                    },
         | 
| 280 291 | 
             
                    {
         | 
| 281 292 | 
             
                      "internalType": "UFixed",
         | 
| 282 293 | 
             
                      "name": "b",
         | 
| 283 | 
            -
                      "type": " | 
| 294 | 
            +
                      "type": "uint160"
         | 
| 284 295 | 
             
                    }
         | 
| 285 296 | 
             
                  ],
         | 
| 286 297 | 
             
                  "name": "gte",
         | 
| @@ -299,7 +310,7 @@ | |
| 299 310 | 
             
                    {
         | 
| 300 311 | 
             
                      "internalType": "UFixed",
         | 
| 301 312 | 
             
                      "name": "a",
         | 
| 302 | 
            -
                      "type": " | 
| 313 | 
            +
                      "type": "uint160"
         | 
| 303 314 | 
             
                    }
         | 
| 304 315 | 
             
                  ],
         | 
| 305 316 | 
             
                  "name": "gtz",
         | 
| @@ -318,12 +329,12 @@ | |
| 318 329 | 
             
                    {
         | 
| 319 330 | 
             
                      "internalType": "UFixed",
         | 
| 320 331 | 
             
                      "name": "a",
         | 
| 321 | 
            -
                      "type": " | 
| 332 | 
            +
                      "type": "uint160"
         | 
| 322 333 | 
             
                    },
         | 
| 323 334 | 
             
                    {
         | 
| 324 335 | 
             
                      "internalType": "UFixed",
         | 
| 325 336 | 
             
                      "name": "b",
         | 
| 326 | 
            -
                      "type": " | 
| 337 | 
            +
                      "type": "uint160"
         | 
| 327 338 | 
             
                    }
         | 
| 328 339 | 
             
                  ],
         | 
| 329 340 | 
             
                  "name": "lt",
         | 
| @@ -342,12 +353,12 @@ | |
| 342 353 | 
             
                    {
         | 
| 343 354 | 
             
                      "internalType": "UFixed",
         | 
| 344 355 | 
             
                      "name": "a",
         | 
| 345 | 
            -
                      "type": " | 
| 356 | 
            +
                      "type": "uint160"
         | 
| 346 357 | 
             
                    },
         | 
| 347 358 | 
             
                    {
         | 
| 348 359 | 
             
                      "internalType": "UFixed",
         | 
| 349 360 | 
             
                      "name": "b",
         | 
| 350 | 
            -
                      "type": " | 
| 361 | 
            +
                      "type": "uint160"
         | 
| 351 362 | 
             
                    }
         | 
| 352 363 | 
             
                  ],
         | 
| 353 364 | 
             
                  "name": "lte",
         | 
| @@ -361,17 +372,30 @@ | |
| 361 372 | 
             
                  "stateMutability": "pure",
         | 
| 362 373 | 
             
                  "type": "function"
         | 
| 363 374 | 
             
                },
         | 
| 375 | 
            +
                {
         | 
| 376 | 
            +
                  "inputs": [],
         | 
| 377 | 
            +
                  "name": "max",
         | 
| 378 | 
            +
                  "outputs": [
         | 
| 379 | 
            +
                    {
         | 
| 380 | 
            +
                      "internalType": "UFixed",
         | 
| 381 | 
            +
                      "name": "",
         | 
| 382 | 
            +
                      "type": "uint160"
         | 
| 383 | 
            +
                    }
         | 
| 384 | 
            +
                  ],
         | 
| 385 | 
            +
                  "stateMutability": "pure",
         | 
| 386 | 
            +
                  "type": "function"
         | 
| 387 | 
            +
                },
         | 
| 364 388 | 
             
                {
         | 
| 365 389 | 
             
                  "inputs": [
         | 
| 366 390 | 
             
                    {
         | 
| 367 391 | 
             
                      "internalType": "UFixed",
         | 
| 368 392 | 
             
                      "name": "a",
         | 
| 369 | 
            -
                      "type": " | 
| 393 | 
            +
                      "type": "uint160"
         | 
| 370 394 | 
             
                    },
         | 
| 371 395 | 
             
                    {
         | 
| 372 396 | 
             
                      "internalType": "UFixed",
         | 
| 373 397 | 
             
                      "name": "b",
         | 
| 374 | 
            -
                      "type": " | 
| 398 | 
            +
                      "type": "uint160"
         | 
| 375 399 | 
             
                    }
         | 
| 376 400 | 
             
                  ],
         | 
| 377 401 | 
             
                  "name": "mul",
         | 
| @@ -379,7 +403,7 @@ | |
| 379 403 | 
             
                    {
         | 
| 380 404 | 
             
                      "internalType": "UFixed",
         | 
| 381 405 | 
             
                      "name": "",
         | 
| 382 | 
            -
                      "type": " | 
| 406 | 
            +
                      "type": "uint160"
         | 
| 383 407 | 
             
                    }
         | 
| 384 408 | 
             
                  ],
         | 
| 385 409 | 
             
                  "stateMutability": "pure",
         | 
| @@ -392,7 +416,7 @@ | |
| 392 416 | 
             
                    {
         | 
| 393 417 | 
             
                      "internalType": "UFixed",
         | 
| 394 418 | 
             
                      "name": "",
         | 
| 395 | 
            -
                      "type": " | 
| 419 | 
            +
                      "type": "uint160"
         | 
| 396 420 | 
             
                    }
         | 
| 397 421 | 
             
                  ],
         | 
| 398 422 | 
             
                  "stateMutability": "pure",
         | 
| @@ -403,12 +427,12 @@ | |
| 403 427 | 
             
                    {
         | 
| 404 428 | 
             
                      "internalType": "UFixed",
         | 
| 405 429 | 
             
                      "name": "a",
         | 
| 406 | 
            -
                      "type": " | 
| 430 | 
            +
                      "type": "uint160"
         | 
| 407 431 | 
             
                    },
         | 
| 408 432 | 
             
                    {
         | 
| 409 433 | 
             
                      "internalType": "UFixed",
         | 
| 410 434 | 
             
                      "name": "b",
         | 
| 411 | 
            -
                      "type": " | 
| 435 | 
            +
                      "type": "uint160"
         | 
| 412 436 | 
             
                    }
         | 
| 413 437 | 
             
                  ],
         | 
| 414 438 | 
             
                  "name": "sub",
         | 
| @@ -416,7 +440,7 @@ | |
| 416 440 | 
             
                    {
         | 
| 417 441 | 
             
                      "internalType": "UFixed",
         | 
| 418 442 | 
             
                      "name": "",
         | 
| 419 | 
            -
                      "type": " | 
| 443 | 
            +
                      "type": "uint160"
         | 
| 420 444 | 
             
                    }
         | 
| 421 445 | 
             
                  ],
         | 
| 422 446 | 
             
                  "stateMutability": "pure",
         | 
| @@ -427,7 +451,7 @@ | |
| 427 451 | 
             
                    {
         | 
| 428 452 | 
             
                      "internalType": "UFixed",
         | 
| 429 453 | 
             
                      "name": "a",
         | 
| 430 | 
            -
                      "type": " | 
| 454 | 
            +
                      "type": "uint160"
         | 
| 431 455 | 
             
                    }
         | 
| 432 456 | 
             
                  ],
         | 
| 433 457 | 
             
                  "name": "toInt",
         | 
| @@ -446,7 +470,7 @@ | |
| 446 470 | 
             
                    {
         | 
| 447 471 | 
             
                      "internalType": "UFixed",
         | 
| 448 472 | 
             
                      "name": "a",
         | 
| 449 | 
            -
                      "type": " | 
| 473 | 
            +
                      "type": "uint160"
         | 
| 450 474 | 
             
                    }
         | 
| 451 475 | 
             
                  ],
         | 
| 452 476 | 
             
                  "name": "toInt1000",
         | 
| @@ -465,7 +489,7 @@ | |
| 465 489 | 
             
                    {
         | 
| 466 490 | 
             
                      "internalType": "UFixed",
         | 
| 467 491 | 
             
                      "name": "a",
         | 
| 468 | 
            -
                      "type": " | 
| 492 | 
            +
                      "type": "uint160"
         | 
| 469 493 | 
             
                    },
         | 
| 470 494 | 
             
                    {
         | 
| 471 495 | 
             
                      "internalType": "uint8",
         | 
| @@ -502,7 +526,7 @@ | |
| 502 526 | 
             
                    {
         | 
| 503 527 | 
             
                      "internalType": "UFixed",
         | 
| 504 528 | 
             
                      "name": "",
         | 
| 505 | 
            -
                      "type": " | 
| 529 | 
            +
                      "type": "uint160"
         | 
| 506 530 | 
             
                    }
         | 
| 507 531 | 
             
                  ],
         | 
| 508 532 | 
             
                  "stateMutability": "pure",
         | 
| @@ -521,7 +545,7 @@ | |
| 521 545 | 
             
                    {
         | 
| 522 546 | 
             
                      "internalType": "UFixed",
         | 
| 523 547 | 
             
                      "name": "",
         | 
| 524 | 
            -
                      "type": " | 
| 548 | 
            +
                      "type": "uint160"
         | 
| 525 549 | 
             
                    }
         | 
| 526 550 | 
             
                  ],
         | 
| 527 551 | 
             
                  "stateMutability": "pure",
         | 
| @@ -534,15 +558,15 @@ | |
| 534 558 | 
             
                    {
         | 
| 535 559 | 
             
                      "internalType": "UFixed",
         | 
| 536 560 | 
             
                      "name": "",
         | 
| 537 | 
            -
                      "type": " | 
| 561 | 
            +
                      "type": "uint160"
         | 
| 538 562 | 
             
                    }
         | 
| 539 563 | 
             
                  ],
         | 
| 540 564 | 
             
                  "stateMutability": "pure",
         | 
| 541 565 | 
             
                  "type": "function"
         | 
| 542 566 | 
             
                }
         | 
| 543 567 | 
             
              ],
         | 
| 544 | 
            -
              "bytecode": " | 
| 545 | 
            -
              "deployedBytecode": " | 
| 568 | 
            +
              "bytecode": "0x610b85610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101ac575f3560e01c80637d15a54f116100fe578063bdbb46301161009e578063d59377c911610079578063d59377c91461035b578063e2eb023b1461036e578063e33c747b14610381578063eb646d7114610394575f80fd5b8063bdbb46301461032e578063bdd51f4214610335578063d511e14e14610348575f80fd5b806393aa8725116100d957806393aa8725146102fc5780639994d99814610302578063bb1775ec14610315578063bc1b392d14610328575f80fd5b80637d15a54f146102cc57806389fa8ed7146102df578063901717d1146102f4575f80fd5b80633e7e9f9711610169578063524ad53711610144578063524ad537146102865780635e719be0146102995780635ff51efe146102ac5780636ac5db19146102bf575f80fd5b80633e7e9f971461024d57806345ebb61e146102605780635200e44714610273575f80fd5b8063059f8b16146101b05780630b43ec84146101cb5780630d13bb8d146101f65780631488c845146102195780631a12cd471461022c578063313ce56714610246575b5f80fd5b6101b861039c565b6040519081526020015b60405180910390f35b6101de6101d9366004610898565b6103ab565b6040516001600160a01b0390911681526020016101c2565b610209610204366004610898565b6103bf565b60405190151581526020016101c2565b6101de6102273660046108c9565b6103d4565b610234600f81565b6040515f9190910b81526020016101c2565b600f6101b8565b6101de61025b366004610898565b61048d565b6101de61026e3660046108fc565b610498565b610209610281366004610898565b6104dd565b6101de610294366004610898565b6104f3565b6101de6102a7366004610898565b6104fe565b6101b86102ba366004610913565b610509565b6001600160a01b036101de565b6102096102da366004610913565b610528565b60025b60405160ff90911681526020016101c2565b6101de61053a565b5f6102e2565b610209610310366004610898565b61054c565b610209610323366004610898565b610562565b5f6101de565b60016102e2565b610209610343366004610898565b610577565b610209610356366004610913565b61058c565b6101de610369366004610898565b61059d565b6101b861037c366004610913565b6105a8565b6101b861038f36600461092c565b6105b0565b6101b861064b565b6103a8600f600a610a52565b81565b5f6103b68383610663565b90505b92915050565b5f6001600160a01b03808416908316146103b6565b5f806103e183600f610a5d565b5f0b121561040c57604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b603061041983600f610a5d565b5f0b131561043f5760405163e39f5db560e01b81525f83900b6004820152602401610403565b5f61044b83600f610a5d565b61045690600a610a7d565b6104609085610a8b565b90506001600160a01b038111156103b6576040516307043bb760e01b815260048101829052602401610403565b5f6103b683836106b1565b5f806104a6600f600a610a52565b6104b09084610a8b565b90506001600160a01b038111156103b9576040516307043bb760e01b815260048101849052602401610403565b5f6001600160a01b0380831690841610156103b6565b5f6103b683836106bc565b5f6103b683836106f4565b5f6103b961052161051b6103e8610498565b8461071d565b60026105b0565b5f6001600160a01b03821615156103b9565b5f610547600f600a610a52565b905090565b5f6001600160a01b0380831690841611156103b6565b5f6001600160a01b03808316908416106103b6565b5f6001600160a01b03808316908416116103b6565b5f6001600160a01b038216156103b9565b5f6103b6838361071d565b5f6103b98260025b5f60011960ff831601610606576105ff60026105ce600f600a610a52565b6105d89190610ab6565b6105eb906001600160a01b038616610ac9565b60016105f9600f600a610a52565b5f610742565b90506103b9565b60ff8216610629576105ff6001600160a01b03841660016105f9600f600a610a52565b6105ff6001600160a01b0384166001610644600f600a610a52565b6001610742565b6002610659600f600a610a52565b6103a89190610ab6565b5f816001600160a01b03165f0361068d57604051630f6c8fc360e21b815260040160405180910390fd5b6103b6836001600160a01b031666038d7ea4c68000846001600160a01b0316610791565b5f6103b68284610adc565b5f6001600160a01b0380831690841610156106ea5760405163117efe6d60e31b815260040160405180910390fd5b6103b68284610afb565b5f6001600160a01b038083169084161115610713576105ff83836106bc565b6103b682846106bc565b5f6103b6836001600160a01b0316836001600160a01b031666038d7ea4c68000610791565b5f8061074f868686610791565b905061075a83610851565b801561077557505f848061077057610770610aa2565b868809115b1561078857610785600182610ac9565b90505b95945050505050565b5f838302815f1985870982811083820303915050805f036107c5578382816107bb576107bb610aa2565b049250505061084a565b8084116107e55760405163227bc15360e01b815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b5f600282600381111561086657610866610b1a565b6108709190610b2e565b60ff166001149050919050565b80356001600160a01b0381168114610893575f80fd5b919050565b5f80604083850312156108a9575f80fd5b6108b28361087d565b91506108c06020840161087d565b90509250929050565b5f80604083850312156108da575f80fd5b8235915060208301355f81900b81146108f1575f80fd5b809150509250929050565b5f6020828403121561090c575f80fd5b5035919050565b5f60208284031215610923575f80fd5b6103b68261087d565b5f806040838503121561093d575f80fd5b6109468361087d565b9150602083013560ff811681146108f1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156109aa5780850481111561098e5761098e61095b565b600184161561099c57908102905b60019390931c928002610973565b935093915050565b5f826109c0575060016103b9565b816109cc57505f6103b9565b81600181146109e257600281146109ec57610a08565b60019150506103b9565b60ff8411156109fd576109fd61095b565b50506001821b6103b9565b5060208310610133831016604e8410600b8410161715610a2b575081810a6103b9565b610a375f19848461096f565b805f1904821115610a4a57610a4a61095b565b029392505050565b5f6103b683836109b2565b5f81810b9083900b01607f8113607f19821217156103b9576103b961095b565b5f6103b660ff8416836109b2565b80820281158282048414176103b9576103b961095b565b634e487b7160e01b5f52601260045260245ffd5b5f82610ac457610ac4610aa2565b500490565b808201808211156103b9576103b961095b565b6001600160a01b0381811683821601908111156103b9576103b961095b565b6001600160a01b0382811682821603908111156103b9576103b961095b565b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680610b4057610b40610aa2565b8060ff8416069150509291505056fea26469706673582212206bcf8fb0f8eafdcbfad0939987822d07696639c2951ebb2016af4b6507c6182b64736f6c634300081a0033",
         | 
| 569 | 
            +
              "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101ac575f3560e01c80637d15a54f116100fe578063bdbb46301161009e578063d59377c911610079578063d59377c91461035b578063e2eb023b1461036e578063e33c747b14610381578063eb646d7114610394575f80fd5b8063bdbb46301461032e578063bdd51f4214610335578063d511e14e14610348575f80fd5b806393aa8725116100d957806393aa8725146102fc5780639994d99814610302578063bb1775ec14610315578063bc1b392d14610328575f80fd5b80637d15a54f146102cc57806389fa8ed7146102df578063901717d1146102f4575f80fd5b80633e7e9f9711610169578063524ad53711610144578063524ad537146102865780635e719be0146102995780635ff51efe146102ac5780636ac5db19146102bf575f80fd5b80633e7e9f971461024d57806345ebb61e146102605780635200e44714610273575f80fd5b8063059f8b16146101b05780630b43ec84146101cb5780630d13bb8d146101f65780631488c845146102195780631a12cd471461022c578063313ce56714610246575b5f80fd5b6101b861039c565b6040519081526020015b60405180910390f35b6101de6101d9366004610898565b6103ab565b6040516001600160a01b0390911681526020016101c2565b610209610204366004610898565b6103bf565b60405190151581526020016101c2565b6101de6102273660046108c9565b6103d4565b610234600f81565b6040515f9190910b81526020016101c2565b600f6101b8565b6101de61025b366004610898565b61048d565b6101de61026e3660046108fc565b610498565b610209610281366004610898565b6104dd565b6101de610294366004610898565b6104f3565b6101de6102a7366004610898565b6104fe565b6101b86102ba366004610913565b610509565b6001600160a01b036101de565b6102096102da366004610913565b610528565b60025b60405160ff90911681526020016101c2565b6101de61053a565b5f6102e2565b610209610310366004610898565b61054c565b610209610323366004610898565b610562565b5f6101de565b60016102e2565b610209610343366004610898565b610577565b610209610356366004610913565b61058c565b6101de610369366004610898565b61059d565b6101b861037c366004610913565b6105a8565b6101b861038f36600461092c565b6105b0565b6101b861064b565b6103a8600f600a610a52565b81565b5f6103b68383610663565b90505b92915050565b5f6001600160a01b03808416908316146103b6565b5f806103e183600f610a5d565b5f0b121561040c57604051633e49665b60e21b81525f83900b60048201526024015b60405180910390fd5b603061041983600f610a5d565b5f0b131561043f5760405163e39f5db560e01b81525f83900b6004820152602401610403565b5f61044b83600f610a5d565b61045690600a610a7d565b6104609085610a8b565b90506001600160a01b038111156103b6576040516307043bb760e01b815260048101829052602401610403565b5f6103b683836106b1565b5f806104a6600f600a610a52565b6104b09084610a8b565b90506001600160a01b038111156103b9576040516307043bb760e01b815260048101849052602401610403565b5f6001600160a01b0380831690841610156103b6565b5f6103b683836106bc565b5f6103b683836106f4565b5f6103b961052161051b6103e8610498565b8461071d565b60026105b0565b5f6001600160a01b03821615156103b9565b5f610547600f600a610a52565b905090565b5f6001600160a01b0380831690841611156103b6565b5f6001600160a01b03808316908416106103b6565b5f6001600160a01b03808316908416116103b6565b5f6001600160a01b038216156103b9565b5f6103b6838361071d565b5f6103b98260025b5f60011960ff831601610606576105ff60026105ce600f600a610a52565b6105d89190610ab6565b6105eb906001600160a01b038616610ac9565b60016105f9600f600a610a52565b5f610742565b90506103b9565b60ff8216610629576105ff6001600160a01b03841660016105f9600f600a610a52565b6105ff6001600160a01b0384166001610644600f600a610a52565b6001610742565b6002610659600f600a610a52565b6103a89190610ab6565b5f816001600160a01b03165f0361068d57604051630f6c8fc360e21b815260040160405180910390fd5b6103b6836001600160a01b031666038d7ea4c68000846001600160a01b0316610791565b5f6103b68284610adc565b5f6001600160a01b0380831690841610156106ea5760405163117efe6d60e31b815260040160405180910390fd5b6103b68284610afb565b5f6001600160a01b038083169084161115610713576105ff83836106bc565b6103b682846106bc565b5f6103b6836001600160a01b0316836001600160a01b031666038d7ea4c68000610791565b5f8061074f868686610791565b905061075a83610851565b801561077557505f848061077057610770610aa2565b868809115b1561078857610785600182610ac9565b90505b95945050505050565b5f838302815f1985870982811083820303915050805f036107c5578382816107bb576107bb610aa2565b049250505061084a565b8084116107e55760405163227bc15360e01b815260040160405180910390fd5b5f848688095f868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150505b9392505050565b5f600282600381111561086657610866610b1a565b6108709190610b2e565b60ff166001149050919050565b80356001600160a01b0381168114610893575f80fd5b919050565b5f80604083850312156108a9575f80fd5b6108b28361087d565b91506108c06020840161087d565b90509250929050565b5f80604083850312156108da575f80fd5b8235915060208301355f81900b81146108f1575f80fd5b809150509250929050565b5f6020828403121561090c575f80fd5b5035919050565b5f60208284031215610923575f80fd5b6103b68261087d565b5f806040838503121561093d575f80fd5b6109468361087d565b9150602083013560ff811681146108f1575f80fd5b634e487b7160e01b5f52601160045260245ffd5b6001815b60018411156109aa5780850481111561098e5761098e61095b565b600184161561099c57908102905b60019390931c928002610973565b935093915050565b5f826109c0575060016103b9565b816109cc57505f6103b9565b81600181146109e257600281146109ec57610a08565b60019150506103b9565b60ff8411156109fd576109fd61095b565b50506001821b6103b9565b5060208310610133831016604e8410600b8410161715610a2b575081810a6103b9565b610a375f19848461096f565b805f1904821115610a4a57610a4a61095b565b029392505050565b5f6103b683836109b2565b5f81810b9083900b01607f8113607f19821217156103b9576103b961095b565b5f6103b660ff8416836109b2565b80820281158282048414176103b9576103b961095b565b634e487b7160e01b5f52601260045260245ffd5b5f82610ac457610ac4610aa2565b500490565b808201808211156103b9576103b961095b565b6001600160a01b0381811683821601908111156103b9576103b961095b565b6001600160a01b0382811682821603908111156103b9576103b961095b565b634e487b7160e01b5f52602160045260245ffd5b5f60ff831680610b4057610b40610aa2565b8060ff8416069150509291505056fea26469706673582212206bcf8fb0f8eafdcbfad0939987822d07696639c2951ebb2016af4b6507c6182b64736f6c634300081a0033",
         | 
| 546 570 | 
             
              "linkReferences": {},
         | 
| 547 571 | 
             
              "deployedLinkReferences": {}
         | 
| 548 572 | 
             
            }
         | 
| @@ -151,8 +151,8 @@ | |
| 151 151 | 
             
                  "type": "function"
         | 
| 152 152 | 
             
                }
         | 
| 153 153 | 
             
              ],
         | 
| 154 | 
            -
              "bytecode": " | 
| 155 | 
            -
              "deployedBytecode": " | 
| 154 | 
            +
              "bytecode": "0x610345610034600b8282823980515f1a607314602857634e487b7160e01b5f525f60045260245ffd5b305f52607381538281f3fe7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c8063556010071161006357806355601007146100ee57806394aa449c14610112578063a123b37c14610123578063c9e66e291461014a575f80fd5b806304b8f6c5146100895780632efe0113146100a457806349a7111a146100b7575b5f80fd5b5f5b60405162ffffff90911681526020015b60405180910390f35b61008b6100b236600461024e565b610173565b6100ca6100c5366004610277565b610213565b6040805160ff9485168152928416602084015292169181019190915260600161009b565b6101046100fc366004610277565b62ffffff1690565b60405190815260200161009b565b61008b6101203660046102a0565b90565b6101316100fc366004610277565b60405167ffffffffffffffff909116815260200161009b565b610161610158366004610277565b60101c60ff1690565b60405160ff909116815260200161009b565b5f61010084108015610186575061010083105b8015610193575061010082105b6101ee5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b81610201600885901b601087901b6102db565b61020b91906102db565b949350505050565b5f80808360ff601082901c1661022983836102f4565b915061ffff600883901c165f61023f81856102f4565b92989197509195509350505050565b5f805f60608486031215610260575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215610287575f80fd5b813562ffffff81168114610299575f80fd5b9392505050565b5f602082840312156102b0575f80fd5b813567ffffffffffffffff81168114610299575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ee576102ee6102c7565b92915050565b62ffffff82811682821603908111156102ee576102ee6102c756fea26469706673582212201c0fa5cb537eba82d8f0de7a59369805f7be71ad39f07f70d063c815700e683564736f6c634300081a0033",
         | 
| 155 | 
            +
              "deployedBytecode": "0x7300000000000000000000000000000000000000003014608060405260043610610085575f3560e01c8063556010071161006357806355601007146100ee57806394aa449c14610112578063a123b37c14610123578063c9e66e291461014a575f80fd5b806304b8f6c5146100895780632efe0113146100a457806349a7111a146100b7575b5f80fd5b5f5b60405162ffffff90911681526020015b60405180910390f35b61008b6100b236600461024e565b610173565b6100ca6100c5366004610277565b610213565b6040805160ff9485168152928416602084015292169181019190915260600161009b565b6101046100fc366004610277565b62ffffff1690565b60405190815260200161009b565b61008b6101203660046102a0565b90565b6101316100fc366004610277565b60405167ffffffffffffffff909116815260200161009b565b610161610158366004610277565b60101c60ff1690565b60405160ff909116815260200161009b565b5f61010084108015610186575061010083105b8015610193575061010082105b6101ee5760405162461bcd60e51b815260206004820152602260248201527f4552524f523a5652532d3031303a56455253494f4e5f504152545f544f4f5f42604482015261494760f01b606482015260840160405180910390fd5b81610201600885901b601087901b6102db565b61020b91906102db565b949350505050565b5f80808360ff601082901c1661022983836102f4565b915061ffff600883901c165f61023f81856102f4565b92989197509195509350505050565b5f805f60608486031215610260575f80fd5b505081359360208301359350604090920135919050565b5f60208284031215610287575f80fd5b813562ffffff81168114610299575f80fd5b9392505050565b5f602082840312156102b0575f80fd5b813567ffffffffffffffff81168114610299575f80fd5b634e487b7160e01b5f52601160045260245ffd5b808201808211156102ee576102ee6102c7565b92915050565b62ffffff82811682821603908111156102ee576102ee6102c756fea26469706673582212201c0fa5cb537eba82d8f0de7a59369805f7be71ad39f07f70d063c815700e683564736f6c634300081a0033",
         | 
| 156 156 | 
             
              "linkReferences": {},
         | 
| 157 157 | 
             
              "deployedLinkReferences": {}
         | 
| 158 158 | 
             
            }
         |