@etherisc/gif-next 0.0.2-f0d86c2-077 → 0.0.2-f2b0fa2-473
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 +176 -11
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +168 -28
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +4 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +610 -0
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +121 -28
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.json +152 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +74 -181
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.json +55 -177
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +447 -60
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +519 -70
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.json +66 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.json +24 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +4 -0
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.json +42 -0
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/B.sol/B.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/C.sol/C.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/IA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IA.sol/ISharedA.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IB.sol/IB.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/IC.sol/IC.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +2 -2
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +2 -2
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +2 -2
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/AccessManagedSimple.sol/AccessManagedSimple.json +101 -0
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/AccessManagerSimple.sol/AccessManagerSimple.json +1119 -0
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +4 -0
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +1082 -0
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +234 -1749
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/ServiceBase.sol/ServiceBase.json → IInstanceService.sol/IInstanceService.json} +182 -61
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2415 -1152
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +917 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +1257 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +703 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +4 -0
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +424 -0
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +224 -43
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.json +51 -1
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.json +45 -127
- package/artifacts/contracts/instance/base/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/KeyValueStore.sol/KeyValueStore.json +55 -245
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Lifecycle.sol/Lifecycle.json +4 -4
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +211 -0
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{bundle/IBundle.sol → IBundle.sol}/IBundle.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{access/IAccess.sol/IAccess.json → IDistribution.sol/IDistribution.json} +2 -2
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{policy/IPolicy.sol → IPolicy.sol}/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{risk/IRisk.sol → IRisk.sol}/IRisk.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +4 -0
- package/artifacts/contracts/instance/{base/ModuleBase.sol/ModuleBase.json → module/ISetup.sol/ISetup.json} +2 -2
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +4 -0
- package/artifacts/contracts/instance/module/{treasury/ITreasury.sol → ITreasury.sol}/ITreasury.json +1 -1
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +381 -77
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +177 -75
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.json +446 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +235 -50
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +325 -51
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +186 -12
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +190 -51
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.json +872 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +4 -0
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.json +34 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +380 -139
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +1261 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +4 -0
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +504 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +4 -0
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.json +107 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +2 -2
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.json +127 -0
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.json +117 -37
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/{instance/base → shared}/IService.sol/IService.json +175 -54
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +55 -14
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +4 -0
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +158 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +4 -0
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +349 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +190 -37
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +4 -0
- package/artifacts/contracts/{instance/base/InstanceBase.sol/InstanceBase.json → shared/RegisterableUpgradable.sol/RegisterableUpgradable.json} +199 -83
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +4 -0
- package/artifacts/contracts/shared/Service.sol/Service.json +468 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.json +96 -0
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +4 -0
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.json +129 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +78 -14
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +4 -4
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +204 -36
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +14 -14
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +283 -62
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +91 -53
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +2 -2
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +103 -23
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- package/artifacts/contracts/test/Usdc.sol/USDC.json +91 -53
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.dbg.json +4 -0
- package/artifacts/contracts/types/DistributorType.sol/DistributorTypeLib.json +104 -0
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.json +52 -13
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.json +31 -17
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.json +2 -2
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +2 -2
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.json +100 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +2 -2
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +4 -0
- package/artifacts/contracts/types/Referral.sol/ReferralLib.json +123 -0
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.json +86 -0
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +134 -8
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +2 -2
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +15 -2
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +4 -0
- package/artifacts/contracts/types/UFixed.sol/MathLib.json +10 -0
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +4 -0
- package/artifacts/contracts/types/UFixed.sol/{UFixedMathLib.json → UFixedLib.json} +3 -3
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.json +40 -2
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +2 -2
- package/contracts/components/BaseComponent.sol +20 -22
- package/contracts/components/Distribution.sol +166 -0
- package/contracts/components/IBaseComponent.sol +8 -3
- package/contracts/components/IDistributionComponent.sol +43 -0
- package/contracts/components/IPoolComponent.sol +14 -9
- package/contracts/components/IProductComponent.sol +25 -9
- package/contracts/components/Pool.sol +115 -30
- package/contracts/components/Product.sol +212 -32
- package/contracts/experiment/cloning/Cloner.sol +47 -0
- package/contracts/instance/AccessManagedSimple.sol +114 -0
- package/contracts/instance/AccessManagerSimple.sol +682 -0
- package/contracts/instance/IAccessManagerSimple.sol +391 -0
- package/contracts/instance/IInstance.sol +17 -41
- package/contracts/instance/IInstanceService.sol +17 -0
- package/contracts/instance/Instance.sol +420 -52
- package/contracts/instance/InstanceAccessManager.sol +288 -0
- package/contracts/instance/InstanceReader.sol +280 -0
- package/contracts/instance/InstanceService.sol +102 -0
- package/contracts/instance/InstanceServiceManager.sol +56 -0
- package/contracts/instance/base/ComponentServiceBase.sol +15 -8
- package/contracts/instance/base/IInstanceBase.sol +11 -2
- package/contracts/instance/base/IKeyValueStore.sol +13 -13
- package/contracts/instance/base/ILifecycle.sol +3 -3
- package/contracts/instance/base/KeyValueStore.sol +53 -37
- package/contracts/instance/base/Lifecycle.sol +16 -11
- package/contracts/instance/module/IAccess.sol +38 -0
- package/contracts/instance/module/IBundle.sol +19 -0
- package/contracts/instance/module/IDistribution.sol +39 -0
- package/contracts/instance/module/IPolicy.sol +45 -0
- package/contracts/instance/module/IRisk.sol +11 -0
- package/contracts/instance/module/ISetup.sol +43 -0
- package/contracts/instance/module/ITreasury.sol +23 -0
- package/contracts/instance/service/ComponentOwnerService.sol +244 -97
- package/contracts/instance/service/IComponentOwnerService.sol +1 -3
- package/contracts/instance/service/IDistributionService.sol +12 -0
- package/contracts/instance/service/IPoolService.sol +8 -1
- package/contracts/instance/service/IProductService.sol +56 -7
- package/contracts/registry/ChainNft.sol +80 -37
- package/contracts/registry/IRegistry.sol +28 -28
- package/contracts/registry/IRegistryService.sol +35 -0
- package/contracts/registry/ITransferInterceptor.sol +6 -0
- package/contracts/registry/Registry.sol +315 -273
- package/contracts/registry/RegistryService.sol +439 -0
- package/contracts/registry/RegistryServiceManager.sol +64 -0
- package/contracts/shared/ContractDeployerLib.sol +72 -0
- package/contracts/shared/INftOwnable.sol +22 -0
- package/contracts/shared/IRegisterable.sol +8 -15
- package/contracts/{instance/base → shared}/IService.sol +3 -3
- package/contracts/shared/IVersionable.sol +55 -11
- package/contracts/shared/NftOwnable.sol +136 -0
- package/contracts/shared/ProxyManager.sol +94 -0
- package/contracts/shared/Registerable.sol +62 -59
- package/contracts/shared/RegisterableUpgradable.sol +16 -0
- package/contracts/shared/Service.sol +54 -0
- package/contracts/shared/TokenHandler.sol +27 -0
- package/contracts/shared/UpgradableProxyWithAdmin.sol +16 -0
- package/contracts/shared/Versionable.sol +113 -55
- package/contracts/test/TestFee.sol +2 -2
- package/contracts/test/TestRegisterable.sol +5 -6
- package/contracts/test/TestRoleId.sol +1 -1
- package/contracts/test/TestService.sol +5 -13
- package/contracts/types/DistributorType.sol +55 -0
- package/contracts/types/Fee.sol +10 -5
- package/contracts/types/Key32.sol +8 -3
- package/contracts/types/NumberId.sol +52 -0
- package/contracts/types/ObjectType.sol +51 -14
- package/contracts/types/Referral.sol +85 -0
- package/contracts/types/RiskId.sol +43 -0
- package/contracts/types/RoleId.sol +54 -10
- package/contracts/types/StateId.sol +1 -1
- package/contracts/types/Timestamp.sol +7 -3
- package/contracts/types/UFixed.sol +128 -12
- package/contracts/types/Version.sol +9 -0
- package/package.json +4 -3
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.json +0 -24
- package/artifacts/contracts/instance/base/IService.sol/IService.dbg.json +0 -4
- package/artifacts/contracts/instance/base/InstanceBase.sol/InstanceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ModuleBase.sol/ModuleBase.dbg.json +0 -4
- package/artifacts/contracts/instance/base/ServiceBase.sol/ServiceBase.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.json +0 -333
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.json +0 -333
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +0 -296
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +0 -296
- package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/CompensationModule.sol/CompensationModule.json +0 -10
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensation.json +0 -10
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/compensation/ICompensation.sol/ICompensationModule.json +0 -10
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.json +0 -10
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.json +0 -188
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.json +0 -261
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.json +0 -10
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.json +0 -149
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.json +0 -149
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRisk.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/IRisk.sol/IRiskModule.json +0 -10
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/risk/RiskModule.sol/RiskModule.json +0 -10
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +0 -533
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +0 -76
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +0 -4
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +0 -533
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +0 -471
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +0 -673
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +0 -4
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.json +0 -452
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +0 -24
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +0 -4
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.json +0 -24
- package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +0 -4
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +0 -387
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +0 -4
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +0 -393
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +0 -4
- package/contracts/experiment/statemachine/README.md +0 -112
- package/contracts/instance/IInstanceLinked.sol +0 -8
- package/contracts/instance/base/InstanceBase.sol +0 -80
- package/contracts/instance/base/ModuleBase.sol +0 -52
- package/contracts/instance/base/ServiceBase.sol +0 -37
- package/contracts/instance/module/access/Access.sol +0 -149
- package/contracts/instance/module/access/IAccess.sol +0 -53
- package/contracts/instance/module/bundle/BundleModule.sol +0 -136
- package/contracts/instance/module/bundle/IBundle.sol +0 -58
- package/contracts/instance/module/compensation/CompensationModule.sol +0 -8
- package/contracts/instance/module/compensation/ICompensation.sol +0 -10
- package/contracts/instance/module/component/ComponentModule.sol +0 -95
- package/contracts/instance/module/component/IComponent.sol +0 -53
- package/contracts/instance/module/policy/IPolicy.sol +0 -60
- package/contracts/instance/module/policy/PolicyModule.sol +0 -76
- package/contracts/instance/module/pool/IPoolModule.sol +0 -41
- package/contracts/instance/module/pool/PoolModule.sol +0 -87
- package/contracts/instance/module/risk/IRisk.sol +0 -10
- package/contracts/instance/module/risk/RiskModule.sol +0 -8
- package/contracts/instance/module/treasury/ITreasury.sol +0 -103
- package/contracts/instance/module/treasury/TokenHandler.sol +0 -48
- package/contracts/instance/module/treasury/TreasuryModule.sol +0 -152
- package/contracts/instance/service/PoolService.sol +0 -123
- package/contracts/instance/service/ProductService.sol +0 -354
- package/contracts/registry/IChainNft.sol +0 -21
- package/contracts/registry/IRegistryLinked.sol +0 -8
- package/contracts/shared/IOwnable.sol +0 -6
- package/contracts/test/TestPool.sol +0 -22
- package/contracts/test/TestProduct.sol +0 -44
| @@ -8,6 +8,92 @@ | |
| 8 8 | 
             
                  "stateMutability": "nonpayable",
         | 
