UNPKG

@muirglacier/jellyfish-transaction

Version:

A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance for Bitcoin

132 lines 6.65 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CICXCloseOffer = exports.CICXCloseOrder = exports.CICXClaimDFCHTLC = exports.CICXSubmitEXTHTLC = exports.CICXSubmitDFCHTLC = exports.CICXMakeOffer = exports.CICXCreateOrder = exports.ICXOrderType = void 0; const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer"); const tx_composer_1 = require("../../tx_composer"); var ICXOrderType; (function (ICXOrderType) { /** type for DFI/BTC orders */ ICXOrderType[ICXOrderType["INTERNAL"] = 1] = "INTERNAL"; /** type for BTC/DFI orders */ ICXOrderType[ICXOrderType["EXTERNAL"] = 2] = "EXTERNAL"; })(ICXOrderType = exports.ICXOrderType || (exports.ICXOrderType = {})); /** * Composable ICXCreateOrder, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXCreateOrder extends jellyfish_buffer_1.ComposableBuffer { composers(cco) { return [ jellyfish_buffer_1.ComposableBuffer.uInt8(() => cco.orderType, v => cco.orderType = v), jellyfish_buffer_1.ComposableBuffer.varUInt(() => cco.tokenId, v => cco.tokenId = v), jellyfish_buffer_1.ComposableBuffer.single(() => cco.ownerAddress, v => cco.ownerAddress = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntOptionalHex(() => cco.receivePubkey, v => cco.receivePubkey = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => cco.amountFrom, v => cco.amountFrom = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => cco.amountToFill, v => cco.amountToFill = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => cco.orderPrice, v => cco.orderPrice = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => cco.expiry, v => cco.expiry = v) ]; } } exports.CICXCreateOrder = CICXCreateOrder; CICXCreateOrder.OP_CODE = 0x31; // '1' CICXCreateOrder.OP_NAME = 'OP_DEFI_TX_ICX_CREATE_ORDER'; /** * Composable ICXMakeOffer, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXMakeOffer extends jellyfish_buffer_1.ComposableBuffer { composers(cmo) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => cmo.orderTx, v => cmo.orderTx = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => cmo.amount, v => cmo.amount = v), jellyfish_buffer_1.ComposableBuffer.single(() => cmo.ownerAddress, v => cmo.ownerAddress = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntOptionalHex(() => cmo.receivePubkey, v => cmo.receivePubkey = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => cmo.expiry, v => cmo.expiry = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => cmo.takerFee, v => cmo.takerFee = v) ]; } } exports.CICXMakeOffer = CICXMakeOffer; CICXMakeOffer.OP_CODE = 0x32; // '2' CICXMakeOffer.OP_NAME = 'OP_DEFI_TX_ICX_MAKE_OFFER'; /** * Composable ICXSubmitDFCHTLC, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXSubmitDFCHTLC extends jellyfish_buffer_1.ComposableBuffer { composers(msg) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => msg.offerTx, v => msg.offerTx = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => msg.amount, v => msg.amount = v), jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => msg.hash, v => msg.hash = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => msg.timeout, v => msg.timeout = v) ]; } } exports.CICXSubmitDFCHTLC = CICXSubmitDFCHTLC; CICXSubmitDFCHTLC.OP_CODE = 0x33; // '3' CICXSubmitDFCHTLC.OP_NAME = 'OP_DEFI_TX_ICX_SUBMIT_DFC_HTLC'; /** * Composable ICXSubmitEXTHTLC, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXSubmitEXTHTLC extends jellyfish_buffer_1.ComposableBuffer { composers(msg) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => msg.offerTx, v => msg.offerTx = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => msg.amount, v => msg.amount = v), jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => msg.hash, v => msg.hash = v), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => msg.htlcScriptAddress, v => msg.htlcScriptAddress = v), jellyfish_buffer_1.ComposableBuffer.varUIntHex(() => msg.ownerPubkey, v => msg.ownerPubkey = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => msg.timeout, v => msg.timeout = v) ]; } } exports.CICXSubmitEXTHTLC = CICXSubmitEXTHTLC; CICXSubmitEXTHTLC.OP_CODE = 0x34; // '4' CICXSubmitEXTHTLC.OP_NAME = 'OP_DEFI_TX_ICX_SUBMIT_EXT_HTLC'; /** * Composable ICXClaimDFCHTLC, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXClaimDFCHTLC extends jellyfish_buffer_1.ComposableBuffer { composers(msg) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => msg.dfcHTLCTx, v => msg.dfcHTLCTx = v), jellyfish_buffer_1.ComposableBuffer.varUIntHex(() => msg.seed, v => msg.seed = v) ]; } } exports.CICXClaimDFCHTLC = CICXClaimDFCHTLC; CICXClaimDFCHTLC.OP_CODE = 0x35; // '5' CICXClaimDFCHTLC.OP_NAME = 'OP_DEFI_TX_ICX_CLAIM_DFC_HTLC'; /** * Composable ICXCloseOrder, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXCloseOrder extends jellyfish_buffer_1.ComposableBuffer { composers(co) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => co.orderTx, v => co.orderTx = v) ]; } } exports.CICXCloseOrder = CICXCloseOrder; CICXCloseOrder.OP_CODE = 0x36; // '6' CICXCloseOrder.OP_NAME = 'OP_DEFI_TX_ICX_CLOSE_ORDER'; /** * Composable ICXCloseOffer, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CICXCloseOffer extends jellyfish_buffer_1.ComposableBuffer { composers(co) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => co.offerTx, v => co.offerTx = v) ]; } } exports.CICXCloseOffer = CICXCloseOffer; CICXCloseOffer.OP_CODE = 0x37; // '7' CICXCloseOffer.OP_NAME = 'OP_DEFI_TX_ICX_CLOSE_OFFER'; //# sourceMappingURL=dftx_icxorderbook.js.map