Skip to content

Instantly share code, notes, and snippets.

View HarryR's full-sized avatar
🏴‍☠️
My time travel machine is stuck at 60 seconds per minute

HaRoLd HarryR

🏴‍☠️
My time travel machine is stuck at 60 seconds per minute
View GitHub Profile
@HarryR
HarryR / poly1305-rust-output.txt
Last active April 12, 2025 21:09
Poly1305 implementation & test vector print-out in pure Rust
$ ./bin/poly1305.native.exe
2.5.2. Poly1305 Example and Test Vector
For our example, we will dispense with generating the one-time key
using AES, and assume that we got the following keying material:
o Key Material: 85:d6:be:78:57:55:6d:33:7f:44:52:fe:42:d5:06:a8:01:0
3:80:8a:fb:0d:b2:fd:4a:bf:f6:af:41:49:f5:1b
@HarryR
HarryR / Cargo.toml
Last active April 12, 2025 21:08
Alternative to the Oasis `orc` tool
[package]
name = "orc-builder"
version = "0.1.0"
edition = "2021"
[dependencies]
clap = { version = "4.4", features = ["derive"] }
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
sha2 = "0.10"
@HarryR
HarryR / pipeline.py
Last active January 9, 2025 16:20
Typesafe task pipeline for Python
import time
from dataclasses import dataclass
from typing import Awaitable, Callable, Generic, Iterable, Literal, Tuple, TypeVar, Union
_TaskInputT = TypeVar('_TaskInputT')
_TaskOutputT = TypeVar('_TaskOutputT')
TaskTypeT = Literal['first', 'intermediate', 'final']
@dataclass
// SPDX-License-Identifier: AGPL-3.0-only
pragma solidity ^0.8.0;
import { IERC721 } from '@openzeppelin/contracts/token/ERC721/IERC721.sol';
import { IERC721Receiver } from '@openzeppelin/contracts/token/ERC721/IERC721Receiver.sol';
import { Staking } from './Staking.sol';
import { randomBytes32 } from './Random.sol';
import { Moderation } from './Moderation.sol';
@HarryR
HarryR / transcriptex.rs
Last active December 23, 2024 01:46
Forking Merlin transcripts
use merlin::Transcript;
pub trait TranscriptExt {
// Proposed method to fork a transcript
fn fork_transcript(&mut self) -> Transcript;
// Proposed method to append another transcript
fn append_transcript(&mut self, other: &mut Transcript);
}
@HarryR
HarryR / kanbanflow-monthly-report.py
Last active September 6, 2024 05:51
Monthly reporting for Kanbanflow, produces a Markdown summary of all tasks and the percentage time breakdown daily & across categories
#!/usr/bin/env python3
import os
import re
import sys
import requests
import calendar
from datetime import datetime, timedelta, date
from typing import TypedDict
from collections import defaultdict
@HarryR
HarryR / triangle.html
Created July 28, 2024 18:12
Draws a cool morphing triangle thing
<!DOCTYPE html>
<html>
<head>
<title>Triangle</title>
</head>
<body>
<canvas id="canvas" width=500 height=500></canvas>
<script>
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
contract RandomStorage {
mapping(bytes32 => bytes32) internal data;
event ReadEvent(bytes32 k, bytes32 v);
constructor() {}
@HarryR
HarryR / SapphireShuffle.sol
Last active April 23, 2023 18:04
Shuffle a deck of cards on Oasis Sapphire
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.18;
contract SapphireShuffle {
address private constant RANDOM_BYTES = 0x0100000000000000000000000000000000000001;
error ErrorGeneratingRandom();
function _random_bytes32()
// SPDX-License-Identifier: AGPL-3.0-or-later
pragma solidity ^0.8.9;
contract WW
{
event EncryptedResponse(bytes32 nonce, bytes data);
event PublicKey(bytes32 x25519_public);
struct Coupon {