UNPKG

scrypt-ts

Version:

A toolset for building sCrypt smart contract applications on Bitcoin SV network written in typescript.

62 lines 2.05 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DummyProvider = void 0; const scryptlib_1 = require("scryptlib"); const abstract_provider_1 = require("../bsv/abstract-provider"); const crypto_1 = require("crypto"); const utils_1 = require("../bsv/utils"); /** * A DummyProvider is build for test purpose only, it always returns a dummy utxo for `listUnspent` request. */ class DummyProvider extends abstract_provider_1.Provider { constructor(satoshisArray) { super(); this.satoshisArray = satoshisArray; } isConnected() { return true; } connect() { return Promise.resolve(this); } updateNetwork(_network) { } getNetwork() { return scryptlib_1.bsv.Networks.testnet; } getFeePerKb() { return Promise.resolve(1); } sendRawTransaction(rawTxHex) { return Promise.resolve(rawTxHex); } getTransaction(txHash) { throw new Error("Method not implemented."); } listUnspent(address, options) { // always return a dummy utxo if (this.satoshisArray) { const utxos = this.satoshisArray.map(u => ({ txId: (0, crypto_1.randomBytes)(32).toString('hex'), outputIndex: 0, script: scryptlib_1.bsv.Script.fromAddress(address).toHex(), // placeholder satoshis: u })); if (options) { return Promise.resolve((0, utils_1.filterUTXO)(utxos, options)); } return Promise.resolve(utxos); } return Promise.resolve([{ txId: (0, crypto_1.randomBytes)(32).toString('hex'), outputIndex: 0, script: scryptlib_1.bsv.Script.fromAddress(address).toHex(), // placeholder satoshis: 9999999999 }]); } getBalance(address) { throw new Error("Method not implemented."); } } exports.DummyProvider = DummyProvider; //# sourceMappingURL=dummy-provider.js.map