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