| 9 9 | 
             
                  "type": "constructor"
         | 
| 10 10 | 
             
                },
         | 
| 11 | 
            +
                {
         | 
| 12 | 
            +
                  "inputs": [
         | 
| 13 | 
            +
                    {
         | 
| 14 | 
            +
                      "internalType": "address",
         | 
| 15 | 
            +
                      "name": "spender",
         | 
| 16 | 
            +
                      "type": "address"
         | 
| 17 | 
            +
                    },
         | 
| 18 | 
            +
                    {
         | 
| 19 | 
            +
                      "internalType": "uint256",
         | 
| 20 | 
            +
                      "name": "allowance",
         | 
| 21 | 
            +
                      "type": "uint256"
         | 
| 22 | 
            +
                    },
         | 
| 23 | 
            +
                    {
         | 
| 24 | 
            +
                      "internalType": "uint256",
         | 
| 25 | 
            +
                      "name": "needed",
         | 
| 26 | 
            +
                      "type": "uint256"
         | 
| 27 | 
            +
                    }
         | 
| 28 | 
            +
                  ],
         | 
| 29 | 
            +
                  "name": "ERC20InsufficientAllowance",
         | 
| 30 | 
            +
                  "type": "error"
         | 
| 31 | 
            +
                },
         | 
| 32 | 
            +
                {
         | 
| 33 | 
            +
                  "inputs": [
         | 
| 34 | 
            +
                    {
         | 
| 35 | 
            +
                      "internalType": "address",
         | 
| 36 | 
            +
                      "name": "sender",
         | 
| 37 | 
            +
                      "type": "address"
         | 
| 38 | 
            +
                    },
         | 
| 39 | 
            +
                    {
         | 
| 40 | 
            +
                      "internalType": "uint256",
         | 
| 41 | 
            +
                      "name": "balance",
         | 
| 42 | 
            +
                      "type": "uint256"
         | 
| 43 | 
            +
                    },
         | 
| 44 | 
            +
                    {
         | 
| 45 | 
            +
                      "internalType": "uint256",
         | 
| 46 | 
            +
                      "name": "needed",
         | 
| 47 | 
            +
                      "type": "uint256"
         | 
| 48 | 
            +
                    }
         | 
| 49 | 
            +
                  ],
         | 
| 50 | 
            +
                  "name": "ERC20InsufficientBalance",
         | 
| 51 | 
            +
                  "type": "error"
         | 
| 52 | 
            +
                },
         | 
| 53 | 
            +
                {
         | 
| 54 | 
            +
                  "inputs": [
         | 
| 55 | 
            +
                    {
         | 
| 56 | 
            +
                      "internalType": "address",
         | 
| 57 | 
            +
                      "name": "approver",
         | 
| 58 | 
            +
                      "type": "address"
         | 
| 59 | 
            +
                    }
         | 
| 60 | 
            +
                  ],
         | 
| 61 | 
            +
                  "name": "ERC20InvalidApprover",
         | 
| 62 | 
            +
                  "type": "error"
         | 
| 63 | 
            +
                },
         | 
| 64 | 
            +
                {
         | 
| 65 | 
            +
                  "inputs": [
         | 
| 66 | 
            +
                    {
         | 
| 67 | 
            +
                      "internalType": "address",
         | 
| 68 | 
            +
                      "name": "receiver",
         | 
| 69 | 
            +
                      "type": "address"
         | 
| 70 | 
            +
                    }
         | 
| 71 | 
            +
                  ],
         | 
| 72 | 
            +
                  "name": "ERC20InvalidReceiver",
         | 
| 73 | 
            +
                  "type": "error"
         | 
| 74 | 
            +
                },
         | 
| 75 | 
            +
                {
         | 
| 76 | 
            +
                  "inputs": [
         | 
| 77 | 
            +
                    {
         | 
| 78 | 
            +
                      "internalType": "address",
         | 
| 79 | 
            +
                      "name": "sender",
         | 
| 80 | 
            +
                      "type": "address"
         | 
| 81 | 
            +
                    }
         | 
| 82 | 
            +
                  ],
         | 
| 83 | 
            +
                  "name": "ERC20InvalidSender",
         | 
| 84 | 
            +
                  "type": "error"
         | 
| 85 | 
            +
                },
         | 
