@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
JavaScript
;
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