Skip to content

Instantly share code, notes, and snippets.

@horsefacts
horsefacts / satori_emoji.ts
Created February 14, 2024 19:39
Satori Emoji Loading
async function loadAdditionalAsset(_code: string, text: string) {
if (_code === 'emoji') {
const code = getIconCode(text);
const version = '14.0.2';
let emojiSvg;
try {
emojiSvg = await fetch(`https://cdnjs.cloudflare.com/ajax/libs/twemoji/${version}/svg/${code.toLowerCase()}.svg`).text();
} catch (e) {
emojiSvg = UNKNOWN_EMOJI_SVG;
}
@horsefacts
horsefacts / PuzzleBoxSolution.sol
Last active May 8, 2023 22:12
Dragonfly CTF - Huff
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "./PuzzleBox.sol";
contract PuzzleBoxSolution {
fallback() external payable {
// Compiled output of Solver.huff
// https://gist.github.com/horsefacts/80b943c1773623b00d1b4469f9af6703#file-solver-huff
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.19;
import "./PuzzleBox.sol";
// One word, or 32 bytes
uint256 constant ONE_WORD = 0x20;
// We lay out calldata in memory starting at this offset, immediately after the
// 4 byte function selector

Keybase proof

I hereby claim:

  • I am horsefacts on github.
  • I am eth_call (https://keybase.io/eth_call) on keybase.
  • I have a public key ASDsKUiMv0DMVFLzdRFIUbeUmsCMI7SHi2nUFLwijrtBAwo

To claim this, I am signing this object:

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.13;
library Iterators {
// Function types:
// https://docs.soliditylang.org/en/latest/types.html#function-types
function map(uint256[] memory input, function (uint256) internal pure returns (uint256) f)
internal
pure