Skip to content

Instantly share code, notes, and snippets.

View crazyrabbitLTC's full-sized avatar

Dennison Bertram crazyrabbitLTC

View GitHub Profile
@crazyrabbitLTC
crazyrabbitLTC / Private Safe Transaction Service
Created August 16, 2024 14:05
Private Safe Transaction Service
Proposal: Safe Transaction Service Private Mempool on Eigenlayer
Overview
The proposed solution addresses the inefficiencies and vulnerabilities of the current Gnosis Safe transaction service by implementing a private mempool network service. This service will run as an Active Validator Service (AVS) on Eigenlayer, providing enhanced security, scalability, and economic incentives for participants.
Problem Statement
1. Storage of Signed Messages: The current Gnosis Safe transaction service centralizes the storage of signed messages for multisig transactions while signatures are being collected.
2. Scalability Issues: The existing service has scalability limitations, hindering its ability to support the growing ecosystem efficiently.
This is a demo GPT. We use a third party API: Etherscan to get smart contract code from verified contracts. I don't know what their privacy policy is, but I am not recording your data. Check Etherscan.io for their privacy policy.
@crazyrabbitLTC
crazyrabbitLTC / L2 Pooled Liquidity with Uniswap V4 Hooks
Created November 20, 2023 16:31
L2 Pooled Liquidity with Uniswap V4 Hooks
Unified Liquidity Framework for Layer 2 Scaling Solutions via Uniswap V4 Pools
Dennison Bertram
dennison@tally.xyz
1. Introduction
The current Layer 2 (L2) solutions enhance scalability but result in fragmented liquidity. This proposal envisions a pooled liquidity model utilizing Uniswap V4's innovative hook system. By locking funds in a single Uniswap V4 pool contract, we can streamline the transfer of assets between L2 networks without reverting to Layer 1 (L1) for each transaction. The only requirement is the verification of funds to prevent double spending or bridging, ensuring assets remain secured in the pool contract.
2. The Bridging Mechanism
The proposed bridging mechanism is straightforward: users deposit assets into a designated Uniswap V4 pool, which serves as a gateway to L2 networks. The deposited funds are then locked, and users generate a cryptographic proof of their action. This proof, which certifies the uniqueness of the transaction and the non-duplication of assets, enables the reconsti
@crazyrabbitLTC
crazyrabbitLTC / NFT Roles.sol
Last active May 19, 2023 05:16
NFT Roles description
// SPDX-License-Identifier: MIT
// by dennison@tally.xyz
pragma solidity ^0.8.0;
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/token/ERC1155/ERC1155.sol";
contract Roles is ERC1155, AccessControl {
// errors
error NoDuplicateRoles();
@crazyrabbitLTC
crazyrabbitLTC / Ethereum registry Decoded.sol
Created September 30, 2022 19:16
Decoding the Oldest Ethereum Registry interface
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
interface ABI_0x5564886ca2C518d1964E5FCea4f423b41Db9F561 {
function name(address) external;
function owner(bytes32) external;
function content(bytes32) external;
function addr(bytes32) external;
function reserve(bytes32) external;
function subRegistrar(bytes32) external;
// SPDX-License-Identifier: MIT
pragma solidity ^ 0.8 .4;
// Made with Love by Dennison Bertram @Tally.xyz
import "@openzeppelin/contracts@4.6.0/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts@4.6.0/access/Ownable.sol";
import "@openzeppelin/contracts@4.6.0/utils/cryptography/draft-EIP712.sol";
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/draft-ERC721Votes.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";
contract MyToken is ERC721, Ownable, EIP712, ERC721Votes {
function _beforeTokenTransfer(address from, address to, uint256 tokenId)
internal override(ERC721, ERC721Votes)
{
require(from == address(0), "Err: token is SOUL BOUND");
super._beforeTokenTransfer(from, to, tokenId);
}
}
function _beforeTokenTransfer(address from, address to, uint256 tokenId)
internal override(ERC721, ERC721Votes)
{
require(true == false, "Err: token is SOUL BOUND");
super._beforeTokenTransfer(from, to, tokenId);
}
}
@crazyrabbitLTC
crazyrabbitLTC / SoulBoundTokenExample.sol
Created May 27, 2022 15:02
An example Soul Bound Token for Governance
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.4;
// Made with Love by Dennison Bertram @Tally.xyz
import "@openzeppelin/contracts@4.6.0/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts@4.6.0/access/Ownable.sol";
import "@openzeppelin/contracts@4.6.0/utils/cryptography/draft-EIP712.sol";
import "@openzeppelin/contracts@4.6.0/token/ERC721/extensions/draft-ERC721Votes.sol";
import "@openzeppelin/contracts@4.6.0/utils/Counters.sol";

0x15dc82b5806c0b6190a6c8b8bf9fdc59b7bbfcab40950efc3e83b11ac2340772