PHP WebShell
Текущая директория: /opt/BitGoJS/modules/abstract-eth/dist/test/unit
Просмотр файла: transferBuilder.js
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const assert_1 = __importDefault(require("assert"));
const should_1 = __importDefault(require("should"));
const statics_1 = require("@bitgo/statics");
const src_1 = require("../../src");
describe('Eth send multi sig builder', function () {
const toAddress = '0x7325A3F7d4f9E86AE62Cf742426078C3755730d5';
const xprv = 'xprv9s21ZrQH143K3D8TXfvAJgHVfTEeQNW5Ys9wZtnUZkqPzFzSjbEJrWC1vZ4GnXCvR7rQL2UFX3RSuYeU9MrERm1XBvACow7c36vnz5iYyj2';
const key = new src_1.KeyPair({ prv: xprv }).getKeys().prv;
const amount = '100000000000000000'; // equivalent to 0.1 ether
const ethLikeCoins = ['hteth', 'tarbeth', 'topeth', 'zketh'];
describe('should fail', () => {
it('should fail if a coin does not exists in @bitgo/statics', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().coin('inexistentcoin');
}).throw();
});
ethLikeCoins.forEach((coin) => {
it('should fail with an invalid key', () => {
const staticsCoin = statics_1.coins.get(coin);
const builder = new src_1.TransferBuilder()
.coin(coin)
.expirationTime(1590078260)
.amount(amount)
.to(toAddress)
.contractSequenceId(2)
.key('invalidkey');
(0, should_1.default)(() => {
builder.signAndBuild(`${staticsCoin.chainId}`);
}).throw('private key length is invalid');
});
});
it('should fail with an invalid sequence id', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().contractSequenceId(-1);
}).throw('Invalid contract sequence id');
});
it('should fail with an invalid destination address', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().to('invalidaddress');
}).throw('Invalid address');
});
it('should fail with an invalid amount: text value', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().amount('invalidamount');
}).throw('Invalid amount');
});
it('should fail with an invalid amount: negative value', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().amount('-10');
}).throw('Invalid amount');
});
it('should fail with an invalid expiration time', () => {
(0, should_1.default)(() => {
new src_1.TransferBuilder().expirationTime(-1);
}).throw('Invalid expiration time');
});
it('should fail if a sequenceId param is missing', () => {
const builder = new src_1.TransferBuilder().amount(amount).to(toAddress).key(key);
assert_1.default.throws(() => builder.signAndBuild(''));
});
it('should fail if a destination param is missing', () => {
const builder = new src_1.TransferBuilder().amount(amount).contractSequenceId(2).key(key);
assert_1.default.throws(() => builder.signAndBuild(''));
});
it('should fail if a amount param is missing', () => {
const builder = new src_1.TransferBuilder().to(toAddress).contractSequenceId(2).key(key);
assert_1.default.throws(() => builder.signAndBuild(''));
});
});
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXJCdWlsZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L3RyYW5zZmVyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUFBLG9EQUE0QjtBQUM1QixvREFBNEI7QUFDNUIsNENBQTBFO0FBQzFFLG1DQUFxRDtBQUVyRCxRQUFRLENBQUMsNEJBQTRCLEVBQUU7SUFDckMsTUFBTSxTQUFTLEdBQUcsNENBQTRDLENBQUM7SUFDL0QsTUFBTSxJQUFJLEdBQ1IsaUhBQWlILENBQUM7SUFDcEgsTUFBTSxHQUFHLEdBQUcsSUFBSSxhQUFPLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxHQUFhLENBQUM7SUFDL0QsTUFBTSxNQUFNLEdBQUcsb0JBQW9CLENBQUMsQ0FBQywwQkFBMEI7SUFDL0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxPQUFPLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUU3RCxRQUFRLENBQUMsYUFBYSxFQUFFLEdBQUcsRUFBRTtRQUMzQixFQUFFLENBQUMseURBQXlELEVBQUUsR0FBRyxFQUFFO1lBQ2pFLElBQUEsZ0JBQU0sRUFBQyxHQUFHLEVBQUU7Z0JBQ1YsSUFBSSxxQkFBZSxFQUFFLENBQUMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUM7WUFDL0MsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDYixDQUFDLENBQUMsQ0FBQztRQUVILFlBQVksQ0FBQyxPQUFPLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUM1QixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO2dCQUN6QyxNQUFNLFdBQVcsR0FBRyxlQUFLLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBOEIsQ0FBQztnQkFDakUsTUFBTSxPQUFPLEdBQUcsSUFBSSxxQkFBZSxFQUFFO3FCQUNsQyxJQUFJ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Q2hELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLDBDQUEwQyxFQUFFLEdBQUcsRUFBRTtZQUNsRCxNQUFNLE9BQU8sR0FBRyxJQUFJLHFCQUFlLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ25GLGdCQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxZQUFZLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztRQUNoRCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgYXNzZXJ0IGZyb20gJ2Fzc2VydCc7XG5pbXBvcnQgc2hvdWxkIGZyb20gJ3Nob3VsZCc7XG5pbXBvcnQgeyBjb2lucywgRXRoZXJldW1OZXR3b3JrIGFzIEV0aExpa2VOZXR3b3JrIH0gZnJvbSAnQGJpdGdvL3N0YXRpY3MnO1xuaW1wb3J0IHsgS2V5UGFpciwgVHJhbnNmZXJCdWlsZGVyIH0gZnJvbSAnLi4vLi4vc3JjJztcblxuZGVzY3JpYmUoJ0V0aCBzZW5kIG11bHRpIHNpZyBidWlsZGVyJywgZnVuY3Rpb24gKCkge1xuICBjb25zdCB0b0FkZHJlc3MgPSAnMHg3MzI1QTNGN2Q0ZjlFODZBRTYyQ2Y3NDI0MjYwNzhDMzc1NTczMGQ1JztcbiAgY29uc3QgeHBydiA9XG4gICAgJ3hwcnY5czIxWnJRSDE0M0szRDhUWGZ2QUpnSFZmVEVlUU5XNVlzOXdadG5VWmtxUHpGelNqYkVKcldDMXZaNEduWEN2UjdyUUwyVUZYM1JTdVllVTlNckVSbTFYQnZBQ293N2MzNnZuejVpWXlqMic7XG4gIGNvbnN0IGtleSA9IG5ldyBLZXlQYWlyKHsgcHJ2OiB4cHJ2IH0pLmdldEtleXMoKS5wcnYgYXMgc3RyaW5nO1xuICBjb25zdCBhbW91bnQgPSAnMTAwMDAwMDAwMDAwMDAwMDAwJzsgLy8gZXF1aXZhbGVudCB0byAwLjEgZXRoZXJcbiAgY29uc3QgZXRoTGlrZUNvaW5zID0gWydodGV0aCcsICd0YXJiZXRoJywgJ3RvcGV0aCcsICd6a2V0aCddO1xuXG4gIGRlc2NyaWJlKCdzaG91bGQgZmFpbCcsICgpID0+IHtcbiAgICBpdCgnc2hvdWxkIGZhaWwgaWYgYSBjb2luIGRvZXMgbm90IGV4aXN0cyBpbiBAYml0Z28vc3RhdGljcycsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5jb2luKCdpbmV4aXN0ZW50Y29pbicpO1xuICAgICAgfSkudGhyb3coKTtcbiAgICB9KTtcblxuICAgIGV0aExpa2VDb2lucy5mb3JFYWNoKChjb2luKSA9PiB7XG4gICAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIGtleScsICgpID0+IHtcbiAgICAgICAgY29uc3Qgc3RhdGljc0NvaW4gPSBjb2lucy5nZXQoY29pbikgYXMgdW5rbm93biBhcyBFdGhMaWtlTmV0d29yaztcbiAgICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoKVxuICAgICAgICAgIC5jb2luKGNvaW4pXG4gICAgICAgICAgLmV4cGlyYXRpb25UaW1lKDE1OTAwNzgyNjApXG4gICAgICAgICAgLmFtb3VudChhbW91bnQpXG4gICAgICAgICAgLnRvKHRvQWRkcmVzcylcbiAgICAgICAgICAuY29udHJhY3RTZXF1ZW5jZUlkKDIpXG4gICAgICAgICAgLmtleSgnaW52YWxpZGtleScpO1xuICAgICAgICBzaG91bGQoKCkgPT4ge1xuICAgICAgICAgIGJ1aWxkZXIuc2lnbkFuZEJ1aWxkKGAke3N0YXRpY3NDb2luLmNoYWluSWR9YCk7XG4gICAgICAgIH0pLnRocm93KCdwcml2YXRlIGtleSBsZW5ndGggaXMgaW52YWxpZCcpO1xuICAgICAgfSk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIHNlcXVlbmNlIGlkJywgKCkgPT4ge1xuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgbmV3IFRyYW5zZmVyQnVpbGRlcigpLmNvbnRyYWN0U2VxdWVuY2VJZCgtMSk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBjb250cmFjdCBzZXF1ZW5jZSBpZCcpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdpdGggYW4gaW52YWxpZCBkZXN0aW5hdGlvbiBhZGRyZXNzJywgKCkgPT4ge1xuICAgICAgc2hvdWxkKCgpID0+IHtcbiAgICAgICAgbmV3IFRyYW5zZmVyQnVpbGRlcigpLnRvKCdpbnZhbGlkYWRkcmVzcycpO1xuICAgICAgfSkudGhyb3coJ0ludmFsaWQgYWRkcmVzcycpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBmYWlsIHdpdGggYW4gaW52YWxpZCBhbW91bnQ6IHRleHQgdmFsdWUnLCAoKSA9PiB7XG4gICAgICBzaG91bGQoKCkgPT4ge1xuICAgICAgICBuZXcgVHJhbnNmZXJCdWlsZGVyKCkuYW1vdW50KCdpbnZhbGlkYW1vdW50Jyk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBhbW91bnQnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCB3aXRoIGFuIGludmFsaWQgYW1vdW50OiBuZWdhdGl2ZSB2YWx1ZScsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5hbW91bnQoJy0xMCcpO1xuICAgICAgfSkudGhyb3coJ0ludmFsaWQgYW1vdW50Jyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIGZhaWwgd2l0aCBhbiBpbnZhbGlkIGV4cGlyYXRpb24gdGltZScsICgpID0+IHtcbiAgICAgIHNob3VsZCgoKSA9PiB7XG4gICAgICAgIG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS5leHBpcmF0aW9uVGltZSgtMSk7XG4gICAgICB9KS50aHJvdygnSW52YWxpZCBleHBpcmF0aW9uIHRpbWUnKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIHNlcXVlbmNlSWQgcGFyYW0gaXMgbWlzc2luZycsICgpID0+IHtcbiAgICAgIGNvbnN0IGJ1aWxkZXIgPSBuZXcgVHJhbnNmZXJCdWlsZGVyKCkuYW1vdW50KGFtb3VudCkudG8odG9BZGRyZXNzKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIGRlc3RpbmF0aW9uIHBhcmFtIGlzIG1pc3NpbmcnLCAoKSA9PiB7XG4gICAgICBjb25zdCBidWlsZGVyID0gbmV3IFRyYW5zZmVyQnVpbGRlcigpLmFtb3VudChhbW91bnQpLmNvbnRyYWN0U2VxdWVuY2VJZCgyKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgZmFpbCBpZiBhIGFtb3VudCBwYXJhbSBpcyBtaXNzaW5nJywgKCkgPT4ge1xuICAgICAgY29uc3QgYnVpbGRlciA9IG5ldyBUcmFuc2ZlckJ1aWxkZXIoKS50byh0b0FkZHJlc3MpLmNvbnRyYWN0U2VxdWVuY2VJZCgyKS5rZXkoa2V5KTtcbiAgICAgIGFzc2VydC50aHJvd3MoKCkgPT4gYnVpbGRlci5zaWduQW5kQnVpbGQoJycpKTtcbiAgICB9KTtcbiAgfSk7XG59KTtcbiJdfQ==Выполнить команду
Для локальной разработки. Не используйте в интернете!