@etherisc/gif-next 0.0.2-9d3eab3-323 → 0.0.2-9f827bd-593
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/artifacts/contracts/components/BaseComponent.sol/BaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/BaseComponent.sol/BaseComponent.json +29 -0
- package/artifacts/contracts/components/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/components/Distribution.sol/Distribution.json +33 -102
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IBaseComponent.sol/IBaseComponent.json +29 -0
- package/artifacts/contracts/components/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/components/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/components/Pool.sol/Pool.json +33 -130
- package/artifacts/contracts/components/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/components/Product.sol/Product.json +33 -113
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Cloner.dbg.json +1 -1
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock1.dbg.json +1 -1
- package/artifacts/contracts/experiment/cloning/Cloner.sol/Mock2.dbg.json +1 -1
- 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/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/SimpleStateMachine.sol/SimpleStateMachine.dbg.json +1 -1
- 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/AccessManagerUpgradeableInitializeable.sol/AccessManagerUpgradeableInitializeable.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.dbg.json +1 -1
- package/artifacts/contracts/instance/BundleManager.sol/BundleManager.json +2 -2
- package/artifacts/contracts/instance/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstance.sol/IInstance.json +13 -0
- package/artifacts/contracts/instance/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.json +75 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +69 -603
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAccessManager.sol/InstanceAccessManager.json +221 -114
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceBase.sol/InstanceBase.json +2 -2
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceReader.sol/InstanceReader.json +2 -2
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceService.sol/InstanceService.json +126 -229
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +26 -126
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/ObjectManager.sol/ObjectManager.json +2 -2
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ComponentServiceBase.sol/ComponentServiceBase.json +11 -0
- package/artifacts/contracts/instance/base/IInstanceBase.sol/IInstanceBase.dbg.json +1 -1
- package/artifacts/contracts/instance/base/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- 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/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.json +59 -16
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ISetup.sol/ISetup.dbg.json +1 -1
- package/artifacts/contracts/instance/module/ITreasury.sol/ITreasury.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleService.sol/BundleService.json +69 -24
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/BundleServiceManager.sol/BundleServiceManager.json +16 -24
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ComponentOwnerService.sol/ComponentOwnerService.json +2 -2
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionService.sol/DistributionService.json +36 -14
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/DistributionServiceManager.sol/DistributionServiceManager.json +13 -21
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IBundleService.sol/IBundleService.json +23 -0
- package/artifacts/contracts/instance/service/IComponentOwnerService.sol/IComponentOwnerService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IDistributionService.sol/IDistributionService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IPolicyService.sol/IPolicyService.json +107 -0
- package/artifacts/contracts/instance/service/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyService.sol/PolicyService.json +223 -38
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PolicyServiceManager.sol/PolicyServiceManager.json +48 -20
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolService.sol/PoolService.json +36 -14
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/PoolServiceManager.sol/PoolServiceManager.json +13 -21
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductService.sol/ProductService.json +36 -14
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/service/ProductServiceManager.sol/ProductServiceManager.json +8 -8
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.json +72 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +85 -59
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAccessManager.sol/RegistryAccessManager.json +33 -23
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +14 -14
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +13 -13
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +89 -90
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/TokenRegistry.sol/TokenRegistry.json +2 -2
- package/artifacts/contracts/shared/ContractDeployerLib.sol/ContractDeployerLib.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.json +2 -2
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.json +2 -2
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.json +2 -2
- package/artifacts/contracts/shared/RegisterableUpgradable.sol/RegisterableUpgradable.dbg.json +1 -1
- package/artifacts/contracts/shared/Service.sol/Service.dbg.json +1 -1
- package/artifacts/contracts/shared/TokenHandler.sol/TokenHandler.dbg.json +1 -1
- package/artifacts/contracts/shared/UpgradableProxyWithAdmin.sol/UpgradableProxyWithAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/Versionable.sol/Versionable.dbg.json +1 -1
- package/artifacts/contracts/test/TestFee.sol/TestFee.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.dbg.json +1 -1
- package/artifacts/contracts/test/TestRegisterable.sol/TestRegisterable.json +2 -2
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.dbg.json +1 -1
- package/artifacts/contracts/test/TestRoleId.sol/TestRoleId.json +2 -2
- package/artifacts/contracts/test/TestService.sol/TestService.dbg.json +1 -1
- package/artifacts/contracts/test/TestService.sol/TestService.json +2 -2
- package/artifacts/contracts/test/TestToken.sol/TestUsdc.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersion.sol/TestVersion.dbg.json +1 -1
- package/artifacts/contracts/test/TestVersionable.sol/TestVersionable.dbg.json +1 -1
- package/artifacts/contracts/test/Usdc.sol/USDC.dbg.json +1 -1
- 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 +1 -1
- package/artifacts/contracts/types/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/types/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/types/NumberId.sol/NumberIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/types/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/types/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/RoleId.sol/RoleIdLib.json +2 -2
- package/artifacts/contracts/types/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/types/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/types/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/types/Version.sol/VersionPartLib.dbg.json +1 -1
- package/contracts/components/BaseComponent.sol +35 -8
- package/contracts/components/Distribution.sol +1 -1
- package/contracts/components/IBaseComponent.sol +3 -0
- package/contracts/components/Pool.sol +1 -1
- package/contracts/components/Product.sol +1 -1
- package/contracts/instance/IInstance.sol +2 -0
- package/contracts/instance/IInstanceService.sol +9 -3
- package/contracts/instance/Instance.sol +9 -197
- package/contracts/instance/InstanceAccessManager.sol +92 -77
- package/contracts/instance/InstanceService.sol +115 -64
- package/contracts/instance/InstanceServiceManager.sol +5 -9
- package/contracts/instance/base/ComponentServiceBase.sol +21 -11
- package/contracts/instance/module/IAccess.sol +27 -17
- package/contracts/instance/service/BundleService.sol +15 -0
- package/contracts/instance/service/BundleServiceManager.sol +5 -9
- package/contracts/instance/service/ComponentOwnerService.sol +2 -2
- package/contracts/instance/service/DistributionService.sol +7 -8
- package/contracts/instance/service/DistributionServiceManager.sol +6 -10
- package/contracts/instance/service/IBundleService.sol +3 -6
- package/contracts/instance/service/IPolicyService.sol +7 -0
- package/contracts/instance/service/PolicyService.sol +58 -24
- package/contracts/instance/service/PoolService.sol +3 -1
- package/contracts/instance/service/PoolServiceManager.sol +5 -9
- package/contracts/instance/service/ProductService.sol +3 -1
- package/contracts/registry/IRegistry.sol +17 -3
- package/contracts/registry/IRegistryService.sol +1 -1
- package/contracts/registry/Registry.sol +30 -19
- package/contracts/registry/RegistryAccessManager.sol +27 -27
- package/contracts/registry/RegistryService.sol +8 -15
- package/contracts/registry/RegistryServiceManager.sol +4 -2
- package/contracts/registry/ReleaseManager.sol +83 -113
- package/contracts/registry/TokenRegistry.sol +4 -4
- package/contracts/types/RoleId.sol +6 -7
- package/package.json +1 -1
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.dbg.json +0 -4
- package/artifacts/contracts/instance/IAccessManagerSimple.sol/IAccessManagerSimple.json +0 -1082
- package/contracts/instance/IAccessManagerSimple.sol +0 -391
@@ -495,8 +495,8 @@
|
|
495
495
|
"type": "function"
|
496
496
|
}
|
497
497
|
],
|
498
|
-
"bytecode": "0x60806040523480156200001157600080fd5b5060405162001dcc38038062001dcc83398101604081905262000034916200069b565b620000656301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b505050620008eb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000606e62000158620001ed565b6040805160ff9384166020820152929091169082015260600160408051601f1981840301815291905290506000620001908462000275565b90506000620001a58583603c848888620002e9565b637b6a51fd60e01b60009081526020527f9104d64c0a509f323b61ab0d4830bb2242bc1a960637a1dcf1f2b72e0a7bd64d805460ff191660011790555050505050565b905090565b6000620001f9620003eb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620006e5565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e3919062000711565b92915050565b6200031a6301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b62000326828762000473565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003a58382620007d4565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620008a0565b6001600160a01b038216620004cf5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038416179055620004f581620004f9565b5050565b6001546001600160a01b031615620005345760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004c6565b6001600160a01b0381166200055c5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005945760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263cc7f293160e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000611575060408051601f3d908101601f191682019092526200060e91810190620008c7565b60015b6200063b5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b80620004f55760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004c6565b80516001600160a01b03811681146200067e57600080fd5b919050565b80516001600160601b03811681146200067e57600080fd5b600080600060608486031215620006b157600080fd5b620006bc8462000666565b9250620006cc6020850162000683565b9150620006dc6040850162000666565b90509250925092565b600060208284031215620006f857600080fd5b815160ff811681146200070a57600080fd5b9392505050565b6000602082840312156200072457600080fd5b6200070a8262000683565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075a57607f821691505b6020821081036200077b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007cf57600081815260208120601f850160051c81016020861015620007aa5750805b601f850160051c820191505b81811015620007cb57828155600101620007b6565b5050505b505050565b81516001600160401b03811115620007f057620007f06200072f565b620008088162000801845462000745565b8462000781565b602080601f831160018114620008405760008415620008275750858301515b600019600386901b1c1916600185901b178555620007cb565b600085815260208120601f198616915b82811015620008715788860151825594840194600190910190840162000850565b5085821015620008905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008b357600080fd5b815162ffffff811681146200070a57600080fd5b600060208284031215620008da57600080fd5b815180151581146200070a57600080fd5b6114b180620008fb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212203a7c65bb0dd8133ae00542902a35691103a9749a4bccb2766f4e806a9c110bc364736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
|
499
|
-
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a26469706673582212203a7c65bb0dd8133ae00542902a35691103a9749a4bccb2766f4e806a9c110bc364736f6c63430008140033",
|
498
|
+
"bytecode": "0x60806040523480156200001157600080fd5b5060405162001dcc38038062001dcc83398101604081905262000034916200069b565b620000656301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b600280546001600160a01b031916331790556200008162000096565b6200008d83826200014a565b505050620008eb565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff1615620000e75760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b0390811614620001475780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6000606e62000158620001ed565b6040805160ff9384166020820152929091169082015260600160408051601f1981840301815291905290506000620001908462000275565b90506000620001a58583603c848888620002e9565b637b6a51fd60e01b60009081526020527f9104d64c0a509f323b61ab0d4830bb2242bc1a960637a1dcf1f2b72e0a7bd64d805460ff191660011790555050505050565b905090565b6000620001f9620003eb565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af41580156200024f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620006e5565b604051636939560f60e11b81526001600160a01b0382166004820181905260009163d272ac1e90602401602060405180830381865afa158015620002bd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620002e3919062000711565b92915050565b6200031a6301ffc9a760e01b600090815260205260008051602062001dac833981519152805460ff19166001179055565b62000326828762000473565b60007f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30080546001600160601b0388166001600160681b0319909116176c0100000000000000000000000060ff8816021760ff60681b19166d010000000000000000000000000086151502178155905060018101620003a58382620007d4565b506303fb044760e21b60009081526020527fb43e4f3791bfcdefa3a0fbe2a5555f8d6490b90e01de0ff40c66f18b49b562c5805460ff1916600117905550505050505050565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af41580156200044d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e89190620008a0565b6001600160a01b038216620004cf5760405162461bcd60e51b815260206004820152601e60248201527f4e66744f776e61626c653a20696e697469616c206f776e65722069732030000060448201526064015b60405180910390fd5b600280546001600160a01b0319166001600160a01b038416179055620004f581620004f9565b5050565b6001546001600160a01b031615620005345760015460405163fcdbf2d960e01b81526001600160a01b039091166004820152602401620004c6565b6001600160a01b0381166200055c5760405163f5c4d07d60e01b815260040160405180910390fd5b806001600160a01b03163b600003620005945760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b600180546001600160a01b0319166001600160a01b0383169081179091556040516301ffc9a760e01b815263102da10360e01b60048201526301ffc9a790602401602060405180830381865afa92505050801562000611575060408051601f3d908101601f191682019092526200060e91810190620008c7565b60015b6200063b5760405163fdeac91f60e01b81526001600160a01b0382166004820152602401620004c6565b80620004f55760405163fdeac91f60e01b81526001600160a01b0383166004820152602401620004c6565b80516001600160a01b03811681146200067e57600080fd5b919050565b80516001600160601b03811681146200067e57600080fd5b600080600060608486031215620006b157600080fd5b620006bc8462000666565b9250620006cc6020850162000683565b9150620006dc6040850162000666565b90509250925092565b600060208284031215620006f857600080fd5b815160ff811681146200070a57600080fd5b9392505050565b6000602082840312156200072457600080fd5b6200070a8262000683565b634e487b7160e01b600052604160045260246000fd5b600181811c908216806200075a57607f821691505b6020821081036200077b57634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620007cf57600081815260208120601f850160051c81016020861015620007aa5750805b601f850160051c820191505b81811015620007cb57828155600101620007b6565b5050505b505050565b81516001600160401b03811115620007f057620007f06200072f565b620008088162000801845462000745565b8462000781565b602080601f831160018114620008405760008415620008275750858301515b600019600386901b1c1916600185901b178555620007cb565b600085815260208120601f198616915b82811015620008715788860151825594840194600190910190840162000850565b5085821015620008905787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060208284031215620008b357600080fd5b815162ffffff811681146200070a57600080fd5b600060208284031215620008da57600080fd5b815180151581146200070a57600080fd5b6114b180620008fb6000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220c3cbe82303ec0fdaaee7de0ebe17498dce6fce8f65bd45b8a4a51ab4c218d95e64736f6c6343000814003367be87c3ff9960ca1e9cfac5cab2ff4747269cf9ed20c9b7306235ac35a491c5",
|
499
|
+
"deployedBytecode": "0x608060405234801561001057600080fd5b50600436106101165760003560e01c8063893d20e8116100a2578063b3c6501511610071578063b3c65015146103c3578063b68d1809146103e4578063b88da759146103f9578063cde749f41461040c578063cf7a1d771461041457600080fd5b8063893d20e81461034a578063946dfcfe14610352578063a3f4df7e14610379578063a745e3df146103b057600080fd5b80631eff4b22116100e95780631eff4b22146101995780634d459c90146101ce5780634f421333146102e75780635ab1bd53146102fa578063644c45e01461031f57600080fd5b806301ffc9a71461011b5780630d8e6e2c1461015d5780630fec111c14610179578063138461e01461018f575b600080fd5b61014861012936600461105d565b6001600160e01b03191660009081526020819052604090205460ff1690565b60405190151581526020015b60405180910390f35b610165610427565b60405162ffffff9091168152602001610154565b6101816104b1565b6040516101549291906110d4565b610197610633565b005b6101c07f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30081565b604051908152602001610154565b61028a6101dc36600461118f565b6040805160a08101825260008082526020820181905291810182905260608101829052608081019190915260008051602061145c83398151915262ffffff92831660009081526020918252604090819020815160a0810183528154958616815263010000009095046001600160a01b03908116938601939093526001015491821690840152600160a01b810464ffffffffff166060840152600160c81b900463ffffffff1660808301525090565b60408051825162ffffff1681526020808401516001600160a01b039081169183019190915283830151169181019190915260608083015164ffffffffff169082015260809182015163ffffffff169181019190915260a001610154565b6101486102f536600461118f565b610855565b6001546001600160a01b03165b6040516001600160a01b039091168152602001610154565b600154600160a01b90046001600160601b03166040516001600160601b039091168152602001610154565b610307610908565b7f4f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed901546101c0565b6103a36040518060400160405280600b81526020016a546573745365727669636560a81b81525081565b60405161015491906111ac565b6101976103be3660046111ea565b610a21565b6103cb610b7e565b60405167ffffffffffffffff9091168152602001610154565b606e5b60405160ff9091168152602001610154565b6101656104073660046112c0565b610ba0565b6103e7610bf1565b6101976104223660046111ea565b610c74565b604051632efe011360e01b815260036004820152600060248201819052604482018190529073__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__90632efe011390606401602060405180830381865af4158015610488573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906112d9565b905090565b6040805160e08101825260008082526020820181905291810182905260608082018390526080820183905260a0820183905260c0820181905290917f6548007c3f4340f82f348c576c0ff69f4f529cadd5ad41f96aae61abceeaa30090506040518060e001604052806105346001546001600160601b03600160a01b9091041690565b6001600160601b0390811682528354908116602083015260ff600160601b820481166040840152600160681b909104161515606082015230608082015260a00161057c610908565b6001600160a01b03168152602001826001018054610599906112f6565b80601f01602080910402602001604051908101604052809291908181526020018280546105c5906112f6565b80156106125780601f106105e757610100808354040283529160200191610612565b820191906000526020600020905b8154815290600101906020018083116105f557829003601f168201915b50505050508152506040518060200160405280600081525092509250509091565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015273__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af4158015610695573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906106b99190611330565b15610700576001546040516316322c0f60e31b81526001600160a01b0382166004820152600160a01b9091046001600160601b031660248201526044015b60405180910390fd5b6001546001600160a01b03166107295760405163cf29926160e01b815260040160405180910390fd5b60015460405163c3c5a54760e01b81523060048201819052916001600160a01b03169063c3c5a54790602401602060405180830381865afa158015610772573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107969190611330565b6107be576040516372657a5160e01b81526001600160a01b03821660048201526024016106f7565b600154604051636939560f60e11b81526001600160a01b0383811660048301529091169063d272ac1e90602401602060405180830381865afa158015610808573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061082c9190611352565b600160146101000a8154816001600160601b0302191690836001600160601b0316021790555050565b60008060008051602061145c83398151915262ffffff84166000908152602091909152604090819020600101549051631bbffab160e21b8152600160c81b90910463ffffffff16600482015273__$5f476116ae21c5294e0c0761c07efa7e1c$__90636effeac490602401602060405180830381865af41580156108dd573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610901919061137b565b1192915050565b6001546040516330b8415f60e01b8152600160a01b9091046001600160601b0316600482015260009073__$6facc32ab6029a5f5de2a1d5e55ea9da0e$__906330b8415f90602401602060405180830381865af415801561096d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906109919190611330565b15610a1157600154604051631c5da14d60e11b8152600160a01b82046001600160601b031660048201526001600160a01b03909116906338bb429a90602401602060405180830381865afa1580156109ed573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac9190611394565b506002546001600160a01b031690565b73__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__63a123b37c610a43610427565b6040516001600160e01b031960e084901b16815262ffffff9091166004820152602401602060405180830381865af4158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa791906113b1565b60008051602061143c8339815191528054600160401b900460ff1680610adb5750805467ffffffffffffffff808416911610155b15610af95760405163f92ee8a960e01b815260040160405180910390fd5b805468ffffffffffffffffff191667ffffffffffffffff831617600160401b178155610b258585610d7f565b610b2e83611020565b805460ff60401b1916815560405167ffffffffffffffff831681527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d2906020015b60405180910390a15050505050565b60006104ac60008051602061143c8339815191525467ffffffffffffffff1690565b600060008051602061145c8339815191526001018281548110610bc557610bc56113db565b90600052602060002090600a91828204019190066003029054906101000a900462ffffff169050919050565b6000610bfb610427565b60405163c9e66e2960e01b815262ffffff909116600482015273__$c0fcb9c1c2e971ebe3d8745a7e2c5cc364$__9063c9e66e2990602401602060405180830381865af4158015610c50573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104ac91906113f1565b60008051602061143c8339815191528054600160401b810460ff16159067ffffffffffffffff16600081158015610ca85750825b905060008267ffffffffffffffff166001148015610cc55750303b155b905081158015610cd3575080155b15610cf15760405163f92ee8a960e01b815260040160405180910390fd5b845467ffffffffffffffff191660011785558315610d1b57845460ff60401b1916600160401b1785555b610d258888610d7f565b610d2f8787611020565b8315610d7557845460ff60401b19168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b5050505050505050565b610d87611024565b60008051602061145c8339815191526000610db860008051602061143c8339815191525467ffffffffffffffff1690565b90506000610dc4610427565b90508167ffffffffffffffff16600103610df25760028301805462ffffff191662ffffff8316179055610e40565b600283015462ffffff90811690821611610e405760405162461bcd60e51b815260206004820152600f60248201526e24a72b20a624a2102b22a929a4a7a760891b60448201526064016106f7565b6001808401805491820181556000908152602090819020600a808404909101805462ffffff808716600394909606939093026101000a858102930219169190911790556040805160a0810182529283526001600160a01b038089168484015287168382015280516356db0c1960e11b81529051606084019273__$d53880c81dc91c20799140d711e5ab8718$__9263adb6183292600480830193928290030181865af4158015610ef4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f189190611414565b64ffffffffff1681526020014363ffffffff90811690915262ffffff8084166000908152602087815260409182902085518154928701516001600160a01b039081166301000000026001600160b81b0319909416919095161791909117815584820151600190910180546060870151608090970151909516600160c81b0263ffffffff60c81b1964ffffffffff909716600160a01b026001600160c81b031990961692909416919091179390931793909316179055517fad0a0fc10465a8dd9da3ad5f43e1a7fff4b4578551c76f0ae8deb844f0d0bf6890610b6f9083908890889062ffffff9390931683526001600160a01b03918216602084015216604082015260600190565b6101165b60008051602061143c83398151915254600160401b900460ff1661105b57604051631afcd79f60e31b815260040160405180910390fd5b565b60006020828403121561106f57600080fd5b81356001600160e01b03198116811461108757600080fd5b9392505050565b6000815180845260005b818110156110b457602081850181015186830182015201611098565b506000602082860101526020601f19601f83011685010191505092915050565b6040815260006001600160601b038085511660408401528060208601511660608401525060ff6040850151166080830152606084015161111860a084018215159052565b5060808401516001600160a01b03811660c08401525060a08401516001600160a01b03811660e08401525060c084015160e061010084015261115e61012084018261108e565b90508281036020840152611172818561108e565b95945050505050565b62ffffff8116811461118c57600080fd5b50565b6000602082840312156111a157600080fd5b81356110878161117b565b602081526000611087602083018461108e565b6001600160a01b038116811461118c57600080fd5b634e487b7160e01b600052604160045260246000fd5b6000806000606084860312156111ff57600080fd5b833561120a816111bf565b9250602084013561121a816111bf565b9150604084013567ffffffffffffffff8082111561123757600080fd5b818601915086601f83011261124b57600080fd5b81358181111561125d5761125d6111d4565b604051601f8201601f19908116603f01168101908382118183101715611285576112856111d4565b8160405282815289602084870101111561129e57600080fd5b8260208601602083013760006020848301015280955050505050509250925092565b6000602082840312156112d257600080fd5b5035919050565b6000602082840312156112eb57600080fd5b81516110878161117b565b600181811c9082168061130a57607f821691505b60208210810361132a57634e487b7160e01b600052602260045260246000fd5b50919050565b60006020828403121561134257600080fd5b8151801515811461108757600080fd5b60006020828403121561136457600080fd5b81516001600160601b038116811461108757600080fd5b60006020828403121561138d57600080fd5b5051919050565b6000602082840312156113a657600080fd5b8151611087816111bf565b6000602082840312156113c357600080fd5b815167ffffffffffffffff8116811461108757600080fd5b634e487b7160e01b600052603260045260246000fd5b60006020828403121561140357600080fd5b815160ff8116811461108757600080fd5b60006020828403121561142657600080fd5b815164ffffffffff8116811461108757600080fdfef0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a004f61291a8ac3d020d0a7d919a76b8592aa88385744dee3f8b4f3873b969ed900a2646970667358221220c3cbe82303ec0fdaaee7de0ebe17498dce6fce8f65bd45b8a4a51ab4c218d95e64736f6c63430008140033",
|
500
500
|
"linkReferences": {
|
501
501
|
"contracts/types/Blocknumber.sol": {
|
502
502
|
"BlocknumberLib": [
|
@@ -131,8 +131,8 @@
|
|
131
131
|
"type": "function"
|
132
132
|
}
|
133
133
|
],
|
134
|
-
"bytecode": "0x6102a461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$
|
135
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$
|
134
|
+
"bytecode": "0x6102a461003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea2646970667358221220c2d0d8fb79f0159b98912e9216ffb6ba8a88f6c92828e6343131e731c143b46b64736f6c63430008140033",
|
135
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100875760003560e01c806368aebf7b1161006557806368aebf7b14610119578063a42e52e914610127578063bc1b392d14610144578063f37f38f01461014b57600080fd5b8063057182b41461008c578063545ce21c146100bd57806367cb8ec1146100e7575b600080fd5b6100a861009a36600461020b565b67ffffffffffffffff161590565b60405190151581526020015b60405180910390f35b6100ce6100cb36600461020b565b90565b60405167ffffffffffffffff90911681526020016100b4565b6101066100f536600461020b565b60081b68ffffffffffffffff001690565b60405160ff1990911681526020016100b4565b6100ce6100cb36600461023c565b6100a861013536600461020b565b67ffffffffffffffff16151590565b60006100ce565b61015e61015936600461020b565b61016c565b6040519081526020016100b4565b600073__$c8f743efd2b4f0c9300f2558c784479d3e$__63f48016ce6014600885901b68ffffffffffffffff00166040516001600160e01b031960e085901b16815260ff909216600483015260ff19166024820152604401602060405180830381865af41580156101e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102059190610255565b92915050565b60006020828403121561021d57600080fd5b813567ffffffffffffffff8116811461023557600080fd5b9392505050565b60006020828403121561024e57600080fd5b5035919050565b60006020828403121561026757600080fd5b505191905056fea2646970667358221220c2d0d8fb79f0159b98912e9216ffb6ba8a88f6c92828e6343131e731c143b46b64736f6c63430008140033",
|
136
136
|
"linkReferences": {
|
137
137
|
"contracts/types/Key32.sol": {
|
138
138
|
"Key32Lib": [
|
@@ -1,15 +1,21 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
+
import {SafeERC20} from "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
|
5
|
+
import {IERC20Metadata} from "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol";
|
6
|
+
|
4
7
|
import {IBaseComponent} from "./IBaseComponent.sol";
|
5
8
|
import {IComponentOwnerService} from "../instance/service/IComponentOwnerService.sol";
|
6
|
-
import {
|
9
|
+
import {IInstanceService} from "../instance/IInstanceService.sol";
|
7
10
|
import {IInstance} from "../instance/IInstance.sol";
|
11
|
+
import {InstanceAccessManager} from "../instance/InstanceAccessManager.sol";
|
8
12
|
import {IRegistry} from "../registry/IRegistry.sol";
|
9
13
|
import {NftId, zeroNftId, NftIdLib} from "../types/NftId.sol";
|
10
|
-
import {ObjectType} from "../types/ObjectType.sol";
|
14
|
+
import {ObjectType, INSTANCE} from "../types/ObjectType.sol";
|
15
|
+
import {VersionLib} from "../types/Version.sol";
|
11
16
|
import {Registerable} from "../shared/Registerable.sol";
|
12
|
-
import {
|
17
|
+
import {RoleId, RoleIdLib} from "../types/RoleId.sol";
|
18
|
+
import {IAccess} from "../instance/module/IAccess.sol";
|
13
19
|
|
14
20
|
abstract contract BaseComponent is
|
15
21
|
Registerable,
|
@@ -18,13 +24,30 @@ abstract contract BaseComponent is
|
|
18
24
|
using NftIdLib for NftId;
|
19
25
|
|
20
26
|
IComponentOwnerService internal _componentOwnerService;
|
27
|
+
IInstanceService internal _instanceService;
|
21
28
|
|
22
29
|
address internal _deployer;
|
23
30
|
address internal _wallet;
|
24
31
|
IERC20Metadata internal _token;
|
25
32
|
IInstance internal _instance;
|
33
|
+
InstanceAccessManager internal _instanceAccessManager;
|
26
34
|
NftId internal _productNftId;
|
27
35
|
|
36
|
+
modifier onlyInstanceRole(uint64 roleIdNum) {
|
37
|
+
RoleId roleId = RoleIdLib.toRoleId(roleIdNum);
|
38
|
+
if( !_instanceAccessManager.hasRole(roleId, msg.sender)) {
|
39
|
+
revert ErrorBaseComponentUnauthorized(msg.sender, roleIdNum);
|
40
|
+
}
|
41
|
+
_;
|
42
|
+
}
|
43
|
+
|
44
|
+
modifier isNotLocked() {
|
45
|
+
if (_instanceAccessManager.isTargetLocked(address(this))) {
|
46
|
+
revert IAccess.ErrorIAccessTargetLocked(address(this));
|
47
|
+
}
|
48
|
+
_;
|
49
|
+
}
|
50
|
+
|
28
51
|
constructor(
|
29
52
|
address registry,
|
30
53
|
NftId instanceNftId,
|
@@ -39,27 +62,31 @@ abstract contract BaseComponent is
|
|
39
62
|
|
40
63
|
IRegistry.ObjectInfo memory instanceInfo = getRegistry().getObjectInfo(instanceNftId);
|
41
64
|
_instance = IInstance(instanceInfo.objectAddress);
|
65
|
+
_instanceAccessManager = _instance.getInstanceAccessManager();
|
42
66
|
require(
|
43
67
|
_instance.supportsInterface(type(IInstance).interfaceId),
|
44
68
|
""
|
45
69
|
);
|
46
70
|
|
47
71
|
_componentOwnerService = _instance.getComponentOwnerService();
|
72
|
+
_instanceService = IInstanceService(getRegistry().getServiceAddress(INSTANCE(), VersionLib.toVersion(3, 0, 0).toMajorPart()));
|
48
73
|
_wallet = address(this);
|
49
74
|
_token = IERC20Metadata(token);
|
50
75
|
|
51
76
|
_registerInterface(type(IBaseComponent).interfaceId);
|
52
77
|
}
|
53
78
|
|
79
|
+
function getName() public pure virtual returns (string memory name);
|
80
|
+
|
54
81
|
// from component contract
|
55
|
-
// TODO
|
82
|
+
// TODO only owner and instance owner
|
56
83
|
function lock() external onlyOwner override {
|
57
|
-
|
84
|
+
_instanceService.setTargetLocked(getName(), true);
|
58
85
|
}
|
59
|
-
|
60
|
-
// TODO
|
86
|
+
|
87
|
+
// TODO only owner and instance owner
|
61
88
|
function unlock() external onlyOwner override {
|
62
|
-
|
89
|
+
_instanceService.setTargetLocked(getName(), false);
|
63
90
|
}
|
64
91
|
|
65
92
|
function getWallet()
|
@@ -16,7 +16,7 @@ import {Registerable} from "../shared/Registerable.sol";
|
|
16
16
|
import {TokenHandler} from "../shared/TokenHandler.sol";
|
17
17
|
import {InstanceReader} from "../instance/InstanceReader.sol";
|
18
18
|
|
19
|
-
contract Distribution is
|
19
|
+
abstract contract Distribution is
|
20
20
|
BaseComponent,
|
21
21
|
IDistributionComponent
|
22
22
|
{
|
@@ -10,10 +10,13 @@ import {NftId} from "../types/NftId.sol";
|
|
10
10
|
interface IBaseComponent is IRegisterable {
|
11
11
|
error ErrorBaseComponentWalletAddressIsSameAsCurrent(address newWallet);
|
12
12
|
error ErrorBaseComponentWalletAllowanceTooSmall(address oldWallet, address newWallet, uint256 allowance, uint256 balance);
|
13
|
+
error ErrorBaseComponentUnauthorized(address caller, uint64 requiredRoleIdNum);
|
13
14
|
|
14
15
|
event LogBaseComponentWalletAddressChanged(address newWallet);
|
15
16
|
event LogBaseComponentWalletTokensTransferred(address from, address to, uint256 amount);
|
16
17
|
|
18
|
+
function getName() external pure virtual returns (string memory name);
|
19
|
+
|
17
20
|
function lock() external;
|
18
21
|
|
19
22
|
function unlock() external;
|
@@ -23,7 +23,7 @@ import {InstanceReader} from "../instance/InstanceReader.sol";
|
|
23
23
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
24
24
|
import {Registerable} from "../shared/Registerable.sol";
|
25
25
|
|
26
|
-
contract Pool is BaseComponent, IPoolComponent {
|
26
|
+
abstract contract Pool is BaseComponent, IPoolComponent {
|
27
27
|
using NftIdLib for NftId;
|
28
28
|
|
29
29
|
bool internal _isConfirmingApplication;
|
@@ -29,7 +29,7 @@ import {Distribution} from "../components/Distribution.sol";
|
|
29
29
|
|
30
30
|
import {zeroNftId} from "../types/NftId.sol";
|
31
31
|
|
32
|
-
contract Product is BaseComponent, IProductComponent {
|
32
|
+
abstract contract Product is BaseComponent, IProductComponent {
|
33
33
|
using NftIdLib for NftId;
|
34
34
|
|
35
35
|
IProductService internal _productService;
|
@@ -6,6 +6,7 @@ import {IERC165} from "@openzeppelin/contracts/utils/introspection/IERC165.sol";
|
|
6
6
|
import {BundleManager} from "./BundleManager.sol";
|
7
7
|
import {InstanceReader} from "./InstanceReader.sol";
|
8
8
|
|
9
|
+
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
9
10
|
import {IComponentOwnerService} from "./service/IComponentOwnerService.sol";
|
10
11
|
import {IDistributionService} from "./service/IDistributionService.sol";
|
11
12
|
import {IPoolService} from "./service/IPoolService.sol";
|
@@ -55,6 +56,7 @@ interface IInstance is IERC165, IKeyValueStore {
|
|
55
56
|
function updatePolicy(NftId policyNftId, IPolicy.PolicyInfo memory policy, StateId newState) external;
|
56
57
|
function updatePolicyState(NftId policyNftId, StateId newState) external;
|
57
58
|
|
59
|
+
function getInstanceAccessManager() external view returns (InstanceAccessManager);
|
58
60
|
function getInstanceReader() external view returns (InstanceReader);
|
59
61
|
function getBundleManager() external view returns (BundleManager);
|
60
62
|
}
|
@@ -10,7 +10,7 @@ import {IRegistry} from "../registry/IRegistry.sol";
|
|
10
10
|
import {IRegisterable} from "../shared/IRegisterable.sol";
|
11
11
|
import {IBaseComponent} from "../components/IBaseComponent.sol";
|
12
12
|
|
13
|
-
import {
|
13
|
+
import {InstanceAccessManager} from "./InstanceAccessManager.sol";
|
14
14
|
import {Instance} from "./Instance.sol";
|
15
15
|
import {InstanceReader} from "./InstanceReader.sol";
|
16
16
|
import {BundleManager} from "./BundleManager.sol";
|
@@ -18,17 +18,23 @@ import {BundleManager} from "./BundleManager.sol";
|
|
18
18
|
interface IInstanceService is IService {
|
19
19
|
|
20
20
|
error ErrorInstanceServiceRequestUnauhorized(address caller);
|
21
|
-
|
21
|
+
error ErrorInstanceServiceNotInstanceOwner(address caller, NftId instanceNftId);
|
22
|
+
error ErrorInstanceServiceComponentNotRegistered(address componentAddress);
|
23
|
+
|
22
24
|
event LogInstanceCloned(address clonedAccessManagerAddress, address clonedInstanceAddress, address clonedInstanceReaderAddress, NftId clonedInstanceNftId);
|
23
25
|
|
24
26
|
function createInstanceClone()
|
25
27
|
external
|
26
28
|
returns (
|
27
|
-
|
29
|
+
InstanceAccessManager clonedAccessManager,
|
28
30
|
Instance clonedInstance,
|
29
31
|
NftId instanceNftId,
|
30
32
|
InstanceReader clonedInstanceReader,
|
31
33
|
BundleManager clonedBundleManager
|
32
34
|
);
|
35
|
+
|
36
|
+
function hasRole(address account, RoleId role, address instanceAddress) external returns (bool);
|
37
|
+
function setTargetLocked(string memory targetName, bool locked) external;
|
38
|
+
|
33
39
|
}
|
34
40
|
|