diff --git a/cache/solidity-files-cache.json b/cache/solidity-files-cache.json index 6f7439b..12a5c04 100644 --- a/cache/solidity-files-cache.json +++ b/cache/solidity-files-cache.json @@ -1,12 +1,99 @@ { "_format": "hh-sol-cache-2", "files": { + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ISortition.sol": { + "lastModificationDate": 1729942398074, + "contentHash": "81fe09c0ff335e32e8f95dc1764c72fc", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ISortition.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": ["./IBn256.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": [] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IBn256.sol": { + "lastModificationDate": 1729942383904, + "contentHash": "f3307d9c5538a6de467dbf367a46e3b1", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IBn256.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": [] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFixedPointArithmetic.sol": { + "lastModificationDate": 1729942391936, + "contentHash": "bf49ebebf5d9e9bc486b5555c482bbe7", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFixedPointArithmetic.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": [] + }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\contracts\\Escrow.sol": { - "lastModificationDate": 1729874629025, + "lastModificationDate": 1729942337270, "contentHash": "8017bf5de650f4131e761b0ee65e80a5", "sourceName": "contracts/Escrow.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -21,27 +108,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.8.2 <0.9.0" - ], - "artifacts": [ - "Escrow" - ] + "versionPragmas": [">=0.8.2 <0.9.0"], + "artifacts": ["Escrow"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\contracts\\EventManager.sol": { - "lastModificationDate": 1729875219986, - "contentHash": "ff95b2d27884dfd22b371a5d274da7ae", + "lastModificationDate": 1729942674734, + "contentHash": "f211c6305272f752701edbc44ac26721", "sourceName": "contracts/EventManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -56,27 +137,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.8.2 <0.9.0" - ], - "artifacts": [ - "EventManager" - ] + "versionPragmas": [">=0.8.2 <0.9.0"], + "artifacts": ["EventManager"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\contracts\\FlareOracle.sol": { - "lastModificationDate": 1729874629025, + "lastModificationDate": 1729942337272, "contentHash": "2526038a459bb55e7396817deb473f64", "sourceName": "contracts/FlareOracle.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -91,9 +166,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -102,54 +175,15 @@ "@flarenetwork/flare-periphery-contracts/coston2/ContractRegistry.sol", "@flarenetwork/flare-periphery-contracts/coston2/TestFtsoV2Interface.sol" ], - "versionPragmas": [ - ">=0.8.0 <0.9.0" - ], - "artifacts": [ - "FtsoV2FeedConsumer" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\TestFtsoV2Interface.sol": { - "lastModificationDate": 1729874182659, - "contentHash": "e37208d8b92a76ab014c03df2ab34dca", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/TestFtsoV2Interface.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "TestFtsoV2Interface" - ] + "versionPragmas": [">=0.8.0 <0.9.0"], + "artifacts": ["FtsoV2FeedConsumer"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ContractRegistry.sol": { - "lastModificationDate": 1729874157291, + "lastModificationDate": 1729942377684, "contentHash": "6786a5d4608433fbb81492dbdc4814df", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ContractRegistry.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -164,9 +198,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -216,19 +248,15 @@ "./RandomNumberV2Interface.sol", "./RewardsV2Interface.sol" ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "ContractRegistry" - ] + "versionPragmas": ["^0.8.0"], + "artifacts": ["ContractRegistry"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVoterWhitelister.sol": { - "lastModificationDate": 1729874181861, - "contentHash": "666aa099ca75ac30e0d4b4246a0e9b1c", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVoterWhitelister.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\TestFtsoV2Interface.sol": { + "lastModificationDate": 1729942399328, + "contentHash": "e37208d8b92a76ab014c03df2ab34dca", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/TestFtsoV2Interface.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -243,27 +271,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IVoterWhitelister" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["TestFtsoV2Interface"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPriceSubmitter.sol": { - "lastModificationDate": 1729874180090, + "lastModificationDate": 1729942397697, "contentHash": "d333aeddfe65d8c22265935d873d6f3b", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPriceSubmitter.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -278,9 +300,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -290,19 +310,15 @@ "./genesis/interface/IFtsoRegistryGenesis.sol", "./genesis/interface/IFtsoManagerGenesis.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPriceSubmitter" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPriceSubmitter"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareContractRegistry.sol": { - "lastModificationDate": 1729874165501, + "lastModificationDate": 1729942392604, "contentHash": "66432d995c94bdef8a57349adab18a69", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareContractRegistry.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -317,135 +333,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFlareContractRegistry" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IGovernanceSettings.sol": { - "lastModificationDate": 1729874174371, - "contentHash": "3d6422a752bb9b572fc5f6b129523d77", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IGovernanceSettings.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IGovernanceSettings" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IWNat.sol": { - "lastModificationDate": 1729874182123, - "contentHash": "86c55906a9470e83551c7ab7af1b9858", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IWNat.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IVPToken.sol", - "./token/interface/IICleanable.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IWNat" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IDistributionToDelegators.sol": { - "lastModificationDate": 1729874162002, - "contentHash": "824c7bc04dbd13517d09e1a481906c83", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IDistributionToDelegators.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IDistributionToDelegators" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFlareContractRegistry"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoRegistry.sol": { - "lastModificationDate": 1729874172905, + "lastModificationDate": 1729942395219, "contentHash": "1f025414a37439832a1cc1cedaef1883", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoRegistry.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -460,9 +362,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -471,19 +371,15 @@ "./ftso/interface/IIFtso.sol", "./genesis/interface/IFtsoRegistryGenesis.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoRegistry" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoRegistry"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoManager.sol": { - "lastModificationDate": 1729874171536, - "contentHash": "b54321d7fc578d90929c89e937932dd9", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoManager.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IWNat.sol": { + "lastModificationDate": 1729942398630, + "contentHash": "86c55906a9470e83551c7ab7af1b9858", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IWNat.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -498,9 +394,181 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": ["./IVPToken.sol", "./token/interface/IICleanable.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IWNat"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoRewardManager.sol": { + "lastModificationDate": 1729942395444, + "contentHash": "9ad327d33e6a9cfe08bd1d8b7563bf3e", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoRewardManager.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoRewardManager"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IGovernanceVotePower.sol": { + "lastModificationDate": 1729942395811, + "contentHash": "908cbc6470c161e05605ad556bb7144d", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IGovernanceVotePower.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IGovernanceVotePower"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IGovernanceSettings.sol": { + "lastModificationDate": 1729942395728, + "contentHash": "3d6422a752bb9b572fc5f6b129523d77", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IGovernanceSettings.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IGovernanceSettings"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IDistributionToDelegators.sol": { + "lastModificationDate": 1729942388110, + "contentHash": "824c7bc04dbd13517d09e1a481906c83", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IDistributionToDelegators.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IDistributionToDelegators"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareAssetRegistry.sol": { + "lastModificationDate": 1729942392260, + "contentHash": "9c158fd42b512d4ecfb4fbfb1ca06139", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareAssetRegistry.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFlareAssetRegistry"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoManager.sol": { + "lastModificationDate": 1729942395035, + "contentHash": "b54321d7fc578d90929c89e937932dd9", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoManager.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } @@ -509,19 +577,15 @@ "./ftso/interface/IIFtso.sol", "./genesis/interface/IFtsoManagerGenesis.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoManager" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoManager"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IClaimSetupManager.sol": { - "lastModificationDate": 1729874161229, + "lastModificationDate": 1729942386830, "contentHash": "8f99f83895a9da4a2d401f6b41e0d972", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IClaimSetupManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -536,9 +600,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -547,124 +609,15 @@ "./IDelegationAccount.sol", "@openzeppelin/contracts/token/ERC20/IERC20.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IClaimSetupManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IGovernanceVotePower.sol": { - "lastModificationDate": 1729874174868, - "contentHash": "908cbc6470c161e05605ad556bb7144d", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IGovernanceVotePower.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IGovernanceVotePower" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IValidatorRegistry.sol": { - "lastModificationDate": 1729874181571, - "contentHash": "481536991812748c9995b34e25d87108", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IValidatorRegistry.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IValidatorRegistry" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareAssetRegistry.sol": { - "lastModificationDate": 1729874164724, - "contentHash": "9c158fd42b512d4ecfb4fbfb1ca06139", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareAssetRegistry.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFlareAssetRegistry" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IClaimSetupManager"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IGenericRewardManager.sol": { - "lastModificationDate": 1729874174197, + "lastModificationDate": 1729942395642, "contentHash": "0a90708b5aa1514571d14baf66095e1a", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IGenericRewardManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -679,27 +632,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IGenericRewardManager" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IGenericRewardManager"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoRewardManager.sol": { - "lastModificationDate": 1729874173793, - "contentHash": "9ad327d33e6a9cfe08bd1d8b7563bf3e", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoRewardManager.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IValidatorRegistry.sol": { + "lastModificationDate": 1729942398150, + "contentHash": "481536991812748c9995b34e25d87108", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IValidatorRegistry.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -714,135 +661,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoRewardManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainStakeMirrorVerifier.sol": { - "lastModificationDate": 1729874179627, - "contentHash": "aeafcd3d0b8d62fda77e619b56d0fbc6", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainStakeMirrorVerifier.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPChainStakeMirrorVerifier" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPollingFtso.sol": { - "lastModificationDate": 1729874179957, - "contentHash": "f304295d2213a79de1f43a2e205ae877", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPollingFtso.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPollingFtso" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainStakeMirror.sol": { - "lastModificationDate": 1729874179488, - "contentHash": "86af52806017fbf2efda037720260911", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainStakeMirror.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IPChainVotePower.sol", - "./IPChainStakeMirrorVerifier.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPChainStakeMirror" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IValidatorRegistry"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IAddressBinder.sol": { - "lastModificationDate": 1729874159189, + "lastModificationDate": 1729942382502, "contentHash": "14ea3812e349acc9629446bb1e1864c9", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IAddressBinder.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -857,27 +690,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IAddressBinder" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IAddressBinder"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareSystemsCalculator.sol": { - "lastModificationDate": 1729874167431, - "contentHash": "368352479e77210f7040c7b0b528aaf6", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareSystemsCalculator.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPollingFtso.sol": { + "lastModificationDate": 1729942397653, + "contentHash": "f304295d2213a79de1f43a2e205ae877", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPollingFtso.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -892,27 +719,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFlareSystemsCalculator" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPollingFtso"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainStakeMirrorMultiSigVoting.sol": { - "lastModificationDate": 1729874179543, + "lastModificationDate": 1729942397578, "contentHash": "5f0d56228ade72cddb2ca3dd6ad28da0", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainStakeMirrorMultiSigVoting.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -927,27 +748,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPChainStakeMirrorMultiSigVoting" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPChainStakeMirrorMultiSigVoting"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IEntityManager.sol": { - "lastModificationDate": 1729874162252, - "contentHash": "6a4668e991c53b185442f136cb5ba14f", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IEntityManager.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainStakeMirrorVerifier.sol": { + "lastModificationDate": 1729942397597, + "contentHash": "aeafcd3d0b8d62fda77e619b56d0fbc6", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainStakeMirrorVerifier.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -962,27 +777,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IEntityManager" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPChainStakeMirrorVerifier"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRewardManager.sol": { - "lastModificationDate": 1729874180804, - "contentHash": "be6dd50a8e4830bb5eac08653c396bcf", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRewardManager.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainStakeMirror.sol": { + "lastModificationDate": 1729942397561, + "contentHash": "86af52806017fbf2efda037720260911", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainStakeMirror.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -997,101 +806,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "./RewardsV2Interface.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IRewardManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareSystemsManager.sol": { - "lastModificationDate": 1729874167995, - "contentHash": "ba1a4f3491d2a58b798740b58f8769fe", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareSystemsManager.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./ProtocolsV2Interface.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFlareSystemsManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVoterRegistry.sol": { - "lastModificationDate": 1729874181733, - "contentHash": "a393fd22c141b5b314c844e2830d92fe", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVoterRegistry.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IVoterRegistry" - ] + "imports": ["./IPChainVotePower.sol", "./IPChainStakeMirrorVerifier.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPChainStakeMirror"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ISubmission.sol": { - "lastModificationDate": 1729874181496, + "lastModificationDate": 1729942398110, "contentHash": "df8351f9e3232e8df6f6e80cc1b1e2c9", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ISubmission.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1106,29 +835,108 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "./IRandomProvider.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "ISubmission" - ] + "imports": ["./IRandomProvider.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["ISubmission"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareSystemsCalculator.sol": { + "lastModificationDate": 1729942393306, + "contentHash": "368352479e77210f7040c7b0b528aaf6", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareSystemsCalculator.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFlareSystemsCalculator"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IEntityManager.sol": { + "lastModificationDate": 1729942388667, + "contentHash": "6a4668e991c53b185442f136cb5ba14f", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IEntityManager.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IEntityManager"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVoterRegistry.sol": { + "lastModificationDate": 1729942398294, + "contentHash": "a393fd22c141b5b314c844e2830d92fe", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVoterRegistry.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IVoterRegistry"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IWNatDelegationFee.sol": { - "lastModificationDate": 1729874182203, + "lastModificationDate": 1729942398682, "contentHash": "d485dbec165b37f45c70a550df3d3d2f", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IWNatDelegationFee.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1143,132 +951,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IWNatDelegationFee" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoInflationConfigurations.sol": { - "lastModificationDate": 1729874170831, - "contentHash": "3a193e07233cf50b6daadf75a54764ec", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoInflationConfigurations.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoInflationConfigurations" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoRewardOffersManager.sol": { - "lastModificationDate": 1729874174009, - "contentHash": "530127323c60b18028a3c21a0fcabf0e", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoRewardOffersManager.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoRewardOffersManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoFeedPublisher.sol": { - "lastModificationDate": 1729874170068, - "contentHash": "954e2dc14cba44616f7573956355829e", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoFeedPublisher.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoFeedPublisher" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IWNatDelegationFee"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRelay.sol": { - "lastModificationDate": 1729874180668, + "lastModificationDate": 1729942397820, "contentHash": "991b86ed9f48fa9b234539a2e253ae50", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRelay.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1283,29 +980,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "./RandomNumberV2Interface.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IRelay" - ] + "imports": ["./RandomNumberV2Interface.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IRelay"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFeeCalculator.sol": { - "lastModificationDate": 1729874164040, - "contentHash": "5cbc28938421fe04f818796746c34267", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFeeCalculator.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRewardManager.sol": { + "lastModificationDate": 1729942397864, + "contentHash": "be6dd50a8e4830bb5eac08653c396bcf", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRewardManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1320,27 +1009,79 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": ["./RewardsV2Interface.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IRewardManager"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFlareSystemsManager.sol": { + "lastModificationDate": 1729942393500, + "contentHash": "ba1a4f3491d2a58b798740b58f8769fe", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFlareSystemsManager.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": ["./ProtocolsV2Interface.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFlareSystemsManager"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoFeedDecimals.sol": { + "lastModificationDate": 1729942393911, + "contentHash": "83c66613e0cb473d3a7f99ddc2ab6860", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoFeedDecimals.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFeeCalculator" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoFeedDecimals"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdater.sol": { - "lastModificationDate": 1729874163337, - "contentHash": "be1143be7ec4b588283baa5f745f1d0a", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdater.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoRewardOffersManager.sol": { + "lastModificationDate": 1729942395556, + "contentHash": "530127323c60b18028a3c21a0fcabf0e", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoRewardOffersManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1355,29 +1096,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "./ISortition.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFastUpdater" - ] + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoRewardOffersManager"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdateIncentiveManager.sol": { - "lastModificationDate": 1729874163014, - "contentHash": "34eb7a4a41076dfb068ede3adcac6178", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdateIncentiveManager.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoFeedPublisher.sol": { + "lastModificationDate": 1729942394437, + "contentHash": "954e2dc14cba44616f7573956355829e", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoFeedPublisher.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1392,9 +1125,65 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoFeedPublisher"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoInflationConfigurations.sol": { + "lastModificationDate": 1729942394901, + "contentHash": "3a193e07233cf50b6daadf75a54764ec", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoInflationConfigurations.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoInflationConfigurations"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdateIncentiveManager.sol": { + "lastModificationDate": 1729942389419, + "contentHash": "34eb7a4a41076dfb068ede3adcac6178", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdateIncentiveManager.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } @@ -1404,19 +1193,15 @@ "./IFastUpdatesConfiguration.sol", "./IIncreaseManager.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFastUpdateIncentiveManager" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFastUpdateIncentiveManager"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdatesConfiguration.sol": { - "lastModificationDate": 1729874163747, - "contentHash": "317bcbe67b102043af13be5b722dec20", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdatesConfiguration.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdater.sol": { + "lastModificationDate": 1729942389861, + "contentHash": "be1143be7ec4b588283baa5f745f1d0a", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdater.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1431,27 +1216,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFastUpdatesConfiguration" - ] + "imports": ["./ISortition.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFastUpdater"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\RandomNumberV2Interface.sol": { - "lastModificationDate": 1729874182399, - "contentHash": "7a59e6d96dfb250e513dd3bed5d26225", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/RandomNumberV2Interface.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFeeCalculator.sol": { + "lastModificationDate": 1729942391564, + "contentHash": "5cbc28938421fe04f818796746c34267", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFeeCalculator.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1466,27 +1245,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "RandomNumberV2Interface" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFeeCalculator"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoFeedIdConverter.sol": { - "lastModificationDate": 1729874169738, + "lastModificationDate": 1729942394076, "contentHash": "a848e72b6b0013ee3ac79f0d7ce5129c", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoFeedIdConverter.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1501,27 +1274,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoFeedIdConverter" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoFeedIdConverter"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRNat.sol": { - "lastModificationDate": 1729874180954, - "contentHash": "a8643b068ed0a7610011cd856cd6397b", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRNat.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFastUpdatesConfiguration.sol": { + "lastModificationDate": 1729942390778, + "contentHash": "317bcbe67b102043af13be5b722dec20", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFastUpdatesConfiguration.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1536,9 +1303,36 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFastUpdatesConfiguration"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRNat.sol": { + "lastModificationDate": 1729942397975, + "contentHash": "a8643b068ed0a7610011cd856cd6397b", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRNat.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } @@ -1548,54 +1342,15 @@ "./IWNat.sol", "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IRNat" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtsoFeedDecimals.sol": { - "lastModificationDate": 1729874169207, - "contentHash": "83c66613e0cb473d3a7f99ddc2ab6860", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtsoFeedDecimals.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoFeedDecimals" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IRNat"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ProtocolsV2Interface.sol": { - "lastModificationDate": 1729874182303, + "lastModificationDate": 1729942398919, "contentHash": "e69a09fd86c1f0026b081be7d0ed92d8", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ProtocolsV2Interface.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1610,27 +1365,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "ProtocolsV2Interface" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["ProtocolsV2Interface"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\RewardsV2Interface.sol": { - "lastModificationDate": 1729874182576, - "contentHash": "e437ec05d4f23ceb1b72454d4d87356a", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/RewardsV2Interface.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVoterWhitelister.sol": { + "lastModificationDate": 1729942398345, + "contentHash": "666aa099ca75ac30e0d4b4246a0e9b1c", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVoterWhitelister.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1645,27 +1394,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "RewardsV2Interface" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IVoterWhitelister"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\FtsoV2Interface.sol": { - "lastModificationDate": 1729874158780, + "lastModificationDate": 1729942380849, "contentHash": "200d81a8bcff0c592fdcc261dbf4c43c", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/FtsoV2Interface.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1680,27 +1423,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "FtsoV2Interface" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["FtsoV2Interface"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\genesis\\interface\\IFtsoManagerGenesis.sol": { - "lastModificationDate": 1729874172326, - "contentHash": "01516c640f70ae764a5a53db33f17257", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/genesis/interface/IFtsoManagerGenesis.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\RandomNumberV2Interface.sol": { + "lastModificationDate": 1729942399004, + "contentHash": "7a59e6d96dfb250e513dd3bed5d26225", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/RandomNumberV2Interface.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1715,27 +1452,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoManagerGenesis" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["RandomNumberV2Interface"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\genesis\\interface\\IFtsoGenesis.sol": { - "lastModificationDate": 1729874170436, - "contentHash": "1281e01bbe1cdfb4970a20deceeadba7", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/genesis/interface/IFtsoGenesis.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\RewardsV2Interface.sol": { + "lastModificationDate": 1729942399114, + "contentHash": "e437ec05d4f23ceb1b72454d4d87356a", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/RewardsV2Interface.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1750,27 +1481,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoGenesis" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["RewardsV2Interface"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\genesis\\interface\\IFtsoRegistryGenesis.sol": { - "lastModificationDate": 1729874173461, + "lastModificationDate": 1729942395306, "contentHash": "daf0fdff2cd698a1e95f75d8202626c0", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/genesis/interface/IFtsoRegistryGenesis.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1785,29 +1510,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "./IFtsoGenesis.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtsoRegistryGenesis" - ] + "imports": ["./IFtsoGenesis.sol"], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoRegistryGenesis"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVPToken.sol": { - "lastModificationDate": 1729874182036, - "contentHash": "bc9bcb45c382244b3f286d3150f7b14d", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVPToken.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\genesis\\interface\\IFtsoGenesis.sol": { + "lastModificationDate": 1729942394598, + "contentHash": "1281e01bbe1cdfb4970a20deceeadba7", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/genesis/interface/IFtsoGenesis.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1822,66 +1539,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "@openzeppelin/contracts/token/ERC20/IERC20.sol", - "./IGovernanceVotePower.sol", - "./IVPContractEvents.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IVPToken" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IICleanable.sol": { - "lastModificationDate": 1729874175479, - "contentHash": "cb560dd0b1683c03c1e2abddf166dfed", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IICleanable.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IICleanable" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoGenesis"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@openzeppelin\\contracts\\token\\ERC20\\IERC20.sol": { - "lastModificationDate": 1729874181485, - "contentHash": "df36f7051335cd1e748b1b6463b7fdd3", - "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\genesis\\interface\\IFtsoManagerGenesis.sol": { + "lastModificationDate": 1729942395138, + "contentHash": "01516c640f70ae764a5a53db33f17257", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/genesis/interface/IFtsoManagerGenesis.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1896,62 +1568,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVPContractEvents.sol": { - "lastModificationDate": 1729874181961, - "contentHash": "45b7fa7ca08b377cbfe56b63cd9fe1fc", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVPContractEvents.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IVPContractEvents" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtsoManagerGenesis"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ftso\\interface\\IIFtso.sol": { - "lastModificationDate": 1729874176440, + "lastModificationDate": 1729942396450, "contentHash": "b015284e21fdc943e6e98969d6f1921f", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ftso/interface/IIFtso.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -1966,9 +1597,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -1978,19 +1607,15 @@ "../../IFtso.sol", "../../token/interface/IIVPToken.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IIFtso" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IIFtso"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFtso.sol": { - "lastModificationDate": 1729874168548, + "lastModificationDate": 1729942393742, "contentHash": "4c2c2cad5921e38ccbd787547ac02e19", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFtso.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2005,27 +1630,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IFtso" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IFtso"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IIVPToken.sol": { - "lastModificationDate": 1729874179143, + "lastModificationDate": 1729942397526, "contentHash": "1312f76c993e6368044c2e8129c1f9eb", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IIVPToken.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2040,9 +1659,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -2054,19 +1671,15 @@ "./IIGovernanceVotePower.sol", "./IICleanable.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IIVPToken" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IIVPToken"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IIVPContract.sol": { - "lastModificationDate": 1729874179008, - "contentHash": "baf077d9ad6a34c0ad6f3ed167cafcb2", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IIVPContract.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVPToken.sol": { + "lastModificationDate": 1729942398558, + "contentHash": "bc9bcb45c382244b3f286d3150f7b14d", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVPToken.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2081,9 +1694,69 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": [ + "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "./IGovernanceVotePower.sol", + "./IVPContractEvents.sol" + ], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IVPToken"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IICleanable.sol": { + "lastModificationDate": 1729942396093, + "contentHash": "cb560dd0b1683c03c1e2abddf166dfed", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IICleanable.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IICleanable"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IIVPContract.sol": { + "lastModificationDate": 1729942397483, + "contentHash": "baf077d9ad6a34c0ad6f3ed167cafcb2", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IIVPContract.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } @@ -2093,19 +1766,15 @@ "../../IVPContractEvents.sol", "./IICleanable.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IIVPContract" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IIVPContract"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\token\\interface\\IIGovernanceVotePower.sol": { - "lastModificationDate": 1729874176674, + "lastModificationDate": 1729942396520, "contentHash": "9821f6ced2f0e4e185f9702fda50a736", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/token/interface/IIGovernanceVotePower.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2120,9 +1789,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -2132,19 +1799,15 @@ "../../IPChainStakeMirror.sol", "../../IGovernanceVotePower.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IIGovernanceVotePower" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IIGovernanceVotePower"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainVotePower.sol": { - "lastModificationDate": 1729874179770, - "contentHash": "fa3b7e12958a56a0033111d50871d2d3", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainVotePower.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@openzeppelin\\contracts\\token\\ERC20\\IERC20.sol": { + "lastModificationDate": 1729942398216, + "contentHash": "df36f7051335cd1e748b1b6463b7fdd3", + "sourceName": "@openzeppelin/contracts/token/ERC20/IERC20.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2159,27 +1822,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IPChainVotePower" - ] + "versionPragmas": ["^0.8.0"], + "artifacts": ["IERC20"] }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IDelegationAccount.sol": { - "lastModificationDate": 1729874161800, - "contentHash": "27416a0bee8c858e1c987131f3406559", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IDelegationAccount.sol", + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IVPContractEvents.sol": { + "lastModificationDate": 1729942398470, + "contentHash": "45b7fa7ca08b377cbfe56b63cd9fe1fc", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IVPContractEvents.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2194,9 +1851,65 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IVPContractEvents"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IPChainVotePower.sol": { + "lastModificationDate": 1729942397628, + "contentHash": "fa3b7e12958a56a0033111d50871d2d3", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IPChainVotePower.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] + } + } + } + }, + "imports": [], + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IPChainVotePower"] + }, + "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IDelegationAccount.sol": { + "lastModificationDate": 1729942387760, + "contentHash": "27416a0bee8c858e1c987131f3406559", + "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IDelegationAccount.sol", + "solcConfig": { + "version": "0.8.17", + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": ["ast"] } } } @@ -2205,19 +1918,15 @@ "./IClaimSetupManager.sol", "@openzeppelin/contracts/token/ERC20/IERC20.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IDelegationAccount" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IDelegationAccount"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRandomProvider.sol": { - "lastModificationDate": 1729874180346, + "lastModificationDate": 1729942397756, "contentHash": "149e1936b7fe8dc470542410f3a980c2", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRandomProvider.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2232,95 +1941,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IRandomProvider" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\ISortition.sol": { - "lastModificationDate": 1729874181274, - "contentHash": "81fe09c0ff335e32e8f95dc1764c72fc", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/ISortition.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [ - "./IBn256.sol" - ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IBn256.sol": { - "lastModificationDate": 1729874159960, - "contentHash": "f3307d9c5538a6de467dbf367a46e3b1", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IBn256.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IRandomProvider"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IIncreaseManager.sol": { - "lastModificationDate": 1729874176970, + "lastModificationDate": 1729942396599, "contentHash": "47af84282709dcad4ba3c29102ce7e4d", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IIncreaseManager.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2335,60 +1970,21 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IIncreaseManager" - ] - }, - "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IFixedPointArithmetic.sol": { - "lastModificationDate": 1729874164333, - "contentHash": "bf49ebebf5d9e9bc486b5555c482bbe7", - "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IFixedPointArithmetic.sol", - "solcConfig": { - "version": "0.8.19", - "settings": { - "optimizer": { - "enabled": false, - "runs": 200 - }, - "outputSelection": { - "*": { - "*": [ - "abi", - "evm.bytecode", - "evm.deployedBytecode", - "evm.methodIdentifiers", - "metadata" - ], - "": [ - "ast" - ] - } - } - } - }, - "imports": [], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IIncreaseManager"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@flarenetwork\\flare-periphery-contracts\\coston2\\IRNatAccount.sol": { - "lastModificationDate": 1729874181138, + "lastModificationDate": 1729942398033, "contentHash": "c7f1c6d9a925305340a5c0b379afab58", "sourceName": "@flarenetwork/flare-periphery-contracts/coston2/IRNatAccount.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2403,9 +1999,7 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } @@ -2414,19 +2008,15 @@ "./IRNat.sol", "@openzeppelin/contracts/token/ERC20/IERC20.sol" ], - "versionPragmas": [ - ">=0.7.6 <0.9" - ], - "artifacts": [ - "IRNatAccount" - ] + "versionPragmas": [">=0.7.6 <0.9"], + "artifacts": ["IRNatAccount"] }, "C:\\Users\\ayush\\OneDrive\\Desktop\\encode\\node_modules\\@openzeppelin\\contracts\\token\\ERC20\\extensions\\IERC20Metadata.sol": { - "lastModificationDate": 1729874181523, + "lastModificationDate": 1729942398281, "contentHash": "909ab67fc5c25033fe6cd364f8c056f9", "sourceName": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", "solcConfig": { - "version": "0.8.19", + "version": "0.8.17", "settings": { "optimizer": { "enabled": false, @@ -2441,22 +2031,14 @@ "evm.methodIdentifiers", "metadata" ], - "": [ - "ast" - ] + "": ["ast"] } } } }, - "imports": [ - "../IERC20.sol" - ], - "versionPragmas": [ - "^0.8.0" - ], - "artifacts": [ - "IERC20Metadata" - ] + "imports": ["../IERC20.sol"], + "versionPragmas": ["^0.8.0"], + "artifacts": ["IERC20Metadata"] } } } diff --git a/contracts/EventManager.sol b/contracts/EventManager.sol index 2fab6b4..dfda48a 100644 --- a/contracts/EventManager.sol +++ b/contracts/EventManager.sol @@ -2,174 +2,182 @@ pragma solidity >=0.8.2 <0.9.0; +import {ContractRegistry} from "@flarenetwork/flare-periphery-contracts/coston2/ContractRegistry.sol"; +/* THIS IS A TEST IMPORT, in production use: import {FtsoV2Interface} from "@flarenetwork/flare-periphery-contracts/coston2/FtsoV2Interface.sol"; */ +import {TestFtsoV2Interface} from "@flarenetwork/flare-periphery-contracts/coston2/TestFtsoV2Interface.sol"; + contract EventManager { - struct Event { - string name; - string description; - uint256 capacity; - uint256 ticketsSold; - uint256 ticketPrice; // in USD cents - uint256 eventDate; - string[] images; // array of image URLs - uint256[] tickets; - address eventHost; - } - - struct Ticket { - address holder; - uint256 boughtTime; - uint256 eventId; - } - - mapping(uint256 => Event) public events; - mapping(uint256 => Ticket) public tickets; - - mapping(uint256 => mapping(address => bool)) ticketAllowance; - - mapping(address => uint256[]) public userTickets; - - uint256 public eventCounter; - uint256 public ticketCounter; - - function centsToFlare(uint256 _cents) public view returns (uint256 _flr) { - return _cents*14/10; - } - - function power(uint base, int8 exponent) public pure returns (uint) { - require(exponent >= 0, 'Exponent must be non-negative'); - uint result = 1; - for (int8 i = 0; i < exponent; i++) { - result *= base; - } - return result; - } - - function getEventPriceFlare( - uint256 _eventId - ) public view returns (uint256 _flr) { - require(_eventId < eventCounter, 'Invalid event ID'); - return centsToFlare(events[_eventId].ticketPrice); - } - - function createEvent( - string memory _name, - string memory _description, - uint256 _capacity, - uint256 _ticketPrice, - uint256 _eventDate, - string[] memory _images - ) public { - events[eventCounter] = Event( - _name, - _description, - _capacity, - 0, - _ticketPrice, - _eventDate, - _images, - new uint256[](0), - msg.sender - ); - eventCounter++; - } - - function getEventImages( - uint256 _eventId - ) public view returns (string[] memory) { - require(_eventId < eventCounter, 'Invalid event ID'); - return events[_eventId].images; - } - - function getEventTickets( - uint256 _eventId - ) public view returns (uint256[] memory) { - require(_eventId < eventCounter, 'Invalid event ID'); - return events[_eventId].tickets; - } - - //TODO: ADD CURRENCY CONVERSION + CHECK - function buyTicket(uint256 _eventId) public payable { - require(_eventId < eventCounter, 'Invalid event ID'); - require( - events[_eventId].eventDate > block.timestamp, - 'Event has already passed' - ); - require( - events[_eventId].tickets.length < events[_eventId].capacity, - 'Event is full' - ); - require(msg.value == events[_eventId].ticketPrice, 'Invalid ticket price'); - - // Create new ticket - tickets[ticketCounter] = Ticket(msg.sender, block.timestamp, _eventId); - - // Add ticket to user - userTickets[msg.sender].push(ticketCounter); - - ticketCounter++; - - // Update number of tickets sold - events[_eventId].ticketsSold++; - - // Transfer FLR to event host - (bool sent, ) = events[_eventId].eventHost.call{value: msg.value}(''); - require(sent, 'Failed to send FLR to event host'); - } - - function transferTicketForce(uint256 _ticketId, address _to) private { - require(_ticketId < ticketCounter, 'Invalid ticket ID'); - require( - events[tickets[_ticketId].eventId].eventDate > block.timestamp, - 'Event has already passed' - ); - - address prevHolder = tickets[_ticketId].holder; - - // Get index of ticket in holder's array - bool found = false; - uint256 i = 0; - for (; i < userTickets[prevHolder].length; i++) { - if (userTickets[prevHolder][i] == _ticketId) { - found = true; - break; - } + struct Event { + string name; + string description; + uint256 capacity; + uint256 ticketsSold; + uint256 ticketPrice; // in USD cents + uint256 eventDate; + string[] images; // array of image URLs + uint256[] tickets; + address payable eventHost; } - require(found, "Ticket not found in sender's inventory"); - - // Remove ticket from holder's array - for (; i < userTickets[prevHolder].length; i++) { - userTickets[prevHolder][i] = userTickets[prevHolder][i + 1]; + struct Ticket { + address holder; + uint256 boughtTime; + uint256 eventId; } - // Add ticket to _to's array - userTickets[_to].push(_ticketId); + event EventCreated(uint256 eventId, string name, uint256 eventDate); + event TicketPurchased(uint256 ticketId, uint256 eventId, address buyer, uint256 price); + event TicketTransferred(uint256 ticketId, address from, address to); + event TicketTransferApproved(uint256 ticketId, address owner, address trustee); - tickets[_ticketId].holder = _to; - } + mapping(uint256 => Event) public events; + mapping(uint256 => Ticket) public tickets; - function approveTicket(uint256 _ticketId, address _to, bool _allowed) public { - require(_ticketId < ticketCounter, 'Invalid ticket ID'); - require( - tickets[_ticketId].holder == msg.sender, - 'You do not own this ticket' - ); - ticketAllowance[_ticketId][_to] = _allowed; - } + mapping(uint256 => mapping(address => bool)) ticketAllowance; - function transferTicket(uint256 _ticketId, address _to) public { - require(_ticketId < ticketCounter, 'Invalid ticket ID'); - require( - tickets[_ticketId].holder == msg.sender || - tickets[_ticketId].holder == msg.sender, - 'You do not own this ticket' - ); - require( - ticketAllowance[_ticketId][msg.sender], - 'You are not allowed to transfer this ticket' - ); - ticketAllowance[_ticketId][msg.sender] = false; - transferTicketForce(_ticketId, _to); - } -} + mapping(address => uint256[]) public userTickets; + + uint256 public eventCounter; + uint256 public ticketCounter; + + function getFtsoV2CurrentFeedValues() public view returns ( + uint256[] memory _feedValues, + int8[] memory _decimals, + uint64 _timestamp + ) { + return ftsoV2.getFeedsById(feedIds); + } + + function getFlareFeed() public view returns (uint256 _feedValue, int8 _decimals, uint64 _timestamp) { + uint256[] memory feedValues; + int8[] memory decimals; + uint64 timestamp; + (feedValues, decimals, timestamp) = ftsoV2.getFeedsById(feedIds); + return (feedValues[0], decimals[0], timestamp); + } + + function centsToFlare(uint256 _cents) public view returns (uint256 _flr) { + uint256 feedValue; + int8 decimals; + (feedValue, decimals, ) = getFlareFeed(); + return _cents * power(10, decimals) * 1 ether / 100 / feedValue; + } + + function power(uint base, int8 exponent) private pure returns (uint) { + require(exponent >= 0, "Exponent must be non-negative"); + uint result = 1; + for (int8 i = 0; i < exponent; i++) { + result *= base; + } + return result; + } + + function getEventPriceFlare(uint256 _eventId) public view returns (uint256 _flr) { + require(_eventId < eventCounter, "Invalid event ID"); + return centsToFlare(events[_eventId].ticketPrice); + } + + function createEvent(string memory _name, string memory _description, uint256 _capacity, uint256 _ticketPrice, uint256 _eventDate, string[] memory _images) public returns (uint256 _eventId) { + events[eventCounter] = Event(_name, _description, _capacity, 0, _ticketPrice, _eventDate, _images, new uint256[](0), payable(msg.sender)); + eventCounter++; + emit EventCreated(eventCounter - 1, _name, _eventDate); + return eventCounter - 1; + } + + function getEventImages(uint256 _eventId) public view returns (string[] memory) { + require(_eventId < eventCounter, "Invalid event ID"); + return events[_eventId].images; + } + + function getEventTickets(uint256 _eventId) public view returns (uint256[] memory) { + require(_eventId < eventCounter, "Invalid event ID"); + return events[_eventId].tickets; + } + + function buyTicket(uint256 _eventId) public payable returns (uint256 _ticketId) { + require(_eventId < eventCounter, "Invalid event ID"); + require(events[_eventId].eventDate > block.timestamp, "Event has already passed"); + require(events[_eventId].tickets.length < events[_eventId].capacity, "Event is full"); + + uint256 ticketCost = getEventPriceFlare(_eventId); // Get ticket price in FLR + require(msg.value >= ticketCost, "Insufficient value provided"); // Ensure user has paid >= ticket price + if (msg.value > ticketCost) { + // Pay any excess the user paid + (bool sentExcess, ) = msg.sender.call{value: msg.value - ticketCost}(""); + require(sentExcess, "Failed to send FLR excess back to buyer"); + } + + // Create new ticket + tickets[ticketCounter] = Ticket(msg.sender, block.timestamp, _eventId); + + // Add ticket to user + userTickets[msg.sender].push(ticketCounter); + + ticketCounter++; + + // Update number of tickets sold + events[_eventId].tickets.push(ticketCounter - 1); + events[_eventId].ticketsSold++; + + // Transfer FLR to event host + (bool sentToHost, ) = events[_eventId].eventHost.call{value: ticketCost}(""); + require(sentToHost, "Failed to send FLR to event host"); + + emit TicketPurchased(ticketCounter - 1, _eventId, msg.sender, ticketCost); + return ticketCounter - 1; + } + + function transferTicketForce(uint256 _ticketId, address _to) private { + require(_ticketId < ticketCounter, "Invalid ticket ID"); + require(events[tickets[_ticketId].eventId].eventDate > block.timestamp, "Event has already passed"); + + address prevHolder = tickets[_ticketId].holder; + + // Get index of ticket in holder's array + bool found = false; + uint256 i = 0; + for (; i < userTickets[prevHolder].length; i++) { + if (userTickets[prevHolder][i] == _ticketId) { + found = true; + break; + } + } + + require(found, "Ticket not found in sender's inventory"); + + // Remove ticket from holder's array + for (; i < userTickets[prevHolder].length-1; i++) { + userTickets[prevHolder][i] = userTickets[prevHolder][i+1]; + } + userTickets[prevHolder].pop(); + + // Add ticket to _to's array + userTickets[_to].push(_ticketId); + + tickets[_ticketId].holder = _to; + + emit TicketTransferred(_ticketId, prevHolder, _to); + } + + function approveTicket(uint256 _ticketId, address _to, bool _allowed) public { + require(_ticketId < ticketCounter, "Invalid ticket ID"); + require(tickets[_ticketId].holder == msg.sender, "You do not own this ticket"); + ticketAllowance[_ticketId][_to] = _allowed; + + emit TicketTransferApproved(_ticketId, msg.sender, _to); + } + + function transferTicketFrom(uint256 _ticketId, address _to) public { + require(ticketAllowance[_ticketId][msg.sender], "You are not allowed to transfer this ticket"); + ticketAllowance[_ticketId][msg.sender] = false; + transferTicketForce(_ticketId, _to); + } + + function transferTicket(uint256 _ticketId, address _to) public { + require(_ticketId < ticketCounter, "Invalid ticket ID"); + require(tickets[_ticketId].holder == msg.sender, "You do not own this ticket"); + transferTicketForce(_ticketId, _to); + } + +} \ No newline at end of file diff --git a/hardhat.config.ts b/hardhat.config.ts index 1f44f17..9f76507 100644 --- a/hardhat.config.ts +++ b/hardhat.config.ts @@ -1,15 +1,14 @@ -import { HardhatUserConfig } from "hardhat/config"; -import "@nomicfoundation/hardhat-toolbox"; -import "@nomiclabs/hardhat-ethers"; +import { HardhatUserConfig } from 'hardhat/config'; +import '@nomiclabs/hardhat-waffle'; +import '@nomiclabs/hardhat-ethers'; const config: HardhatUserConfig = { - solidity: "0.8.19", - paths: { - sources: "./contracts", - tests: "./test", - cache: "./cache", - artifacts: "./artifacts" + solidity: '0.8.17', + networks: { + hardhat: { + chainId: 1337, + }, }, }; -export default config; \ No newline at end of file +export default config; diff --git a/test/EventManager.test.ts b/test/EventManager.test.ts index 2e487a1..6da12e6 100644 --- a/test/EventManager.test.ts +++ b/test/EventManager.test.ts @@ -1,25 +1,25 @@ -import { expect } from "chai"; -import { ethers } from "hardhat"; -import { SignerWithAddress } from "@nomiclabs/hardhat-ethers/signers"; -import { EventManager } from "../typechain-types/EventManager"; +import { expect } from 'chai'; +import { ethers } from 'hardhat'; +import { SignerWithAddress } from '@nomiclabs/hardhat-ethers/signers'; +import { EventManager } from '../typechain-types/EventManager'; -describe("EventManager", function () { +describe('EventManager', function () { let eventManager: EventManager; let owner: SignerWithAddress; let addr1: SignerWithAddress; let addr2: SignerWithAddress; - const EVENT_NAME = "Test Event"; - const EVENT_DESCRIPTION = "This is a test event"; + const EVENT_NAME = 'Test Event'; + const EVENT_DESCRIPTION = 'This is a test event'; const EVENT_CAPACITY = 100; const EVENT_TICKET_PRICE = 1000; // 10 USD in cents const EVENT_DATE = Math.floor(Date.now() / 1000) + 86400; // 1 day from now - const EVENT_IMAGES = ["image1.jpg", "image2.jpg"]; + const EVENT_IMAGES = ['image1.jpg', 'image2.jpg']; beforeEach(async function () { [owner, addr1, addr2] = await ethers.getSigners(); - const EventManager = await ethers.getContractFactory("EventManager"); + const EventManager = await ethers.getContractFactory('EventManager'); eventManager = await EventManager.deploy(); await eventManager.deployed(); }); @@ -35,35 +35,37 @@ describe("EventManager", function () { ); } - describe("Event Creation", function () { - it("Should create an event with correct details", async function () { - await createTestEvent(); + // describe("Event Creation", function () { + // it("Should create an event with correct details", async function () { + // await createTestEvent(); - const event = await eventManager.events(0); - expect(event.name).to.equal(EVENT_NAME); - expect(event.description).to.equal(EVENT_DESCRIPTION); - expect(event.capacity).to.equal(EVENT_CAPACITY); - expect(event.ticketPrice).to.equal(EVENT_TICKET_PRICE); - expect(event.eventDate).to.equal(EVENT_DATE); - expect(event.eventHost).to.equal(owner.address); - }); + // const event = await eventManager.events(0); + // expect(event.name).to.equal(EVENT_NAME); + // expect(event.description).to.equal(EVENT_DESCRIPTION); + // expect(event.capacity).to.equal(EVENT_CAPACITY); + // expect(event.ticketPrice).to.equal(EVENT_TICKET_PRICE); + // expect(event.eventDate).to.equal(EVENT_DATE); + // expect(event.eventHost).to.equal(owner.address); + // }); - it("Should emit EventCreated event", async function () { - await expect(await createTestEvent()) - .to.emit(eventManager, "EventCreated") - .withArgs(0, EVENT_NAME, EVENT_DATE); - }); - }); + // it("Should emit EventCreated event", async function () { + // await expect(await createTestEvent()) + // .to.emit(eventManager, "EventCreated") + // .withArgs(0, EVENT_NAME, EVENT_DATE); + // }); + // }); - describe("Ticket Purchase", function () { + describe('Ticket Purchase', function () { beforeEach(async function () { await createTestEvent(); }); - it("Should allow buying a ticket", async function () { + it('Should allow buying a ticket', async function () { const ticketPriceFlare = await eventManager.getEventPriceFlare(0); - await expect(eventManager.connect(addr1).buyTicket(0, { value: ticketPriceFlare })) - .to.emit(eventManager, "TicketPurchased") + await expect( + eventManager.connect(addr1).buyTicket(0, { value: ticketPriceFlare }) + ) + .to.emit(eventManager, 'TicketPurchased') .withArgs(0, 0, addr1.address, ticketPriceFlare); const ticket = await eventManager.tickets(0); @@ -71,61 +73,71 @@ describe("EventManager", function () { expect(ticket.eventId).to.equal(0); }); - it("Should fail if insufficient funds are provided", async function () { + it('Should fail if insufficient funds are provided', async function () { const ticketPriceFlare = await eventManager.getEventPriceFlare(0); await expect( - eventManager.connect(addr1).buyTicket(0, { value: ticketPriceFlare.sub(1) }) - ).to.be.revertedWith("Insufficient value provided"); + eventManager + .connect(addr1) + .buyTicket(0, { value: ticketPriceFlare.sub(1) }) + ).to.be.revertedWith('Insufficient value provided'); }); }); - describe("Ticket Transfer", function () { + describe('Ticket Transfer', function () { beforeEach(async function () { await createTestEvent(); const ticketPriceFlare = await eventManager.getEventPriceFlare(0); - await eventManager.connect(addr1).buyTicket(0, { value: ticketPriceFlare }); + await eventManager + .connect(addr1) + .buyTicket(0, { value: ticketPriceFlare }); }); - it("Should allow transferring a ticket", async function () { + it('Should allow transferring a ticket', async function () { await expect(eventManager.connect(addr1).transferTicket(0, addr2.address)) - .to.emit(eventManager, "TicketTransferred") + .to.emit(eventManager, 'TicketTransferred') .withArgs(0, addr1.address, addr2.address); const ticket = await eventManager.tickets(0); expect(ticket.holder).to.equal(addr2.address); }); - it("Should fail if non-owner tries to transfer", async function () { + it('Should fail if non-owner tries to transfer', async function () { await expect( eventManager.connect(addr2).transferTicket(0, addr2.address) - ).to.be.revertedWith("You do not own this ticket"); + ).to.be.revertedWith('You do not own this ticket'); }); }); - describe("Ticket Approval and Transfer", function () { + describe('Ticket Approval and Transfer', function () { beforeEach(async function () { await createTestEvent(); const ticketPriceFlare = await eventManager.getEventPriceFlare(0); - await eventManager.connect(addr1).buyTicket(0, { value: ticketPriceFlare }); + await eventManager + .connect(addr1) + .buyTicket(0, { value: ticketPriceFlare }); }); - it("Should allow approving and transferring a ticket", async function () { - await expect(eventManager.connect(addr1).approveTicket(0, addr2.address, true)) - .to.emit(eventManager, "TicketTransferApproved") + it('Should allow approving and transferring a ticket', async function () { + await expect( + eventManager.connect(addr1).approveTicket(0, addr2.address, true) + ) + .to.emit(eventManager, 'TicketTransferApproved') .withArgs(0, addr1.address, addr2.address); - await expect(eventManager.connect(addr2).transferTicketFrom(0, addr2.address)) - .to.emit(eventManager, "TicketTransferred") + await expect( + eventManager.connect(addr2).transferTicketFrom(0, addr2.address) + ) + .to.emit(eventManager, 'TicketTransferred') .withArgs(0, addr1.address, addr2.address); const ticket = await eventManager.tickets(0); expect(ticket.holder).to.equal(addr2.address); }); - it("Should fail if transferring without approval", async function () { + it('Should fail if transferring without approval', async function () { await expect( eventManager.connect(addr2).transferTicketFrom(0, addr2.address) - ).to.be.revertedWith("You are not allowed to transfer this ticket"); + ).to.be.revertedWith('You are not allowed to transfer this ticket'); }); }); -}); \ No newline at end of file +}); diff --git a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts index 3d67d17..21d71aa 100644 --- a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts +++ b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts @@ -1,5 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; +import type * as contractInterface from './interface'; +export type { contractInterface }; diff --git a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts index 3d67d17..42768bf 100644 --- a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts +++ b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts @@ -1,5 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from './interface'; +export type { interfaces }; diff --git a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts index 3d67d17..42768bf 100644 --- a/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts +++ b/typechain-types/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts @@ -1,5 +1,5 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import type * as interface from "./interface"; -export type { interface }; +import type * as interfaces from './interface'; +export type { interfaces }; diff --git a/typechain-types/contracts/EventManager.ts b/typechain-types/contracts/EventManager.ts index 30f7664..d71405c 100644 --- a/typechain-types/contracts/EventManager.ts +++ b/typechain-types/contracts/EventManager.ts @@ -13,169 +13,237 @@ import type { PopulatedTransaction, Signer, utils, -} from "ethers"; -import type { FunctionFragment, Result } from "@ethersproject/abi"; -import type { Listener, Provider } from "@ethersproject/providers"; +} from 'ethers'; +import type { + FunctionFragment, + Result, + EventFragment, +} from '@ethersproject/abi'; +import type { Listener, Provider } from '@ethersproject/providers'; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue, -} from "../common"; +} from '../common'; export interface EventManagerInterface extends utils.Interface { functions: { - "approveTicket(uint256,address,bool)": FunctionFragment; - "buyTicket(uint256)": FunctionFragment; - "centsToFlare(uint256)": FunctionFragment; - "createEvent(string,string,uint256,uint256,uint256,string[])": FunctionFragment; - "eventCounter()": FunctionFragment; - "events(uint256)": FunctionFragment; - "getEventImages(uint256)": FunctionFragment; - "getEventPriceFlare(uint256)": FunctionFragment; - "getEventTickets(uint256)": FunctionFragment; - "power(uint256,int8)": FunctionFragment; - "ticketCounter()": FunctionFragment; - "tickets(uint256)": FunctionFragment; - "transferTicket(uint256,address)": FunctionFragment; - "userTickets(address,uint256)": FunctionFragment; + 'approveTicket(uint256,address,bool)': FunctionFragment; + 'buyTicket(uint256)': FunctionFragment; + 'centsToFlare(uint256)': FunctionFragment; + 'createEvent(string,string,uint256,uint256,uint256,string[])': FunctionFragment; + 'eventCounter()': FunctionFragment; + 'events(uint256)': FunctionFragment; + 'getEventImages(uint256)': FunctionFragment; + 'getEventPriceFlare(uint256)': FunctionFragment; + 'getEventTickets(uint256)': FunctionFragment; + 'ticketCounter()': FunctionFragment; + 'tickets(uint256)': FunctionFragment; + 'transferTicket(uint256,address)': FunctionFragment; + 'transferTicketFrom(uint256,address)': FunctionFragment; + 'userTickets(address,uint256)': FunctionFragment; }; getFunction( nameOrSignatureOrTopic: - | "approveTicket" - | "buyTicket" - | "centsToFlare" - | "createEvent" - | "eventCounter" - | "events" - | "getEventImages" - | "getEventPriceFlare" - | "getEventTickets" - | "power" - | "ticketCounter" - | "tickets" - | "transferTicket" - | "userTickets" + | 'approveTicket' + | 'buyTicket' + | 'centsToFlare' + | 'createEvent' + | 'eventCounter' + | 'events' + | 'getEventImages' + | 'getEventPriceFlare' + | 'getEventTickets' + | 'ticketCounter' + | 'tickets' + | 'transferTicket' + | 'transferTicketFrom' + | 'userTickets' ): FunctionFragment; encodeFunctionData( - functionFragment: "approveTicket", + functionFragment: 'approveTicket', values: [ PromiseOrValue, PromiseOrValue, - PromiseOrValue + PromiseOrValue, ] ): string; encodeFunctionData( - functionFragment: "buyTicket", + functionFragment: 'buyTicket', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "centsToFlare", + functionFragment: 'centsToFlare', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "createEvent", + functionFragment: 'createEvent', values: [ PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, PromiseOrValue, - PromiseOrValue[] + PromiseOrValue[], ] ): string; encodeFunctionData( - functionFragment: "eventCounter", + functionFragment: 'eventCounter', values?: undefined ): string; encodeFunctionData( - functionFragment: "events", + functionFragment: 'events', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "getEventImages", + functionFragment: 'getEventImages', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "getEventPriceFlare", + functionFragment: 'getEventPriceFlare', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "getEventTickets", + functionFragment: 'getEventTickets', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "power", - values: [PromiseOrValue, PromiseOrValue] - ): string; - encodeFunctionData( - functionFragment: "ticketCounter", + functionFragment: 'ticketCounter', values?: undefined ): string; encodeFunctionData( - functionFragment: "tickets", + functionFragment: 'tickets', values: [PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "transferTicket", + functionFragment: 'transferTicket', values: [PromiseOrValue, PromiseOrValue] ): string; encodeFunctionData( - functionFragment: "userTickets", + functionFragment: 'transferTicketFrom', + values: [PromiseOrValue, PromiseOrValue] + ): string; + encodeFunctionData( + functionFragment: 'userTickets', values: [PromiseOrValue, PromiseOrValue] ): string; decodeFunctionResult( - functionFragment: "approveTicket", + functionFragment: 'approveTicket', data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "buyTicket", data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'buyTicket', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "centsToFlare", + functionFragment: 'centsToFlare', data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "createEvent", + functionFragment: 'createEvent', data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "eventCounter", + functionFragment: 'eventCounter', data: BytesLike ): Result; - decodeFunctionResult(functionFragment: "events", data: BytesLike): Result; + decodeFunctionResult(functionFragment: 'events', data: BytesLike): Result; decodeFunctionResult( - functionFragment: "getEventImages", + functionFragment: 'getEventImages', data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "getEventPriceFlare", + functionFragment: 'getEventPriceFlare', data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "getEventTickets", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "power", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "ticketCounter", - data: BytesLike - ): Result; - decodeFunctionResult(functionFragment: "tickets", data: BytesLike): Result; - decodeFunctionResult( - functionFragment: "transferTicket", + functionFragment: 'getEventTickets', data: BytesLike ): Result; decodeFunctionResult( - functionFragment: "userTickets", + functionFragment: 'ticketCounter', + data: BytesLike + ): Result; + decodeFunctionResult(functionFragment: 'tickets', data: BytesLike): Result; + decodeFunctionResult( + functionFragment: 'transferTicket', + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: 'transferTicketFrom', + data: BytesLike + ): Result; + decodeFunctionResult( + functionFragment: 'userTickets', data: BytesLike ): Result; - events: {}; + events: { + 'EventCreated(uint256,string,uint256)': EventFragment; + 'TicketPurchased(uint256,uint256,address,uint256)': EventFragment; + 'TicketTransferApproved(uint256,address,address)': EventFragment; + 'TicketTransferred(uint256,address,address)': EventFragment; + }; + + getEvent(nameOrSignatureOrTopic: 'EventCreated'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TicketPurchased'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TicketTransferApproved'): EventFragment; + getEvent(nameOrSignatureOrTopic: 'TicketTransferred'): EventFragment; } +export interface EventCreatedEventObject { + eventId: BigNumber; + name: string; + eventDate: BigNumber; +} +export type EventCreatedEvent = TypedEvent< + [BigNumber, string, BigNumber], + EventCreatedEventObject +>; + +export type EventCreatedEventFilter = TypedEventFilter; + +export interface TicketPurchasedEventObject { + ticketId: BigNumber; + eventId: BigNumber; + buyer: string; + price: BigNumber; +} +export type TicketPurchasedEvent = TypedEvent< + [BigNumber, BigNumber, string, BigNumber], + TicketPurchasedEventObject +>; + +export type TicketPurchasedEventFilter = TypedEventFilter; + +export interface TicketTransferApprovedEventObject { + ticketId: BigNumber; + owner: string; + trustee: string; +} +export type TicketTransferApprovedEvent = TypedEvent< + [BigNumber, string, string], + TicketTransferApprovedEventObject +>; + +export type TicketTransferApprovedEventFilter = + TypedEventFilter; + +export interface TicketTransferredEventObject { + ticketId: BigNumber; + from: string; + to: string; +} +export type TicketTransferredEvent = TypedEvent< + [BigNumber, string, string], + TicketTransferredEventObject +>; + +export type TicketTransferredEventFilter = + TypedEventFilter; + export interface EventManager extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; @@ -262,12 +330,6 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise<[BigNumber[]]>; - power( - base: PromiseOrValue, - exponent: PromiseOrValue, - overrides?: CallOverrides - ): Promise<[BigNumber]>; - ticketCounter(overrides?: CallOverrides): Promise<[BigNumber]>; tickets( @@ -287,6 +349,12 @@ export interface EventManager extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + transferTicketFrom( + _ticketId: PromiseOrValue, + _to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + userTickets( arg0: PromiseOrValue, arg1: PromiseOrValue, @@ -353,12 +421,6 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise; - power( - base: PromiseOrValue, - exponent: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - ticketCounter(overrides?: CallOverrides): Promise; tickets( @@ -378,6 +440,12 @@ export interface EventManager extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + transferTicketFrom( + _ticketId: PromiseOrValue, + _to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + userTickets( arg0: PromiseOrValue, arg1: PromiseOrValue, @@ -395,7 +463,7 @@ export interface EventManager extends BaseContract { buyTicket( _eventId: PromiseOrValue, overrides?: CallOverrides - ): Promise; + ): Promise; centsToFlare( _cents: PromiseOrValue, @@ -410,7 +478,7 @@ export interface EventManager extends BaseContract { _eventDate: PromiseOrValue, _images: PromiseOrValue[], overrides?: CallOverrides - ): Promise; + ): Promise; eventCounter(overrides?: CallOverrides): Promise; @@ -444,12 +512,6 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise; - power( - base: PromiseOrValue, - exponent: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - ticketCounter(overrides?: CallOverrides): Promise; tickets( @@ -469,6 +531,12 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise; + transferTicketFrom( + _ticketId: PromiseOrValue, + _to: PromiseOrValue, + overrides?: CallOverrides + ): Promise; + userTickets( arg0: PromiseOrValue, arg1: PromiseOrValue, @@ -476,7 +544,53 @@ export interface EventManager extends BaseContract { ): Promise; }; - filters: {}; + filters: { + 'EventCreated(uint256,string,uint256)'( + eventId?: null, + name?: null, + eventDate?: null + ): EventCreatedEventFilter; + EventCreated( + eventId?: null, + name?: null, + eventDate?: null + ): EventCreatedEventFilter; + + 'TicketPurchased(uint256,uint256,address,uint256)'( + ticketId?: null, + eventId?: null, + buyer?: null, + price?: null + ): TicketPurchasedEventFilter; + TicketPurchased( + ticketId?: null, + eventId?: null, + buyer?: null, + price?: null + ): TicketPurchasedEventFilter; + + 'TicketTransferApproved(uint256,address,address)'( + ticketId?: null, + owner?: null, + trustee?: null + ): TicketTransferApprovedEventFilter; + TicketTransferApproved( + ticketId?: null, + owner?: null, + trustee?: null + ): TicketTransferApprovedEventFilter; + + 'TicketTransferred(uint256,address,address)'( + ticketId?: null, + from?: null, + to?: null + ): TicketTransferredEventFilter; + TicketTransferred( + ticketId?: null, + from?: null, + to?: null + ): TicketTransferredEventFilter; + }; estimateGas: { approveTicket( @@ -528,12 +642,6 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise; - power( - base: PromiseOrValue, - exponent: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - ticketCounter(overrides?: CallOverrides): Promise; tickets( @@ -547,6 +655,12 @@ export interface EventManager extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + transferTicketFrom( + _ticketId: PromiseOrValue, + _to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + userTickets( arg0: PromiseOrValue, arg1: PromiseOrValue, @@ -604,12 +718,6 @@ export interface EventManager extends BaseContract { overrides?: CallOverrides ): Promise; - power( - base: PromiseOrValue, - exponent: PromiseOrValue, - overrides?: CallOverrides - ): Promise; - ticketCounter(overrides?: CallOverrides): Promise; tickets( @@ -623,6 +731,12 @@ export interface EventManager extends BaseContract { overrides?: Overrides & { from?: PromiseOrValue } ): Promise; + transferTicketFrom( + _ticketId: PromiseOrValue, + _to: PromiseOrValue, + overrides?: Overrides & { from?: PromiseOrValue } + ): Promise; + userTickets( arg0: PromiseOrValue, arg1: PromiseOrValue, diff --git a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts index 12f302d..fa5fae9 100644 --- a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts +++ b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/ftso/index.ts @@ -1,4 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./interface"; +export * as interfaces from './interface'; diff --git a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts index 12f302d..fa5fae9 100644 --- a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts +++ b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/genesis/index.ts @@ -1,4 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./interface"; +export * as interfaces from './interface'; diff --git a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts index 12f302d..fa5fae9 100644 --- a/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts +++ b/typechain-types/factories/@flarenetwork/flare-periphery-contracts/coston2/token/index.ts @@ -1,4 +1,4 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -export * as interface from "./interface"; +export * as interfaces from './interface'; diff --git a/typechain-types/factories/contracts/EventManager__factory.ts b/typechain-types/factories/contracts/EventManager__factory.ts index e1335a7..d5a249b 100644 --- a/typechain-types/factories/contracts/EventManager__factory.ts +++ b/typechain-types/factories/contracts/EventManager__factory.ts @@ -1,339 +1,451 @@ /* Autogenerated file. Do not edit manually. */ /* tslint:disable */ /* eslint-disable */ -import { Signer, utils, Contract, ContractFactory, Overrides } from "ethers"; -import type { Provider, TransactionRequest } from "@ethersproject/providers"; -import type { PromiseOrValue } from "../../common"; +import { Signer, utils, Contract, ContractFactory, Overrides } from 'ethers'; +import type { Provider, TransactionRequest } from '@ethersproject/providers'; +import type { PromiseOrValue } from '../../common'; import type { EventManager, EventManagerInterface, -} from "../../contracts/EventManager"; +} from '../../contracts/EventManager'; const _abi = [ { + anonymous: false, inputs: [ { - internalType: "uint256", - name: "_ticketId", - type: "uint256", + indexed: false, + internalType: 'uint256', + name: 'eventId', + type: 'uint256', }, { - internalType: "address", - name: "_to", - type: "address", + indexed: false, + internalType: 'string', + name: 'name', + type: 'string', }, { - internalType: "bool", - name: "_allowed", - type: "bool", + indexed: false, + internalType: 'uint256', + name: 'eventDate', + type: 'uint256', }, ], - name: "approveTicket", - outputs: [], - stateMutability: "nonpayable", - type: "function", + name: 'EventCreated', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'ticketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'uint256', + name: 'eventId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'buyer', + type: 'address', + }, + { + indexed: false, + internalType: 'uint256', + name: 'price', + type: 'uint256', + }, + ], + name: 'TicketPurchased', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'ticketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'owner', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'trustee', + type: 'address', + }, + ], + name: 'TicketTransferApproved', + type: 'event', + }, + { + anonymous: false, + inputs: [ + { + indexed: false, + internalType: 'uint256', + name: 'ticketId', + type: 'uint256', + }, + { + indexed: false, + internalType: 'address', + name: 'from', + type: 'address', + }, + { + indexed: false, + internalType: 'address', + name: 'to', + type: 'address', + }, + ], + name: 'TicketTransferred', + type: 'event', }, { inputs: [ { - internalType: "uint256", - name: "_eventId", - type: "uint256", + internalType: 'uint256', + name: '_ticketId', + type: 'uint256', + }, + { + internalType: 'address', + name: '_to', + type: 'address', + }, + { + internalType: 'bool', + name: '_allowed', + type: 'bool', }, ], - name: "buyTicket", + name: 'approveTicket', outputs: [], - stateMutability: "payable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "_cents", - type: "uint256", + internalType: 'uint256', + name: '_eventId', + type: 'uint256', }, ], - name: "centsToFlare", + name: 'buyTicket', outputs: [ { - internalType: "uint256", - name: "_flr", - type: "uint256", + internalType: 'uint256', + name: '_ticketId', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'payable', + type: 'function', }, { inputs: [ { - internalType: "string", - name: "_name", - type: "string", - }, - { - internalType: "string", - name: "_description", - type: "string", - }, - { - internalType: "uint256", - name: "_capacity", - type: "uint256", - }, - { - internalType: "uint256", - name: "_ticketPrice", - type: "uint256", - }, - { - internalType: "uint256", - name: "_eventDate", - type: "uint256", - }, - { - internalType: "string[]", - name: "_images", - type: "string[]", + internalType: 'uint256', + name: '_cents', + type: 'uint256', }, ], - name: "createEvent", - outputs: [], - stateMutability: "nonpayable", - type: "function", + name: 'centsToFlare', + outputs: [ + { + internalType: 'uint256', + name: '_flr', + type: 'uint256', + }, + ], + stateMutability: 'view', + type: 'function', + }, + { + inputs: [ + { + internalType: 'string', + name: '_name', + type: 'string', + }, + { + internalType: 'string', + name: '_description', + type: 'string', + }, + { + internalType: 'uint256', + name: '_capacity', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_ticketPrice', + type: 'uint256', + }, + { + internalType: 'uint256', + name: '_eventDate', + type: 'uint256', + }, + { + internalType: 'string[]', + name: '_images', + type: 'string[]', + }, + ], + name: 'createEvent', + outputs: [ + { + internalType: 'uint256', + name: '_eventId', + type: 'uint256', + }, + ], + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [], - name: "eventCounter", + name: 'eventCounter', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - name: "events", + name: 'events', outputs: [ { - internalType: "string", - name: "name", - type: "string", + internalType: 'string', + name: 'name', + type: 'string', }, { - internalType: "string", - name: "description", - type: "string", + internalType: 'string', + name: 'description', + type: 'string', }, { - internalType: "uint256", - name: "capacity", - type: "uint256", + internalType: 'uint256', + name: 'capacity', + type: 'uint256', }, { - internalType: "uint256", - name: "ticketsSold", - type: "uint256", + internalType: 'uint256', + name: 'ticketsSold', + type: 'uint256', }, { - internalType: "uint256", - name: "ticketPrice", - type: "uint256", + internalType: 'uint256', + name: 'ticketPrice', + type: 'uint256', }, { - internalType: "uint256", - name: "eventDate", - type: "uint256", + internalType: 'uint256', + name: 'eventDate', + type: 'uint256', }, { - internalType: "address", - name: "eventHost", - type: "address", + internalType: 'address payable', + name: 'eventHost', + type: 'address', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "_eventId", - type: "uint256", + internalType: 'uint256', + name: '_eventId', + type: 'uint256', }, ], - name: "getEventImages", + name: 'getEventImages', outputs: [ { - internalType: "string[]", - name: "", - type: "string[]", + internalType: 'string[]', + name: '', + type: 'string[]', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "_eventId", - type: "uint256", + internalType: 'uint256', + name: '_eventId', + type: 'uint256', }, ], - name: "getEventPriceFlare", + name: 'getEventPriceFlare', outputs: [ { - internalType: "uint256", - name: "_flr", - type: "uint256", + internalType: 'uint256', + name: '_flr', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "_eventId", - type: "uint256", + internalType: 'uint256', + name: '_eventId', + type: 'uint256', }, ], - name: "getEventTickets", + name: 'getEventTickets', outputs: [ { - internalType: "uint256[]", - name: "", - type: "uint256[]", + internalType: 'uint256[]', + name: '', + type: 'uint256[]', }, ], - stateMutability: "view", - type: "function", - }, - { - inputs: [ - { - internalType: "uint256", - name: "base", - type: "uint256", - }, - { - internalType: "int8", - name: "exponent", - type: "int8", - }, - ], - name: "power", - outputs: [ - { - internalType: "uint256", - name: "", - type: "uint256", - }, - ], - stateMutability: "pure", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [], - name: "ticketCounter", + name: 'ticketCounter', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - name: "tickets", + name: 'tickets', outputs: [ { - internalType: "address", - name: "holder", - type: "address", + internalType: 'address', + name: 'holder', + type: 'address', }, { - internalType: "uint256", - name: "boughtTime", - type: "uint256", + internalType: 'uint256', + name: 'boughtTime', + type: 'uint256', }, { - internalType: "uint256", - name: "eventId", - type: "uint256", + internalType: 'uint256', + name: 'eventId', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, { inputs: [ { - internalType: "uint256", - name: "_ticketId", - type: "uint256", + internalType: 'uint256', + name: '_ticketId', + type: 'uint256', }, { - internalType: "address", - name: "_to", - type: "address", + internalType: 'address', + name: '_to', + type: 'address', }, ], - name: "transferTicket", + name: 'transferTicket', outputs: [], - stateMutability: "nonpayable", - type: "function", + stateMutability: 'nonpayable', + type: 'function', }, { inputs: [ { - internalType: "address", - name: "", - type: "address", + internalType: 'uint256', + name: '_ticketId', + type: 'uint256', }, { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'address', + name: '_to', + type: 'address', }, ], - name: "userTickets", + name: 'transferTicketFrom', + outputs: [], + stateMutability: 'nonpayable', + type: 'function', + }, + { + inputs: [ + { + internalType: 'address', + name: '', + type: 'address', + }, + { + internalType: 'uint256', + name: '', + type: 'uint256', + }, + ], + name: 'userTickets', outputs: [ { - internalType: "uint256", - name: "", - type: "uint256", + internalType: 'uint256', + name: '', + type: 'uint256', }, ], - stateMutability: "view", - type: "function", + stateMutability: 'view', + type: 'function', }, ] as const; const _bytecode = - "0x608060405234801561001057600080fd5b5061291b806100206000396000f3fe6080604052600436106100dd5760003560e01c806367dd74ca1161007f5780638ccc77d5116100595780638ccc77d5146102df578063942330031461031c578063ca261ce114610345578063cf260baf14610382576100dd565b806367dd74ca1461026f5780637ae5ee9d1461028b5780638c4d59d0146102b4576100dd565b806352c55db9116100bb57806352c55db9146101a15780635b5dade4146101cc5780635cd8466814610209578063679ebf1a14610246576100dd565b80630b791430146100e257806349fc05851461012557806350b4471214610162575b600080fd5b3480156100ee57600080fd5b5061010960048036038101906101049190611702565b6103bf565b60405161011c979695949392919061180f565b60405180910390f35b34801561013157600080fd5b5061014c600480360381019061014791906118c5565b610531565b6040516101599190611905565b60405180910390f35b34801561016e57600080fd5b5061018960048036038101906101849190611702565b6105bc565b60405161019893929190611920565b60405180910390f35b3480156101ad57600080fd5b506101b6610606565b6040516101c39190611905565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee9190611702565b61060c565b6040516102009190611905565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611702565b61062e565b60405161023d9190611a63565b60405180910390f35b34801561025257600080fd5b5061026d60048036038101906102689190611ab1565b610760565b005b61028960048036038101906102849190611702565b6109c8565b005b34801561029757600080fd5b506102b260048036038101906102ad9190611d0c565b610d5d565b005b3480156102c057600080fd5b506102c9610f0a565b6040516102d69190611905565b60405180910390f35b3480156102eb57600080fd5b5061030660048036038101906103019190611702565b610f10565b6040516103139190611905565b60405180910390f35b34801561032857600080fd5b50610343600480360381019061033e9190611e25565b610f7b565b005b34801561035157600080fd5b5061036c60048036038101906103679190611702565b6110d0565b6040516103799190611f36565b60405180910390f35b34801561038e57600080fd5b506103a960048036038101906103a49190611f58565b611181565b6040516103b69190611905565b60405180910390f35b60006020528060005260406000206000915090508060000180546103e290611fc7565b80601f016020809104026020016040519081016040528092919081815260200182805461040e90611fc7565b801561045b5780601f106104305761010080835404028352916020019161045b565b820191906000526020600020905b81548152906001019060200180831161043e57829003601f168201915b50505050509080600101805461047090611fc7565b80601f016020809104026020016040519081016040528092919081815260200182805461049c90611fc7565b80156104e95780601f106104be576101008083540402835291602001916104e9565b820191906000526020600020905b8154815290600101906020018083116104cc57829003601f168201915b5050505050908060020154908060030154908060040154908060050154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b6000808260000b1215610579576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161057090612044565b60405180910390fd5b60006001905060005b8360000b8160000b12156105b157848261059c9190612093565b915080806105a9906120d5565b915050610582565b508091505092915050565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b60045481565b6000600a600e8361061d9190612093565b610627919061212d565b9050919050565b60606004548210610674576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066b906121aa565b60405180910390fd5b600080838152602001908152602001600020600601805480602002602001604051908101604052809291908181526020016000905b828210156107555783829060005260206000200180546106c890611fc7565b80601f01602080910402602001604051908101604052809291908181526020018280546106f490611fc7565b80156107415780601f1061071657610100808354040283529160200191610741565b820191906000526020600020905b81548152906001019060200180831161072457829003601f168201915b5050505050815260200190600101906106a9565b505050509050919050565b60055482106107a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161079b90612216565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16148061087557503373ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b6108b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ab90612282565b60405180910390fd5b6002600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610951576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094890612314565b60405180910390fd5b60006002600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506109c482826111b2565b5050565b6004548110610a0c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a03906121aa565b60405180910390fd5b426000808381526020019081526020016000206005015411610a63576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5a90612380565b60405180910390fd5b600080828152602001908152602001600020600201546000808381526020019081526020016000206007018054905010610ad2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ac9906123ec565b60405180910390fd5b600080828152602001908152602001600020600401543414610b29576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2090612458565b60405180910390fd5b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018281525060016000600554815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155905050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600554908060018154018082558091505060019003906000526020600020016000909190919091505560056000815480929190610c4890612478565b91905055506000808281526020019081526020016000206003016000815480929190610c7390612478565b9190505550600080600083815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1634604051610cd3906124f1565b60006040518083038185875af1925050503d8060008114610d10576040519150601f19603f3d011682016040523d82523d6000602084013e610d15565b606091505b5050905080610d59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d5090612552565b60405180910390fd5b5050565b60405180610120016040528087815260200186815260200185815260200160008152602001848152602001838152602001828152602001600067ffffffffffffffff811115610daf57610dae611afb565b5b604051908082528060200260200182016040528015610ddd5781602001602082028036833780820191505090505b5081526020013373ffffffffffffffffffffffffffffffffffffffff1681525060008060045481526020019081526020016000206000820151816000019081610e26919061271e565b506020820151816001019081610e3c919061271e565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006019080519060200190610e81929190611591565b5060e0820151816007019080519060200190610e9e9291906115ea565b506101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505060046000815480929190610efd90612478565b9190505550505050505050565b60055481565b60006004548210610f56576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4d906121aa565b60405180910390fd5b610f746000808481526020019081526020016000206004015461060c565b9050919050565b6005548310610fbf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb690612216565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611063576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161105a90612282565b60405180910390fd5b806002600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550505050565b60606004548210611116576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161110d906121aa565b60405180910390fd5b60008083815260200190815260200160002060070180548060200260200160405190810160405280929190818152602001828054801561117557602002820191906000526020600020905b815481526020019060010190808311611161575b50505050509050919050565b6003602052816000526040600020818154811061119d57600080fd5b90600052602060002001600091509150505481565b60055482106111f6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ed90612216565b60405180910390fd5b42600080600160008681526020019081526020016000206002015481526020019081526020016000206005015411611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a90612380565b60405180910390fd5b60006001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000805b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561136a5784600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020828154811061133e5761133d6127f0565b5b906000526020600020015403611357576001915061136a565b808061136290612478565b9150506112a2565b816113aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a190612891565b60405180910390fd5b5b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020805490508110156114cf57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060018261144191906128b1565b81548110611452576114516127f0565b5b9060005260206000200154600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106114ae576114ad6127f0565b5b906000526020600020018190555080806114c790612478565b9150506113ab565b600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050600190039060005260206000200160009091909190915055836001600087815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505050565b8280548282559060005260206000209081019282156115d9579160200282015b828111156115d85782518290816115c8919061271e565b50916020019190600101906115b1565b5b5090506115e69190611637565b5090565b828054828255906000526020600020908101928215611626579160200282015b8281111561162557825182559160200191906001019061160a565b5b509050611633919061165b565b5090565b5b80821115611657576000818161164e9190611678565b50600101611638565b5090565b5b8082111561167457600081600090555060010161165c565b5090565b50805461168490611fc7565b6000825580601f1061169657506116b5565b601f0160209004906000526020600020908101906116b4919061165b565b5b50565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6116df816116cc565b81146116ea57600080fd5b50565b6000813590506116fc816116d6565b92915050565b600060208284031215611718576117176116c2565b5b6000611726848285016116ed565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561176957808201518184015260208101905061174e565b60008484015250505050565b6000601f19601f8301169050919050565b60006117918261172f565b61179b818561173a565b93506117ab81856020860161174b565b6117b481611775565b840191505092915050565b6117c8816116cc565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006117f9826117ce565b9050919050565b611809816117ee565b82525050565b600060e0820190508181036000830152611829818a611786565b9050818103602083015261183d8189611786565b905061184c60408301886117bf565b61185960608301876117bf565b61186660808301866117bf565b61187360a08301856117bf565b61188060c0830184611800565b98975050505050505050565b60008160000b9050919050565b6118a28161188c565b81146118ad57600080fd5b50565b6000813590506118bf81611899565b92915050565b600080604083850312156118dc576118db6116c2565b5b60006118ea858286016116ed565b92505060206118fb858286016118b0565b9150509250929050565b600060208201905061191a60008301846117bf565b92915050565b60006060820190506119356000830186611800565b61194260208301856117bf565b61194f60408301846117bf565b949350505050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b600061199f8261172f565b6119a98185611983565b93506119b981856020860161174b565b6119c281611775565b840191505092915050565b60006119d98383611994565b905092915050565b6000602082019050919050565b60006119f982611957565b611a038185611962565b935083602082028501611a1585611973565b8060005b85811015611a515784840389528151611a3285826119cd565b9450611a3d836119e1565b925060208a01995050600181019050611a19565b50829750879550505050505092915050565b60006020820190508181036000830152611a7d81846119ee565b905092915050565b611a8e816117ee565b8114611a9957600080fd5b50565b600081359050611aab81611a85565b92915050565b60008060408385031215611ac857611ac76116c2565b5b6000611ad6858286016116ed565b9250506020611ae785828601611a9c565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611b3382611775565b810181811067ffffffffffffffff82111715611b5257611b51611afb565b5b80604052505050565b6000611b656116b8565b9050611b718282611b2a565b919050565b600067ffffffffffffffff821115611b9157611b90611afb565b5b611b9a82611775565b9050602081019050919050565b82818337600083830152505050565b6000611bc9611bc484611b76565b611b5b565b905082815260208101848484011115611be557611be4611af6565b5b611bf0848285611ba7565b509392505050565b600082601f830112611c0d57611c0c611af1565b5b8135611c1d848260208601611bb6565b91505092915050565b600067ffffffffffffffff821115611c4157611c40611afb565b5b602082029050602081019050919050565b600080fd5b6000611c6a611c6584611c26565b611b5b565b90508083825260208201905060208402830185811115611c8d57611c8c611c52565b5b835b81811015611cd457803567ffffffffffffffff811115611cb257611cb1611af1565b5b808601611cbf8982611bf8565b85526020850194505050602081019050611c8f565b5050509392505050565b600082601f830112611cf357611cf2611af1565b5b8135611d03848260208601611c57565b91505092915050565b60008060008060008060c08789031215611d2957611d286116c2565b5b600087013567ffffffffffffffff811115611d4757611d466116c7565b5b611d5389828a01611bf8565b965050602087013567ffffffffffffffff811115611d7457611d736116c7565b5b611d8089828a01611bf8565b9550506040611d9189828a016116ed565b9450506060611da289828a016116ed565b9350506080611db389828a016116ed565b92505060a087013567ffffffffffffffff811115611dd457611dd36116c7565b5b611de089828a01611cde565b9150509295509295509295565b60008115159050919050565b611e0281611ded565b8114611e0d57600080fd5b50565b600081359050611e1f81611df9565b92915050565b600080600060608486031215611e3e57611e3d6116c2565b5b6000611e4c868287016116ed565b9350506020611e5d86828701611a9c565b9250506040611e6e86828701611e10565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b611ead816116cc565b82525050565b6000611ebf8383611ea4565b60208301905092915050565b6000602082019050919050565b6000611ee382611e78565b611eed8185611e83565b9350611ef883611e94565b8060005b83811015611f29578151611f108882611eb3565b9750611f1b83611ecb565b925050600181019050611efc565b5085935050505092915050565b60006020820190508181036000830152611f508184611ed8565b905092915050565b60008060408385031215611f6f57611f6e6116c2565b5b6000611f7d85828601611a9c565b9250506020611f8e858286016116ed565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680611fdf57607f821691505b602082108103611ff257611ff1611f98565b5b50919050565b7f4578706f6e656e74206d757374206265206e6f6e2d6e65676174697665000000600082015250565b600061202e601d8361173a565b915061203982611ff8565b602082019050919050565b6000602082019050818103600083015261205d81612021565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061209e826116cc565b91506120a9836116cc565b92508282026120b7816116cc565b915082820484148315176120ce576120cd612064565b5b5092915050565b60006120e08261188c565b9150607f82036120f3576120f2612064565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000612138826116cc565b9150612143836116cc565b925082612153576121526120fe565b5b828204905092915050565b7f496e76616c6964206576656e7420494400000000000000000000000000000000600082015250565b600061219460108361173a565b915061219f8261215e565b602082019050919050565b600060208201905081810360008301526121c381612187565b9050919050565b7f496e76616c6964207469636b6574204944000000000000000000000000000000600082015250565b600061220060118361173a565b915061220b826121ca565b602082019050919050565b6000602082019050818103600083015261222f816121f3565b9050919050565b7f596f7520646f206e6f74206f776e2074686973207469636b6574000000000000600082015250565b600061226c601a8361173a565b915061227782612236565b602082019050919050565b6000602082019050818103600083015261229b8161225f565b9050919050565b7f596f7520617265206e6f7420616c6c6f77656420746f207472616e736665722060008201527f74686973207469636b6574000000000000000000000000000000000000000000602082015250565b60006122fe602b8361173a565b9150612309826122a2565b604082019050919050565b6000602082019050818103600083015261232d816122f1565b9050919050565b7f4576656e742068617320616c7265616479207061737365640000000000000000600082015250565b600061236a60188361173a565b915061237582612334565b602082019050919050565b600060208201905081810360008301526123998161235d565b9050919050565b7f4576656e742069732066756c6c00000000000000000000000000000000000000600082015250565b60006123d6600d8361173a565b91506123e1826123a0565b602082019050919050565b60006020820190508181036000830152612405816123c9565b9050919050565b7f496e76616c6964207469636b6574207072696365000000000000000000000000600082015250565b600061244260148361173a565b915061244d8261240c565b602082019050919050565b6000602082019050818103600083015261247181612435565b9050919050565b6000612483826116cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036124b5576124b4612064565b5b600182019050919050565b600081905092915050565b50565b60006124db6000836124c0565b91506124e6826124cb565b600082019050919050565b60006124fc826124ce565b9150819050919050565b7f4661696c656420746f2073656e6420464c5220746f206576656e7420686f7374600082015250565b600061253c60208361173a565b915061254782612506565b602082019050919050565b6000602082019050818103600083015261256b8161252f565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026125d47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612597565b6125de8683612597565b95508019841693508086168417925050509392505050565b6000819050919050565b600061261b612616612611846116cc565b6125f6565b6116cc565b9050919050565b6000819050919050565b61263583612600565b61264961264182612622565b8484546125a4565b825550505050565b600090565b61265e612651565b61266981848461262c565b505050565b5b8181101561268d57612682600082612656565b60018101905061266f565b5050565b601f8211156126d2576126a381612572565b6126ac84612587565b810160208510156126bb578190505b6126cf6126c785612587565b83018261266e565b50505b505050565b600082821c905092915050565b60006126f5600019846008026126d7565b1980831691505092915050565b600061270e83836126e4565b9150826002028217905092915050565b6127278261172f565b67ffffffffffffffff8111156127405761273f611afb565b5b61274a8254611fc7565b612755828285612691565b600060209050601f8311600181146127885760008415612776578287015190505b6127808582612702565b8655506127e8565b601f19841661279686612572565b60005b828110156127be57848901518255600182019150602085019450602081019050612799565b868310156127db57848901516127d7601f8916826126e4565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f5469636b6574206e6f7420666f756e6420696e2073656e646572277320696e7660008201527f656e746f72790000000000000000000000000000000000000000000000000000602082015250565b600061287b60268361173a565b91506128868261281f565b604082019050919050565b600060208201905081810360008301526128aa8161286e565b9050919050565b60006128bc826116cc565b91506128c7836116cc565b92508282019050808211156128df576128de612064565b5b9291505056fea26469706673582212202f572c5797786cfc7605676cb3cafa19112110e469b48f6d0342d1545a14139764736f6c63430008130033"; + '0x608060405234801561001057600080fd5b50612b4c806100206000396000f3fe6080604052600436106100dd5760003560e01c80637043b5131161007f5780638ccc77d5116100595780638ccc77d5146102f35780639423300314610330578063ca261ce114610359578063cf260baf14610396576100dd565b80637043b513146102625780637ae5ee9d1461028b5780638c4d59d0146102c8576100dd565b80635b5dade4116100bb5780635b5dade41461018f5780635cd84668146101cc578063679ebf1a1461020957806367dd74ca14610232576100dd565b80630b791430146100e257806350b447121461012557806352c55db914610164575b600080fd5b3480156100ee57600080fd5b50610109600480360381019061010491906118d1565b6103d3565b60405161011c97969594939291906119de565b60405180910390f35b34801561013157600080fd5b5061014c600480360381019061014791906118d1565b610545565b60405161015b93929190611a7c565b60405180910390f35b34801561017057600080fd5b5061017961058f565b6040516101869190611ab3565b60405180910390f35b34801561019b57600080fd5b506101b660048036038101906101b191906118d1565b610595565b6040516101c39190611ab3565b60405180910390f35b3480156101d857600080fd5b506101f360048036038101906101ee91906118d1565b6105b1565b6040516102009190611bda565b60405180910390f35b34801561021557600080fd5b50610230600480360381019061022b9190611c28565b6106e3565b005b61024c600480360381019061024791906118d1565b6107d9565b6040516102599190611ab3565b60405180910390f35b34801561026e57600080fd5b5061028960048036038101906102849190611c28565b610cd3565b005b34801561029757600080fd5b506102b260048036038101906102ad9190611e83565b610de7565b6040516102bf9190611ab3565b60405180910390f35b3480156102d457600080fd5b506102dd610ff2565b6040516102ea9190611ab3565b60405180910390f35b3480156102ff57600080fd5b5061031a600480360381019061031591906118d1565b610ff8565b6040516103279190611ab3565b60405180910390f35b34801561033c57600080fd5b5061035760048036038101906103529190611f9c565b611063565b005b34801561036557600080fd5b50610380600480360381019061037b91906118d1565b6111f3565b60405161038d91906120ad565b60405180910390f35b3480156103a257600080fd5b506103bd60048036038101906103b891906120cf565b6112a4565b6040516103ca9190611ab3565b60405180910390f35b60006020528060005260406000206000915090508060000180546103f69061213e565b80601f01602080910402602001604051908101604052809291908181526020018280546104229061213e565b801561046f5780601f106104445761010080835404028352916020019161046f565b820191906000526020600020905b81548152906001019060200180831161045257829003601f168201915b5050505050908060010180546104849061213e565b80601f01602080910402602001604051908101604052809291908181526020018280546104b09061213e565b80156104fd5780601f106104d2576101008083540402835291602001916104fd565b820191906000526020600020905b8154815290600101906020018083116104e057829003601f168201915b5050505050908060020154908060030154908060040154908060050154908060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905087565b60016020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010154908060020154905083565b60045481565b6000662386f26fc10000826105aa919061219e565b9050919050565b606060045482106105f7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105ee9061222c565b60405180910390fd5b600080838152602001908152602001600020600601805480602002602001604051908101604052809291908181526020016000905b828210156106d857838290600052602060002001805461064b9061213e565b80601f01602080910402602001604051908101604052809291908181526020018280546106779061213e565b80156106c45780601f10610699576101008083540402835291602001916106c4565b820191906000526020600020905b8154815290600101906020018083116106a757829003601f168201915b50505050508152602001906001019061062c565b505050509050919050565b6005548210610727576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161071e90612298565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146107cb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107c290612304565b60405180910390fd5b6107d582826112d5565b5050565b6000600454821061081f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108169061222c565b60405180910390fd5b426000808481526020019081526020016000206005015411610876576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161086d90612370565b60405180910390fd5b6000808381526020019081526020016000206002015460008084815260200190815260200160002060070180549050106108e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108dc906123dc565b60405180910390fd5b60006108f083610ff8565b905080341015610935576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092c90612448565b60405180910390fd5b803411156109f65760003373ffffffffffffffffffffffffffffffffffffffff1682346109629190612468565b60405161096e906124cd565b60006040518083038185875af1925050503d80600081146109ab576040519150601f19603f3d011682016040523d82523d6000602084013e6109b0565b606091505b50509050806109f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109eb90612554565b60405180910390fd5b505b60405180606001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020014281526020018481525060016000600554815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015560408201518160020155905050600360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600554908060018154018082558091505060019003906000526020600020016000909190919091505560056000815480929190610b1590612574565b91905055506000808481526020019081526020016000206007016001600554610b3e9190612468565b90806001815401808255809150506001900390600052602060002001600090919091909150556000808481526020019081526020016000206003016000815480929190610b8a90612574565b9190505550600080600085815260200190815260200160002060080160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1682604051610bea906124cd565b60006040518083038185875af1925050503d8060008114610c27576040519150601f19603f3d011682016040523d82523d6000602084013e610c2c565b606091505b5050905080610c70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c6790612608565b60405180910390fd5b7fc3b7539e996dc1d1252af1e3c72474162b7a9c7cc7411ca8905732eaf6fff3286001600554610ca09190612468565b853385604051610cb39493929190612628565b60405180910390a16001600554610cca9190612468565b92505050919050565b6002600083815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16610d70576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d67906126df565b60405180910390fd5b60006002600084815260200190815260200160002060003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610de382826112d5565b5050565b600060405180610120016040528088815260200187815260200186815260200160008152602001858152602001848152602001838152602001600067ffffffffffffffff811115610e3b57610e3a611c72565b5b604051908082528060200260200182016040528015610e695781602001602082028036833780820191505090505b5081526020013373ffffffffffffffffffffffffffffffffffffffff1681525060008060045481526020019081526020016000206000820151816000019081610eb291906128ab565b506020820151816001019081610ec891906128ab565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006019080519060200190610f0d929190611760565b5060e0820151816007019080519060200190610f2a9291906117b9565b506101008201518160080160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555090505060046000815480929190610f8990612574565b91905055507fee37bb5143a14810f72e86fce895be08e16090409d2e18f79b308995e39b73d46001600454610fbe9190612468565b8885604051610fcf9392919061297d565b60405180910390a16001600454610fe69190612468565b90509695505050505050565b60055481565b6000600454821061103e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110359061222c565b60405180910390fd5b61105c60008084815260200190815260200160002060040154610595565b9050919050565b60055483106110a7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161109e90612298565b60405180910390fd5b3373ffffffffffffffffffffffffffffffffffffffff166001600085815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461114b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114290612304565b60405180910390fd5b806002600085815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055507f63803f0021b2f604baa896668f161a21aa7e6c480c426f886d76ade206a2861a8333846040516111e6939291906129bb565b60405180910390a1505050565b60606004548210611239576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112309061222c565b60405180910390fd5b60008083815260200190815260200160002060070180548060200260200160405190810160405280929190818152602001828054801561129857602002820191906000526020600020905b815481526020019060010190808311611284575b50505050509050919050565b600360205281600052604060002081815481106112c057600080fd5b90600052602060002001600091509150505481565b6005548210611319576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161131090612298565b60405180910390fd5b42600080600160008681526020019081526020016000206002015481526020019081526020016000206005015411611386576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161137d90612370565b60405180910390fd5b60006001600084815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690506000805b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905081101561148d5784600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208281548110611461576114606129f2565b5b90600052602060002001540361147a576001915061148d565b808061148590612574565b9150506113c5565b816114cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114c490612a93565b60405180910390fd5b5b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208054905061151d9190612468565b8110156115fe57600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206001826115709190612ab3565b81548110611581576115806129f2565b5b9060005260206000200154600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002082815481106115dd576115dc6129f2565b5b906000526020600020018190555080806115f690612574565b9150506114ce565b600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002080548061164d5761164c612ae7565b5b60019003818190600052602060002001600090559055600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020859080600181540180825580915050600190039060005260206000200160009091909190915055836001600087815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd15524263ae66f75c1e604c47db6085085110f23ef7322b355179ac5e3b0783a858486604051611751939291906129bb565b60405180910390a15050505050565b8280548282559060005260206000209081019282156117a8579160200282015b828111156117a757825182908161179791906128ab565b5091602001919060010190611780565b5b5090506117b59190611806565b5090565b8280548282559060005260206000209081019282156117f5579160200282015b828111156117f45782518255916020019190600101906117d9565b5b509050611802919061182a565b5090565b5b80821115611826576000818161181d9190611847565b50600101611807565b5090565b5b8082111561184357600081600090555060010161182b565b5090565b5080546118539061213e565b6000825580601f106118655750611884565b601f016020900490600052602060002090810190611883919061182a565b5b50565b6000604051905090565b600080fd5b600080fd5b6000819050919050565b6118ae8161189b565b81146118b957600080fd5b50565b6000813590506118cb816118a5565b92915050565b6000602082840312156118e7576118e6611891565b5b60006118f5848285016118bc565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561193857808201518184015260208101905061191d565b60008484015250505050565b6000601f19601f8301169050919050565b6000611960826118fe565b61196a8185611909565b935061197a81856020860161191a565b61198381611944565b840191505092915050565b6119978161189b565b82525050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006119c88261199d565b9050919050565b6119d8816119bd565b82525050565b600060e08201905081810360008301526119f8818a611955565b90508181036020830152611a0c8189611955565b9050611a1b604083018861198e565b611a28606083018761198e565b611a35608083018661198e565b611a4260a083018561198e565b611a4f60c08301846119cf565b98975050505050505050565b6000611a668261199d565b9050919050565b611a7681611a5b565b82525050565b6000606082019050611a916000830186611a6d565b611a9e602083018561198e565b611aab604083018461198e565b949350505050565b6000602082019050611ac8600083018461198e565b92915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b600082825260208201905092915050565b6000611b16826118fe565b611b208185611afa565b9350611b3081856020860161191a565b611b3981611944565b840191505092915050565b6000611b508383611b0b565b905092915050565b6000602082019050919050565b6000611b7082611ace565b611b7a8185611ad9565b935083602082028501611b8c85611aea565b8060005b85811015611bc85784840389528151611ba98582611b44565b9450611bb483611b58565b925060208a01995050600181019050611b90565b50829750879550505050505092915050565b60006020820190508181036000830152611bf48184611b65565b905092915050565b611c0581611a5b565b8114611c1057600080fd5b50565b600081359050611c2281611bfc565b92915050565b60008060408385031215611c3f57611c3e611891565b5b6000611c4d858286016118bc565b9250506020611c5e85828601611c13565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b611caa82611944565b810181811067ffffffffffffffff82111715611cc957611cc8611c72565b5b80604052505050565b6000611cdc611887565b9050611ce88282611ca1565b919050565b600067ffffffffffffffff821115611d0857611d07611c72565b5b611d1182611944565b9050602081019050919050565b82818337600083830152505050565b6000611d40611d3b84611ced565b611cd2565b905082815260208101848484011115611d5c57611d5b611c6d565b5b611d67848285611d1e565b509392505050565b600082601f830112611d8457611d83611c68565b5b8135611d94848260208601611d2d565b91505092915050565b600067ffffffffffffffff821115611db857611db7611c72565b5b602082029050602081019050919050565b600080fd5b6000611de1611ddc84611d9d565b611cd2565b90508083825260208201905060208402830185811115611e0457611e03611dc9565b5b835b81811015611e4b57803567ffffffffffffffff811115611e2957611e28611c68565b5b808601611e368982611d6f565b85526020850194505050602081019050611e06565b5050509392505050565b600082601f830112611e6a57611e69611c68565b5b8135611e7a848260208601611dce565b91505092915050565b60008060008060008060c08789031215611ea057611e9f611891565b5b600087013567ffffffffffffffff811115611ebe57611ebd611896565b5b611eca89828a01611d6f565b965050602087013567ffffffffffffffff811115611eeb57611eea611896565b5b611ef789828a01611d6f565b9550506040611f0889828a016118bc565b9450506060611f1989828a016118bc565b9350506080611f2a89828a016118bc565b92505060a087013567ffffffffffffffff811115611f4b57611f4a611896565b5b611f5789828a01611e55565b9150509295509295509295565b60008115159050919050565b611f7981611f64565b8114611f8457600080fd5b50565b600081359050611f9681611f70565b92915050565b600080600060608486031215611fb557611fb4611891565b5b6000611fc3868287016118bc565b9350506020611fd486828701611c13565b9250506040611fe586828701611f87565b9150509250925092565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6120248161189b565b82525050565b6000612036838361201b565b60208301905092915050565b6000602082019050919050565b600061205a82611fef565b6120648185611ffa565b935061206f8361200b565b8060005b838110156120a0578151612087888261202a565b975061209283612042565b925050600181019050612073565b5085935050505092915050565b600060208201905081810360008301526120c7818461204f565b905092915050565b600080604083850312156120e6576120e5611891565b5b60006120f485828601611c13565b9250506020612105858286016118bc565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061215657607f821691505b6020821081036121695761216861210f565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006121a98261189b565b91506121b48361189b565b92508282026121c28161189b565b915082820484148315176121d9576121d861216f565b5b5092915050565b7f496e76616c6964206576656e7420494400000000000000000000000000000000600082015250565b6000612216601083611909565b9150612221826121e0565b602082019050919050565b6000602082019050818103600083015261224581612209565b9050919050565b7f496e76616c6964207469636b6574204944000000000000000000000000000000600082015250565b6000612282601183611909565b915061228d8261224c565b602082019050919050565b600060208201905081810360008301526122b181612275565b9050919050565b7f596f7520646f206e6f74206f776e2074686973207469636b6574000000000000600082015250565b60006122ee601a83611909565b91506122f9826122b8565b602082019050919050565b6000602082019050818103600083015261231d816122e1565b9050919050565b7f4576656e742068617320616c7265616479207061737365640000000000000000600082015250565b600061235a601883611909565b915061236582612324565b602082019050919050565b600060208201905081810360008301526123898161234d565b9050919050565b7f4576656e742069732066756c6c00000000000000000000000000000000000000600082015250565b60006123c6600d83611909565b91506123d182612390565b602082019050919050565b600060208201905081810360008301526123f5816123b9565b9050919050565b7f496e73756666696369656e742076616c75652070726f76696465640000000000600082015250565b6000612432601b83611909565b915061243d826123fc565b602082019050919050565b6000602082019050818103600083015261246181612425565b9050919050565b60006124738261189b565b915061247e8361189b565b92508282039050818111156124965761249561216f565b5b92915050565b600081905092915050565b50565b60006124b760008361249c565b91506124c2826124a7565b600082019050919050565b60006124d8826124aa565b9150819050919050565b7f4661696c656420746f2073656e6420464c5220657863657373206261636b207460008201527f6f20627579657200000000000000000000000000000000000000000000000000602082015250565b600061253e602783611909565b9150612549826124e2565b604082019050919050565b6000602082019050818103600083015261256d81612531565b9050919050565b600061257f8261189b565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036125b1576125b061216f565b5b600182019050919050565b7f4661696c656420746f2073656e6420464c5220746f206576656e7420686f7374600082015250565b60006125f2602083611909565b91506125fd826125bc565b602082019050919050565b60006020820190508181036000830152612621816125e5565b9050919050565b600060808201905061263d600083018761198e565b61264a602083018661198e565b6126576040830185611a6d565b612664606083018461198e565b95945050505050565b7f596f7520617265206e6f7420616c6c6f77656420746f207472616e736665722060008201527f74686973207469636b6574000000000000000000000000000000000000000000602082015250565b60006126c9602b83611909565b91506126d48261266d565b604082019050919050565b600060208201905081810360008301526126f8816126bc565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026127617fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82612724565b61276b8683612724565b95508019841693508086168417925050509392505050565b6000819050919050565b60006127a86127a361279e8461189b565b612783565b61189b565b9050919050565b6000819050919050565b6127c28361278d565b6127d66127ce826127af565b848454612731565b825550505050565b600090565b6127eb6127de565b6127f68184846127b9565b505050565b5b8181101561281a5761280f6000826127e3565b6001810190506127fc565b5050565b601f82111561285f57612830816126ff565b61283984612714565b81016020851015612848578190505b61285c61285485612714565b8301826127fb565b50505b505050565b600082821c905092915050565b600061288260001984600802612864565b1980831691505092915050565b600061289b8383612871565b9150826002028217905092915050565b6128b4826118fe565b67ffffffffffffffff8111156128cd576128cc611c72565b5b6128d7825461213e565b6128e282828561281e565b600060209050601f8311600181146129155760008415612903578287015190505b61290d858261288f565b865550612975565b601f198416612923866126ff565b60005b8281101561294b57848901518255600182019150602085019450602081019050612926565b868310156129685784890151612964601f891682612871565b8355505b6001600288020188555050505b505050505050565b6000606082019050612992600083018661198e565b81810360208301526129a48185611955565b90506129b3604083018461198e565b949350505050565b60006060820190506129d0600083018661198e565b6129dd6020830185611a6d565b6129ea6040830184611a6d565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f5469636b6574206e6f7420666f756e6420696e2073656e646572277320696e7660008201527f656e746f72790000000000000000000000000000000000000000000000000000602082015250565b6000612a7d602683611909565b9150612a8882612a21565b604082019050919050565b60006020820190508181036000830152612aac81612a70565b9050919050565b6000612abe8261189b565b9150612ac98361189b565b9250828201905080821115612ae157612ae061216f565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fdfea2646970667358221220386a60830fb6c92ea45522b6212cda6dafcebab01f54d610d146f66a7022882964736f6c63430008130033'; type EventManagerConstructorParams = | [signer?: Signer]