| 86 | 
            +
                {
         | 
| 87 | 
            +
                  "inputs": [
         | 
| 88 | 
            +
                    {
         | 
| 89 | 
            +
                      "internalType": "address",
         | 
| 90 | 
            +
                      "name": "spender",
         | 
| 91 | 
            +
                      "type": "address"
         | 
| 92 | 
            +
                    }
         | 
| 93 | 
            +
                  ],
         | 
| 94 | 
            +
                  "name": "ERC20InvalidSpender",
         | 
| 95 | 
            +
                  "type": "error"
         | 
| 96 | 
            +
                },
         | 
| 11 97 | 
             
                {
         | 
| 12 98 | 
             
                  "anonymous": false,
         | 
| 13 99 | 
             
                  "inputs": [
         | 
| @@ -143,7 +229,7 @@ | |
| 143 229 | 
             
                    },
         | 
| 144 230 | 
             
                    {
         | 
| 145 231 | 
             
                      "internalType": "uint256",
         | 
| 146 | 
            -
                      "name": " | 
| 232 | 
            +
                      "name": "value",
         | 
| 147 233 | 
             
                      "type": "uint256"
         | 
| 148 234 | 
             
                    }
         | 
| 149 235 | 
             
                  ],
         | 
| @@ -190,54 +276,6 @@ | |
| 190 276 | 
             
                  "stateMutability": "pure",
         | 
| 191 277 | 
             
                  "type": "function"
         | 
| 192 278 | 
             
                },
         | 
| 193 | 
            -
                {
         | 
| 194 | 
            -
                  "inputs": [
         | 
| 195 | 
            -
                    {
         | 
| 196 | 
            -
                      "internalType": "address",
         | 
| 197 | 
            -
                      "name": "spender",
         | 
| 198 | 
            -
                      "type": "address"
         | 
| 199 | 
            -
                    },
         | 
| 200 | 
            -
                    {
         | 
| 201 | 
            -
                      "internalType": "uint256",
         | 
| 202 | 
            -
                      "name": "subtractedValue",
         | 
| 203 | 
            -
                      "type": "uint256"
         | 
| 204 | 
            -
                    }
         | 
| 205 | 
            -
                  ],
         | 
| 206 | 
            -
                  "name": "decreaseAllowance",
         | 
| 207 | 
            -
                  "outputs": [
         | 
| 208 | 
            -
                    {
         | 
| 209 | 
            -
                      "internalType": "bool",
         | 
| 210 | 
            -
                      "name": "",
         | 
| 211 | 
            -
                      "type": "bool"
         | 
| 212 | 
            -
                    }
         | 
| 213 | 
            -
                  ],
         | 
| 214 | 
            -
                  "stateMutability": "nonpayable",
         | 
| 215 | 
            -
                  "type": "function"
         | 
| 216 | 
            -
                },
         | 
| 217 | 
            -
                {
         | 
| 218 | 
            -
                  "inputs": [
         | 
| 219 | 
            -
                    {
         | 
| 220 | 
            -
                      "internalType": "address",
         | 
| 221 | 
            -
                      "name": "spender",
         | 
| 222 | 
            -
                      "type": "address"
         | 
| 223 | 
            -
                    },
         | 
| 224 | 
            -
                    {
         | 
| 225 | 
            -
                      "internalType": "uint256",
         | 
| 226 | 
            -
                      "name": "addedValue",
         | 
| 227 | 
            -
                      "type": "uint256"
         | 
| 228 | 
            -
                    }
         | 
| 229 | 
            -
                  ],
         | 
| 230 | 
            -
                  "name": "increaseAllowance",
         | 
| 231 | 
            -
                  "outputs": [
         | 
| 232 | 
            -
                    {
         | 
| 233 | 
            -
                      "internalType": "bool",
         | 
| 234 | 
            -
                      "name": "",
         | 
| 235 | 
            -
                      "type": "bool"
         | 
| 236 | 
            -
                    }
         | 
| 237 | 
            -
                  ],
         | 
| 238 | 
            -
                  "stateMutability": "nonpayable",
         | 
| 239 | 
            -
                  "type": "function"
         | 
| 240 | 
            -
                },
         | 
| 241 279 | 
             
                {
         | 
| 242 280 | 
             
                  "inputs": [],
         | 
| 243 281 | 
             
                  "name": "name",
         | 
| @@ -286,7 +324,7 @@ | |
| 286 324 | 
             
                    },
         | 
| 287 325 | 
             
                    {
         | 
| 288 326 | 
             
                      "internalType": "uint256",
         | 
| 289 | 
            -
                      "name": " | 
| 327 | 
            +
                      "name": "value",
         | 
| 290 328 | 
             
                      "type": "uint256"
         | 
| 291 329 | 
             
                    }
         | 
| 292 330 | 
             
                  ],
         | 
| @@ -315,7 +353,7 @@ | |
| 315 353 | 
             
                    },
         | 
| 316 354 | 
             
                    {
         | 
| 317 355 | 
             
                      "internalType": "uint256",
         | 
| 318 | 
            -
                      "name": " | 
| 356 | 
            +
                      "name": "value",
         | 
| 319 357 | 
             
                      "type": "uint256"
         | 
| 320 358 | 
             
                    }
         | 
| 321 359 | 
             
                  ],
         | 
| @@ -331,8 +369,8 @@ | |
| 331 369 | 
             
                  "type": "function"
         | 
| 332 370 | 
             
                }
         | 
| 333 371 | 
             
              ],
         | 
| 334 | 
            -
              "bytecode": " | 
| 335 | 
            -
              "deployedBytecode": " | 
