Resolve "feat(Docs): Add BlockchainElectrum Tool"
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
import { BlockchainElectrum, encodeExtendedJson, Transaction } from '@xocash/stack';
|
||||
|
||||
export const electrumClient = {
|
||||
from: [
|
||||
{
|
||||
label: 'From Servers',
|
||||
inputs: ['Servers'],
|
||||
models: ['bch.imaginary.cash, cashnode.bch.ninja, electrum.imaginary.cash'],
|
||||
callback: async (args: [string]) => {
|
||||
const electrum = await BlockchainElectrum.from({
|
||||
opts: {
|
||||
servers: args[0].replaceAll(' ', '').split(','),
|
||||
application: 'XO-tools',
|
||||
},
|
||||
});
|
||||
|
||||
return electrum;
|
||||
},
|
||||
},
|
||||
],
|
||||
to: [],
|
||||
methods: [
|
||||
{
|
||||
label: 'Fetch Unspents',
|
||||
inputs: ['Address'],
|
||||
models: ['Address'],
|
||||
callback: async (electrum: BlockchainElectrum, args: [string]) => {
|
||||
const unspents = await electrum.fetchUnspents(args[0]);
|
||||
return encodeExtendedJson(unspents.toArray(), 2);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Fetch Transaction',
|
||||
inputs: ['Transaction Hash'],
|
||||
models: ['Transaction Hash'],
|
||||
callback: async (electrum: BlockchainElectrum, args: [string]) => {
|
||||
const transaction = await electrum.fetchTransaction(args[0]);
|
||||
return encodeExtendedJson(transaction, 2);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Fetch Transactions',
|
||||
inputs: ['Address'],
|
||||
models: ['Address'],
|
||||
callback: async (electrum: BlockchainElectrum, args: [string]) => {
|
||||
const transactions = await electrum.fetchTransactions(args[0]);
|
||||
return encodeExtendedJson(transactions.toArray(), 2);
|
||||
},
|
||||
},
|
||||
{
|
||||
label: 'Broadcast Transaction',
|
||||
inputs: ['Transaction'],
|
||||
models: ['Transaction'],
|
||||
callback: async (electrum: BlockchainElectrum, args: [string]) => {
|
||||
const tx = Transaction.from(args[0]);
|
||||
return await electrum.broadcastTransaction(tx);
|
||||
},
|
||||
},
|
||||
],
|
||||
};
|
||||
Reference in New Issue
Block a user