Skip to content

Instantly share code, notes, and snippets.

View jac18281828's full-sized avatar
🦌

John Cairns jac18281828

🦌
View GitHub Profile
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.22;
// Mock imports
import { OFTMock } from "./mocks/OFTMock.sol";
import { ERC20Mock } from "./mocks/ERC20Mock.sol";
import { OFTComposerMock } from "./mocks/OFTComposerMock.sol";
// OApp imports
import {
@jac18281828
jac18281828 / ETHx_OFTAdapter.sol
Created May 1, 2024 21:38
ETHx_OFTAdapter example with message sending
// SPDX-License-Identifier: GNU-3.0-or-later
pragma solidity 0.8.22;
import { Ownable } from "@openzeppelin/contracts/access/Ownable.sol";
import { OFTAdapter } from "@layerzerolabs/lz-evm-oapp-v2/contracts/oft/OFTAdapter.sol";
import { OptionsBuilder } from "@layerzerolabs/lz-evm-oapp-v2/contracts/oapp/libs/OptionsBuilder.sol";
import { MessagingFee } from "@layerzerolabs/lz-evm-protocol-v2/contracts/interfaces/ILayerZeroEndpointV2.sol";
import { IPausable } from "./IPausable.sol";
@jac18281828
jac18281828 / MyOFT.t.sol
Created April 22, 2024 15:38
LayerZero Example OFT Test
// SPDX-License-Identifier: UNLICENSED
pragma solidity ^0.8.20;
// Mock imports
import { OFTMock } from "./mocks/OFTMock.sol";
import { ERC20Mock } from "./mocks/ERC20Mock.sol";
import { OFTComposerMock } from "./mocks/OFTComposerMock.sol";
// OApp imports
import {
@jac18281828
jac18281828 / spsc.h
Created February 29, 2024 17:39
single producer single consumer fifo
#pragma once
#include <cstdlib>
#include <memory>
#include <atomic>
#include <new>
template <typename T, typename Alloc = std::allocator<T>>
class spsc : private Alloc
{
@jac18281828
jac18281828 / adminrole.md
Last active February 9, 2024 19:45
Contract Admin Role Flowchart Mermaid
flowchart TD;
    A[Contract Deployment] -->|Establish DEFAULT_ADMIN_ROLE as Deployer| B(Add Additional ADMIN_ROLE as needed)
    B --> C(DEFAULT_ADMIN_ROLE builds REGISTRY_ADMIN_ROLE)
    C -->|Continuous| D[REGISTRY ADMIN performs upgrade]
    C -->|As Needed| E[DEFAULT ROLE assigned or removed]
    C -->|As Needed| F[REGISTRY ROLE assigned or removed]
@jac18281828
jac18281828 / url_scanner.rs
Created January 25, 2024 19:55
did url scanner based on rust Lyn crate
use lyn::Scanner;
enum EthrToken {
DID,
NETWORK,
CHAIN_ID,
ADDRESS,
PUBLIC_KEY,
}
@jac18281828
jac18281828 / FD311EE84C8321C3E93C1E639028C4309ACCEB9B-gpg-public-key.asc
Last active January 12, 2024 20:34
FD311EE84C8321C3E93C1E639028C4309ACCEB9B John Cairns Public Key 2024
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBGWdzBQBEADqFiG8LNCiMYlAwNNKTKSxChejQWIvBAeAIVJ3LxipUdjzI20e
kowGd44wYkwRBv+Spf3Faztkj45yF30vMHQFZXBk9gasWQ5ZR3URfcN4BEJgPos4
eHz3J/EYQ3aGWGSOjR+/9G3xmAqOyp5RQ8LBg6WJm6CGudPps3AC/R2ICjs8yvzK
VvQe7u5bi0j4UtX6YDdU6nDZOgK6Wq7OER0ZXGOOZb/U43IBFfmwR6aNmoajpnof
XiYv/J7zgp6Logh5eVj2PiwUCsZXGB7rEc+g7pOVikuCdBhirl5W1krJa/C5Hd5R
PTSGx4OF4oPgscIgXt6c6ULfy01j65Yho5bcImMbeB79rDTj1OOLoQlew3CmhK/x
nguqMD5LVUV63DfA5cHPHw8z/ZXsWZ5ZWqhBuVn1CTOnzqj7fHZyqea3i70Cv4Oj
v/JcH1rXS/f70rNUd81OA3ld7Ccrw64HtcRUTd3TYnLUYeChaFSY1rZHCipyylko
@jac18281828
jac18281828 / fib.mixal
Created January 4, 2024 01:24
MIX AL PROGRAM TO CALCULATE FIBONACCI NUMBERS
* MIX AL PROGRAM TO CALCULATE FIBONACCI NUMBERS
X EQU 1000
Y EQU 1005
N EQU 1010
COUNT CON 40
ORIG 3000
FIB STJ EXIT
ENT1 0
ST1 X
ENT1 1
@jac18281828
jac18281828 / loop.mixal
Last active January 3, 2024 02:29
Simple LOOP in MIX
* MIX AL PROGRAM
* example of a simple loop
* count from 0 to 1000
ORIG 1000
START STJ EXIT
LOOP LDA COUNT
INCA 1
STA COUNT
CMPA MAX
JL LOOP
@jac18281828
jac18281828 / hello.mixal
Last active January 3, 2024 00:57
hello.mixal - hello world MIX Assembly Language
* hello world MIXAL
TERM EQU 19 * unit number of terminal
ORIG 3000
START OUT HELLO(TERM) * output terminal
HLT
HELLO ALF HELLO
ALF " WORL"
ALF D
END START * end of program