Skip to content

Commit adce397

Browse files
authored
Merge pull request #92 from kaleido-io/message-type
provide message type in *MessagBody utils
2 parents eeda7ba + 4b347a9 commit adce397

File tree

4 files changed

+28
-20
lines changed

4 files changed

+28
-20
lines changed

server/src/controllers/tokens.ts

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@ import { OpenAPI, ResponseSchema } from 'routing-controllers-openapi';
1414
import { plainToClassFromExist } from 'class-transformer';
1515
import { firefly } from '../clients/firefly';
1616
import {
17+
FF_MESSAGES,
1718
formatTemplate,
1819
FormDataSchema,
1920
getBroadcastMessageBody,
@@ -85,8 +86,8 @@ export class TokensController {
8586
if (body.messagingMethod) {
8687
mintBody.message =
8788
body.messagingMethod === 'broadcast'
88-
? getBroadcastMessageBody(body)
89-
: getPrivateMessageBody(body);
89+
? getBroadcastMessageBody(body, undefined, FF_MESSAGES.TRANSFER_BROADCAST)
90+
: getPrivateMessageBody(body, undefined, FF_MESSAGES.TRANSFER_PRIVATE);
9091
}
9192
const transfer = await firefly.mintTokens(mintBody);
9293
return { type: 'token_transfer', id: transfer.localId };
@@ -112,8 +113,8 @@ export class TokensController {
112113
if (body.messagingMethod) {
113114
mintBody.message =
114115
body.messagingMethod === 'broadcast'
115-
? getBroadcastMessageBody(body, data.id)
116-
: getPrivateMessageBody(body, data.id);
116+
? getBroadcastMessageBody(body, data.id, FF_MESSAGES.TRANSFER_BROADCAST)
117+
: getPrivateMessageBody(body, data.id, FF_MESSAGES.TRANSFER_PRIVATE);
117118
}
118119
const transfer = await firefly.mintTokens(mintBody);
119120
return { type: 'token_transfer', id: transfer.localId };
@@ -133,8 +134,8 @@ export class TokensController {
133134
if (body.messagingMethod) {
134135
burnBody.message =
135136
body.messagingMethod === 'broadcast'
136-
? getBroadcastMessageBody(body)
137-
: getPrivateMessageBody(body);
137+
? getBroadcastMessageBody(body, undefined, FF_MESSAGES.TRANSFER_BROADCAST)
138+
: getPrivateMessageBody(body, undefined, FF_MESSAGES.TRANSFER_PRIVATE);
138139
}
139140
const transfer = await firefly.burnTokens(burnBody);
140141
return { type: 'token_transfer', id: transfer.localId };
@@ -160,8 +161,8 @@ export class TokensController {
160161
if (body.messagingMethod) {
161162
burnBody.message =
162163
body.messagingMethod === 'broadcast'
163-
? getBroadcastMessageBody(body, data.id)
164-
: getPrivateMessageBody(body, data.id);
164+
? getBroadcastMessageBody(body, data.id, FF_MESSAGES.TRANSFER_BROADCAST)
165+
: getPrivateMessageBody(body, data.id, FF_MESSAGES.TRANSFER_PRIVATE);
165166
}
166167
const transfer = await firefly.burnTokens(burnBody);
167168
return { type: 'token_transfer', id: transfer.localId };
@@ -182,8 +183,8 @@ export class TokensController {
182183
if (body.messagingMethod) {
183184
transferBody.message =
184185
body.messagingMethod === 'broadcast'
185-
? getBroadcastMessageBody(body)
186-
: getPrivateMessageBody(body);
186+
? getBroadcastMessageBody(body, undefined, FF_MESSAGES.TRANSFER_BROADCAST)
187+
: getPrivateMessageBody(body, undefined, FF_MESSAGES.TRANSFER_PRIVATE);
187188
}
188189
const transfer = await firefly.transferTokens(transferBody);
189190
return { type: 'token_transfer', id: transfer.localId };
@@ -210,8 +211,8 @@ export class TokensController {
210211
if (body.messagingMethod) {
211212
transferBody.message =
212213
body.messagingMethod === 'broadcast'
213-
? getBroadcastMessageBody(body, data.id)
214-
: getPrivateMessageBody(body, data.id);
214+
? getBroadcastMessageBody(body, data.id, FF_MESSAGES.TRANSFER_BROADCAST)
215+
: getPrivateMessageBody(body, data.id, FF_MESSAGES.TRANSFER_PRIVATE);
215216
}
216217
const transfer = await firefly.transferTokens(transferBody);
217218
return { type: 'token_transfer', id: transfer.localId };

server/src/utils.ts

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -111,24 +111,25 @@ export function quoteAndEscape(varName: string, options?: QuoteOptions) {
111111
return result;
112112
}
113113

114-
export function getBroadcastMessageBody(body: BroadcastValue, blobId?: string) {
114+
export function getBroadcastMessageBody(body: BroadcastValue, blobId?: string, messageType?: FF_MESSAGES) {
115115
const dataBody = blobId ? { id: blobId } : getMessageBody(body);
116116
return {
117117
header: {
118118
tag: body.tag || undefined,
119119
topics: body.topic ? [body.topic] : undefined,
120+
type: messageType || undefined
120121
},
121122
data: [dataBody],
122123
};
123124
}
124125

125-
export function getPrivateMessageBody(body: PrivateValue, blobId?: string) {
126+
export function getPrivateMessageBody(body: PrivateValue, blobId?: string, messageType?: FF_MESSAGES) {
126127
const dataBody = blobId ? { id: blobId } : getMessageBody(body);
127128
return {
128129
header: {
129130
tag: body.tag || undefined,
130131
topics: body.topic ? [body.topic] : undefined,
131-
type: FF_MESSAGES.TRANSFER_PRIVATE,
132+
type: messageType || undefined
132133
},
133134
group: {
134135
members: body.recipients.map((r) => ({ identity: r })),

server/test/messages.test.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,7 @@ describe('Messages', () => {
7979

8080
expect(mockFireFly.uploadDataBlob).not.toHaveBeenCalled();
8181
expect(mockFireFly.sendPrivateMessage).toHaveBeenCalledWith({
82-
header: { tag: 'test-tag', topics: ['test-topic'], type: 'transfer_private' },
82+
header: { tag: 'test-tag', topics: ['test-topic']},
8383
group: {
8484
members: [{ identity: 'alpha' }, { identity: 'beta' }],
8585
},
@@ -109,7 +109,7 @@ describe('Messages', () => {
109109

110110
expect(mockFireFly.uploadDataBlob).toHaveBeenCalledWith(expect.any(Buffer), 'simple-file.txt');
111111
expect(mockFireFly.sendPrivateMessage).toHaveBeenCalledWith({
112-
header: { tag: 'test-tag', topics: undefined, type: 'transfer_private' },
112+
header: { tag: 'test-tag', topics: undefined },
113113
group: {
114114
members: [{ identity: 'alpha' }, { identity: 'beta' }],
115115
},

server/test/tokens.test.ts

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -119,6 +119,7 @@ describe('Tokens', () => {
119119
header: {
120120
tag: 'test',
121121
topics: ['one'],
122+
type: "transfer_broadcast"
122123
},
123124
},
124125
pool: 'my-pool',
@@ -160,6 +161,7 @@ describe('Tokens', () => {
160161
header: {
161162
tag: 'test',
162163
topics: ['one'],
164+
type: "transfer_broadcast"
163165
},
164166
},
165167
pool: 'my-pool',
@@ -281,7 +283,7 @@ describe('Tokens', () => {
281283
.expect({ type: 'token_transfer', id: 'transfer1' });
282284

283285
expect(mockFireFly.uploadDataBlob).toHaveBeenCalledWith(expect.any(Buffer), 'simple-file.txt');
284-
expect(mockFireFly.mintTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined}}, "pool": "test-pool", "tokenIndex": ""});
286+
expect(mockFireFly.mintTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined, "type": "transfer_broadcast"}}, "pool": "test-pool", "tokenIndex": ""});
285287
});
286288

287289
test('Mint tokens with private blob', async () => {
@@ -372,6 +374,7 @@ describe('Tokens', () => {
372374
header: {
373375
tag: 'test',
374376
topics: ['one'],
377+
type: "transfer_broadcast"
375378
},
376379
},
377380
pool: 'my-pool',
@@ -413,6 +416,7 @@ describe('Tokens', () => {
413416
header: {
414417
tag: 'test',
415418
topics: ['one'],
419+
type: "transfer_broadcast"
416420
},
417421
},
418422
pool: 'my-pool',
@@ -442,7 +446,7 @@ describe('Tokens', () => {
442446
.expect({ type: 'token_transfer', id: 'transfer1' });
443447

444448
expect(mockFireFly.uploadDataBlob).toHaveBeenCalledWith(expect.any(Buffer), 'simple-file.txt');
445-
expect(mockFireFly.burnTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined}}, "pool": "test-pool"});
449+
expect(mockFireFly.burnTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined, "type": "transfer_broadcast"}}, "pool": "test-pool"});
446450
});
447451

448452
test('Burn tokens with private blob', async () => {
@@ -624,6 +628,7 @@ describe('Tokens', () => {
624628
header: {
625629
tag: 'test',
626630
topics: ['one'],
631+
type: "transfer_broadcast",
627632
},
628633
},
629634
pool: 'my-pool',
@@ -667,6 +672,7 @@ describe('Tokens', () => {
667672
header: {
668673
tag: 'test',
669674
topics: ['one'],
675+
type: "transfer_broadcast",
670676
},
671677
},
672678
pool: 'my-pool',
@@ -792,7 +798,7 @@ describe('Tokens', () => {
792798
.expect({ type: 'token_transfer', id: 'transfer1' });
793799

794800
expect(mockFireFly.uploadDataBlob).toHaveBeenCalledWith(expect.any(Buffer), 'simple-file.txt');
795-
expect(mockFireFly.transferTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined}}, "pool": "test-pool", "to": "0x111", "tokenIndex": undefined});
801+
expect(mockFireFly.transferTokens).toHaveBeenCalledWith({"amount": "10000", "message": {"data": [{"id": "data1"}], "header": {"tag": undefined, "topics": undefined, "type": "transfer_broadcast"}}, "pool": "test-pool", "to": "0x111", "tokenIndex": undefined});
796802
});
797803

798804
test('Transfer tokens with private blob', async () => {

0 commit comments

Comments
 (0)