diff options
| author | Adam Soltys <[email protected]> | 2022-09-08 05:04:13 -0400 |
|---|---|---|
| committer | Adam Soltys <[email protected]> | 2022-09-08 05:04:13 -0400 |
| commit | e36990c368d991e7cd52be874ad200fc3bc7205a (patch) | |
| tree | ccfbf0666506854329a0e1f4eb52509b84b1d486 /routes/liquid | |
| parent | 913033c77ce21510f192e384d362d15e3313bb0f (diff) | |
| download | coinos-server-e36990c368d991e7cd52be874ad200fc3bc7205a.tar.gz coinos-server-e36990c368d991e7cd52be874ad200fc3bc7205a.zip | |
socket last seen
Diffstat (limited to 'routes/liquid')
| -rw-r--r-- | routes/liquid/receive.js | 6 | ||||
| -rw-r--r-- | routes/liquid/taxi.js | 85 |
2 files changed, 4 insertions, 87 deletions
diff --git a/routes/liquid/receive.js b/routes/liquid/receive.js index 480677de..9c2b490b 100644 --- a/routes/liquid/receive.js +++ b/routes/liquid/receive.js @@ -11,16 +11,18 @@ import zmq from "zeromq/v5-compat"; import { Op } from "@sequelize/core"; import { fromBase58 } from "bip32"; import bitcoin from "bitcoinjs-lib"; -import liquidJs from "liquidjs-lib"; +// import liquidJs from "liquidjs-lib"; import { l, err, warn } from "$lib/logging"; import lq from "$lib/liquid"; -const { Block, networks, Transaction } = liquidJs; +// const { Block, networks, Transaction } = liquidJs; +/* const network = networks[ config.liquid.network === "mainnet" ? "liquid" : config.liquid.network ]; + */ import { computeConversionFee } from "./conversionFee"; diff --git a/routes/liquid/taxi.js b/routes/liquid/taxi.js deleted file mode 100644 index 32d0d636..00000000 --- a/routes/liquid/taxi.js +++ /dev/null @@ -1,85 +0,0 @@ -// import { address as Address, Psbt, payments, networks } from 'liquidjs-lib'; -import { ECPairFactory } from "ecpair"; -import tinysecp from "tiny-secp256k1"; -import wretch from "wretch"; -import fetch from "node-fetch"; - -wretch().polyfills({ fetch }); - -const url = prod - ? "https://blockstream.info/liquid/api" - : "http://electrs-liquid:3002"; - -const electrs = wretch().url(url); -const network = prod ? networks.liquid : networks.regtest; - -const ECPair = ECPairFactory(tinysecp); -const key = ECPair.fromPrivateKey(Buffer.from(config.taxi, "hex")); - -export default async (req, res) => { - let { user } = req; - let { psbt } = req.body; - - try { - if (user.username !== "silhouettes") { - throw new Error("taxi service only available to select customers"); - } - - let redeem = payments.p2wpkh({ - pubkey: key.publicKey, - network - }); - - let out = payments.p2sh({ - redeem, - network - }); - - let utxos = await electrs - .url(`/address/${out.address}/utxo`) - .get() - .json(); - - let tx = utxos.find(tx => tx.value >= 150); - - let hex = await electrs - .url(`/tx/${tx.txid}/hex`) - .get() - .text(); - - let raw = Psbt.fromBase64(psbt) - .addInput({ - hash: tx.txid, - index: tx.vout, - redeemScript: redeem.output, - nonWitnessUtxo: Buffer.from(hex, "hex") - }) - .addOutput({ - asset: network.assetHash, - nonce: Buffer.alloc(1, 0), - script: Buffer.alloc(0), - value: 150 - }) - .addOutput({ - asset: network.assetHash, - nonce: Buffer.alloc(1), - script: out.output, - value: tx.value - 150 - }) - .signInput(1, key) - .finalizeInput(1) - .extractTransaction() - .toHex(); - - let txid = await electrs - .url("/tx") - .body(raw) - .post() - .text(); - - res.send({ txid }); - } catch (e) { - console.log(e); - return res.code(500).send(e); - } -}; |
