Skip to content

Instantly share code, notes, and snippets.

View ayo-klaytn's full-sized avatar
🏠
Working from home

AyoofKlaytn ayo-klaytn

🏠
Working from home
View GitHub Profile
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
interface IKlaySwapRouterV2 {
struct SwapParams {
address to;
address[] path;
address[] pool;
uint deadline;
@ayo-klaytn
ayo-klaytn / crossChainHelloWorld.sol
Last active October 23, 2023 15:10
crossChainHelloWorld
// SPDX-License-Identifier: Unlicensed
pragma solidity ^0.8.0;
// This line imports the NonblockingLzApp contract from LayerZero's solidity-examples Github repo.
import "https://github.com/LayerZero-Labs/solidity-examples/blob/main/contracts/lzApp/NonblockingLzApp.sol";
// This contract is inheriting from the NonblockingLzApp contract.
contract CrossChainHelloWorld is NonblockingLzApp {
// A public string variable named "data" is declared. This will be the message sent to the destination.
string public data = "Nothing received yet";
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.11;
import "@klaytn/contracts/KIP/token/KIP17/extensions/KIP17URIStorage.sol";
import "@klaytn/contracts/access/Ownable.sol";
import "@bisonai/orakl-contracts/src/v0.1/VRFConsumerBase.sol";
import "@bisonai/orakl-contracts/src/v0.1/interfaces/VRFCoordinatorInterface.sol";
contract SageBadgeNFT is KIP17URIStorage, VRFConsumerBase, Ownable {
// SPDX-License-Identifier: Unlicense
pragma solidity ^0.8.11;
import "@klaytn/contracts/KIP/token/KIP17/extensions/KIP17URIStorage.sol";
import "@klaytn/contracts/utils/Counters.sol";
import "@klaytn/contracts/utils/Strings.sol";
import "@klaytn/contracts/utils/Base64.sol";
// ======================
@ayo-klaytn
ayo-klaytn / governance.js
Created March 14, 2023 07:16
script file to interact with governance contract using caver.js
// Interact with governanceToken contract with caver-js
// Import caver.js and each governance contract ABI
const Caver = require('caver-js')
const governanceTokenABI = require("../abi/governance/governanceToken.json")
const governanceMintableTokenABI = require("../abi/governance/govtMintableTokenContract.json")
const governanceContractABI = require("../abi/governance/governanceContract.json")
// Initialize caver.js and the each governance contract
const caver = new Caver('https://api.baobab.klaytn.net:8651/')
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract KlayBank {
mapping(address => uint) public balances;
function deposit() public payable {
balances[msg.sender] += msg.value;
}
@ayo-klaytn
ayo-klaytn / KdNFT.sol
Created January 5, 2023 09:52
This is an implementation of dynamic NFT on Klaytn. The metadata change based on the behaviour of KLAY/USDT as gotten from Witnet Oracle
// SPDX-License-Identifier: GPL-3.0
pragma solidity ^0.8.0;
import "@klaytn/contracts/KIP/token/KIP17/KIP17.sol";
import "@klaytn/contracts/KIP/token/KIP17/extensions/KIP17Enumerable.sol";
import "@klaytn/contracts/KIP/token/KIP17/extensions/KIP17URIStorage.sol";
import "@klaytn/contracts/utils/Counters.sol";
import "@klaytn/contracts/utils/Strings.sol";
import "@klaytn/contracts/access/Ownable.sol";