| 372 | 
            +
              "bytecode": "0x60806040523480156200001157600080fd5b506040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b815250604051806040016040528060048152602001635553444360e01b8152508160039081620000659190620002d3565b506004620000748282620002d3565b505050620000af6200008b620000b560201b60201c565b620000996006600a620004b4565b620000a990633b9aca00620004cc565b620000b9565b620004fc565b3390565b6001600160a01b038216620000e95760405163ec442f0560e01b8152600060048201526024015b60405180910390fd5b620000f760008383620000fb565b5050565b6001600160a01b0383166200012a5780600260008282546200011e9190620004e6565b909155506200019e9050565b6001600160a01b038316600090815260208190526040902054818110156200017f5760405163391434e360e21b81526001600160a01b03851660048201526024810182905260448101839052606401620000e0565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b038216620001bc57600280548290039055620001db565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200022191815260200190565b60405180910390a3505050565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200025957607f821691505b6020821081036200027a57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620002ce57600081815260208120601f850160051c81016020861015620002a95750805b601f850160051c820191505b81811015620002ca57828155600101620002b5565b5050505b505050565b81516001600160401b03811115620002ef57620002ef6200022e565b620003078162000300845462000244565b8462000280565b602080601f8311600181146200033f5760008415620003265750858301515b600019600386901b1c1916600185901b178555620002ca565b600085815260208120601f198616915b8281101562000370578886015182559484019460019091019084016200034f565b50858210156200038f5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052601160045260246000fd5b600181815b80851115620003f6578160001904821115620003da57620003da6200039f565b80851615620003e857918102915b93841c9390800290620003ba565b509250929050565b6000826200040f57506001620004ae565b816200041e57506000620004ae565b8160018114620004375760028114620004425762000462565b6001915050620004ae565b60ff8411156200045657620004566200039f565b50506001821b620004ae565b5060208310610133831016604e8410600b841016171562000487575081810a620004ae565b620004938383620003b5565b8060001904821115620004aa57620004aa6200039f565b0290505b92915050565b6000620004c560ff841683620003fe565b9392505050565b8082028115828204841417620004ae57620004ae6200039f565b80820180821115620004ae57620004ae6200039f565b6108f3806200050c6000396000f3fe608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101bf578063dd62ed3e146101d2578063f76f8d781461020b57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022e565b6040516100e9919061062b565b60405180910390f35b610105610100366004610695565b6102c0565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106bf565b6102da565b610142600681565b60405160ff90911681526020016100e9565b6101196102fe565b6006610142565b6101196101713660046106fb565b6001600160a01b031660009081526020819052604090205490565b6100dc61031b565b6100dc6040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b81525081565b6101056101cd366004610695565b61032a565b6101196101e036600461071d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023d90610750565b80601f016020809104026020016040519081016040528092919081815260200182805461026990610750565b80156102b65780601f1061028b576101008083540402835291602001916102b6565b820191906000526020600020905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b6000336102ce818585610338565b60019150505b92915050565b6000336102e885828561034a565b6102f38585856103cd565b506001949350505050565b61030a6006600a610884565b61031890633b9aca00610893565b81565b60606004805461023d90610750565b6000336102ce8185856103cd565b610345838383600161042c565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c757818110156103b857604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c78484848403600061042c565b50505050565b6001600160a01b0383166103f757604051634b637e8f60e11b8152600060048201526024016103af565b6001600160a01b0382166104215760405163ec442f0560e01b8152600060048201526024016103af565b610345838383610501565b6001600160a01b0384166104565760405163e602df0560e01b8152600060048201526024016103af565b6001600160a01b03831661048057604051634a1406b160e11b8152600060048201526024016103af565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f391815260200190565b60405180910390a350505050565b6001600160a01b03831661052c57806002600082825461052191906108aa565b9091555061059e9050565b6001600160a01b0383166000908152602081905260409020548181101561057f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103af565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105ba576002805482900390556105d9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106585785810183015185820160400152820161063c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461069057600080fd5b919050565b600080604083850312156106a857600080fd5b6106b183610679565b946020939093013593505050565b6000806000606084860312156106d457600080fd5b6106dd84610679565b92506106eb60208501610679565b9150604084013590509250925092565b60006020828403121561070d57600080fd5b61071682610679565b9392505050565b6000806040838503121561073057600080fd5b61073983610679565b915061074760208401610679565b90509250929050565b600181811c9082168061076457607f821691505b60208210810361078457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107db5781600019048211156107c1576107c161078a565b808516156107ce57918102915b93841c93908002906107a5565b509250929050565b6000826107f2575060016102d4565b816107ff575060006102d4565b8160018114610815576002811461081f5761083b565b60019150506102d4565b60ff8411156108305761083061078a565b50506001821b6102d4565b5060208310610133831016604e8410600b841016171561085e575081810a6102d4565b61086883836107a0565b806000190482111561087c5761087c61078a565b029392505050565b600061071660ff8416836107e3565b80820281158282048414176102d4576102d461078a565b808201808211156102d4576102d461078a56fea2646970667358221220c7cd5b3f809ed9ea6a1f9af7bfa7d7bdd7eb9d8295877f2b981db597faede29d64736f6c63430008140033",
         | 
| 373 | 
            +
              "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100cf5760003560e01c8063313ce5671161008c578063a3f4df7e11610066578063a3f4df7e14610194578063a9059cbb146101bf578063dd62ed3e146101d2578063f76f8d781461020b57600080fd5b8063313ce5671461015c57806370a082311461016357806395d89b411461018c57600080fd5b806306fdde03146100d4578063095ea7b3146100f257806318160ddd1461011557806323b872dd146101275780632e0f26251461013a5780632ff2e9dc14610154575b600080fd5b6100dc61022e565b6040516100e9919061062b565b60405180910390f35b610105610100366004610695565b6102c0565b60405190151581526020016100e9565b6002545b6040519081526020016100e9565b6101056101353660046106bf565b6102da565b610142600681565b60405160ff90911681526020016100e9565b6101196102fe565b6006610142565b6101196101713660046106fb565b6001600160a01b031660009081526020819052604090205490565b6100dc61031b565b6100dc6040518060400160405280600c81526020016b55534443202d2044554d4d5960a01b81525081565b6101056101cd366004610695565b61032a565b6101196101e036600461071d565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b6100dc604051806040016040528060048152602001635553444360e01b81525081565b60606003805461023d90610750565b80601f016020809104026020016040519081016040528092919081815260200182805461026990610750565b80156102b65780601f1061028b576101008083540402835291602001916102b6565b820191906000526020600020905b81548152906001019060200180831161029957829003601f168201915b5050505050905090565b6000336102ce818585610338565b60019150505b92915050565b6000336102e885828561034a565b6102f38585856103cd565b506001949350505050565b61030a6006600a610884565b61031890633b9aca00610893565b81565b60606004805461023d90610750565b6000336102ce8185856103cd565b610345838383600161042c565b505050565b6001600160a01b0383811660009081526001602090815260408083209386168352929052205460001981146103c757818110156103b857604051637dc7a0d960e11b81526001600160a01b038416600482015260248101829052604481018390526064015b60405180910390fd5b6103c78484848403600061042c565b50505050565b6001600160a01b0383166103f757604051634b637e8f60e11b8152600060048201526024016103af565b6001600160a01b0382166104215760405163ec442f0560e01b8152600060048201526024016103af565b610345838383610501565b6001600160a01b0384166104565760405163e602df0560e01b8152600060048201526024016103af565b6001600160a01b03831661048057604051634a1406b160e11b8152600060048201526024016103af565b6001600160a01b03808516600090815260016020908152604080832093871683529290522082905580156103c757826001600160a01b0316846001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925846040516104f391815260200190565b60405180910390a350505050565b6001600160a01b03831661052c57806002600082825461052191906108aa565b9091555061059e9050565b6001600160a01b0383166000908152602081905260409020548181101561057f5760405163391434e360e21b81526001600160a01b038516600482015260248101829052604481018390526064016103af565b6001600160a01b03841660009081526020819052604090209082900390555b6001600160a01b0382166105ba576002805482900390556105d9565b6001600160a01b03821660009081526020819052604090208054820190555b816001600160a01b0316836001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405161061e91815260200190565b60405180910390a3505050565b600060208083528351808285015260005b818110156106585785810183015185820160400152820161063c565b506000604082860101526040601f19601f8301168501019250505092915050565b80356001600160a01b038116811461069057600080fd5b919050565b600080604083850312156106a857600080fd5b6106b183610679565b946020939093013593505050565b6000806000606084860312156106d457600080fd5b6106dd84610679565b92506106eb60208501610679565b9150604084013590509250925092565b60006020828403121561070d57600080fd5b61071682610679565b9392505050565b6000806040838503121561073057600080fd5b61073983610679565b915061074760208401610679565b90509250929050565b600181811c9082168061076457607f821691505b60208210810361078457634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156107db5781600019048211156107c1576107c161078a565b808516156107ce57918102915b93841c93908002906107a5565b509250929050565b6000826107f2575060016102d4565b816107ff575060006102d4565b8160018114610815576002811461081f5761083b565b60019150506102d4565b60ff8411156108305761083061078a565b50506001821b6102d4565b5060208310610133831016604e8410600b841016171561085e575081810a6102d4565b61086883836107a0565b806000190482111561087c5761087c61078a565b029392505050565b600061071660ff8416836107e3565b80820281158282048414176102d4576102d461078a565b808201808211156102d4576102d461078a56fea2646970667358221220c7cd5b3f809ed9ea6a1f9af7bfa7d7bdd7eb9d8295877f2b981db597faede29d64736f6c63430008140033",
         | 
| 336 374 | 
             
              "linkReferences": {},
         | 
