PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-staking/dist/src/coreDao
Просмотр файла: transaction.js
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.createStakingOutputsCore = createStakingOutputsCore;
exports.createStakingOutputs = createStakingOutputs;
const opReturn_1 = require("./opReturn");
/**
* Create the staking outputs for a CoreDAO staking transaction. This is the ordering
* in which to add into the transaction.
* @param stakingParams how to create the timelocked stake output
* @param stakingParams.descriptor if stakingParams.index is not provided, then this is assumed to be a `definite` descriptor.
* If stakingParams.index is provided, then this is assumed to be a `derivable` descriptor.
* @param opReturnParams to create the OP_RETURN output
*/
function createStakingOutputsCore(stakingParams, opReturnParams) {
if (stakingParams.descriptor.hasWildcard() && stakingParams.index === undefined) {
throw new Error('Cannot create staking outputs with a wildcard descriptor and no derivation index');
}
const outputScript = Buffer.from(stakingParams.index === undefined
? stakingParams.descriptor.scriptPubkey()
: stakingParams.descriptor.atDerivationIndex(stakingParams.index).scriptPubkey());
const opReturnScript = (0, opReturn_1.createCoreDaoOpReturnOutputScript)(opReturnParams);
return [
{ script: outputScript, value: stakingParams.amount },
{ script: opReturnScript, value: BigInt(0) },
];
}
/**
* @see createStakingOutputsCore
* @deprecated - use createStakingOutputsCore instead
*/
function createStakingOutputs(stakingParams, opReturnParams) {
return createStakingOutputsCore(stakingParams, opReturnParams).map(({ value, ...o }) => ({ ...o, amount: value }));
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNhY3Rpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29yZURhby90cmFuc2FjdGlvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQW1CQSw0REFtQkM7QUFXRCxvREFFQztBQWhERCx5Q0FBK0U7QUFRL0U7Ozs7Ozs7R0FPRztBQUNILFNBQWdCLHdCQUF3QixDQUN0QyxhQUE0QixFQUM1QixjQUE4QjtJQUU5QixJQUFJLGFBQWEsQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLElBQUksYUFBYSxDQUFDLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztRQUNoRixNQUFNLElBQUksS0FBSyxDQUFDLGtGQUFrRixDQUFDLENBQUM7SUFDdEcsQ0FBQztJQUVELE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQzlCLGFBQWEsQ0FBQyxLQUFLLEtBQUssU0FBUztRQUMvQixDQUFDLENBQUMsYUFBYSxDQUFDLFVBQVUsQ0FBQyxZQUFZLEVBQUU7UUFDekMsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsaUJBQWlCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDLFlBQVksRUFBRSxDQUNuRixDQUFDO0lBQ0YsTUFBTSxjQUFjLEdBQUcsSUFBQSw0Q0FBaUMsRUFBQyxjQUFjLENBQUMsQ0FBQztJQUV6RSxPQUFPO1FBQ0wsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFO1FBQ3JELEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFO0tBQzdDLENBQUM7QUFDSixDQUFDO0FBT0Q7OztHQUdHO0FBQ0gsU0FBZ0Isb0JBQW9CLENBQUMsYUFBNEIsRUFBRSxjQUE4QjtJQUMvRixPQUFPLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxjQUFjLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxHQUFHLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztBQUNySCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgT3V0cHV0IH0gZnJvbSAnQGJpdGdvL3V0eG8tY29yZSc7XG5pbXBvcnQgeyBEZXNjcmlwdG9yIH0gZnJvbSAnQGJpdGdvL3dhc20tbWluaXNjcmlwdCc7XG5cbmltcG9ydCB7IGNyZWF0ZUNvcmVEYW9PcFJldHVybk91dHB1dFNjcmlwdCwgT3BSZXR1cm5QYXJhbXMgfSBmcm9tICcuL29wUmV0dXJuJztcblxudHlwZSBTdGFraW5nUGFyYW1zID0ge1xuICBhbW91bnQ6IGJpZ2ludDtcbiAgZGVzY3JpcHRvcjogRGVzY3JpcHRvcjtcbiAgaW5kZXg/OiBudW1iZXI7XG59O1xuXG4vKipcbiAqIENyZWF0ZSB0aGUgc3Rha2luZyBvdXRwdXRzIGZvciBhIENvcmVEQU8gc3Rha2luZyB0cmFuc2FjdGlvbi4gVGhpcyBpcyB0aGUgb3JkZXJpbmdcbiAqIGluIHdoaWNoIHRvIGFkZCBpbnRvIHRoZSB0cmFuc2FjdGlvbi5cbiAqIEBwYXJhbSBzdGFraW5nUGFyYW1zIGhvdyB0byBjcmVhdGUgdGhlIHRpbWVsb2NrZWQgc3Rha2Ugb3V0cHV0XG4gKiBAcGFyYW0gc3Rha2luZ1BhcmFtcy5kZXNjcmlwdG9yIGlmIHN0YWtpbmdQYXJhbXMuaW5kZXggaXMgbm90IHByb3ZpZGVkLCB0aGVuIHRoaXMgaXMgYXNzdW1lZCB0byBiZSBhIGBkZWZpbml0ZWAgZGVzY3JpcHRvci5cbiAqIElmIHN0YWtpbmdQYXJhbXMuaW5kZXggaXMgcHJvdmlkZWQsIHRoZW4gdGhpcyBpcyBhc3N1bWVkIHRvIGJlIGEgYGRlcml2YWJsZWAgZGVzY3JpcHRvci5cbiAqIEBwYXJhbSBvcFJldHVyblBhcmFtcyB0byBjcmVhdGUgdGhlIE9QX1JFVFVSTiBvdXRwdXRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZShcbiAgc3Rha2luZ1BhcmFtczogU3Rha2luZ1BhcmFtcyxcbiAgb3BSZXR1cm5QYXJhbXM6IE9wUmV0dXJuUGFyYW1zXG4pOiBPdXRwdXQ8YmlnaW50PltdIHtcbiAgaWYgKHN0YWtpbmdQYXJhbXMuZGVzY3JpcHRvci5oYXNXaWxkY2FyZCgpICYmIHN0YWtpbmdQYXJhbXMuaW5kZXggPT09IHVuZGVmaW5lZCkge1xuICAgIHRocm93IG5ldyBFcnJvcignQ2Fubm90IGNyZWF0ZSBzdGFraW5nIG91dHB1dHMgd2l0aCBhIHdpbGRjYXJkIGRlc2NyaXB0b3IgYW5kIG5vIGRlcml2YXRpb24gaW5kZXgnKTtcbiAgfVxuXG4gIGNvbnN0IG91dHB1dFNjcmlwdCA9IEJ1ZmZlci5mcm9tKFxuICAgIHN0YWtpbmdQYXJhbXMuaW5kZXggPT09IHVuZGVmaW5lZFxuICAgICAgPyBzdGFraW5nUGFyYW1zLmRlc2NyaXB0b3Iuc2NyaXB0UHVia2V5KClcbiAgICAgIDogc3Rha2luZ1BhcmFtcy5kZXNjcmlwdG9yLmF0RGVyaXZhdGlvbkluZGV4KHN0YWtpbmdQYXJhbXMuaW5kZXgpLnNjcmlwdFB1YmtleSgpXG4gICk7XG4gIGNvbnN0IG9wUmV0dXJuU2NyaXB0ID0gY3JlYXRlQ29yZURhb09wUmV0dXJuT3V0cHV0U2NyaXB0KG9wUmV0dXJuUGFyYW1zKTtcblxuICByZXR1cm4gW1xuICAgIHsgc2NyaXB0OiBvdXRwdXRTY3JpcHQsIHZhbHVlOiBzdGFraW5nUGFyYW1zLmFtb3VudCB9LFxuICAgIHsgc2NyaXB0OiBvcFJldHVyblNjcmlwdCwgdmFsdWU6IEJpZ0ludCgwKSB9LFxuICBdO1xufVxuXG50eXBlIExlZ2FjeU91dHB1dCA9IHtcbiAgc2NyaXB0OiBCdWZmZXI7XG4gIGFtb3VudDogYmlnaW50O1xufTtcblxuLyoqXG4gKiBAc2VlIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZVxuICogQGRlcHJlY2F0ZWQgLSB1c2UgY3JlYXRlU3Rha2luZ091dHB1dHNDb3JlIGluc3RlYWRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVN0YWtpbmdPdXRwdXRzKHN0YWtpbmdQYXJhbXM6IFN0YWtpbmdQYXJhbXMsIG9wUmV0dXJuUGFyYW1zOiBPcFJldHVyblBhcmFtcyk6IExlZ2FjeU91dHB1dFtdIHtcbiAgcmV0dXJuIGNyZWF0ZVN0YWtpbmdPdXRwdXRzQ29yZShzdGFraW5nUGFyYW1zLCBvcFJldHVyblBhcmFtcykubWFwKCh7IHZhbHVlLCAuLi5vIH0pID0+ICh7IC4uLm8sIGFtb3VudDogdmFsdWUgfSkpO1xufVxuIl19Выполнить команду
Для локальной разработки. Не используйте в интернете!