PHP WebShell
Текущая директория: /opt/BitGoJS/modules/utxo-lib/test/bitgo/wallet
Просмотр файла: chains.ts
import * as assert from 'assert';
import {
ChainCode,
chainCodes,
getExternalChainCode,
getInternalChainCode,
isChainCode,
isExternalChainCode,
isInternalChainCode,
scriptTypeForChain,
toChainPair,
} from '../../../src/bitgo';
import { scriptTypes2Of3 } from '../../../src/bitgo/outputScripts';
describe('chain codes', function () {
it('map to scriptTypes and back', function () {
chainCodes.forEach((c) => {
assert.strict(isChainCode(c));
assert.strict(!isChainCode(c + 2));
assert.strict(toChainPair(c).includes(c));
assert.throws(() => toChainPair((c + 2) as ChainCode));
});
assert.deepStrictEqual(
chainCodes.map((c) => toChainPair(c)),
[
[0, 1],
[0, 1],
[10, 11],
[10, 11],
[20, 21],
[20, 21],
[30, 31],
[30, 31],
[40, 41],
[40, 41],
]
);
scriptTypes2Of3.forEach((t) => {
assert.strictEqual(t, scriptTypeForChain(getExternalChainCode(t)));
assert.strictEqual(t, scriptTypeForChain(getInternalChainCode(t)));
});
assert.deepStrictEqual(
chainCodes.map((c) => scriptTypeForChain(c)),
['p2sh', 'p2sh', 'p2shP2wsh', 'p2shP2wsh', 'p2wsh', 'p2wsh', 'p2tr', 'p2tr', 'p2trMusig2', 'p2trMusig2']
);
chainCodes.forEach((c) => {
assert.strict(isExternalChainCode(c) || isInternalChainCode(c));
assert.strictEqual(isExternalChainCode(c) && isInternalChainCode(c), false);
assert.strictEqual(isExternalChainCode(c) ? getExternalChainCode(c) : getInternalChainCode(c), c);
});
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!