@etherisc/gif-next 0.0.2-edd8f00-238 → 0.0.2-ee01d06-355
Sign up to get free protection for your applications and to get access to all the features.
- package/README.md +9 -0
- package/artifacts/contracts/distribution/Distribution.sol/Distribution.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionService.sol/DistributionService.json +2 -2
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.dbg.json +1 -1
- package/artifacts/contracts/distribution/DistributionServiceManager.sol/DistributionServiceManager.json +2 -2
- package/artifacts/contracts/distribution/IDistributionComponent.sol/IDistributionComponent.dbg.json +1 -1
- package/artifacts/contracts/distribution/IDistributionService.sol/IDistributionService.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/IInstance.sol/IInstance.dbg.json +1 -1
- package/artifacts/contracts/instance/IInstanceService.sol/IInstanceService.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.dbg.json +1 -1
- package/artifacts/contracts/instance/Instance.sol/Instance.json +2 -2
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAdmin.sol/InstanceAdmin.json +2 -2
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceAuthorizationsLib.sol/InstanceAuthorizationsLib.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 +2 -2
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceServiceManager.sol/InstanceServiceManager.json +2 -2
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/InstanceStore.sol/InstanceStore.json +72 -72
- package/artifacts/contracts/instance/base/BalanceStore.sol/BalanceStore.dbg.json +1 -1
- package/artifacts/contracts/instance/base/Cloneable.sol/Cloneable.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectCounter.sol/ObjectCounter.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectLifecycle.sol/ObjectLifecycle.json +2 -2
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.dbg.json +1 -1
- package/artifacts/contracts/instance/base/ObjectManager.sol/ObjectManager.json +2 -2
- package/artifacts/contracts/instance/module/IAccess.sol/IAccess.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IBundle.sol/IBundle.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IComponents.sol/IComponents.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IDistribution.sol/IDistribution.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IPolicy.sol/IPolicy.dbg.json +1 -1
- package/artifacts/contracts/instance/module/IRisk.sol/IRisk.dbg.json +1 -1
- package/artifacts/contracts/mock/Dip.sol/Dip.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracle.sol/IOracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleComponent.sol/IOracleComponent.dbg.json +1 -1
- package/artifacts/contracts/oracle/IOracleService.sol/IOracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/Oracle.sol/Oracle.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleService.sol/OracleService.json +2 -2
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/oracle/OracleServiceManager.sol/OracleServiceManager.json +2 -2
- package/artifacts/contracts/pool/BundleService.sol/BundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleService.sol/BundleService.json +2 -2
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/BundleServiceManager.sol/BundleServiceManager.json +2 -2
- package/artifacts/contracts/pool/IBundleService.sol/IBundleService.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolComponent.sol/IPoolComponent.dbg.json +1 -1
- package/artifacts/contracts/pool/IPoolService.sol/IPoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/Pool.sol/Pool.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolService.sol/PoolService.json +2 -2
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.dbg.json +1 -1
- package/artifacts/contracts/pool/PoolServiceManager.sol/PoolServiceManager.json +2 -2
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationService.sol/ApplicationService.json +2 -2
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ApplicationServiceManager.sol/ApplicationServiceManager.json +2 -2
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimService.sol/ClaimService.json +2 -2
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ClaimServiceManager.sol/ClaimServiceManager.json +2 -2
- package/artifacts/contracts/product/IApplicationService.sol/IApplicationService.dbg.json +1 -1
- package/artifacts/contracts/product/IClaimService.sol/IClaimService.dbg.json +1 -1
- package/artifacts/contracts/product/IPolicyService.sol/IPolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/IPricingService.sol/IPricingService.dbg.json +1 -1
- package/artifacts/contracts/product/IProductComponent.sol/IProductComponent.dbg.json +1 -1
- package/artifacts/contracts/product/IProductService.sol/IProductService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyService.sol/PolicyService.json +2 -2
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PolicyServiceManager.sol/PolicyServiceManager.json +2 -2
- package/artifacts/contracts/product/PricingService.sol/PricingService.dbg.json +1 -1
- package/artifacts/contracts/product/PricingService.sol/PricingService.json +2 -2
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/PricingServiceManager.sol/PricingServiceManager.json +2 -2
- package/artifacts/contracts/product/Product.sol/Product.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.dbg.json +1 -1
- package/artifacts/contracts/product/ProductService.sol/ProductService.json +2 -2
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.dbg.json +1 -1
- package/artifacts/contracts/product/ProductServiceManager.sol/ProductServiceManager.json +2 -2
- package/artifacts/contracts/registry/ChainNft.sol/ChainNft.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistry.sol/IRegistry.dbg.json +1 -1
- package/artifacts/contracts/registry/IRegistryService.sol/IRegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/IServiceAuthorization.sol/IServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/ITransferInterceptor.sol/ITransferInterceptor.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.dbg.json +1 -1
- package/artifacts/contracts/registry/Registry.sol/Registry.json +2 -2
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryAdmin.sol/RegistryAdmin.json +34 -34
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryService.sol/RegistryService.json +2 -2
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.dbg.json +1 -1
- package/artifacts/contracts/registry/RegistryServiceManager.sol/RegistryServiceManager.json +2 -2
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseLifecycle.sol/ReleaseLifecycle.json +4 -27
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.dbg.json +1 -1
- package/artifacts/contracts/registry/ReleaseManager.sol/ReleaseManager.json +18 -75
- package/artifacts/contracts/registry/ServiceAuthorization.sol/ServiceAuthorization.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.dbg.json +1 -1
- package/artifacts/contracts/registry/ServiceAuthorizationV3.sol/ServiceAuthorizationV3.json +2 -2
- 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/AccessAdmin.sol/AccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerCustom.sol/AccessManagerCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtended.sol/AccessManagerExtended.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedInitializeable.sol/AccessManagerExtendedInitializeable.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisable.sol/AccessManagerExtendedWithDisable.dbg.json +1 -1
- package/artifacts/contracts/shared/AccessManagerExtendedWithDisableInitializeable.sol/AccessManagerExtendedWithDisableInitializeable.dbg.json +1 -1
- package/artifacts/contracts/shared/Component.sol/Component.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentService.sol/ComponentService.json +2 -2
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.dbg.json +1 -1
- package/artifacts/contracts/shared/ComponentServiceManager.sol/ComponentServiceManager.json +2 -2
- package/artifacts/contracts/shared/ComponentVerifyingService.sol/ComponentVerifyingService.dbg.json +1 -1
- package/artifacts/contracts/shared/ERC165.sol/ERC165.dbg.json +1 -1
- package/artifacts/contracts/shared/IAccessAdmin.sol/IAccessAdmin.dbg.json +1 -1
- package/artifacts/contracts/shared/IAccessManagerExtended.sol/IAccessManagerExtended.dbg.json +1 -1
- package/artifacts/contracts/shared/IAccessManagerExtendedWithDisable.sol/IAccessManagerExtendedWithDisable.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponent.sol/IComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IComponentService.sol/IComponentService.dbg.json +1 -1
- package/artifacts/contracts/shared/IInstanceLinkedComponent.sol/IInstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/IKeyValueStore.sol/IKeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/ILifecycle.sol/ILifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/INftOwnable.sol/INftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/IPolicyHolder.sol/IPolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegisterable.sol/IRegisterable.dbg.json +1 -1
- package/artifacts/contracts/shared/IRegistryLinked.sol/IRegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/IService.sol/IService.dbg.json +1 -1
- package/artifacts/contracts/shared/IVersionable.sol/IVersionable.dbg.json +1 -1
- package/artifacts/contracts/shared/InitializableCustom.sol/InitializableCustom.dbg.json +1 -1
- package/artifacts/contracts/shared/InstanceLinkedComponent.sol/InstanceLinkedComponent.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.dbg.json +1 -1
- package/artifacts/contracts/shared/KeyValueStore.sol/KeyValueStore.json +4 -77
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.dbg.json +1 -1
- package/artifacts/contracts/shared/Lifecycle.sol/Lifecycle.json +0 -23
- package/artifacts/contracts/shared/NftIdSetManager.sol/NftIdSetManager.dbg.json +1 -1
- package/artifacts/contracts/shared/NftOwnable.sol/NftOwnable.dbg.json +1 -1
- package/artifacts/contracts/shared/PolicyHolder.sol/PolicyHolder.dbg.json +1 -1
- package/artifacts/contracts/shared/ProxyManager.sol/ProxyManager.dbg.json +1 -1
- package/artifacts/contracts/shared/Registerable.sol/Registerable.dbg.json +1 -1
- package/artifacts/contracts/shared/RegistryLinked.sol/RegistryLinked.dbg.json +1 -1
- package/artifacts/contracts/shared/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/staking/IStaking.sol/IStaking.dbg.json +1 -1
- package/artifacts/contracts/staking/IStakingService.sol/IStakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/StakeManagerLib.sol/StakeManagerLib.json +2 -2
- package/artifacts/contracts/staking/Staking.sol/Staking.dbg.json +1 -1
- package/artifacts/contracts/staking/Staking.sol/Staking.json +2 -2
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingLifecycle.sol/StakingLifecycle.json +4 -27
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingManager.sol/StakingManager.json +2 -2
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingReader.sol/StakingReader.json +2 -2
- package/artifacts/contracts/staking/StakingService.sol/StakingService.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingService.sol/StakingService.json +2 -2
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingServiceManager.sol/StakingServiceManager.json +2 -2
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.dbg.json +1 -1
- package/artifacts/contracts/staking/StakingStore.sol/StakingStore.json +80 -103
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.dbg.json +1 -1
- package/artifacts/contracts/staking/TargetManagerLib.sol/TargetManagerLib.json +2 -2
- package/artifacts/contracts/type/AddressSet.sol/LibAddressSet.dbg.json +1 -1
- package/artifacts/contracts/type/Amount.sol/AmountLib.dbg.json +1 -1
- package/artifacts/contracts/type/Blocknumber.sol/BlocknumberLib.dbg.json +1 -1
- package/artifacts/contracts/type/ClaimId.sol/ClaimIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/DistributorType.sol/DistributorTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Fee.sol/FeeLib.dbg.json +1 -1
- package/artifacts/contracts/type/Key32.sol/Key32Lib.dbg.json +1 -1
- package/artifacts/contracts/type/NftId.sol/NftIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/NftIdSet.sol/LibNftIdSet.dbg.json +1 -1
- package/artifacts/contracts/type/ObjectType.sol/ObjectTypeLib.dbg.json +1 -1
- package/artifacts/contracts/type/PayoutId.sol/PayoutIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Referral.sol/ReferralLib.dbg.json +1 -1
- package/artifacts/contracts/type/RequestId.sol/RequestIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RiskId.sol/RiskIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/RoleId.sol/RoleIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/Seconds.sol/SecondsLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorLib.dbg.json +1 -1
- package/artifacts/contracts/type/Selector.sol/SelectorSetLib.dbg.json +1 -1
- package/artifacts/contracts/type/StateId.sol/StateIdLib.dbg.json +1 -1
- package/artifacts/contracts/type/String.sol/StrLib.dbg.json +1 -1
- package/artifacts/contracts/type/Timestamp.sol/TimestampLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/MathLib.dbg.json +1 -1
- package/artifacts/contracts/type/UFixed.sol/UFixedLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionLib.dbg.json +1 -1
- package/artifacts/contracts/type/Version.sol/VersionPartLib.dbg.json +1 -1
- package/contracts/instance/base/ObjectLifecycle.sol +55 -45
- package/contracts/registry/RegistryAdmin.sol +3 -1
- package/contracts/registry/ReleaseLifecycle.sol +8 -9
- package/contracts/registry/ReleaseManager.sol +4 -24
- package/contracts/shared/KeyValueStore.sol +1 -1
- package/contracts/shared/Lifecycle.sol +16 -10
- package/contracts/staking/StakingLifecycle.sol +5 -6
- package/package.json +3 -1
@@ -450,8 +450,8 @@
|
|
450
450
|
"type": "function"
|
451
451
|
}
|
452
452
|
],
|
453
|
-
"bytecode": "0x6115be61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063b7f3e12c11610096578063da86eb8011610070578063da86eb80146101b1578063e8e7a2b4146101c4578063f2bbb0a8146101e5578063f87bf3731461021057600080fd5b8063b7f3e12c14610175578063bf381be614610188578063c6edc3dd146101a957600080fd5b80633e7964a1146100de578063504a473d146101015780635bcf927a14610122578063658501a6146101455780639ed616cd1461014d578063aea958cf14610162575b600080fd5b6100e6610218565b60405164ffffffffff90911681526020015b60405180910390f35b61011461010f366004610fa0565b610298565b6040519081526020016100f8565b610135610130366004610fcc565b610336565b60405190151581526020016100f8565b610114610366565b61016061015b366004611011565b6103e6565b005b61016061017036600461108a565b6106cf565b6101146101833660046110b6565b610722565b61019b6101963660046110f7565b61088c565b6040516100f8929190611142565b6100e6610a48565b6101606101bf366004611188565b610a85565b6101d76101d23660046111c1565b610b81565b6040516100f89291906111f1565b6101f86101f336600461108a565b610d35565b6040516001600160601b0390911681526020016100f8565b610114610dc2565b604051630319d08b60e21b81526309660180600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c906024015b602060405180830381865af415801561026f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102939190611230565b905090565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561030c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610330919061124d565b92915050565b600060ff821660010361034b57506001919050565b60ff8216600a0361035e57506001919050565b506000919050565b604051631488c84560e01b815260216004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044015b602060405180830381865af41580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061124d565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561043e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610462919061127b565b156104805760405163019dbc4d60e31b815260040160405180910390fd5b60405163134fc55b60e11b81526001600160601b03851660048201526001600160a01b0386169063269f8ab690602401602060405180830381865afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f1919061127b565b1561051f57604051638bf515e960e01b81526001600160601b03851660048201526024015b60405180910390fd5b61052883610336565b61055957604051632778739960e11b81526001600160601b038516600482015260ff84166024820152604401610516565b6105638483610a85565b61056d84826106cf565b60405163e74d052f60e01b81526001600160601b03851660048201526001600160a01b0387169063e74d052f90602401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061127b565b6106065760405163686c563560e11b81526001600160601b0385166004820152602401610516565b6040516305247a1760e51b81526001600160601b03851660048201526000906001600160a01b0388169063a48f42e090602401600060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067e91908101906113ac565b60400151905060ff808216908516146106c65760405163e3c5e85760e01b81526001600160601b038616600482015260ff808616602483015282166044820152606401610516565b50505050505050565b6106df816106db610366565b1090565b1561071e57816106ed610366565b604051637eed2aab60e01b81526001600160601b039092166004830152602482015260448101829052606401610516565b5050565b60008073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c8456001866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061147f565b886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061147f565b61080f919061149c565b6040516001600160e01b031960e085901b168152600481019290925260000b6024820152604401602060405180830381865af4158015610853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610877919061124d565b90506108838382610e05565b95945050505050565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091391906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610987919061127b565b6109af5760405163686c563560e11b81526001600160601b0386166004820152602401610516565b6109b98585610a85565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906114e0565b60408101805164ffffffffff90961690529396939550929350505050565b604051630319d08b60e21b815262f099c0600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c90602401610252565b60405163790a38ad60e01b815264ffffffffff8216600482015273__$71e292c09eace9601b3e21e68a1278917a$__9063790a38ad90602401602060405180830381865af4158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061127b565b15610b285760405163b7c4528f60e01b81526001600160601b0383166004820152602401610516565b610b3981610b34610218565b610e1a565b1561071e5781610b47610218565b6040516316eec12960e31b81526001600160601b03909216600483015264ffffffffff908116602483015282166044820152606401610516565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0891906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c919061127b565b610ca45760405163686c563560e11b81526001600160601b0386166004820152602401610516565b610cae85856106cf565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906114e0565b6060810180519590529396939550929350505050565b604051632c34efe560e11b81526001600160601b03831660048201526024810182905260009073__$3bac17678db7ae928afa209f2f44deec9c$__90635869dfca90604401602060405180830381865af4158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611555565b9392505050565b604051631488c84560e01b815260056004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044016103a5565b6000610dbb8383670de0b6b3a7640000610e9f565b6040516383ffcdef60e01b815264ffffffffff80841660048301528216602482015260009073__$71e292c09eace9601b3e21e68a1278917a$__906383ffcdef90604401602060405180830381865af4158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb919061127b565b6000808060001985870985870292508281108382030391505080600003610ed957838281610ecf57610ecf611572565b0492505050610dbb565b808411610f205760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610516565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160601b0381168114610f9d57600080fd5b50565b600060208284031215610fb257600080fd5b8135610dbb81610f88565b60ff81168114610f9d57600080fd5b600060208284031215610fde57600080fd5b8135610dbb81610fbd565b6001600160a01b0381168114610f9d57600080fd5b64ffffffffff81168114610f9d57600080fd5b60008060008060008060c0878903121561102a57600080fd5b863561103581610fe9565b9550602087013561104581610fe9565b9450604087013561105581610f88565b9350606087013561106581610fbd565b9250608087013561107581610ffe565b8092505060a087013590509295509295509295565b6000806040838503121561109d57600080fd5b82356110a881610f88565b946020939093013593505050565b6000806000606084860312156110cb57600080fd5b83356110d681610fe9565b925060208401356110e681610fe9565b929592945050506040919091013590565b60008060006060848603121561110c57600080fd5b833561111781610fe9565b9250602084013561112781610f88565b9150604084013561113781610ffe565b809150509250925092565b64ffffffffff8316815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b6000806040838503121561119b57600080fd5b82356111a681610f88565b915060208301356111b681610ffe565b809150509250929050565b6000806000606084860312156111d657600080fd5b83356111e181610fe9565b925060208401356110e681610f88565b82815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b60006020828403121561124257600080fd5b8151610dbb81610ffe565b60006020828403121561125f57600080fd5b5051919050565b8051801515811461127657600080fd5b919050565b60006020828403121561128d57600080fd5b610dbb82611266565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156112cf576112cf611296565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe611296565b604052919050565b805161127681610f88565b805161127681610fbd565b805161127681610fe9565b600082601f83011261133857600080fd5b815167ffffffffffffffff81111561135257611352611296565b6020611366601f8301601f191682016112d5565b828152858284870101111561137a57600080fd5b60005b8381101561139857858101830151828201840152820161137d565b506000928101909101919091529392505050565b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b9083019060e082860312156113ea57600080fd5b6113f26112ac565b6113fb83611306565b815261140960208401611306565b602082015261141a60408401611311565b604082015261142b60608401611266565b606082015261143c6080840161131c565b608082015261144d60a0840161131c565b60a082015260c08301518281111561146457600080fd5b61147087828601611327565b60c08301525095945050505050565b60006020828403121561149157600080fd5b8151610dbb81610fbd565b60ff828116828216039081111561033057634e487b7160e01b600052601160045260246000fd5b6000602082840312156114d557600080fd5b8151610dbb81610fe9565b6000608082840312156114f257600080fd5b6040516080810181811067ffffffffffffffff8211171561151557611515611296565b604052825161152381610fbd565b815260208381015190820152604083015161153d81610ffe565b60408201526060928301519281019290925250919050565b60006020828403121561156757600080fd5b8151610dbb81610f88565b634e487b7160e01b600052601260045260246000fdfea26469706673582212207b17ab86f74e5c4f686dd8254d37966b9ed41620023ac152c260529f2f53e29664736f6c63430008140033",
|
454
|
-
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063b7f3e12c11610096578063da86eb8011610070578063da86eb80146101b1578063e8e7a2b4146101c4578063f2bbb0a8146101e5578063f87bf3731461021057600080fd5b8063b7f3e12c14610175578063bf381be614610188578063c6edc3dd146101a957600080fd5b80633e7964a1146100de578063504a473d146101015780635bcf927a14610122578063658501a6146101455780639ed616cd1461014d578063aea958cf14610162575b600080fd5b6100e6610218565b60405164ffffffffff90911681526020015b60405180910390f35b61011461010f366004610fa0565b610298565b6040519081526020016100f8565b610135610130366004610fcc565b610336565b60405190151581526020016100f8565b610114610366565b61016061015b366004611011565b6103e6565b005b61016061017036600461108a565b6106cf565b6101146101833660046110b6565b610722565b61019b6101963660046110f7565b61088c565b6040516100f8929190611142565b6100e6610a48565b6101606101bf366004611188565b610a85565b6101d76101d23660046111c1565b610b81565b6040516100f89291906111f1565b6101f86101f336600461108a565b610d35565b6040516001600160601b0390911681526020016100f8565b610114610dc2565b604051630319d08b60e21b81526309660180600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c906024015b602060405180830381865af415801561026f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102939190611230565b905090565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561030c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610330919061124d565b92915050565b600060ff821660010361034b57506001919050565b60ff8216600a0361035e57506001919050565b506000919050565b604051631488c84560e01b815260216004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044015b602060405180830381865af41580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061124d565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561043e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610462919061127b565b156104805760405163019dbc4d60e31b815260040160405180910390fd5b60405163134fc55b60e11b81526001600160601b03851660048201526001600160a01b0386169063269f8ab690602401602060405180830381865afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f1919061127b565b1561051f57604051638bf515e960e01b81526001600160601b03851660048201526024015b60405180910390fd5b61052883610336565b61055957604051632778739960e11b81526001600160601b038516600482015260ff84166024820152604401610516565b6105638483610a85565b61056d84826106cf565b60405163e74d052f60e01b81526001600160601b03851660048201526001600160a01b0387169063e74d052f90602401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061127b565b6106065760405163686c563560e11b81526001600160601b0385166004820152602401610516565b6040516305247a1760e51b81526001600160601b03851660048201526000906001600160a01b0388169063a48f42e090602401600060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067e91908101906113ac565b60400151905060ff808216908516146106c65760405163e3c5e85760e01b81526001600160601b038616600482015260ff808616602483015282166044820152606401610516565b50505050505050565b6106df816106db610366565b1090565b1561071e57816106ed610366565b604051637eed2aab60e01b81526001600160601b039092166004830152602482015260448101829052606401610516565b5050565b60008073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c8456001866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061147f565b886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061147f565b61080f919061149c565b6040516001600160e01b031960e085901b168152600481019290925260000b6024820152604401602060405180830381865af4158015610853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610877919061124d565b90506108838382610e05565b95945050505050565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091391906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610987919061127b565b6109af5760405163686c563560e11b81526001600160601b0386166004820152602401610516565b6109b98585610a85565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906114e0565b60408101805164ffffffffff90961690529396939550929350505050565b604051630319d08b60e21b815262f099c0600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c90602401610252565b60405163790a38ad60e01b815264ffffffffff8216600482015273__$71e292c09eace9601b3e21e68a1278917a$__9063790a38ad90602401602060405180830381865af4158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061127b565b15610b285760405163b7c4528f60e01b81526001600160601b0383166004820152602401610516565b610b3981610b34610218565b610e1a565b1561071e5781610b47610218565b6040516316eec12960e31b81526001600160601b03909216600483015264ffffffffff908116602483015282166044820152606401610516565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0891906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c919061127b565b610ca45760405163686c563560e11b81526001600160601b0386166004820152602401610516565b610cae85856106cf565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906114e0565b6060810180519590529396939550929350505050565b604051632c34efe560e11b81526001600160601b03831660048201526024810182905260009073__$3bac17678db7ae928afa209f2f44deec9c$__90635869dfca90604401602060405180830381865af4158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611555565b9392505050565b604051631488c84560e01b815260056004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044016103a5565b6000610dbb8383670de0b6b3a7640000610e9f565b6040516383ffcdef60e01b815264ffffffffff80841660048301528216602482015260009073__$71e292c09eace9601b3e21e68a1278917a$__906383ffcdef90604401602060405180830381865af4158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb919061127b565b6000808060001985870985870292508281108382030391505080600003610ed957838281610ecf57610ecf611572565b0492505050610dbb565b808411610f205760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610516565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160601b0381168114610f9d57600080fd5b50565b600060208284031215610fb257600080fd5b8135610dbb81610f88565b60ff81168114610f9d57600080fd5b600060208284031215610fde57600080fd5b8135610dbb81610fbd565b6001600160a01b0381168114610f9d57600080fd5b64ffffffffff81168114610f9d57600080fd5b60008060008060008060c0878903121561102a57600080fd5b863561103581610fe9565b9550602087013561104581610fe9565b9450604087013561105581610f88565b9350606087013561106581610fbd565b9250608087013561107581610ffe565b8092505060a087013590509295509295509295565b6000806040838503121561109d57600080fd5b82356110a881610f88565b946020939093013593505050565b6000806000606084860312156110cb57600080fd5b83356110d681610fe9565b925060208401356110e681610fe9565b929592945050506040919091013590565b60008060006060848603121561110c57600080fd5b833561111781610fe9565b9250602084013561112781610f88565b9150604084013561113781610ffe565b809150509250925092565b64ffffffffff8316815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b6000806040838503121561119b57600080fd5b82356111a681610f88565b915060208301356111b681610ffe565b809150509250929050565b6000806000606084860312156111d657600080fd5b83356111e181610fe9565b925060208401356110e681610f88565b82815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b60006020828403121561124257600080fd5b8151610dbb81610ffe565b60006020828403121561125f57600080fd5b5051919050565b8051801515811461127657600080fd5b919050565b60006020828403121561128d57600080fd5b610dbb82611266565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156112cf576112cf611296565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe611296565b604052919050565b805161127681610f88565b805161127681610fbd565b805161127681610fe9565b600082601f83011261133857600080fd5b815167ffffffffffffffff81111561135257611352611296565b6020611366601f8301601f191682016112d5565b828152858284870101111561137a57600080fd5b60005b8381101561139857858101830151828201840152820161137d565b506000928101909101919091529392505050565b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b9083019060e082860312156113ea57600080fd5b6113f26112ac565b6113fb83611306565b815261140960208401611306565b602082015261141a60408401611311565b604082015261142b60608401611266565b606082015261143c6080840161131c565b608082015261144d60a0840161131c565b60a082015260c08301518281111561146457600080fd5b61147087828601611327565b60c08301525095945050505050565b60006020828403121561149157600080fd5b8151610dbb81610fbd565b60ff828116828216039081111561033057634e487b7160e01b600052601160045260246000fd5b6000602082840312156114d557600080fd5b8151610dbb81610fe9565b6000608082840312156114f257600080fd5b6040516080810181811067ffffffffffffffff8211171561151557611515611296565b604052825161152381610fbd565b815260208381015190820152604083015161153d81610ffe565b60408201526060928301519281019290925250919050565b60006020828403121561156757600080fd5b8151610dbb81610f88565b634e487b7160e01b600052601260045260246000fdfea26469706673582212207b17ab86f74e5c4f686dd8254d37966b9ed41620023ac152c260529f2f53e29664736f6c63430008140033",
|
453
|
+
"bytecode": "0x6115be61003a600b82828239805160001a60731461002d57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063b7f3e12c11610096578063da86eb8011610070578063da86eb80146101b1578063e8e7a2b4146101c4578063f2bbb0a8146101e5578063f87bf3731461021057600080fd5b8063b7f3e12c14610175578063bf381be614610188578063c6edc3dd146101a957600080fd5b80633e7964a1146100de578063504a473d146101015780635bcf927a14610122578063658501a6146101455780639ed616cd1461014d578063aea958cf14610162575b600080fd5b6100e6610218565b60405164ffffffffff90911681526020015b60405180910390f35b61011461010f366004610fa0565b610298565b6040519081526020016100f8565b610135610130366004610fcc565b610336565b60405190151581526020016100f8565b610114610366565b61016061015b366004611011565b6103e6565b005b61016061017036600461108a565b6106cf565b6101146101833660046110b6565b610722565b61019b6101963660046110f7565b61088c565b6040516100f8929190611142565b6100e6610a48565b6101606101bf366004611188565b610a85565b6101d76101d23660046111c1565b610b81565b6040516100f89291906111f1565b6101f86101f336600461108a565b610d35565b6040516001600160601b0390911681526020016100f8565b610114610dc2565b604051630319d08b60e21b81526309660180600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c906024015b602060405180830381865af415801561026f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102939190611230565b905090565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561030c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610330919061124d565b92915050565b600060ff821660010361034b57506001919050565b60ff8216600a0361035e57506001919050565b506000919050565b604051631488c84560e01b815260216004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044015b602060405180830381865af41580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061124d565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561043e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610462919061127b565b156104805760405163019dbc4d60e31b815260040160405180910390fd5b60405163134fc55b60e11b81526001600160601b03851660048201526001600160a01b0386169063269f8ab690602401602060405180830381865afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f1919061127b565b1561051f57604051638bf515e960e01b81526001600160601b03851660048201526024015b60405180910390fd5b61052883610336565b61055957604051632778739960e11b81526001600160601b038516600482015260ff84166024820152604401610516565b6105638483610a85565b61056d84826106cf565b60405163e74d052f60e01b81526001600160601b03851660048201526001600160a01b0387169063e74d052f90602401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061127b565b6106065760405163686c563560e11b81526001600160601b0385166004820152602401610516565b6040516305247a1760e51b81526001600160601b03851660048201526000906001600160a01b0388169063a48f42e090602401600060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067e91908101906113ac565b60400151905060ff808216908516146106c65760405163e3c5e85760e01b81526001600160601b038616600482015260ff808616602483015282166044820152606401610516565b50505050505050565b6106df816106db610366565b1090565b1561071e57816106ed610366565b604051637eed2aab60e01b81526001600160601b039092166004830152602482015260448101829052606401610516565b5050565b60008073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c8456001866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061147f565b886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061147f565b61080f919061149c565b6040516001600160e01b031960e085901b168152600481019290925260000b6024820152604401602060405180830381865af4158015610853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610877919061124d565b90506108838382610e05565b95945050505050565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091391906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610987919061127b565b6109af5760405163686c563560e11b81526001600160601b0386166004820152602401610516565b6109b98585610a85565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906114e0565b60408101805164ffffffffff90961690529396939550929350505050565b604051630319d08b60e21b815262f099c0600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c90602401610252565b60405163790a38ad60e01b815264ffffffffff8216600482015273__$71e292c09eace9601b3e21e68a1278917a$__9063790a38ad90602401602060405180830381865af4158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061127b565b15610b285760405163b7c4528f60e01b81526001600160601b0383166004820152602401610516565b610b3981610b34610218565b610e1a565b1561071e5781610b47610218565b6040516316eec12960e31b81526001600160601b03909216600483015264ffffffffff908116602483015282166044820152606401610516565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0891906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c919061127b565b610ca45760405163686c563560e11b81526001600160601b0386166004820152602401610516565b610cae85856106cf565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906114e0565b6060810180519590529396939550929350505050565b604051632c34efe560e11b81526001600160601b03831660048201526024810182905260009073__$3bac17678db7ae928afa209f2f44deec9c$__90635869dfca90604401602060405180830381865af4158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611555565b9392505050565b604051631488c84560e01b815260056004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044016103a5565b6000610dbb8383670de0b6b3a7640000610e9f565b6040516383ffcdef60e01b815264ffffffffff80841660048301528216602482015260009073__$71e292c09eace9601b3e21e68a1278917a$__906383ffcdef90604401602060405180830381865af4158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb919061127b565b6000808060001985870985870292508281108382030391505080600003610ed957838281610ecf57610ecf611572565b0492505050610dbb565b808411610f205760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610516565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160601b0381168114610f9d57600080fd5b50565b600060208284031215610fb257600080fd5b8135610dbb81610f88565b60ff81168114610f9d57600080fd5b600060208284031215610fde57600080fd5b8135610dbb81610fbd565b6001600160a01b0381168114610f9d57600080fd5b64ffffffffff81168114610f9d57600080fd5b60008060008060008060c0878903121561102a57600080fd5b863561103581610fe9565b9550602087013561104581610fe9565b9450604087013561105581610f88565b9350606087013561106581610fbd565b9250608087013561107581610ffe565b8092505060a087013590509295509295509295565b6000806040838503121561109d57600080fd5b82356110a881610f88565b946020939093013593505050565b6000806000606084860312156110cb57600080fd5b83356110d681610fe9565b925060208401356110e681610fe9565b929592945050506040919091013590565b60008060006060848603121561110c57600080fd5b833561111781610fe9565b9250602084013561112781610f88565b9150604084013561113781610ffe565b809150509250925092565b64ffffffffff8316815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b6000806040838503121561119b57600080fd5b82356111a681610f88565b915060208301356111b681610ffe565b809150509250929050565b6000806000606084860312156111d657600080fd5b83356111e181610fe9565b925060208401356110e681610f88565b82815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b60006020828403121561124257600080fd5b8151610dbb81610ffe565b60006020828403121561125f57600080fd5b5051919050565b8051801515811461127657600080fd5b919050565b60006020828403121561128d57600080fd5b610dbb82611266565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156112cf576112cf611296565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe611296565b604052919050565b805161127681610f88565b805161127681610fbd565b805161127681610fe9565b600082601f83011261133857600080fd5b815167ffffffffffffffff81111561135257611352611296565b6020611366601f8301601f191682016112d5565b828152858284870101111561137a57600080fd5b60005b8381101561139857858101830151828201840152820161137d565b506000928101909101919091529392505050565b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b9083019060e082860312156113ea57600080fd5b6113f26112ac565b6113fb83611306565b815261140960208401611306565b602082015261141a60408401611311565b604082015261142b60608401611266565b606082015261143c6080840161131c565b608082015261144d60a0840161131c565b60a082015260c08301518281111561146457600080fd5b61147087828601611327565b60c08301525095945050505050565b60006020828403121561149157600080fd5b8151610dbb81610fbd565b60ff828116828216039081111561033057634e487b7160e01b600052601160045260246000fd5b6000602082840312156114d557600080fd5b8151610dbb81610fe9565b6000608082840312156114f257600080fd5b6040516080810181811067ffffffffffffffff8211171561151557611515611296565b604052825161152381610fbd565b815260208381015190820152604083015161153d81610ffe565b60408201526060928301519281019290925250919050565b60006020828403121561156757600080fd5b8151610dbb81610f88565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220a2c09fa1a1b0a5b46bdfc1b43727d98e92767c8ddaaa43685fca076b5bb835ed64736f6c63430008140033",
|
454
|
+
"deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600436106100d95760003560e01c8063b7f3e12c11610096578063da86eb8011610070578063da86eb80146101b1578063e8e7a2b4146101c4578063f2bbb0a8146101e5578063f87bf3731461021057600080fd5b8063b7f3e12c14610175578063bf381be614610188578063c6edc3dd146101a957600080fd5b80633e7964a1146100de578063504a473d146101015780635bcf927a14610122578063658501a6146101455780639ed616cd1461014d578063aea958cf14610162575b600080fd5b6100e6610218565b60405164ffffffffff90911681526020015b60405180910390f35b61011461010f366004610fa0565b610298565b6040519081526020016100f8565b610135610130366004610fcc565b610336565b60405190151581526020016100f8565b610114610366565b61016061015b366004611011565b6103e6565b005b61016061017036600461108a565b6106cf565b6101146101833660046110b6565b610722565b61019b6101963660046110f7565b61088c565b6040516100f8929190611142565b6100e6610a48565b6101606101bf366004611188565b610a85565b6101d76101d23660046111c1565b610b81565b6040516100f89291906111f1565b6101f86101f336600461108a565b610d35565b6040516001600160601b0390911681526020016100f8565b610114610dc2565b604051630319d08b60e21b81526309660180600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c906024015b602060405180830381865af415801561026f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906102939190611230565b905090565b600073__$94a2c899be079b00d952d0d84fffaa5c34$__633889a4c86001600160601b038416601f6040516001600160e01b031960e085901b1681526001600160601b03909216600483015260ff166024820152604401602060405180830381865af415801561030c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610330919061124d565b92915050565b600060ff821660010361034b57506001919050565b60ff8216600a0361035e57506001919050565b506000919050565b604051631488c84560e01b815260216004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044015b602060405180830381865af41580156103c2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610293919061124d565b604051630a4d29dd60e31b81526001600160601b038516600482015273__$94a2c899be079b00d952d0d84fffaa5c34$__906352694ee890602401602060405180830381865af415801561043e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610462919061127b565b156104805760405163019dbc4d60e31b815260040160405180910390fd5b60405163134fc55b60e11b81526001600160601b03851660048201526001600160a01b0386169063269f8ab690602401602060405180830381865afa1580156104cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906104f1919061127b565b1561051f57604051638bf515e960e01b81526001600160601b03851660048201526024015b60405180910390fd5b61052883610336565b61055957604051632778739960e11b81526001600160601b038516600482015260ff84166024820152604401610516565b6105638483610a85565b61056d84826106cf565b60405163e74d052f60e01b81526001600160601b03851660048201526001600160a01b0387169063e74d052f90602401602060405180830381865afa1580156105ba573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906105de919061127b565b6106065760405163686c563560e11b81526001600160601b0385166004820152602401610516565b6040516305247a1760e51b81526001600160601b03851660048201526000906001600160a01b0388169063a48f42e090602401600060405180830381865afa158015610656573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261067e91908101906113ac565b60400151905060ff808216908516146106c65760405163e3c5e85760e01b81526001600160601b038616600482015260ff808616602483015282166044820152606401610516565b50505050505050565b6106df816106db610366565b1090565b1561071e57816106ed610366565b604051637eed2aab60e01b81526001600160601b039092166004830152602482015260448101829052606401610516565b5050565b60008073__$bf7bc340cbb9229ef1de2c568356e67902$__631488c8456001866001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa15801561077f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906107a3919061147f565b886001600160a01b031663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa1580156107e1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610805919061147f565b61080f919061149c565b6040516001600160e01b031960e085901b168152600481019290925260000b6024820152604401602060405180830381865af4158015610853573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610877919061124d565b90506108838382610e05565b95945050505050565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156108ef573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061091391906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610963573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610987919061127b565b6109af5760405163686c563560e11b81526001600160601b0386166004820152602401610516565b6109b98585610a85565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610a06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a2a91906114e0565b60408101805164ffffffffff90961690529396939550929350505050565b604051630319d08b60e21b815262f099c0600482015260009073__$71e292c09eace9601b3e21e68a1278917a$__90630c67422c90602401610252565b60405163790a38ad60e01b815264ffffffffff8216600482015273__$71e292c09eace9601b3e21e68a1278917a$__9063790a38ad90602401602060405180830381865af4158015610adb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aff919061127b565b15610b285760405163b7c4528f60e01b81526001600160601b0383166004820152602401610516565b610b3981610b34610218565b610e1a565b1561071e5781610b47610218565b6040516316eec12960e31b81526001600160601b03909216600483015264ffffffffff908116602483015282166044820152606401610516565b60408051608081018252600080825260208201819052918101829052606081018290526000856001600160a01b0316636291423a6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610be4573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c0891906114c3565b60405163134fc55b60e11b81526001600160601b03871660048201529091506001600160a01b0382169063269f8ab690602401602060405180830381865afa158015610c58573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c7c919061127b565b610ca45760405163686c563560e11b81526001600160601b0386166004820152602401610516565b610cae85856106cf565b60405163153d412560e31b81526001600160601b03861660048201526001600160a01b0382169063a9ea092890602401608060405180830381865afa158015610cfb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d1f91906114e0565b6060810180519590529396939550929350505050565b604051632c34efe560e11b81526001600160601b03831660048201526024810182905260009073__$3bac17678db7ae928afa209f2f44deec9c$__90635869dfca90604401602060405180830381865af4158015610d97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb9190611555565b9392505050565b604051631488c84560e01b815260056004820152600119602482015260009073__$bf7bc340cbb9229ef1de2c568356e67902$__90631488c845906044016103a5565b6000610dbb8383670de0b6b3a7640000610e9f565b6040516383ffcdef60e01b815264ffffffffff80841660048301528216602482015260009073__$71e292c09eace9601b3e21e68a1278917a$__906383ffcdef90604401602060405180830381865af4158015610e7b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dbb919061127b565b6000808060001985870985870292508281108382030391505080600003610ed957838281610ecf57610ecf611572565b0492505050610dbb565b808411610f205760405162461bcd60e51b81526020600482015260156024820152744d6174683a206d756c446976206f766572666c6f7760581b6044820152606401610516565b600084868809600260036001881981018916988990049182028318808302840302808302840302808302840302808302840302808302840302918202909203026000889003889004909101858311909403939093029303949094049190911702949350505050565b6001600160601b0381168114610f9d57600080fd5b50565b600060208284031215610fb257600080fd5b8135610dbb81610f88565b60ff81168114610f9d57600080fd5b600060208284031215610fde57600080fd5b8135610dbb81610fbd565b6001600160a01b0381168114610f9d57600080fd5b64ffffffffff81168114610f9d57600080fd5b60008060008060008060c0878903121561102a57600080fd5b863561103581610fe9565b9550602087013561104581610fe9565b9450604087013561105581610f88565b9350606087013561106581610fbd565b9250608087013561107581610ffe565b8092505060a087013590509295509295509295565b6000806040838503121561109d57600080fd5b82356110a881610f88565b946020939093013593505050565b6000806000606084860312156110cb57600080fd5b83356110d681610fe9565b925060208401356110e681610fe9565b929592945050506040919091013590565b60008060006060848603121561110c57600080fd5b833561111781610fe9565b9250602084013561112781610f88565b9150604084013561113781610ffe565b809150509250925092565b64ffffffffff8316815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b6000806040838503121561119b57600080fd5b82356111a681610f88565b915060208301356111b681610ffe565b809150509250929050565b6000806000606084860312156111d657600080fd5b83356111e181610fe9565b925060208401356110e681610f88565b82815260a08101610dbb602083018460ff81511682526020810151602083015264ffffffffff6040820151166040830152606081015160608301525050565b60006020828403121561124257600080fd5b8151610dbb81610ffe565b60006020828403121561125f57600080fd5b5051919050565b8051801515811461127657600080fd5b919050565b60006020828403121561128d57600080fd5b610dbb82611266565b634e487b7160e01b600052604160045260246000fd5b60405160e0810167ffffffffffffffff811182821017156112cf576112cf611296565b60405290565b604051601f8201601f1916810167ffffffffffffffff811182821017156112fe576112fe611296565b604052919050565b805161127681610f88565b805161127681610fbd565b805161127681610fe9565b600082601f83011261133857600080fd5b815167ffffffffffffffff81111561135257611352611296565b6020611366601f8301601f191682016112d5565b828152858284870101111561137a57600080fd5b60005b8381101561139857858101830151828201840152820161137d565b506000928101909101919091529392505050565b6000602082840312156113be57600080fd5b815167ffffffffffffffff808211156113d657600080fd5b9083019060e082860312156113ea57600080fd5b6113f26112ac565b6113fb83611306565b815261140960208401611306565b602082015261141a60408401611311565b604082015261142b60608401611266565b606082015261143c6080840161131c565b608082015261144d60a0840161131c565b60a082015260c08301518281111561146457600080fd5b61147087828601611327565b60c08301525095945050505050565b60006020828403121561149157600080fd5b8151610dbb81610fbd565b60ff828116828216039081111561033057634e487b7160e01b600052601160045260246000fd5b6000602082840312156114d557600080fd5b8151610dbb81610fe9565b6000608082840312156114f257600080fd5b6040516080810181811067ffffffffffffffff8211171561151557611515611296565b604052825161152381610fbd565b815260208381015190820152604083015161153d81610ffe565b60408201526060928301519281019290925250919050565b60006020828403121561156757600080fd5b8151610dbb81610f88565b634e487b7160e01b600052601260045260246000fdfea2646970667358221220a2c09fa1a1b0a5b46bdfc1b43727d98e92767c8ddaaa43685fca076b5bb835ed64736f6c63430008140033",
|
455
455
|
"linkReferences": {
|
456
456
|
"contracts/type/Amount.sol": {
|
457
457
|
"AmountLib": [
|
@@ -1,12 +1,15 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
4
|
+
import {Initializable} from "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
|
5
|
+
|
6
|
+
import {COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT, POOL, PRODUCT, DISTRIBUTION, DISTRIBUTOR, DISTRIBUTOR_TYPE, REFERRAL} from "../../type/ObjectType.sol";
|
7
|
+
import {ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, COLLATERALIZED, REVOKED, SUBMITTED, CONFIRMED, DECLINED, EXPECTED, PAID, FULFILLED, FAILED, CANCELLED} from "../../type/StateId.sol";
|
6
8
|
import {Lifecycle} from "../../shared/Lifecycle.sol";
|
7
9
|
|
8
10
|
contract ObjectLifecycle is
|
9
|
-
Lifecycle
|
11
|
+
Lifecycle,
|
12
|
+
Initializable
|
10
13
|
{
|
11
14
|
function _initializeLifecycle() internal onlyInitializing
|
12
15
|
{
|
@@ -14,83 +17,90 @@ contract ObjectLifecycle is
|
|
14
17
|
}
|
15
18
|
|
16
19
|
function _setupLifecycle()
|
17
|
-
|
20
|
+
internal
|
21
|
+
override
|
18
22
|
{
|
19
23
|
_setupBundleLifecycle();
|
20
24
|
_setupComponentLifecycle();
|
21
25
|
_setupPolicyLifecycle();
|
22
|
-
|
26
|
+
_setupClaimLifecycle();
|
27
|
+
_setupPayoutLifecycle();
|
23
28
|
_setupRiskLifecycle();
|
24
29
|
_setupRequestLifecycle();
|
30
|
+
|
31
|
+
// setup dummy lifecycles to manage with key value store
|
25
32
|
_setUpPoolLifecycle();
|
26
33
|
_setUpProductLifecycle();
|
27
34
|
_setUpDistributionLifecycle();
|
28
35
|
}
|
29
36
|
|
30
37
|
function _setupComponentLifecycle() private {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
38
|
+
setInitialState(COMPONENT(), ACTIVE());
|
39
|
+
setStateTransition(COMPONENT(), ACTIVE(), PAUSED());
|
40
|
+
setStateTransition(COMPONENT(), PAUSED(), ACTIVE());
|
41
|
+
setStateTransition(COMPONENT(), PAUSED(), ARCHIVED());
|
35
42
|
}
|
36
43
|
|
37
44
|
function _setupBundleLifecycle() private {
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
45
|
+
setInitialState(BUNDLE(), ACTIVE());
|
46
|
+
setStateTransition(BUNDLE(), ACTIVE(), PAUSED());
|
47
|
+
setStateTransition(BUNDLE(), ACTIVE(), CLOSED());
|
48
|
+
setStateTransition(BUNDLE(), PAUSED(), ACTIVE());
|
49
|
+
setStateTransition(BUNDLE(), PAUSED(), CLOSED());
|
43
50
|
}
|
44
51
|
|
45
52
|
function _setupPolicyLifecycle() private {
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
+
setInitialState(POLICY(), APPLIED());
|
54
|
+
setStateTransition(POLICY(), APPLIED(), REVOKED());
|
55
|
+
setStateTransition(POLICY(), APPLIED(), DECLINED());
|
56
|
+
setStateTransition(POLICY(), APPLIED(), COLLATERALIZED());
|
57
|
+
setStateTransition(POLICY(), APPLIED(), ACTIVE());
|
58
|
+
setStateTransition(POLICY(), COLLATERALIZED(), ACTIVE());
|
59
|
+
setStateTransition(POLICY(), ACTIVE(), CLOSED());
|
53
60
|
}
|
54
61
|
|
55
|
-
function
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
62
|
+
function _setupClaimLifecycle() private {
|
63
|
+
setInitialState(CLAIM(), SUBMITTED());
|
64
|
+
setStateTransition(CLAIM(), SUBMITTED(), CONFIRMED());
|
65
|
+
setStateTransition(CLAIM(), SUBMITTED(), DECLINED());
|
66
|
+
setStateTransition(CLAIM(), CONFIRMED(), CLOSED());
|
67
|
+
}
|
60
68
|
|
61
|
-
|
62
|
-
|
69
|
+
function _setupPayoutLifecycle() private {
|
70
|
+
setInitialState(PAYOUT(), EXPECTED());
|
71
|
+
setStateTransition(PAYOUT(), EXPECTED(), PAID());
|
63
72
|
}
|
64
73
|
|
65
74
|
function _setupRiskLifecycle() private {
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
75
|
+
setInitialState(RISK(), ACTIVE());
|
76
|
+
setStateTransition(RISK(), ACTIVE(), PAUSED());
|
77
|
+
setStateTransition(RISK(), PAUSED(), ACTIVE());
|
78
|
+
setStateTransition(RISK(), PAUSED(), ARCHIVED());
|
70
79
|
}
|
71
80
|
|
72
81
|
function _setupRequestLifecycle() private {
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
|
82
|
+
setInitialState(REQUEST(), ACTIVE());
|
83
|
+
setStateTransition(REQUEST(), ACTIVE(), FULFILLED());
|
84
|
+
setStateTransition(REQUEST(), ACTIVE(), FAILED());
|
85
|
+
setStateTransition(REQUEST(), FAILED(), FULFILLED());
|
86
|
+
setStateTransition(REQUEST(), ACTIVE(), CANCELLED());
|
78
87
|
}
|
79
88
|
|
80
|
-
//
|
89
|
+
// dummy lifecycle only
|
81
90
|
function _setUpPoolLifecycle() private {
|
82
|
-
|
91
|
+
setInitialState(POOL(), ACTIVE());
|
83
92
|
}
|
84
93
|
|
94
|
+
// dummy lifecycle only
|
85
95
|
function _setUpProductLifecycle() private {
|
86
|
-
|
96
|
+
setInitialState(PRODUCT(), ACTIVE());
|
87
97
|
}
|
88
98
|
|
99
|
+
// dummy lifecycles only
|
89
100
|
function _setUpDistributionLifecycle() private {
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
101
|
+
setInitialState(DISTRIBUTION(), ACTIVE());
|
102
|
+
setInitialState(DISTRIBUTOR(), ACTIVE());
|
103
|
+
setInitialState(DISTRIBUTOR_TYPE(), ACTIVE());
|
104
|
+
setInitialState(REFERRAL(), ACTIVE());
|
94
105
|
}
|
95
|
-
|
96
106
|
}
|
@@ -224,9 +224,11 @@ contract RegistryAdmin is
|
|
224
224
|
|
225
225
|
// for ReleaseManager
|
226
226
|
Function[] memory functions;
|
227
|
-
functions = new Function[](
|
227
|
+
functions = new Function[](4);
|
228
228
|
functions[0] = toFunction(ReleaseManager.createNextRelease.selector, "createNextRelease");
|
229
229
|
functions[1] = toFunction(ReleaseManager.activateNextRelease.selector, "activateNextRelease");
|
230
|
+
functions[2] = toFunction(ReleaseManager.pauseRelease.selector, "pauseRelease");
|
231
|
+
functions[3] = toFunction(ReleaseManager.unpauseRelease.selector, "unpauseRelease");
|
230
232
|
_authorizeTargetFunctions(_releaseManager, GIF_ADMIN_ROLE(), functions);
|
231
233
|
|
232
234
|
// for Staking
|
@@ -13,16 +13,15 @@ contract ReleaseLifecycle is
|
|
13
13
|
}
|
14
14
|
|
15
15
|
function _setupLifecycle()
|
16
|
-
|
16
|
+
internal
|
17
|
+
override
|
17
18
|
{
|
18
|
-
|
19
|
+
setInitialState(RELEASE(), SCHEDULED());
|
19
20
|
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
_isValidTransition[RELEASE()][PAUSED()][CLOSED()] = true;
|
26
|
-
//_isValidTransition[RELEASE()][ACTIVE()][FREE()] = true;
|
21
|
+
setStateTransition(RELEASE(), SCHEDULED(), DEPLOYING());
|
22
|
+
setStateTransition(RELEASE(), DEPLOYING(), DEPLOYING());
|
23
|
+
setStateTransition(RELEASE(), DEPLOYING(), ACTIVE());
|
24
|
+
setStateTransition(RELEASE(), ACTIVE(), PAUSED());
|
25
|
+
setStateTransition(RELEASE(), PAUSED(), ACTIVE());
|
27
26
|
}
|
28
27
|
}
|
@@ -47,7 +47,6 @@ contract ReleaseManager is
|
|
47
47
|
event LogReleaseActivation(VersionPart version);
|
48
48
|
event LogReleaseDisabled(VersionPart version);
|
49
49
|
event LogReleaseEnabled(VersionPart version);
|
50
|
-
event LogReleaseClosed(VersionPart version);
|
51
50
|
|
52
51
|
// constructor
|
53
52
|
error ErrorReleaseManagerNotRegistry(Registry registry);
|
@@ -348,23 +347,6 @@ contract ReleaseManager is
|
|
348
347
|
|
349
348
|
emit LogReleaseEnabled(version);
|
350
349
|
}
|
351
|
-
/// @dev permanently disable release
|
352
|
-
function closeRelease(VersionPart version)
|
353
|
-
external
|
354
|
-
restricted // GIF_ADMIN_ROLE
|
355
|
-
{
|
356
|
-
StateId state = _state[version];
|
357
|
-
StateId newState = CLOSED();
|
358
|
-
|
359
|
-
// verify release in state PAUSED
|
360
|
-
if (!isValidTransition(RELEASE(), state, newState)) {
|
361
|
-
revert ErrorReleaseManagerReleaseActivationDisallowed(version, state);
|
362
|
-
}
|
363
|
-
|
364
|
-
_state[version] = newState;
|
365
|
-
|
366
|
-
emit LogReleaseClosed(version);
|
367
|
-
}
|
368
350
|
|
369
351
|
//--- view functions ----------------------------------------------------//
|
370
352
|
|
@@ -382,7 +364,7 @@ contract ReleaseManager is
|
|
382
364
|
}
|
383
365
|
|
384
366
|
function isActiveRelease(VersionPart version) public view returns(bool) {
|
385
|
-
return
|
367
|
+
return _state[version] == ACTIVE();
|
386
368
|
}
|
387
369
|
|
388
370
|
function getReleaseInfo(VersionPart version) external view returns(IRegistry.ReleaseInfo memory) {
|
@@ -409,12 +391,10 @@ contract ReleaseManager is
|
|
409
391
|
return _servicesToRegister - _registeredServices;
|
410
392
|
}
|
411
393
|
|
412
|
-
|
413
|
-
|
414
|
-
// return _releaseAccessManager[version];
|
394
|
+
function getReleaseAccessManager(VersionPart version) external view returns(address) {
|
395
|
+
return _releaseAccessManager[version];
|
415
396
|
}
|
416
397
|
|
417
|
-
// TODO token registry knows nothing about adfmin, only registry
|
418
398
|
function getRegistryAdmin() external view returns (address) {
|
419
399
|
return address(_admin);
|
420
400
|
}
|
@@ -511,7 +491,7 @@ contract ReleaseManager is
|
|
511
491
|
return false;
|
512
492
|
}
|
513
493
|
// TODO try catch and return false in case of revert
|
514
|
-
//
|
494
|
+
// or just panic
|
515
495
|
// check if contract returns a zero nft id for its own address
|
516
496
|
if (IRegistry(registryAddress).getNftId(registryAddress).eqz()) {
|
517
497
|
return false;
|
@@ -11,7 +11,7 @@ import {Timestamp, TimestampLib} from "../type/Timestamp.sol";
|
|
11
11
|
import {Lifecycle} from "./Lifecycle.sol";
|
12
12
|
import {IKeyValueStore} from "./IKeyValueStore.sol";
|
13
13
|
|
14
|
-
contract KeyValueStore is
|
14
|
+
abstract contract KeyValueStore is
|
15
15
|
Lifecycle,
|
16
16
|
IKeyValueStore
|
17
17
|
{
|
@@ -1,25 +1,31 @@
|
|
1
1
|
// SPDX-License-Identifier: Apache-2.0
|
2
2
|
pragma solidity ^0.8.20;
|
3
3
|
|
4
|
-
import {
|
5
|
-
|
6
|
-
import {NftId} from "../type/NftId.sol";
|
7
|
-
import {ObjectType, COMPONENT, BUNDLE, POLICY, REQUEST, RISK, CLAIM, PAYOUT} from "../type/ObjectType.sol";
|
8
|
-
import {StateId, ACTIVE, PAUSED, ARCHIVED, CLOSED, APPLIED, COLLATERALIZED, REVOKED, SUBMITTED, CONFIRMED, DECLINED, EXPECTED, PAID, FULFILLED, FAILED, CANCELLED} from "../type/StateId.sol";
|
4
|
+
import {ObjectType} from "../type/ObjectType.sol";
|
5
|
+
import {StateId, zeroStateId} from "../type/StateId.sol";
|
9
6
|
import {ILifecycle} from "./ILifecycle.sol";
|
10
7
|
|
11
8
|
abstract contract Lifecycle is
|
12
|
-
Initializable,
|
13
9
|
ILifecycle
|
14
10
|
{
|
15
|
-
// TODO make private
|
16
11
|
mapping(ObjectType objectType => StateId initialState)
|
17
|
-
|
12
|
+
private _initialState;
|
18
13
|
|
19
14
|
mapping(ObjectType objectType => mapping(StateId stateFrom => mapping(StateId stateTo => bool isValid)))
|
20
|
-
|
15
|
+
private _isValidTransition;
|
16
|
+
|
17
|
+
/// @dev child class must implement and CALL setup func at deployment/initializaton time
|
18
|
+
function _setupLifecycle() internal virtual;
|
21
19
|
|
22
|
-
|
20
|
+
function setInitialState(ObjectType ttype, StateId state) internal virtual {
|
21
|
+
assert(_initialState[ttype] == zeroStateId());
|
22
|
+
_initialState[ttype] = state;
|
23
|
+
}
|
24
|
+
|
25
|
+
function setStateTransition(ObjectType ttype, StateId oldState, StateId newState) internal virtual {
|
26
|
+
assert(_isValidTransition[ttype][oldState][newState] == false);
|
27
|
+
_isValidTransition[ttype][oldState][newState] = true;
|
28
|
+
}
|
23
29
|
|
24
30
|
function hasLifecycle(
|
25
31
|
ObjectType objectType
|