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