Skip to content

Instantly share code, notes, and snippets.

View rfikki's full-sized avatar

Rocky Fikki rfikki

View GitHub Profile

Linagee Wrapper V2 — End User Guide

For users of the dapp. No coding required. This guide covers everything from connecting your wallet to using advanced privacy and identity features.


Table of Contents

  1. What is Linagee?
  2. Getting started — wallet setup
# DinoHook — The Collector's Art Guide
> **CollectibleTrust DAO LLC - A RMI Registered Not-For-Profit · DinoHook Protocol**
> *Your friendly guide to the art, the dinosaurs, the history, and the fun of collecting DinoHook NFTs. No code required.*
---
## Table of Contents
1. [Welcome to DinoHook](#1-welcome-to-dinohook)

DINO Vault — Complete Collector's Guide

CollectibleTrust · DAO LLC · Dinosaur Vault Protocol
The definitive reference for minting, evolving, battling, and thriving in the DINO ecosystem.


Table of Contents

  1. What Is DINO Vault?

DINO Vault — Complete Collector's Guide

CollectibleTrust DAO LLC - A RMI Registered Not-For-Profit · DinoHook Protocol
The definitive reference for minting, evolving, battling, and thriving in the DINO ecosystem.


Table of Contents

  1. What Is DINO Vault?
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
/**
* @title Dinosaur Amber Vault
* @notice Locks exactly 100 DINO to mint 1 dynamic Dinosaur NFT.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.24;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/Pausable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
/**
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.28;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Permit.sol";
import "@openzeppelin/contracts/token/ERC20/extensions/ERC20Burnable.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/utils/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/Pausable.sol";
@rfikki
rfikki / solidity_compiler_version_bugs.md
Created January 22, 2026 14:16
Lists of known solidity bugs based on compiler version

[ { "uid": "SOL-2025-1", "name": "LostStorageArrayWriteOnSlotOverflow", "summary": "Operations that involve clearing or copying from arrays that straddle the end of storage could result in silent data retention.", "description": "Solidity makes it possible to define variables that extend past the last (2**256-th) slot of storage, which results in wrap-around back to slot zero. Since EVM uses 256-bit integer arithmetic, most operations on such variables just work. The only situation which requires special attention is iteration against absolute slot addresses: the invariant that the last slot belonging to a variable has the highest address does not hold. When implemented incorrectly, a loop over an array will immediately terminate if the container spans the end of storage - due to the initial position already being greater than the end position. This affected storage array clearing loops generated by both evmasm and IR pipelines. Additionally, (only in the evmasm pipeline) c

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.20;
import "@openzeppelin/contracts/token/ERC20/ERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
/// @title CurrencyCoin Interface
/// @notice Interface for interacting with the CurrencyCoin contract
interface CurrencyCoin {
// SPDX-License-Identifier: MIT
pragma solidity 0.8.30;
import "@openzeppelin/contracts/token/ERC20/IERC20.sol";
import "@openzeppelin/contracts/token/ERC20/utils/SafeERC20.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
import "@openzeppelin/contracts/utils/cryptography/MerkleProof.sol";