forked from wallet42/node-forknote-util
-
Notifications
You must be signed in to change notification settings - Fork 83
Expand file tree
/
Copy pathtest.js
More file actions
149 lines (139 loc) · 22.4 KB
/
test.js
File metadata and controls
149 lines (139 loc) · 22.4 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
"use strict";
const assert = require("node:assert/strict");
const test = require("node:test");
const blocktemplate = require("../build/Release/blocktemplate");
const blocktemplateJs = require("../index.js");
const cases = [
{
name: "arq",
variant: 16,
blob: "1010c59099c206028309f83a444da29afb16cc97126b0d82a0ef9dacdc5f5384e4d14f2bed221f00000000030005bbd769abd769abd769abd769abd769abd76901ff99d7690580c8afa02502c7a7d056ac171af27f081eb7113ee31eb6eac4c523960f31bc54ae4150fd087a80c8afa025022a74a3c4c36d32e95633d44ba9a7b8188297b2ac91afecab826b86fabaa7091680bcc1960b02a42e0bf2c44c7c5f43798f4be091a04d36e21b7a2f85008ff939dc028c1d14e980bcc1960b02c8b180ae1eef14bb14953eb6b0f8d66111c80067dfe9e689fdf72cf1b0d9d58580bcc1960b027d3ab388e3e7844bc42562edf05fb34d4b30b281b1307c75d7d3acfc90ed69b57601a15624111f421a5b16fd3350b5b234d288aa9e369a090fcdaeab7079361a74600211000000228f09650000000000000000000001cb6e8a28b50d5427f24dd6ede582e5eb895d739ad2cfe7eb7df31d7dcf1531c47200000000000000000000000000000000000000000000000000000000000000000000",
expected: "1010c59099c206028309f83a444da29afb16cc97126b0d82a0ef9dacdc5f5384e4d14f2bed221f000000006ebc660a5f50595d256087798e91ff9184878de2db66d791108ec4149dcd01fc01"
},
{
name: "bloc",
variant: 1,
blob: "0500ecb2ecb40646f61cfb8f3eb6f3527297eadd29125668008dc74c1ebb177cfb7d5c7c498dcd000000000199b25c01ffe7b15c043c02e42fc85c385aa98b9e83a75481a3fcd2ad049d59f3535c2775a15fae521aa37fc8010259fe9bb8bddfabed25331c90c1b478edb76fd9a94ced48c7b220498936f63268a01f02cbb7bf2ea054b438040c70bf8ba6c530b9890c0c8ca7019fef1c49d010321f61a08d060214c04c168d52662ac27d43c08c4941c4d7db9955bff0ec7e7ce1f0cd5f3bc68034014574cd7358bdee9f682543d2fa0cc23b207bf676688f40fd425d4f0477110cab02110000000000000000000000000000000000010df5931907c66fac569c743451aad0936db4d70f4d0fbcec44c504a2e02bd260",
expected: "0500ecb2ecb40646f61cfb8f3eb6f3527297eadd29125668008dc74c1ebb177cfb7d5c7c498dcd000000004baf51b919538baa7bdbad14d2b63817df2d301f6e7ccd9cf78ff95adad647a702"
},
{
name: "ird",
variant: 2,
blob: "0500d073b1220184edacc32f2186e7d8ed46ffa5473628d9388f1624e80e9c0e9a10000085b7ecb406000000000000000000000000000000000000000000000000000000000000000000000000010000000023032100000000000000000000000000000000000000000000000000000000000000000001b5e34501ffa1e34506ee240215b84a8550c5fd6d91c6d062b03eae5b2a6a20f080730d1fc44e2a94af6e3ecde0d403028001f4b155617d81db4d827c81898d11487e9bd047365843928bd0b01d317d5280ea30028091199c6ab679ca5e92a488ebe0c74175d1492a6477e35c3f27970358c29c8cc0843d024fe9895a4b8108f2ea4db2c1efabbb91fe0f9495cbc66b3905e37a61fb1942d180dac4090255b17d1462c3be7b994d91959a24112c55910e69d88a4eab539dab297355129980c2d72f02dca4f2d185fdf90d2255aa1801d5b5003df01587f17656862ec71b68b3b95b3434015706f2bc147c91ab357c5783c355967557df13d474844f0e0a0af8a2ae93f85b0211000000000000000000000000000000000000",
expected: "010085b7ecb406d073b1220184edacc32f2186e7d8ed46ffa5473628d9388f1624e80e9c0e9a10000000007f6c5d24796ce8a92079a8e6a93c1599b53bc48fa7654765512f1dc1060dcf5d01"
},
{
name: "msr",
variant: 6,
blob: "08089eb3ecb406b35852af53db5ed822f0c51cfcfeb36a0c83fa55230a791add87087d221308c70000000001abd2c30101ffefd1c30101f7d7c0c084110220323306fc36cf0fed316f4d90f6ce0e04ec5b8e26b52886025f7a77957676cc340165706e1dd751a5bd9a72e58caf30104216b60fba751e8d681af90bc4df00cdd40211000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000",
expected: "08089eb3ecb406b35852af53db5ed822f0c51cfcfeb36a0c83fa55230a791add87087d221308c700000000ab937b64d0d1087c03155686ae5bdd27b79233f43dae45977f620b863590596c010000000000000000000000000000000000000000000000000000000000000000"
},
{
name: "ryo",
variant: 4,
blob: "0909bcb7ecb406e417dd02e55e8c3f6368749df3e761b000f87001e28ccb9c24f1d65f2cc848d70000000003e5f93701ffa9f9370181a0f693710231510ef639f6848581cc3df0ab1783f73fd401d4ab03df62dfad68f8557bad943401f3cc08c30d31a225b46514edfccc4b3c0d429cac30b23e1e4fd9e1c514f5b350021100000000000000000000000000000000000000",
expected: "0909bcb7ecb406e417dd02e55e8c3f6368749df3e761b000f87001e28ccb9c24f1d65f2cc848d7000000008c95c259fa076f11347c4129bf1020da140d44f3948410c0f3a77d1b4d18a21f01"
},
{
name: "sal",
variant: 15,
blob: "0a0ad3efb6c706668aaad0289b8bf3bf8cd109d6da4107b48f4242185fa6d50b78575c55e728b400000000043c01ffdcb91401bac68dc22104fd2c8f800bd4c33b96cde12515224a403ea052736d98cf8c5d5a5ff4a66dddc00453414c3151042efafd5871735ab1f3dcb6c380e595b2d0340136a86969f8e7a0c4bd739cd6163b38e3c76f1fb443f7a552e755b305b11c53510211000000000000000000000000000000000001ceb1c3b00800043c01ffdcb91400020200020001c0d11e47cd1d4ef51d152f6f186f76a91623b8ce922687ce8c907a5dfda26237",
expected: "0a0ad3efb6c706668aaad0289b8bf3bf8cd109d6da4107b48f4242185fa6d50b78575c55e728b4000000003dc5e186a15e0b48571088e8b3c0a04597ff88a3dc3661cae2f0a2a8a2a81d7403"
},
{
name: "sal_v11_create_token",
variant: 15,
blob: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424217171717050001ff0000000100000509000000092a011111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222233445566778899aabbccddeeff1020304050600353414c03544f4b070103544f4b0101c0843d0309546f6b656e697a65641d68747470733a2f2f6578616d706c652e696e76616c69642f746f6b656eabababababababababababababababababababababababababababababababab00",
expected: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424217171717910145209475e1f1492f07071ee36e0803a16002c8b8efa80ebdfe6a16d2456902"
},
{
name: "sal_v11_rollup",
variant: 15,
blob: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424229292929050001ff000000010000050d0000000a009191919191919191919191919191919191919191919191919191919191919191929292929292929292929292929292929292929292929292929292929292929203544f4b03544f4b009393939393939393010194949494949494949494949494949494949494949494949494949494949494949595959595959595959595959595959595959595959595959595959595959595c0c40700",
expected: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424229292929bb4e953b681069104a0ec41a4fcb0189381b8a21e23e47efeef263f8d8d9affe02"
},
{
name: "tube",
variant: 10,
blob: "0d0df9baecb4060567fc85623e264062d2d0593b8d63a956249d0b2588fd53111f446694b02110000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000282b1d00301ffc6b0d00301b798fdd01602cee1a6bd4cce3cab8daccc0cef76dea2302af21e576c00957f8f7fd4bace7d4b34018571692c36ef35b1802ccc87b968684fa2581d7f6f634312bf4d66e2347a6c49021100000000000000000000000000000000000000",
expected: "0d0d791d9b66000000000567fc85623e264062d2d0593b8d63a956249d0b2588fd53111f446694b02110beef88d4195143229591bb6efd2d40780d7da377d165a39afadead64e4add0b1010000000000000000"
},
{
name: "xeq",
variant: 5,
blob: "151593b6ecb406b4018d3e3a5d07eb8af63e106bd53c773d6a46957758d8e6aba76c8744fe2536000000000403b8a353b8a353b8a353b8a35301fffca25303d6960302cb745225654660476da30e1f2e120a45d253ec764f37b68789f43dba417c6c90ff79026de51b2d1226d359075b5d1ae4d62658976598d4b1d8ac6780b01aaa6d47156cf9c90802dffece08e302c8258e61d55e8788a10804b0ca0276c8036709dee77d1a0f22627601bcab5b456bf3c2f097ca6b719c29d51766acaec6b9694da2234a02f6f466a1130211000000000000000000000000000000000001ecbaeea4421709ed164473327633de0fb7c4180dc805afa388e7fc5c45a7a0c87299d794018183ea0fa1e697647f7bc6f92bfec1d65ac1b4795527c86483a0ed4f000000",
expected: "151593b6ecb406b4018d3e3a5d07eb8af63e106bd53c773d6a46957758d8e6aba76c8744fe253600000000775fb8dc7335f11e8c7f381effe8e94a1a7f0e5dca3b9c97b775de1ed434317101"
},
{
name: "xhv",
variant: 11,
blob: "1717c3b0ecb40661bb2e3f4c03e0feb67a7a48a1739630d157da8b945a0f7de88fd12174073293000000009085dbf70700000060e5d3180000000070aac5495c010000f056e500000000000000000000000000003108edce000000b0254fc09b060000f0f49af4d5000000406eea2ab4000000d079eb28268f000000000000000000000300000000000000ac22ea6b06000000007073910800000050393df8220000000097727e2c00000044189b66000000001efdfe115f5b28a68f373b71720171f844f348676fed7ea239522b64d215af629909b820c571c282826fe024a4a44d3b86aa8848193ca1c3240f2335d971e5f30801ffa9cb6504ae9ecd82d62807ab26cbcc59cbb14ca430ba3a5b0bae8f6fc9f626c43f8989d6922e5e41cb13e503584856e5cb650000f0fbc491809202071ee8bb35868f6fa6c981446d1965e7e2ebbbf8b484858ec5102527f48e74aca303584856e5cb6500000e94ae8f5b070ec031da424efb260e3cbb9fc95aedd4f372a9a71d7b06213b3768fa085bf8d503584856e5cb650000729ceee5040709183028fb4169646a11fa6abacdf95b266c7ed29f8950fc219f215b7ae4f1ea03584856e5cb6500009c5501d1ee9ada2dadb688034c51d7b50ade575d4240628c3ca2f1ec27560f0587411d0211000000000000000000000000000000000001efa3c7bc5a333d0e37729347a844695dafada545f7817cdefbb53ebe624191eb0000000001a08b2344a3ab1756ef88d6d0e37565f114698ac6353b88629e059c74ebdb3bc6",
expected: "1717c3b0ecb40661bb2e3f4c03e0feb67a7a48a1739630d157da8b945a0f7de88fd12174073293000000009085dbf70700000060e5d3180000000070aac5495c010000f056e500000000000000000000000000003108edce000000b0254fc09b060000f0f49af4d5000000406eea2ab4000000d079eb28268f000000000000000000000300000000000000ac22ea6b06000000007073910800000050393df8220000000097727e2c00000044189b66000000001efdfe115f5b28a68f373b71720171f844f348676fed7ea239522b64d215af629909b820c571c282826fe024a4a44d3b86aa8848193ca1c3240f2335d971e5f3961bdcdf2cada4fd0f498612e2680fedb0dbe06788ed69e60cfb465366f33f6402"
},
{
name: "xla",
variant: 14,
blob: "1010b9b7ecb4060404b45248c01f9a65d5b2e5ec3fd875de7e8bff8eb79453fd87c0d39e04546b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002b6ea3f01fffae93f01dcc50a0308686987f2c9643b5c20a29f1d124b4330b5e7c94f242f4be451303a82a2c635123401c2ea0da83a76b72a1e4b581143febf8f08155eeb3482955e2b4d0c43507ebba4021100000000000000000000000000000000000000",
expected: "1010b9b7ecb4060404b45248c01f9a65d5b2e5ec3fd875de7e8bff8eb79453fd87c0d39e04546b00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000004fed0302f50f72bf1ac330a367b4ea32a24fb5de5b91a927392eaa318b342cca01"
},
{
name: "xmr",
variant: 0,
blob: "1010f4b3ecb406a7e85c45ba044af4a16e0e790032f31727e3daef1a7da5ab12c9894c191713e30000000002a18ec30101ffe58dc30101c084aa98d21103d71cd8a7478f0c74e191f3dac85b4c396ec76a07311a94db04721676634ab49b1e34014f9b1e0434876de264409d8f024f5f61fdcb9297ef671518310e7add0e69bc270211000000000000000000000000000000000000238dc39cf2f9eef8084b911d6086075ea57b58793ec2a0a8683f5d890a5be1c92583892a3f5127cb3469da37719047fbdd5bc32034c996a9e3919485d36ac5f609c646379ca888796d7485d403f45ab2230b66920c8f0b1e160d4b6529f531ca95bc04dfc96e7643a9f86526ba4e899fa52d2279abf2cf8b60e4be19f9f9b293211f508353cb5496f04b7e9824395828385e7724a2e2fa42097962028fd7c5083fa3e827d9f46dbf3741181d4f4897aea254bbc2081a3455603c81bfd75961541cb3f1ad55fa277111b5e4b3b7ce10c1bbdca7e158d36deac6c09ef9827edea7d6dce44f1145831d29d7ac59e497050af0a19de855302ff70079e60761d6bae70dc45a766e7088e764e6950e5a9704e03e5a455b23a572af2950c613d6d109b2007a7c943e4b0c2513ced71179b0dd0388fa0c397b83d4ebeb616cbe89c6c2d12972bdbbe845f78189fd3b0494bcac392b8ec9a6c2d49d88c391c54fd2bf0ba45aded1dbff66fe6311c293b6ae1f47127ad936890cfc2379427be0360b68007ae3dd56083a4eb90d736370b23471dd5d2b7ee2107bd44016e20b9a948e745b2de2cbcd7780e981b0eeb646175137e8b42a9b9724263d9a84d9ba892caa209c73ca03ab832e504d309a6714e8554b13b3c05f306f0e46c06c801978e7f69727b8333709fe7c836286cefd36ef22a4681653d04a96ce91d5f97aee107f93cd5f57c3f5f553e435a910c60f426b3f3658754e72a55ea8b40eda985147558159296bfa23ab9cbbd2e8316a00b87ea81195d8b4a3d4ec2889a788af0d4ce53b4e261a1087eae0f54cc92132f87a5aadadd3ea70228df71a615b85a1d96bc031d08e6fafb41117b055c9db533d27fcacc14a251369654c377d451e2eeb7aa7d26ff12542c5b7194d2b783b493435c0bee44b9ee315aa373dd79ed7abebe2095e547867f0db8cda9a8544f306a74e96a7023e637642f63bc5fa27dcfae1a59655b7170fee88c7362f676b6b4e5aee6c94cdfda39075138bf4fb0da0f7490ea33d85d8d72a23695f30f14f65edd4715aacc897d6be2df0e6566c3d484945f2b4ac5e6dab45306d2e8704ba8590388d7d41620ed4171701c5d8eab8b0e1192075606b70dc00014089e31fee4ae2aaa3dc49c9018ec93497818eb1348bedf3b2d0af7ccc4bb5bb151a7e9b1759d46db0e3b4acb08f639ae61a43aff57f1f9f8baff9205d4350733a8bd2f99acb417ef81fd5affb56cf85019fc23bcc03359b0d57c62a94efae9028a7353f11edc5f304fd59cc24ecfcd40db5e5354ebb288d64934c4bf3e56a37c612043d49335e52a1788998cbf3a1cc09bc78c9ffbac1346a4fad340727ee9aa20c00ebf5131556fbdbf842469d31c8121feae78c3a56ba1eae5bde78c18371108601e8ae7f5698d0918be8e52afc500fa67c35b46e8011b686e9a5e20008b7dfd3eb85011f54a70832823611dc06373d1b98052a503313a6e4d0eab3ad97f04dac2305cbb4fa094c6634270289593f90ffcd460529d0835bdfe780074488d531ebb06558ba4b28ece031cfd981062beec659c6a50addfefaf2e4e1e11f95",
expected: "1010f4b3ecb406a7e85c45ba044af4a16e0e790032f31727e3daef1a7da5ab12c9894c191713e300000000980c1b19961064ad5ceba387074e29030eac8378bcb38f5a50189f8892c4578324"
},
{
name: "xmv",
variant: 8,
blob: "0d0d9ab8ecb406317c2fb5d01d1baccedab49650312ee4c5390f0f569a77f6703f9c617e9de92f000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002d5ef8e0101ff99ef8e0101bea394bad10802a50df09ab1bbdb1e9be7e626b9746266c0a8193f649db53affe59ff69ff268843401ed630c83e0a68cc91762ba50312078e4299aff7eb9aa011c751c760c4ee15f2c021100000000000000000000000000000000000000",
expected: "0d0d1a1c9b6600000000317c2fb5d01d1baccedab49650312ee4c5390f0f569a77f6703f9c617e9de92fe8e1af3e87d14e8aa51dd2cc397f8d455ac486ec069fb832b45fe7123dca5d42010000000000000000"
},
{
name: "xtnc",
variant: 9,
blob: "0c0cabb9ecb406eef6a95a820ac36c32f1903e87623cae5483806e8cfa5b3dd30847c6c8b1c0760000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000302b3e049b3e04900b3e04901ff95e04902a2a794f82e0213b0b305b676cf7df3dd4acec81b8a76cb11fa4afc2ddde258e8d18f8fe2f91aa4d6dd93340231b43a96d2a95423341311b94d1bf0e0a800900ed52969058cd18090d142d4437601122ea38d8e53fe2fd288c0e3f47842fd27b99229422b703dd7f2c0c4c15dec8c02110000000000000000000000000000000000018e08c827ececc945a2111283aed96225a00c67b8e549c22a557f15548bdb552b72c80438e83eb7bc50eda08e45a86c0f763d7120eb61185f2763377d24e0b4eaa90000",
expected: "0c0cab1c9b6600000000eef6a95a820ac36c32f1903e87623cae5483806e8cfa5b3dd30847c6c8b1c076df4dfa482c794850801d547e98d954b0eae288c2cd74d7378de62fa44f83d2e301"
},
{
name: "zeph",
variant: 13,
blob: "050592b8ecb406407f1bf945d1f437a1705b323f46a86e18d0882a516f7b0582a4b208bf577e710000000090cbdb40c1020000903f4ebcb9020000f0d8bbdd4c00000070b623b84d0000006045baf33701000070a2fd163701000040521b4fda05000010758b35c8050000131c9b66000000005f9669b40d9a190f51d226502bad1bbc8fea45e18f4c87dee8cd273efbfd69e27219defe1a6480b68f1a5205e72d63246d5565a2f19bbfc9816005bc8ebb89f703c99d1201ff8d9d1202b5c3c8a38099020208f52c744b1455ec58ab17ea0202a64b605ed1c6cffc88fd41eb3cc76b7d2abd045a455048cdfbfba6f1dd120235aebd0d4d356555503a5460b569a4e0e8b7ded8757b85531ed5b02fa2d998ba045a455048ce55014b0868384957bedcd9b70d6c141f3f811a41bcee8f44813f92fcc6cb428e037c021100000000000000000000000000000000000129cb6a3ab186d3fbccedb4fcc119931ab8e9aee73f4aea4e77778a0ba987a99e0000000000",
expected: "050592b8ecb406407f1bf945d1f437a1705b323f46a86e18d0882a516f7b0582a4b208bf577e710000000090cbdb40c1020000903f4ebcb9020000f0d8bbdd4c00000070b623b84d0000006045baf33701000070a2fd163701000040521b4fda05000010758b35c8050000131c9b66000000005f9669b40d9a190f51d226502bad1bbc8fea45e18f4c87dee8cd273efbfd69e27219defe1a6480b68f1a5205e72d63246d5565a2f19bbfc9816005bc8ebb89f7220309a73319964e8560ce2be3f523d1cd4f36d366a503acb1d44dadeb9e8c8101"
}
];
for (const testCase of cases) {
test(`convert_blob ${testCase.name}`, () => {
const actual = blocktemplate
.convert_blob(Buffer.from(testCase.blob, "hex"), testCase.variant)
.toString("hex");
assert.strictEqual(actual, testCase.expected);
});
}
const salV11BlockIdCases = [
{
name: "sal_v11_create_token",
blob: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424217171717050001ff0000000100000509000000092a011111111111111111111111111111111111111111111111111111111111111111222222222222222222222222222222222222222222222222222222222222222233445566778899aabbccddeeff1020304050600353414c03544f4b070103544f4b0101c0843d0309546f6b656e697a65641d68747470733a2f2f6578616d706c652e696e76616c69642f746f6b656eabababababababababababababababababababababababababababababababab00",
expected: "63266330e9fe8498f76b69350ff471fcfbdf1bf241698ea8a44f84cf95c7e95a"
},
{
name: "sal_v11_rollup",
blob: "0202959aef3a424242424242424242424242424242424242424242424242424242424242424229292929050001ff000000010000050d0000000a009191919191919191919191919191919191919191919191919191919191919191929292929292929292929292929292929292929292929292929292929292929203544f4b03544f4b009393939393939393010194949494949494949494949494949494949494949494949494949494949494949595959595959595959595959595959595959595959595959595959595959595c0c40700",
expected: "2463cda5fa5f316894e29aa0f28352c64a92d0c22dae78599247369ca8fe288b"
}
];
for (const testCase of salV11BlockIdCases) {
test(`get_block_id ${testCase.name}`, () => {
const actual = blocktemplate
.get_block_id(Buffer.from(testCase.blob, "hex"), 15)
.toString("hex");
assert.strictEqual(actual, testCase.expected);
});
}
test("convertRtmBlob handles RTM coinbase payload", () => {
const blob = "000000205e54ede158d2cd4cd4dddb7f1e74316f52ce631a6d2f738c44da85cb0d13c2090000000000000000000000000000000000000000000000000000000000000000c5d2d56946a8041d000000000403000500010000000000000000000000000000000000000000000000000000000000000000ffffffff29032f191404c6d2d569110000001fabb38103cccccccccccccccccc0d2f6e6f64655374726174756d2f0000000003d8a14f9b150000001976a91463c99e48bd65b7ccbf9cef94bcced811a957778d88ac76e8d366050000001976a914cc36a8de36f6ff61dbfb798982e8b47354ad4e0e88acea9e6a06510000001976a914cf9e499affe93cb6ee344dd77c59e86ffb44814288ac000000004602002f191400ea558e624b4384efcb2621f0ed60a843a83929662c05af4602715b9475f3babcc6f0dea7b1209096e0958bc324f7f21ded775357853361d6be8b9ab0ca7ac9e90200000005adb00b1fb6a2a98396aa8cd62746a326f2cf81ad02e0061ed413c849a11d4f3d020000006a47304402203dbe7f5404e2b01e11d0219ca5833322eafbf6507345c75144e7e4fd776ccbaf022048ddcfdc26e5fdf8c2a1126887e5b42a9ff3e0672e826fd65ed941ab8e3b71a10121036c910a4671c2ab1c70863f22b573021e7f250304afbac1e8680d20616689b0f0feffffffb6785ef17e2da0df4fb442e037659d56d1f1fdabb2c0163bda09793b60bf623f020000006a4730440220193489a943c0e0379d9ed1c4aa10343b39c8637534d6ae85bbba5a2385f7a489022029b7306d1040f716090bff92f32b295a43003849842945a0b977a7c745d1395d0121036c910a4671c2ab1c70863f22b573021e7f250304afbac1e8680d20616689b0f0feffffff5e56a6824ff73497b7ea82d6a660817f8542942bbe8a7b0e73addd0e82c971b5020000006a47304402204065e73c908bdb43b850b67bd576b10236676bd1bd963384aaadf2b24f5961bc022005b5180adc5d3a320192d04c54e0062ae82ddd076f19489f00e2f41f13ca61350121036c910a4671c2ab1c70863f22b573021e7f250304afbac1e8680d20616689b0f0feffffffd0894a44e788c1151a259c9c21bed91d5e24d18ece2bf464823c534e2c74bcbb020000006a473044022069eb16418ef4950a42c779aa3af60bbf0ee77eff50c0862441c24c9c7bd5ad90022008624f02d94ac7d6fed4166b4c1645cb75b53f97f7df9f7a6f4a8c45aa171b440121036c910a4671c2ab1c70863f22b573021e7f250304afbac1e8680d20616689b0f0feffffffbe5a61ffa9fd588609bed0a0760ce1f07c8901b507a6e5297a0479b6651368c7020000006a47304402205021e25cac874ed6a7a6270348bf758e752e2e6484e6c6b7f72e7c02b31cae5a02200ebcc8c23575b6d02706c9b2c18d026f9c8d7bf8fcc5031de5c4249492c191960121036c910a4671c2ab1c70863f22b573021e7f250304afbac1e8680d20616689b0f0feffffff0219054c00000000001976a9145afb49fe4f0ae10d76ea67f5a54f340d5cde6f8988ac59f0c81f950100001976a9140ad191f6945efae4c376e25992b406913de9c67e88ac2d19140002000000027ba39664e381f9c7edd3b1684f691011b6653d284387c36ea65a168a42146b55000000006a4730440220715a184ec2a48ec4037dea4f000957d9f26e18820795c61027ec5a58b069035502207b918386846ad19dd5e44c42774e600b8b5ba27ae4689eb00cabeffbee72efae012103a9749d3fd79af7341f122e5eacdbd16222187aad0a88069e8775500109c0a886feffffff664f7f6e3cce9dc412179b1efeb9a5b59376e972ef39a93d7886cd1dc045acec0a0000006a473044022040dfaf4ecf0a894624425ba67663579fb631b21d663747e353c4acf2fdd7db3a022020f073b96181d38d86b43a5ab1538651d83c727a64a145a1a7511f77165d0e670121037d4f5bd98cda2779d1761183e53856341d11f3750dce439e77bbc027552931e3feffffff0d704e546a000000001976a914aee9ec8003c817dd49ec37942834af1daa7de66d88ac101238d2000000001976a914a700ce387da9e2355f0ce93def61a8196336700888aca048a7e7000000001976a914f75e45feebd9159cd2c6ebcc1913b602a4a6f74f88ac404c4c35010000001976a91416f3a3e1b5ccd013e752e5c43f3178068da6f88a88acd58e3bf5010000001976a91427397f3f7248d901bf2c2280dca044f97ed5e8d088ace0db6b49020000001976a914ab913b41894d6f67a06cbc114a469236180d4da888ace0651a32040000001976a91421454b0c23d041c8f1fa4f8c27958424b0c2948088ace0c0518b040000001976a9143e3ab78411e54f976f317e00f2e373d413e1090288aca05b3af2040000001976a91448361ca62b2756b4fa38b4d71e08e216785b5dc588aca084f81c070000001976a914e546b5f4c61c111ea2634faf389a278a4351fd7388ac30b338ac0a0000001976a91491cf402b8b9c7e75ecb78fda624ad1c44d30c01188ac608bf4c70c0000001976a91489e226c21b1397b9337f6baf389c2f8b0c19d04588acb05552f8270000001976a914a4310a3bbd82a15fda615bf73d5c422b9945d4d988ac2d19140002000000023605b314584781869ae2a96edd49f93892b8aa4cf74f69f74ebefed85ba84a71000000006b483045022100c6c19169e3a62561d275d95c3543541e2426d24760027a95042537270207693d02206ee697bc62edcfd6ef60a13b0b7ba8c2d48af0938e42d7c87cf39b7529e7c659012103879c1a9bb610d7d9d3c37dc6e9532f630e8ea38dbf29c7bbcd77ce72c56cecbcfeffffff3605b314584781869ae2a96edd49f93892b8aa4cf74f69f74ebefed85ba84a71010000006b483045022100b4f8411e3ca96eed3cab83b94cc02918cf4a80ec89454f7c8a5c7435e89d6a41022067e8dd63ac026a728a3c4063a7343d366c85a00815562f941127c057b32066f60121037c9540e6aac773318aa8660937839386ec5f323ba4978b56cb239841275e1874feffffff02babc1000000000001976a91452718864f0c5f09299ded73577e54e53d7b51a4488acba48b549ae1700001976a9146667df0538a0f254ed0e12a2962a04548e5a95cc88ac2d191400";
const actual = blocktemplateJs.convertRtmBlob(Buffer.from(blob, "hex")).toString("hex");
assert.strictEqual(
actual,
"000000205e54ede158d2cd4cd4dddb7f1e74316f52ce631a6d2f738c44da85cb0d13c209179bf7e1e32068f0c4058d7fa31dcb51448baead21123aa600656e3c802c76cfc5d2d56946a8041d00000000"
);
});