Skip to content

Instantly share code, notes, and snippets.

View drewstaylor's full-sized avatar
:octocat:
Meow

Drew Taylor drewstaylor

:octocat:
Meow
View GitHub Profile
@drewstaylor
drewstaylor / xor.js
Created March 15, 2025 12:58
Remembering that time I had to XOR in JavaScript...
const xor = function (a, b) {
if (!Buffer.isBuffer(a)) a = new Buffer.from(a);
if (!Buffer.isBuffer(b)) b = new Buffer.from(b);
let res = []
const len = (a.length > b.length)
? b.length
: a.length;
for (let i = 0; i < len; i++) {
res.push(a[i] ^ b[i]);
}
// Collatz Conjecture
fn even_or_odd(num: &u32) -> u32 { num % 2 }
fn even(num: u32) -> u32 { num / 2 }
fn odd(num: u32) -> u32 { 3 * num + 1 }
fn collatz(mut num: u32) {
while num != 1 {
// println!("Processing: {}", num);
let n_type = even_or_odd(&num);
@drewstaylor
drewstaylor / archid-check-domain-exists.rs
Last active October 6, 2023 19:26
ArchID 3rd party integration examples
// You can check if domain name already exists by querying the
// `ResolveRecord` entry point of the Registry contract; however,
// it should be noted this query will return an error for domain
// names that are available, and a DNS record for domains that do
use cosmwasm_std::{to_binary, QueryRequest, WasmQuery,};
use crate::archid_registry;
let registry_contract = "Registry contract address goes here";
let desired_domain_name = "archid.arch";
const CwStargate = require("@cosmjs/cosmwasm-stargate");
const RPC = process.env.RPC;
const CONTRACT = process.env.CONTRACT;
async function cwClient() {
const cwClient = await CwStargate.SigningCosmWasmClient.connectWithSigner(RPC, null);
return cwClient;
}
@drewstaylor
drewstaylor / cwClient.null-signer.js
Created July 11, 2022 19:53
CW null signer instance (read only)
const CwStargate = require("@cosmjs/cosmwasm-stargate");
async function getClient() {
const cwClient = await CwStargate.SigningCosmWasmClient.connectWithSigner("https://rpc.constantine-1.archway.tech",null);
return cwClient;
}
async function main() {
let client = await getClient();
let queryHandler = client.queryClient.wasm.queryContractSmart;
@drewstaylor
drewstaylor / uAES.py
Created November 3, 2021 16:10
Uanon AES Tool in Python
#!/usr/bin/python3
import base64
import sys
from Crypto import Random
from Crypto.Cipher import AES
class AESCipher(object):
def __init__(self, key):
self.bs = AES.block_size
@drewstaylor
drewstaylor / package.json
Last active July 29, 2021 15:44
Change IPFS Provider in Taquito 9.2
{
"name": "ipfs-gateway-test",
"version": "1.0.0",
"description": "",
"main": "fa2.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node tzipIpfsProvider.js"
},
"keywords": [
@drewstaylor
drewstaylor / balanceOf.js
Last active July 26, 2021 16:21
FA2 balance_of request in Node.js
const TezosToolkit = require('@taquito/taquito')
const compose = require('@taquito/taquito');
const tzip12 = require('@taquito/tzip12');
const Tzip12Module = require('@taquito/tzip12');
const tzip16 = require('@taquito/tzip16');
const Tzip16Module = require('@taquito/tzip16');
const importKey = require('@taquito/signer').importKey;
const Tezos = new TezosToolkit.TezosToolkit("https://mainnet-tezos.giganode.io");
@drewstaylor
drewstaylor / fa2.js
Created July 26, 2021 08:11
Get Tezos FA2 Token
const TezosToolkit = require('@taquito/taquito')
const compose = require('@taquito/taquito');
const tzip12 = require('@taquito/tzip12');
const Tzip12Module = require('@taquito/tzip12');
const tzip16 = require('@taquito/tzip16');
const Tzip16Module = require('@taquito/tzip16');
const Tezos = new TezosToolkit.TezosToolkit("https://mainnet-tezos.giganode.io");
Tezos.addExtension(new Tzip12Module.Tzip12Module());
@drewstaylor
drewstaylor / github-user-stats.md
Last active January 26, 2025 16:34
Show GitHub User Data

Drew Taylor's Github Stats

Top Langauges

Readme Card

Readme Card

Readme Card