Skip to content

Instantly share code, notes, and snippets.

View solangegueiros's full-sized avatar

Solange Gueiros solangegueiros

View GitHub Profile
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
// Deploy this contract on Metis Andromeda Mainnet
// Importing OpenZeppelin contracts
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";
import "@openzeppelin/contracts@4.6.0/utils/Base64.sol";
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
// Deploy this contract on Ethereum Sepolia
// Importing OpenZeppelin contracts
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";
import "@openzeppelin/contracts@4.6.0/utils/Base64.sol";
@solangegueiros
solangegueiros / Flower.sol
Last active February 26, 2024 18:33
Flower
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import "@chainlink/contracts/src/v0.8/AutomationCompatible.sol";
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";
contract Flower is ERC721, ERC721URIStorage, AutomationCompatibleInterface {
using Counters for Counters.Counter;
@solangegueiros
solangegueiros / Token.sol
Created February 22, 2024 23:36
Token Shop - Chainlink Data Feed
// SPDX-License-Identifier: MIT
pragma solidity 0.8.19;
import "@openzeppelin/contracts@4.6.0/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts@4.6.0/access/AccessControl.sol";
contract Token is ERC20, AccessControl {
bytes32 public constant MINTER_ROLE = keccak256("MINTER_ROLE");
constructor() ERC20("Nuclio Token", "Nuclio") {
@solangegueiros
solangegueiros / Client.sol
Last active December 9, 2023 13:13
ccip-cross-chain-nft-game
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
// End consumer library.
library Client {
struct EVMTokenAmount {
address token; // token address on the local chain.
uint256 amount; // Amount of tokens.
}
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
// Importing OpenZeppelin contracts
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";
import "@openzeppelin/contracts@4.6.0/utils/Base64.sol";
// Importing Chainlink contracts
import "@chainlink/contracts/src/v0.8/interfaces/AggregatorV3Interface.sol";
// SPDX-License-Identifier: UNLICENSED
pragma solidity 0.8.19;
// Importing OpenZeppelin contracts
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC721/extensions/ERC721URIStorage.sol";
import "@openzeppelin/contracts/utils/Strings.sol";
import "@openzeppelin/contracts/utils/Base64.sol";
// Importing Chainlink contracts
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.7;
import "@chainlink/contracts/src/v0.8/interfaces/VRFCoordinatorV2Interface.sol";
import "@chainlink/contracts/src/v0.8/VRFConsumerBaseV2.sol";
import "@chainlink/contracts/src/v0.8/ConfirmedOwner.sol";
contract VRFSenderTest is VRFConsumerBaseV2, ConfirmedOwner {
event RequestSent(uint256 requestId, uint32 numWords);
event RequestFulfilled(uint256 requestId, uint256[] randomWords);
@solangegueiros
solangegueiros / Raffle.sol
Created February 8, 2022 22:26
Chainlink VRF Raffle
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
import "@chainlink/contracts/src/v0.8/VRFConsumerBase.sol";
contract Raffle is VRFConsumerBase {
bytes32 internal keyHash;
uint256 internal fee;
@solangegueiros
solangegueiros / MasterCh2.sol
Last active January 21, 2022 17:17
Master for Challenge 2
// SPDX-License-Identifier: MIT
pragma solidity 0.8.7;
// Create a frontend with this interface for students submit their solutions
interface iMasterCh2 {
function solutions(uint256) external returns (address);
function ownerIndex(address) external returns (uint256);
function addSolution (address) external returns (bool);
}