| 337 375 | 
             
              "deployedLinkReferences": {}
         | 
| 338 376 | 
             
            }
         | 
| @@ -0,0 +1,104 @@ | |
| 1 | 
            +
            {
         | 
| 2 | 
            +
              "_format": "hh-sol-artifact-1",
         | 
| 3 | 
            +
              "contractName": "DistributorTypeLib",
         | 
| 4 | 
            +
              "sourceName": "contracts/types/DistributorType.sol",
         | 
| 5 | 
            +
              "abi": [
         | 
| 6 | 
            +
                {
         | 
| 7 | 
            +
                  "inputs": [
         | 
| 8 | 
            +
                    {
         | 
| 9 | 
            +
                      "internalType": "NftId",
         | 
| 10 | 
            +
                      "name": "distributionNftId",
         | 
| 11 | 
            +
                      "type": "uint96"
         | 
| 12 | 
            +
                    },
         | 
| 13 | 
            +
                    {
         | 
| 14 | 
            +
                      "internalType": "string",
         | 
| 15 | 
            +
                      "name": "name",
         | 
| 16 | 
            +
                      "type": "string"
         | 
| 17 | 
            +
                    }
         | 
| 18 | 
            +
                  ],
         | 
| 19 | 
            +
                  "name": "toDistributorType",
         | 
| 20 | 
            +
                  "outputs": [
         | 
| 21 | 
            +
                    {
         | 
| 22 | 
            +
                      "internalType": "DistributorType",
         | 
| 23 | 
            +
                      "name": "",
         | 
| 24 | 
            +
                      "type": "bytes8"
         | 
| 25 | 
            +
                    }
         | 
| 26 | 
            +
                  ],
         | 
| 27 | 
            +
                  "stateMutability": "pure",
         | 
| 28 | 
            +
                  "type": "function"
         | 
| 29 | 
            +
                },
         | 
| 30 | 
            +
                {
         | 
| 31 | 
            +
                  "inputs": [
         | 
| 32 | 
            +
                    {
         | 
| 33 | 
            +
                      "internalType": "DistributorType",
         | 
| 34 | 
            +
                      "name": "id",
         | 
| 35 | 
            +
                      "type": "bytes8"
         | 
| 36 | 
            +
                    }
         | 
| 37 | 
            +
                  ],
         | 
| 38 | 
            +
                  "name": "toKey32",
         | 
| 39 | 
            +
                  "outputs": [
         | 
| 40 | 
            +
                    {
         | 
| 41 | 
            +
                      "internalType": "Key32",
         | 
| 42 | 
            +
                      "name": "key",
         | 
| 43 | 
            +
                      "type": "bytes32"
         | 
| 44 | 
            +
                    }
         | 
| 45 | 
            +
                  ],
         | 
| 46 | 
            +
                  "stateMutability": "pure",
         | 
| 47 | 
            +
                  "type": "function"
         | 
| 48 | 
            +
                },
         | 
| 49 | 
            +
                {
         | 
| 50 | 
            +
                  "inputs": [
         | 
| 51 | 
            +
                    {
         | 
| 52 | 
            +
                      "internalType": "DistributorType",
         | 
| 53 | 
            +
                      "name": "id",
         | 
| 54 | 
            +
                      "type": "bytes8"
         | 
| 55 | 
            +
                    }
         | 
| 56 | 
            +
                  ],
         | 
| 57 | 
            +
                  "name": "toKeyId",
         | 
| 58 | 
            +
                  "outputs": [
         | 
| 59 | 
            +
                    {
         | 
| 60 | 
            +
                      "internalType": "KeyId",
         | 
| 61 | 
            +
                      "name": "keyId",
         | 
| 62 | 
            +
                      "type": "bytes31"
         | 
| 63 | 
            +
                    }
         | 
| 64 | 
            +
                  ],
         | 
| 65 | 
            +
                  "stateMutability": "pure",
         | 
| 66 | 
            +
                  "type": "function"
         | 
| 67 | 
            +
                },
         | 
| 68 | 
            +
                {
         | 
| 69 | 
            +
                  "inputs": [],
         | 
| 70 | 
            +
                  "name": "zero",
         | 
| 71 | 
            +
                  "outputs": [
         | 
| 72 | 
            +
                    {
         | 
| 73 | 
            +
                      "internalType": "DistributorType",
         | 
| 74 | 
            +
                      "name": "",
         | 
| 75 | 
            +
                      "type": "bytes8"
         | 
| 76 | 
            +
                    }
         | 
| 77 | 
            +
                  ],
         | 
| 78 | 
            +
                  "stateMutability": "pure",
         | 
| 79 | 
            +
                  "type": "function"
         | 
| 80 | 
            +
                }
         | 
| 81 | 
            +
              ],
         | 
| 82 | 
            +
              "bytecode": "0x61037e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632cf96bf91461005b57806355ee62751461008e578063578c3039146100af578063bc1b392d146100db575b600080fd5b6100766100693660046101af565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100a161009c3660046101af565b6100e2565b604051908152602001610085565b6100c26100bd3660046101f6565b61017c565b6040516001600160c01b03199091168152602001610085565b60006100c2565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce60796001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017691906102cb565b92915050565b600082826040516020016101919291906102e4565b60405160208183030381529060405280519060200120905092915050565b6000602082840312156101c157600080fd5b81356001600160c01b0319811681146101d957600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561020957600080fd5b82356bffffffffffffffffffffffff8116811461022557600080fd5b9150602083013567ffffffffffffffff8082111561024257600080fd5b818501915085601f83011261025657600080fd5b813581811115610268576102686101e0565b604051601f8201601f19908116603f01168101908382118183101715610290576102906101e0565b816040528281528860208487010111156102a957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff8316815260006020604081840152835180604085015260005b818110156103265785810183015185820160600152820161030a565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220fd88b7db7bcbd901668cd76910655271dc1508cf5da8b73875e155645dac38ae64736f6c63430008140033",
         | 
| 83 | 
            +
              "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100565760003560e01c80632cf96bf91461005b57806355ee62751461008e578063578c3039146100af578063bc1b392d146100db575b600080fd5b6100766100693660046101af565b6001600160c01b03191690565b60405160ff1990911681526020015b60405180910390f35b6100a161009c3660046101af565b6100e2565b604051908152602001610085565b6100c26100bd3660046101f6565b61017c565b6040516001600160c01b03199091168152602001610085565b60006100c2565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce60796001600160c01b031985166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af4158015610152573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061017691906102cb565b92915050565b600082826040516020016101919291906102e4565b60405160208183030381529060405280519060200120905092915050565b6000602082840312156101c157600080fd5b81356001600160c01b0319811681146101d957600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b6000806040838503121561020957600080fd5b82356bffffffffffffffffffffffff8116811461022557600080fd5b9150602083013567ffffffffffffffff8082111561024257600080fd5b818501915085601f83011261025657600080fd5b813581811115610268576102686101e0565b604051601f8201601f19908116603f01168101908382118183101715610290576102906101e0565b816040528281528860208487010111156102a957600080fd5b8260208601602083013760006020848301015280955050505050509250929050565b6000602082840312156102dd57600080fd5b5051919050565b6bffffffffffffffffffffffff8316815260006020604081840152835180604085015260005b818110156103265785810183015185820160600152820161030a565b506000606082860101526060601f19601f83011685010192505050939250505056fea2646970667358221220fd88b7db7bcbd901668cd76910655271dc1508cf5da8b73875e155645dac38ae64736f6c63430008140033",
         | 
| 84 | 
            +
              "linkReferences": {
         | 
| 85 | 
            +
                "contracts/types/Key32.sol": {
         | 
| 86 | 
            +
                  "Key32Lib": [
         | 
| 87 | 
            +
                    {
         | 
| 88 | 
            +
                      "length": 20,
         | 
| 89 | 
            +
                      "start": 288
         | 
| 90 | 
            +
                    }
         | 
| 91 | 
            +
                  ]
         | 
| 92 | 
            +
                }
         | 
| 93 | 
            +
              },
         | 
| 94 | 
            +
              "deployedLinkReferences": {
         | 
| 95 | 
            +
                "contracts/types/Key32.sol": {
         | 
| 96 | 
            +
                  "Key32Lib": [
         | 
| 97 | 
            +
                    {
         | 
| 98 | 
            +
                      "length": 20,
         | 
| 99 | 
            +
                      "start": 230
         | 
| 100 | 
            +
                    }
         | 
| 101 | 
            +
                  ]
         | 
| 102 | 
            +
                }
         | 
| 103 | 
            +
              }
         | 
| 104 | 
            +
            }
         | 
