UNPKG

@arkade-os/sdk

Version:

Bitcoin wallet SDK with Taproot and Ark integration

223 lines (222 loc) 6.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Response = void 0; const base_1 = require("@scure/base"); function getRandomId() { const randomValue = crypto.getRandomValues(new Uint8Array(16)); return base_1.hex.encode(randomValue); } /** * Response is the namespace that contains the response types for the service worker. */ var Response; (function (Response) { Response.walletInitialized = (id) => ({ type: "WALLET_INITIALIZED", success: true, id, }); function error(id, message) { return { type: "ERROR", success: false, message, id, }; } Response.error = error; function settleEvent(id, event) { return { type: "SETTLE_EVENT", success: true, event, id, }; } Response.settleEvent = settleEvent; function settleSuccess(id, txid) { return { type: "SETTLE_SUCCESS", success: true, txid, id, }; } Response.settleSuccess = settleSuccess; function isSettleSuccess(response) { return response.type === "SETTLE_SUCCESS" && response.success; } Response.isSettleSuccess = isSettleSuccess; function isAddress(response) { return response.type === "ADDRESS" && response.success === true; } Response.isAddress = isAddress; function isBoardingAddress(response) { return (response.type === "BOARDING_ADDRESS" && response.success === true); } Response.isBoardingAddress = isBoardingAddress; function address(id, address) { return { type: "ADDRESS", success: true, address, id, }; } Response.address = address; function boardingAddress(id, address) { return { type: "BOARDING_ADDRESS", success: true, address, id, }; } Response.boardingAddress = boardingAddress; function isBalance(response) { return response.type === "BALANCE" && response.success === true; } Response.isBalance = isBalance; function balance(id, balance) { return { type: "BALANCE", success: true, balance, id, }; } Response.balance = balance; function isVtxos(response) { return response.type === "VTXOS" && response.success === true; } Response.isVtxos = isVtxos; function vtxos(id, vtxos) { return { type: "VTXOS", success: true, vtxos, id, }; } Response.vtxos = vtxos; function isVirtualCoins(response) { return response.type === "VIRTUAL_COINS" && response.success === true; } Response.isVirtualCoins = isVirtualCoins; function virtualCoins(id, virtualCoins) { return { type: "VIRTUAL_COINS", success: true, virtualCoins, id, }; } Response.virtualCoins = virtualCoins; function isBoardingUtxos(response) { return response.type === "BOARDING_UTXOS" && response.success === true; } Response.isBoardingUtxos = isBoardingUtxos; function boardingUtxos(id, boardingUtxos) { return { type: "BOARDING_UTXOS", success: true, boardingUtxos, id, }; } Response.boardingUtxos = boardingUtxos; function isSendBitcoinSuccess(response) { return (response.type === "SEND_BITCOIN_SUCCESS" && response.success === true); } Response.isSendBitcoinSuccess = isSendBitcoinSuccess; function sendBitcoinSuccess(id, txid) { return { type: "SEND_BITCOIN_SUCCESS", success: true, txid, id, }; } Response.sendBitcoinSuccess = sendBitcoinSuccess; function isTransactionHistory(response) { return (response.type === "TRANSACTION_HISTORY" && response.success === true); } Response.isTransactionHistory = isTransactionHistory; function transactionHistory(id, transactions) { return { type: "TRANSACTION_HISTORY", success: true, transactions, id, }; } Response.transactionHistory = transactionHistory; function isWalletStatus(response) { return response.type === "WALLET_STATUS" && response.success === true; } Response.isWalletStatus = isWalletStatus; function walletStatus(id, walletInitialized, xOnlyPublicKey) { return { type: "WALLET_STATUS", success: true, status: { walletInitialized, xOnlyPublicKey, }, id, }; } Response.walletStatus = walletStatus; function isClearResponse(response) { return response.type === "CLEAR_RESPONSE"; } Response.isClearResponse = isClearResponse; function clearResponse(id, success) { return { type: "CLEAR_RESPONSE", success, id, }; } Response.clearResponse = clearResponse; function isWalletReloaded(response) { return response.type === "WALLET_RELOADED"; } Response.isWalletReloaded = isWalletReloaded; function walletReloaded(id, success) { return { type: "WALLET_RELOADED", success, id, }; } Response.walletReloaded = walletReloaded; function isVtxoUpdate(response) { return response.type === "VTXO_UPDATE"; } Response.isVtxoUpdate = isVtxoUpdate; function vtxoUpdate(newVtxos, spentVtxos) { return { type: "VTXO_UPDATE", id: getRandomId(), // spontaneous update, not tied to a request success: true, spentVtxos, newVtxos, }; } Response.vtxoUpdate = vtxoUpdate; function isUtxoUpdate(response) { return response.type === "UTXO_UPDATE"; } Response.isUtxoUpdate = isUtxoUpdate; function utxoUpdate(coins) { return { type: "UTXO_UPDATE", id: getRandomId(), // spontaneous update, not tied to a request success: true, coins, }; } Response.utxoUpdate = utxoUpdate; })(Response || (exports.Response = Response = {}));