Skip to content

Commit e612b96

Browse files
authored
Merge pull request #6467 from BitGo/coin-4755-msg-signing-support-ada-sol
fix(account-lib): create Buffer from hex string
2 parents d0190a5 + 3c3c187 commit e612b96

File tree

3 files changed

+10
-6
lines changed

3 files changed

+10
-6
lines changed

modules/sdk-coin-sol/test/unit/messages/messageBuilderFactory.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,8 @@ describe('Solana MessageBuilderFactory', function () {
122122
describe('fromBroadcastString', function () {
123123
it('should parse broadcastable string and return correct builder type', async function () {
124124
const broadcastString = JSON.stringify(testBroadcastMessage);
125-
const builder = factory.fromBroadcastString(broadcastString);
125+
const broadcastHex = Buffer.from(broadcastString).toString('hex');
126+
const builder = factory.fromBroadcastString(broadcastHex);
126127

127128
assertSimpleMessageBuilder(builder);
128129
const message = await assertBuilderMessageProperties(builder, 'test message');
@@ -132,7 +133,7 @@ describe('Solana MessageBuilderFactory', function () {
132133

133134
it('should throw for invalid JSON string', function () {
134135
try {
135-
factory.fromBroadcastString('{invalid json');
136+
factory.fromBroadcastString('abcdefg'); // Invalid hex string
136137
fail('Expected error not thrown');
137138
} catch (error) {
138139
error.should.be.instanceof(SyntaxError);

modules/sdk-core/src/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ export abstract class BaseMessageBuilderFactory implements IMessageBuilderFactor
4848
* @returns A message builder instance for the parsed broadcastable message type
4949
*/
5050
fromBroadcastString(broadcastHex: string): IMessageBuilder {
51-
const broadcastStr = Buffer.from(broadcastHex).toString();
51+
const broadcastStr = Buffer.from(broadcastHex, 'hex').toString();
5252
const broadcastMessage = JSON.parse(broadcastStr) as BroadcastableMessage;
5353
return this.fromBroadcastFormat(broadcastMessage);
5454
}

modules/sdk-core/test/unit/account-lib/baseCoin/messages/baseMessageBuilderFactory.ts

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,8 @@ describe('Base Message Builder Factory', () => {
6969
};
7070

7171
const broadcastString = JSON.stringify(broadcastMessage);
72-
const builder = factory.fromBroadcastString(broadcastString);
72+
const broadcastHex = Buffer.from(broadcastString).toString('hex');
73+
const builder = factory.fromBroadcastString(broadcastHex);
7374

7475
should.exist(builder);
7576
// Since the TestMessageBuilder always returns the same type that was passed to constructor
@@ -90,7 +91,8 @@ describe('Base Message Builder Factory', () => {
9091
};
9192

9293
const broadcastString = JSON.stringify(broadcastMessage);
93-
const builder = factory.fromBroadcastString(broadcastString);
94+
const broadcastHex = Buffer.from(broadcastString).toString('hex');
95+
const builder = factory.fromBroadcastString(broadcastHex);
9496

9597
should.exist(builder);
9698
should.equal(builder.getType(), MessageStandardType.UNKNOWN);
@@ -105,7 +107,8 @@ describe('Base Message Builder Factory', () => {
105107
};
106108

107109
const broadcastString = JSON.stringify(broadcastMessage);
108-
const builder = factory.fromBroadcastString(broadcastString);
110+
const broadcastHex = Buffer.from(broadcastString).toString('hex');
111+
const builder = factory.fromBroadcastString(broadcastHex);
109112

110113
should.exist(builder);
111114
should.equal(builder.getType(), MessageStandardType.EIP191);

0 commit comments

Comments
 (0)