├── .DS_Store
├── .gitattributes
├── LICENSE
├── README.md
├── client
├── .gitignore
├── README.md
├── package-lock.json
├── package.json
├── public
│ ├── _redirects
│ ├── favicon.ico
│ ├── images
│ │ ├── config.png
│ │ ├── export.png
│ │ ├── folder.png
│ │ ├── illustration.svg
│ │ └── layers.png
│ ├── index.html
│ ├── logo.png
│ ├── logo192.png
│ ├── logo512.png
│ ├── manifest.json
│ └── robots.txt
├── src
│ ├── App.js
│ ├── components
│ │ ├── Box.js
│ │ ├── chip
│ │ │ ├── Chip.js
│ │ │ └── chip.scss
│ │ ├── loading
│ │ │ ├── Loading.js
│ │ │ └── loading.scss
│ │ └── navbar
│ │ │ ├── Navbar.js
│ │ │ └── navbar.scss
│ ├── contracts
│ │ ├── Address.json
│ │ ├── AggregatorV3Interface.json
│ │ ├── Context.json
│ │ ├── Counters.json
│ │ ├── CustomCollection.json
│ │ ├── ERC165.json
│ │ ├── ERC721.json
│ │ ├── ERC721URIStorage.json
│ │ ├── IERC165.json
│ │ ├── IERC721.json
│ │ ├── IERC721Metadata.json
│ │ ├── IERC721Receiver.json
│ │ ├── Marketplace.json
│ │ ├── Migrations.json
│ │ ├── Pricefeed.json
│ │ ├── ReentrancyGuard.json
│ │ └── Strings.json
│ ├── index.js
│ ├── index.scss
│ ├── logo.svg
│ ├── outfit_regular.ttf
│ ├── pages
│ │ ├── collection_page
│ │ │ ├── CollectionPage.js
│ │ │ └── collection_page.scss
│ │ ├── doc_page
│ │ │ ├── DocPage.js
│ │ │ └── doc_page.scss
│ │ ├── generate_page
│ │ │ ├── GeneratePage.js
│ │ │ └── generate_page.scss
│ │ ├── landing_page
│ │ │ ├── LandingPage.js
│ │ │ └── landing_page.scss
│ │ ├── mint_page
│ │ │ ├── MintPage.js
│ │ │ └── mint_page.scss
│ │ ├── preview_page
│ │ │ └── PreviewPage.js
│ │ └── success_page
│ │ │ ├── SuccessPage.js
│ │ │ └── success_page.scss
│ ├── providers
│ │ ├── connection_provider.js
│ │ ├── generate_provider.js
│ │ └── mint_provider.js
│ ├── serviceWorker.js
│ └── services
│ │ └── ipfs_service.js
└── yarn.lock
├── contracts
├── CustomCollection.sol
├── Marketplace.sol
├── Migrations.sol
└── PriceFeed.sol
├── migrations
├── 1_initial_migration.js
└── 2_deploy_contracts.js
├── node_modules
├── .package-lock.json
├── @chainlink
│ └── contracts
│ │ ├── CHANGELOG.md
│ │ ├── README.md
│ │ ├── abi
│ │ ├── @openzeppelin
│ │ │ └── contracts
│ │ │ │ ├── proxy
│ │ │ │ └── Proxy.sol
│ │ │ │ │ └── Proxy.json
│ │ │ │ └── security
│ │ │ │ └── Pausable.sol
│ │ │ │ └── Pausable.json
│ │ ├── v0.4
│ │ │ ├── Aggregator.json
│ │ │ ├── AggregatorInterface.json
│ │ │ ├── AggregatorV3Interface.json
│ │ │ ├── BasicConsumer.json
│ │ │ ├── BasicToken.json
│ │ │ ├── ChainlinkClient.json
│ │ │ ├── ChainlinkRequestInterface.json
│ │ │ ├── Chainlinked.json
│ │ │ ├── ConcreteChainlink.json
│ │ │ ├── ConcreteChainlinked.json
│ │ │ ├── Consumer.json
│ │ │ ├── ENS.json
│ │ │ ├── ENSInterface.json
│ │ │ ├── ENSRegistry.json
│ │ │ ├── ENSResolver.json
│ │ │ ├── ERC20.json
│ │ │ ├── ERC20Basic.json
│ │ │ ├── ERC677.json
│ │ │ ├── ERC677Receiver.json
│ │ │ ├── ERC677Token.json
│ │ │ ├── EmptyOracle.json
│ │ │ ├── FlagsInterface.json
│ │ │ ├── GetterSetter.json
│ │ │ ├── LinkToken.json
│ │ │ ├── LinkTokenInterface.json
│ │ │ ├── MaliciousChainlinked.json
│ │ │ ├── MaliciousConsumer.json
│ │ │ ├── MaliciousRequester.json
│ │ │ ├── Migrations.json
│ │ │ ├── Oracle.json
│ │ │ ├── OracleInterface.json
│ │ │ ├── Ownable.json
│ │ │ ├── Pointer.json
│ │ │ ├── PointerInterface.json
│ │ │ ├── PublicResolver.json
│ │ │ ├── StandardToken.json
│ │ │ └── UpdatableConsumer.json
│ │ ├── v0.5
│ │ │ ├── AggregatorInterface.json
│ │ │ ├── AggregatorV2V3Interface.json
│ │ │ ├── AggregatorV3Interface.json
│ │ │ ├── BasicConsumer.json
│ │ │ ├── ChainlinkClient.json
│ │ │ ├── ChainlinkRequestInterface.json
│ │ │ ├── ChainlinkTestHelper.json
│ │ │ ├── Consumer.json
│ │ │ ├── Coordinator.json
│ │ │ ├── CoordinatorInterface.json
│ │ │ ├── ENSInterface.json
│ │ │ ├── ENSResolver.json
│ │ │ ├── EmptyAggregator.json
│ │ │ ├── FlagsInterface.json
│ │ │ ├── GetterSetter.json
│ │ │ ├── LinkTokenInterface.json
│ │ │ ├── LinkTokenReceiver.json
│ │ │ ├── MaliciousChainlinkClient.json
│ │ │ ├── MaliciousConsumer.json
│ │ │ ├── MaliciousRequester.json
│ │ │ ├── MeanAggregator.json
│ │ │ ├── MedianTestHelper.json
│ │ │ ├── Migrations.json
│ │ │ ├── Oracle.json
│ │ │ ├── OracleInterface.json
│ │ │ ├── Ownable.json
│ │ │ ├── PointerInterface.json
│ │ │ ├── SchnorrSECP256K1.json
│ │ │ ├── ServiceAgreementConsumer.json
│ │ │ └── WithdrawalInterface.json
│ │ ├── v0.6
│ │ │ ├── AccessControllerInterface.json
│ │ │ ├── AggregatorFacade.json
│ │ │ ├── AggregatorInterface.json
│ │ │ ├── AggregatorV2V3Interface.json
│ │ │ ├── AggregatorV3Interface.json
│ │ │ ├── AggregatorValidatorInterface.json
│ │ │ ├── AggregatorValidatorMock.json
│ │ │ ├── BasicConsumer.json
│ │ │ ├── BlockHashStoreInterface.json
│ │ │ ├── BlockhashStore.json
│ │ │ ├── BlockhashStoreTestHelper.json
│ │ │ ├── ChainlinkClient.json
│ │ │ ├── ChainlinkClientTestHelper.json
│ │ │ ├── ChainlinkRequestInterface.json
│ │ │ ├── ChainlinkTestHelper.json
│ │ │ ├── CheckedMathTestHelper.json
│ │ │ ├── ConcreteSignedSafeMath.json
│ │ │ ├── Consumer.json
│ │ │ ├── Denominations.json
│ │ │ ├── DeviationFlaggingValidator.json
│ │ │ ├── ENSInterface.json
│ │ │ ├── ENSResolver.json
│ │ │ ├── EmptyOracle.json
│ │ │ ├── FeedRegistryInterface.json
│ │ │ ├── Flags.json
│ │ │ ├── FlagsInterface.json
│ │ │ ├── FlagsTestHelper.json
│ │ │ ├── FluxAggregator.json
│ │ │ ├── FluxAggregatorTestHelper.json
│ │ │ ├── GasGuzzler.json
│ │ │ ├── GasGuzzlingConsumer.json
│ │ │ ├── KeeperCompatible.json
│ │ │ ├── KeeperCompatibleInterface.json
│ │ │ ├── KeeperCompatibleTestHelper.json
│ │ │ ├── LinkTokenInterface.json
│ │ │ ├── LinkTokenReceiver.json
│ │ │ ├── MaliciousMultiWordConsumer.json
│ │ │ ├── MedianTestHelper.json
│ │ │ ├── MockOracle.json
│ │ │ ├── MockV3Aggregator.json
│ │ │ ├── MultiWordConsumer.json
│ │ │ ├── Oracle.json
│ │ │ ├── OracleInterface.json
│ │ │ ├── Ownable.json
│ │ │ ├── Owned.json
│ │ │ ├── PointerInterface.json
│ │ │ ├── Reverter.json
│ │ │ ├── SimpleReadAccessController.json
│ │ │ ├── SimpleWriteAccessController.json
│ │ │ ├── VRF.json
│ │ │ ├── VRFConsumer.json
│ │ │ ├── VRFConsumerBase.json
│ │ │ ├── VRFCoordinator.json
│ │ │ ├── VRFCoordinatorMock.json
│ │ │ ├── VRFD20.json
│ │ │ ├── VRFRequestIDBaseTestHelper.json
│ │ │ ├── VRFTestHelper.json
│ │ │ └── WithdrawalInterface.json
│ │ ├── v0.7
│ │ │ ├── AggregatorInterface.json
│ │ │ ├── AggregatorProxy.json
│ │ │ ├── AggregatorProxyInterface.json
│ │ │ ├── AggregatorV2V3Interface.json
│ │ │ ├── AggregatorV3Interface.json
│ │ │ ├── AuthorizedForwarder.json
│ │ │ ├── AuthorizedReceiver.json
│ │ │ ├── AuthorizedReceiverInterface.json
│ │ │ ├── ChainlinkClient.json
│ │ │ ├── ChainlinkClientTestHelper.json
│ │ │ ├── ChainlinkRequestInterface.json
│ │ │ ├── ChainlinkTestHelper.json
│ │ │ ├── CompoundPriceFlaggingValidator.json
│ │ │ ├── ConfirmedOwner.json
│ │ │ ├── ConfirmedOwnerTestHelper.json
│ │ │ ├── ConfirmedOwnerWithProposal.json
│ │ │ ├── Consumer.json
│ │ │ ├── Denominations.json
│ │ │ ├── ENSInterface.json
│ │ │ ├── ENSResolver.json
│ │ │ ├── FeedRegistryInterface.json
│ │ │ ├── FlagsInterface.json
│ │ │ ├── KeeperCompatible.json
│ │ │ ├── KeeperCompatibleInterface.json
│ │ │ ├── KeeperCompatibleTestHelper.json
│ │ │ ├── KeeperRegistry.json
│ │ │ ├── KeeperRegistryBaseInterface.json
│ │ │ ├── KeeperRegistryExecutableInterface.json
│ │ │ ├── KeeperRegistryInterface.json
│ │ │ ├── LinkTokenInterface.json
│ │ │ ├── LinkTokenReceiver.json
│ │ │ ├── MockCompoundOracle.json
│ │ │ ├── MockV2Aggregator.json
│ │ │ ├── MockV3Aggregator.json
│ │ │ ├── MultiWordConsumer.json
│ │ │ ├── Operator.json
│ │ │ ├── OperatorFactory.json
│ │ │ ├── OperatorInterface.json
│ │ │ ├── OracleInterface.json
│ │ │ ├── OwnableInterface.json
│ │ │ ├── Pausable.json
│ │ │ ├── PointerInterface.json
│ │ │ ├── StalenessFlaggingValidator.json
│ │ │ ├── TypeAndVersionInterface.json
│ │ │ ├── UniswapAnchoredView.json
│ │ │ ├── UpkeepMock.json
│ │ │ ├── UpkeepRegistrationRequests.json
│ │ │ ├── UpkeepReverter.json
│ │ │ ├── VRFConsumerBase.json
│ │ │ ├── VRFCoordinatorMock.json
│ │ │ └── WithdrawalInterface.json
│ │ └── v0.8
│ │ │ ├── AccessControllerInterface.json
│ │ │ ├── AggregatorInterface.json
│ │ │ ├── AggregatorV2V3Interface.json
│ │ │ ├── AggregatorV3Interface.json
│ │ │ ├── AggregatorValidatorInterface.json
│ │ │ ├── ArbSys.json
│ │ │ ├── ArbitrumCrossDomainForwarder.json
│ │ │ ├── ArbitrumValidator.json
│ │ │ ├── BlockhashStoreInterface.json
│ │ │ ├── ChainlinkClient.json
│ │ │ ├── ChainlinkClientTestHelper.json
│ │ │ ├── ChainlinkRequestInterface.json
│ │ │ ├── ChainlinkTestHelper.json
│ │ │ ├── ConfirmedOwner.json
│ │ │ ├── ConfirmedOwnerWithProposal.json
│ │ │ ├── Cron.json
│ │ │ ├── CronExternalTestHelper.json
│ │ │ ├── CronInternalTestHelper.json
│ │ │ ├── CronReceiver.json
│ │ │ ├── CronUpkeep.json
│ │ │ ├── CronUpkeepDelegate.json
│ │ │ ├── CronUpkeepFactory.json
│ │ │ ├── CronUpkeepTestHelper.json
│ │ │ ├── CrossDomainForwarder.json
│ │ │ ├── Denominations.json
│ │ │ ├── ENSInterface.json
│ │ │ ├── ENSResolver.json
│ │ │ ├── ERC677ReceiverInterface.json
│ │ │ ├── EthBalanceMonitor.json
│ │ │ ├── EthBalanceMonitorExposed.json
│ │ │ ├── FeedRegistryInterface.json
│ │ │ ├── Flags.json
│ │ │ ├── FlagsInterface.json
│ │ │ ├── FlagsTestHelper.json
│ │ │ ├── ForwarderInterface.json
│ │ │ ├── IBridge.json
│ │ │ ├── IInbox.json
│ │ │ ├── IMessageProvider.json
│ │ │ ├── KeeperBase.json
│ │ │ ├── KeeperCompatible.json
│ │ │ ├── KeeperCompatibleInterface.json
│ │ │ ├── KeeperCompatibleTestHelper.json
│ │ │ ├── LinkTokenInterface.json
│ │ │ ├── MockAggregator.json
│ │ │ ├── MockAggregatorValidator.json
│ │ │ ├── OperatorInterface.json
│ │ │ ├── OptimismCrossDomainForwarder.json
│ │ │ ├── OptimismValidator.json
│ │ │ ├── OracleInterface.json
│ │ │ ├── OwnableInterface.json
│ │ │ ├── PointerInterface.json
│ │ │ ├── ReceiveEmitter.json
│ │ │ ├── ReceiveFallbackEmitter.json
│ │ │ ├── ReceiveReverter.json
│ │ │ ├── SimpleReadAccessController.json
│ │ │ ├── SimpleWriteAccessController.json
│ │ │ ├── TypeAndVersionInterface.json
│ │ │ ├── VRFConsumer.json
│ │ │ ├── VRFConsumerBase.json
│ │ │ ├── VRFConsumerBaseV2.json
│ │ │ ├── VRFConsumerV2.json
│ │ │ ├── VRFCoordinatorMock.json
│ │ │ ├── VRFCoordinatorV2.json
│ │ │ ├── VRFCoordinatorV2Interface.json
│ │ │ ├── VRFCoordinatorV2TestHelper.json
│ │ │ ├── VRFExternalSubOwnerExample.json
│ │ │ ├── VRFMaliciousConsumerV2.json
│ │ │ ├── VRFRequestIDBaseTestHelper.json
│ │ │ ├── VRFSingleConsumerExample.json
│ │ │ ├── VRFTestHelper.json
│ │ │ ├── ValidatorProxy.json
│ │ │ └── iOVM_CrossDomainMessenger.json
│ │ ├── package.json
│ │ └── src
│ │ ├── v0.4
│ │ ├── Aggregator.sol
│ │ ├── Chainlink.sol
│ │ ├── ChainlinkClient.sol
│ │ ├── Chainlinked.sol
│ │ ├── ERC677Token.sol
│ │ ├── LinkToken.sol
│ │ ├── Migrations.sol
│ │ ├── Oracle.sol
│ │ ├── Pointer.sol
│ │ ├── interfaces
│ │ │ ├── AggregatorInterface.sol
│ │ │ ├── AggregatorV3Interface.sol
│ │ │ ├── ChainlinkRequestInterface.sol
│ │ │ ├── ENSInterface.sol
│ │ │ ├── ERC20.sol
│ │ │ ├── ERC20Basic.sol
│ │ │ ├── ERC677.sol
│ │ │ ├── ERC677Receiver.sol
│ │ │ ├── FlagsInterface.sol
│ │ │ ├── LinkTokenInterface.sol
│ │ │ ├── OracleInterface.sol
│ │ │ └── PointerInterface.sol
│ │ ├── tests
│ │ │ ├── BasicConsumer.sol
│ │ │ ├── ConcreteChainlink.sol
│ │ │ ├── ConcreteChainlinked.sol
│ │ │ ├── Consumer.sol
│ │ │ ├── EmptyOracle.sol
│ │ │ ├── GetterSetter.sol
│ │ │ ├── MaliciousChainlink.sol
│ │ │ ├── MaliciousChainlinked.sol
│ │ │ ├── MaliciousConsumer.sol
│ │ │ ├── MaliciousRequester.sol
│ │ │ └── UpdatableConsumer.sol
│ │ └── vendor
│ │ │ ├── BasicToken.sol
│ │ │ ├── Buffer.sol
│ │ │ ├── CBOR.sol
│ │ │ ├── ENS.sol
│ │ │ ├── ENSRegistry.sol
│ │ │ ├── ENSResolver.sol
│ │ │ ├── Ownable.sol
│ │ │ ├── PublicResolver.sol
│ │ │ ├── SafeMathChainlink.sol
│ │ │ ├── SignedSafeMath.sol
│ │ │ └── StandardToken.sol
│ │ ├── v0.5
│ │ ├── Chainlink.sol
│ │ ├── ChainlinkClient.sol
│ │ ├── LinkTokenReceiver.sol
│ │ ├── Median.sol
│ │ ├── Migrations.sol
│ │ ├── Oracle.sol
│ │ ├── dev
│ │ │ ├── Coordinator.sol
│ │ │ ├── CoordinatorInterface.sol
│ │ │ ├── OracleSignaturesDecoder.sol
│ │ │ ├── SchnorrSECP256K1.sol
│ │ │ └── ServiceAgreementDecoder.sol
│ │ ├── interfaces
│ │ │ ├── AggregatorInterface.sol
│ │ │ ├── AggregatorV2V3Interface.sol
│ │ │ ├── AggregatorV3Interface.sol
│ │ │ ├── ChainlinkRequestInterface.sol
│ │ │ ├── ENSInterface.sol
│ │ │ ├── FlagsInterface.sol
│ │ │ ├── LinkTokenInterface.sol
│ │ │ ├── OracleInterface.sol
│ │ │ ├── PointerInterface.sol
│ │ │ └── WithdrawalInterface.sol
│ │ ├── tests
│ │ │ ├── BasicConsumer.sol
│ │ │ ├── ChainlinkTestHelper.sol
│ │ │ ├── Consumer.sol
│ │ │ ├── EmptyAggregator.sol
│ │ │ ├── GetterSetter.sol
│ │ │ ├── MaliciousChainlink.sol
│ │ │ ├── MaliciousChainlinkClient.sol
│ │ │ ├── MaliciousConsumer.sol
│ │ │ ├── MaliciousRequester.sol
│ │ │ ├── MeanAggregator.sol
│ │ │ ├── MedianTestHelper.sol
│ │ │ └── ServiceAgreementConsumer.sol
│ │ └── vendor
│ │ │ ├── Buffer.sol
│ │ │ ├── CBOR.sol
│ │ │ ├── ENSResolver.sol
│ │ │ ├── Ownable.sol
│ │ │ ├── SafeMathChainlink.sol
│ │ │ └── SignedSafeMath.sol
│ │ ├── v0.6
│ │ ├── AggregatorFacade.sol
│ │ ├── Chainlink.sol
│ │ ├── ChainlinkClient.sol
│ │ ├── CheckedMath.sol
│ │ ├── Denominations.sol
│ │ ├── DeviationFlaggingValidator.sol
│ │ ├── Flags.sol
│ │ ├── FluxAggregator.sol
│ │ ├── KeeperBase.sol
│ │ ├── KeeperCompatible.sol
│ │ ├── LinkTokenReceiver.sol
│ │ ├── Median.sol
│ │ ├── Oracle.sol
│ │ ├── Owned.sol
│ │ ├── SafeMath128.sol
│ │ ├── SafeMath32.sol
│ │ ├── SafeMath64.sol
│ │ ├── SignedSafeMath.sol
│ │ ├── SimpleReadAccessController.sol
│ │ ├── SimpleWriteAccessController.sol
│ │ ├── VRF.sol
│ │ ├── VRFConsumerBase.sol
│ │ ├── VRFCoordinator.sol
│ │ ├── VRFRequestIDBase.sol
│ │ ├── dev
│ │ │ └── BlockhashStore.sol
│ │ ├── examples
│ │ │ └── VRFD20.sol
│ │ ├── interfaces
│ │ │ ├── AccessControllerInterface.sol
│ │ │ ├── AggregatorInterface.sol
│ │ │ ├── AggregatorV2V3Interface.sol
│ │ │ ├── AggregatorV3Interface.sol
│ │ │ ├── AggregatorValidatorInterface.sol
│ │ │ ├── BlockHashStoreInterface.sol
│ │ │ ├── ChainlinkRequestInterface.sol
│ │ │ ├── ENSInterface.sol
│ │ │ ├── FeedRegistryInterface.sol
│ │ │ ├── FlagsInterface.sol
│ │ │ ├── KeeperCompatibleInterface.sol
│ │ │ ├── LinkTokenInterface.sol
│ │ │ ├── OracleInterface.sol
│ │ │ ├── PointerInterface.sol
│ │ │ └── WithdrawalInterface.sol
│ │ ├── tests
│ │ │ ├── AggregatorValidatorMock.sol
│ │ │ ├── BasicConsumer.sol
│ │ │ ├── BlockhashStoreTestHelper.sol
│ │ │ ├── ChainlinkClientTestHelper.sol
│ │ │ ├── ChainlinkTestHelper.sol
│ │ │ ├── CheckedMathTestHelper.sol
│ │ │ ├── ConcreteSignedSafeMath.sol
│ │ │ ├── Consumer.sol
│ │ │ ├── EmptyOracle.sol
│ │ │ ├── FlagsTestHelper.sol
│ │ │ ├── FluxAggregatorTestHelper.sol
│ │ │ ├── GasGuzzler.sol
│ │ │ ├── GasGuzzlingConsumer.sol
│ │ │ ├── KeeperCompatibleTestHelper.sol
│ │ │ ├── MaliciousMultiWordConsumer.sol
│ │ │ ├── MedianTestHelper.sol
│ │ │ ├── MockOracle.sol
│ │ │ ├── MockV3Aggregator.sol
│ │ │ ├── MultiWordConsumer.sol
│ │ │ ├── Reverter.sol
│ │ │ ├── VRFConsumer.sol
│ │ │ ├── VRFCoordinatorMock.sol
│ │ │ ├── VRFRequestIDBaseTestHelper.sol
│ │ │ └── VRFTestHelper.sol
│ │ └── vendor
│ │ │ ├── BufferChainlink.sol
│ │ │ ├── CBORChainlink.sol
│ │ │ ├── ENSResolver.sol
│ │ │ ├── Ownable.sol
│ │ │ └── SafeMathChainlink.sol
│ │ ├── v0.7
│ │ ├── AuthorizedForwarder.sol
│ │ ├── AuthorizedReceiver.sol
│ │ ├── Chainlink.sol
│ │ ├── ChainlinkClient.sol
│ │ ├── ConfirmedOwner.sol
│ │ ├── ConfirmedOwnerWithProposal.sol
│ │ ├── Denominations.sol
│ │ ├── KeeperBase.sol
│ │ ├── KeeperCompatible.sol
│ │ ├── KeeperRegistry.sol
│ │ ├── LinkTokenReceiver.sol
│ │ ├── Operator.sol
│ │ ├── OperatorFactory.sol
│ │ ├── UpkeepRegistrationRequests.sol
│ │ ├── VRFConsumerBase.sol
│ │ ├── VRFRequestIDBase.sol
│ │ ├── dev
│ │ │ ├── AggregatorProxy.sol
│ │ │ ├── CompoundPriceFlaggingValidator.sol
│ │ │ └── StalenessFlaggingValidator.sol
│ │ ├── interfaces
│ │ │ ├── AggregatorInterface.sol
│ │ │ ├── AggregatorProxyInterface.sol
│ │ │ ├── AggregatorV2V3Interface.sol
│ │ │ ├── AggregatorV3Interface.sol
│ │ │ ├── AuthorizedReceiverInterface.sol
│ │ │ ├── ChainlinkRequestInterface.sol
│ │ │ ├── ENSInterface.sol
│ │ │ ├── FeedRegistryInterface.sol
│ │ │ ├── FlagsInterface.sol
│ │ │ ├── KeeperCompatibleInterface.sol
│ │ │ ├── KeeperRegistryInterface.sol
│ │ │ ├── LinkTokenInterface.sol
│ │ │ ├── OperatorInterface.sol
│ │ │ ├── OracleInterface.sol
│ │ │ ├── OwnableInterface.sol
│ │ │ ├── PointerInterface.sol
│ │ │ ├── TypeAndVersionInterface.sol
│ │ │ ├── UniswapAnchoredView.sol
│ │ │ └── WithdrawalInterface.sol
│ │ ├── tests
│ │ │ ├── ChainlinkClientTestHelper.sol
│ │ │ ├── ChainlinkTestHelper.sol
│ │ │ ├── ConfirmedOwnerTestHelper.sol
│ │ │ ├── Consumer.sol
│ │ │ ├── KeeperCompatibleTestHelper.sol
│ │ │ ├── MockCompoundOracle.sol
│ │ │ ├── MockV2Aggregator.sol
│ │ │ ├── MockV3Aggregator.sol
│ │ │ ├── MultiWordConsumer.sol
│ │ │ ├── UpkeepMock.sol
│ │ │ ├── UpkeepReverter.sol
│ │ │ └── VRFCoordinatorMock.sol
│ │ └── vendor
│ │ │ ├── Address.sol
│ │ │ ├── BufferChainlink.sol
│ │ │ ├── CBORChainlink.sol
│ │ │ ├── Context.sol
│ │ │ ├── ENSResolver.sol
│ │ │ ├── Pausable.sol
│ │ │ ├── ReentrancyGuard.sol
│ │ │ ├── SafeMath96.sol
│ │ │ ├── SafeMathChainlink.sol
│ │ │ └── SignedSafeMath.sol
│ │ └── v0.8
│ │ ├── Chainlink.sol
│ │ ├── ChainlinkClient.sol
│ │ ├── ConfirmedOwner.sol
│ │ ├── ConfirmedOwnerWithProposal.sol
│ │ ├── Denominations.sol
│ │ ├── Flags.sol
│ │ ├── KeeperBase.sol
│ │ ├── KeeperCompatible.sol
│ │ ├── SimpleReadAccessController.sol
│ │ ├── SimpleWriteAccessController.sol
│ │ ├── VRFConsumerBase.sol
│ │ ├── VRFRequestIDBase.sol
│ │ ├── ValidatorProxy.sol
│ │ ├── dev
│ │ ├── ArbitrumCrossDomainForwarder.sol
│ │ ├── ArbitrumValidator.sol
│ │ ├── CrossDomainForwarder.sol
│ │ ├── Flags.sol
│ │ ├── OptimismCrossDomainForwarder.sol
│ │ ├── OptimismValidator.sol
│ │ ├── VRF.sol
│ │ ├── VRFConsumerBaseV2.sol
│ │ ├── VRFCoordinatorV2.sol
│ │ ├── interfaces
│ │ │ ├── FlagsInterface.sol
│ │ │ └── ForwarderInterface.sol
│ │ └── vendor
│ │ │ ├── @eth-optimism
│ │ │ └── contracts
│ │ │ │ └── 0.4.7
│ │ │ │ └── contracts
│ │ │ │ └── optimistic-ethereum
│ │ │ │ └── iOVM
│ │ │ │ └── bridge
│ │ │ │ └── messaging
│ │ │ │ └── iOVM_CrossDomainMessenger.sol
│ │ │ ├── arb-bridge-eth
│ │ │ └── v0.8.0-custom
│ │ │ │ └── contracts
│ │ │ │ ├── bridge
│ │ │ │ └── interfaces
│ │ │ │ │ ├── IBridge.sol
│ │ │ │ │ ├── IInbox.sol
│ │ │ │ │ └── IMessageProvider.sol
│ │ │ │ └── libraries
│ │ │ │ └── AddressAliasHelper.sol
│ │ │ ├── arb-os
│ │ │ └── e8d9696f21
│ │ │ │ └── contracts
│ │ │ │ └── arbos
│ │ │ │ └── builtin
│ │ │ │ └── ArbSys.sol
│ │ │ └── openzeppelin-solidity
│ │ │ └── v4.3.1
│ │ │ └── contracts
│ │ │ └── utils
│ │ │ └── Address.sol
│ │ ├── factories
│ │ └── CronUpkeepFactory.sol
│ │ ├── interfaces
│ │ ├── AccessControllerInterface.sol
│ │ ├── AggregatorInterface.sol
│ │ ├── AggregatorV2V3Interface.sol
│ │ ├── AggregatorV3Interface.sol
│ │ ├── AggregatorValidatorInterface.sol
│ │ ├── BlockhashStoreInterface.sol
│ │ ├── ChainlinkRequestInterface.sol
│ │ ├── ENSInterface.sol
│ │ ├── ERC677ReceiverInterface.sol
│ │ ├── FeedRegistryInterface.sol
│ │ ├── FlagsInterface.sol
│ │ ├── KeeperCompatibleInterface.sol
│ │ ├── LinkTokenInterface.sol
│ │ ├── OperatorInterface.sol
│ │ ├── OracleInterface.sol
│ │ ├── OwnableInterface.sol
│ │ ├── PointerInterface.sol
│ │ ├── TypeAndVersionInterface.sol
│ │ └── VRFCoordinatorV2Interface.sol
│ │ ├── libraries
│ │ ├── external
│ │ │ └── Cron.sol
│ │ └── internal
│ │ │ └── Cron.sol
│ │ ├── mocks
│ │ ├── MockAggregator.sol
│ │ ├── MockAggregatorValidator.sol
│ │ └── VRFCoordinatorMock.sol
│ │ ├── tests
│ │ ├── ChainlinkClientTestHelper.sol
│ │ ├── ChainlinkTestHelper.sol
│ │ ├── CronReceiver.sol
│ │ ├── CronTestHelper.sol
│ │ ├── CronUpkeepTestHelper.sol
│ │ ├── EthBalanceMonitorExposed.sol
│ │ ├── FlagsTestHelper.sol
│ │ ├── KeeperCompatibleTestHelper.sol
│ │ ├── ReceiveEmitter.sol
│ │ ├── ReceiveFallbackEmitter.sol
│ │ ├── ReceiveReverter.sol
│ │ ├── VRFConsumer.sol
│ │ ├── VRFConsumerV2.sol
│ │ ├── VRFCoordinatorV2TestHelper.sol
│ │ ├── VRFExternalSubOwnerExample.sol
│ │ ├── VRFMaliciousConsumerV2.sol
│ │ ├── VRFRequestIDBaseTestHelper.sol
│ │ ├── VRFSingleConsumerExample.sol
│ │ └── VRFTestHelper.sol
│ │ ├── upkeeps
│ │ ├── CronUpkeep.sol
│ │ ├── CronUpkeepDelegate.sol
│ │ └── EthBalanceMonitor.sol
│ │ ├── utils
│ │ └── utils.sol
│ │ └── vendor
│ │ ├── BufferChainlink.sol
│ │ ├── CBORChainlink.sol
│ │ ├── DateTime.sol
│ │ ├── ENSResolver.sol
│ │ └── Strings.sol
└── @openzeppelin
│ └── contracts
│ ├── README.md
│ ├── access
│ ├── AccessControl.sol
│ ├── AccessControlEnumerable.sol
│ ├── IAccessControl.sol
│ ├── IAccessControlEnumerable.sol
│ └── Ownable.sol
│ ├── build
│ └── contracts
│ │ ├── AccessControl.json
│ │ ├── AccessControlEnumerable.json
│ │ ├── Address.json
│ │ ├── Arrays.json
│ │ ├── BeaconProxy.json
│ │ ├── BitMaps.json
│ │ ├── Clones.json
│ │ ├── ConditionalEscrow.json
│ │ ├── Context.json
│ │ ├── Counters.json
│ │ ├── Create2.json
│ │ ├── ECDSA.json
│ │ ├── EIP712.json
│ │ ├── ERC1155.json
│ │ ├── ERC1155Burnable.json
│ │ ├── ERC1155Holder.json
│ │ ├── ERC1155Pausable.json
│ │ ├── ERC1155PresetMinterPauser.json
│ │ ├── ERC1155Receiver.json
│ │ ├── ERC1155Supply.json
│ │ ├── ERC165.json
│ │ ├── ERC165Checker.json
│ │ ├── ERC165Storage.json
│ │ ├── ERC1820Implementer.json
│ │ ├── ERC1967Proxy.json
│ │ ├── ERC1967Upgrade.json
│ │ ├── ERC20.json
│ │ ├── ERC20Burnable.json
│ │ ├── ERC20Capped.json
│ │ ├── ERC20FlashMint.json
│ │ ├── ERC20Pausable.json
│ │ ├── ERC20Permit.json
│ │ ├── ERC20PresetFixedSupply.json
│ │ ├── ERC20PresetMinterPauser.json
│ │ ├── ERC20Snapshot.json
│ │ ├── ERC20Votes.json
│ │ ├── ERC20VotesComp.json
│ │ ├── ERC20Wrapper.json
│ │ ├── ERC2771Context.json
│ │ ├── ERC721.json
│ │ ├── ERC721Burnable.json
│ │ ├── ERC721Enumerable.json
│ │ ├── ERC721Holder.json
│ │ ├── ERC721Pausable.json
│ │ ├── ERC721PresetMinterPauserAutoId.json
│ │ ├── ERC721URIStorage.json
│ │ ├── ERC777.json
│ │ ├── ERC777PresetFixedSupply.json
│ │ ├── EnumerableMap.json
│ │ ├── EnumerableSet.json
│ │ ├── Escrow.json
│ │ ├── Governor.json
│ │ ├── GovernorCompatibilityBravo.json
│ │ ├── GovernorCountingSimple.json
│ │ ├── GovernorProposalThreshold.json
│ │ ├── GovernorSettings.json
│ │ ├── GovernorTimelockCompound.json
│ │ ├── GovernorTimelockControl.json
│ │ ├── GovernorVotes.json
│ │ ├── GovernorVotesComp.json
│ │ ├── GovernorVotesQuorumFraction.json
│ │ ├── IAccessControl.json
│ │ ├── IAccessControlEnumerable.json
│ │ ├── IBeacon.json
│ │ ├── ICompoundTimelock.json
│ │ ├── IERC1155.json
│ │ ├── IERC1155MetadataURI.json
│ │ ├── IERC1155Receiver.json
│ │ ├── IERC1271.json
│ │ ├── IERC1363.json
│ │ ├── IERC1363Receiver.json
│ │ ├── IERC1363Spender.json
│ │ ├── IERC165.json
│ │ ├── IERC1820Implementer.json
│ │ ├── IERC1820Registry.json
│ │ ├── IERC20.json
│ │ ├── IERC20Metadata.json
│ │ ├── IERC20Permit.json
│ │ ├── IERC2612.json
│ │ ├── IERC2981.json
│ │ ├── IERC3156FlashBorrower.json
│ │ ├── IERC3156FlashLender.json
│ │ ├── IERC721.json
│ │ ├── IERC721Enumerable.json
│ │ ├── IERC721Metadata.json
│ │ ├── IERC721Receiver.json
│ │ ├── IERC777.json
│ │ ├── IERC777Recipient.json
│ │ ├── IERC777Sender.json
│ │ ├── IGovernor.json
│ │ ├── IGovernorCompatibilityBravo.json
│ │ ├── IGovernorTimelock.json
│ │ ├── Initializable.json
│ │ ├── Math.json
│ │ ├── MerkleProof.json
│ │ ├── MinimalForwarder.json
│ │ ├── Multicall.json
│ │ ├── Ownable.json
│ │ ├── Pausable.json
│ │ ├── PaymentSplitter.json
│ │ ├── Proxy.json
│ │ ├── ProxyAdmin.json
│ │ ├── PullPayment.json
│ │ ├── ReentrancyGuard.json
│ │ ├── RefundEscrow.json
│ │ ├── SafeCast.json
│ │ ├── SafeERC20.json
│ │ ├── SafeMath.json
│ │ ├── SignatureChecker.json
│ │ ├── SignedSafeMath.json
│ │ ├── StorageSlot.json
│ │ ├── Strings.json
│ │ ├── TimelockController.json
│ │ ├── Timers.json
│ │ ├── TokenTimelock.json
│ │ ├── TransparentUpgradeableProxy.json
│ │ ├── UUPSUpgradeable.json
│ │ ├── UpgradeableBeacon.json
│ │ └── VestingWallet.json
│ ├── finance
│ ├── PaymentSplitter.sol
│ └── VestingWallet.sol
│ ├── governance
│ ├── Governor.sol
│ ├── IGovernor.sol
│ ├── TimelockController.sol
│ ├── compatibility
│ │ ├── GovernorCompatibilityBravo.sol
│ │ └── IGovernorCompatibilityBravo.sol
│ └── extensions
│ │ ├── GovernorCountingSimple.sol
│ │ ├── GovernorProposalThreshold.sol
│ │ ├── GovernorSettings.sol
│ │ ├── GovernorTimelockCompound.sol
│ │ ├── GovernorTimelockControl.sol
│ │ ├── GovernorVotes.sol
│ │ ├── GovernorVotesComp.sol
│ │ ├── GovernorVotesQuorumFraction.sol
│ │ └── IGovernorTimelock.sol
│ ├── interfaces
│ ├── IERC1155.sol
│ ├── IERC1155MetadataURI.sol
│ ├── IERC1155Receiver.sol
│ ├── IERC1271.sol
│ ├── IERC1363.sol
│ ├── IERC1363Receiver.sol
│ ├── IERC1363Spender.sol
│ ├── IERC165.sol
│ ├── IERC1820Implementer.sol
│ ├── IERC1820Registry.sol
│ ├── IERC20.sol
│ ├── IERC20Metadata.sol
│ ├── IERC2981.sol
│ ├── IERC3156.sol
│ ├── IERC3156FlashBorrower.sol
│ ├── IERC3156FlashLender.sol
│ ├── IERC721.sol
│ ├── IERC721Enumerable.sol
│ ├── IERC721Metadata.sol
│ ├── IERC721Receiver.sol
│ ├── IERC777.sol
│ ├── IERC777Recipient.sol
│ ├── IERC777Sender.sol
│ └── draft-IERC2612.sol
│ ├── metatx
│ ├── ERC2771Context.sol
│ └── MinimalForwarder.sol
│ ├── package.json
│ ├── proxy
│ ├── Clones.sol
│ ├── ERC1967
│ │ ├── ERC1967Proxy.sol
│ │ └── ERC1967Upgrade.sol
│ ├── Proxy.sol
│ ├── beacon
│ │ ├── BeaconProxy.sol
│ │ ├── IBeacon.sol
│ │ └── UpgradeableBeacon.sol
│ ├── transparent
│ │ ├── ProxyAdmin.sol
│ │ └── TransparentUpgradeableProxy.sol
│ └── utils
│ │ ├── Initializable.sol
│ │ └── UUPSUpgradeable.sol
│ ├── security
│ ├── Pausable.sol
│ ├── PullPayment.sol
│ └── ReentrancyGuard.sol
│ ├── token
│ ├── ERC1155
│ │ ├── ERC1155.sol
│ │ ├── IERC1155.sol
│ │ ├── IERC1155Receiver.sol
│ │ ├── extensions
│ │ │ ├── ERC1155Burnable.sol
│ │ │ ├── ERC1155Pausable.sol
│ │ │ ├── ERC1155Supply.sol
│ │ │ └── IERC1155MetadataURI.sol
│ │ ├── presets
│ │ │ └── ERC1155PresetMinterPauser.sol
│ │ └── utils
│ │ │ ├── ERC1155Holder.sol
│ │ │ └── ERC1155Receiver.sol
│ ├── ERC20
│ │ ├── ERC20.sol
│ │ ├── IERC20.sol
│ │ ├── extensions
│ │ │ ├── ERC20Burnable.sol
│ │ │ ├── ERC20Capped.sol
│ │ │ ├── ERC20FlashMint.sol
│ │ │ ├── ERC20Pausable.sol
│ │ │ ├── ERC20Snapshot.sol
│ │ │ ├── ERC20Votes.sol
│ │ │ ├── ERC20VotesComp.sol
│ │ │ ├── ERC20Wrapper.sol
│ │ │ ├── IERC20Metadata.sol
│ │ │ ├── draft-ERC20Permit.sol
│ │ │ └── draft-IERC20Permit.sol
│ │ ├── presets
│ │ │ ├── ERC20PresetFixedSupply.sol
│ │ │ └── ERC20PresetMinterPauser.sol
│ │ └── utils
│ │ │ ├── SafeERC20.sol
│ │ │ └── TokenTimelock.sol
│ ├── ERC721
│ │ ├── ERC721.sol
│ │ ├── IERC721.sol
│ │ ├── IERC721Receiver.sol
│ │ ├── extensions
│ │ │ ├── ERC721Burnable.sol
│ │ │ ├── ERC721Enumerable.sol
│ │ │ ├── ERC721Pausable.sol
│ │ │ ├── ERC721URIStorage.sol
│ │ │ ├── IERC721Enumerable.sol
│ │ │ └── IERC721Metadata.sol
│ │ ├── presets
│ │ │ └── ERC721PresetMinterPauserAutoId.sol
│ │ └── utils
│ │ │ └── ERC721Holder.sol
│ └── ERC777
│ │ ├── ERC777.sol
│ │ ├── IERC777.sol
│ │ ├── IERC777Recipient.sol
│ │ ├── IERC777Sender.sol
│ │ └── presets
│ │ └── ERC777PresetFixedSupply.sol
│ └── utils
│ ├── Address.sol
│ ├── Arrays.sol
│ ├── Context.sol
│ ├── Counters.sol
│ ├── Create2.sol
│ ├── Multicall.sol
│ ├── StorageSlot.sol
│ ├── Strings.sol
│ ├── Timers.sol
│ ├── cryptography
│ ├── ECDSA.sol
│ ├── MerkleProof.sol
│ ├── SignatureChecker.sol
│ └── draft-EIP712.sol
│ ├── escrow
│ ├── ConditionalEscrow.sol
│ ├── Escrow.sol
│ └── RefundEscrow.sol
│ ├── introspection
│ ├── ERC165.sol
│ ├── ERC165Checker.sol
│ ├── ERC165Storage.sol
│ ├── ERC1820Implementer.sol
│ ├── IERC165.sol
│ ├── IERC1820Implementer.sol
│ └── IERC1820Registry.sol
│ ├── math
│ ├── Math.sol
│ ├── SafeCast.sol
│ ├── SafeMath.sol
│ └── SignedSafeMath.sol
│ └── structs
│ ├── BitMaps.sol
│ ├── EnumerableMap.sol
│ └── EnumerableSet.sol
├── package-lock.json
├── sample_input_output
├── input
│ ├── Background
│ │ └── Black.png
│ ├── Bottom lid
│ │ ├── High.png
│ │ ├── Low.png
│ │ └── Middle.png
│ ├── Eye color
│ │ ├── Cyan.png
│ │ ├── Green.png
│ │ ├── Pink.png
│ │ ├── Purple.png
│ │ ├── Red.png
│ │ └── Yellow.png
│ ├── Eyeball
│ │ ├── Red.png
│ │ └── White.png
│ ├── Goo
│ │ └── Green.png
│ ├── Iris
│ │ ├── Large.png
│ │ ├── Medium.png
│ │ └── Small.png
│ ├── Shine
│ │ └── Shapes.png
│ └── Top lid
│ │ ├── High.png
│ │ ├── Low.png
│ │ └── Middle.png
└── output
│ ├── images
│ ├── 1.png
│ ├── 10.png
│ ├── 11.png
│ ├── 12.png
│ ├── 13.png
│ ├── 14.png
│ ├── 15.png
│ ├── 16.png
│ ├── 17.png
│ ├── 18.png
│ ├── 19.png
│ ├── 2.png
│ ├── 20.png
│ ├── 3.png
│ ├── 4.png
│ ├── 5.png
│ ├── 6.png
│ ├── 7.png
│ ├── 8.png
│ └── 9.png
│ └── metadata
│ ├── 1.json
│ ├── 10.json
│ ├── 11.json
│ ├── 12.json
│ ├── 13.json
│ ├── 14.json
│ ├── 15.json
│ ├── 16.json
│ ├── 17.json
│ ├── 18.json
│ ├── 19.json
│ ├── 2.json
│ ├── 20.json
│ ├── 3.json
│ ├── 4.json
│ ├── 5.json
│ ├── 6.json
│ ├── 7.json
│ ├── 8.json
│ └── 9.json
├── test
├── custom_collection.js
└── marketplace.js
└── truffle-config.js
/.DS_Store:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/.DS_Store
--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------
1 | *.sol linguist-language=Solidity
2 |
--------------------------------------------------------------------------------
/client/.gitignore:
--------------------------------------------------------------------------------
1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files.
2 |
3 | # dependencies
4 | /node_modules
5 | /.pnp
6 | .pnp.js
7 | .env
8 |
9 | # testing
10 | /coverage
11 |
12 | # production
13 | /build
14 |
15 | # misc
16 | .DS_Store
17 | .env.local
18 | .env.development.local
19 | .env.test.local
20 | .env.production.local
21 |
22 | npm-debug.log*
23 | yarn-debug.log*
24 | yarn-error.log*
25 |
--------------------------------------------------------------------------------
/client/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "client",
3 | "version": "0.1.0",
4 | "private": true,
5 | "dependencies": {
6 | "apollo-client": "^2.6.10",
7 | "axios": "^0.24.0",
8 | "canvas": "^2.8.0",
9 | "node-sass": "^6.0.1",
10 | "react": "17.0.2",
11 | "react-dom": "17.0.2",
12 | "react-router": "^6.0.2",
13 | "react-router-dom": "^6.0.2",
14 | "react-scripts": "4.0.3",
15 | "web3": "1.5.3"
16 | },
17 | "scripts": {
18 | "start": "react-scripts start",
19 | "build": "react-scripts build",
20 | "test": "react-scripts test",
21 | "eject": "react-scripts eject"
22 | },
23 | "eslintConfig": {
24 | "extends": "react-app"
25 | },
26 | "browserslist": {
27 | "production": [
28 | ">0.2%",
29 | "not dead",
30 | "not op_mini all"
31 | ],
32 | "development": [
33 | "last 1 chrome version",
34 | "last 1 firefox version",
35 | "last 1 safari version"
36 | ]
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/client/public/_redirects:
--------------------------------------------------------------------------------
1 | /* /index.html 200
--------------------------------------------------------------------------------
/client/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/favicon.ico
--------------------------------------------------------------------------------
/client/public/images/config.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/images/config.png
--------------------------------------------------------------------------------
/client/public/images/export.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/images/export.png
--------------------------------------------------------------------------------
/client/public/images/folder.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/images/folder.png
--------------------------------------------------------------------------------
/client/public/images/layers.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/images/layers.png
--------------------------------------------------------------------------------
/client/public/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/logo.png
--------------------------------------------------------------------------------
/client/public/logo192.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/logo192.png
--------------------------------------------------------------------------------
/client/public/logo512.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/public/logo512.png
--------------------------------------------------------------------------------
/client/public/manifest.json:
--------------------------------------------------------------------------------
1 | {
2 | "short_name": "React App",
3 | "name": "Create React App Sample",
4 | "icons": [
5 | {
6 | "src": "favicon.ico",
7 | "sizes": "64x64 32x32 24x24 16x16",
8 | "type": "image/x-icon"
9 | },
10 | {
11 | "src": "logo192.png",
12 | "type": "image/png",
13 | "sizes": "192x192"
14 | },
15 | {
16 | "src": "logo512.png",
17 | "type": "image/png",
18 | "sizes": "512x512"
19 | }
20 | ],
21 | "start_url": ".",
22 | "display": "standalone",
23 | "theme_color": "#000000",
24 | "background_color": "#ffffff"
25 | }
26 |
--------------------------------------------------------------------------------
/client/public/robots.txt:
--------------------------------------------------------------------------------
1 | # https://www.robotstxt.org/robotstxt.html
2 | User-agent: *
3 |
--------------------------------------------------------------------------------
/client/src/components/Box.js:
--------------------------------------------------------------------------------
1 | import React from "react";
2 |
3 | export function Box(props) {
4 | return
5 | }
--------------------------------------------------------------------------------
/client/src/components/chip/Chip.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import './chip.scss'
3 |
4 | function Chip(props) {
5 | return (
6 |
9 | );
10 | }
11 |
12 | export default Chip;
--------------------------------------------------------------------------------
/client/src/components/chip/chip.scss:
--------------------------------------------------------------------------------
1 | .chip-container {
2 | padding: 5px 10px;
3 | border-radius: 10px;
4 | text-align: center;
5 | background-color: var(--secondary);
6 | cursor: pointer;
7 | }
8 |
9 | .chip-content {
10 | font-size: var(--xs-text-size);
11 | }
--------------------------------------------------------------------------------
/client/src/components/loading/Loading.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Box } from '../Box';
3 | import './loading.scss'
4 |
5 | function Loading(props) {
6 |
7 | return (
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
{props.message}
18 |
19 | );
20 | }
21 |
22 | export default Loading;
--------------------------------------------------------------------------------
/client/src/components/navbar/navbar.scss:
--------------------------------------------------------------------------------
1 | nav {
2 | height: 70px;
3 | width: 100%;
4 | padding: 0% var(--body-padding);
5 | display: flex;
6 | justify-content: space-between;
7 | align-items: center;
8 | }
9 |
10 | .logo {
11 | font-size: var(--lg-text-size);
12 | letter-spacing: 1.5px;
13 | cursor: pointer;
14 | }
15 |
16 | .nav-btn-flex {
17 | display: flex;
18 | }
19 |
20 | .border-button {
21 | background-color: var(--bg-color);
22 | font-size: var(--xs-text-size);
23 | padding: 5px 10px;
24 | border: 1px solid black;
25 | border-radius: 10px;
26 | cursor: pointer;
27 | }
28 |
29 |
--------------------------------------------------------------------------------
/client/src/index.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import ReactDOM from 'react-dom';
3 | import './index.scss';
4 | import App from './App';
5 | import * as serviceWorker from './serviceWorker';
6 | import { ConnectionProvider } from './providers/connection_provider';
7 | import { GenerateProvider } from './providers/generate_provider';
8 | import { MintProvider } from './providers/mint_provider';
9 |
10 | // Wrapped in ConnectionProvider to get a global state using context API
11 | ReactDOM.render(
12 |
13 |
14 |
15 |
16 |
17 |
18 | ,
19 | document.getElementById('root')
20 | );
21 |
22 | // If you want your app to work offline and load faster, you can change
23 | // unregister() to register() below. Note this comes with some pitfalls.
24 | // Learn more about service workers: https://bit.ly/CRA-PWA
25 | serviceWorker.unregister();
26 |
--------------------------------------------------------------------------------
/client/src/outfit_regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/client/src/outfit_regular.ttf
--------------------------------------------------------------------------------
/client/src/pages/collection_page/collection_page.scss:
--------------------------------------------------------------------------------
1 | .image-picker {
2 | height: 250px;
3 | width: 250px;
4 | background-color: var(--secondary);
5 | border-radius: 10px;
6 | cursor: pointer;
7 | }
8 |
9 | .flex-child, .selltype {
10 | flex: 1;
11 | display: flex;
12 | align-items: center;
13 |
14 | label {
15 | font-size: var(--sm-text-size);
16 | }
17 | }
18 |
19 | .selltype {
20 | justify-content: space-between;
21 | }
22 |
23 |
24 |
--------------------------------------------------------------------------------
/client/src/pages/doc_page/doc_page.scss:
--------------------------------------------------------------------------------
1 | .full-image {
2 | width: calc(100vw - 2 * var(--body-padding))
3 | }
--------------------------------------------------------------------------------
/client/src/pages/landing_page/landing_page.scss:
--------------------------------------------------------------------------------
1 | .landing-flex {
2 | display: flex;
3 | justify-content: space-between;
4 | align-items: center;
5 | }
6 |
7 | .illustration {
8 | height: 375px;
9 | }
10 |
11 | @media (max-width: 1280px) {
12 | .illustration {
13 | height: 300px;
14 | }
15 | }
16 |
17 | ul{
18 | margin-left: 1.7rem;
19 | text-align: left;
20 | }
--------------------------------------------------------------------------------
/client/src/pages/mint_page/mint_page.scss:
--------------------------------------------------------------------------------
1 | .info-flex {
2 | display: flex;
3 | justify-content: space-between;
4 | align-items: center;
5 | }
6 |
7 | .collection-details {
8 | width: 50%;
9 |
10 | .info-box {
11 | display: flex;
12 | justify-content: flex-start;
13 |
14 | .image-box {
15 | aspect-ratio: 1/1;
16 | border-radius: 10px;
17 | height: 100px;
18 | width: 100px
19 | }
20 |
21 | .describe-box {
22 | display: flex;
23 | flex-direction: column;
24 | }
25 | }
26 | }
27 |
28 | .listing-details {
29 | width: 50%;
30 | }
31 |
--------------------------------------------------------------------------------
/client/src/pages/success_page/success_page.scss:
--------------------------------------------------------------------------------
1 | .success-parent {
2 | height: calc(100vh - 70px);
3 | }
4 |
5 | .success-flex {
6 | display: flex;
7 | flex-direction: column;
8 | align-items: center;
9 |
10 | .link {
11 | font-size: var(--text-size);
12 | text-decoration: underline;
13 | cursor: pointer;
14 | }
15 | }
--------------------------------------------------------------------------------
/client/src/providers/mint_provider.js:
--------------------------------------------------------------------------------
1 | import React, { useContext, useState } from "react";
2 |
3 | const MintContext = React.createContext();
4 |
5 | export function useMint() {
6 | return useContext(MintContext);
7 | }
8 |
9 | export function MintProvider(props) {
10 | const [mintState, setMintState] = useState({
11 | nfts: [],
12 | collection: {}
13 | });
14 |
15 | return (
16 | <>
17 |
23 | {props.children}
24 |
25 | >
26 | );
27 | }
28 |
--------------------------------------------------------------------------------
/client/src/services/ipfs_service.js:
--------------------------------------------------------------------------------
1 | import axios from "axios";
2 |
3 | const imageInstance = axios.create({
4 | baseURL: 'https://api.nft.storage/upload',
5 | headers: {
6 | 'Authorization': 'Bearer ' + process.env.REACT_APP_IMG_KEY,
7 | 'Content-Type': 'image/*',
8 | 'Access-Control-Allow-Origin': '*'
9 | }
10 | });
11 |
12 | const metadataInstance = axios.create({
13 | baseURL: 'https://api.nft.storage/upload',
14 | headers: {
15 | 'Authorization': 'Bearer ' + process.env.REACT_APP_METADATA_KEY,
16 | 'Content-Type': 'application/json',
17 | 'Access-Control-Allow-Origin': '*'
18 | }
19 | });
20 |
21 | async function uploadImage(blob) {
22 | const response = await imageInstance.post("/", blob)
23 | return response.data.value.cid;
24 | }
25 |
26 | async function uploadMetadata(metadata) {
27 | const response = await metadataInstance.post("/", metadata)
28 | return response.data.value.cid;
29 | }
30 |
31 | export { uploadImage, uploadMetadata }
--------------------------------------------------------------------------------
/contracts/Migrations.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.6;
3 |
4 | contract Migrations {
5 | address public owner;
6 | uint256 public last_completed_migration;
7 |
8 | modifier restricted() {
9 | if (msg.sender == owner) _;
10 | }
11 |
12 | constructor() {
13 | owner = msg.sender;
14 | }
15 |
16 | function setCompleted(uint256 completed) public restricted {
17 | last_completed_migration = completed;
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/contracts/PriceFeed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.6;
3 |
4 | import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
5 |
6 | contract Pricefeed {
7 |
8 | AggregatorV3Interface internal priceFeed;
9 |
10 | /**
11 | * Network: Mumbai Testnet
12 | * Aggregator: MATIC/USD
13 | * Decimal: 8
14 | * Address: 0xd0D5e3DB44DE05E9F294BB0a3bEEaF030DE24Ada
15 | */
16 | constructor() {
17 | priceFeed = AggregatorV3Interface(0xd0D5e3DB44DE05E9F294BB0a3bEEaF030DE24Ada);
18 | }
19 |
20 | /**
21 | * Returns the latest price
22 | */
23 | function getLatestPrice() public view returns (int) {
24 | (
25 | uint80 roundID,
26 | int price,
27 | uint startedAt,
28 | uint timeStamp,
29 | uint80 answeredInRound
30 | ) = priceFeed.latestRoundData();
31 | return price;
32 | }
33 | }
--------------------------------------------------------------------------------
/migrations/1_initial_migration.js:
--------------------------------------------------------------------------------
1 | var Migrations = artifacts.require("./Migrations.sol");
2 |
3 | module.exports = function(deployer) {
4 | deployer.deploy(Migrations);
5 | };
6 |
--------------------------------------------------------------------------------
/migrations/2_deploy_contracts.js:
--------------------------------------------------------------------------------
1 | var Marketplace = artifacts.require('./Marketplace.sol');
2 |
3 | module.exports = function (deployer) {
4 | deployer.deploy(Marketplace);
5 | };
6 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/@openzeppelin/contracts/proxy/Proxy.sol/Proxy.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "stateMutability": "payable",
4 | "type": "fallback"
5 | },
6 | {
7 | "stateMutability": "payable",
8 | "type": "receive"
9 | }
10 | ]
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/@openzeppelin/contracts/security/Pausable.sol/Pausable.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": false,
7 | "internalType": "address",
8 | "name": "account",
9 | "type": "address"
10 | }
11 | ],
12 | "name": "Paused",
13 | "type": "event"
14 | },
15 | {
16 | "anonymous": false,
17 | "inputs": [
18 | {
19 | "indexed": false,
20 | "internalType": "address",
21 | "name": "account",
22 | "type": "address"
23 | }
24 | ],
25 | "name": "Unpaused",
26 | "type": "event"
27 | },
28 | {
29 | "inputs": [],
30 | "name": "paused",
31 | "outputs": [
32 | {
33 | "internalType": "bool",
34 | "name": "",
35 | "type": "bool"
36 | }
37 | ],
38 | "stateMutability": "view",
39 | "type": "function"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/ChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "name": "id",
8 | "type": "bytes32"
9 | }
10 | ],
11 | "name": "ChainlinkRequested",
12 | "type": "event"
13 | },
14 | {
15 | "anonymous": false,
16 | "inputs": [
17 | {
18 | "indexed": true,
19 | "name": "id",
20 | "type": "bytes32"
21 | }
22 | ],
23 | "name": "ChainlinkFulfilled",
24 | "type": "event"
25 | },
26 | {
27 | "anonymous": false,
28 | "inputs": [
29 | {
30 | "indexed": true,
31 | "name": "id",
32 | "type": "bytes32"
33 | }
34 | ],
35 | "name": "ChainlinkCancelled",
36 | "type": "event"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/Chainlinked.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "name": "id",
8 | "type": "bytes32"
9 | }
10 | ],
11 | "name": "ChainlinkRequested",
12 | "type": "event"
13 | },
14 | {
15 | "anonymous": false,
16 | "inputs": [
17 | {
18 | "indexed": true,
19 | "name": "id",
20 | "type": "bytes32"
21 | }
22 | ],
23 | "name": "ChainlinkFulfilled",
24 | "type": "event"
25 | },
26 | {
27 | "anonymous": false,
28 | "inputs": [
29 | {
30 | "indexed": true,
31 | "name": "id",
32 | "type": "bytes32"
33 | }
34 | ],
35 | "name": "ChainlinkCancelled",
36 | "type": "event"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/ENSResolver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [
5 | {
6 | "name": "node",
7 | "type": "bytes32"
8 | }
9 | ],
10 | "name": "addr",
11 | "outputs": [
12 | {
13 | "name": "",
14 | "type": "address"
15 | }
16 | ],
17 | "payable": false,
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/ERC677Receiver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": false,
4 | "inputs": [
5 | {
6 | "name": "_sender",
7 | "type": "address"
8 | },
9 | {
10 | "name": "_value",
11 | "type": "uint256"
12 | },
13 | {
14 | "name": "_data",
15 | "type": "bytes"
16 | }
17 | ],
18 | "name": "onTokenTransfer",
19 | "outputs": [],
20 | "payable": false,
21 | "stateMutability": "nonpayable",
22 | "type": "function"
23 | }
24 | ]
25 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/MaliciousChainlinked.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "name": "id",
8 | "type": "bytes32"
9 | }
10 | ],
11 | "name": "ChainlinkRequested",
12 | "type": "event"
13 | },
14 | {
15 | "anonymous": false,
16 | "inputs": [
17 | {
18 | "indexed": true,
19 | "name": "id",
20 | "type": "bytes32"
21 | }
22 | ],
23 | "name": "ChainlinkFulfilled",
24 | "type": "event"
25 | },
26 | {
27 | "anonymous": false,
28 | "inputs": [
29 | {
30 | "indexed": true,
31 | "name": "id",
32 | "type": "bytes32"
33 | }
34 | ],
35 | "name": "ChainlinkCancelled",
36 | "type": "event"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/Pointer.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "getAddress",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | },
16 | {
17 | "inputs": [
18 | {
19 | "name": "_addr",
20 | "type": "address"
21 | }
22 | ],
23 | "payable": false,
24 | "stateMutability": "nonpayable",
25 | "type": "constructor"
26 | }
27 | ]
28 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.4/PointerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "getAddress",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/ChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "name": "id",
8 | "type": "bytes32"
9 | }
10 | ],
11 | "name": "ChainlinkRequested",
12 | "type": "event"
13 | },
14 | {
15 | "anonymous": false,
16 | "inputs": [
17 | {
18 | "indexed": true,
19 | "name": "id",
20 | "type": "bytes32"
21 | }
22 | ],
23 | "name": "ChainlinkFulfilled",
24 | "type": "event"
25 | },
26 | {
27 | "anonymous": false,
28 | "inputs": [
29 | {
30 | "indexed": true,
31 | "name": "id",
32 | "type": "bytes32"
33 | }
34 | ],
35 | "name": "ChainlinkCancelled",
36 | "type": "event"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/ENSResolver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [
5 | {
6 | "name": "node",
7 | "type": "bytes32"
8 | }
9 | ],
10 | "name": "addr",
11 | "outputs": [
12 | {
13 | "name": "",
14 | "type": "address"
15 | }
16 | ],
17 | "payable": false,
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/LinkTokenReceiver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "getChainlinkToken",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | },
16 | {
17 | "constant": false,
18 | "inputs": [
19 | {
20 | "name": "_sender",
21 | "type": "address"
22 | },
23 | {
24 | "name": "_amount",
25 | "type": "uint256"
26 | },
27 | {
28 | "name": "_data",
29 | "type": "bytes"
30 | }
31 | ],
32 | "name": "onTokenTransfer",
33 | "outputs": [],
34 | "payable": false,
35 | "stateMutability": "nonpayable",
36 | "type": "function"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/MaliciousChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "name": "id",
8 | "type": "bytes32"
9 | }
10 | ],
11 | "name": "ChainlinkRequested",
12 | "type": "event"
13 | },
14 | {
15 | "anonymous": false,
16 | "inputs": [
17 | {
18 | "indexed": true,
19 | "name": "id",
20 | "type": "bytes32"
21 | }
22 | ],
23 | "name": "ChainlinkFulfilled",
24 | "type": "event"
25 | },
26 | {
27 | "anonymous": false,
28 | "inputs": [
29 | {
30 | "indexed": true,
31 | "name": "id",
32 | "type": "bytes32"
33 | }
34 | ],
35 | "name": "ChainlinkCancelled",
36 | "type": "event"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/MedianTestHelper.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [
5 | {
6 | "name": "_list",
7 | "type": "int256[]"
8 | }
9 | ],
10 | "name": "publicGet",
11 | "outputs": [
12 | {
13 | "name": "",
14 | "type": "int256"
15 | }
16 | ],
17 | "payable": false,
18 | "stateMutability": "pure",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/PointerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "getAddress",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | }
16 | ]
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.5/WithdrawalInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "constant": true,
4 | "inputs": [],
5 | "name": "withdrawable",
6 | "outputs": [
7 | {
8 | "name": "",
9 | "type": "uint256"
10 | }
11 | ],
12 | "payable": false,
13 | "stateMutability": "view",
14 | "type": "function"
15 | },
16 | {
17 | "constant": false,
18 | "inputs": [
19 | {
20 | "name": "recipient",
21 | "type": "address"
22 | },
23 | {
24 | "name": "amount",
25 | "type": "uint256"
26 | }
27 | ],
28 | "name": "withdraw",
29 | "outputs": [],
30 | "payable": false,
31 | "stateMutability": "nonpayable",
32 | "type": "function"
33 | }
34 | ]
35 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/AccessControllerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "user",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "bytes",
11 | "name": "data",
12 | "type": "bytes"
13 | }
14 | ],
15 | "name": "hasAccess",
16 | "outputs": [
17 | {
18 | "internalType": "bool",
19 | "name": "",
20 | "type": "bool"
21 | }
22 | ],
23 | "stateMutability": "view",
24 | "type": "function"
25 | }
26 | ]
27 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/AggregatorValidatorInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "uint256",
6 | "name": "previousRoundId",
7 | "type": "uint256"
8 | },
9 | {
10 | "internalType": "int256",
11 | "name": "previousAnswer",
12 | "type": "int256"
13 | },
14 | {
15 | "internalType": "uint256",
16 | "name": "currentRoundId",
17 | "type": "uint256"
18 | },
19 | {
20 | "internalType": "int256",
21 | "name": "currentAnswer",
22 | "type": "int256"
23 | }
24 | ],
25 | "name": "validate",
26 | "outputs": [
27 | {
28 | "internalType": "bool",
29 | "name": "",
30 | "type": "bool"
31 | }
32 | ],
33 | "stateMutability": "nonpayable",
34 | "type": "function"
35 | }
36 | ]
37 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/BlockHashStoreInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "uint256",
6 | "name": "number",
7 | "type": "uint256"
8 | }
9 | ],
10 | "name": "getBlockhash",
11 | "outputs": [
12 | {
13 | "internalType": "bytes32",
14 | "name": "",
15 | "type": "bytes32"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/ChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "internalType": "bytes32",
8 | "name": "id",
9 | "type": "bytes32"
10 | }
11 | ],
12 | "name": "ChainlinkCancelled",
13 | "type": "event"
14 | },
15 | {
16 | "anonymous": false,
17 | "inputs": [
18 | {
19 | "indexed": true,
20 | "internalType": "bytes32",
21 | "name": "id",
22 | "type": "bytes32"
23 | }
24 | ],
25 | "name": "ChainlinkFulfilled",
26 | "type": "event"
27 | },
28 | {
29 | "anonymous": false,
30 | "inputs": [
31 | {
32 | "indexed": true,
33 | "internalType": "bytes32",
34 | "name": "id",
35 | "type": "bytes32"
36 | }
37 | ],
38 | "name": "ChainlinkRequested",
39 | "type": "event"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/ENSResolver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes32",
6 | "name": "node",
7 | "type": "bytes32"
8 | }
9 | ],
10 | "name": "addr",
11 | "outputs": [
12 | {
13 | "internalType": "address",
14 | "name": "",
15 | "type": "address"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/GasGuzzler.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "stateMutability": "payable",
4 | "type": "fallback"
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/KeeperCompatible.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "checkData",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "upkeepNeeded",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "performData",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "performData",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/KeeperCompatibleInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "checkData",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "upkeepNeeded",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "performData",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "performData",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/KeeperCompatibleTestHelper.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | },
39 | {
40 | "inputs": [],
41 | "name": "testCannotExecute",
42 | "outputs": [],
43 | "stateMutability": "view",
44 | "type": "function"
45 | }
46 | ]
47 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/LinkTokenReceiver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "getChainlinkToken",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | },
15 | {
16 | "inputs": [
17 | {
18 | "internalType": "address",
19 | "name": "_sender",
20 | "type": "address"
21 | },
22 | {
23 | "internalType": "uint256",
24 | "name": "_amount",
25 | "type": "uint256"
26 | },
27 | {
28 | "internalType": "bytes",
29 | "name": "_data",
30 | "type": "bytes"
31 | }
32 | ],
33 | "name": "onTokenTransfer",
34 | "outputs": [],
35 | "stateMutability": "nonpayable",
36 | "type": "function"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/PointerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "getAddress",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/Reverter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "stateMutability": "payable",
4 | "type": "fallback"
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/VRF.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "PROOF_LENGTH",
5 | "outputs": [
6 | {
7 | "internalType": "uint256",
8 | "name": "",
9 | "type": "uint256"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/VRFConsumerBase.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "_vrfCoordinator",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "address",
11 | "name": "_link",
12 | "type": "address"
13 | }
14 | ],
15 | "stateMutability": "nonpayable",
16 | "type": "constructor"
17 | },
18 | {
19 | "inputs": [
20 | {
21 | "internalType": "bytes32",
22 | "name": "requestId",
23 | "type": "bytes32"
24 | },
25 | {
26 | "internalType": "uint256",
27 | "name": "randomness",
28 | "type": "uint256"
29 | }
30 | ],
31 | "name": "rawFulfillRandomness",
32 | "outputs": [],
33 | "stateMutability": "nonpayable",
34 | "type": "function"
35 | }
36 | ]
37 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.6/WithdrawalInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "recipient",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "uint256",
11 | "name": "amount",
12 | "type": "uint256"
13 | }
14 | ],
15 | "name": "withdraw",
16 | "outputs": [],
17 | "stateMutability": "nonpayable",
18 | "type": "function"
19 | },
20 | {
21 | "inputs": [],
22 | "name": "withdrawable",
23 | "outputs": [
24 | {
25 | "internalType": "uint256",
26 | "name": "",
27 | "type": "uint256"
28 | }
29 | ],
30 | "stateMutability": "view",
31 | "type": "function"
32 | }
33 | ]
34 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/ChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "internalType": "bytes32",
8 | "name": "id",
9 | "type": "bytes32"
10 | }
11 | ],
12 | "name": "ChainlinkCancelled",
13 | "type": "event"
14 | },
15 | {
16 | "anonymous": false,
17 | "inputs": [
18 | {
19 | "indexed": true,
20 | "internalType": "bytes32",
21 | "name": "id",
22 | "type": "bytes32"
23 | }
24 | ],
25 | "name": "ChainlinkFulfilled",
26 | "type": "event"
27 | },
28 | {
29 | "anonymous": false,
30 | "inputs": [
31 | {
32 | "indexed": true,
33 | "internalType": "bytes32",
34 | "name": "id",
35 | "type": "bytes32"
36 | }
37 | ],
38 | "name": "ChainlinkRequested",
39 | "type": "event"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/ENSResolver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes32",
6 | "name": "node",
7 | "type": "bytes32"
8 | }
9 | ],
10 | "name": "addr",
11 | "outputs": [
12 | {
13 | "internalType": "address",
14 | "name": "",
15 | "type": "address"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/KeeperCompatible.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "checkData",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "upkeepNeeded",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "performData",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "performData",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/KeeperCompatibleInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "checkData",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "upkeepNeeded",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "performData",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "performData",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/KeeperCompatibleTestHelper.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | },
39 | {
40 | "inputs": [],
41 | "name": "testCannotExecute",
42 | "outputs": [],
43 | "stateMutability": "view",
44 | "type": "function"
45 | }
46 | ]
47 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/LinkTokenReceiver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "getChainlinkToken",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | },
15 | {
16 | "inputs": [
17 | {
18 | "internalType": "address",
19 | "name": "sender",
20 | "type": "address"
21 | },
22 | {
23 | "internalType": "uint256",
24 | "name": "amount",
25 | "type": "uint256"
26 | },
27 | {
28 | "internalType": "bytes",
29 | "name": "data",
30 | "type": "bytes"
31 | }
32 | ],
33 | "name": "onTokenTransfer",
34 | "outputs": [],
35 | "stateMutability": "nonpayable",
36 | "type": "function"
37 | }
38 | ]
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/MockCompoundOracle.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "string",
6 | "name": "symbol",
7 | "type": "string"
8 | }
9 | ],
10 | "name": "price",
11 | "outputs": [
12 | {
13 | "internalType": "uint256",
14 | "name": "",
15 | "type": "uint256"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | },
21 | {
22 | "inputs": [
23 | {
24 | "internalType": "string",
25 | "name": "symbol",
26 | "type": "string"
27 | },
28 | {
29 | "internalType": "uint256",
30 | "name": "newPrice",
31 | "type": "uint256"
32 | },
33 | {
34 | "internalType": "uint256",
35 | "name": "newDecimals",
36 | "type": "uint256"
37 | }
38 | ],
39 | "name": "setPrice",
40 | "outputs": [],
41 | "stateMutability": "nonpayable",
42 | "type": "function"
43 | }
44 | ]
45 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/OwnableInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "acceptOwnership",
5 | "outputs": [],
6 | "stateMutability": "nonpayable",
7 | "type": "function"
8 | },
9 | {
10 | "inputs": [],
11 | "name": "owner",
12 | "outputs": [
13 | {
14 | "internalType": "address",
15 | "name": "",
16 | "type": "address"
17 | }
18 | ],
19 | "stateMutability": "nonpayable",
20 | "type": "function"
21 | },
22 | {
23 | "inputs": [
24 | {
25 | "internalType": "address",
26 | "name": "recipient",
27 | "type": "address"
28 | }
29 | ],
30 | "name": "transferOwnership",
31 | "outputs": [],
32 | "stateMutability": "nonpayable",
33 | "type": "function"
34 | }
35 | ]
36 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/Pausable.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": false,
7 | "internalType": "address",
8 | "name": "account",
9 | "type": "address"
10 | }
11 | ],
12 | "name": "Paused",
13 | "type": "event"
14 | },
15 | {
16 | "anonymous": false,
17 | "inputs": [
18 | {
19 | "indexed": false,
20 | "internalType": "address",
21 | "name": "account",
22 | "type": "address"
23 | }
24 | ],
25 | "name": "Unpaused",
26 | "type": "event"
27 | },
28 | {
29 | "inputs": [],
30 | "name": "paused",
31 | "outputs": [
32 | {
33 | "internalType": "bool",
34 | "name": "",
35 | "type": "bool"
36 | }
37 | ],
38 | "stateMutability": "view",
39 | "type": "function"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/PointerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "getAddress",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/TypeAndVersionInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "typeAndVersion",
5 | "outputs": [
6 | {
7 | "internalType": "string",
8 | "name": "",
9 | "type": "string"
10 | }
11 | ],
12 | "stateMutability": "pure",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/UniswapAnchoredView.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "string",
6 | "name": "symbol",
7 | "type": "string"
8 | }
9 | ],
10 | "name": "price",
11 | "outputs": [
12 | {
13 | "internalType": "uint256",
14 | "name": "",
15 | "type": "uint256"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/UpkeepReverter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "data",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "callable",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "executedata",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "view",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "pure",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/VRFConsumerBase.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes32",
6 | "name": "requestId",
7 | "type": "bytes32"
8 | },
9 | {
10 | "internalType": "uint256",
11 | "name": "randomness",
12 | "type": "uint256"
13 | }
14 | ],
15 | "name": "rawFulfillRandomness",
16 | "outputs": [],
17 | "stateMutability": "nonpayable",
18 | "type": "function"
19 | }
20 | ]
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.7/WithdrawalInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "recipient",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "uint256",
11 | "name": "amount",
12 | "type": "uint256"
13 | }
14 | ],
15 | "name": "withdraw",
16 | "outputs": [],
17 | "stateMutability": "nonpayable",
18 | "type": "function"
19 | },
20 | {
21 | "inputs": [],
22 | "name": "withdrawable",
23 | "outputs": [
24 | {
25 | "internalType": "uint256",
26 | "name": "",
27 | "type": "uint256"
28 | }
29 | ],
30 | "stateMutability": "view",
31 | "type": "function"
32 | }
33 | ]
34 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/AccessControllerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "user",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "bytes",
11 | "name": "data",
12 | "type": "bytes"
13 | }
14 | ],
15 | "name": "hasAccess",
16 | "outputs": [
17 | {
18 | "internalType": "bool",
19 | "name": "",
20 | "type": "bool"
21 | }
22 | ],
23 | "stateMutability": "view",
24 | "type": "function"
25 | }
26 | ]
27 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/AggregatorValidatorInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "uint256",
6 | "name": "previousRoundId",
7 | "type": "uint256"
8 | },
9 | {
10 | "internalType": "int256",
11 | "name": "previousAnswer",
12 | "type": "int256"
13 | },
14 | {
15 | "internalType": "uint256",
16 | "name": "currentRoundId",
17 | "type": "uint256"
18 | },
19 | {
20 | "internalType": "int256",
21 | "name": "currentAnswer",
22 | "type": "int256"
23 | }
24 | ],
25 | "name": "validate",
26 | "outputs": [
27 | {
28 | "internalType": "bool",
29 | "name": "",
30 | "type": "bool"
31 | }
32 | ],
33 | "stateMutability": "nonpayable",
34 | "type": "function"
35 | }
36 | ]
37 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/BlockhashStoreInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "uint256",
6 | "name": "number",
7 | "type": "uint256"
8 | }
9 | ],
10 | "name": "getBlockhash",
11 | "outputs": [
12 | {
13 | "internalType": "bytes32",
14 | "name": "",
15 | "type": "bytes32"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ChainlinkClient.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "internalType": "bytes32",
8 | "name": "id",
9 | "type": "bytes32"
10 | }
11 | ],
12 | "name": "ChainlinkCancelled",
13 | "type": "event"
14 | },
15 | {
16 | "anonymous": false,
17 | "inputs": [
18 | {
19 | "indexed": true,
20 | "internalType": "bytes32",
21 | "name": "id",
22 | "type": "bytes32"
23 | }
24 | ],
25 | "name": "ChainlinkFulfilled",
26 | "type": "event"
27 | },
28 | {
29 | "anonymous": false,
30 | "inputs": [
31 | {
32 | "indexed": true,
33 | "internalType": "bytes32",
34 | "name": "id",
35 | "type": "bytes32"
36 | }
37 | ],
38 | "name": "ChainlinkRequested",
39 | "type": "event"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/CronReceiver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [],
5 | "name": "Received1",
6 | "type": "event"
7 | },
8 | {
9 | "anonymous": false,
10 | "inputs": [],
11 | "name": "Received2",
12 | "type": "event"
13 | },
14 | {
15 | "inputs": [],
16 | "name": "handler1",
17 | "outputs": [],
18 | "stateMutability": "nonpayable",
19 | "type": "function"
20 | },
21 | {
22 | "inputs": [],
23 | "name": "handler2",
24 | "outputs": [],
25 | "stateMutability": "nonpayable",
26 | "type": "function"
27 | },
28 | {
29 | "inputs": [],
30 | "name": "revertHandler",
31 | "outputs": [],
32 | "stateMutability": "nonpayable",
33 | "type": "function"
34 | }
35 | ]
36 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/CronUpkeepDelegate.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "UnknownFieldType",
5 | "type": "error"
6 | },
7 | {
8 | "inputs": [
9 | {
10 | "internalType": "bytes",
11 | "name": "",
12 | "type": "bytes"
13 | }
14 | ],
15 | "name": "checkUpkeep",
16 | "outputs": [
17 | {
18 | "internalType": "bool",
19 | "name": "",
20 | "type": "bool"
21 | },
22 | {
23 | "internalType": "bytes",
24 | "name": "",
25 | "type": "bytes"
26 | }
27 | ],
28 | "stateMutability": "view",
29 | "type": "function"
30 | }
31 | ]
32 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/CronUpkeepFactory.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "stateMutability": "nonpayable",
5 | "type": "constructor"
6 | },
7 | {
8 | "anonymous": false,
9 | "inputs": [
10 | {
11 | "indexed": false,
12 | "internalType": "address",
13 | "name": "upkeep",
14 | "type": "address"
15 | },
16 | {
17 | "indexed": false,
18 | "internalType": "address",
19 | "name": "owner",
20 | "type": "address"
21 | }
22 | ],
23 | "name": "NewCronUpkeepCreated",
24 | "type": "event"
25 | },
26 | {
27 | "inputs": [],
28 | "name": "cronDelegateAddress",
29 | "outputs": [
30 | {
31 | "internalType": "address",
32 | "name": "",
33 | "type": "address"
34 | }
35 | ],
36 | "stateMutability": "view",
37 | "type": "function"
38 | },
39 | {
40 | "inputs": [],
41 | "name": "newCronUpkeep",
42 | "outputs": [],
43 | "stateMutability": "nonpayable",
44 | "type": "function"
45 | }
46 | ]
47 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ENSResolver.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes32",
6 | "name": "node",
7 | "type": "bytes32"
8 | }
9 | ],
10 | "name": "addr",
11 | "outputs": [
12 | {
13 | "internalType": "address",
14 | "name": "",
15 | "type": "address"
16 | }
17 | ],
18 | "stateMutability": "view",
19 | "type": "function"
20 | }
21 | ]
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ERC677ReceiverInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "sender",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "uint256",
11 | "name": "amount",
12 | "type": "uint256"
13 | },
14 | {
15 | "internalType": "bytes",
16 | "name": "data",
17 | "type": "bytes"
18 | }
19 | ],
20 | "name": "onTokenTransfer",
21 | "outputs": [],
22 | "stateMutability": "nonpayable",
23 | "type": "function"
24 | }
25 | ]
26 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ForwarderInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "target",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "bytes",
11 | "name": "data",
12 | "type": "bytes"
13 | }
14 | ],
15 | "name": "forward",
16 | "outputs": [],
17 | "stateMutability": "nonpayable",
18 | "type": "function"
19 | }
20 | ]
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/IMessageProvider.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": true,
7 | "internalType": "uint256",
8 | "name": "messageNum",
9 | "type": "uint256"
10 | },
11 | {
12 | "indexed": false,
13 | "internalType": "bytes",
14 | "name": "data",
15 | "type": "bytes"
16 | }
17 | ],
18 | "name": "InboxMessageDelivered",
19 | "type": "event"
20 | },
21 | {
22 | "anonymous": false,
23 | "inputs": [
24 | {
25 | "indexed": true,
26 | "internalType": "uint256",
27 | "name": "messageNum",
28 | "type": "uint256"
29 | }
30 | ],
31 | "name": "InboxMessageDeliveredFromOrigin",
32 | "type": "event"
33 | }
34 | ]
35 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/KeeperBase.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "OnlySimulatedBackend",
5 | "type": "error"
6 | }
7 | ]
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/KeeperCompatible.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "OnlySimulatedBackend",
5 | "type": "error"
6 | },
7 | {
8 | "inputs": [
9 | {
10 | "internalType": "bytes",
11 | "name": "checkData",
12 | "type": "bytes"
13 | }
14 | ],
15 | "name": "checkUpkeep",
16 | "outputs": [
17 | {
18 | "internalType": "bool",
19 | "name": "upkeepNeeded",
20 | "type": "bool"
21 | },
22 | {
23 | "internalType": "bytes",
24 | "name": "performData",
25 | "type": "bytes"
26 | }
27 | ],
28 | "stateMutability": "nonpayable",
29 | "type": "function"
30 | },
31 | {
32 | "inputs": [
33 | {
34 | "internalType": "bytes",
35 | "name": "performData",
36 | "type": "bytes"
37 | }
38 | ],
39 | "name": "performUpkeep",
40 | "outputs": [],
41 | "stateMutability": "nonpayable",
42 | "type": "function"
43 | }
44 | ]
45 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/KeeperCompatibleInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes",
6 | "name": "checkData",
7 | "type": "bytes"
8 | }
9 | ],
10 | "name": "checkUpkeep",
11 | "outputs": [
12 | {
13 | "internalType": "bool",
14 | "name": "upkeepNeeded",
15 | "type": "bool"
16 | },
17 | {
18 | "internalType": "bytes",
19 | "name": "performData",
20 | "type": "bytes"
21 | }
22 | ],
23 | "stateMutability": "nonpayable",
24 | "type": "function"
25 | },
26 | {
27 | "inputs": [
28 | {
29 | "internalType": "bytes",
30 | "name": "performData",
31 | "type": "bytes"
32 | }
33 | ],
34 | "name": "performUpkeep",
35 | "outputs": [],
36 | "stateMutability": "nonpayable",
37 | "type": "function"
38 | }
39 | ]
40 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/MockAggregator.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "latestAnswer",
5 | "outputs": [
6 | {
7 | "internalType": "int256",
8 | "name": "",
9 | "type": "int256"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | },
15 | {
16 | "inputs": [],
17 | "name": "s_answer",
18 | "outputs": [
19 | {
20 | "internalType": "int256",
21 | "name": "",
22 | "type": "int256"
23 | }
24 | ],
25 | "stateMutability": "view",
26 | "type": "function"
27 | },
28 | {
29 | "inputs": [
30 | {
31 | "internalType": "int256",
32 | "name": "answer",
33 | "type": "int256"
34 | }
35 | ],
36 | "name": "setLatestAnswer",
37 | "outputs": [],
38 | "stateMutability": "nonpayable",
39 | "type": "function"
40 | }
41 | ]
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/OwnableInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "acceptOwnership",
5 | "outputs": [],
6 | "stateMutability": "nonpayable",
7 | "type": "function"
8 | },
9 | {
10 | "inputs": [],
11 | "name": "owner",
12 | "outputs": [
13 | {
14 | "internalType": "address",
15 | "name": "",
16 | "type": "address"
17 | }
18 | ],
19 | "stateMutability": "nonpayable",
20 | "type": "function"
21 | },
22 | {
23 | "inputs": [
24 | {
25 | "internalType": "address",
26 | "name": "recipient",
27 | "type": "address"
28 | }
29 | ],
30 | "name": "transferOwnership",
31 | "outputs": [],
32 | "stateMutability": "nonpayable",
33 | "type": "function"
34 | }
35 | ]
36 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/PointerInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "getAddress",
5 | "outputs": [
6 | {
7 | "internalType": "address",
8 | "name": "",
9 | "type": "address"
10 | }
11 | ],
12 | "stateMutability": "view",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ReceiveEmitter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": false,
7 | "internalType": "uint256",
8 | "name": "amount",
9 | "type": "uint256"
10 | },
11 | {
12 | "indexed": false,
13 | "internalType": "uint256",
14 | "name": "newBalance",
15 | "type": "uint256"
16 | }
17 | ],
18 | "name": "FundsReceived",
19 | "type": "event"
20 | },
21 | {
22 | "stateMutability": "payable",
23 | "type": "receive"
24 | }
25 | ]
26 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ReceiveFallbackEmitter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "anonymous": false,
4 | "inputs": [
5 | {
6 | "indexed": false,
7 | "internalType": "uint256",
8 | "name": "amount",
9 | "type": "uint256"
10 | },
11 | {
12 | "indexed": false,
13 | "internalType": "uint256",
14 | "name": "newBalance",
15 | "type": "uint256"
16 | }
17 | ],
18 | "name": "FundsReceived",
19 | "type": "event"
20 | },
21 | {
22 | "stateMutability": "payable",
23 | "type": "fallback"
24 | }
25 | ]
26 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/ReceiveReverter.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "stateMutability": "payable",
4 | "type": "receive"
5 | }
6 | ]
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/TypeAndVersionInterface.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [],
4 | "name": "typeAndVersion",
5 | "outputs": [
6 | {
7 | "internalType": "string",
8 | "name": "",
9 | "type": "string"
10 | }
11 | ],
12 | "stateMutability": "pure",
13 | "type": "function"
14 | }
15 | ]
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/VRFConsumerBase.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "bytes32",
6 | "name": "requestId",
7 | "type": "bytes32"
8 | },
9 | {
10 | "internalType": "uint256",
11 | "name": "randomness",
12 | "type": "uint256"
13 | }
14 | ],
15 | "name": "rawFulfillRandomness",
16 | "outputs": [],
17 | "stateMutability": "nonpayable",
18 | "type": "function"
19 | }
20 | ]
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/abi/v0.8/VRFConsumerBaseV2.json:
--------------------------------------------------------------------------------
1 | [
2 | {
3 | "inputs": [
4 | {
5 | "internalType": "address",
6 | "name": "have",
7 | "type": "address"
8 | },
9 | {
10 | "internalType": "address",
11 | "name": "want",
12 | "type": "address"
13 | }
14 | ],
15 | "name": "OnlyCoordinatorCanFulfill",
16 | "type": "error"
17 | },
18 | {
19 | "inputs": [
20 | {
21 | "internalType": "uint256",
22 | "name": "requestId",
23 | "type": "uint256"
24 | },
25 | {
26 | "internalType": "uint256[]",
27 | "name": "randomWords",
28 | "type": "uint256[]"
29 | }
30 | ],
31 | "name": "rawFulfillRandomWords",
32 | "outputs": [],
33 | "stateMutability": "nonpayable",
34 | "type": "function"
35 | }
36 | ]
37 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/Migrations.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.24; // solhint-disable-line compiler-fixed
2 |
3 | contract Migrations {
4 | address public owner;
5 | uint public last_completed_migration;
6 |
7 | modifier restricted() {
8 | if (msg.sender == owner) _;
9 | }
10 |
11 | constructor() public {
12 | owner = msg.sender;
13 | }
14 |
15 | function setCompleted(uint completed) public restricted {
16 | last_completed_migration = completed;
17 | }
18 |
19 | function upgrade(address new_address) public restricted {
20 | Migrations upgraded = Migrations(new_address);
21 | upgraded.setCompleted(last_completed_migration);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/Pointer.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.4.24;
2 |
3 | contract Pointer {
4 | address public getAddress;
5 |
6 | constructor(address _addr) public {
7 | getAddress = _addr;
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/AggregatorInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.4.24;
2 |
3 | interface AggregatorInterface {
4 | function latestAnswer() external view returns (int256);
5 | function latestTimestamp() external view returns (uint256);
6 | function latestRound() external view returns (uint256);
7 | function getAnswer(uint256 roundId) external view returns (int256);
8 | function getTimestamp(uint256 roundId) external view returns (uint256);
9 |
10 | event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 timestamp);
11 | event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt);
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/AggregatorV3Interface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.4.24;
2 |
3 | interface AggregatorV3Interface {
4 |
5 | function decimals() external view returns (uint8);
6 | function description() external view returns (string memory);
7 | function version() external view returns (uint256);
8 |
9 | // getRoundData and latestRoundData should both raise "No data present"
10 | // if they do not have data to report, instead of returning unset values
11 | // which could be misinterpreted as actual reported values.
12 | function getRoundData(uint80 _roundId)
13 | external
14 | view
15 | returns (
16 | uint80 roundId,
17 | int256 answer,
18 | uint256 startedAt,
19 | uint256 updatedAt,
20 | uint80 answeredInRound
21 | );
22 | function latestRoundData()
23 | external
24 | view
25 | returns (
26 | uint80 roundId,
27 | int256 answer,
28 | uint256 startedAt,
29 | uint256 updatedAt,
30 | uint80 answeredInRound
31 | );
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/ChainlinkRequestInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.24;
2 |
3 | interface ChainlinkRequestInterface {
4 | function oracleRequest(
5 | address sender,
6 | uint256 payment,
7 | bytes32 id,
8 | address callbackAddress,
9 | bytes4 callbackFunctionId,
10 | uint256 nonce,
11 | uint256 version,
12 | bytes data
13 | ) external;
14 |
15 | function cancelOracleRequest(
16 | bytes32 requestId,
17 | uint256 payment,
18 | bytes4 callbackFunctionId,
19 | uint256 expiration
20 | ) external;
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/ERC20.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.11;
2 |
3 |
4 | import { ERC20Basic as linkERC20Basic } from "./ERC20Basic.sol";
5 |
6 |
7 | /**
8 | * @title ERC20 interface
9 | * @dev see https://github.com/ethereum/EIPs/issues/20
10 | */
11 | contract ERC20 is linkERC20Basic {
12 | function allowance(address owner, address spender) constant returns (uint256);
13 | function transferFrom(address from, address to, uint256 value) returns (bool);
14 | function approve(address spender, uint256 value) returns (bool);
15 | event Approval(address indexed owner, address indexed spender, uint256 value);
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/ERC20Basic.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.11;
2 |
3 |
4 | /**
5 | * @title ERC20Basic
6 | * @dev Simpler version of ERC20 interface
7 | * @dev see https://github.com/ethereum/EIPs/issues/179
8 | */
9 | contract ERC20Basic {
10 | uint256 public totalSupply;
11 | function balanceOf(address who) constant returns (uint256);
12 | function transfer(address to, uint256 value) returns (bool);
13 | event Transfer(address indexed from, address indexed to, uint256 value);
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/ERC677.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.8;
2 |
3 | import { ERC20 as linkERC20 } from "./ERC20.sol";
4 |
5 | contract ERC677 is linkERC20 {
6 | function transferAndCall(address to, uint value, bytes data) returns (bool success);
7 |
8 | event Transfer(address indexed from, address indexed to, uint value, bytes data);
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/ERC677Receiver.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.8;
2 |
3 |
4 | contract ERC677Receiver {
5 | function onTokenTransfer(address _sender, uint _value, bytes _data);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.4.24;
2 |
3 | interface FlagsInterface {
4 | function getFlag(address) external view returns (bool);
5 | function getFlags(address[] calldata) external view returns (bool[] memory);
6 | function raiseFlag(address) external;
7 | function raiseFlags(address[] calldata) external;
8 | function lowerFlags(address[] calldata) external;
9 | function setRaisingAccessController(address) external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/OracleInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.24;
2 |
3 | interface OracleInterface {
4 | function fulfillOracleRequest(
5 | bytes32 requestId,
6 | uint256 payment,
7 | address callbackAddress,
8 | bytes4 callbackFunctionId,
9 | uint256 expiration,
10 | bytes32 data
11 | ) external returns (bool);
12 | function getAuthorizationStatus(address node) external view returns (bool);
13 | function setFulfillmentPermission(address node, bool allowed) external;
14 | function withdraw(address recipient, uint256 amount) external;
15 | function withdrawable() external view returns (uint256);
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/interfaces/PointerInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.4.24;
2 |
3 | interface PointerInterface {
4 | function getAddress() external view returns (address);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/tests/BasicConsumer.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.4.24;
2 |
3 | import "./Consumer.sol";
4 |
5 | contract BasicConsumer is Consumer {
6 |
7 | constructor(address _link, address _oracle, bytes32 _specId) public {
8 | setChainlinkToken(_link);
9 | setChainlinkOracle(_oracle);
10 | specId = _specId;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/tests/EmptyOracle.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.4.24;
2 |
3 | import "../interfaces/ChainlinkRequestInterface.sol";
4 | import "../interfaces/OracleInterface.sol";
5 |
6 | /* solhint-disable no-empty-blocks */
7 |
8 | contract EmptyOracle is ChainlinkRequestInterface, OracleInterface {
9 |
10 | function cancelOracleRequest(bytes32, uint256, bytes4, uint256) external {}
11 | function fulfillOracleRequest(bytes32, uint256, address, bytes4, uint256, bytes32) external returns (bool) {}
12 | function getAuthorizationStatus(address) external view returns (bool) { return false; }
13 | function onTokenTransfer(address, uint256, bytes) external pure {}
14 | function oracleRequest(address, uint256, bytes32, address, bytes4, uint256, uint256, bytes) external {}
15 | function setFulfillmentPermission(address, bool) external {}
16 | function withdraw(address, uint256) external {}
17 | function withdrawable() external view returns (uint256) {}
18 |
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/tests/UpdatableConsumer.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.4.24;
2 |
3 | import "./Consumer.sol";
4 |
5 | contract UpdatableConsumer is Consumer {
6 |
7 | constructor(bytes32 _specId, address _ens, bytes32 _node) public {
8 | specId = _specId;
9 | useChainlinkWithENS(_ens, _node);
10 | }
11 |
12 | function updateOracle() public {
13 | updateChainlinkOracleWithENS();
14 | }
15 |
16 | function getChainlinkToken() public view returns (address) {
17 | return chainlinkTokenAddress();
18 | }
19 |
20 | function getOracle() public view returns (address) {
21 | return chainlinkOracleAddress();
22 | }
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.4/vendor/ENSResolver.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.4.24;
2 |
3 | contract ENSResolver {
4 | function addr(bytes32 node) public view returns (address);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/Migrations.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0; // solhint-disable-line compiler-fixed
2 |
3 | contract Migrations {
4 | address public owner;
5 | uint public last_completed_migration;
6 |
7 | modifier restricted() {
8 | if (msg.sender == owner) _;
9 | }
10 |
11 | constructor() public {
12 | owner = msg.sender;
13 | }
14 |
15 | function setCompleted(uint completed) public restricted {
16 | last_completed_migration = completed;
17 | }
18 |
19 | function upgrade(address new_address) public restricted {
20 | Migrations upgraded = Migrations(new_address);
21 | upgraded.setCompleted(last_completed_migration);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/dev/CoordinatorInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.5.0;
2 |
3 | contract CoordinatorInterface {
4 |
5 | function initiateServiceAgreement(
6 | bytes memory _serviceAgreementData,
7 | bytes memory _oracleSignaturesData)
8 | public returns (bytes32);
9 |
10 | function fulfillOracleRequest(
11 | bytes32 _requestId,
12 | bytes32 _aggregatorArgs)
13 | external returns (bool);
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/dev/OracleSignaturesDecoder.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.5.0;
2 |
3 | contract OracleSignaturesDecoder {
4 |
5 | struct OracleSignatures {
6 | uint8[] vs;
7 | bytes32[] rs;
8 | bytes32[] ss;
9 | }
10 |
11 | function decodeOracleSignatures(
12 | bytes memory _oracleSignaturesData
13 | )
14 | internal
15 | pure
16 | returns(OracleSignatures memory)
17 | {
18 | // solhint-disable indent
19 | OracleSignatures memory signatures;
20 | ( signatures.vs, signatures.rs, signatures.ss) =
21 | abi.decode(_oracleSignaturesData, ( uint8[], bytes32[], bytes32[] ));
22 | return signatures;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/AggregatorInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.5.0;
2 |
3 | interface AggregatorInterface {
4 | function latestAnswer() external view returns (int256);
5 | function latestTimestamp() external view returns (uint256);
6 | function latestRound() external view returns (uint256);
7 | function getAnswer(uint256 roundId) external view returns (int256);
8 | function getTimestamp(uint256 roundId) external view returns (uint256);
9 |
10 | event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 timestamp);
11 | event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt);
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/AggregatorV3Interface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.5.0;
2 |
3 | interface AggregatorV3Interface {
4 |
5 | function decimals() external view returns (uint8);
6 | function description() external view returns (string memory);
7 | function version() external view returns (uint256);
8 |
9 | // getRoundData and latestRoundData should both raise "No data present"
10 | // if they do not have data to report, instead of returning unset values
11 | // which could be misinterpreted as actual reported values.
12 | function getRoundData(uint80 _roundId)
13 | external
14 | view
15 | returns (
16 | uint80 roundId,
17 | int256 answer,
18 | uint256 startedAt,
19 | uint256 updatedAt,
20 | uint80 answeredInRound
21 | );
22 | function latestRoundData()
23 | external
24 | view
25 | returns (
26 | uint80 roundId,
27 | int256 answer,
28 | uint256 startedAt,
29 | uint256 updatedAt,
30 | uint80 answeredInRound
31 | );
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/ChainlinkRequestInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | interface ChainlinkRequestInterface {
4 | function oracleRequest(
5 | address sender,
6 | uint256 requestPrice,
7 | bytes32 serviceAgreementID,
8 | address callbackAddress,
9 | bytes4 callbackFunctionId,
10 | uint256 nonce,
11 | uint256 dataVersion,
12 | bytes calldata data
13 | ) external;
14 |
15 | function cancelOracleRequest(
16 | bytes32 requestId,
17 | uint256 payment,
18 | bytes4 callbackFunctionId,
19 | uint256 expiration
20 | ) external;
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity >=0.5.0;
2 |
3 | interface FlagsInterface {
4 | function getFlag(address) external view returns (bool);
5 | function getFlags(address[] calldata) external view returns (bool[] memory);
6 | function raiseFlag(address) external;
7 | function raiseFlags(address[] calldata) external;
8 | function lowerFlags(address[] calldata) external;
9 | function setRaisingAccessController(address) external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/OracleInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | interface OracleInterface {
4 | function fulfillOracleRequest(
5 | bytes32 requestId,
6 | uint256 payment,
7 | address callbackAddress,
8 | bytes4 callbackFunctionId,
9 | uint256 expiration,
10 | bytes32 data
11 | ) external returns (bool);
12 | function getAuthorizationStatus(address node) external view returns (bool);
13 | function setFulfillmentPermission(address node, bool allowed) external;
14 | function withdraw(address recipient, uint256 amount) external;
15 | function withdrawable() external view returns (uint256);
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/PointerInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | interface PointerInterface {
4 | function getAddress() external view returns (address);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/interfaces/WithdrawalInterface.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | interface WithdrawalInterface {
4 | /**
5 | * @notice transfer LINK held by the contract belonging to msg.sender to
6 | * another address
7 | * @param recipient is the address to send the LINK to
8 | * @param amount is the amount of LINK to send
9 | */
10 | function withdraw(address recipient, uint256 amount) external;
11 |
12 | /**
13 | * @notice query the available amount of LINK to withdraw by msg.sender
14 | */
15 | function withdrawable() external view returns (uint256);
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/tests/BasicConsumer.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | import "./Consumer.sol";
4 |
5 | contract BasicConsumer is Consumer {
6 |
7 | constructor(address _link, address _oracle, bytes32 _specId) public {
8 | setChainlinkToken(_link);
9 | setChainlinkOracle(_oracle);
10 | specId = _specId;
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/tests/MedianTestHelper.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | import "../Median.sol";
4 |
5 | contract MedianTestHelper {
6 |
7 | function publicGet(int256[] memory _list)
8 | public
9 | pure
10 | returns (int256)
11 | {
12 | return Median.calculate(_list);
13 | }
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/tests/ServiceAgreementConsumer.sol:
--------------------------------------------------------------------------------
1 | pragma solidity 0.5.0;
2 |
3 | import "../ChainlinkClient.sol";
4 |
5 | contract ServiceAgreementConsumer is ChainlinkClient {
6 | uint256 constant private ORACLE_PAYMENT = 1 * LINK;
7 |
8 | bytes32 internal sAId;
9 | bytes32 public currentPrice;
10 |
11 | constructor(address _link, address _coordinator, bytes32 _sAId) public {
12 | setChainlinkToken(_link);
13 | setChainlinkOracle(_coordinator);
14 | sAId = _sAId;
15 | }
16 |
17 | function requestEthereumPrice(string memory _currency) public {
18 | Chainlink.Request memory req = buildChainlinkRequest(sAId, address(this), this.fulfill.selector);
19 | req.add("get", "https://min-api.cryptocompare.com/data/price?fsym=ETH&tsyms=USD,EUR,JPY");
20 | req.add("path", _currency);
21 | sendChainlinkRequest(req, ORACLE_PAYMENT);
22 | }
23 |
24 | function fulfill(bytes32 _requestId, bytes32 _price)
25 | public
26 | recordChainlinkFulfillment(_requestId)
27 | {
28 | currentPrice = _price;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/vendor/ENSResolver.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | contract ENSResolver {
4 | function addr(bytes32 node) public view returns (address);
5 | }
6 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.5/vendor/SignedSafeMath.sol:
--------------------------------------------------------------------------------
1 | pragma solidity ^0.5.0;
2 |
3 | library SignedSafeMath {
4 |
5 | /**
6 | * @dev Adds two int256s and makes sure the result doesn't overflow. Signed
7 | * integers aren't supported by the SafeMath library, thus this method
8 | * @param _a The first number to be added
9 | * @param _a The second number to be added
10 | */
11 | function add(int256 _a, int256 _b)
12 | internal
13 | pure
14 | returns (int256)
15 | {
16 | // solium-disable-next-line zeppelin/no-arithmetic-operations
17 | int256 c = _a + _b;
18 | require((_b >= 0 && c >= _a) || (_b < 0 && c < _a), "SignedSafeMath: addition overflow");
19 |
20 | return c;
21 | }
22 | }
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/KeeperBase.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | contract KeeperBase {
5 | /**
6 | * @notice method that allows it to be simulated via eth_call by checking that
7 | * the sender is the zero address.
8 | */
9 | function preventExecution() internal view {
10 | require(tx.origin == address(0), "only for simulated backend");
11 | }
12 |
13 | /**
14 | * @notice modifier that allows it to be simulated via eth_call by checking
15 | * that the sender is the zero address.
16 | */
17 | modifier cannotExecute() {
18 | preventExecution();
19 | _;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/KeeperCompatible.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "./KeeperBase.sol";
5 | import "./interfaces/KeeperCompatibleInterface.sol";
6 |
7 | abstract contract KeeperCompatible is KeeperBase, KeeperCompatibleInterface {}
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/AccessControllerInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity >0.6.0 <0.8.0;
3 |
4 | interface AccessControllerInterface {
5 | function hasAccess(address user, bytes calldata data) external view returns (bool);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/AggregatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface AggregatorInterface {
5 | function latestAnswer()
6 | external
7 | view
8 | returns (
9 | int256
10 | );
11 |
12 | function latestTimestamp()
13 | external
14 | view
15 | returns (
16 | uint256
17 | );
18 |
19 | function latestRound()
20 | external
21 | view
22 | returns (
23 | uint256
24 | );
25 |
26 | function getAnswer(
27 | uint256 roundId
28 | )
29 | external
30 | view
31 | returns (
32 | int256
33 | );
34 |
35 | function getTimestamp(
36 | uint256 roundId
37 | )
38 | external
39 | view
40 | returns (
41 | uint256
42 | );
43 |
44 | event AnswerUpdated(
45 | int256 indexed current,
46 | uint256 indexed roundId,
47 | uint256 updatedAt
48 | );
49 |
50 | event NewRound(
51 | uint256 indexed roundId,
52 | address indexed startedBy,
53 | uint256 startedAt
54 | );
55 | }
56 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/AggregatorV2V3Interface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "./AggregatorInterface.sol";
5 | import "./AggregatorV3Interface.sol";
6 |
7 | interface AggregatorV2V3Interface is AggregatorInterface, AggregatorV3Interface
8 | {
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/AggregatorValidatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface AggregatorValidatorInterface {
5 | function validate(
6 | uint256 previousRoundId,
7 | int256 previousAnswer,
8 | uint256 currentRoundId,
9 | int256 currentAnswer
10 | ) external returns (bool);
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/BlockHashStoreInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | interface BlockHashStoreInterface {
5 | function getBlockhash(uint256 number) external view returns (bytes32);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/ChainlinkRequestInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface ChainlinkRequestInterface {
5 | function oracleRequest(
6 | address sender,
7 | uint256 requestPrice,
8 | bytes32 serviceAgreementID,
9 | address callbackAddress,
10 | bytes4 callbackFunctionId,
11 | uint256 nonce,
12 | uint256 dataVersion,
13 | bytes calldata data
14 | ) external;
15 |
16 | function cancelOracleRequest(
17 | bytes32 requestId,
18 | uint256 payment,
19 | bytes4 callbackFunctionId,
20 | uint256 expiration
21 | ) external;
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface FlagsInterface {
5 | function getFlag(address) external view returns (bool);
6 | function getFlags(address[] calldata) external view returns (bool[] memory);
7 | function raiseFlag(address) external;
8 | function raiseFlags(address[] calldata) external;
9 | function lowerFlags(address[] calldata) external;
10 | function setRaisingAccessController(address) external;
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/OracleInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface OracleInterface {
5 | function fulfillOracleRequest(
6 | bytes32 requestId,
7 | uint256 payment,
8 | address callbackAddress,
9 | bytes4 callbackFunctionId,
10 | uint256 expiration,
11 | bytes32 data
12 | ) external returns (bool);
13 | function getAuthorizationStatus(address node) external view returns (bool);
14 | function setFulfillmentPermission(address node, bool allowed) external;
15 | function withdraw(address recipient, uint256 amount) external;
16 | function withdrawable() external view returns (uint256);
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/PointerInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface PointerInterface {
5 | function getAddress() external view returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/interfaces/WithdrawalInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | interface WithdrawalInterface {
5 | /**
6 | * @notice transfer LINK held by the contract belonging to msg.sender to
7 | * another address
8 | * @param recipient is the address to send the LINK to
9 | * @param amount is the amount of LINK to send
10 | */
11 | function withdraw(address recipient, uint256 amount) external;
12 |
13 | /**
14 | * @notice query the available amount of LINK to withdraw by msg.sender
15 | */
16 | function withdrawable() external view returns (uint256);
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/AggregatorValidatorMock.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | import "../interfaces/AggregatorValidatorInterface.sol";
5 |
6 | contract AggregatorValidatorMock is AggregatorValidatorInterface {
7 | uint256 public previousRoundId;
8 | int256 public previousAnswer;
9 | uint256 public currentRoundId;
10 | int256 public currentAnswer;
11 |
12 | event Validated(
13 | uint256 _previousRoundId,
14 | int256 indexed _previousAnswer,
15 | uint256 _currentRoundId,
16 | int256 indexed _currentAnswer
17 | );
18 |
19 | function validate(
20 | uint256 _previousRoundId,
21 | int256 _previousAnswer,
22 | uint256 _currentRoundId,
23 | int256 _currentAnswer
24 | )
25 | external
26 | override
27 | returns (bool)
28 | {
29 | emit Validated(
30 | _previousRoundId,
31 | _previousAnswer,
32 | _currentRoundId,
33 | _currentAnswer
34 | );
35 | return true;
36 | }
37 |
38 | }
39 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/BasicConsumer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "./Consumer.sol";
5 |
6 | contract BasicConsumer is Consumer {
7 |
8 | constructor(address _link, address _oracle, bytes32 _specId) public {
9 | setChainlinkToken(_link);
10 | setChainlinkOracle(_oracle);
11 | specId = _specId;
12 | }
13 |
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/BlockhashStoreTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | import "../dev/BlockhashStore.sol";
5 |
6 | contract BlockhashStoreTestHelper is BlockhashStore {
7 | function godmodeSetHash(uint256 n, bytes32 h) public {
8 | s_blockhashes[n] = h;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/CheckedMathTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "../CheckedMath.sol";
5 |
6 | contract CheckedMathTestHelper {
7 | using CheckedMath for int256;
8 |
9 | function add(int256 a, int256 b)
10 | external
11 | pure
12 | returns (int256 result, bool ok)
13 | {
14 | return a.add(b);
15 | }
16 |
17 | function sub(int256 a, int256 b)
18 | external
19 | pure
20 | returns (int256 result, bool ok)
21 | {
22 | return a.sub(b);
23 | }
24 |
25 | function mul(int256 a, int256 b)
26 | external
27 | pure
28 | returns (int256 result, bool ok)
29 | {
30 | return a.mul(b);
31 | }
32 |
33 | function div(int256 a, int256 b)
34 | external
35 | pure
36 | returns (int256 result, bool ok)
37 | {
38 | return a.div(b);
39 | }
40 |
41 | }
42 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/ConcreteSignedSafeMath.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "../SignedSafeMath.sol";
5 |
6 | contract ConcreteSignedSafeMath {
7 | function testAdd(int256 _a, int256 _b)
8 | external
9 | pure
10 | returns (int256)
11 | {
12 | return SignedSafeMath.add(_a, _b);
13 | }
14 |
15 | function testAvg(int256 _a, int256 _b)
16 | external
17 | pure
18 | returns (int256)
19 | {
20 | return SignedSafeMath.avg(_a, _b);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/FlagsTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "../Flags.sol";
5 |
6 | contract FlagsTestHelper {
7 | Flags public flags;
8 |
9 | constructor(
10 | address flagsContract
11 | )
12 | public
13 | {
14 | flags = Flags(flagsContract);
15 | }
16 |
17 | function getFlag(
18 | address subject
19 | )
20 | external
21 | view
22 | returns(bool)
23 | {
24 | return flags.getFlag(subject);
25 | }
26 |
27 | function getFlags(
28 | address[] calldata subjects
29 | )
30 | external
31 | view
32 | returns(bool[] memory)
33 | {
34 | return flags.getFlags(subjects);
35 | }
36 |
37 | }
38 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/GasGuzzler.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | contract GasGuzzler {
5 | fallback() external payable {
6 | while (true) {
7 | }
8 | }
9 | }
10 |
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/KeeperCompatibleTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "../KeeperCompatible.sol";
5 |
6 | contract KeeperCompatibleTestHelper is KeeperCompatible {
7 | function checkUpkeep(bytes calldata) external override returns (bool, bytes memory) {}
8 |
9 | function performUpkeep(bytes calldata) external override {}
10 |
11 | function testCannotExecute() public view cannotExecute {}
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/MedianTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | import "../Median.sol";
5 |
6 | contract MedianTestHelper {
7 | function publicGet(int256[] memory list)
8 | public
9 | pure
10 | returns (int256)
11 | {
12 | return Median.calculate(list);
13 | }
14 |
15 | function publicQuickselectTwo(int256[] memory list, uint256 k1, uint256 k2)
16 | public
17 | pure
18 | returns (int256, int256)
19 | {
20 | return Median.quickselectTwo(list, 0, list.length - 1, k1, k2);
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/Reverter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | contract Reverter {
5 |
6 | fallback() external payable {
7 | require(false, "Raised by Reverter.sol");
8 | }
9 |
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/VRFConsumer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | import "../interfaces/LinkTokenInterface.sol";
5 | import "../VRFCoordinator.sol";
6 | import "../VRFConsumerBase.sol";
7 |
8 | contract VRFConsumer is VRFConsumerBase {
9 |
10 | uint256 public randomnessOutput;
11 | bytes32 public requestId;
12 |
13 | constructor(address _vrfCoordinator, address _link) public
14 | // solhint-disable-next-line no-empty-blocks
15 | VRFConsumerBase(_vrfCoordinator, _link) { /* empty */ }
16 |
17 | function fulfillRandomness(bytes32 _requestId, uint256 _randomness)
18 | internal override
19 | {
20 | randomnessOutput = _randomness;
21 | requestId = _requestId;
22 | }
23 |
24 | function testRequestRandomness(bytes32 _keyHash, uint256 _fee)
25 | external returns (bytes32 requestId)
26 | {
27 | return requestRandomness(_keyHash, _fee);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/tests/VRFRequestIDBaseTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity 0.6.6;
3 |
4 | import "../VRFRequestIDBase.sol";
5 |
6 | contract VRFRequestIDBaseTestHelper is VRFRequestIDBase {
7 |
8 | function makeVRFInputSeed_(bytes32 _keyHash, uint256 _userSeed,
9 | address _requester, uint256 _nonce)
10 | public pure returns (uint256) {
11 | return makeVRFInputSeed(_keyHash, _userSeed, _requester, _nonce);
12 | }
13 |
14 | function makeRequestId_(
15 | bytes32 _keyHash, uint256 _vRFInputSeed) public pure returns (bytes32) {
16 | return makeRequestId(_keyHash, _vRFInputSeed);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.6/vendor/ENSResolver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.6.0;
3 |
4 | abstract contract ENSResolver {
5 | function addr(bytes32 node) public view virtual returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/ConfirmedOwner.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "./ConfirmedOwnerWithProposal.sol";
5 |
6 | /**
7 | * @title The ConfirmedOwner contract
8 | * @notice A contract with helpers for basic contract ownership.
9 | */
10 | contract ConfirmedOwner is ConfirmedOwnerWithProposal {
11 | constructor(address newOwner) ConfirmedOwnerWithProposal(newOwner, address(0)) {}
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/KeeperBase.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | contract KeeperBase {
5 | /**
6 | * @notice method that allows it to be simulated via eth_call by checking that
7 | * the sender is the zero address.
8 | */
9 | function preventExecution() internal view {
10 | require(tx.origin == address(0), "only for simulated backend");
11 | }
12 |
13 | /**
14 | * @notice modifier that allows it to be simulated via eth_call by checking
15 | * that the sender is the zero address.
16 | */
17 | modifier cannotExecute() {
18 | preventExecution();
19 | _;
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/KeeperCompatible.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "./KeeperBase.sol";
5 | import "./interfaces/KeeperCompatibleInterface.sol";
6 |
7 | abstract contract KeeperCompatible is KeeperBase, KeeperCompatibleInterface {}
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/AggregatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface AggregatorInterface {
5 | function latestAnswer() external view returns (int256);
6 |
7 | function latestTimestamp() external view returns (uint256);
8 |
9 | function latestRound() external view returns (uint256);
10 |
11 | function getAnswer(uint256 roundId) external view returns (int256);
12 |
13 | function getTimestamp(uint256 roundId) external view returns (uint256);
14 |
15 | event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 updatedAt);
16 |
17 | event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt);
18 | }
19 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/AggregatorProxyInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "./AggregatorV2V3Interface.sol";
5 |
6 | interface AggregatorProxyInterface is AggregatorV2V3Interface {
7 | function phaseAggregators(uint16 phaseId) external view returns (address);
8 |
9 | function phaseId() external view returns (uint16);
10 |
11 | function proposedAggregator() external view returns (address);
12 |
13 | function proposedGetRoundData(uint80 roundId)
14 | external
15 | view
16 | returns (
17 | uint80 id,
18 | int256 answer,
19 | uint256 startedAt,
20 | uint256 updatedAt,
21 | uint80 answeredInRound
22 | );
23 |
24 | function proposedLatestRoundData()
25 | external
26 | view
27 | returns (
28 | uint80 id,
29 | int256 answer,
30 | uint256 startedAt,
31 | uint256 updatedAt,
32 | uint80 answeredInRound
33 | );
34 |
35 | function aggregator() external view returns (address);
36 | }
37 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/AggregatorV2V3Interface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "./AggregatorInterface.sol";
5 | import "./AggregatorV3Interface.sol";
6 |
7 | interface AggregatorV2V3Interface is AggregatorInterface, AggregatorV3Interface {}
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/AuthorizedReceiverInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface AuthorizedReceiverInterface {
5 | function isAuthorizedSender(address sender) external view returns (bool);
6 |
7 | function getAuthorizedSenders() external returns (address[] memory);
8 |
9 | function setAuthorizedSenders(address[] calldata senders) external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/ChainlinkRequestInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface ChainlinkRequestInterface {
5 | function oracleRequest(
6 | address sender,
7 | uint256 requestPrice,
8 | bytes32 serviceAgreementID,
9 | address callbackAddress,
10 | bytes4 callbackFunctionId,
11 | uint256 nonce,
12 | uint256 dataVersion,
13 | bytes calldata data
14 | ) external;
15 |
16 | function cancelOracleRequest(
17 | bytes32 requestId,
18 | uint256 payment,
19 | bytes4 callbackFunctionId,
20 | uint256 expiration
21 | ) external;
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface FlagsInterface {
5 | function getFlag(address) external view returns (bool);
6 |
7 | function getFlags(address[] calldata) external view returns (bool[] memory);
8 |
9 | function raiseFlag(address) external;
10 |
11 | function raiseFlags(address[] calldata) external;
12 |
13 | function lowerFlags(address[] calldata) external;
14 |
15 | function setRaisingAccessController(address) external;
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/OperatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "./ChainlinkRequestInterface.sol";
5 | import "./OracleInterface.sol";
6 |
7 | interface OperatorInterface is ChainlinkRequestInterface, OracleInterface {
8 | function operatorRequest(
9 | address sender,
10 | uint256 payment,
11 | bytes32 specId,
12 | bytes4 callbackFunctionId,
13 | uint256 nonce,
14 | uint256 dataVersion,
15 | bytes calldata data
16 | ) external;
17 |
18 | function fulfillOracleRequest2(
19 | bytes32 requestId,
20 | uint256 payment,
21 | address callbackAddress,
22 | bytes4 callbackFunctionId,
23 | uint256 expiration,
24 | bytes calldata data
25 | ) external returns (bool);
26 |
27 | function ownerTransferAndCall(
28 | address to,
29 | uint256 value,
30 | bytes calldata data
31 | ) external returns (bool success);
32 | }
33 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/OracleInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface OracleInterface {
5 | function fulfillOracleRequest(
6 | bytes32 requestId,
7 | uint256 payment,
8 | address callbackAddress,
9 | bytes4 callbackFunctionId,
10 | uint256 expiration,
11 | bytes32 data
12 | ) external returns (bool);
13 |
14 | function withdraw(address recipient, uint256 amount) external;
15 |
16 | function withdrawable() external view returns (uint256);
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/OwnableInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface OwnableInterface {
5 | function owner() external returns (address);
6 |
7 | function transferOwnership(address recipient) external;
8 |
9 | function acceptOwnership() external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/PointerInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface PointerInterface {
5 | function getAddress() external view returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/TypeAndVersionInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | abstract contract TypeAndVersionInterface {
5 | function typeAndVersion() external pure virtual returns (string memory);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/UniswapAnchoredView.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | // Compound Finance's oracle interface
5 | interface UniswapAnchoredView {
6 | function price(string memory symbol) external view returns (uint256);
7 | }
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/interfaces/WithdrawalInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | interface WithdrawalInterface {
5 | /**
6 | * @notice transfer LINK held by the contract belonging to msg.sender to
7 | * another address
8 | * @param recipient is the address to send the LINK to
9 | * @param amount is the amount of LINK to send
10 | */
11 | function withdraw(address recipient, uint256 amount) external;
12 |
13 | /**
14 | * @notice query the available amount of LINK to withdraw by msg.sender
15 | */
16 | function withdrawable() external view returns (uint256);
17 | }
18 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/tests/ConfirmedOwnerTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "../ConfirmedOwner.sol";
5 |
6 | contract ConfirmedOwnerTestHelper is ConfirmedOwner {
7 | event Here();
8 |
9 | constructor() ConfirmedOwner(msg.sender) {}
10 |
11 | function modifierOnlyOwner() public onlyOwner {
12 | emit Here();
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/tests/KeeperCompatibleTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "../KeeperCompatible.sol";
5 |
6 | contract KeeperCompatibleTestHelper is KeeperCompatible {
7 | function checkUpkeep(bytes calldata) external override returns (bool, bytes memory) {}
8 |
9 | function performUpkeep(bytes calldata) external override {}
10 |
11 | function testCannotExecute() public view cannotExecute {}
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/tests/MockCompoundOracle.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "../interfaces/UniswapAnchoredView.sol";
5 |
6 | contract MockCompoundOracle is UniswapAnchoredView {
7 | struct OracleDetails {
8 | uint256 price;
9 | uint256 decimals;
10 | }
11 |
12 | mapping(string => OracleDetails) s_oracleDetails;
13 |
14 | function price(string memory symbol) external view override returns (uint256) {
15 | return s_oracleDetails[symbol].price;
16 | }
17 |
18 | function setPrice(
19 | string memory symbol,
20 | uint256 newPrice,
21 | uint256 newDecimals
22 | ) public {
23 | OracleDetails memory details = s_oracleDetails[symbol];
24 | details.price = newPrice;
25 | details.decimals = newDecimals;
26 | s_oracleDetails[symbol] = details;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/tests/UpkeepReverter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | import "../KeeperCompatible.sol";
5 |
6 | contract UpkeepReverter is KeeperCompatible {
7 | function checkUpkeep(bytes calldata data)
8 | public
9 | view
10 | override
11 | cannotExecute
12 | returns (bool callable, bytes calldata executedata)
13 | {
14 | require(false, "!working");
15 | return (true, data);
16 | }
17 |
18 | function performUpkeep(bytes calldata) external pure override {
19 | require(false, "!working");
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.7/vendor/ENSResolver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.7.0;
3 |
4 | abstract contract ENSResolver {
5 | function addr(bytes32 node) public view virtual returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/ConfirmedOwner.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "./ConfirmedOwnerWithProposal.sol";
5 |
6 | /**
7 | * @title The ConfirmedOwner contract
8 | * @notice A contract with helpers for basic contract ownership.
9 | */
10 | contract ConfirmedOwner is ConfirmedOwnerWithProposal {
11 | constructor(address newOwner) ConfirmedOwnerWithProposal(newOwner, address(0)) {}
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/KeeperBase.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | contract KeeperBase {
5 | error OnlySimulatedBackend();
6 |
7 | /**
8 | * @notice method that allows it to be simulated via eth_call by checking that
9 | * the sender is the zero address.
10 | */
11 | function preventExecution() internal view {
12 | if (tx.origin != address(0)) {
13 | revert OnlySimulatedBackend();
14 | }
15 | }
16 |
17 | /**
18 | * @notice modifier that allows it to be simulated via eth_call by checking
19 | * that the sender is the zero address.
20 | */
21 | modifier cannotExecute() {
22 | preventExecution();
23 | _;
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/KeeperCompatible.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "./KeeperBase.sol";
5 | import "./interfaces/KeeperCompatibleInterface.sol";
6 |
7 | abstract contract KeeperCompatible is KeeperBase, KeeperCompatibleInterface {}
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/dev/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.6;
3 |
4 | interface FlagsInterface {
5 | function getFlag(address) external view returns (bool);
6 |
7 | function getFlags(address[] calldata) external view returns (bool[] memory);
8 |
9 | function raiseFlag(address) external;
10 |
11 | function raiseFlags(address[] calldata) external;
12 |
13 | function lowerFlag(address) external;
14 |
15 | function lowerFlags(address[] calldata) external;
16 |
17 | function setRaisingAccessController(address) external;
18 |
19 | function setLoweringAccessController(address) external;
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/dev/interfaces/ForwarderInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | /// @title ForwarderInterface - forwards a call to a target, under some conditions
5 | interface ForwarderInterface {
6 | /**
7 | * @notice forward calls the `target` with `data`
8 | * @param target contract address to be called
9 | * @param data to send to target contract
10 | */
11 | function forward(address target, bytes memory data) external;
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/AccessControllerInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface AccessControllerInterface {
5 | function hasAccess(address user, bytes calldata data) external view returns (bool);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface AggregatorInterface {
5 | function latestAnswer() external view returns (int256);
6 |
7 | function latestTimestamp() external view returns (uint256);
8 |
9 | function latestRound() external view returns (uint256);
10 |
11 | function getAnswer(uint256 roundId) external view returns (int256);
12 |
13 | function getTimestamp(uint256 roundId) external view returns (uint256);
14 |
15 | event AnswerUpdated(int256 indexed current, uint256 indexed roundId, uint256 updatedAt);
16 |
17 | event NewRound(uint256 indexed roundId, address indexed startedBy, uint256 startedAt);
18 | }
19 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorV2V3Interface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "./AggregatorInterface.sol";
5 | import "./AggregatorV3Interface.sol";
6 |
7 | interface AggregatorV2V3Interface is AggregatorInterface, AggregatorV3Interface {}
8 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/AggregatorValidatorInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface AggregatorValidatorInterface {
5 | function validate(
6 | uint256 previousRoundId,
7 | int256 previousAnswer,
8 | uint256 currentRoundId,
9 | int256 currentAnswer
10 | ) external returns (bool);
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/BlockhashStoreInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface BlockhashStoreInterface {
5 | function getBlockhash(uint256 number) external view returns (bytes32);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/ChainlinkRequestInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface ChainlinkRequestInterface {
5 | function oracleRequest(
6 | address sender,
7 | uint256 requestPrice,
8 | bytes32 serviceAgreementID,
9 | address callbackAddress,
10 | bytes4 callbackFunctionId,
11 | uint256 nonce,
12 | uint256 dataVersion,
13 | bytes calldata data
14 | ) external;
15 |
16 | function cancelOracleRequest(
17 | bytes32 requestId,
18 | uint256 payment,
19 | bytes4 callbackFunctionId,
20 | uint256 expiration
21 | ) external;
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/ERC677ReceiverInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.6;
3 |
4 | interface ERC677ReceiverInterface {
5 | function onTokenTransfer(
6 | address sender,
7 | uint256 amount,
8 | bytes calldata data
9 | ) external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/FlagsInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface FlagsInterface {
5 | function getFlag(address) external view returns (bool);
6 |
7 | function getFlags(address[] calldata) external view returns (bool[] memory);
8 |
9 | function raiseFlag(address) external;
10 |
11 | function raiseFlags(address[] calldata) external;
12 |
13 | function lowerFlags(address[] calldata) external;
14 |
15 | function setRaisingAccessController(address) external;
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/OracleInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface OracleInterface {
5 | function fulfillOracleRequest(
6 | bytes32 requestId,
7 | uint256 payment,
8 | address callbackAddress,
9 | bytes4 callbackFunctionId,
10 | uint256 expiration,
11 | bytes32 data
12 | ) external returns (bool);
13 |
14 | function isAuthorizedSender(address node) external view returns (bool);
15 |
16 | function withdraw(address recipient, uint256 amount) external;
17 |
18 | function withdrawable() external view returns (uint256);
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/OwnableInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface OwnableInterface {
5 | function owner() external returns (address);
6 |
7 | function transferOwnership(address recipient) external;
8 |
9 | function acceptOwnership() external;
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/PointerInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | interface PointerInterface {
5 | function getAddress() external view returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/interfaces/TypeAndVersionInterface.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | abstract contract TypeAndVersionInterface {
5 | function typeAndVersion() external pure virtual returns (string memory);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/mocks/MockAggregator.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | contract MockAggregator {
5 | int256 public s_answer;
6 |
7 | function setLatestAnswer(int256 answer) public {
8 | s_answer = answer;
9 | }
10 |
11 | function latestAnswer() public view returns (int256) {
12 | return s_answer;
13 | }
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/mocks/MockAggregatorValidator.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "../interfaces/AggregatorValidatorInterface.sol";
5 |
6 | contract MockAggregatorValidator is AggregatorValidatorInterface {
7 | uint8 immutable id;
8 |
9 | constructor(uint8 id_) {
10 | id = id_;
11 | }
12 |
13 | event ValidateCalled(
14 | uint8 id,
15 | uint256 previousRoundId,
16 | int256 previousAnswer,
17 | uint256 currentRoundId,
18 | int256 currentAnswer
19 | );
20 |
21 | function validate(
22 | uint256 previousRoundId,
23 | int256 previousAnswer,
24 | uint256 currentRoundId,
25 | int256 currentAnswer
26 | ) external override returns (bool) {
27 | emit ValidateCalled(id, previousRoundId, previousAnswer, currentRoundId, currentAnswer);
28 | return true;
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/CronReceiver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | contract CronReceiver {
6 | event Received1();
7 | event Received2();
8 |
9 | function handler1() external {
10 | emit Received1();
11 | }
12 |
13 | function handler2() external {
14 | emit Received2();
15 | }
16 |
17 | function revertHandler() external {
18 | revert("revert!");
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/EthBalanceMonitorExposed.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | import "../upkeeps/EthBalanceMonitor.sol";
6 |
7 | contract EthBalanceMonitorExposed is EthBalanceMonitor {
8 | constructor(address keeperRegistryAddress, uint256 minWaitPeriod)
9 | EthBalanceMonitor(keeperRegistryAddress, minWaitPeriod)
10 | {}
11 |
12 | function setLastTopUpXXXTestOnly(address target, uint56 lastTopUpTimestamp) external {
13 | s_targets[target].lastTopUpTimestamp = lastTopUpTimestamp;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/FlagsTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "../Flags.sol";
5 |
6 | contract FlagsTestHelper {
7 | Flags public flags;
8 |
9 | constructor(address flagsContract) {
10 | flags = Flags(flagsContract);
11 | }
12 |
13 | function getFlag(address subject) external view returns (bool) {
14 | return flags.getFlag(subject);
15 | }
16 |
17 | function getFlags(address[] calldata subjects) external view returns (bool[] memory) {
18 | return flags.getFlags(subjects);
19 | }
20 | }
21 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/KeeperCompatibleTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "../KeeperCompatible.sol";
5 |
6 | contract KeeperCompatibleTestHelper is KeeperCompatible {
7 | function checkUpkeep(bytes calldata) external override returns (bool, bytes memory) {}
8 |
9 | function performUpkeep(bytes calldata) external override {}
10 |
11 | function testCannotExecute() public view cannotExecute {}
12 | }
13 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/ReceiveEmitter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | contract ReceiveEmitter {
6 | event FundsReceived(uint256 amount, uint256 newBalance);
7 |
8 | receive() external payable {
9 | emit FundsReceived(msg.value, address(this).balance);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/ReceiveFallbackEmitter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | contract ReceiveFallbackEmitter {
6 | event FundsReceived(uint256 amount, uint256 newBalance);
7 |
8 | fallback() external payable {
9 | emit FundsReceived(msg.value, address(this).balance);
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/ReceiveReverter.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | contract ReceiveReverter {
6 | receive() external payable {
7 | revert("Can't send funds");
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/VRFConsumer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "../interfaces/LinkTokenInterface.sol";
5 | import "../VRFConsumerBase.sol";
6 |
7 | contract VRFConsumer is VRFConsumerBase {
8 | uint256 public randomnessOutput;
9 | bytes32 public requestId;
10 |
11 | constructor(address vrfCoordinator, address link)
12 | // solhint-disable-next-line no-empty-blocks
13 | VRFConsumerBase(vrfCoordinator, link)
14 | {
15 | /* empty */
16 | }
17 |
18 | function fulfillRandomness(
19 | bytes32, /* requestId */
20 | uint256 randomness
21 | ) internal override {
22 | randomnessOutput = randomness;
23 | requestId = requestId;
24 | }
25 |
26 | function testRequestRandomness(bytes32 keyHash, uint256 fee) external returns (bytes32) {
27 | return requestRandomness(keyHash, fee);
28 | }
29 | }
30 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/tests/VRFRequestIDBaseTestHelper.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | import "../VRFRequestIDBase.sol";
5 |
6 | contract VRFRequestIDBaseTestHelper is VRFRequestIDBase {
7 | function makeVRFInputSeed_(
8 | bytes32 _keyHash,
9 | uint256 _userSeed,
10 | address _requester,
11 | uint256 _nonce
12 | ) public pure returns (uint256) {
13 | return makeVRFInputSeed(_keyHash, _userSeed, _requester, _nonce);
14 | }
15 |
16 | function makeRequestId_(bytes32 _keyHash, uint256 _vRFInputSeed) public pure returns (bytes32) {
17 | return makeRequestId(_keyHash, _vRFInputSeed);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/utils/utils.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 |
3 | pragma solidity 0.8.6;
4 |
5 | /**
6 | * @notice getRevertMsg extracts a revert reason from a failed contract call
7 | */
8 | function getRevertMsg(bytes memory payload) pure returns (string memory) {
9 | if (payload.length < 68) return "transaction reverted silently";
10 | assembly {
11 | payload := add(payload, 0x04)
12 | }
13 | return abi.decode(payload, (string));
14 | }
15 |
--------------------------------------------------------------------------------
/node_modules/@chainlink/contracts/src/v0.8/vendor/ENSResolver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | pragma solidity ^0.8.0;
3 |
4 | abstract contract ENSResolver {
5 | function addr(bytes32 node) public view virtual returns (address);
6 | }
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Address.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Address",
4 | "sourceName": "contracts/utils/Address.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207dfabd396a8aa1156722621fdcd4e70661fee88a9c83bd47a83bb252c1e692f064736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212207dfabd396a8aa1156722621fdcd4e70661fee88a9c83bd47a83bb252c1e692f064736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Arrays.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Arrays",
4 | "sourceName": "contracts/utils/Arrays.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122009c8e908574eb277ebc60259a80bab95ad41b552beeda6396d9f9eaee1b6c36164736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122009c8e908574eb277ebc60259a80bab95ad41b552beeda6396d9f9eaee1b6c36164736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/BitMaps.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "BitMaps",
4 | "sourceName": "contracts/utils/structs/BitMaps.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220145c53f830144be40b091aab2c6ebd37fc7fd3ef0d33ec7928918eb8b83a17d764736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220145c53f830144be40b091aab2c6ebd37fc7fd3ef0d33ec7928918eb8b83a17d764736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Clones.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Clones",
4 | "sourceName": "contracts/proxy/Clones.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e08de55d088d7116217a5887cc5c6662cd141e9457c5a6758983aab6b94368b764736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220e08de55d088d7116217a5887cc5c6662cd141e9457c5a6758983aab6b94368b764736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Context.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Context",
4 | "sourceName": "contracts/utils/Context.sol",
5 | "abi": [],
6 | "bytecode": "0x",
7 | "deployedBytecode": "0x",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Counters.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Counters",
4 | "sourceName": "contracts/utils/Counters.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220305e035bccaa308c91a5827088e02dc6fca355b6a1af71fa8fdab828be8b244964736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220305e035bccaa308c91a5827088e02dc6fca355b6a1af71fa8fdab828be8b244964736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Create2.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Create2",
4 | "sourceName": "contracts/utils/Create2.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200015583cf50a14f0323de85afd7323af9520198a95fb4b72683ca2a32e87ac8664736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200015583cf50a14f0323de85afd7323af9520198a95fb4b72683ca2a32e87ac8664736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ECDSA.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ECDSA",
4 | "sourceName": "contracts/utils/cryptography/ECDSA.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220984da206ea5237ad9bd282b677382ceca7b4ab2f95e8ad144eac164f9653f3eb64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220984da206ea5237ad9bd282b677382ceca7b4ab2f95e8ad144eac164f9653f3eb64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/EIP712.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "EIP712",
4 | "sourceName": "contracts/utils/cryptography/draft-EIP712.sol",
5 | "abi": [],
6 | "bytecode": "0x",
7 | "deployedBytecode": "0x",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ERC165.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ERC165",
4 | "sourceName": "contracts/utils/introspection/ERC165.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes4",
10 | "name": "interfaceId",
11 | "type": "bytes4"
12 | }
13 | ],
14 | "name": "supportsInterface",
15 | "outputs": [
16 | {
17 | "internalType": "bool",
18 | "name": "",
19 | "type": "bool"
20 | }
21 | ],
22 | "stateMutability": "view",
23 | "type": "function"
24 | }
25 | ],
26 | "bytecode": "0x",
27 | "deployedBytecode": "0x",
28 | "linkReferences": {},
29 | "deployedLinkReferences": {}
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ERC165Checker.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ERC165Checker",
4 | "sourceName": "contracts/utils/introspection/ERC165Checker.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b70ca1c8d6bd8fc1af346941ef45aaa9c7df1375cbccc82178fc24a04686768f64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b70ca1c8d6bd8fc1af346941ef45aaa9c7df1375cbccc82178fc24a04686768f64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ERC165Storage.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ERC165Storage",
4 | "sourceName": "contracts/utils/introspection/ERC165Storage.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes4",
10 | "name": "interfaceId",
11 | "type": "bytes4"
12 | }
13 | ],
14 | "name": "supportsInterface",
15 | "outputs": [
16 | {
17 | "internalType": "bool",
18 | "name": "",
19 | "type": "bool"
20 | }
21 | ],
22 | "stateMutability": "view",
23 | "type": "function"
24 | }
25 | ],
26 | "bytecode": "0x",
27 | "deployedBytecode": "0x",
28 | "linkReferences": {},
29 | "deployedLinkReferences": {}
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ERC2771Context.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ERC2771Context",
4 | "sourceName": "contracts/metatx/ERC2771Context.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "address",
10 | "name": "forwarder",
11 | "type": "address"
12 | }
13 | ],
14 | "name": "isTrustedForwarder",
15 | "outputs": [
16 | {
17 | "internalType": "bool",
18 | "name": "",
19 | "type": "bool"
20 | }
21 | ],
22 | "stateMutability": "view",
23 | "type": "function"
24 | }
25 | ],
26 | "bytecode": "0x",
27 | "deployedBytecode": "0x",
28 | "linkReferences": {},
29 | "deployedLinkReferences": {}
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/EnumerableMap.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "EnumerableMap",
4 | "sourceName": "contracts/utils/structs/EnumerableMap.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c2e7523c6a7d289cdf441d0876a0718d2cf3b39dc93b2622388de9a3a1d1d0064736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209c2e7523c6a7d289cdf441d0876a0718d2cf3b39dc93b2622388de9a3a1d1d0064736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/EnumerableSet.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "EnumerableSet",
4 | "sourceName": "contracts/utils/structs/EnumerableSet.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd58dfabae2c1584a99e57d9080a8daf3b3a14950dd258df98031bfeef451cc564736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220cd58dfabae2c1584a99e57d9080a8daf3b3a14950dd258df98031bfeef451cc564736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/IBeacon.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "IBeacon",
4 | "sourceName": "contracts/proxy/beacon/IBeacon.sol",
5 | "abi": [
6 | {
7 | "inputs": [],
8 | "name": "implementation",
9 | "outputs": [
10 | {
11 | "internalType": "address",
12 | "name": "",
13 | "type": "address"
14 | }
15 | ],
16 | "stateMutability": "view",
17 | "type": "function"
18 | }
19 | ],
20 | "bytecode": "0x",
21 | "deployedBytecode": "0x",
22 | "linkReferences": {},
23 | "deployedLinkReferences": {}
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/IERC1271.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "IERC1271",
4 | "sourceName": "contracts/interfaces/IERC1271.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes32",
10 | "name": "hash",
11 | "type": "bytes32"
12 | },
13 | {
14 | "internalType": "bytes",
15 | "name": "signature",
16 | "type": "bytes"
17 | }
18 | ],
19 | "name": "isValidSignature",
20 | "outputs": [
21 | {
22 | "internalType": "bytes4",
23 | "name": "magicValue",
24 | "type": "bytes4"
25 | }
26 | ],
27 | "stateMutability": "view",
28 | "type": "function"
29 | }
30 | ],
31 | "bytecode": "0x",
32 | "deployedBytecode": "0x",
33 | "linkReferences": {},
34 | "deployedLinkReferences": {}
35 | }
36 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/IERC1363Spender.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "IERC1363Spender",
4 | "sourceName": "contracts/interfaces/IERC1363Spender.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "address",
10 | "name": "owner",
11 | "type": "address"
12 | },
13 | {
14 | "internalType": "uint256",
15 | "name": "value",
16 | "type": "uint256"
17 | },
18 | {
19 | "internalType": "bytes",
20 | "name": "data",
21 | "type": "bytes"
22 | }
23 | ],
24 | "name": "onApprovalReceived",
25 | "outputs": [
26 | {
27 | "internalType": "bytes4",
28 | "name": "",
29 | "type": "bytes4"
30 | }
31 | ],
32 | "stateMutability": "nonpayable",
33 | "type": "function"
34 | }
35 | ],
36 | "bytecode": "0x",
37 | "deployedBytecode": "0x",
38 | "linkReferences": {},
39 | "deployedLinkReferences": {}
40 | }
41 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/IERC165.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "IERC165",
4 | "sourceName": "contracts/utils/introspection/IERC165.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes4",
10 | "name": "interfaceId",
11 | "type": "bytes4"
12 | }
13 | ],
14 | "name": "supportsInterface",
15 | "outputs": [
16 | {
17 | "internalType": "bool",
18 | "name": "",
19 | "type": "bool"
20 | }
21 | ],
22 | "stateMutability": "view",
23 | "type": "function"
24 | }
25 | ],
26 | "bytecode": "0x",
27 | "deployedBytecode": "0x",
28 | "linkReferences": {},
29 | "deployedLinkReferences": {}
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/IERC1820Implementer.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "IERC1820Implementer",
4 | "sourceName": "contracts/utils/introspection/IERC1820Implementer.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes32",
10 | "name": "interfaceHash",
11 | "type": "bytes32"
12 | },
13 | {
14 | "internalType": "address",
15 | "name": "account",
16 | "type": "address"
17 | }
18 | ],
19 | "name": "canImplementInterfaceForAddress",
20 | "outputs": [
21 | {
22 | "internalType": "bytes32",
23 | "name": "",
24 | "type": "bytes32"
25 | }
26 | ],
27 | "stateMutability": "view",
28 | "type": "function"
29 | }
30 | ],
31 | "bytecode": "0x",
32 | "deployedBytecode": "0x",
33 | "linkReferences": {},
34 | "deployedLinkReferences": {}
35 | }
36 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Initializable.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Initializable",
4 | "sourceName": "contracts/proxy/utils/Initializable.sol",
5 | "abi": [],
6 | "bytecode": "0x",
7 | "deployedBytecode": "0x",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Math.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Math",
4 | "sourceName": "contracts/utils/math/Math.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209eff901bb1b760973749b4c429b0c7e411d72a4a243a9a695092c552ec01480c64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212209eff901bb1b760973749b4c429b0c7e411d72a4a243a9a695092c552ec01480c64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/MerkleProof.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "MerkleProof",
4 | "sourceName": "contracts/utils/cryptography/MerkleProof.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208a3a352cc56638d717fa6c6ab00bdd6ab9495bd8d7d1b0b51c64a3d0391bb80864736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212208a3a352cc56638d717fa6c6ab00bdd6ab9495bd8d7d1b0b51c64a3d0391bb80864736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Multicall.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Multicall",
4 | "sourceName": "contracts/utils/Multicall.sol",
5 | "abi": [
6 | {
7 | "inputs": [
8 | {
9 | "internalType": "bytes[]",
10 | "name": "data",
11 | "type": "bytes[]"
12 | }
13 | ],
14 | "name": "multicall",
15 | "outputs": [
16 | {
17 | "internalType": "bytes[]",
18 | "name": "results",
19 | "type": "bytes[]"
20 | }
21 | ],
22 | "stateMutability": "nonpayable",
23 | "type": "function"
24 | }
25 | ],
26 | "bytecode": "0x",
27 | "deployedBytecode": "0x",
28 | "linkReferences": {},
29 | "deployedLinkReferences": {}
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Proxy.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Proxy",
4 | "sourceName": "contracts/proxy/Proxy.sol",
5 | "abi": [
6 | {
7 | "stateMutability": "payable",
8 | "type": "fallback"
9 | },
10 | {
11 | "stateMutability": "payable",
12 | "type": "receive"
13 | }
14 | ],
15 | "bytecode": "0x",
16 | "deployedBytecode": "0x",
17 | "linkReferences": {},
18 | "deployedLinkReferences": {}
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/ReentrancyGuard.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "ReentrancyGuard",
4 | "sourceName": "contracts/security/ReentrancyGuard.sol",
5 | "abi": [],
6 | "bytecode": "0x",
7 | "deployedBytecode": "0x",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/SafeCast.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "SafeCast",
4 | "sourceName": "contracts/utils/math/SafeCast.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220119ce23b82e38e39e47e2070cf05a7c1d9c8fecafcb8fa5374d8aeb2892398ee64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220119ce23b82e38e39e47e2070cf05a7c1d9c8fecafcb8fa5374d8aeb2892398ee64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/SafeERC20.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "SafeERC20",
4 | "sourceName": "contracts/token/ERC20/utils/SafeERC20.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220240a04c00bf2f51703fb0131a50af17b8c9d455aed2775d2415a2b7bc684449364736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220240a04c00bf2f51703fb0131a50af17b8c9d455aed2775d2415a2b7bc684449364736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/SafeMath.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "SafeMath",
4 | "sourceName": "contracts/utils/math/SafeMath.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb2305c5db383a8a23a2c5639a78228972a5baee49c45e5a26441f807702cf5364736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220bb2305c5db383a8a23a2c5639a78228972a5baee49c45e5a26441f807702cf5364736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/SignatureChecker.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "SignatureChecker",
4 | "sourceName": "contracts/utils/cryptography/SignatureChecker.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202262ce6e260d1553d177cbfc56d24e1e3cddb9e3f1d786bb5c2ab80ad81b4fc664736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212202262ce6e260d1553d177cbfc56d24e1e3cddb9e3f1d786bb5c2ab80ad81b4fc664736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/SignedSafeMath.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "SignedSafeMath",
4 | "sourceName": "contracts/utils/math/SignedSafeMath.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a4349ffd9a2a49f3d3516184237a89bbd68b5502800cb58534e367c7edd443e464736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a4349ffd9a2a49f3d3516184237a89bbd68b5502800cb58534e367c7edd443e464736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/StorageSlot.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "StorageSlot",
4 | "sourceName": "contracts/utils/StorageSlot.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b53f68b00a89b9ec2f013d50c1b99271b42862a0080623131a64475bf74b67ce64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220b53f68b00a89b9ec2f013d50c1b99271b42862a0080623131a64475bf74b67ce64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Strings.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Strings",
4 | "sourceName": "contracts/utils/Strings.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a3bded0f7557649d73776e86e0c0f597d0a937a8012016cf81293a26bc6bee3a64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea2646970667358221220a3bded0f7557649d73776e86e0c0f597d0a937a8012016cf81293a26bc6bee3a64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/build/contracts/Timers.json:
--------------------------------------------------------------------------------
1 | {
2 | "_format": "hh-sol-artifact-1",
3 | "contractName": "Timers",
4 | "sourceName": "contracts/utils/Timers.sol",
5 | "abi": [],
6 | "bytecode": "0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122069999d654e748bafe5475d32569b021d02c2f69de43ca63552bdef6fb889e81b64736f6c63430008030033",
7 | "deployedBytecode": "0x73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122069999d654e748bafe5475d32569b021d02c2f69de43ca63552bdef6fb889e81b64736f6c63430008030033",
8 | "linkReferences": {},
9 | "deployedLinkReferences": {}
10 | }
11 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/governance/extensions/GovernorProposalThreshold.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorProposalThreshold.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../Governor.sol";
7 |
8 | /**
9 | * @dev Extension of {Governor} for proposal restriction to token holders with a minimum balance.
10 | *
11 | * _Available since v4.3._
12 | * _Deprecated since v4.4._
13 | */
14 | abstract contract GovernorProposalThreshold is Governor {
15 | function propose(
16 | address[] memory targets,
17 | uint256[] memory values,
18 | bytes[] memory calldatas,
19 | string memory description
20 | ) public virtual override returns (uint256) {
21 | return super.propose(targets, values, calldatas, description);
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotes.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotes.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../Governor.sol";
7 | import "../../token/ERC20/extensions/ERC20Votes.sol";
8 | import "../../utils/math/Math.sol";
9 |
10 | /**
11 | * @dev Extension of {Governor} for voting weight extraction from an {ERC20Votes} token.
12 | *
13 | * _Available since v4.3._
14 | */
15 | abstract contract GovernorVotes is Governor {
16 | ERC20Votes public immutable token;
17 |
18 | constructor(ERC20Votes tokenAddress) {
19 | token = tokenAddress;
20 | }
21 |
22 | /**
23 | * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}).
24 | */
25 | function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {
26 | return token.getPastVotes(account, blockNumber);
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/governance/extensions/GovernorVotesComp.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (governance/extensions/GovernorVotesComp.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../Governor.sol";
7 | import "../../token/ERC20/extensions/ERC20VotesComp.sol";
8 |
9 | /**
10 | * @dev Extension of {Governor} for voting weight extraction from a Comp token.
11 | *
12 | * _Available since v4.3._
13 | */
14 | abstract contract GovernorVotesComp is Governor {
15 | ERC20VotesComp public immutable token;
16 |
17 | constructor(ERC20VotesComp token_) {
18 | token = token_;
19 | }
20 |
21 | /**
22 | * Read the voting weight from the token's built in snapshot mechanism (see {IGovernor-getVotes}).
23 | */
24 | function getVotes(address account, uint256 blockNumber) public view virtual override returns (uint256) {
25 | return token.getPriorVotes(account, blockNumber);
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/governance/extensions/IGovernorTimelock.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (governance/extensions/IGovernorTimelock.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IGovernor.sol";
7 |
8 | /**
9 | * @dev Extension of the {IGovernor} for timelock supporting modules.
10 | *
11 | * _Available since v4.3._
12 | */
13 | abstract contract IGovernorTimelock is IGovernor {
14 | event ProposalQueued(uint256 proposalId, uint256 eta);
15 |
16 | function timelock() public view virtual returns (address);
17 |
18 | function proposalEta(uint256 proposalId) public view virtual returns (uint256);
19 |
20 | function queue(
21 | address[] memory targets,
22 | uint256[] memory values,
23 | bytes[] memory calldatas,
24 | bytes32 descriptionHash
25 | ) public virtual returns (uint256 proposalId);
26 | }
27 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1155.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC1155/IERC1155.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1155MetadataURI.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155MetadataURI.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC1155/extensions/IERC1155MetadataURI.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1155Receiver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1155Receiver.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC1155/IERC1155Receiver.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1271.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | /**
7 | * @dev Interface of the ERC1271 standard signature validation method for
8 | * contracts as defined in https://eips.ethereum.org/EIPS/eip-1271[ERC-1271].
9 | *
10 | * _Available since v4.1._
11 | */
12 | interface IERC1271 {
13 | /**
14 | * @dev Should return whether the signature provided is valid for the provided data
15 | * @param hash Hash of the data to be signed
16 | * @param signature Signature byte array associated with _data
17 | */
18 | function isValidSignature(bytes32 hash, bytes memory signature) external view returns (bytes4 magicValue);
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC165.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC165.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../utils/introspection/IERC165.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1820Implementer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Implementer.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../utils/introspection/IERC1820Implementer.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC1820Registry.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC1820Registry.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../utils/introspection/IERC1820Registry.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC20.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC20.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC20/IERC20.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC20Metadata.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC20Metadata.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC20/extensions/IERC20Metadata.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC2981.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC2981.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "./IERC165.sol";
7 |
8 | /**
9 | * @dev Interface for the NFT Royalty Standard
10 | */
11 | interface IERC2981 is IERC165 {
12 | /**
13 | * @dev Called with the sale price to determine how much royalty is owed and to whom.
14 | * @param tokenId - the NFT asset queried for royalty information
15 | * @param salePrice - the sale price of the NFT asset specified by `tokenId`
16 | * @return receiver - address of who should be sent the royalty payment
17 | * @return royaltyAmount - the royalty payment amount for `salePrice`
18 | */
19 | function royaltyInfo(uint256 tokenId, uint256 salePrice)
20 | external
21 | view
22 | returns (address receiver, uint256 royaltyAmount);
23 | }
24 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC3156.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC3156.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "./IERC3156FlashBorrower.sol";
7 | import "./IERC3156FlashLender.sol";
8 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC721.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC721.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC721/IERC721.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC721Enumerable.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Enumerable.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC721/extensions/IERC721Enumerable.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC721Metadata.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Metadata.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC721/extensions/IERC721Metadata.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC721Receiver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC721Receiver.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC721/IERC721Receiver.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC777.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC777.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC777/IERC777.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC777Recipient.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Recipient.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC777/IERC777Recipient.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/IERC777Sender.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/IERC777Sender.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC777/IERC777Sender.sol";
7 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/interfaces/draft-IERC2612.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (interfaces/draft-IERC2612.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../token/ERC20/extensions/draft-IERC20Permit.sol";
7 |
8 | interface IERC2612 is IERC20Permit {}
9 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/proxy/beacon/IBeacon.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (proxy/beacon/IBeacon.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | /**
7 | * @dev This is the interface that {BeaconProxy} expects of its beacon.
8 | */
9 | interface IBeacon {
10 | /**
11 | * @dev Must return an address that can be used as a delegate call target.
12 | *
13 | * {BeaconProxy} will check that this address is a contract.
14 | */
15 | function implementation() external view returns (address);
16 | }
17 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC1155/extensions/IERC1155MetadataURI.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC1155/extensions/IERC1155MetadataURI.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IERC1155.sol";
7 |
8 | /**
9 | * @dev Interface of the optional ERC1155MetadataExtension interface, as defined
10 | * in the https://eips.ethereum.org/EIPS/eip-1155#metadata-extensions[EIP].
11 | *
12 | * _Available since v3.1._
13 | */
14 | interface IERC1155MetadataURI is IERC1155 {
15 | /**
16 | * @dev Returns the URI for token type `id`.
17 | *
18 | * If the `\{id\}` substring is present in the URI, it must be replaced by
19 | * clients with the actual token type ID.
20 | */
21 | function uri(uint256 id) external view returns (string memory);
22 | }
23 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Holder.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Holder.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "./ERC1155Receiver.sol";
7 |
8 | /**
9 | * @dev _Available since v3.1._
10 | */
11 | contract ERC1155Holder is ERC1155Receiver {
12 | function onERC1155Received(
13 | address,
14 | address,
15 | uint256,
16 | uint256,
17 | bytes memory
18 | ) public virtual override returns (bytes4) {
19 | return this.onERC1155Received.selector;
20 | }
21 |
22 | function onERC1155BatchReceived(
23 | address,
24 | address,
25 | uint256[] memory,
26 | uint256[] memory,
27 | bytes memory
28 | ) public virtual override returns (bytes4) {
29 | return this.onERC1155BatchReceived.selector;
30 | }
31 | }
32 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC1155/utils/ERC1155Receiver.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC1155/utils/ERC1155Receiver.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IERC1155Receiver.sol";
7 | import "../../../utils/introspection/ERC165.sol";
8 |
9 | /**
10 | * @dev _Available since v3.1._
11 | */
12 | abstract contract ERC1155Receiver is ERC165, IERC1155Receiver {
13 | /**
14 | * @dev See {IERC165-supportsInterface}.
15 | */
16 | function supportsInterface(bytes4 interfaceId) public view virtual override(ERC165, IERC165) returns (bool) {
17 | return interfaceId == type(IERC1155Receiver).interfaceId || super.supportsInterface(interfaceId);
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC20/extensions/IERC20Metadata.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IERC20.sol";
7 |
8 | /**
9 | * @dev Interface for the optional metadata functions from the ERC20 standard.
10 | *
11 | * _Available since v4.1._
12 | */
13 | interface IERC20Metadata is IERC20 {
14 | /**
15 | * @dev Returns the name of the token.
16 | */
17 | function name() external view returns (string memory);
18 |
19 | /**
20 | * @dev Returns the symbol of the token.
21 | */
22 | function symbol() external view returns (string memory);
23 |
24 | /**
25 | * @dev Returns the decimals places of the token.
26 | */
27 | function decimals() external view returns (uint8);
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC721/extensions/ERC721Burnable.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/ERC721Burnable.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../ERC721.sol";
7 | import "../../../utils/Context.sol";
8 |
9 | /**
10 | * @title ERC721 Burnable Token
11 | * @dev ERC721 Token that can be irreversibly burned (destroyed).
12 | */
13 | abstract contract ERC721Burnable is Context, ERC721 {
14 | /**
15 | * @dev Burns `tokenId`. See {ERC721-_burn}.
16 | *
17 | * Requirements:
18 | *
19 | * - The caller must own `tokenId` or be an approved operator.
20 | */
21 | function burn(uint256 tokenId) public virtual {
22 | //solhint-disable-next-line max-line-length
23 | require(_isApprovedOrOwner(_msgSender(), tokenId), "ERC721Burnable: caller is not owner nor approved");
24 | _burn(tokenId);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Metadata.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC721/extensions/IERC721Metadata.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IERC721.sol";
7 |
8 | /**
9 | * @title ERC-721 Non-Fungible Token Standard, optional metadata extension
10 | * @dev See https://eips.ethereum.org/EIPS/eip-721
11 | */
12 | interface IERC721Metadata is IERC721 {
13 | /**
14 | * @dev Returns the token collection name.
15 | */
16 | function name() external view returns (string memory);
17 |
18 | /**
19 | * @dev Returns the token collection symbol.
20 | */
21 | function symbol() external view returns (string memory);
22 |
23 | /**
24 | * @dev Returns the Uniform Resource Identifier (URI) for `tokenId` token.
25 | */
26 | function tokenURI(uint256 tokenId) external view returns (string memory);
27 | }
28 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC721/utils/ERC721Holder.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC721/utils/ERC721Holder.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "../IERC721Receiver.sol";
7 |
8 | /**
9 | * @dev Implementation of the {IERC721Receiver} interface.
10 | *
11 | * Accepts all token transfers.
12 | * Make sure the contract is able to use its token with {IERC721-safeTransferFrom}, {IERC721-approve} or {IERC721-setApprovalForAll}.
13 | */
14 | contract ERC721Holder is IERC721Receiver {
15 | /**
16 | * @dev See {IERC721Receiver-onERC721Received}.
17 | *
18 | * Always returns `IERC721Receiver.onERC721Received.selector`.
19 | */
20 | function onERC721Received(
21 | address,
22 | address,
23 | uint256,
24 | bytes memory
25 | ) public virtual override returns (bytes4) {
26 | return this.onERC721Received.selector;
27 | }
28 | }
29 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/token/ERC777/presets/ERC777PresetFixedSupply.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (token/ERC777/presets/ERC777PresetFixedSupply.sol)
3 | pragma solidity ^0.8.0;
4 |
5 | import "../ERC777.sol";
6 |
7 | /**
8 | * @dev {ERC777} token, including:
9 | *
10 | * - Preminted initial supply
11 | * - No access control mechanism (for minting/pausing) and hence no governance
12 | *
13 | * _Available since v3.4._
14 | */
15 | contract ERC777PresetFixedSupply is ERC777 {
16 | /**
17 | * @dev Mints `initialSupply` amount of token and transfers them to `owner`.
18 | *
19 | * See {ERC777-constructor}.
20 | */
21 | constructor(
22 | string memory name,
23 | string memory symbol,
24 | address[] memory defaultOperators,
25 | uint256 initialSupply,
26 | address owner
27 | ) ERC777(name, symbol, defaultOperators) {
28 | _mint(owner, initialSupply, "", "");
29 | }
30 | }
31 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/utils/Context.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (utils/Context.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | /**
7 | * @dev Provides information about the current execution context, including the
8 | * sender of the transaction and its data. While these are generally available
9 | * via msg.sender and msg.data, they should not be accessed in such a direct
10 | * manner, since when dealing with meta-transactions the account sending and
11 | * paying for execution may not be the actual sender (as far as an application
12 | * is concerned).
13 | *
14 | * This contract is only required for intermediate, library-like contracts.
15 | */
16 | abstract contract Context {
17 | function _msgSender() internal view virtual returns (address) {
18 | return msg.sender;
19 | }
20 |
21 | function _msgData() internal view virtual returns (bytes calldata) {
22 | return msg.data;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/utils/Multicall.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (utils/Multicall.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "./Address.sol";
7 |
8 | /**
9 | * @dev Provides a function to batch together multiple calls in a single external call.
10 | *
11 | * _Available since v4.1._
12 | */
13 | abstract contract Multicall {
14 | /**
15 | * @dev Receives and executes a batch of function calls on this contract.
16 | */
17 | function multicall(bytes[] calldata data) external returns (bytes[] memory results) {
18 | results = new bytes[](data.length);
19 | for (uint256 i = 0; i < data.length; i++) {
20 | results[i] = Address.functionDelegateCall(address(this), data[i]);
21 | }
22 | return results;
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/utils/escrow/ConditionalEscrow.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (utils/escrow/ConditionalEscrow.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | import "./Escrow.sol";
7 |
8 | /**
9 | * @title ConditionalEscrow
10 | * @dev Base abstract escrow to only allow withdrawal if a condition is met.
11 | * @dev Intended usage: See {Escrow}. Same usage guidelines apply here.
12 | */
13 | abstract contract ConditionalEscrow is Escrow {
14 | /**
15 | * @dev Returns whether an address is allowed to withdraw their funds. To be
16 | * implemented by derived contracts.
17 | * @param payee The destination address of the funds.
18 | */
19 | function withdrawalAllowed(address payee) public view virtual returns (bool);
20 |
21 | function withdraw(address payable payee) public virtual override {
22 | require(withdrawalAllowed(payee), "ConditionalEscrow: payee is not allowed to withdraw");
23 | super.withdraw(payee);
24 | }
25 | }
26 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/utils/introspection/IERC165.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC165.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | /**
7 | * @dev Interface of the ERC165 standard, as defined in the
8 | * https://eips.ethereum.org/EIPS/eip-165[EIP].
9 | *
10 | * Implementers can declare support of contract interfaces, which can then be
11 | * queried by others ({ERC165Checker}).
12 | *
13 | * For an implementation, see {ERC165}.
14 | */
15 | interface IERC165 {
16 | /**
17 | * @dev Returns true if this contract implements the interface defined by
18 | * `interfaceId`. See the corresponding
19 | * https://eips.ethereum.org/EIPS/eip-165#how-interfaces-are-identified[EIP section]
20 | * to learn more about how these ids are created.
21 | *
22 | * This function call must use less than 30 000 gas.
23 | */
24 | function supportsInterface(bytes4 interfaceId) external view returns (bool);
25 | }
26 |
--------------------------------------------------------------------------------
/node_modules/@openzeppelin/contracts/utils/introspection/IERC1820Implementer.sol:
--------------------------------------------------------------------------------
1 | // SPDX-License-Identifier: MIT
2 | // OpenZeppelin Contracts v4.4.0 (utils/introspection/IERC1820Implementer.sol)
3 |
4 | pragma solidity ^0.8.0;
5 |
6 | /**
7 | * @dev Interface for an ERC1820 implementer, as defined in the
8 | * https://eips.ethereum.org/EIPS/eip-1820#interface-implementation-erc1820implementerinterface[EIP].
9 | * Used by contracts that will be registered as implementers in the
10 | * {IERC1820Registry}.
11 | */
12 | interface IERC1820Implementer {
13 | /**
14 | * @dev Returns a special value (`ERC1820_ACCEPT_MAGIC`) if this contract
15 | * implements `interfaceHash` for `account`.
16 | *
17 | * See {IERC1820Registry-setInterfaceImplementer}.
18 | */
19 | function canImplementInterfaceForAddress(bytes32 interfaceHash, address account) external view returns (bytes32);
20 | }
21 |
--------------------------------------------------------------------------------
/package-lock.json:
--------------------------------------------------------------------------------
1 | {
2 | "requires": true,
3 | "lockfileVersion": 1,
4 | "dependencies": {
5 | "@chainlink/contracts": {
6 | "version": "0.3.0",
7 | "resolved": "https://registry.npmjs.org/@chainlink/contracts/-/contracts-0.3.0.tgz",
8 | "integrity": "sha512-Pxu5qMTa0gc28Sxf9hyBkvwhPMn3HD62cGXy54RkL9PcabOHlUsk1i3BoFf3rwFr7T30N/obYn4de3ZrG12PDA=="
9 | },
10 | "@openzeppelin/contracts": {
11 | "version": "4.4.0",
12 | "resolved": "https://registry.npmjs.org/@openzeppelin/contracts/-/contracts-4.4.0.tgz",
13 | "integrity": "sha512-dlKiZmDvJnGRLHojrDoFZJmsQVeltVeoiRN7RK+cf2FmkhASDEblE0RiaYdxPNsUZa6mRG8393b9bfyp+V5IAw=="
14 | }
15 | }
16 | }
17 |
--------------------------------------------------------------------------------
/sample_input_output/input/Background/Black.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Background/Black.png
--------------------------------------------------------------------------------
/sample_input_output/input/Bottom lid/High.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Bottom lid/High.png
--------------------------------------------------------------------------------
/sample_input_output/input/Bottom lid/Low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Bottom lid/Low.png
--------------------------------------------------------------------------------
/sample_input_output/input/Bottom lid/Middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Bottom lid/Middle.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Cyan.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Cyan.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Green.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Pink.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Pink.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Purple.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Purple.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Red.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eye color/Yellow.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eye color/Yellow.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eyeball/Red.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eyeball/Red.png
--------------------------------------------------------------------------------
/sample_input_output/input/Eyeball/White.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Eyeball/White.png
--------------------------------------------------------------------------------
/sample_input_output/input/Goo/Green.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Goo/Green.png
--------------------------------------------------------------------------------
/sample_input_output/input/Iris/Large.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Iris/Large.png
--------------------------------------------------------------------------------
/sample_input_output/input/Iris/Medium.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Iris/Medium.png
--------------------------------------------------------------------------------
/sample_input_output/input/Iris/Small.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Iris/Small.png
--------------------------------------------------------------------------------
/sample_input_output/input/Shine/Shapes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Shine/Shapes.png
--------------------------------------------------------------------------------
/sample_input_output/input/Top lid/High.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Top lid/High.png
--------------------------------------------------------------------------------
/sample_input_output/input/Top lid/Low.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Top lid/Low.png
--------------------------------------------------------------------------------
/sample_input_output/input/Top lid/Middle.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/input/Top lid/Middle.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/1.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/1.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/10.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/10.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/11.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/11.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/12.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/12.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/13.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/13.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/14.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/14.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/15.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/15.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/16.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/17.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/17.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/18.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/18.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/19.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/19.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/2.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/2.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/20.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/20.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/3.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/3.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/4.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/4.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/5.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/5.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/6.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/6.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/7.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/7.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/8.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/8.png
--------------------------------------------------------------------------------
/sample_input_output/output/images/9.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/sumit-mahajan/generative-nft-interface/75382b180f57ee23eed6be838dd5cb90521e81aa/sample_input_output/output/images/9.png
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/1.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #1","description":"A collection of mysterious eyes","image":"bafkreifh57kvzdaiuveonhlzhtmdyxlvjcq37jmj5xf2lixfy2blakqxqm","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Cyan"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Small"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Low"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/10.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #10","description":"A collection of mysterious eyes","image":"bafkreieic6sfk5rkqb5zniav6fylptag7d2nbj3oxzrjy4ml42qotmqj64","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Pink"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Low"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/11.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #11","description":"A collection of mysterious eyes","image":"bafkreibmlumnm6t5dxkxg6drbvwjf22qlgpz6nkivrokkjsmjap42trzme","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/12.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #12","description":"A collection of mysterious eyes","image":"bafkreigykepmmsadtiyvonfboo426huzfc7mblkk2qg3k4rrmtix5jrboa","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Yellow"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/13.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #13","description":"A collection of mysterious eyes","image":"bafkreiegqk4yt5enqwp3ue2zfjpuixea34uabkrikn236rpb3qbbvkzh6u","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Green"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Middle"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/14.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #14","description":"A collection of mysterious eyes","image":"bafkreif4hakjdgybwc4abongr4rkkukakaxfkdfwzceodiliiykokcnswa","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Small"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Middle"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/15.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #15","description":"A collection of mysterious eyes","image":"bafkreihvhczwdc3d4dyxkalnfyyxevgukybaigfqy7mghqyc4cx52woh5i","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Middle"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/16.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #16","description":"A collection of mysterious eyes","image":"bafkreifkxwxs2twink7wdnnwtzruneq4t6turlnld3fouahl3cb7qkdln4","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Cyan"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Middle"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/17.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #17","description":"A collection of mysterious eyes","image":"bafkreiab3ulexsyn3ac3kwepczgjent6pb6awbo76umlpwozfrs5no2sva","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Low"},{"type":"Top lid","value":"Low"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/18.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #18","description":"A collection of mysterious eyes","image":"bafkreiga3ok7qsjgu3psjn2nj4tp255petdr4gpjgc76w35iz6vaz6i6mi","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Pink"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Low"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/19.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #19","description":"A collection of mysterious eyes","image":"bafkreib6xutgqa3oxagu57ecnnubxc45422u6yxdyp77trsgsjy2g643xa","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Low"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/2.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #2","description":"A collection of mysterious eyes","image":"bafkreiaya4wvjk3ivb7tmhk2j67vgofhmkmu5aim474hp5eqyq4f564gjq","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Red"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/20.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #20","description":"A collection of mysterious eyes","image":"bafkreiawigtuhfjiet6r4ehlocjaq6teicsn7dnq5eotz547vkaaietcjy","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Pink"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Middle"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/3.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #3","description":"A collection of mysterious eyes","image":"bafkreico7prudefj2tssaps55waer4us7mxnczguyukz7rbmckg2cxgoe4","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Cyan"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Small"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"Low"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/4.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #4","description":"A collection of mysterious eyes","image":"bafkreidt2i2yejndnmpwdpuwteajvqsla4nxlle7mtmbn5scddpuhvazp4","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Purple"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Low"},{"type":"Top lid","value":"Middle"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/5.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #5","description":"A collection of mysterious eyes","image":"bafkreicwti7yjkv5o3ch2qf5dfgiybqiiekhuyjwzzit7tb5oxppqccbga","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Cyan"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Middle"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/6.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #6","description":"A collection of mysterious eyes","image":"bafkreihj2gpcq2crezvyltzjcppf3he4kdkmutiqlg5cgfluarayuhaq7u","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Green"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/7.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #7","description":"A collection of mysterious eyes","image":"bafkreibczgez6l3a3u2e3zigwemukbxikii5mwebkjzn5z75elzdhdmjpu","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Red"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"High"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/8.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #8","description":"A collection of mysterious eyes","image":"bafkreickouy4ekkyslfwp3qwtakzaji7qjkc4rjfigukzlbxset2cesscu","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"White"},{"type":"Eye color","value":"Yellow"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Large"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Low"},{"type":"Top lid","value":"High"}]}
--------------------------------------------------------------------------------
/sample_input_output/output/metadata/9.json:
--------------------------------------------------------------------------------
1 | {"name":"Rinnegan #9","description":"A collection of mysterious eyes","image":"bafkreig3azyqpl6npsvublaxlov2nq7brrn75qdkc42bpicttk2evx73ya","properties":[{"type":"Background","value":"Black"},{"type":"Eyeball","value":"Red"},{"type":"Eye color","value":"Green"},{"type":"Goo","value":"Green"},{"type":"Iris","value":"Medium"},{"type":"Shine","value":"Shapes"},{"type":"Bottom lid","value":"Low"},{"type":"Top lid","value":"Middle"}]}
--------------------------------------------------------------------------------
/test/custom_collection.js:
--------------------------------------------------------------------------------
1 | const { assert } = require("chai");
2 |
3 | const Marketplace = artifacts.require("./Marketplace.sol");
4 | const CustomCollection = artifacts.require("./CustomCollection.sol");
5 |
6 | contract("CustomCollection", (accounts) => {
7 | let marketplaceInstance;
8 | let collectionInstance;
9 |
10 | beforeEach("Access deployed contract", async () => {
11 | // marketplaceInstance = await Marketplace.deployed();
12 |
13 | // await marketplaceInstance.createCollection("", { from: accounts[0] });
14 |
15 | // const cAddress = await marketplaceInstance.collections.call(0);
16 |
17 | // collectionInstance = await CustomCollection.at(cAddress);
18 | });
19 |
20 | it("Stores creator", async () => {
21 |
22 | });
23 |
24 |
25 | });
26 |
--------------------------------------------------------------------------------
/test/marketplace.js:
--------------------------------------------------------------------------------
1 | const Marketplace = artifacts.require("./Marketplace.sol");
2 |
3 | contract("Marketplace", (accounts) => {
4 | let marketplaceInstance;
5 |
6 | beforeEach("Access deployed contract", async () => {
7 | // Access deployed contract
8 | marketplaceInstance = await Marketplace.deployed();
9 | });
10 |
11 | it("Creates a collection", async () => {
12 |
13 | });
14 | });
15 |
--------------------------------------------------------------------------------
/truffle-config.js:
--------------------------------------------------------------------------------
1 | const path = require("path");
2 |
3 | module.exports = {
4 | // See
5 | // to customize your Truffle configuration!
6 | contracts_build_directory: path.join(__dirname, "client/src/contracts"),
7 | networks: {
8 | develop: {
9 | port: 7545,
10 | },
11 | },
12 | compilers: {
13 | solc: {
14 | version: "^0.8.6", // A version or constraint - Ex. "^0.5.0"
15 | // Can be set to "native" to use a native solc or
16 | // "pragma" which attempts to autodetect compiler versions
17 | settings: {
18 | optimizer: {
19 | enabled: true,
20 | runs: 200,
21 | },
22 | },
23 | },
24 | },
25 | };
26 |
--------------------------------------------------------------------------------