From 47f9c0d0727e158ebe622283f9175cf29bb1660a Mon Sep 17 00:00:00 2001 From: Fernando Piancastelli Date: Wed, 6 Oct 2021 17:34:00 -0300 Subject: [PATCH 01/10] submysterygift --- lib/message/parser/twitch-message.spec.ts | 12 +++++++++ lib/message/twitch-types/usernotice.spec.ts | 28 +++++++++++++++++++++ lib/message/twitch-types/usernotice.ts | 17 +++++++++++++ 3 files changed, 57 insertions(+) diff --git a/lib/message/parser/twitch-message.spec.ts b/lib/message/parser/twitch-message.spec.ts index 56d132f61..bff132fda 100644 --- a/lib/message/parser/twitch-message.spec.ts +++ b/lib/message/parser/twitch-message.spec.ts @@ -72,6 +72,17 @@ describe("./message/parser/twitch-message", function () { "turbo=0;user-id=269899575;user-type= :tmi.twitch.tv USERNOTICE #clippyassistant", instanceOf: UsernoticeMessage, }, + { + irc: "@badge-info=subscriber/12;badges=subscriber/12,premium/1;color=;display-name=yurixxxxx14;" + + "emotes=;flags=;id=99b77ba7-c77f-4d92-ac3a-ad556e921672;login=yurixxxxx14;mod=0;msg-id=submysterygift;" + + "msg-param-mass-gift-count=1;msg-param-origin-id=4e\\\\sd1\\\\s19\\\\sc5\\\\s33\\\\s80\\\\s68\\\\" + + "s8c\\\\sdc\\\\sc9\\\\s4d\\\\s96\\\\s73\\\\sd0\\\\sad\\\\s40\\\\s52\\\\sf3\\\\s19\\\\s02;" + + "msg-param-sender-count=1;msg-param-sub-plan=1000;room-id=38884180;subscriber=1;" + + "system-msg=yurixxxxx14\\\\sis\\\\sgifting\\\\s1\\\\sTier\\\\s1\\\\sSubs\\\\sto\\\\susertag's\\\\scommunity!" + + "\\\\sThey've\\\\sgifted\\\\sa\\\\stotal\\\\sof\\\\s1\\\\sin\\\\sthe\\\\schannel!;tmi-sent-ts=1633549401426;" + + "user-id=238886165;user-type= :tmi.twitch.tv USERNOTICE #usertag", + instanceof: UsernoticeMessage, + }, { irc: "@badge-info=;badges=;color=;display-name=receivertest3;emote-sets=0;mod=0;" + @@ -116,6 +127,7 @@ describe("./message/parser/twitch-message", function () { for (const { irc, instanceOf } of testCases) { const ircMessage = parseIRCMessage(irc); const command = ircMessage.ircCommand; + if (!instanceOf) continue; it(`should map ${command} to ${instanceOf.name}`, function () { const twitchMessage = parseTwitchMessage(irc); diff --git a/lib/message/twitch-types/usernotice.spec.ts b/lib/message/twitch-types/usernotice.spec.ts index 997ba0ef7..8e2a3a076 100644 --- a/lib/message/twitch-types/usernotice.spec.ts +++ b/lib/message/twitch-types/usernotice.spec.ts @@ -131,6 +131,7 @@ describe("./message/twitch-types/usernotice", function () { shouldShareStreakRaw: "0", subPlanName: "Channel Subscription (faker)", subPlan: "1000", + subPlanRaw: "1000" }); assert.isTrue(msg.isResub()); @@ -196,6 +197,7 @@ describe("./message/twitch-types/usernotice", function () { months: 2, monthsRaw: "2", originID: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", + originIDRaw: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", recipientDisplayName: "qatarking24xd", recipientID: "236653628", recipientUsername: "qatarking24xd", @@ -203,6 +205,32 @@ describe("./message/twitch-types/usernotice", function () { senderCountRaw: "0", subPlanName: "Channel Subscription (xqcow)", subPlan: "1000", + subPlanRaw: "1000" + }); + }); + + it("should be able to parse a masssubgift with message", function () { + const msg = parseTwitchMessage( + "@badge-info=subscriber/12;badges=subscriber/12,premium/1;color=;display-name=realuser;emotes=;flags=;id=99b77ba7-c77f-4d92-ac3a-ad556e921672;login=realuser;mod=0;msg-id=submysterygift;msg-param-mass-gift-count=1;msg-param-origin-id=4e\\sd1\\s19\\sc5\\s33\\s80\\s68\\s8c\\sdc\\sc9\\s4d\\s96\\s73\\sd0\\sad\\s40\\s52\\sf3\\s19\\s02;msg-param-sender-count=1;msg-param-sub-plan=1000;room-id=38244999;subscriber=1;system-msg=realuser\\sis\\sgifting\\s1\\sTier\\s1\\sSubs\\sto\\sbroadcaster's\\scommunity!\\sThey've\\sgifted\\sa\\stotal\\sof\\s1\\sin\\sthe\\schannel!;tmi-sent-ts=1633549401426;user-id=239909999;user-type= :tmi.twitch.tv USERNOTICE #broadcaster" + ) as UsernoticeMessage; + + assert.strictEqual(msg.ircCommand, "USERNOTICE"); + assert.strictEqual(msg.ircParameters[0], "#broadcaster"); + assert.strictEqual(msg.ircTags["msg-param-mass-gift-count"], "1"); + assert.strictEqual(msg.systemMessage, "realuser is gifting 1 Tier 1 Subs to broadcaster's community! They've gifted a total of 1 in the channel!"); + assert.strictEqual(msg.messageTypeID, "submysterygift"); + + assert.isTrue(msg.isMassSubgift()); + + assert.deepStrictEqual(msg.eventParams, { + massGiftCount: 1, + massGiftCountRaw: "1", + originID: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", + originIDRaw: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", + senderCount: 1, + senderCountRaw: "1", + subPlan: "1000", + subPlanRaw: "1000" }); }); }); diff --git a/lib/message/twitch-types/usernotice.ts b/lib/message/twitch-types/usernotice.ts index cc820eb1c..aeb326979 100644 --- a/lib/message/twitch-types/usernotice.ts +++ b/lib/message/twitch-types/usernotice.ts @@ -24,6 +24,9 @@ const convertersMap: Record any> = { "msg-param-streak-months": convertToInt, "msg-param-viewerCount": convertToInt, "msg-param-threshold": convertToInt, + "msg-param-mass-gift-count": convertToInt, + "msg-param-origin-id": convertToString, + "msg-param-sub-plan": convertToString, }; export function getCamelCasedName(tagKey: string): string { @@ -123,6 +126,12 @@ export interface SubgiftParameters extends EventParams { } export type AnonSubgiftParameters = SubgiftParameters; +// massgift +export interface MassSubgiftParameters extends EventParams { + massGiftCount: number; + subPlan: string; +} + // anongiftpaidupgrade export type AnonGiftPaidUpgradeParameters = EventParams & { promoGiftTotal?: number; @@ -171,6 +180,10 @@ export type SubgiftUsernoticeMessage = SpecificUsernoticeMessage< "subgift", SubgiftParameters >; +export type MassSubgiftUsernoticeMessage = SpecificUsernoticeMessage< + "submysterygift", + MassSubgiftParameters + >; export type AnonSubgiftUsernoticeMessage = SpecificUsernoticeMessage< "anonsubgift", AnonSubgiftParameters @@ -332,6 +345,10 @@ export class UsernoticeMessage extends ChannelIRCMessage { return this.messageTypeID === "subgift"; } + public isMassSubgift(): this is MassSubgiftParameters { + return this.messageTypeID === "submysterygift"; + } + public isAnonSubgift(): this is AnonSubgiftUsernoticeMessage { return this.messageTypeID === "anonsubgift"; } From fb1d1269da840bb11c3a16497aeaf4852fac8a80 Mon Sep 17 00:00:00 2001 From: Fernando Piancastelli Date: Wed, 6 Oct 2021 17:52:13 -0300 Subject: [PATCH 02/10] changelog updated --- CHANGELOG.md | 6 ++++-- package.json | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index d6eb7bfea..b37ef28f4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,12 +1,14 @@ # Changelog -## Unversioned +## v4.3.1 -- Bugfix: `ChatClient#connect()` method now properly resolves if `connect()` is called on a client that is already `ready`. (#218) +- Minor: support for `messageTypeID:submysterygift` in `UserNoticeMessage`. + - Added `isMassSubgift()` to `UserNoticeMessage` ## v4.3.0 - Minor: Added `ban` method to `ChatClient` API (#186). +- Bugfix: `ChatClient#connect()` method now properly resolves if `connect()` is called on a client that is already `ready`. (#218) ## v4.2.0 diff --git a/package.json b/package.json index dbd0d6462..38d2fd89f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dank-twitch-irc", - "version": "4.3.0", + "version": "4.3.1", "description": "Twitch IRC library for Node.js", "main": "dist/index.js", "types": "dist/index.d.ts", From d9f51118fdf44fe33d46b472bfdcce393f73ce6d Mon Sep 17 00:00:00 2001 From: Ruben Anders Date: Tue, 16 Nov 2021 23:12:16 +0100 Subject: [PATCH 03/10] Update CHANGELOG.md --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b37ef28f4..29c127ff4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,9 +1,9 @@ # Changelog -## v4.3.1 +## Unversioned - Minor: support for `messageTypeID:submysterygift` in `UserNoticeMessage`. - - Added `isMassSubgift()` to `UserNoticeMessage` +- Added `isMassSubgift()` to `UserNoticeMessage` ## v4.3.0 From d55256983892d6513cb462ed6e0fa7b23fc647ea Mon Sep 17 00:00:00 2001 From: Ruben Anders Date: Tue, 16 Nov 2021 23:15:17 +0100 Subject: [PATCH 04/10] Update twitch-message.spec.ts --- lib/message/parser/twitch-message.spec.ts | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/message/parser/twitch-message.spec.ts b/lib/message/parser/twitch-message.spec.ts index bff132fda..7b8392cda 100644 --- a/lib/message/parser/twitch-message.spec.ts +++ b/lib/message/parser/twitch-message.spec.ts @@ -127,7 +127,6 @@ describe("./message/parser/twitch-message", function () { for (const { irc, instanceOf } of testCases) { const ircMessage = parseIRCMessage(irc); const command = ircMessage.ircCommand; - if (!instanceOf) continue; it(`should map ${command} to ${instanceOf.name}`, function () { const twitchMessage = parseTwitchMessage(irc); From f39f7a5feda6b845f75c55c629ca7bdee73bdb61 Mon Sep 17 00:00:00 2001 From: Ruben Anders Date: Tue, 16 Nov 2021 23:15:38 +0100 Subject: [PATCH 05/10] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 38d2fd89f..dbd0d6462 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "dank-twitch-irc", - "version": "4.3.1", + "version": "4.3.0", "description": "Twitch IRC library for Node.js", "main": "dist/index.js", "types": "dist/index.d.ts", From 92f05241eb698fa94c5f7ec27ab542b0609d1263 Mon Sep 17 00:00:00 2001 From: Ruben Anders Date: Tue, 16 Nov 2021 23:18:28 +0100 Subject: [PATCH 06/10] Update CHANGELOG.md --- CHANGELOG.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 29c127ff4..9cc1ec9e3 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -2,13 +2,12 @@ ## Unversioned -- Minor: support for `messageTypeID:submysterygift` in `UserNoticeMessage`. -- Added `isMassSubgift()` to `UserNoticeMessage` +- Minor: Added support for the `submysterygift` message type ID in `UserNoticeMessage`. +- Bugfix: `ChatClient#connect()` method now properly resolves if `connect()` is called on a client that is already `ready`. (#218) ## v4.3.0 - Minor: Added `ban` method to `ChatClient` API (#186). -- Bugfix: `ChatClient#connect()` method now properly resolves if `connect()` is called on a client that is already `ready`. (#218) ## v4.2.0 From 1e4c2c2887791fc8f536d6b49eae41b03f1b6aa1 Mon Sep 17 00:00:00 2001 From: Ruben Anders Date: Tue, 16 Nov 2021 23:19:53 +0100 Subject: [PATCH 07/10] Update usernotice.spec.ts --- lib/message/twitch-types/usernotice.spec.ts | 5 ----- 1 file changed, 5 deletions(-) diff --git a/lib/message/twitch-types/usernotice.spec.ts b/lib/message/twitch-types/usernotice.spec.ts index 8e2a3a076..c215772ea 100644 --- a/lib/message/twitch-types/usernotice.spec.ts +++ b/lib/message/twitch-types/usernotice.spec.ts @@ -131,7 +131,6 @@ describe("./message/twitch-types/usernotice", function () { shouldShareStreakRaw: "0", subPlanName: "Channel Subscription (faker)", subPlan: "1000", - subPlanRaw: "1000" }); assert.isTrue(msg.isResub()); @@ -197,7 +196,6 @@ describe("./message/twitch-types/usernotice", function () { months: 2, monthsRaw: "2", originID: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", - originIDRaw: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", recipientDisplayName: "qatarking24xd", recipientID: "236653628", recipientUsername: "qatarking24xd", @@ -205,7 +203,6 @@ describe("./message/twitch-types/usernotice", function () { senderCountRaw: "0", subPlanName: "Channel Subscription (xqcow)", subPlan: "1000", - subPlanRaw: "1000" }); }); @@ -226,11 +223,9 @@ describe("./message/twitch-types/usernotice", function () { massGiftCount: 1, massGiftCountRaw: "1", originID: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", - originIDRaw: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", senderCount: 1, senderCountRaw: "1", subPlan: "1000", - subPlanRaw: "1000" }); }); }); From 2277644d391b0a714ebfbc1f1dcd92754840d256 Mon Sep 17 00:00:00 2001 From: Fernando Piancastelli Date: Thu, 18 Nov 2021 12:42:53 -0300 Subject: [PATCH 08/10] lint fixes --- lib/message/parser/twitch-message.spec.ts | 3 ++- lib/message/twitch-types/usernotice.spec.ts | 5 ++++- lib/message/twitch-types/usernotice.ts | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/lib/message/parser/twitch-message.spec.ts b/lib/message/parser/twitch-message.spec.ts index 7b8392cda..817683e5f 100644 --- a/lib/message/parser/twitch-message.spec.ts +++ b/lib/message/parser/twitch-message.spec.ts @@ -73,7 +73,8 @@ describe("./message/parser/twitch-message", function () { instanceOf: UsernoticeMessage, }, { - irc: "@badge-info=subscriber/12;badges=subscriber/12,premium/1;color=;display-name=yurixxxxx14;" + + irc: + "@badge-info=subscriber/12;badges=subscriber/12,premium/1;color=;display-name=yurixxxxx14;" + "emotes=;flags=;id=99b77ba7-c77f-4d92-ac3a-ad556e921672;login=yurixxxxx14;mod=0;msg-id=submysterygift;" + "msg-param-mass-gift-count=1;msg-param-origin-id=4e\\\\sd1\\\\s19\\\\sc5\\\\s33\\\\s80\\\\s68\\\\" + "s8c\\\\sdc\\\\sc9\\\\s4d\\\\s96\\\\s73\\\\sd0\\\\sad\\\\s40\\\\s52\\\\sf3\\\\s19\\\\s02;" + diff --git a/lib/message/twitch-types/usernotice.spec.ts b/lib/message/twitch-types/usernotice.spec.ts index c215772ea..913f0277a 100644 --- a/lib/message/twitch-types/usernotice.spec.ts +++ b/lib/message/twitch-types/usernotice.spec.ts @@ -214,7 +214,10 @@ describe("./message/twitch-types/usernotice", function () { assert.strictEqual(msg.ircCommand, "USERNOTICE"); assert.strictEqual(msg.ircParameters[0], "#broadcaster"); assert.strictEqual(msg.ircTags["msg-param-mass-gift-count"], "1"); - assert.strictEqual(msg.systemMessage, "realuser is gifting 1 Tier 1 Subs to broadcaster's community! They've gifted a total of 1 in the channel!"); + assert.strictEqual( + msg.systemMessage, + "realuser is gifting 1 Tier 1 Subs to broadcaster's community! They've gifted a total of 1 in the channel!" + ); assert.strictEqual(msg.messageTypeID, "submysterygift"); assert.isTrue(msg.isMassSubgift()); diff --git a/lib/message/twitch-types/usernotice.ts b/lib/message/twitch-types/usernotice.ts index aeb326979..8f6c3f1d4 100644 --- a/lib/message/twitch-types/usernotice.ts +++ b/lib/message/twitch-types/usernotice.ts @@ -183,7 +183,7 @@ export type SubgiftUsernoticeMessage = SpecificUsernoticeMessage< export type MassSubgiftUsernoticeMessage = SpecificUsernoticeMessage< "submysterygift", MassSubgiftParameters - >; +>; export type AnonSubgiftUsernoticeMessage = SpecificUsernoticeMessage< "anonsubgift", AnonSubgiftParameters From 382cc7c64fe7abf593997849957be16b1e29f99e Mon Sep 17 00:00:00 2001 From: Fernando Piancastelli Date: Thu, 18 Nov 2021 16:16:32 -0300 Subject: [PATCH 09/10] fixed failing test conditions --- lib/message/parser/twitch-message.spec.ts | 10 +++++----- lib/message/twitch-types/usernotice.spec.ts | 5 +++++ 2 files changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/message/parser/twitch-message.spec.ts b/lib/message/parser/twitch-message.spec.ts index 817683e5f..e11fb1a6f 100644 --- a/lib/message/parser/twitch-message.spec.ts +++ b/lib/message/parser/twitch-message.spec.ts @@ -76,13 +76,13 @@ describe("./message/parser/twitch-message", function () { irc: "@badge-info=subscriber/12;badges=subscriber/12,premium/1;color=;display-name=yurixxxxx14;" + "emotes=;flags=;id=99b77ba7-c77f-4d92-ac3a-ad556e921672;login=yurixxxxx14;mod=0;msg-id=submysterygift;" + - "msg-param-mass-gift-count=1;msg-param-origin-id=4e\\\\sd1\\\\s19\\\\sc5\\\\s33\\\\s80\\\\s68\\\\" + - "s8c\\\\sdc\\\\sc9\\\\s4d\\\\s96\\\\s73\\\\sd0\\\\sad\\\\s40\\\\s52\\\\sf3\\\\s19\\\\s02;" + + "msg-param-mass-gift-count=1;msg-param-origin-id=4e\\sd1\\s19\\sc5\\s33\\s80\\s68\\" + + "s8c\\sdc\\sc9\\s4d\\s96\\s73\\sd0\\sad\\s40\\s52\\sf3\\s19\\s02;" + "msg-param-sender-count=1;msg-param-sub-plan=1000;room-id=38884180;subscriber=1;" + - "system-msg=yurixxxxx14\\\\sis\\\\sgifting\\\\s1\\\\sTier\\\\s1\\\\sSubs\\\\sto\\\\susertag's\\\\scommunity!" + - "\\\\sThey've\\\\sgifted\\\\sa\\\\stotal\\\\sof\\\\s1\\\\sin\\\\sthe\\\\schannel!;tmi-sent-ts=1633549401426;" + + "system-msg=yurixxxxx14\\sis\\sgifting\\s1\\sTier\\s1\\sSubs\\sto\\susertag's\\scommunity!" + + "\\sThey've\\sgifted\\sa\\stotal\\sof\\s1\\sin\\sthe\\schannel!;tmi-sent-ts=1633549401426;" + "user-id=238886165;user-type= :tmi.twitch.tv USERNOTICE #usertag", - instanceof: UsernoticeMessage, + instanceOf: UsernoticeMessage, }, { irc: diff --git a/lib/message/twitch-types/usernotice.spec.ts b/lib/message/twitch-types/usernotice.spec.ts index 913f0277a..2c901d50e 100644 --- a/lib/message/twitch-types/usernotice.spec.ts +++ b/lib/message/twitch-types/usernotice.spec.ts @@ -131,6 +131,7 @@ describe("./message/twitch-types/usernotice", function () { shouldShareStreakRaw: "0", subPlanName: "Channel Subscription (faker)", subPlan: "1000", + subPlanRaw: "1000", }); assert.isTrue(msg.isResub()); @@ -196,6 +197,7 @@ describe("./message/twitch-types/usernotice", function () { months: 2, monthsRaw: "2", originID: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", + originIDRaw: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", recipientDisplayName: "qatarking24xd", recipientID: "236653628", recipientUsername: "qatarking24xd", @@ -203,6 +205,7 @@ describe("./message/twitch-types/usernotice", function () { senderCountRaw: "0", subPlanName: "Channel Subscription (xqcow)", subPlan: "1000", + subPlanRaw: "1000", }); }); @@ -226,9 +229,11 @@ describe("./message/twitch-types/usernotice", function () { massGiftCount: 1, massGiftCountRaw: "1", originID: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", + originIDRaw: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", senderCount: 1, senderCountRaw: "1", subPlan: "1000", + subPlanRaw: "1000", }); }); }); From 9e647b7bd246c89c46912088cc75c51d8af2015e Mon Sep 17 00:00:00 2001 From: Fernando Piancastelli Date: Fri, 19 Nov 2021 13:49:46 -0300 Subject: [PATCH 10/10] fix format issue --- lib/message/twitch-types/usernotice.spec.ts | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/message/twitch-types/usernotice.spec.ts b/lib/message/twitch-types/usernotice.spec.ts index 2c901d50e..d294230bc 100644 --- a/lib/message/twitch-types/usernotice.spec.ts +++ b/lib/message/twitch-types/usernotice.spec.ts @@ -197,7 +197,8 @@ describe("./message/twitch-types/usernotice", function () { months: 2, monthsRaw: "2", originID: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", - originIDRaw: "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", + originIDRaw: + "da 39 a3 ee 5e 6b 4b 0d 32 55 bf ef 95 60 18 90 af d8 07 09", recipientDisplayName: "qatarking24xd", recipientID: "236653628", recipientUsername: "qatarking24xd", @@ -229,7 +230,8 @@ describe("./message/twitch-types/usernotice", function () { massGiftCount: 1, massGiftCountRaw: "1", originID: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", - originIDRaw: "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", + originIDRaw: + "4e d1 19 c5 33 80 68 8c dc c9 4d 96 73 d0 ad 40 52 f3 19 02", senderCount: 1, senderCountRaw: "1", subPlan: "1000",