PHP WebShell
Текущая директория: /opt/BitGoJS/modules/sdk-coin-avaxp/test/unit/lib
Просмотр файла: utils.ts
import 'should';
import { Utils, KeyPair } from '../../../src/lib/';
import * as testData from '../../resources/avaxp';
import { AvalancheNetwork, coins } from '@bitgo/statics';
describe('Avaxp Utils', () => {
const network: AvalancheNetwork = coins.get('tavaxp').network as AvalancheNetwork;
const compressed = true;
it('should recover signature', () => {
const keyPair = new KeyPair({ prv: testData.SEED_ACCOUNT.privateKeyAvax });
const prv = keyPair.getPrivateKey();
const pub = keyPair.getPublicKey({ compressed });
const message = Buffer.from('Lorem ipsum dolor sit amet. Est maxime iure et odio iusto non aspernatur...', 'hex');
const signature = Utils.createSignature(network, message, prv!);
Utils.recoverySignature(network, message, signature).should.deepEqual(pub);
});
describe('Validation', function () {
it('should validate a public key', () => {
Utils.isValidPublicKey(testData.SEED_ACCOUNT.publicKeyCb58).should.be.true();
Utils.isValidPublicKey(testData.SEED_ACCOUNT.publicKey).should.be.true();
Utils.isValidPublicKey(testData.SEED_ACCOUNT.xPublicKey).should.be.true();
});
it('should fail to validate invalid address', function () {
const address = 'fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa';
Utils.isValidAddress(address).should.be.false();
});
it('should validate an address array', function () {
const validAddresses = [
'P-fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa',
'NodeID-MdteS9U987PY7iwA5Pcz3sKVprJAbAvE7',
'NodeID-P1KjdPNrap8LHfx5AstcXxsHjk3jbbyF',
];
Utils.isValidAddress(validAddresses).should.be.true();
});
it('should validate an address multiSig string', function () {
const stringMultiSigAddress =
'P-fuji15jamwukfqkwhe8z26tjqxejtjd3jk9vj4kmxwa~NodeID-MdteS9U987PY7iwA5Pcz3sKVprJAbAvE7~NodeID-P1KjdPNrap8LHfx5AstcXxsHjk3jbbyF';
Utils.isValidAddress(stringMultiSigAddress).should.be.true();
});
it('should fail to validate an invalid block id', function () {
const block = 'abcdefghijklmnopqrstuvwxyz';
Utils.isValidBlockId(block).should.be.false();
});
it('should validate a block id', function () {
const block = 'zGC26Bagj79RBPobK8Hghk9xuqAmME53eEUtM9RJ2yadBxrch';
Utils.isValidBlockId(block).should.be.true();
});
});
});
Выполнить команду
Для локальной разработки. Не используйте в интернете!