| @@ -5,11 +5,6 @@ | |
| 5 5 | 
             
              "abi": [
         | 
| 6 6 | 
             
                {
         | 
| 7 7 | 
             
                  "inputs": [
         | 
| 8 | 
            -
                    {
         | 
| 9 | 
            -
                      "internalType": "uint256",
         | 
| 10 | 
            -
                      "name": "amount",
         | 
| 11 | 
            -
                      "type": "uint256"
         | 
| 12 | 
            -
                    },
         | 
| 13 8 | 
             
                    {
         | 
| 14 9 | 
             
                      "components": [
         | 
| 15 10 | 
             
                        {
         | 
| @@ -26,6 +21,11 @@ | |
| 26 21 | 
             
                      "internalType": "struct Fee",
         | 
| 27 22 | 
             
                      "name": "fee",
         | 
| 28 23 | 
             
                      "type": "tuple"
         | 
| 24 | 
            +
                    },
         | 
| 25 | 
            +
                    {
         | 
| 26 | 
            +
                      "internalType": "uint256",
         | 
| 27 | 
            +
                      "name": "amount",
         | 
| 28 | 
            +
                      "type": "uint256"
         | 
| 29 29 | 
             
                    }
         | 
| 30 30 | 
             
                  ],
         | 
| 31 31 | 
             
                  "name": "calculateFee",
         | 
| @@ -123,6 +123,37 @@ | |
| 123 123 | 
             
                  "stateMutability": "pure",
         | 
| 124 124 | 
             
                  "type": "function"
         | 
| 125 125 | 
             
                },
         | 
| 126 | 
            +
                {
         | 
| 127 | 
            +
                  "inputs": [
         | 
| 128 | 
            +
                    {
         | 
| 129 | 
            +
                      "internalType": "uint8",
         | 
| 130 | 
            +
                      "name": "percent",
         | 
| 131 | 
            +
                      "type": "uint8"
         | 
| 132 | 
            +
                    }
         | 
| 133 | 
            +
                  ],
         | 
| 134 | 
            +
                  "name": "percentageFee",
         | 
| 135 | 
            +
                  "outputs": [
         | 
| 136 | 
            +
                    {
         | 
| 137 | 
            +
                      "components": [
         | 
| 138 | 
            +
                        {
         | 
| 139 | 
            +
                          "internalType": "UFixed",
         | 
| 140 | 
            +
                          "name": "fractionalFee",
         | 
| 141 | 
            +
                          "type": "uint256"
         | 
| 142 | 
            +
                        },
         | 
| 143 | 
            +
                        {
         | 
| 144 | 
            +
                          "internalType": "uint256",
         | 
| 145 | 
            +
                          "name": "fixedFee",
         | 
| 146 | 
            +
                          "type": "uint256"
         | 
| 147 | 
            +
                        }
         | 
| 148 | 
            +
                      ],
         | 
| 149 | 
            +
                      "internalType": "struct Fee",
         | 
| 150 | 
            +
                      "name": "fee",
         | 
| 151 | 
            +
                      "type": "tuple"
         | 
| 152 | 
            +
                    }
         | 
| 153 | 
            +
                  ],
         | 
| 154 | 
            +
                  "stateMutability": "pure",
         | 
| 155 | 
            +
                  "type": "function"
         | 
| 156 | 
            +
                },
         | 
| 126 157 | 
             
                {
         | 
| 127 158 | 
             
                  "inputs": [
         | 
| 128 159 | 
             
                    {
         | 
| @@ -185,32 +216,40 @@ | |
| 185 216 | 
             
                  "type": "function"
         | 
| 186 217 | 
             
                }
         | 
| 187 218 | 
             
              ],
         | 
| 188 | 
            -
              "bytecode": " | 
| 189 | 
            -
              "deployedBytecode": " | 
| 219 | 
            +
              "bytecode": "0x61062361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304baf60c146100715780632bd182d31461009e5780635faa955b146100df5780638de0a4c2146100f25780639524886814610115578063c7010dfa14610128575b600080fd5b61008461007f3660046104c1565b61015c565b604080519283526020830191909152015b60405180910390f35b604080518082018252600080825260209182018190528251808401909352808352908201525b60408051825181526020928301519281019290925201610095565b6100c46100ed3660046104ec565b610282565b61010561010036600461050f565b61032b565b6040519015158152602001610095565b61010561012336600461052b565b610346565b6100c4610136366004610560565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008060006101e573__$5ac3274b8cf1e01ea223bf093142af05b0$__6345ebb61e866040518263ffffffff1660e01b815260040161019d91815260200190565b602060405180830381865af41580156101ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101de9190610582565b8651610367565b6020860151604051632255341b60e11b8152600481018390529192509073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af415801561023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102629190610582565b61026c91906105b1565b925061027883856105c4565b9150509250929050565b60408051808201825260008082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$5ac3274b8cf1e01ea223bf093142af05b0$__631488c84560848301602060405180830381865af41580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610582565b8152600060209091015292915050565b60008160200151600014801561034057508151155b92915050565b600081602001518360200151148015610360575082518251145b9392505050565b60006103608383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036103b1578382816103a7576103a76105d7565b0492505050610360565b8084116103fc5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006040828403121561047657600080fd5b6040516040810181811067ffffffffffffffff821117156104a757634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080606083850312156104d457600080fd5b6104de8484610464565b946040939093013593505050565b6000602082840312156104fe57600080fd5b813560ff8116811461036057600080fd5b60006040828403121561052157600080fd5b6103608383610464565b6000806080838503121561053e57600080fd5b6105488484610464565b91506105578460408501610464565b90509250929050565b6000806040838503121561057357600080fd5b50508035926020909101359150565b60006020828403121561059457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156103405761034061059b565b818103818111156103405761034061059b565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220c77a95dee494b2abcf575cdf95fd67f95e3ba1946af0cc3c46d0e454b9587ac064736f6c63430008140033",
         | 
| 220 | 
            +
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806304baf60c146100715780632bd182d31461009e5780635faa955b146100df5780638de0a4c2146100f25780639524886814610115578063c7010dfa14610128575b600080fd5b61008461007f3660046104c1565b61015c565b604080519283526020830191909152015b60405180910390f35b604080518082018252600080825260209182018190528251808401909352808352908201525b60408051825181526020928301519281019290925201610095565b6100c46100ed3660046104ec565b610282565b61010561010036600461050f565b61032b565b6040519015158152602001610095565b61010561012336600461052b565b610346565b6100c4610136366004610560565b604080518082018252600080825260209182015281518083019092529281529182015290565b60008060006101e573__$5ac3274b8cf1e01ea223bf093142af05b0$__6345ebb61e866040518263ffffffff1660e01b815260040161019d91815260200190565b602060405180830381865af41580156101ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101de9190610582565b8651610367565b6020860151604051632255341b60e11b8152600481018390529192509073__$5ac3274b8cf1e01ea223bf093142af05b0$__906344aa683690602401602060405180830381865af415801561023e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102629190610582565b61026c91906105b1565b925061027883856105c4565b9150509250929050565b60408051808201825260008082526020820152815180830192839052631488c84560e01b90925260ff831660448301526001196064830152908073__$5ac3274b8cf1e01ea223bf093142af05b0$__631488c84560848301602060405180830381865af41580156102f7573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061031b9190610582565b8152600060209091015292915050565b60008160200151600014801561034057508151155b92915050565b600081602001518360200151148015610360575082518251145b9392505050565b60006103608383670de0b6b3a764000060008080600019858709858702925082811083820303915050806000036103b1578382816103a7576103a76105d7565b0492505050610360565b8084116103fc5760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640160405180910390fd5b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b60006040828403121561047657600080fd5b6040516040810181811067ffffffffffffffff821117156104a757634e487b7160e01b600052604160045260246000fd5b604052823581526020928301359281019290925250919050565b600080606083850312156104d457600080fd5b6104de8484610464565b946040939093013593505050565b6000602082840312156104fe57600080fd5b813560ff8116811461036057600080fd5b60006040828403121561052157600080fd5b6103608383610464565b6000806080838503121561053e57600080fd5b6105488484610464565b91506105578460408501610464565b90509250929050565b6000806040838503121561057357600080fd5b50508035926020909101359150565b60006020828403121561059457600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b808201808211156103405761034061059b565b818103818111156103405761034061059b565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220c77a95dee494b2abcf575cdf95fd67f95e3ba1946af0cc3c46d0e454b9587ac064736f6c63430008140033",
         | 
| 190 221 | 
             
              "linkReferences": {
         | 
| 191 222 | 
             
                "contracts/types/UFixed.sol": {
         | 
| 192 | 
            -
                  " | 
| 223 | 
            +
                  "UFixedLib": [
         | 
| 224 | 
            +
                    {
         | 
| 225 | 
            +
                      "length": 20,
         | 
| 226 | 
            +
                      "start": 416
         | 
| 227 | 
            +
                    },
         | 
| 193 228 | 
             
                    {
         | 
| 194 229 | 
             
                      "length": 20,
         | 
| 195 | 
            -
                      "start":  | 
| 230 | 
            +
                      "start": 574
         | 
| 196 231 | 
             
                    },
         | 
| 197 232 | 
             
                    {
         | 
| 198 233 | 
             
                      "length": 20,
         | 
| 199 | 
            -
                      "start":  | 
| 234 | 
            +
                      "start": 760
         | 
| 200 235 | 
             
                    }
         | 
| 201 236 | 
             
                  ]
         | 
| 202 237 | 
             
                }
         | 
| 203 238 | 
             
              },
         | 
| 204 239 | 
             
              "deployedLinkReferences": {
         | 
| 205 240 | 
             
                "contracts/types/UFixed.sol": {
         | 
| 206 | 
            -
                  " | 
| 241 | 
            +
                  "UFixedLib": [
         | 
| 242 | 
            +
                    {
         | 
| 243 | 
            +
                      "length": 20,
         | 
| 244 | 
            +
                      "start": 358
         | 
| 245 | 
            +
                    },
         | 
| 207 246 | 
             
                    {
         | 
| 208 247 | 
             
                      "length": 20,
         | 
| 209 | 
            -
                      "start":  | 
| 248 | 
            +
                      "start": 516
         | 
| 210 249 | 
             
                    },
         | 
| 211 250 | 
             
                    {
         | 
| 212 251 | 
             
                      "length": 20,
         | 
| 213 | 
            -
                      "start":  | 
| 252 | 
            +
                      "start": 702
         | 
| 214 253 | 
             
                    }
         | 
| 215 254 | 
             
                  ]
         | 
| 216 255 | 
             
                }
         | 
| @@ -57,14 +57,6 @@ | |
| 57 57 | 
             
                },
         | 
| 58 58 | 
             
                {
         | 
| 59 59 | 
             
                  "inputs": [
         | 
| 60 | 
            -
                    {
         | 
| 61 | 
            -
                      "internalType": "Key32",
         | 
| 62 | 
            -
                      "name": "key",
         | 
| 63 | 
            -
                      "type": "bytes32"
         | 
| 64 | 
            -
                    }
         | 
| 65 | 
            -
                  ],
         | 
| 66 | 
            -
                  "name": "toKey",
         | 
| 67 | 
            -
                  "outputs": [
         | 
| 68 60 | 
             
                    {
         | 
| 69 61 | 
             
                      "internalType": "ObjectType",
         | 
| 70 62 | 
             
                      "name": "objectType",
         | 
| @@ -76,36 +68,58 @@ | |
| 76 68 | 
             
                      "type": "bytes31"
         | 
| 77 69 | 
             
                    }
         | 
| 78 70 | 
             
                  ],
         | 
| 71 | 
            +
                  "name": "toKey32",
         | 
| 72 | 
            +
                  "outputs": [
         | 
| 73 | 
            +
                    {
         | 
| 74 | 
            +
                      "internalType": "Key32",
         | 
| 75 | 
            +
                      "name": "",
         | 
| 76 | 
            +
                      "type": "bytes32"
         | 
| 77 | 
            +
                    }
         | 
| 78 | 
            +
                  ],
         | 
| 79 79 | 
             
                  "stateMutability": "pure",
         | 
| 80 80 | 
             
                  "type": "function"
         | 
| 81 81 | 
             
                },
         | 
| 82 82 | 
             
                {
         | 
| 83 83 | 
             
                  "inputs": [
         | 
| 84 84 | 
             
                    {
         | 
| 85 | 
            -
                      "internalType": " | 
| 86 | 
            -
                      "name": " | 
| 87 | 
            -
                      "type": " | 
| 88 | 
            -
                    } | 
| 85 | 
            +
                      "internalType": "Key32",
         | 
| 86 | 
            +
                      "name": "key",
         | 
| 87 | 
            +
                      "type": "bytes32"
         | 
| 88 | 
            +
                    }
         | 
| 89 | 
            +
                  ],
         | 
| 90 | 
            +
                  "name": "toKeyId",
         | 
| 91 | 
            +
                  "outputs": [
         | 
| 89 92 | 
             
                    {
         | 
| 90 93 | 
             
                      "internalType": "KeyId",
         | 
| 91 94 | 
             
                      "name": "id",
         | 
| 92 95 | 
             
                      "type": "bytes31"
         | 
| 93 96 | 
             
                    }
         | 
| 94 97 | 
             
                  ],
         | 
| 95 | 
            -
                  " | 
| 96 | 
            -
                  " | 
| 98 | 
            +
                  "stateMutability": "pure",
         | 
| 99 | 
            +
                  "type": "function"
         | 
| 100 | 
            +
                },
         | 
| 101 | 
            +
                {
         | 
| 102 | 
            +
                  "inputs": [
         | 
| 97 103 | 
             
                    {
         | 
| 98 104 | 
             
                      "internalType": "Key32",
         | 
| 99 | 
            -
                      "name": "",
         | 
| 105 | 
            +
                      "name": "key",
         | 
| 100 106 | 
             
                      "type": "bytes32"
         | 
| 101 107 | 
             
                    }
         | 
| 102 108 | 
             
                  ],
         | 
| 109 | 
            +
                  "name": "toObjectType",
         | 
| 110 | 
            +
                  "outputs": [
         | 
| 111 | 
            +
                    {
         | 
| 112 | 
            +
                      "internalType": "ObjectType",
         | 
| 113 | 
            +
                      "name": "objectType",
         | 
| 114 | 
            +
                      "type": "uint8"
         | 
| 115 | 
            +
                    }
         | 
| 116 | 
            +
                  ],
         | 
| 103 117 | 
             
                  "stateMutability": "pure",
         | 
| 104 118 | 
             
                  "type": "function"
         | 
| 105 119 | 
             
                }
         | 
| 106 120 | 
             
              ],
         | 
| 107 | 
            -
              "bytecode": " | 
| 108 | 
            -
              "deployedBytecode": " | 
| 121 | 
            +
              "bytecode": "0x61027361003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639601d31e116100655780639601d31e146100ee578063d92bb60d14610102578063da3fe41214610110578063f48016ce1461011857600080fd5b80630f94cc501461008c57806329e9b226146100ae578063389e7d68146100c8575b600080fd5b61009b6001600160f81b031981565b6040519081526020015b60405180910390f35b6100b660f881565b60405160ff90911681526020016100a5565b6100db6100d6366004610193565b61012b565b60405160ff1990911681526020016100a5565b6100b66100fc366004610193565b60f81c90565b61009b6001600160f81b0381565b6100b6610153565b61009b6101263660046101ac565b610163565b60008161013b60f8610100610208565b6001600160f81b039190911660ff9091161b92915050565b61016060f8610100610208565b81565b600060ff8316600883901c82610187826001600160f81b031960f889901b1661022a565b93505050505b92915050565b6000602082840312156101a557600080fd5b5035919050565b600080604083850312156101bf57600080fd5b823560ff811681146101d057600080fd5b9150602083013560ff19811681146101e757600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115610223576102236101f2565b5092915050565b8082018082111561018d5761018d6101f256fea2646970667358221220fc2c078a79039b851ed1a97b716c4f273efc929a80af74af156e165fca4066db64736f6c63430008140033",
         | 
| 122 | 
            +
              "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c80639601d31e116100655780639601d31e146100ee578063d92bb60d14610102578063da3fe41214610110578063f48016ce1461011857600080fd5b80630f94cc501461008c57806329e9b226146100ae578063389e7d68146100c8575b600080fd5b61009b6001600160f81b031981565b6040519081526020015b60405180910390f35b6100b660f881565b60405160ff90911681526020016100a5565b6100db6100d6366004610193565b61012b565b60405160ff1990911681526020016100a5565b6100b66100fc366004610193565b60f81c90565b61009b6001600160f81b0381565b6100b6610153565b61009b6101263660046101ac565b610163565b60008161013b60f8610100610208565b6001600160f81b039190911660ff9091161b92915050565b61016060f8610100610208565b81565b600060ff8316600883901c82610187826001600160f81b031960f889901b1661022a565b93505050505b92915050565b6000602082840312156101a557600080fd5b5035919050565b600080604083850312156101bf57600080fd5b823560ff811681146101d057600080fd5b9150602083013560ff19811681146101e757600080fd5b809150509250929050565b634e487b7160e01b600052601160045260246000fd5b61ffff828116828216039080821115610223576102236101f2565b5092915050565b8082018082111561018d5761018d6101f256fea2646970667358221220fc2c078a79039b851ed1a97b716c4f273efc929a80af74af156e165fca4066db64736f6c63430008140033",
         | 
| 109 123 | 
             
              "linkReferences": {},
         | 
| 110 124 | 
             
              "deployedLinkReferences": {}
         | 
| 111 125 | 
             
            }
         | 
| @@ -128,8 +128,8 @@ | |
| 128 128 | 
             
                  "type": "function"
         | 
| 129 129 | 
             
                }
         | 
