@muirglacier/jellyfish-transaction
Version:
A collection of TypeScript + JavaScript tools and libraries for DeFi Blockchain developers to build decentralized finance for Bitcoin
45 lines • 1.9 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.CTokenBalanceVarInt = exports.CScriptBalances = exports.CTokenBalance = void 0;
const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer");
const tx_composer_1 = require("../../tx_composer");
/**
* Composable TokenBalance, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CTokenBalance extends jellyfish_buffer_1.ComposableBuffer {
composers(tb) {
return [
jellyfish_buffer_1.ComposableBuffer.uInt32(() => tb.token, v => tb.token = v),
jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => tb.amount, v => tb.amount = v)
];
}
}
exports.CTokenBalance = CTokenBalance;
/**
* Composable ScriptBalances, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CScriptBalances extends jellyfish_buffer_1.ComposableBuffer {
composers(sb) {
return [
jellyfish_buffer_1.ComposableBuffer.single(() => sb.script, v => sb.script = v, v => new tx_composer_1.CScript(v)),
jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => sb.balances, v => sb.balances = v, v => new CTokenBalance(v))
];
}
}
exports.CScriptBalances = CScriptBalances;
/**
* Composable TokenBalanceVarInt, C stands for Composable.
* Immutable by design, bi-directional fromBuffer, toBuffer deep composer.
*/
class CTokenBalanceVarInt extends jellyfish_buffer_1.ComposableBuffer {
composers(tb) {
return [
jellyfish_buffer_1.ComposableBuffer.varUInt(() => tb.token, v => tb.token = v),
jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => tb.amount, v => tb.amount = v)
];
}
}
exports.CTokenBalanceVarInt = CTokenBalanceVarInt;
//# sourceMappingURL=dftx_balance.js.map