": "brc-20", "op": "deploy", "tick": "OM8T", "max": "38000006", "lim": "1" } { "arc": "20", "ver": "1.0", "tick": "om8t", "dec": "8", "supply": "38000006", "mint": { "limit": "1", "open": true }, "royalty": { "bps": 500, "treasury": "bc1q59lrkvzn3ylspmy9fy58uc69xz0tj0j32v0na0", "mode": "psr" }, "transfer": { "fee_bps": 100, "treasury": "bc1q59lrkvzn3ylspmy9fy58uc69xz0tj0j32v0na0" }, "meta": { "name": "Omega 8 Token", "class": "Omega-Max ARC20" "identity_lock": "INSERT_IDENTITY_LOCK", } const hre = require("hardhat"); async function main() { const ORACLE_INIT_PRICE = "9258191000000000"; // $92,581.91 × 1e8 const Oracle = await hre.ethers.getContractFactory("OmegaBTCOracle"); const oracle = await Oracle.deploy(ORACLE_INIT_PRICE); await oracle.waitForDeployment(); console.log("Oracle deployed at:", oracle.target); } main().catch((err) => { console.error(err); process.exit(1); }); import { sendBTC, createInscription } from "ordinals-api"; import dotenv from "dotenv"; dotenv.config(); const TREASURY = process.env.TREASURY_ADDRESS; const PRIVATE_KEY = process.env.BITCOIN_WALLET_PRIVATE_KEY; const MINT_FEE = 10000; // 10,000 sats (~0.0001 BTC) const MINT_AMOUNT = "1000"; // token units export async function mintO8T(userAddress) { await sendBTC({ from: userAddress, to: TREASURY, amount: MINT_FEE }); const inscription = { "p": "brc-20", "op": "mint", "tick": "om8t", "amt": MINT_AMOUNT }; const txid = await createInscription({ to: userAddress, data: JSON.stringify(inscription) }); console.log(`Mint inscription created: ${txid}`); return txid; } import { sendBTC } from "ordinals-api"; const TREASURY = process.env.TREASURY_ADDRESS; const TRANSFER_FEE_BPS = 100; // 1% export async function transferO8T(senderAddress, recipientAddress, amount) { const fee = Math.floor(amount * TRANSFER_FEE_BPS / 10000); const netAmount = amount - fee; await sendBTC({ from: senderAddress, to: TREASURY, amount: fee }); console.log(`Transferred ${netAmount} tokens from ${senderAddress} to ${recipientAddress}. Fee routed: ${fee} sats.`); } import { sendBTC } from "ordinals-api"; const TREASURY = process.env.TREASURY_ADDRESS; const ROYALTY_BPS = 500; // 5% export async function handleRoyalty(sellerAddress, salePrice) { const royaltyAmount = Math.floor(salePrice * ROYALTY_BPS / 10000); if (royaltyAmount > 0) { await sendBTC({ from: sellerAddress, to: TREASURY, amount: royaltyAmount }); console.log(`Royalty of ${royaltyAmount} sats routed to treasury.`); } } import { mintOM8T } from './mintScript'; // your mint script path async function main() { const userAddress = await getUserBitcoinAddress(); // Implement this const txid = await mintO8T(userAddress); console.log(`Minted tokens! TXID: ${txid}`); }