Skip to content

Instantly share code, notes, and snippets.

@kmjones1979
kmjones1979 / ALIEN.md
Created January 9, 2026 15:58
Alien Provider Integration for Spritz

Alien SSO Integration Issue Report

Date: January 8, 2026
Project: Spritz Chat
Issue: tokenInfo.sub returns different value on each login


SDK Version

Morpho Blue + MetaMorpho Subgraph Query Guide

Complete guide to querying Morpho vault data: liquidity, APY, rewards, fees, and market allocations.

πŸ“‹ Quick Reference

Subgraph Endpoint:

https://gateway.thegraph.com/api/subgraphs/id/8Lz789DP5VKLXumTMTgygjU2xtuzx8AhbaacgN5PYCAs
@kmjones1979
kmjones1979 / TUTORIAL.md
Last active December 12, 2025 11:33
Tutorial for ampersend-sdk in Typescript

Ampersend TypeScript SDK Tutorial

Workshop Duration: 10 minutes

This tutorial walks through the Ampersend TypeScript SDK for integrating x402 payment capabilities into MCP (Model Context Protocol) applications. The x402 protocol extends HTTP with a standard way for servers to request payment before providing resources, using the 402 "Payment Required" status code. By the end of this tutorial, you'll understand how to build MCP clients that can pay for tools, MCP servers that charge for tools, and proxy servers that add payments to existing MCP infrastructure.


Table of Contents

@kmjones1979
kmjones1979 / TUTORIAL.md
Last active December 12, 2025 11:33
Tutorial for ampersend-sdk in Python

Ampersend Python SDK Tutorial

Workshop Duration: 10 minutes

This tutorial walks through the Ampersend Python SDK for integrating x402 payment capabilities into A2A (Agent-to-Agent) applications. The x402 protocol extends HTTP with a standard way for servers to request payment before providing resources, using the 402 "Payment Required" status code. By the end of this tutorial, you'll understand how to build both buyer (client) and seller (server) agents that can exchange micropayments for AI services.


Table of Contents

@kmjones1979
kmjones1979 / sweepMultipleAccounts.ts
Created June 12, 2025 22:29
example sweeper for deployer and burner wallet accounts
import * as dotenv from "dotenv";
dotenv.config();
import { ethers, Wallet } from "ethers";
import { config } from "hardhat";
import password from "@inquirer/password";
import { input, confirm, select } from "@inquirer/prompts";
interface AccountInfo {
address: string;
wallet: Wallet;
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol";
import "./MentorNFT.sol";
@kmjones1979
kmjones1979 / MentorNFT.sol
Created June 10, 2025 21:51
Updated Version
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
// --- Custom Errors ---
error MentorNFT_ZeroAddressOwner();
@kmjones1979
kmjones1979 / README.md
Last active September 26, 2025 09:51
πŸš€ Stablecoin Challenge Tutorial

πŸš€ Stablecoin Challenge - Complete Developer Tutorial πŸ’°

Welcome to the most exciting DeFi adventure! πŸŽ‰ Get ready to dive into the world of stablecoins, yield farming, and automated market making!

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import "@openzeppelin/contracts/token/ERC721/ERC721.sol";
import "@openzeppelin/contracts/access/Ownable.sol";
import "@openzeppelin/contracts/security/Pausable.sol";
import "@openzeppelin/contracts/access/AccessControl.sol";
import "@openzeppelin/contracts/security/ReentrancyGuard.sol";
// --- Custom Errors ---
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.27;
import "@openzeppelin/contracts-upgradeable/proxy/utils/Initializable.sol";
import "@openzeppelin/contracts-upgradeable/access/OwnableUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/access/AccessControlUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/proxy/utils/UUPSUpgradeable.sol";
import "@openzeppelin/contracts-upgradeable/security/PausableUpgradeable.sol";
import "./MentorNFT.sol";