@etherisc/gif-next 0.0.2-d911522 → 0.0.2-da77c50-824
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +125 -0
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +4 -0
- package/artifacts/contracts/components/{Component.sol/Component.json → BaseComponent.sol/BaseComponent.json} +48 -53
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +4 -0
- package/artifacts/contracts/components/{IPool.sol/IPoolComponent.json → IBaseComponent.sol/IBaseComponent.json} +48 -53
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +4 -0
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.json +356 -0
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +4 -0
- package/artifacts/contracts/components/{IProduct.sol → IProductComponent.sol}/IProductComponent.json +139 -52
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +218 -44
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +144 -70
- package/artifacts/contracts/experiment/errors/Require.sol/Require.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Require.sol/Require.json +2 -2
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.dbg.json +1 -1
- package/artifacts/contracts/experiment/errors/Revert.sol/Revert.json +2 -2
- package/artifacts/contracts/experiment/inheritance/A.sol/A.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/A.json +2 -2
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.dbg.json +1 -1
- package/artifacts/contracts/experiment/inheritance/A.sol/AShared.json +2 -2
- 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 +4 -0
- package/artifacts/contracts/experiment/statemachine/Dummy.sol/LifeCycleModule.json +59 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISM.json +124 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/ISM.sol/ISMEE.json +74 -0
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/SM.sol/SM.json +124 -0
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +4 -0
- package/artifacts/contracts/experiment/statemachine/SimpleStateMachine.sol/SimpleStateMachine.json +207 -0
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeA.sol/TypeALib.json +2 -2
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.dbg.json +1 -1
- package/artifacts/contracts/experiment/types/TypeB.sol/TypeBLib.json +2 -2
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +1419 -289
- package/artifacts/contracts/instance/IInstanceLinked.sol/IInstanceLinked.dbg.json +4 -0
- package/artifacts/contracts/instance/{component/IComponent.sol → IInstanceLinked.sol}/IInstanceLinked.json +1 -1
- package/artifacts/contracts/instance/IServiceLinked.sol/IServiceLinked.dbg.json +4 -0
- package/artifacts/contracts/instance/{access/IAccess.sol/IAccessComponentTypeRoles.json → IServiceLinked.sol/IServiceLinked.json} +14 -14
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +1569 -348
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/{component/ComponentModule.sol/ComponentModule.json → InstanceBase.sol/InstanceBase.json} +128 -142
- package/artifacts/contracts/instance/module/access/Access.sol/AccessModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{access → module/access}/Access.sol/AccessModule.json +85 -152
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccess.dbg.json +4 -0
- package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccess.json +1 -1
- package/artifacts/contracts/instance/module/access/IAccess.sol/IAccessModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{access → module/access}/IAccess.sol/IAccessModule.json +96 -99
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/BundleModule.sol/BundleModule.json +276 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundle.json +10 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/bundle/IBundle.sol/IBundleModule.json +276 -0
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/component/ComponentModule.sol/ComponentModule.json +188 -0
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponent.dbg.json +4 -0
- package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponent.json +1 -1
- package/artifacts/contracts/instance/module/component/IComponent.sol/IComponentModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{component → module/component}/IComponent.sol/IComponentModule.json +40 -97
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycle.json +134 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/ILifecycle.sol/ILifecycleModule.json +182 -0
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/lifecycle/LifecycleModule.sol/LifecycleModule.json +221 -0
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicy.dbg.json +4 -0
- package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicy.json +1 -1
- package/artifacts/contracts/instance/module/policy/IPolicy.sol/IPolicyModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{policy → module/policy}/IPolicy.sol/IPolicyModule.json +142 -112
- package/artifacts/contracts/instance/module/policy/PolicyModule.sol/PolicyModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{policy → module/policy}/PolicyModule.sol/PolicyModule.json +142 -112
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPool.dbg.json +4 -0
- package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPool.json +1 -1
- package/artifacts/contracts/instance/module/pool/IPoolModule.sol/IPoolModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{pool → module/pool}/IPoolModule.sol/IPoolModule.json +57 -57
- package/artifacts/contracts/instance/module/pool/PoolModule.sol/PoolModule.dbg.json +4 -0
- package/artifacts/contracts/instance/{pool → module/pool}/PoolModule.sol/PoolModule.json +50 -63
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/product/IProductModule.sol/IProductModule.json +10 -0
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/product/ProductModule.sol/ProductModule.json +10 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasury.json +10 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/ITreasury.sol/ITreasuryModule.json +538 -0
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/TokenHandler.sol/TokenHandler.json +76 -0
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.dbg.json +4 -0
- package/artifacts/contracts/instance/module/treasury/TreasuryModule.sol/TreasuryModule.json +538 -0
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +519 -0
- package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ComponentServiceBase.sol/ComponentServiceBase.json +300 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.json +364 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.json +376 -0
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.json +477 -0
- package/artifacts/contracts/instance/service/IService.sol/IService.dbg.json +4 -0
- package/artifacts/contracts/instance/{component/IComponent.sol/IComponentContract.json → service/IService.sol/IService.json} +148 -27
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +499 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +685 -0
- package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.dbg.json +4 -0
- package/artifacts/contracts/instance/service/ServiceBase.sol/ServiceBase.json +300 -0
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.json +65 -2
- package/artifacts/contracts/registry/IChainNft.sol/IChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +103 -77
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.dbg.json +4 -0
- package/artifacts/contracts/registry/IRegistryLinked.sol/IRegistryLinked.json +24 -0
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +194 -69
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +4 -0
- package/artifacts/contracts/shared/ERC165.sol/ERC165.json +35 -0
- package/artifacts/contracts/shared/IOwnable.sol/IOwnable.dbg.json +4 -0
- package/artifacts/contracts/{registry/IRegistry.sol → shared/IOwnable.sol}/IOwnable.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +4 -0
- package/artifacts/contracts/{registry/IRegistry.sol → shared/IRegisterable.sol}/IRegisterable.json +18 -63
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +4 -0
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.json +164 -0
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +4 -0
- package/artifacts/contracts/{registry/Registry.sol → shared/Registerable.sol}/Registerable.json +18 -63
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +4 -0
- package/artifacts/contracts/shared/Versionable.sol/Versionable.json +164 -0
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +4 -0
- package/artifacts/contracts/test/TestFee.sol/TestFee.json +95 -0
- package/artifacts/contracts/test/TestPool.sol/TestPool.dbg.json +4 -0
- package/artifacts/contracts/test/TestPool.sol/TestPool.json +387 -0
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.dbg.json +4 -0
- package/artifacts/contracts/test/TestProduct.sol/TestProduct.json +393 -0
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +4 -0
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +137 -0
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +4 -0
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +82 -0
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +4 -0
- package/artifacts/contracts/test/TestService.sol/TestService.json +407 -0
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +4 -0
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.json +338 -0
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +4 -0
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.json +222 -0
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +4 -0
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.json +230 -0
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.dbg.json +4 -0
- package/artifacts/contracts/types/AddressSet.sol/LibAddressSet.json +10 -0
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/types/Blocknumber.sol/BlocknumberLib.json +2 -2
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ChainId.sol/ChainIdLib.json +2 -2
- 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 +4 -0
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.json +10 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +4 -0
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.json +92 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +4 -0
- package/artifacts/contracts/types/StateId.sol/StateIdLib.json +92 -0
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.json +64 -2
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedMathLib.json +68 -55
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +4 -0
- package/artifacts/contracts/types/Version.sol/VersionLib.json +78 -0
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +4 -0
- package/artifacts/contracts/types/Version.sol/VersionPartLib.json +30 -0
- package/contracts/components/BaseComponent.sol +89 -0
- package/contracts/components/IBaseComponent.sol +19 -0
- package/contracts/components/IPoolComponent.sol +57 -0
- package/contracts/components/IProductComponent.sol +19 -0
- package/contracts/components/Pool.sol +161 -16
- package/contracts/components/Product.sol +77 -26
- package/contracts/experiment/errors/Require.sol +10 -5
- package/contracts/experiment/errors/Revert.sol +13 -8
- package/contracts/experiment/inheritance/A.sol +8 -11
- package/contracts/experiment/inheritance/B.sol +10 -5
- package/contracts/experiment/inheritance/C.sol +11 -5
- package/contracts/experiment/inheritance/IA.sol +2 -7
- package/contracts/experiment/inheritance/IB.sol +3 -2
- package/contracts/experiment/inheritance/IC.sol +4 -3
- package/contracts/experiment/statemachine/Dummy.sol +27 -0
- package/contracts/experiment/statemachine/ISM.sol +25 -0
- package/contracts/experiment/statemachine/README.md +112 -0
- package/contracts/experiment/statemachine/SM.sol +57 -0
- package/contracts/experiment/statemachine/SimpleStateMachine.sol +31 -0
- package/contracts/experiment/types/TypeA.sol +14 -9
- package/contracts/experiment/types/TypeB.sol +14 -9
- package/contracts/instance/IInstance.sol +38 -8
- package/contracts/instance/IInstanceLinked.sol +8 -0
- package/contracts/instance/IServiceLinked.sol +12 -0
- package/contracts/instance/Instance.sol +43 -45
- package/contracts/instance/InstanceBase.sol +74 -0
- package/contracts/instance/module/access/Access.sol +149 -0
- package/contracts/instance/module/access/IAccess.sol +53 -0
- package/contracts/instance/module/bundle/BundleModule.sol +228 -0
- package/contracts/instance/module/bundle/IBundle.sol +53 -0
- package/contracts/instance/module/component/ComponentModule.sol +104 -0
- package/contracts/instance/module/component/IComponent.sol +53 -0
- package/contracts/instance/module/lifecycle/ILifecycle.sol +47 -0
- package/contracts/instance/module/lifecycle/LifecycleModule.sol +89 -0
- package/contracts/instance/module/policy/IPolicy.sol +60 -0
- package/contracts/instance/module/policy/PolicyModule.sol +84 -0
- package/contracts/instance/module/pool/IPoolModule.sol +41 -0
- package/contracts/instance/module/pool/PoolModule.sol +87 -0
- package/contracts/instance/module/product/IProductModule.sol +6 -0
- package/contracts/instance/module/product/ProductModule.sol +8 -0
- package/contracts/instance/module/treasury/ITreasury.sol +104 -0
- package/contracts/instance/module/treasury/TokenHandler.sol +48 -0
- package/contracts/instance/module/treasury/TreasuryModule.sol +148 -0
- package/contracts/instance/service/ComponentOwnerService.sol +174 -0
- package/contracts/instance/service/ComponentServiceBase.sol +41 -0
- package/contracts/instance/service/IComponentOwnerService.sol +22 -0
- package/contracts/instance/service/IPoolService.sol +30 -0
- package/contracts/instance/service/IProductService.sol +58 -0
- package/contracts/instance/service/IService.sol +15 -0
- package/contracts/instance/service/PoolService.sol +98 -0
- package/contracts/instance/service/ProductService.sol +358 -0
- package/contracts/instance/service/ServiceBase.sol +39 -0
- package/contracts/registry/ChainNft.sol +80 -94
- package/contracts/registry/IChainNft.sol +10 -7
- package/contracts/registry/IRegistry.sol +38 -51
- package/contracts/registry/IRegistryLinked.sol +8 -0
- package/contracts/registry/Registry.sol +310 -111
- package/contracts/shared/ERC165.sol +21 -0
- package/contracts/shared/IOwnable.sol +6 -0
- package/contracts/shared/IRegisterable.sol +24 -0
- package/contracts/shared/IVersionable.sol +52 -0
- package/contracts/shared/Registerable.sol +86 -0
- package/contracts/shared/Versionable.sol +92 -0
- package/contracts/test/TestFee.sol +25 -0
- package/contracts/test/TestPool.sol +22 -0
- package/contracts/test/TestProduct.sol +44 -0
- package/contracts/test/TestRegisterable.sol +19 -0
- package/contracts/test/TestRoleId.sol +14 -0
- package/contracts/test/TestService.sol +35 -0
- package/contracts/test/TestToken.sol +26 -0
- package/contracts/test/TestVersion.sol +47 -0
- package/contracts/test/TestVersionable.sol +20 -0
- package/contracts/types/AddressSet.sol +58 -0
- package/contracts/types/Blocknumber.sol +76 -18
- package/contracts/types/ChainId.sol +18 -10
- package/contracts/types/Fee.sol +32 -0
- package/contracts/types/NftId.sol +33 -11
- package/contracts/types/NftIdSet.sol +60 -0
- package/contracts/types/ObjectType.sol +115 -0
- package/contracts/types/RoleId.sol +36 -0
- package/contracts/types/StateId.sol +95 -0
- package/contracts/types/Timestamp.sol +85 -17
- package/contracts/types/UFixed.sol +71 -72
- package/contracts/types/Version.sol +91 -0
- package/package.json +19 -5
- package/artifacts/contracts/components/Component.sol/Component.dbg.json +0 -4
- package/artifacts/contracts/components/Component.sol/InstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/components/Component.sol/InstanceLinked.json +0 -35
- package/artifacts/contracts/components/IPool.sol/IPoolComponent.dbg.json +0 -4
- package/artifacts/contracts/components/IProduct.sol/IProductComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/access/Access.sol/AccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccess.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessCheckRole.json +0 -35
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessComponentTypeRoles.dbg.json +0 -4
- package/artifacts/contracts/instance/access/IAccess.sol/IAccessModule.dbg.json +0 -4
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/component/ComponentModule.sol/ComponentOwnerService.json +0 -147
- package/artifacts/contracts/instance/component/IComponent.sol/IComponent.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentContract.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentModule.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.dbg.json +0 -4
- package/artifacts/contracts/instance/component/IComponent.sol/IComponentOwnerService.json +0 -94
- package/artifacts/contracts/instance/component/IComponent.sol/IInstanceLinked.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicy.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/IPolicy.sol/IPolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/policy/PolicyModule.sol/PolicyModule.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/IPoolModule.sol/IPool.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/IPoolModule.sol/IPoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/pool/PoolModule.sol/PoolModule.dbg.json +0 -4
- package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/product/IProductService.sol/IProductModule.json +0 -75
- package/artifacts/contracts/instance/product/IProductService.sol/IProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/product/IProductService.sol/IProductService.json +0 -114
- package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.dbg.json +0 -4
- package/artifacts/contracts/instance/product/ProductService.sol/ProductModule.json +0 -75
- package/artifacts/contracts/instance/product/ProductService.sol/ProductService.dbg.json +0 -4
- package/artifacts/contracts/instance/product/ProductService.sol/ProductService.json +0 -167
- package/artifacts/contracts/registry/IRegistry.sol/IOwnable.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegisterable.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/IRegistry.sol/IRegistryLinked.json +0 -49
- package/artifacts/contracts/registry/Registry.sol/Registerable.dbg.json +0 -4
- package/artifacts/contracts/registry/Registry.sol/RegistryLinked.dbg.json +0 -4
- package/artifacts/contracts/registry/Registry.sol/RegistryLinked.json +0 -60
- package/contracts/components/Component.sol +0 -62
- package/contracts/components/IPool.sol +0 -9
- package/contracts/components/IProduct.sol +0 -12
- package/contracts/instance/access/Access.sol +0 -218
- package/contracts/instance/access/IAccess.sol +0 -83
- package/contracts/instance/component/ComponentModule.sol +0 -248
- package/contracts/instance/component/IComponent.sol +0 -95
- package/contracts/instance/policy/IPolicy.sol +0 -66
- package/contracts/instance/policy/PolicyModule.sol +0 -107
- package/contracts/instance/pool/IPoolModule.sol +0 -41
- package/contracts/instance/pool/PoolModule.sol +0 -86
- package/contracts/instance/product/IProductService.sol +0 -46
- package/contracts/instance/product/ProductService.sol +0 -108
@@ -3,6 +3,30 @@
|
|
3
3
|
"contractName": "TimestampLib",
|
4
4
|
"sourceName": "contracts/types/Timestamp.sol",
|
5
5
|
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "Timestamp",
|
10
|
+
"name": "timestamp",
|
11
|
+
"type": "uint40"
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"internalType": "uint256",
|
15
|
+
"name": "timeDelta",
|
16
|
+
"type": "uint256"
|
17
|
+
}
|
18
|
+
],
|
19
|
+
"name": "addSeconds",
|
20
|
+
"outputs": [
|
21
|
+
{
|
22
|
+
"internalType": "Timestamp",
|
23
|
+
"name": "",
|
24
|
+
"type": "uint40"
|
25
|
+
}
|
26
|
+
],
|
27
|
+
"stateMutability": "pure",
|
28
|
+
"type": "function"
|
29
|
+
},
|
6
30
|
{
|
7
31
|
"inputs": [
|
8
32
|
{
|
@@ -27,6 +51,25 @@
|
|
27
51
|
"stateMutability": "pure",
|
28
52
|
"type": "function"
|
29
53
|
},
|
54
|
+
{
|
55
|
+
"inputs": [
|
56
|
+
{
|
57
|
+
"internalType": "Timestamp",
|
58
|
+
"name": "timestamp",
|
59
|
+
"type": "uint40"
|
60
|
+
}
|
61
|
+
],
|
62
|
+
"name": "eqz",
|
63
|
+
"outputs": [
|
64
|
+
{
|
65
|
+
"internalType": "bool",
|
66
|
+
"name": "",
|
67
|
+
"type": "bool"
|
68
|
+
}
|
69
|
+
],
|
70
|
+
"stateMutability": "pure",
|
71
|
+
"type": "function"
|
72
|
+
},
|
30
73
|
{
|
31
74
|
"inputs": [
|
32
75
|
{
|
@@ -75,6 +118,25 @@
|
|
75
118
|
"stateMutability": "pure",
|
76
119
|
"type": "function"
|
77
120
|
},
|
121
|
+
{
|
122
|
+
"inputs": [
|
123
|
+
{
|
124
|
+
"internalType": "Timestamp",
|
125
|
+
"name": "timestamp",
|
126
|
+
"type": "uint40"
|
127
|
+
}
|
128
|
+
],
|
129
|
+
"name": "gtz",
|
130
|
+
"outputs": [
|
131
|
+
{
|
132
|
+
"internalType": "bool",
|
133
|
+
"name": "",
|
134
|
+
"type": "bool"
|
135
|
+
}
|
136
|
+
],
|
137
|
+
"stateMutability": "pure",
|
138
|
+
"type": "function"
|
139
|
+
},
|
78
140
|
{
|
79
141
|
"inputs": [
|
80
142
|
{
|
@@ -167,8 +229,8 @@
|
|
167
229
|
"type": "function"
|
168
230
|
}
|
169
231
|
],
|
170
|
-
"bytecode": "
|
171
|
-
"deployedBytecode": "
|
232
|
+
"bytecode": "0x61033e61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063add9ce9911610070578063add9ce991461012e578063c24922ce14610141578063da09d48414610154578063ddf3d6311461017a578063ef6c0d781461018d57600080fd5b8063790a38ad146100ad57806383ffcdef146100db5780638d38cd4b146100ee57806394335b1a146101085780639df876391461011b575b600080fd5b6100c66100bb36600461025d565b64ffffffffff161590565b60405190151581526020015b60405180910390f35b6100c66100e9366004610278565b6101b6565b6100c66100fc36600461025d565b64ffffffffff16151590565b6100c6610116366004610278565b6101cd565b6100c6610129366004610278565b6101e2565b6100c661013c366004610278565b6101f6565b6100c661014f366004610278565b61020a565b61016c61016236600461025d565b64ffffffffff1690565b6040519081526020016100d2565b6100c6610188366004610278565b61021f565b6101a061019b3660046102ab565b610234565b60405164ffffffffff90911681526020016100d2565b600064ffffffffff808316908416115b9392505050565b600064ffffffffff80831690841611156101c6565b600064ffffffffff808416908316146101c6565b600064ffffffffff808316908416106101c6565b600064ffffffffff80831690841610156101c6565b600064ffffffffff80841690831614156101c6565b60006101c661016283856102d5565b803564ffffffffff8116811461025857600080fd5b919050565b60006020828403121561026f57600080fd5b6101c682610243565b6000806040838503121561028b57600080fd5b61029483610243565b91506102a260208401610243565b90509250929050565b600080604083850312156102be57600080fd5b6102c783610243565b946020939093013593505050565b64ffffffffff81811683821601908082111561030157634e487b7160e01b600052601160045260246000fd5b509291505056fea26469706673582212206045042e6159709f583e18c07a417f3534a74f7cb15565cca8d202e573264fca64736f6c63430008140033",
|
233
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100a85760003560e01c8063add9ce9911610070578063add9ce991461012e578063c24922ce14610141578063da09d48414610154578063ddf3d6311461017a578063ef6c0d781461018d57600080fd5b8063790a38ad146100ad57806383ffcdef146100db5780638d38cd4b146100ee57806394335b1a146101085780639df876391461011b575b600080fd5b6100c66100bb36600461025d565b64ffffffffff161590565b60405190151581526020015b60405180910390f35b6100c66100e9366004610278565b6101b6565b6100c66100fc36600461025d565b64ffffffffff16151590565b6100c6610116366004610278565b6101cd565b6100c6610129366004610278565b6101e2565b6100c661013c366004610278565b6101f6565b6100c661014f366004610278565b61020a565b61016c61016236600461025d565b64ffffffffff1690565b6040519081526020016100d2565b6100c6610188366004610278565b61021f565b6101a061019b3660046102ab565b610234565b60405164ffffffffff90911681526020016100d2565b600064ffffffffff808316908416115b9392505050565b600064ffffffffff80831690841611156101c6565b600064ffffffffff808416908316146101c6565b600064ffffffffff808316908416106101c6565b600064ffffffffff80831690841610156101c6565b600064ffffffffff80841690831614156101c6565b60006101c661016283856102d5565b803564ffffffffff8116811461025857600080fd5b919050565b60006020828403121561026f57600080fd5b6101c682610243565b6000806040838503121561028b57600080fd5b61029483610243565b91506102a260208401610243565b90509250929050565b600080604083850312156102be57600080fd5b6102c783610243565b946020939093013593505050565b64ffffffffff81811683821601908082111561030157634e487b7160e01b600052601160045260246000fd5b509291505056fea26469706673582212206045042e6159709f583e18c07a417f3534a74f7cb15565cca8d202e573264fca64736f6c63430008140033",
|
172
234
|
"linkReferences": {},
|
173
235
|
"deployedLinkReferences": {}
|
174
236
|
}
|
@@ -189,14 +189,19 @@
|
|
189
189
|
"internalType": "UFixed",
|
190
190
|
"name": "a",
|
191
191
|
"type": "uint256"
|
192
|
+
},
|
193
|
+
{
|
194
|
+
"internalType": "UFixed",
|
195
|
+
"name": "b",
|
196
|
+
"type": "uint256"
|
192
197
|
}
|
193
198
|
],
|
194
|
-
"name": "
|
199
|
+
"name": "gt",
|
195
200
|
"outputs": [
|
196
201
|
{
|
197
|
-
"internalType": "
|
198
|
-
"name": "",
|
199
|
-
"type": "
|
202
|
+
"internalType": "bool",
|
203
|
+
"name": "isGreaterThan",
|
204
|
+
"type": "bool"
|
200
205
|
}
|
201
206
|
],
|
202
207
|
"stateMutability": "pure",
|
@@ -210,17 +215,17 @@
|
|
210
215
|
"type": "uint256"
|
211
216
|
},
|
212
217
|
{
|
213
|
-
"internalType": "
|
214
|
-
"name": "
|
215
|
-
"type": "
|
218
|
+
"internalType": "UFixed",
|
219
|
+
"name": "b",
|
220
|
+
"type": "uint256"
|
216
221
|
}
|
217
222
|
],
|
218
|
-
"name": "
|
223
|
+
"name": "gte",
|
219
224
|
"outputs": [
|
220
225
|
{
|
221
|
-
"internalType": "
|
222
|
-
"name": "",
|
223
|
-
"type": "
|
226
|
+
"internalType": "bool",
|
227
|
+
"name": "isGreaterThan",
|
228
|
+
"type": "bool"
|
224
229
|
}
|
225
230
|
],
|
226
231
|
"stateMutability": "pure",
|
@@ -232,18 +237,13 @@
|
|
232
237
|
"internalType": "UFixed",
|
233
238
|
"name": "a",
|
234
239
|
"type": "uint256"
|
235
|
-
},
|
236
|
-
{
|
237
|
-
"internalType": "UFixed",
|
238
|
-
"name": "b",
|
239
|
-
"type": "uint256"
|
240
240
|
}
|
241
241
|
],
|
242
|
-
"name": "
|
242
|
+
"name": "gtz",
|
243
243
|
"outputs": [
|
244
244
|
{
|
245
245
|
"internalType": "bool",
|
246
|
-
"name": "
|
246
|
+
"name": "isZero",
|
247
247
|
"type": "bool"
|
248
248
|
}
|
249
249
|
],
|
@@ -263,7 +263,7 @@
|
|
263
263
|
"type": "uint256"
|
264
264
|
}
|
265
265
|
],
|
266
|
-
"name": "
|
266
|
+
"name": "lt",
|
267
267
|
"outputs": [
|
268
268
|
{
|
269
269
|
"internalType": "bool",
|
@@ -280,13 +280,18 @@
|
|
280
280
|
"internalType": "UFixed",
|
281
281
|
"name": "a",
|
282
282
|
"type": "uint256"
|
283
|
+
},
|
284
|
+
{
|
285
|
+
"internalType": "UFixed",
|
286
|
+
"name": "b",
|
287
|
+
"type": "uint256"
|
283
288
|
}
|
284
289
|
],
|
285
|
-
"name": "
|
290
|
+
"name": "lte",
|
286
291
|
"outputs": [
|
287
292
|
{
|
288
293
|
"internalType": "bool",
|
289
|
-
"name": "
|
294
|
+
"name": "isGreaterThan",
|
290
295
|
"type": "bool"
|
291
296
|
}
|
292
297
|
],
|
@@ -296,12 +301,17 @@
|
|
296
301
|
{
|
297
302
|
"inputs": [
|
298
303
|
{
|
299
|
-
"internalType": "
|
304
|
+
"internalType": "UFixed",
|
300
305
|
"name": "a",
|
301
306
|
"type": "uint256"
|
307
|
+
},
|
308
|
+
{
|
309
|
+
"internalType": "UFixed",
|
310
|
+
"name": "b",
|
311
|
+
"type": "uint256"
|
302
312
|
}
|
303
313
|
],
|
304
|
-
"name": "
|
314
|
+
"name": "mul",
|
305
315
|
"outputs": [
|
306
316
|
{
|
307
317
|
"internalType": "UFixed",
|
@@ -315,17 +325,17 @@
|
|
315
325
|
{
|
316
326
|
"inputs": [
|
317
327
|
{
|
318
|
-
"internalType": "
|
328
|
+
"internalType": "UFixed",
|
319
329
|
"name": "a",
|
320
330
|
"type": "uint256"
|
321
331
|
},
|
322
332
|
{
|
323
|
-
"internalType": "
|
324
|
-
"name": "
|
325
|
-
"type": "
|
333
|
+
"internalType": "UFixed",
|
334
|
+
"name": "b",
|
335
|
+
"type": "uint256"
|
326
336
|
}
|
327
337
|
],
|
328
|
-
"name": "
|
338
|
+
"name": "sub",
|
329
339
|
"outputs": [
|
330
340
|
{
|
331
341
|
"internalType": "UFixed",
|
@@ -342,19 +352,14 @@
|
|
342
352
|
"internalType": "UFixed",
|
343
353
|
"name": "a",
|
344
354
|
"type": "uint256"
|
345
|
-
},
|
346
|
-
{
|
347
|
-
"internalType": "UFixed",
|
348
|
-
"name": "b",
|
349
|
-
"type": "uint256"
|
350
355
|
}
|
351
356
|
],
|
352
|
-
"name": "
|
357
|
+
"name": "toInt",
|
353
358
|
"outputs": [
|
354
359
|
{
|
355
|
-
"internalType": "
|
356
|
-
"name": "
|
357
|
-
"type": "
|
360
|
+
"internalType": "uint256",
|
361
|
+
"name": "",
|
362
|
+
"type": "uint256"
|
358
363
|
}
|
359
364
|
],
|
360
365
|
"stateMutability": "pure",
|
@@ -368,17 +373,17 @@
|
|
368
373
|
"type": "uint256"
|
369
374
|
},
|
370
375
|
{
|
371
|
-
"internalType": "
|
372
|
-
"name": "
|
373
|
-
"type": "
|
376
|
+
"internalType": "enum UFixedMathLib.Rounding",
|
377
|
+
"name": "rounding",
|
378
|
+
"type": "UFixedMathLib.Rounding"
|
374
379
|
}
|
375
380
|
],
|
376
|
-
"name": "
|
381
|
+
"name": "toIntWithRounding",
|
377
382
|
"outputs": [
|
378
383
|
{
|
379
|
-
"internalType": "
|
380
|
-
"name": "
|
381
|
-
"type": "
|
384
|
+
"internalType": "uint256",
|
385
|
+
"name": "",
|
386
|
+
"type": "uint256"
|
382
387
|
}
|
383
388
|
],
|
384
389
|
"stateMutability": "pure",
|
@@ -387,17 +392,17 @@
|
|
387
392
|
{
|
388
393
|
"inputs": [
|
389
394
|
{
|
390
|
-
"internalType": "
|
395
|
+
"internalType": "uint256",
|
391
396
|
"name": "a",
|
392
397
|
"type": "uint256"
|
393
398
|
},
|
394
399
|
{
|
395
|
-
"internalType": "
|
396
|
-
"name": "
|
397
|
-
"type": "
|
400
|
+
"internalType": "int8",
|
401
|
+
"name": "exp",
|
402
|
+
"type": "int8"
|
398
403
|
}
|
399
404
|
],
|
400
|
-
"name": "
|
405
|
+
"name": "toUFixed",
|
401
406
|
"outputs": [
|
402
407
|
{
|
403
408
|
"internalType": "UFixed",
|
@@ -411,17 +416,25 @@
|
|
411
416
|
{
|
412
417
|
"inputs": [
|
413
418
|
{
|
414
|
-
"internalType": "
|
419
|
+
"internalType": "uint256",
|
415
420
|
"name": "a",
|
416
421
|
"type": "uint256"
|
417
|
-
}
|
422
|
+
}
|
423
|
+
],
|
424
|
+
"name": "toUFixed",
|
425
|
+
"outputs": [
|
418
426
|
{
|
419
427
|
"internalType": "UFixed",
|
420
|
-
"name": "
|
428
|
+
"name": "",
|
421
429
|
"type": "uint256"
|
422
430
|
}
|
423
431
|
],
|
424
|
-
"
|
432
|
+
"stateMutability": "pure",
|
433
|
+
"type": "function"
|
434
|
+
},
|
435
|
+
{
|
436
|
+
"inputs": [],
|
437
|
+
"name": "zero",
|
425
438
|
"outputs": [
|
426
439
|
{
|
427
440
|
"internalType": "UFixed",
|
@@ -433,8 +446,8 @@
|
|
433
446
|
"type": "function"
|
434
447
|
}
|
435
448
|
],
|
436
|
-
"bytecode": "0x61147f610053600b82828239805160001a607314610046577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106101415760003560e01c8063a391c15b116100c2578063d05b045211610086578063d05b0452146103e0578063dd45daa114610410578063ea6515c414610440578063eb646d7114610470578063f30ed5981461048e578063f70dd33e146104ac57610141565b8063a391c15b146102f0578063b477332914610320578063b67d77c514610350578063c8a4ac9c14610380578063cc8b7b73146103b057610141565b806332148d731161010957806332148d7314610200578063753b14a514610230578063771602f7146102605780637a858b971461029057806392ae8ce0146102c057610141565b8063059f8b1614610146578063118fc88c146101645780631a12cd471461019457806321e5749b146101b2578063313ce567146101e2575b600080fd5b61014e6104dc565b60405161015b9190610b3f565b60405180910390f35b61017e60048036038101906101799190610b8b565b6104f0565b60405161018b9190610be6565b60405180910390f35b61019c610504565b6040516101a99190610c1d565b60405180910390f35b6101cc60048036038101906101c79190610b8b565b610509565b6040516101d99190610be6565b60405180910390f35b6101ea61051d565b6040516101f79190610b3f565b60405180910390f35b61021a60048036038101906102159190610b8b565b610529565b6040516102279190610be6565b60405180910390f35b61024a60048036038101906102459190610c38565b61053d565b6040516102579190610be6565b60405180910390f35b61027a60048036038101906102759190610b8b565b61054f565b6040516102879190610ca0565b60405180910390f35b6102aa60048036038101906102a59190610c38565b610563565b6040516102b79190610be6565b60405180910390f35b6102da60048036038101906102d59190610ce7565b610575565b6040516102e79190610ca0565b60405180910390f35b61030a60048036038101906103059190610b8b565b61059a565b6040516103179190610ca0565b60405180910390f35b61033a60048036038101906103359190610b8b565b6105ae565b6040516103479190610be6565b60405180910390f35b61036a60048036038101906103659190610b8b565b6105c2565b6040516103779190610ca0565b60405180910390f35b61039a60048036038101906103959190610b8b565b6105d6565b6040516103a79190610ca0565b60405180910390f35b6103ca60048036038101906103c59190610b8b565b6105ea565b6040516103d79190610ca0565b60405180910390f35b6103fa60048036038101906103f59190610c38565b6105fe565b6040516104079190610b3f565b60405180910390f35b61042a60048036038101906104259190610d40565b610612565b6040516104379190610ca0565b60405180910390f35b61045a60048036038101906104559190610b8b565b6106f4565b6040516104679190610be6565b60405180910390f35b610478610708565b6040516104859190610b3f565b60405180910390f35b610496610728565b6040516104a39190610df7565b60405180910390f35b6104c660048036038101906104c19190610e37565b61072d565b6040516104d39190610b3f565b60405180910390f35b601260000b600a6104ed9190610fd9565b81565b60006104fc838361081e565b905092915050565b601281565b6000610515838361082b565b905092915050565b6000601260ff16905090565b60006105358383610838565b905092915050565b600061054882610845565b9050919050565b600061055b8383610851565b905092915050565b600061056e82610867565b9050919050565b6000601260000b600a6105889190610fd9565b826105939190611024565b9050919050565b60006105a68383610873565b905092915050565b60006105ba83836108d2565b905092915050565b60006105ce83836108e0565b905092915050565b60006105e2838361093f565b905092915050565b60006105f6838361095c565b905092915050565b600061060b82600261072d565b9050919050565b6000808260126106229190611066565b60000b1215610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d9061111c565b60405180910390fd5b60126002610674919061113c565b60000b8260126106849190611066565b60000b13156106c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bf906111c5565b60405180910390fd5b8160126106d59190611066565b600a6106e191906111f2565b836106ec9190611024565b905092915050565b60006107008383610991565b905092915050565b6002601260000b600a61071b9190610fd9565b610725919061126c565b81565b600281565b600060028081111561074257610741610d80565b5b82600281111561075557610754610d80565b5b036107a65761079f6002601260000b600a6107709190610fd9565b61077a919061126c565b84610785919061129d565b6001601260000b600a6107989190610fd9565b600061099f565b9050610818565b600060028111156107ba576107b9610d80565b5b8260028111156107cd576107cc610d80565b5b036107f7576107f0836001601260000b600a6107e99190610fd9565b600061099f565b9050610818565b610815836001601260000b600a61080e9190610fd9565b600161099f565b90505b92915050565b6000818310905092915050565b6000818311905092915050565b6000818314905092915050565b60008082149050919050565b6000818361085f919061129d565b905092915050565b60008082119050919050565b60008082116108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae9061131d565b60405180910390fd5b6108ca83670de0b6b3a764000084610a15565b905092915050565b600081831015905092915050565b60006108ec83836108d2565b61092b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092290611389565b60405180910390fd5b818361093791906113a9565b905092915050565b60006109548383670de0b6b3a7640000610a15565b905092915050565b6000610968838361082b565b1561097e5761097783836108e0565b905061098b565b61098882846108e0565b90505b92915050565b600081831115905092915050565b6000806109ad868686610a15565b9050600160028111156109c3576109c2610d80565b5b8360028111156109d6576109d5610d80565b5b1480156109f45750600084806109ef576109ee61123d565b5b868809115b15610a0957600181610a06919061129d565b90505b80915050949350505050565b6000806000801985870985870292508281108382030391505060008103610a5057838281610a4657610a4561123d565b5b0492505050610b1f565b808411610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990611429565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6000819050919050565b610b3981610b26565b82525050565b6000602082019050610b546000830184610b30565b92915050565b600080fd5b610b6881610b26565b8114610b7357600080fd5b50565b600081359050610b8581610b5f565b92915050565b60008060408385031215610ba257610ba1610b5a565b5b6000610bb085828601610b76565b9250506020610bc185828601610b76565b9150509250929050565b60008115159050919050565b610be081610bcb565b82525050565b6000602082019050610bfb6000830184610bd7565b92915050565b60008160000b9050919050565b610c1781610c01565b82525050565b6000602082019050610c326000830184610c0e565b92915050565b600060208284031215610c4e57610c4d610b5a565b5b6000610c5c84828501610b76565b91505092915050565b6000819050919050565b6000610c8a610c85610c8084610b26565b610c65565b610b26565b9050919050565b610c9a81610c6f565b82525050565b6000602082019050610cb56000830184610c91565b92915050565b610cc481610b26565b8114610ccf57600080fd5b50565b600081359050610ce181610cbb565b92915050565b600060208284031215610cfd57610cfc610b5a565b5b6000610d0b84828501610cd2565b91505092915050565b610d1d81610c01565b8114610d2857600080fd5b50565b600081359050610d3a81610d14565b92915050565b60008060408385031215610d5757610d56610b5a565b5b6000610d6585828601610cd2565b9250506020610d7685828601610d2b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc057610dbf610d80565b5b50565b6000819050610dd182610daf565b919050565b6000610de182610dc3565b9050919050565b610df181610dd6565b82525050565b6000602082019050610e0c6000830184610de8565b92915050565b60038110610e1f57600080fd5b50565b600081359050610e3181610e12565b92915050565b60008060408385031215610e4e57610e4d610b5a565b5b6000610e5c85828601610b76565b9250506020610e6d85828601610e22565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610efd57808604811115610ed957610ed8610e77565b5b6001851615610ee85780820291505b8081029050610ef685610ea6565b9450610ebd565b94509492505050565b600082610f165760019050610fd2565b81610f245760009050610fd2565b8160018114610f3a5760028114610f4457610f73565b6001915050610fd2565b60ff841115610f5657610f55610e77565b5b8360020a915084821115610f6d57610f6c610e77565b5b50610fd2565b5060208310610133831016604e8410600b8410161715610fa85782820a905083811115610fa357610fa2610e77565b5b610fd2565b610fb58484846001610eb3565b92509050818404811115610fcc57610fcb610e77565b5b81810290505b9392505050565b6000610fe482610b26565b9150610fef83610b26565b925061101c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f06565b905092915050565b600061102f82610b26565b915061103a83610b26565b925082820261104881610b26565b9150828204841483151761105f5761105e610e77565b5b5092915050565b600061107182610c01565b915061107c83610c01565b925082820190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808112607f821317156110b9576110b8610e77565b5b92915050565b600082825260208201905092915050565b7f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c00600082015250565b6000611106601f836110bf565b9150611111826110d0565b602082019050919050565b60006020820190508181036000830152611135816110f9565b9050919050565b600061114782610c01565b915061115283610c01565b925082820261116081610c01565b915080821461117257611171610e77565b5b5092915050565b7f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500600082015250565b60006111af601f836110bf565b91506111ba82611179565b602082019050919050565b600060208201905081810360008301526111de816111a2565b9050919050565b600060ff82169050919050565b60006111fd82610b26565b9150611208836111e5565b92506112357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f06565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061127782610b26565b915061128283610b26565b9250826112925761129161123d565b5b828204905092915050565b60006112a882610b26565b91506112b383610b26565b92508282019050808211156112cb576112ca610e77565b5b92915050565b7f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000600082015250565b6000611307601a836110bf565b9150611312826112d1565b602082019050919050565b60006020820190508181036000830152611336816112fa565b9050919050565b7f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000600082015250565b6000611373601d836110bf565b915061137e8261133d565b602082019050919050565b600060208201905081810360008301526113a281611366565b9050919050565b60006113b482610b26565b91506113bf83610b26565b92508282039050818111156113d7576113d6610e77565b5b92915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b60006114136015836110bf565b915061141e826113dd565b602082019050919050565b6000602082019050818103600083015261144281611406565b905091905056fea2646970667358221220a79031ff9896c283cf59d6d16d72edaffbec2a580e23470a5ecc007dabdbca1864736f6c63430008140033",
|
437
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106101415760003560e01c8063a391c15b116100c2578063d05b045211610086578063d05b0452146103e0578063dd45daa114610410578063ea6515c414610440578063eb646d7114610470578063f30ed5981461048e578063f70dd33e146104ac57610141565b8063a391c15b146102f0578063b477332914610320578063b67d77c514610350578063c8a4ac9c14610380578063cc8b7b73146103b057610141565b806332148d731161010957806332148d7314610200578063753b14a514610230578063771602f7146102605780637a858b971461029057806392ae8ce0146102c057610141565b8063059f8b1614610146578063118fc88c146101645780631a12cd471461019457806321e5749b146101b2578063313ce567146101e2575b600080fd5b61014e6104dc565b60405161015b9190610b3f565b60405180910390f35b61017e60048036038101906101799190610b8b565b6104f0565b60405161018b9190610be6565b60405180910390f35b61019c610504565b6040516101a99190610c1d565b60405180910390f35b6101cc60048036038101906101c79190610b8b565b610509565b6040516101d99190610be6565b60405180910390f35b6101ea61051d565b6040516101f79190610b3f565b60405180910390f35b61021a60048036038101906102159190610b8b565b610529565b6040516102279190610be6565b60405180910390f35b61024a60048036038101906102459190610c38565b61053d565b6040516102579190610be6565b60405180910390f35b61027a60048036038101906102759190610b8b565b61054f565b6040516102879190610ca0565b60405180910390f35b6102aa60048036038101906102a59190610c38565b610563565b6040516102b79190610be6565b60405180910390f35b6102da60048036038101906102d59190610ce7565b610575565b6040516102e79190610ca0565b60405180910390f35b61030a60048036038101906103059190610b8b565b61059a565b6040516103179190610ca0565b60405180910390f35b61033a60048036038101906103359190610b8b565b6105ae565b6040516103479190610be6565b60405180910390f35b61036a60048036038101906103659190610b8b565b6105c2565b6040516103779190610ca0565b60405180910390f35b61039a60048036038101906103959190610b8b565b6105d6565b6040516103a79190610ca0565b60405180910390f35b6103ca60048036038101906103c59190610b8b565b6105ea565b6040516103d79190610ca0565b60405180910390f35b6103fa60048036038101906103f59190610c38565b6105fe565b6040516104079190610b3f565b60405180910390f35b61042a60048036038101906104259190610d40565b610612565b6040516104379190610ca0565b60405180910390f35b61045a60048036038101906104559190610b8b565b6106f4565b6040516104679190610be6565b60405180910390f35b610478610708565b6040516104859190610b3f565b60405180910390f35b610496610728565b6040516104a39190610df7565b60405180910390f35b6104c660048036038101906104c19190610e37565b61072d565b6040516104d39190610b3f565b60405180910390f35b601260000b600a6104ed9190610fd9565b81565b60006104fc838361081e565b905092915050565b601281565b6000610515838361082b565b905092915050565b6000601260ff16905090565b60006105358383610838565b905092915050565b600061054882610845565b9050919050565b600061055b8383610851565b905092915050565b600061056e82610867565b9050919050565b6000601260000b600a6105889190610fd9565b826105939190611024565b9050919050565b60006105a68383610873565b905092915050565b60006105ba83836108d2565b905092915050565b60006105ce83836108e0565b905092915050565b60006105e2838361093f565b905092915050565b60006105f6838361095c565b905092915050565b600061060b82600261072d565b9050919050565b6000808260126106229190611066565b60000b1215610666576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065d9061111c565b60405180910390fd5b60126002610674919061113c565b60000b8260126106849190611066565b60000b13156106c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106bf906111c5565b60405180910390fd5b8160126106d59190611066565b600a6106e191906111f2565b836106ec9190611024565b905092915050565b60006107008383610991565b905092915050565b6002601260000b600a61071b9190610fd9565b610725919061126c565b81565b600281565b600060028081111561074257610741610d80565b5b82600281111561075557610754610d80565b5b036107a65761079f6002601260000b600a6107709190610fd9565b61077a919061126c565b84610785919061129d565b6001601260000b600a6107989190610fd9565b600061099f565b9050610818565b600060028111156107ba576107b9610d80565b5b8260028111156107cd576107cc610d80565b5b036107f7576107f0836001601260000b600a6107e99190610fd9565b600061099f565b9050610818565b610815836001601260000b600a61080e9190610fd9565b600161099f565b90505b92915050565b6000818310905092915050565b6000818311905092915050565b6000818314905092915050565b60008082149050919050565b6000818361085f919061129d565b905092915050565b60008082119050919050565b60008082116108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae9061131d565b60405180910390fd5b6108ca83670de0b6b3a764000084610a15565b905092915050565b600081831015905092915050565b60006108ec83836108d2565b61092b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092290611389565b60405180910390fd5b818361093791906113a9565b905092915050565b60006109548383670de0b6b3a7640000610a15565b905092915050565b6000610968838361082b565b1561097e5761097783836108e0565b905061098b565b61098882846108e0565b90505b92915050565b600081831115905092915050565b6000806109ad868686610a15565b9050600160028111156109c3576109c2610d80565b5b8360028111156109d6576109d5610d80565b5b1480156109f45750600084806109ef576109ee61123d565b5b868809115b15610a0957600181610a06919061129d565b90505b80915050949350505050565b6000806000801985870985870292508281108382030391505060008103610a5057838281610a4657610a4561123d565b5b0492505050610b1f565b808411610a92576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a8990611429565b60405180910390fd5b60008486880990508281118203915080830392506000600186190186169050808604955080840493506001818260000304019050808302841793506000600287600302189050808702600203810290508087026002038102905080870260020381029050808702600203810290508087026002038102905080870260020381029050808502955050505050505b9392505050565b6000819050919050565b610b3981610b26565b82525050565b6000602082019050610b546000830184610b30565b92915050565b600080fd5b610b6881610b26565b8114610b7357600080fd5b50565b600081359050610b8581610b5f565b92915050565b60008060408385031215610ba257610ba1610b5a565b5b6000610bb085828601610b76565b9250506020610bc185828601610b76565b9150509250929050565b60008115159050919050565b610be081610bcb565b82525050565b6000602082019050610bfb6000830184610bd7565b92915050565b60008160000b9050919050565b610c1781610c01565b82525050565b6000602082019050610c326000830184610c0e565b92915050565b600060208284031215610c4e57610c4d610b5a565b5b6000610c5c84828501610b76565b91505092915050565b6000819050919050565b6000610c8a610c85610c8084610b26565b610c65565b610b26565b9050919050565b610c9a81610c6f565b82525050565b6000602082019050610cb56000830184610c91565b92915050565b610cc481610b26565b8114610ccf57600080fd5b50565b600081359050610ce181610cbb565b92915050565b600060208284031215610cfd57610cfc610b5a565b5b6000610d0b84828501610cd2565b91505092915050565b610d1d81610c01565b8114610d2857600080fd5b50565b600081359050610d3a81610d14565b92915050565b60008060408385031215610d5757610d56610b5a565b5b6000610d6585828601610cd2565b9250506020610d7685828601610d2b565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b60038110610dc057610dbf610d80565b5b50565b6000819050610dd182610daf565b919050565b6000610de182610dc3565b9050919050565b610df181610dd6565b82525050565b6000602082019050610e0c6000830184610de8565b92915050565b60038110610e1f57600080fd5b50565b600081359050610e3181610e12565b92915050565b60008060408385031215610e4e57610e4d610b5a565b5b6000610e5c85828601610b76565b9250506020610e6d85828601610e22565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b6001851115610efd57808604811115610ed957610ed8610e77565b5b6001851615610ee85780820291505b8081029050610ef685610ea6565b9450610ebd565b94509492505050565b600082610f165760019050610fd2565b81610f245760009050610fd2565b8160018114610f3a5760028114610f4457610f73565b6001915050610fd2565b60ff841115610f5657610f55610e77565b5b8360020a915084821115610f6d57610f6c610e77565b5b50610fd2565b5060208310610133831016604e8410600b8410161715610fa85782820a905083811115610fa357610fa2610e77565b5b610fd2565b610fb58484846001610eb3565b92509050818404811115610fcc57610fcb610e77565b5b81810290505b9392505050565b6000610fe482610b26565b9150610fef83610b26565b925061101c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f06565b905092915050565b600061102f82610b26565b915061103a83610b26565b925082820261104881610b26565b9150828204841483151761105f5761105e610e77565b5b5092915050565b600061107182610c01565b915061107c83610c01565b925082820190507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff808112607f821317156110b9576110b8610e77565b5b92915050565b600082825260208201905092915050565b7f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c00600082015250565b6000611106601f836110bf565b9150611111826110d0565b602082019050919050565b60006020820190508181036000830152611135816110f9565b9050919050565b600061114782610c01565b915061115283610c01565b925082820261116081610c01565b915080821461117257611171610e77565b5b5092915050565b7f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500600082015250565b60006111af601f836110bf565b91506111ba82611179565b602082019050919050565b600060208201905081810360008301526111de816111a2565b9050919050565b600060ff82169050919050565b60006111fd82610b26565b9150611208836111e5565b92506112357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8484610f06565b905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061127782610b26565b915061128283610b26565b9250826112925761129161123d565b5b828204905092915050565b60006112a882610b26565b91506112b383610b26565b92508282019050808211156112cb576112ca610e77565b5b92915050565b7f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000600082015250565b6000611307601a836110bf565b9150611312826112d1565b602082019050919050565b60006020820190508181036000830152611336816112fa565b9050919050565b7f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000600082015250565b6000611373601d836110bf565b915061137e8261133d565b602082019050919050565b600060208201905081810360008301526113a281611366565b9050919050565b60006113b482610b26565b91506113bf83610b26565b92508282039050818111156113d7576113d6610e77565b5b92915050565b7f4d6174683a206d756c446976206f766572666c6f770000000000000000000000600082015250565b60006114136015836110bf565b915061141e826113dd565b602082019050919050565b6000602082019050818103600083015261144281611406565b905091905056fea2646970667358221220a79031ff9896c283cf59d6d16d72edaffbec2a580e23470a5ecc007dabdbca1864736f6c63430008140033",
|
449
|
+
"bytecode": "0x610a4d61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061014c5760003560e01c80637a858b97116100c2578063c8a4ac9c11610086578063c8a4ac9c14610289578063cc8b7b731461029c578063df739011146102af578063ea6515c4146102c2578063eb646d71146102d5578063f30ed598146102dd57600080fd5b80637a858b9714610236578063a391c15b14610249578063b47733291461025c578063b67d77c51461026f578063bc1b392d1461028257600080fd5b8063313ce56711610114578063313ce567146101d057806332148d73146101d757806344aa6836146101ea57806345ebb61e146101fd578063753b14a514610210578063771602f71461022357600080fd5b8063059f8b1614610151578063118fc88c1461016c5780631488c8451461018f5780631a12cd47146101a257806321e5749b146101bd575b600080fd5b6101596102f2565b6040519081526020015b60405180910390f35b61017f61017a366004610794565b610301565b6040519015158152602001610163565b61015961019d3660046107b6565b610310565b6101aa601281565b60405160009190910b8152602001610163565b61017f6101cb366004610794565b6103f2565b6012610159565b61017f6101e5366004610794565b6103fc565b6101596101f83660046107ec565b610406565b61015961020b3660046107ec565b610413565b61017f61021e3660046107ec565b61042b565b610159610231366004610794565b610434565b61017f6102443660046107ec565b610440565b610159610257366004610794565b61044a565b61017f61026a366004610794565b610456565b61015961027d366004610794565b610461565b6000610159565b610159610297366004610794565b61046d565b6101596102aa366004610794565b610479565b6101596102bd366004610805565b610485565b61017f6102d0366004610794565b610525565b610159610530565b6102e5600281565b6040516101639190610844565b6102fe6012600a610966565b81565b60008282115b90505b92915050565b60008061031e836012610972565b60000b12156103745760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b6040610381836012610972565b60000b13156103d25760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500604482015260640161036b565b6103dd826012610972565b6103e890600a610993565b61030790846109a2565b6000828210610307565b6000818314610307565b600061030a826002610485565b60006104216012600a610966565b61030a90836109a2565b6000811561030a565b60006103078383610548565b600081151561030a565b60006103078383610554565b600082821115610307565b600061030783836105b8565b60006103078383610614565b60006103078383610629565b6000600282600281111561049b5761049b61082e565b036104e1576104da60026104b16012600a610966565b6104bb91906109cf565b6104c590856109f1565b60016104d36012600a610966565b6000610647565b905061030a565b60008260028111156104f5576104f561082e565b0361050c576104da8360016104d36012600a610966565b6104da83600161051e6012600a610966565b6001610647565b600082821015610307565b600261053e6012600a610966565b6102fe91906109cf565b600061030782846109f1565b60008082116105a55760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000604482015260640161036b565b61030783670de0b6b3a7640000846106a4565b60008282111561060a5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000604482015260640161036b565b6103078284610a04565b60006103078383670de0b6b3a76400006106a4565b60008282101561063d576104da83836105b8565b61030782846105b8565b6000806106558686866106a4565b9050600183600281111561066b5761066b61082e565b148015610688575060008480610683576106836109b9565b868809115b1561069b576106986001826109f1565b90505b95945050505050565b60008080600019858709858702925082811083820303915050806000036106de578382816106d4576106d46109b9565b049250505061078d565b8084116107255760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161036b565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b600080604083850312156107a757600080fd5b50508035926020909101359150565b600080604083850312156107c957600080fd5b8235915060208301358060000b81146107e157600080fd5b809150509250929050565b6000602082840312156107fe57600080fd5b5035919050565b6000806040838503121561081857600080fd5b823591506020830135600381106107e157600080fd5b634e487b7160e01b600052602160045260246000fd5b602081016003831061086657634e487b7160e01b600052602160045260246000fd5b91905290565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156108bd5781600019048211156108a3576108a361086c565b808516156108b057918102915b93841c9390800290610887565b509250929050565b6000826108d45750600161030a565b816108e15750600061030a565b81600181146108f757600281146109015761091d565b600191505061030a565b60ff8411156109125761091261086c565b50506001821b61030a565b5060208310610133831016604e8410600b8410161715610940575081810a61030a565b61094a8383610882565b806000190482111561095e5761095e61086c565b029392505050565b600061030783836108c5565b600081810b9083900b01607f8113607f198212171561030a5761030a61086c565b600061030760ff8416836108c5565b808202811582820484141761030a5761030a61086c565b634e487b7160e01b600052601260045260246000fd5b6000826109ec57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561030a5761030a61086c565b8181038181111561030a5761030a61086c56fea26469706673582212203e54f48eab75437862b6140e654746538ce5d107025fea2883a132e04e5d771c64736f6c63430008140033",
|
450
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061014c5760003560e01c80637a858b97116100c2578063c8a4ac9c11610086578063c8a4ac9c14610289578063cc8b7b731461029c578063df739011146102af578063ea6515c4146102c2578063eb646d71146102d5578063f30ed598146102dd57600080fd5b80637a858b9714610236578063a391c15b14610249578063b47733291461025c578063b67d77c51461026f578063bc1b392d1461028257600080fd5b8063313ce56711610114578063313ce567146101d057806332148d73146101d757806344aa6836146101ea57806345ebb61e146101fd578063753b14a514610210578063771602f71461022357600080fd5b8063059f8b1614610151578063118fc88c1461016c5780631488c8451461018f5780631a12cd47146101a257806321e5749b146101bd575b600080fd5b6101596102f2565b6040519081526020015b60405180910390f35b61017f61017a366004610794565b610301565b6040519015158152602001610163565b61015961019d3660046107b6565b610310565b6101aa601281565b60405160009190910b8152602001610163565b61017f6101cb366004610794565b6103f2565b6012610159565b61017f6101e5366004610794565b6103fc565b6101596101f83660046107ec565b610406565b61015961020b3660046107ec565b610413565b61017f61021e3660046107ec565b61042b565b610159610231366004610794565b610434565b61017f6102443660046107ec565b610440565b610159610257366004610794565b61044a565b61017f61026a366004610794565b610456565b61015961027d366004610794565b610461565b6000610159565b610159610297366004610794565b61046d565b6101596102aa366004610794565b610479565b6101596102bd366004610805565b610485565b61017f6102d0366004610794565b610525565b610159610530565b6102e5600281565b6040516101639190610844565b6102fe6012600a610966565b81565b60008282115b90505b92915050565b60008061031e836012610972565b60000b12156103745760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031303a4558504f4e454e545f544f4f5f534d414c4c0060448201526064015b60405180910390fd5b6040610381836012610972565b60000b13156103d25760405162461bcd60e51b815260206004820152601f60248201527f4552524f523a464d2d3031313a4558504f4e454e545f544f4f5f4c4152474500604482015260640161036b565b6103dd826012610972565b6103e890600a610993565b61030790846109a2565b6000828210610307565b6000818314610307565b600061030a826002610485565b60006104216012600a610966565b61030a90836109a2565b6000811561030a565b60006103078383610548565b600081151561030a565b60006103078383610554565b600082821115610307565b600061030783836105b8565b60006103078383610614565b60006103078383610629565b6000600282600281111561049b5761049b61082e565b036104e1576104da60026104b16012600a610966565b6104bb91906109cf565b6104c590856109f1565b60016104d36012600a610966565b6000610647565b905061030a565b60008260028111156104f5576104f561082e565b0361050c576104da8360016104d36012600a610966565b6104da83600161051e6012600a610966565b6001610647565b600082821015610307565b600261053e6012600a610966565b6102fe91906109cf565b600061030782846109f1565b60008082116105a55760405162461bcd60e51b815260206004820152601a60248201527f4552524f523a55464d2d3032303a44495649534f525f5a45524f000000000000604482015260640161036b565b61030783670de0b6b3a7640000846106a4565b60008282111561060a5760405162461bcd60e51b815260206004820152601d60248201527f4552524f523a55464d2d3031303a4e454741544956455f524553554c54000000604482015260640161036b565b6103078284610a04565b60006103078383670de0b6b3a76400006106a4565b60008282101561063d576104da83836105b8565b61030782846105b8565b6000806106558686866106a4565b9050600183600281111561066b5761066b61082e565b148015610688575060008480610683576106836109b9565b868809115b1561069b576106986001826109f1565b90505b95945050505050565b60008080600019858709858702925082811083820303915050806000036106de578382816106d4576106d46109b9565b049250505061078d565b8084116107255760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b604482015260640161036b565b600084868809851960019081018716968790049682860381900495909211909303600082900391909104909201919091029190911760038402600290811880860282030280860282030280860282030280860282030280860282030280860290910302029150505b9392505050565b600080604083850312156107a757600080fd5b50508035926020909101359150565b600080604083850312156107c957600080fd5b8235915060208301358060000b81146107e157600080fd5b809150509250929050565b6000602082840312156107fe57600080fd5b5035919050565b6000806040838503121561081857600080fd5b823591506020830135600381106107e157600080fd5b634e487b7160e01b600052602160045260246000fd5b602081016003831061086657634e487b7160e01b600052602160045260246000fd5b91905290565b634e487b7160e01b600052601160045260246000fd5b600181815b808511156108bd5781600019048211156108a3576108a361086c565b808516156108b057918102915b93841c9390800290610887565b509250929050565b6000826108d45750600161030a565b816108e15750600061030a565b81600181146108f757600281146109015761091d565b600191505061030a565b60ff8411156109125761091261086c565b50506001821b61030a565b5060208310610133831016604e8410600b8410161715610940575081810a61030a565b61094a8383610882565b806000190482111561095e5761095e61086c565b029392505050565b600061030783836108c5565b600081810b9083900b01607f8113607f198212171561030a5761030a61086c565b600061030760ff8416836108c5565b808202811582820484141761030a5761030a61086c565b634e487b7160e01b600052601260045260246000fd5b6000826109ec57634e487b7160e01b600052601260045260246000fd5b500490565b8082018082111561030a5761030a61086c565b8181038181111561030a5761030a61086c56fea26469706673582212203e54f48eab75437862b6140e654746538ce5d107025fea2883a132e04e5d771c64736f6c63430008140033",
|
438
451
|
"linkReferences": {},
|
439
452
|
"deployedLinkReferences": {}
|
440
453
|
}
|
@@ -0,0 +1,78 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "VersionLib",
|
4
|
+
"sourceName": "contracts/types/Version.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "Version",
|
10
|
+
"name": "version",
|
11
|
+
"type": "uint24"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"name": "toInt",
|
15
|
+
"outputs": [
|
16
|
+
{
|
17
|
+
"internalType": "uint256",
|
18
|
+
"name": "",
|
19
|
+
"type": "uint256"
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"stateMutability": "pure",
|
23
|
+
"type": "function"
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"inputs": [
|
27
|
+
{
|
28
|
+
"internalType": "Version",
|
29
|
+
"name": "version",
|
30
|
+
"type": "uint24"
|
31
|
+
}
|
32
|
+
],
|
33
|
+
"name": "toMajorPart",
|
34
|
+
"outputs": [
|
35
|
+
{
|
36
|
+
"internalType": "VersionPart",
|
37
|
+
"name": "major",
|
38
|
+
"type": "uint8"
|
39
|
+
}
|
40
|
+
],
|
41
|
+
"stateMutability": "pure",
|
42
|
+
"type": "function"
|
43
|
+
},
|
44
|
+
{
|
45
|
+
"inputs": [
|
46
|
+
{
|
47
|
+
"internalType": "Version",
|
48
|
+
"name": "version",
|
49
|
+
"type": "uint24"
|
50
|
+
}
|
51
|
+
],
|
52
|
+
"name": "toVersionParts",
|
53
|
+
"outputs": [
|
54
|
+
{
|
55
|
+
"internalType": "VersionPart",
|
56
|
+
"name": "major",
|
57
|
+
"type": "uint8"
|
58
|
+
},
|
59
|
+
{
|
60
|
+
"internalType": "VersionPart",
|
61
|
+
"name": "minor",
|
62
|
+
"type": "uint8"
|
63
|
+
},
|
64
|
+
{
|
65
|
+
"internalType": "VersionPart",
|
66
|
+
"name": "patch",
|
67
|
+
"type": "uint8"
|
68
|
+
}
|
69
|
+
],
|
70
|
+
"stateMutability": "pure",
|
71
|
+
"type": "function"
|
72
|
+
}
|
73
|
+
],
|
74
|
+
"bytecode": "0x6101a961003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806349a7111a14610050578063556010071461008c578063c9e66e29146100b0575b600080fd5b61006361005e366004610116565b6100d9565b6040805160ff948516815292841660208401529216918101919091526060015b60405180910390f35b6100a261009a366004610116565b62ffffff1690565b604051908152602001610083565b6100c76100be366004610116565b60101c60ff1690565b60405160ff9091168152602001610083565b600080808360ff601082901c166100f08383610142565b915061ffff600883901c1660006101078185610142565b92989197509195509350505050565b60006020828403121561012857600080fd5b813562ffffff8116811461013b57600080fd5b9392505050565b62ffffff82811682821603908082111561016c57634e487b7160e01b600052601160045260246000fd5b509291505056fea26469706673582212200bd4c7b26105f56f3e5ca7e3e58f905d9e6d04e631e2e84ea5ff0d590ca4399f64736f6c63430008140033",
|
75
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361061004b5760003560e01c806349a7111a14610050578063556010071461008c578063c9e66e29146100b0575b600080fd5b61006361005e366004610116565b6100d9565b6040805160ff948516815292841660208401529216918101919091526060015b60405180910390f35b6100a261009a366004610116565b62ffffff1690565b604051908152602001610083565b6100c76100be366004610116565b60101c60ff1690565b60405160ff9091168152602001610083565b600080808360ff601082901c166100f08383610142565b915061ffff600883901c1660006101078185610142565b92989197509195509350505050565b60006020828403121561012857600080fd5b813562ffffff8116811461013b57600080fd5b9392505050565b62ffffff82811682821603908082111561016c57634e487b7160e01b600052601160045260246000fd5b509291505056fea26469706673582212200bd4c7b26105f56f3e5ca7e3e58f905d9e6d04e631e2e84ea5ff0d590ca4399f64736f6c63430008140033",
|
76
|
+
"linkReferences": {},
|
77
|
+
"deployedLinkReferences": {}
|
78
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
{
|
2
|
+
"_format": "hh-sol-artifact-1",
|
3
|
+
"contractName": "VersionPartLib",
|
4
|
+
"sourceName": "contracts/types/Version.sol",
|
5
|
+
"abi": [
|
6
|
+
{
|
7
|
+
"inputs": [
|
8
|
+
{
|
9
|
+
"internalType": "VersionPart",
|
10
|
+
"name": "x",
|
11
|
+
"type": "uint8"
|
12
|
+
}
|
13
|
+
],
|
14
|
+
"name": "toInt",
|
15
|
+
"outputs": [
|
16
|
+
{
|
17
|
+
"internalType": "uint256",
|
18
|
+
"name": "",
|
19
|
+
"type": "uint256"
|
20
|
+
}
|
21
|
+
],
|
22
|
+
"stateMutability": "pure",
|
23
|
+
"type": "function"
|
24
|
+
}
|
25
|
+
],
|
26
|
+
"bytecode": "0x60b9610039600b82828239805160001a60731461002c57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea26469706673582212203ebb69088f45515ad3bf7d61298feea5dae8d24b3fbf854881fdd75e3046518764736f6c63430008140033",
|
27
|
+
"deployedBytecode": "0x730000000000000000000000000000000000000000301460806040526004361060335760003560e01c8063ac43d834146038575b600080fd5b60496043366004605b565b60ff1690565b60405190815260200160405180910390f35b600060208284031215606c57600080fd5b813560ff81168114607c57600080fd5b939250505056fea26469706673582212203ebb69088f45515ad3bf7d61298feea5dae8d24b3fbf854881fdd75e3046518764736f6c63430008140033",
|
28
|
+
"linkReferences": {},
|
29
|
+
"deployedLinkReferences": {}
|
30
|
+
}
|
@@ -0,0 +1,89 @@
|
|
1
|
+
// SPDX-License-Identifier: Apache-2.0
|
2
|
+
pragma solidity ^0.8.19;
|
3
|
+
|
4
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
5
|
+
|
6
|
+
import {IRegisterable} from "../shared/IRegisterable.sol";
|
7
|
+
import {Registerable} from "../shared/Registerable.sol";
|
8
|
+
|
9
|
+
import {IRegistry} from "../registry/IRegistry.sol";
|
10
|
+
import {IInstance} from "../instance/IInstance.sol";
|
11
|
+
import {IServiceLinked} from "../instance/IServiceLinked.sol";
|
12
|
+
|
13
|
+
import {IInstance} from "../instance/IInstance.sol";
|
14
|
+
import {IComponent, IComponentModule} from "../instance/module/component/IComponent.sol";
|
15
|
+
import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
|
16
|
+
import {IBaseComponent} from "./IBaseComponent.sol";
|
17
|
+
import {NftId} from "../types/NftId.sol";
|
18
|
+
|
19
|
+
abstract contract BaseComponent is
|
20
|
+
Registerable,
|
21
|
+
IBaseComponent
|
22
|
+
{
|
23
|
+
IComponentOwnerService internal _componentOwnerService;
|
24
|
+
|
25
|
+
address internal _deployer;
|
26
|
+
address internal _wallet;
|
27
|
+
IERC20Metadata internal _token;
|
28
|
+
IInstance internal _instance;
|
29
|
+
|
30
|
+
constructor(
|
31
|
+
address registry,
|
32
|
+
NftId instanceNftId,
|
33
|
+
address token
|
34
|
+
)
|
35
|
+
Registerable(registry, instanceNftId)
|
36
|
+
{
|
37
|
+
IRegistry.ObjectInfo memory instanceInfo = _registry.getObjectInfo(instanceNftId);
|
38
|
+
_instance = IInstance(instanceInfo.objectAddress);
|
39
|
+
require(
|
40
|
+
_instance.supportsInterface(type(IInstance).interfaceId),
|
41
|
+
""
|
42
|
+
);
|
43
|
+
|
44
|
+
_componentOwnerService = _instance.getComponentOwnerService();
|
45
|
+
_wallet = address(this);
|
46
|
+
_token = IERC20Metadata(token);
|
47
|
+
}
|
48
|
+
|
49
|
+
// from registerable
|
50
|
+
function register() public override(IRegisterable, Registerable) returns (NftId componentId) {
|
51
|
+
require(msg.sender == getOwner(), "");
|
52
|
+
require(
|
53
|
+
address(_registry) != address(0),
|
54
|
+
"ERROR:COB-001:REGISTRY_ZERO"
|
55
|
+
);
|
56
|
+
require(
|
57
|
+
_registry.isRegistered(address(_instance)),
|
58
|
+
"ERROR:COB:INSTANCE_NOT_REGISTERED"
|
59
|
+
);
|
60
|
+
|
61
|
+
componentId = _componentOwnerService.register(this);
|
62
|
+
}
|
63
|
+
|
64
|
+
// from component contract
|
65
|
+
function lock() external onlyOwner override {
|
66
|
+
_componentOwnerService.lock(this);
|
67
|
+
}
|
68
|
+
|
69
|
+
function unlock() external onlyOwner override {
|
70
|
+
_componentOwnerService.unlock(this);
|
71
|
+
}
|
72
|
+
|
73
|
+
function getWallet()
|
74
|
+
external
|
75
|
+
view
|
76
|
+
override
|
77
|
+
returns (address walletAddress)
|
78
|
+
{
|
79
|
+
return _wallet;
|
80
|
+
}
|
81
|
+
|
82
|
+
function getToken() external view override returns (IERC20Metadata token) {
|
83
|
+
return _token;
|
84
|
+
}
|
85
|
+
|
86
|
+
function getInstance() external view override returns (IInstance instance) {
|
87
|
+
return _instance;
|
88
|
+
}
|
89
|
+
}
|