Skip to content

Instantly share code, notes, and snippets.

View ProgramCrafter's full-sized avatar
💎
Footsteps are great

ProgramCrafter

💎
Footsteps are great
View GitHub Profile
#![allow(incomplete_features)]
#![feature(generic_const_exprs)]
#![feature(maybe_uninit_write_slice, maybe_uninit_array_assume_init)]
use std::{fmt::{Display, Formatter}, mem::MaybeUninit};
use is_true::IsTrue;
use size_def::{Bound, CtSize, Erased, Fixed};
mod is_true {
pub trait IsTrue<const COND: bool> {}
forall X -> tuple change_tuple(tuple t, int pos, X value) asm(t value pos) "SETINDEXVAR";
tuple get_c7() asm "c7 PUSHCTR";
slice vm::invoke_get_addr(slice owner_address, tuple c7, cell master_data, cell master_code) asm
"CTOS // owner_addr c7 md mc"
"2 PUSHINT // owner_addr c7 md mc args"
"103289 PUSHINT // owner_addr c7 md mc args get_jwa_method_id"
"5 0 REVERSE DUMPSTK // owner_addr get_jwa_method_id args mc md c7"
"53 RUNVM DUMPSTK // address exit_code c4' c5'"
"3 BLKDROP // address";
@ProgramCrafter
ProgramCrafter / resolve-contract.ts
Created June 2, 2023 09:11
Contract for finding TON DNS domain contracts by name
import { Address, beginCell, Cell, Dictionary, Contract, ContractProvider, contractAddress, Slice, TupleBuilder, toNano } from "ton-core";
import { compileFunc } from '@ton-community/func-js';
import { Blockchain } from "@ton-community/sandbox";
const stdlib_fc_code = `
;; Standard library for funC
;;
{-
# Tuple manipulation primitives
# Hell is Game Theory Folk Theorems
# https://www.lesswrong.com/posts/d2HvpKWQ2XGNsHr8s/hell-is-game-theory-folk-theorems
import random
import math
def minimize(prev_list, prev_temp):
return 30
@ProgramCrafter
ProgramCrafter / multinft.py
Created March 3, 2023 20:43
Minter of fully onchain NFTs
from tonsdk.boc import Builder, Cell, begin_dict
from tonsdk.utils import Address
import threading
import traceback
import hashlib
import base64
import sys
#![feature(bench_black_box)]
use std::ptr::{read, write};
use std::hint::black_box;
use std::mem::size_of;
use std::any::Any;
trait Animal: Any {
fn say(&self) -> &'static str;
fn name(&self) -> &'static str;