PHP WebShell

Текущая директория: /usr/lib/node_modules/bitgo/node_modules/@bitgo/abstract-eth/dist/test/unit/messages

Просмотр файла: messageBuilderFactory.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
require("should");
const sdk_core_1 = require("@bitgo/sdk-core");
const fixtures_1 = require("./eip191/fixtures");
const fixtures_2 = require("./eip712/fixtures");
const src_1 = require("../../../src");
const statics_1 = require("@bitgo/statics");
describe('Message Builder Factory', () => {
    const coinConfig = statics_1.coins.get('eth');
    describe('getMessageBuilder', () => {
        it('should return the correct builder for EIP191 message type', () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
            builder.should.be.instanceof(src_1.Eip191MessageBuilder);
        });
        it('should return the correct builder for EIP712 message type', () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
            builder.should.be.instanceof(src_1.Eip712MessageBuilder);
        });
        it('should throw an error for unsupported message types', () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            // Test with an invalid/unsupported message type
            const unsupportedType = 'UNSUPPORTED_TYPE';
            (() => factory.getMessageBuilder(unsupportedType)).should.throw(/Invalid message standard/);
        });
        it('should throw for unknown message standard', () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            (() => factory.getMessageBuilder(sdk_core_1.MessageStandardType.UNKNOWN)).should.throw(`Invalid message standard ${sdk_core_1.MessageStandardType.UNKNOWN}`);
        });
    });
    describe('Integration with builder', () => {
        it('should create a builder that can build a valid EIP191 message', async () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP191);
            builder.setPayload(fixtures_1.fixtures.tests.validMessage.input.payload);
            const message = await builder.build();
            message.getType().should.equal(sdk_core_1.MessageStandardType.EIP191);
            message.getPayload().should.equal(fixtures_1.fixtures.tests.validMessage.input.payload);
        });
        it('should create a builder that can build a valid EIP712 message', async () => {
            const factory = new src_1.MessageBuilderFactory(coinConfig);
            const builder = factory.getMessageBuilder(sdk_core_1.MessageStandardType.EIP712);
            builder.setPayload(fixtures_2.fixtures.tests.simple.input.payload);
            const message = await builder.build();
            message.getType().should.equal(sdk_core_1.MessageStandardType.EIP712);
            message.getPayload().should.equal(fixtures_2.fixtures.tests.simple.input.payload);
        });
    });
});
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVzc2FnZUJ1aWxkZXJGYWN0b3J5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vdGVzdC91bml0L21lc3NhZ2VzL21lc3NhZ2VCdWlsZGVyRmFjdG9yeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLGtCQUFnQjtBQUNoQiw4Q0FBc0Q7QUFDdEQsZ0RBQStEO0FBQy9ELGdEQUErRDtBQUMvRCxzQ0FBaUc7QUFDakcsNENBQXVDO0FBRXZDLFFBQVEsQ0FBQyx5QkFBeUIsRUFBRSxHQUFHLEVBQUU7SUFDdkMsTUFBTSxVQUFVLEdBQUcsZUFBSyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztJQUVwQyxRQUFRLENBQUMsbUJBQW1CLEVBQUUsR0FBRyxFQUFFO1FBQ2pDLEVBQUUsQ0FBQywyREFBMkQsRUFBRSxHQUFHLEVBQUU7WUFDbkUsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUMsaUJBQWlCLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDdEUsT0FBTyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFDLDBCQUFvQixDQUFDLENBQUM7UUFDckQsQ0FBQyxDQUFDLENBQUM7UUFFSCxFQUFFLENBQUMsMkRBQTJELEVBQUUsR0FBRyxFQUFFO1lBQ25FLE1BQU0sT0FBTyxHQUFHLElBQUksMkJBQXFCLENBQUMsVUFBVSxDQUFDLENBQUM7WUFFdEQsTUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLDhCQUFtQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3RFLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBQywwQkFBb0IsQ0FBQyxDQUFDO1FBQ3JELENBQUMsQ0FBQyxDQUFDO1FBRUgsRUFBRSxDQUFDLHFEQUFxRCxFQUFFLEdBQUcsRUFBRTtZQUM3RCxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELGdEQUFnRDtZQUNoRCxNQUFNLGVBQWUsR0FBRyxrQkFBeUMsQ0FBQztZQUVsRSxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUM5RixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywyQ0FBMkMsRUFBRSxHQUFHLEVBQUU7WUFDbkQsTUFBTSxPQUFPLEdBQUcsSUFBSSwyQkFBcUIsQ0FBQyxVQUFVLENBQUMsQ0FBQztZQUV0RCxDQUFDLEdBQUcsRUFBRSxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ3pFLDRCQUE0Qiw4QkFBbUIsQ0FBQyxPQUFPLEVBQUUsQ0FDMUQsQ0FBQztRQUNKLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDLENBQUM7SUFFSCxRQUFRLENBQUMsMEJBQTBCLEVBQUUsR0FBRyxFQUFFO1FBQ3hDLEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFcEUsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUNyRixDQUFDLENBQUMsQ0FBQztRQUVILEVBQUUsQ0FBQywrREFBK0QsRUFBRSxLQUFLLElBQUksRUFBRTtZQUM3RSxNQUFNLE9BQU8sR0FBRyxJQUFJLDJCQUFxQixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBRXRELE1BQU0sT0FBTyxHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyw4QkFBbUIsQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUN0RSxPQUFPLENBQUMsVUFBVSxDQUFDLG1CQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7WUFFOUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxPQUFPLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDdEMsT0FBTyxDQUFDLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsOEJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDM0QsT0FBTyxDQUFDLFVBQVUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsbUJBQWMsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUMvRSxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ3Nob3VsZCc7XG5pbXBvcnQgeyBNZXNzYWdlU3RhbmRhcmRUeXBlIH0gZnJvbSAnQGJpdGdvL3Nkay1jb3JlJztcbmltcG9ydCB7IGZpeHR1cmVzIGFzIGVpcDE5MUZpeHR1cmVzIH0gZnJvbSAnLi9laXAxOTEvZml4dHVyZXMnO1xuaW1wb3J0IHsgZml4dHVyZXMgYXMgZWlwNzEyRml4dHVyZXMgfSBmcm9tICcuL2VpcDcxMi9maXh0dXJlcyc7XG5pbXBvcnQgeyBFaXAxOTFNZXNzYWdlQnVpbGRlciwgRWlwNzEyTWVzc2FnZUJ1aWxkZXIsIE1lc3NhZ2VCdWlsZGVyRmFjdG9yeSB9IGZyb20gJy4uLy4uLy4uL3NyYyc7XG5pbXBvcnQgeyBjb2lucyB9IGZyb20gJ0BiaXRnby9zdGF0aWNzJztcblxuZGVzY3JpYmUoJ01lc3NhZ2UgQnVpbGRlciBGYWN0b3J5JywgKCkgPT4ge1xuICBjb25zdCBjb2luQ29uZmlnID0gY29pbnMuZ2V0KCdldGgnKTtcblxuICBkZXNjcmliZSgnZ2V0TWVzc2FnZUJ1aWxkZXInLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGNvcnJlY3QgYnVpbGRlciBmb3IgRUlQMTkxIG1lc3NhZ2UgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IGZhY3RvcnkgPSBuZXcgTWVzc2FnZUJ1aWxkZXJGYWN0b3J5KGNvaW5Db25maWcpO1xuXG4gICAgICBjb25zdCBidWlsZGVyID0gZmFjdG9yeS5nZXRNZXNzYWdlQnVpbGRlcihNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBidWlsZGVyLnNob3VsZC5iZS5pbnN0YW5jZW9mKEVpcDE5MU1lc3NhZ2VCdWlsZGVyKTtcbiAgICB9KTtcblxuICAgIGl0KCdzaG91bGQgcmV0dXJuIHRoZSBjb3JyZWN0IGJ1aWxkZXIgZm9yIEVJUDcxMiBtZXNzYWdlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVA3MTIpO1xuICAgICAgYnVpbGRlci5zaG91bGQuYmUuaW5zdGFuY2VvZihFaXA3MTJNZXNzYWdlQnVpbGRlcik7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGFuIGVycm9yIGZvciB1bnN1cHBvcnRlZCBtZXNzYWdlIHR5cGVzJywgKCkgPT4ge1xuICAgICAgY29uc3QgZmFjdG9yeSA9IG5ldyBNZXNzYWdlQnVpbGRlckZhY3RvcnkoY29pbkNvbmZpZyk7XG5cbiAgICAgIC8vIFRlc3Qgd2l0aCBhbiBpbnZhbGlkL3Vuc3VwcG9ydGVkIG1lc3NhZ2UgdHlwZVxuICAgICAgY29uc3QgdW5zdXBwb3J0ZWRUeXBlID0gJ1VOU1VQUE9SVEVEX1RZUEUnIGFzIE1lc3NhZ2VTdGFuZGFyZFR5cGU7XG5cbiAgICAgICgoKSA9PiBmYWN0b3J5LmdldE1lc3NhZ2VCdWlsZGVyKHVuc3VwcG9ydGVkVHlwZSkpLnNob3VsZC50aHJvdygvSW52YWxpZCBtZXNzYWdlIHN0YW5kYXJkLyk7XG4gICAgfSk7XG5cbiAgICBpdCgnc2hvdWxkIHRocm93IGZvciB1bmtub3duIG1lc3NhZ2Ugc3RhbmRhcmQnLCAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgKCgpID0+IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOKSkuc2hvdWxkLnRocm93KFxuICAgICAgICBgSW52YWxpZCBtZXNzYWdlIHN0YW5kYXJkICR7TWVzc2FnZVN0YW5kYXJkVHlwZS5VTktOT1dOfWBcbiAgICAgICk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdJbnRlZ3JhdGlvbiB3aXRoIGJ1aWxkZXInLCAoKSA9PiB7XG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBidWlsZGVyIHRoYXQgY2FuIGJ1aWxkIGEgdmFsaWQgRUlQMTkxIG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVAxOTEpO1xuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKGVpcDE5MUZpeHR1cmVzLnRlc3RzLnZhbGlkTWVzc2FnZS5pbnB1dC5wYXlsb2FkKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDE5MSk7XG4gICAgICBtZXNzYWdlLmdldFBheWxvYWQoKS5zaG91bGQuZXF1YWwoZWlwMTkxRml4dHVyZXMudGVzdHMudmFsaWRNZXNzYWdlLmlucHV0LnBheWxvYWQpO1xuICAgIH0pO1xuXG4gICAgaXQoJ3Nob3VsZCBjcmVhdGUgYSBidWlsZGVyIHRoYXQgY2FuIGJ1aWxkIGEgdmFsaWQgRUlQNzEyIG1lc3NhZ2UnLCBhc3luYyAoKSA9PiB7XG4gICAgICBjb25zdCBmYWN0b3J5ID0gbmV3IE1lc3NhZ2VCdWlsZGVyRmFjdG9yeShjb2luQ29uZmlnKTtcblxuICAgICAgY29uc3QgYnVpbGRlciA9IGZhY3RvcnkuZ2V0TWVzc2FnZUJ1aWxkZXIoTWVzc2FnZVN0YW5kYXJkVHlwZS5FSVA3MTIpO1xuICAgICAgYnVpbGRlci5zZXRQYXlsb2FkKGVpcDcxMkZpeHR1cmVzLnRlc3RzLnNpbXBsZS5pbnB1dC5wYXlsb2FkKTtcblxuICAgICAgY29uc3QgbWVzc2FnZSA9IGF3YWl0IGJ1aWxkZXIuYnVpbGQoKTtcbiAgICAgIG1lc3NhZ2UuZ2V0VHlwZSgpLnNob3VsZC5lcXVhbChNZXNzYWdlU3RhbmRhcmRUeXBlLkVJUDcxMik7XG4gICAgICBtZXNzYWdlLmdldFBheWxvYWQoKS5zaG91bGQuZXF1YWwoZWlwNzEyRml4dHVyZXMudGVzdHMuc2ltcGxlLmlucHV0LnBheWxvYWQpO1xuICAgIH0pO1xuICB9KTtcbn0pO1xuIl19

Выполнить команду


Для локальной разработки. Не используйте в интернете!