| 130 130 | 
             
              ],
         | 
| 131 | 
            -
              "bytecode": "0x6102fa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806308dc895e1461007157806330b8415f1461009f5780633889a4c8146100cb57806340a8cd9e146100ec57806352694ee814610122578063c4cade9d1461013d575b600080fd5b61008261007f366004610220565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100bb6100ad366004610220565b6001600160601b0316151590565b6040519015158152602001610096565b6100de6100d936600461023b565b610161565b604051908152602001610096565b61010f6100fa366004610220565b60081b6cffffffffffffffffffffffff001690565b60405160ff199091168152602001610096565b6100bb610130366004610220565b6001600160601b03161590565b6100bb61014b366004610278565b60006001600160601b03808416908316146101fd565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$ | 
| 132 | 
            -
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806308dc895e1461007157806330b8415f1461009f5780633889a4c8146100cb57806340a8cd9e146100ec57806352694ee814610122578063c4cade9d1461013d575b600080fd5b61008261007f366004610220565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100bb6100ad366004610220565b6001600160601b0316151590565b6040519015158152602001610096565b6100de6100d936600461023b565b610161565b604051908152602001610096565b61010f6100fa366004610220565b60081b6cffffffffffffffffffffffff001690565b60405160ff199091168152602001610096565b6100bb610130366004610220565b6001600160601b03161590565b6100bb61014b366004610278565b60006001600160601b03808416908316146101fd565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$ | 
| 131 | 
            +
              "bytecode": "0x6102fa61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806308dc895e1461007157806330b8415f1461009f5780633889a4c8146100cb57806340a8cd9e146100ec57806352694ee814610122578063c4cade9d1461013d575b600080fd5b61008261007f366004610220565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100bb6100ad366004610220565b6001600160601b0316151590565b6040519015158152602001610096565b6100de6100d936600461023b565b610161565b604051908152602001610096565b61010f6100fa366004610220565b60081b6cffffffffffffffffffffffff001690565b60405160ff199091168152602001610096565b6100bb610130366004610220565b6001600160601b03161590565b6100bb61014b366004610278565b60006001600160601b03808416908316146101fd565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce83600886901b6cffffffffffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd91906102ab565b9392505050565b80356001600160601b038116811461021b57600080fd5b919050565b60006020828403121561023257600080fd5b6101fd82610204565b6000806040838503121561024e57600080fd5b61025783610204565b9150602083013560ff8116811461026d57600080fd5b809150509250929050565b6000806040838503121561028b57600080fd5b61029483610204565b91506102a260208401610204565b90509250929050565b6000602082840312156102bd57600080fd5b505191905056fea2646970667358221220c1854ba353d599ea92c2bc434c766302432128fb99662446139943367f71224164736f6c63430008140033",
         | 
