PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-core/test/descriptor/psbt
Просмотр файла: findDescriptors.ts
import * as assert from 'assert';
import { DescriptorTemplate, getDefaultXPubs, getDescriptor, mockPsbt } from '../../../src/testutil/descriptor';
import { findDescriptorForInput, findDescriptorForOutput } from '../../../src/descriptor';
function describeWithTemplates(templateSelf: DescriptorTemplate, templateOther: DescriptorTemplate) {
describe(`parsePsbt [${templateSelf},${templateOther}]`, function () {
const descriptorA = getDescriptor(templateSelf, getDefaultXPubs('a'));
const descriptorB = getDescriptor(templateOther, getDefaultXPubs('b'));
const descriptorMap = new Map([
['a', descriptorA],
['b', descriptorB],
]);
it('finds descriptors for PSBT inputs/outputs', function () {
const psbt = mockPsbt(
[
{ descriptor: descriptorA, index: 0 },
{ descriptor: descriptorB, index: 1, id: { vout: 1 } },
],
[{ descriptor: descriptorA, index: 2, value: BigInt(1e6) }]
);
assert.deepStrictEqual(findDescriptorForInput(psbt.data.inputs[0], descriptorMap), {
descriptor: descriptorA,
index: 0,
});
assert.deepStrictEqual(findDescriptorForInput(psbt.data.inputs[1], descriptorMap), {
descriptor: descriptorB,
index: 1,
});
assert.deepStrictEqual(findDescriptorForOutput(psbt.txOutputs[0].script, psbt.data.outputs[0], descriptorMap), {
descriptor: descriptorA,
index: 2,
});
});
});
}
describeWithTemplates('Wsh2Of3', 'Wsh2Of3');
describeWithTemplates('Wsh2Of3', 'Tr2Of3-NoKeyPath');
describeWithTemplates('Tr2Of3-NoKeyPath', 'Tr2Of3-NoKeyPath');
Выполнить команду
Для локальной разработки. Не используйте в интернете!