UNPKG

@muirglacier/jellyfish-transaction

Version:

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

235 lines 11.6 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.CPlaceAuctionBid = exports.CCloseVault = exports.CPaybackLoan = exports.CTakeLoan = exports.CWithdrawFromVault = exports.CDepositToVault = exports.CUpdateVault = exports.CCreateVault = exports.CUpdateLoanToken = exports.CSetLoanToken = exports.CSetCollateralToken = exports.CSetDefaultLoanScheme = exports.CDestroyLoanScheme = exports.CSetLoanScheme = void 0; const jellyfish_buffer_1 = require("@muirglacier/jellyfish-buffer"); const dftx_balance_1 = require("./dftx_balance"); const tx_composer_1 = require("../../tx_composer"); const dftx_price_1 = require("./dftx_price"); /** * Composable CreateLoanScheme and UpdateLoanScheme, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CSetLoanScheme extends jellyfish_buffer_1.ComposableBuffer { composers(sls) { return [ jellyfish_buffer_1.ComposableBuffer.uInt32(() => sls.ratio, v => sls.ratio = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => sls.rate, v => sls.rate = v), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => sls.identifier, v => sls.identifier = v), jellyfish_buffer_1.ComposableBuffer.bigNumberUInt64(() => sls.update, v => sls.update = v) ]; } } exports.CSetLoanScheme = CSetLoanScheme; CSetLoanScheme.OP_CODE = 0x4c; // 'L' CSetLoanScheme.OP_NAME = 'OP_DEFI_TX_SET_LOAN_SCHEME'; /** * Composable DestroyLoanScheme, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CDestroyLoanScheme extends jellyfish_buffer_1.ComposableBuffer { composers(dls) { return [ jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => dls.identifier, v => dls.identifier = v), jellyfish_buffer_1.ComposableBuffer.bigNumberUInt64(() => dls.height, v => dls.height = v) ]; } } exports.CDestroyLoanScheme = CDestroyLoanScheme; CDestroyLoanScheme.OP_CODE = 0x44; // 'D' CDestroyLoanScheme.OP_NAME = 'OP_DEFI_TX_DESTROY_LOAN_SCHEME'; /** * Composable SetDefaultLoanScheme, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CSetDefaultLoanScheme extends jellyfish_buffer_1.ComposableBuffer { composers(sdls) { return [ jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => sdls.identifier, v => sdls.identifier = v) ]; } } exports.CSetDefaultLoanScheme = CSetDefaultLoanScheme; CSetDefaultLoanScheme.OP_CODE = 0x64; // 'd' CSetDefaultLoanScheme.OP_NAME = 'OP_DEFI_TX_SET_DEFAULT_LOAN_SCHEME'; /** * Composable SetCollateralToken, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CSetCollateralToken extends jellyfish_buffer_1.ComposableBuffer { composers(sct) { return [ jellyfish_buffer_1.ComposableBuffer.varUInt(() => sct.token, v => sct.token = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => sct.factor, v => sct.factor = v), jellyfish_buffer_1.ComposableBuffer.single(() => sct.currencyPair, v => sct.currencyPair = v, sct => new dftx_price_1.CCurrencyPair(sct)), jellyfish_buffer_1.ComposableBuffer.uInt32(() => sct.activateAfterBlock, v => sct.activateAfterBlock = v) ]; } } exports.CSetCollateralToken = CSetCollateralToken; CSetCollateralToken.OP_CODE = 0x63; // 'c' CSetCollateralToken.OP_NAME = 'OP_DEFI_TX_SET_COLLATERAL_TOKEN'; /** * Composable SetLoanToken, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CSetLoanToken extends jellyfish_buffer_1.ComposableBuffer { composers(slt) { return [ jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => slt.symbol, v => slt.symbol = v), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => slt.name, v => slt.name = v), jellyfish_buffer_1.ComposableBuffer.single(() => slt.currencyPair, v => slt.currencyPair = v, v => new dftx_price_1.CCurrencyPair(v)), jellyfish_buffer_1.ComposableBuffer.uBool8(() => slt.mintable, v => slt.mintable = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => slt.interest, v => slt.interest = v) ]; } } exports.CSetLoanToken = CSetLoanToken; CSetLoanToken.OP_CODE = 0x67; // 'g' CSetLoanToken.OP_NAME = 'OP_DEFI_TX_SET_LOAN_TOKEN'; /** * Composable UpdateLoanToken, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CUpdateLoanToken extends jellyfish_buffer_1.ComposableBuffer { composers(ult) { return [ jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => ult.symbol, v => ult.symbol = v), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => ult.name, v => ult.name = v), jellyfish_buffer_1.ComposableBuffer.single(() => ult.currencyPair, v => ult.currencyPair = v, v => new dftx_price_1.CCurrencyPair(v)), jellyfish_buffer_1.ComposableBuffer.uBool8(() => ult.mintable, v => ult.mintable = v), jellyfish_buffer_1.ComposableBuffer.satoshiAsBigNumber(() => ult.interest, v => ult.interest = v), jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => ult.tokenTx, v => ult.tokenTx = v) ]; } } exports.CUpdateLoanToken = CUpdateLoanToken; CUpdateLoanToken.OP_CODE = 0x78; // 'x' CUpdateLoanToken.OP_NAME = 'OP_DEFI_TX_UPDATE_LOAN_TOKEN'; /** * Composable CreateVault, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CCreateVault extends jellyfish_buffer_1.ComposableBuffer { composers(cv) { return [ jellyfish_buffer_1.ComposableBuffer.single(() => cv.ownerAddress, v => cv.ownerAddress = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => cv.schemeId, v => cv.schemeId = v) ]; } } exports.CCreateVault = CCreateVault; CCreateVault.OP_CODE = 0x56; // 'V' CCreateVault.OP_NAME = 'OP_DEFI_TX_CREATE_VAULT'; /** * Composable UpdateVault, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CUpdateVault extends jellyfish_buffer_1.ComposableBuffer { composers(uv) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => uv.vaultId, v => uv.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => uv.ownerAddress, v => uv.ownerAddress = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntUtf8BE(() => uv.schemeId, v => uv.schemeId = v) ]; } } exports.CUpdateVault = CUpdateVault; CUpdateVault.OP_CODE = 0x76; // 'v' CUpdateVault.OP_NAME = 'OP_DEFI_TX_UPDATE_VAULT'; /** * Composable DepositToVault, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CDepositToVault extends jellyfish_buffer_1.ComposableBuffer { composers(dtv) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => dtv.vaultId, v => dtv.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => dtv.from, v => dtv.from = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.single(() => dtv.tokenAmount, v => dtv.tokenAmount = v, v => new dftx_balance_1.CTokenBalanceVarInt(v)) ]; } } exports.CDepositToVault = CDepositToVault; CDepositToVault.OP_CODE = 0x53; // 'S' CDepositToVault.OP_NAME = 'OP_DEFI_TX_DEPOSIT_TO_VAULT'; /** * Composable WithdrawFromVault, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CWithdrawFromVault extends jellyfish_buffer_1.ComposableBuffer { composers(dtv) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => dtv.vaultId, v => dtv.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => dtv.to, v => dtv.to = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.single(() => dtv.tokenAmount, v => dtv.tokenAmount = v, v => new dftx_balance_1.CTokenBalanceVarInt(v)) ]; } } exports.CWithdrawFromVault = CWithdrawFromVault; CWithdrawFromVault.OP_CODE = 0x4A; // 'J' CWithdrawFromVault.OP_NAME = 'OP_DEFI_TX_WITHDRAW_FROM_VAULT'; /** * Composable TakeLoan, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CTakeLoan extends jellyfish_buffer_1.ComposableBuffer { composers(tl) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => tl.vaultId, v => tl.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => tl.to, v => tl.to = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => tl.tokenAmounts, v => tl.tokenAmounts = v, v => new dftx_balance_1.CTokenBalance(v)) ]; } } exports.CTakeLoan = CTakeLoan; CTakeLoan.OP_CODE = 0x58; // 'X' CTakeLoan.OP_NAME = 'OP_DEFI_TX_TAKE_LOAN'; /** * Composable PaybackLoan, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CPaybackLoan extends jellyfish_buffer_1.ComposableBuffer { composers(pl) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => pl.vaultId, v => pl.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => pl.from, v => pl.from = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.varUIntArray(() => pl.tokenAmounts, v => pl.tokenAmounts = v, v => new dftx_balance_1.CTokenBalance(v)) ]; } } exports.CPaybackLoan = CPaybackLoan; CPaybackLoan.OP_CODE = 0x48; // 'H' CPaybackLoan.OP_NAME = 'OP_DEFI_TX_PAYBACK_LOAN'; /** * Composable CloseVault, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CCloseVault extends jellyfish_buffer_1.ComposableBuffer { composers(cv) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => cv.vaultId, v => cv.vaultId = v), jellyfish_buffer_1.ComposableBuffer.single(() => cv.to, v => cv.to = v, v => new tx_composer_1.CScript(v)) ]; } } exports.CCloseVault = CCloseVault; CCloseVault.OP_CODE = 0x65; // 'e' CCloseVault.OP_NAME = 'OP_DEFI_TX_CLOSE_VAULT'; /** * Composable PlaceAuctionBid, C stands for Composable. * Immutable by design, bi-directional fromBuffer, toBuffer deep composer. */ class CPlaceAuctionBid extends jellyfish_buffer_1.ComposableBuffer { composers(pab) { return [ jellyfish_buffer_1.ComposableBuffer.hexBEBufferLE(32, () => pab.vaultId, v => pab.vaultId = v), jellyfish_buffer_1.ComposableBuffer.uInt32(() => pab.index, v => pab.index = v), jellyfish_buffer_1.ComposableBuffer.single(() => pab.from, v => pab.from = v, v => new tx_composer_1.CScript(v)), jellyfish_buffer_1.ComposableBuffer.single(() => pab.tokenAmount, v => pab.tokenAmount = v, v => new dftx_balance_1.CTokenBalanceVarInt(v)) ]; } } exports.CPlaceAuctionBid = CPlaceAuctionBid; CPlaceAuctionBid.OP_CODE = 0x49; // 'I' CPlaceAuctionBid.OP_NAME = 'OP_DEFI_TX_AUCTION_BID'; //# sourceMappingURL=dftx_loans.js.map