UNPKG

@muirglacier/jellyfish-transaction

Version:

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

70 lines 3.23 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CSetOracleData = exports.CUpdateOracle = exports.CRemoveOracle = exports.CAppointOracle = void 0; const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer"); const dftx_price_1 = require("./dftx_price"); const tx_composer_1 = require("../../tx_composer"); /** * Composable AppointOracle, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CAppointOracle extends jellyfish_buffer_1.ComposableBuffer { composers(ao) { return [ jellyfish_buffer_1.ComposableBuffer.single(() => ao.script, v => ao.script = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.uInt8(() => ao.weightage, v => ao.weightage = v), jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => ao.priceFeeds, v => ao.priceFeeds = v, v => new dftx_price_1.CCurrencyPair(v)) ]; } } exports.CAppointOracle = CAppointOracle; CAppointOracle.OP_CODE = 0x6f; CAppointOracle.OP_NAME = 'OP_DEFI_TX_APPOINT_ORACLE'; /** * Composable RemoveOracle, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CRemoveOracle extends jellyfish_buffer_1.ComposableBuffer { composers(ao) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => ao.oracleId, v => ao.oracleId = v) ]; } } exports.CRemoveOracle = CRemoveOracle; CRemoveOracle.OP_CODE = 0x68; CRemoveOracle.OP_NAME = 'OP_DEFI_TX_REMOVE_ORACLE'; /** * Composable UpdateOracle, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CUpdateOracle extends jellyfish_buffer_1.ComposableBuffer { composers(ao) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => ao.oracleId, v => ao.oracleId = v), jellyfish_buffer_1.ComposableBuffer.single(() => ao.script, v => ao.script = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.uInt8(() => ao.weightage, v => ao.weightage = v), jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => ao.priceFeeds, v => ao.priceFeeds = v, v => new dftx_price_1.CCurrencyPair(v)) ]; } } exports.CUpdateOracle = CUpdateOracle; CUpdateOracle.OP_CODE = 0x74; CUpdateOracle.OP_NAME = 'OP_DEFI_TX_UPDATE_ORACLE'; /** * Composable SetOracleData, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CSetOracleData extends jellyfish_buffer_1.ComposableBuffer { composers(ao) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => ao.oracleId, v => ao.oracleId = v), jellyfish_buffer_1.ComposableBuffer.bigNumberUInt64(() => ao.timestamp, v => ao.timestamp = v), jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => ao.tokens, v => ao.tokens = v, v => new dftx_price_1.CTokenPrice(v)) ]; } } exports.CSetOracleData = CSetOracleData; CSetOracleData.OP_CODE = 0x79; CSetOracleData.OP_NAME = 'OP_DEFI_TX_SET_ORACLE_DATA'; //# sourceMappingURL=dftx_oracles.js.map