| 132 | 
            +
              "deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061006c5760003560e01c806308dc895e1461007157806330b8415f1461009f5780633889a4c8146100cb57806340a8cd9e146100ec57806352694ee814610122578063c4cade9d1461013d575b600080fd5b61008261007f366004610220565b90565b6040516001600160601b0390911681526020015b60405180910390f35b6100bb6100ad366004610220565b6001600160601b0316151590565b6040519015158152602001610096565b6100de6100d936600461023b565b610161565b604051908152602001610096565b61010f6100fa366004610220565b60081b6cffffffffffffffffffffffff001690565b60405160ff199091168152602001610096565b6100bb610130366004610220565b6001600160601b03161590565b6100bb61014b366004610278565b60006001600160601b03808416908316146101fd565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce83600886901b6cffffffffffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906101fd91906102ab565b9392505050565b80356001600160601b038116811461021b57600080fd5b919050565b60006020828403121561023257600080fd5b6101fd82610204565b6000806040838503121561024e57600080fd5b61025783610204565b9150602083013560ff8116811461026d57600080fd5b809150509250929050565b6000806040838503121561028b57600080fd5b61029483610204565b91506102a260208401610204565b90509250929050565b6000602082840312156102bd57600080fd5b505191905056fea2646970667358221220c1854ba353d599ea92c2bc434c766302432128fb99662446139943367f71224164736f6c63430008140033",
         | 
| 133 133 | 
             
              "linkReferences": {
         | 
| 134 134 | 
             
                "contracts/types/Key32.sol": {
         | 
| 135 135 | 
             
                  "Key32Lib": [
         |