Skip to content

Instantly share code, notes, and snippets.

@bswags
bswags / useTokens.ts
Created September 2, 2022 14:39
Query transfers for an ERC721 to materialize currently owned ones
import { BigNumber, ethers } from 'ethers';
import { sortBy } from 'ramda';
import { useCallback, useEffect, useMemo, useState } from 'react';
import { useContractEvent, useProvider } from 'wagmi';
import { NFT_CONTRACT_ABI, NFT_CONTRACT_ADDRESS, nftConfig } from './contracts';
export interface TokenState {
owned: number[];
}
@bswags
bswags / live-sessions.swift
Last active February 23, 2021 18:28
Thoughts on live sessions + messaging for Project Mixtape
// Project Mixtape Live Session Models.
struct SessionTrack: FirestoreModel {
// MARK: Properties
let track: Track
let sessionId: String
let mixtapeId: String?
let placement: Int
@bswags
bswags / mixtape.ts
Last active January 8, 2021 21:43
Initial thoughts on Mixtape spec
// Various rough thoughts around schemas and datatypes for Project Mixtape.
// Placeholders from existing for TS help.
type User = {};
// I think these can basically be user preview objects.
type GroupMember = Partial<User>;
// User previews with metadata for presence, status, reactions, etc.
@bswags
bswags / PurchaseViewController.m
Created August 22, 2019 06:40
In-App Purchases (Obj-C)
// Called in viewDidLoad callback.
- (void)validateProducts
{
NSString *productId = @"product_id_from_app_store_connect";
NSSet *productIdentifiers = [NSSet setWithObject:productId];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
request.delegate = self;
self.productsRequest = request;
@bswags
bswags / PurchaseViewController.m
Created August 22, 2019 06:40
In-App Purchases (Obj-C)
// Called in viewDidLoad callback.
- (void)validateProducts
{
NSString *productId = @"product_id_from_app_store_connect";
NSSet *productIdentifiers = [NSSet setWithObject:productId];
SKProductsRequest *request = [[SKProductsRequest alloc] initWithProductIdentifiers:productIdentifiers];
request.delegate = self;
self.productsRequest = request;