cardano-hw-interop-lib 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (66) hide show
  1. package/LICENSE +16 -0
  2. package/README.md +55 -0
  3. package/dist/src/errors/index.d.ts +3 -0
  4. package/dist/src/errors/index.d.ts.map +1 -0
  5. package/dist/src/errors/index.js +15 -0
  6. package/dist/src/errors/parseError.d.ts +58 -0
  7. package/dist/src/errors/parseError.d.ts.map +1 -0
  8. package/dist/src/errors/parseError.js +66 -0
  9. package/dist/src/errors/validationError.d.ts +24 -0
  10. package/dist/src/errors/validationError.d.ts.map +1 -0
  11. package/dist/src/errors/validationError.js +47 -0
  12. package/dist/src/index.d.ts +18 -0
  13. package/dist/src/index.d.ts.map +1 -0
  14. package/dist/src/index.js +65 -0
  15. package/dist/src/parsers.d.ts +39 -0
  16. package/dist/src/parsers.d.ts.map +1 -0
  17. package/dist/src/parsers.js +98 -0
  18. package/dist/src/txParsers.d.ts +15 -0
  19. package/dist/src/txParsers.d.ts.map +1 -0
  20. package/dist/src/txParsers.js +161 -0
  21. package/dist/src/txSerializers.d.ts +5 -0
  22. package/dist/src/txSerializers.d.ts.map +1 -0
  23. package/dist/src/txSerializers.js +97 -0
  24. package/dist/src/txTransformers.d.ts +5 -0
  25. package/dist/src/txTransformers.d.ts.map +1 -0
  26. package/dist/src/txTransformers.js +50 -0
  27. package/dist/src/txValidators.d.ts +5 -0
  28. package/dist/src/txValidators.d.ts.map +1 -0
  29. package/dist/src/txValidators.js +129 -0
  30. package/dist/src/types.d.ts +192 -0
  31. package/dist/src/types.d.ts.map +1 -0
  32. package/dist/src/types.js +45 -0
  33. package/dist/src/utils.d.ts +8 -0
  34. package/dist/src/utils.d.ts.map +1 -0
  35. package/dist/src/utils.js +36 -0
  36. package/dist/test/integration/__fixtures__/encode.d.ts +9 -0
  37. package/dist/test/integration/__fixtures__/encode.d.ts.map +1 -0
  38. package/dist/test/integration/__fixtures__/encode.js +203 -0
  39. package/dist/test/integration/__fixtures__/parse.d.ts +21 -0
  40. package/dist/test/integration/__fixtures__/parse.d.ts.map +1 -0
  41. package/dist/test/integration/__fixtures__/parse.js +238 -0
  42. package/dist/test/integration/encode.test.d.ts +2 -0
  43. package/dist/test/integration/encode.test.d.ts.map +1 -0
  44. package/dist/test/integration/encode.test.js +16 -0
  45. package/dist/test/integration/parse.test.d.ts +2 -0
  46. package/dist/test/integration/parse.test.d.ts.map +1 -0
  47. package/dist/test/integration/parse.test.js +53 -0
  48. package/dist/test/test_utils.d.ts +24 -0
  49. package/dist/test/test_utils.d.ts.map +1 -0
  50. package/dist/test/test_utils.js +40 -0
  51. package/dist/test/unit/certificates.test.d.ts +1 -0
  52. package/dist/test/unit/certificates.test.d.ts.map +1 -0
  53. package/dist/test/unit/certificates.test.js +2 -0
  54. package/dist/test/unit/inputs.test.d.ts +2 -0
  55. package/dist/test/unit/inputs.test.d.ts.map +1 -0
  56. package/dist/test/unit/inputs.test.js +57 -0
  57. package/dist/test/unit/mint.test.d.ts +2 -0
  58. package/dist/test/unit/mint.test.d.ts.map +1 -0
  59. package/dist/test/unit/mint.test.js +74 -0
  60. package/dist/test/unit/outputs.test.d.ts +2 -0
  61. package/dist/test/unit/outputs.test.d.ts.map +1 -0
  62. package/dist/test/unit/outputs.test.js +77 -0
  63. package/dist/test/unit/withdrawals.test.d.ts +2 -0
  64. package/dist/test/unit/withdrawals.test.d.ts.map +1 -0
  65. package/dist/test/unit/withdrawals.test.js +48 -0
  66. package/package.json +50 -0
@@ -0,0 +1,238 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ValidRawTransactionTestcases = exports.ValidTransactionTestcases = exports.ValidTransactionBodyTestcases = void 0;
4
+ const types_1 = require("../../../src/types");
5
+ const types_2 = require("../../../src/types");
6
+ const test_utils_1 = require("../../test_utils");
7
+ exports.ValidTransactionBodyTestcases = [
8
+ {
9
+ testname: 'Simple transaction',
10
+ cbor: 'a30081825820ba638246bd9be05aa46e865320c354efea75cf5796e88b763faaa30c9fbb78de000181825839000743d16cfe3c4fcc0c11c2403bbc10dbc7ecdd4477e053481a368e7a06e2ae44dff6770dc0f4ada3cf4cf2605008e27aecdb332ad349fda700021a0001e240',
11
+ expectedTxBody: {
12
+ inputs: [{
13
+ transactionId: (0, test_utils_1.toFixlenBuffer)('ba638246bd9be05aa46e865320c354efea75cf5796e88b763faaa30c9fbb78de', 32),
14
+ index: (0, test_utils_1.toUint)(0),
15
+ }],
16
+ outputs: [{
17
+ address: (0, test_utils_1.fromBech32)('addr_test1qqr585tvlc7ylnqvz8pyqwauzrdu0mxag3m7q56grgmgu7sxu2hyfhlkwuxupa9d5085eunq2qywy7hvmvej456flknswgndm3'),
18
+ amount: {
19
+ type: types_1.AmountType.WITHOUT_MULTIASSET,
20
+ coin: (0, test_utils_1.toUint)(0),
21
+ },
22
+ }],
23
+ fee: (0, test_utils_1.toUint)(123456),
24
+ ttl: undefined,
25
+ certificates: undefined,
26
+ withdrawals: undefined,
27
+ update: undefined,
28
+ metadataHash: undefined,
29
+ validityIntervalStart: undefined,
30
+ mint: undefined,
31
+ },
32
+ },
33
+ ];
34
+ exports.ValidTransactionTestcases = [];
35
+ exports.ValidRawTransactionTestcases = [
36
+ {
37
+ testname: 'Simple transaction',
38
+ cbor: '83a30081825820ba638246bd9be05aa46e865320c354efea75cf5796e88b763faaa30c9fbb78de000181825839000743d16cfe3c4fcc0c11c2403bbc10dbc7ecdd4477e053481a368e7a06e2ae44dff6770dc0f4ada3cf4cf2605008e27aecdb332ad349fda700021a0001e2409ffff6',
39
+ expectedRawTx: {
40
+ body: {
41
+ inputs: [{
42
+ transactionId: (0, test_utils_1.toFixlenBuffer)('ba638246bd9be05aa46e865320c354efea75cf5796e88b763faaa30c9fbb78de', 32),
43
+ index: (0, test_utils_1.toUint)(0),
44
+ }],
45
+ outputs: [{
46
+ address: (0, test_utils_1.fromBech32)('addr_test1qqr585tvlc7ylnqvz8pyqwauzrdu0mxag3m7q56grgmgu7sxu2hyfhlkwuxupa9d5085eunq2qywy7hvmvej456flknswgndm3'),
47
+ amount: {
48
+ type: types_1.AmountType.WITHOUT_MULTIASSET,
49
+ coin: (0, test_utils_1.toUint)(0),
50
+ },
51
+ }],
52
+ fee: (0, test_utils_1.toUint)(123456),
53
+ ttl: undefined,
54
+ certificates: undefined,
55
+ withdrawals: undefined,
56
+ update: undefined,
57
+ metadataHash: undefined,
58
+ validityIntervalStart: undefined,
59
+ mint: undefined,
60
+ },
61
+ scriptWitnesses: [],
62
+ auxiliaryData: null,
63
+ },
64
+ },
65
+ {
66
+ testname: 'Complex transaction',
67
+ cbor: '83a9008382582094461e17271b4a108f679eb7b6947aea29573296a5edca635d583fb40785e05d00825820b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee00825820b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee1bffffffffffffffff0183825839019b3a93b321ff8d65d6df1c6d845d54dbbf2cb34105fdb44ece1b7d312c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d821a0001e91fa1581c4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cffa146546f6b656e3101825839000743d16cfe3c4fcc0c11c2403bbc10dbc7ecdd4477e053481a368e7a06e2ae44dff6770dc0f4ada3cf4cf2605008e27aecdb332ad349fda71a3dbb8b2182583930167f6dbf610ae030f043adb1f3af78754ed9595ad4ac1f7ed9ff6466760fb6955d1217b1f1f208df6d45ab23c9e17b0c984a2d3a22bbbfb8821a3dbb8b21a1581c4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cffa246546f6b656e311a00155d975820546f6b656e546f6b656e546f6b656e546f6b656e546f6b656e546f6b656e31321a00beeff1021a0012fc51031a000a5176048582008200581c2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d82018201581cc1d58a7602c3bd8104cd2a871a2d1cb68f6f6669bd37a7688618ee5583028200581c2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d581c001337292eec9b3eefc6802f71cb34c21a7963eb12466d52836aa3908a03581c4dfbc0559b2e1d6af62c447f0a0d6290a8b05e075ef08db38c1b81a8582067c5c0b45db55e8c82752263207b9a92c2d5fa6c671aceed9df451cad3fac7a31a0001e2401a05f5e100d81e82031819581de1d7d8a321633b3d1ab1651eeb258ad898ebcef1d348b54148f18e15da82581c2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d581cf699c6400f85bdca54e44d0cad1f6141ce049a411c0d695fc30c3f7384840019029af650004706260000004700000000111100008301f676616464726573732e76616375756d6c6162732e636f6d8202781e616e6f746865722e616464726573732e76616375756d6c6162732e636f6d840019ffff447f0000fff682782468747470733a2f2f706f6f6c2d6d657461646174612e76616375756d6c6162732e636f6d5820e318d62e3d5cc3cc23ca1123438e439d7aac6c6c423320f670d159726ac9d11f8304581c4dfbc0559b2e1d6af62c447f0a0d6290a8b05e075ef08db38c1b81a81a0001dfbe05a2581df0760fb6955d1217b1f1f208df6d45ab23c9e17b0c984a2d3a22bbbfb81a07b914d0581de12c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d1a00bd979c075820af0c57b5a82f10a5d87e3145612b7d9a812d1470a932d182e46c39623107294108187c09a1581c4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cffa246546f6b656e311a009896805820546f6b656e546f6b656e546f6b656e546f6b656e546f6b656e546f6b656e31321b7fffffffffffffff9f8200581c2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d8200581c47bebb24d73f10f876926192f9bcba280727f51c128926a9eaa6fdadff82a11904d2a163666f6f6362617280',
68
+ expectedRawTx: {
69
+ body: {
70
+ inputs: [
71
+ {
72
+ transactionId: (0, test_utils_1.toFixlenBuffer)('94461e17271b4a108f679eb7b6947aea29573296a5edca635d583fb40785e05d', 32),
73
+ index: (0, test_utils_1.toUint)(0),
74
+ },
75
+ {
76
+ transactionId: (0, test_utils_1.toFixlenBuffer)('b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee', 32),
77
+ index: (0, test_utils_1.toUint)(0),
78
+ },
79
+ {
80
+ transactionId: (0, test_utils_1.toFixlenBuffer)('b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee', 32),
81
+ index: (0, test_utils_1.toUint)("18446744073709551615"),
82
+ },
83
+ ],
84
+ outputs: [
85
+ {
86
+ address: (0, test_utils_1.fromBech32)('addr1qxdn4yany8lc6ewkmuwxmpza2ndm7t9ngyzlmdzwecdh6vfvqjwlak9ug8k7lw7gxh9q5uuu4jtp24u4qf3w7j9uluwssp092m'),
87
+ amount: {
88
+ type: types_1.AmountType.WITH_MULTIASSET,
89
+ coin: (0, test_utils_1.toUint)(125215),
90
+ multiasset: [{
91
+ policyId: (0, test_utils_1.toFixlenBuffer)('4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cff', 28),
92
+ tokens: [{
93
+ assetName: Buffer.from('Token1'),
94
+ amount: (0, test_utils_1.toUint)(1),
95
+ }],
96
+ }],
97
+ },
98
+ },
99
+ {
100
+ address: (0, test_utils_1.fromBech32)('addr_test1qqr585tvlc7ylnqvz8pyqwauzrdu0mxag3m7q56grgmgu7sxu2hyfhlkwuxupa9d5085eunq2qywy7hvmvej456flknswgndm3'),
101
+ amount: {
102
+ type: types_1.AmountType.WITHOUT_MULTIASSET,
103
+ coin: (0, test_utils_1.toUint)(1035701025),
104
+ },
105
+ },
106
+ {
107
+ address: (0, test_utils_1.fromBech32)('addr_test1xqt87mdlvy9wqv8sgwkmrua00p65ak2ett22c8m7m8lkgenkp7mf2hgjz7clrusgmak5t2ere8shkrycfgkn5g4mh7uqvcq039'),
108
+ amount: {
109
+ type: types_1.AmountType.WITH_MULTIASSET,
110
+ coin: (0, test_utils_1.toUint)(1035701025),
111
+ multiasset: [{
112
+ policyId: (0, test_utils_1.toFixlenBuffer)('4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cff', 28),
113
+ tokens: [
114
+ {
115
+ assetName: Buffer.from('Token1'),
116
+ amount: (0, test_utils_1.toUint)(1400215),
117
+ },
118
+ {
119
+ assetName: Buffer.from('TokenTokenTokenTokenTokenToken12'),
120
+ amount: (0, test_utils_1.toUint)(12513265),
121
+ },
122
+ ],
123
+ }],
124
+ },
125
+ },
126
+ ],
127
+ fee: (0, test_utils_1.toUint)(1244241),
128
+ ttl: (0, test_utils_1.toUint)(676214),
129
+ certificates: [
130
+ {
131
+ type: types_2.CertificateType.STAKE_REGISTRATION,
132
+ stakeCredential: {
133
+ type: types_2.StakeCredentialType.KEY_HASH,
134
+ hash: (0, test_utils_1.toFixlenBuffer)('2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d', 28),
135
+ },
136
+ },
137
+ {
138
+ type: types_2.CertificateType.STAKE_DEREGISTRATION,
139
+ stakeCredential: {
140
+ type: types_2.StakeCredentialType.SCRIPT_HASH,
141
+ hash: (0, test_utils_1.toFixlenBuffer)('c1d58a7602c3bd8104cd2a871a2d1cb68f6f6669bd37a7688618ee55', 28),
142
+ },
143
+ },
144
+ {
145
+ type: types_2.CertificateType.STAKE_DELEGATION,
146
+ stakeCredential: {
147
+ type: types_2.StakeCredentialType.KEY_HASH,
148
+ hash: (0, test_utils_1.toFixlenBuffer)('2c049dfed8bc41edefbbc835ca0a739cac961557950262ef48bcff1d', 28),
149
+ },
150
+ poolKeyHash: (0, test_utils_1.toFixlenBuffer)('001337292eec9b3eefc6802f71cb34c21a7963eb12466d52836aa390', 28),
151
+ },
152
+ {
153
+ type: types_2.CertificateType.POOL_REGISTRATION,
154
+ poolParams: {
155
+ operator: (0, test_utils_1.toFixlenBuffer)('4DFBC0559B2E1D6AF62C447F0A0D6290A8B05E075EF08DB38C1B81A8', 28),
156
+ vrfKeyHash: (0, test_utils_1.toFixlenBuffer)('67C5C0B45DB55E8C82752263207B9A92C2D5FA6C671ACEED9DF451CAD3FAC7A3', 32),
157
+ pledge: (0, test_utils_1.toUint)(123456),
158
+ cost: (0, test_utils_1.toUint)(100000000),
159
+ margin: [(0, test_utils_1.toUint)(3), (0, test_utils_1.toUint)(25)],
160
+ rewardAccount: (0, test_utils_1.rewardAccount)('stake1u8ta3gepvvan6x43v50wkfv2mzvwhnh36dyt2s2g7x8ptks528lzm'),
161
+ poolOwners: [
162
+ (0, test_utils_1.toFixlenBuffer)('2C049DFED8BC41EDEFBBC835CA0A739CAC961557950262EF48BCFF1D', 28),
163
+ (0, test_utils_1.toFixlenBuffer)('F699C6400F85BDCA54E44D0CAD1F6141CE049A411C0D695FC30C3F73', 28),
164
+ ],
165
+ relays: [
166
+ {
167
+ type: types_2.RelayType.SINGLE_HOST_ADDRESS,
168
+ port: 666,
169
+ ipv4: null,
170
+ ipv6: (0, test_utils_1.toFixlenBuffer)('00470626000000470000000011110000', 16),
171
+ },
172
+ {
173
+ type: types_2.RelayType.SINGLE_HOST_NAME,
174
+ port: null,
175
+ dnsName: (0, test_utils_1.toMaxLenString)('address.vacuumlabs.com', 64),
176
+ },
177
+ {
178
+ type: types_2.RelayType.MULTI_HOST_NAME,
179
+ dnsName: (0, test_utils_1.toMaxLenString)('another.address.vacuumlabs.com', 64),
180
+ },
181
+ {
182
+ type: types_2.RelayType.SINGLE_HOST_ADDRESS,
183
+ port: 65535,
184
+ ipv4: (0, test_utils_1.ipv4ToBuffer)("127.0.0.255"),
185
+ ipv6: null,
186
+ },
187
+ ],
188
+ poolMetadata: {
189
+ url: (0, test_utils_1.toMaxLenString)("https://pool-metadata.vacuumlabs.com", 64),
190
+ metadataHash: (0, test_utils_1.toFixlenBuffer)("E318D62E3D5CC3CC23CA1123438E439D7AAC6C6C423320F670D159726AC9D11F", 32),
191
+ },
192
+ },
193
+ },
194
+ {
195
+ type: types_2.CertificateType.POOL_RETIREMENT,
196
+ poolKeyHash: (0, test_utils_1.toFixlenBuffer)('4dfbc0559b2e1d6af62c447f0a0d6290a8b05e075ef08db38c1b81a8', 28),
197
+ epoch: (0, test_utils_1.toUint)(122814),
198
+ },
199
+ ],
200
+ withdrawals: [
201
+ {
202
+ rewardAccount: (0, test_utils_1.rewardAccount)('stake_test17pmqld54t5fp0v037gyd7m294v3unctmpjvy5tf6y2amlwqun8tdp'),
203
+ amount: (0, test_utils_1.toUint)(129570000),
204
+ },
205
+ {
206
+ rewardAccount: (0, test_utils_1.rewardAccount)('stake1uykqf807mz7yrm00h0yrtjs2www2e9s4272sych0fz7078gjzd4uw'),
207
+ amount: (0, test_utils_1.toUint)(12425116),
208
+ },
209
+ ],
210
+ update: undefined,
211
+ metadataHash: (0, test_utils_1.toFixlenBuffer)('AF0C57B5A82F10A5D87E3145612B7D9A812D1470A932D182E46C396231072941', 32),
212
+ validityIntervalStart: (0, test_utils_1.toUint)(124),
213
+ mint: [{
214
+ policyId: (0, test_utils_1.toFixlenBuffer)('4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cff', 28),
215
+ tokens: [
216
+ {
217
+ assetName: Buffer.from('Token1'),
218
+ amount: (0, test_utils_1.toInt)(10000000),
219
+ },
220
+ {
221
+ assetName: Buffer.from('TokenTokenTokenTokenTokenToken12'),
222
+ amount: (0, test_utils_1.toInt)("9223372036854775807"),
223
+ },
224
+ ],
225
+ }],
226
+ },
227
+ scriptWitnesses: [
228
+ [0, Buffer.from('2C049DFED8BC41EDEFBBC835CA0A739CAC961557950262EF48BCFF1D', 'hex')],
229
+ [0, Buffer.from('47BEBB24D73F10F876926192F9BCBA280727F51C128926A9EAA6FDAD', 'hex')],
230
+ ],
231
+ auxiliaryData: [
232
+ new Map([[1234, { foo: "bar" }]]),
233
+ [],
234
+ ],
235
+ },
236
+ },
237
+ ];
238
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90ZXN0L2ludGVncmF0aW9uL19fZml4dHVyZXNfXy9wYXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSw4Q0FBK0M7QUFDL0MsOENBQW9GO0FBQ3BGLGlEQUF5SDtBQVE1RyxRQUFBLDZCQUE2QixHQUFtQztJQUN6RTtRQUNJLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsSUFBSSxFQUFFLDBOQUEwTjtRQUNoTyxjQUFjLEVBQUU7WUFDWixNQUFNLEVBQUUsQ0FBQztvQkFDTCxhQUFhLEVBQUUsSUFBQSwyQkFBYyxFQUFDLGtFQUFrRSxFQUFFLEVBQUUsQ0FBQztvQkFDckcsS0FBSyxFQUFFLElBQUEsbUJBQU0sRUFBQyxDQUFDLENBQUM7aUJBQ25CLENBQUM7WUFDRixPQUFPLEVBQUUsQ0FBQztvQkFDTixPQUFPLEVBQUUsSUFBQSx1QkFBVSxFQUFDLDhHQUE4RyxDQUFDO29CQUNuSSxNQUFNLEVBQUU7d0JBQ0osSUFBSSxFQUFFLGtCQUFVLENBQUMsa0JBQWtCO3dCQUNuQyxJQUFJLEVBQUUsSUFBQSxtQkFBTSxFQUFDLENBQUMsQ0FBQztxQkFDbEI7aUJBQ0osQ0FBQztZQUNGLEdBQUcsRUFBRSxJQUFBLG1CQUFNLEVBQUMsTUFBTSxDQUFDO1lBQ25CLEdBQUcsRUFBRSxTQUFTO1lBQ2QsWUFBWSxFQUFFLFNBQVM7WUFDdkIsV0FBVyxFQUFFLFNBQVM7WUFDdEIsTUFBTSxFQUFFLFNBQVM7WUFDakIsWUFBWSxFQUFFLFNBQVM7WUFDdkIscUJBQXFCLEVBQUUsU0FBUztZQUNoQyxJQUFJLEVBQUUsU0FBUztTQUNsQjtLQUNKO0NBQ0osQ0FBQTtBQVFZLFFBQUEseUJBQXlCLEdBQStCLEVBQUUsQ0FBQTtBQVMxRCxRQUFBLDRCQUE0QixHQUFrQztJQUN2RTtRQVNJLFFBQVEsRUFBRSxvQkFBb0I7UUFDOUIsSUFBSSxFQUFFLGtPQUFrTztRQUN4TyxhQUFh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
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=encode.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"encode.test.d.ts","sourceRoot":"","sources":["../../../test/integration/encode.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const index_1 = require("../../src/index");
5
+ const encode_1 = require("./__fixtures__/encode");
6
+ describe("Encode", () => {
7
+ describe("Transaction bodies", () => {
8
+ for (const { testname, txBody, expectedTxBodyCbor } of encode_1.TxBodyTestcases) {
9
+ it(testname, () => {
10
+ const txBodyCbor = (0, index_1.encodeTxBody)(txBody);
11
+ (0, chai_1.expect)(txBodyCbor.equals(Buffer.from(expectedTxBodyCbor, 'hex'))).to.be.true;
12
+ });
13
+ }
14
+ });
15
+ });
16
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW5jb2RlLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L2ludGVncmF0aW9uL2VuY29kZS50ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7O0FBQUEsK0JBQTZCO0FBRTdCLDJDQUE4QztBQUM5QyxrREFBdUQ7QUFFdkQsUUFBUSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7SUFDcEIsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxLQUFLLE1BQU0sRUFBRSxRQUFRLEVBQUUsTUFBTSxFQUFFLGtCQUFrQixFQUFFLElBQUksd0JBQWUsRUFBRTtZQUNwRSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDZCxNQUFNLFVBQVUsR0FBRyxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQ3ZDLElBQUEsYUFBTSxFQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUE7WUFDaEYsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUMsQ0FBQyxDQUFBO0FBQ04sQ0FBQyxDQUFDLENBQUEifQ==
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=parse.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"parse.test.d.ts","sourceRoot":"","sources":["../../../test/integration/parse.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const chai_1 = require("chai");
4
+ const errors_1 = require("../../src/errors");
5
+ const index_1 = require("../../src/index");
6
+ const parse_1 = require("./__fixtures__/parse");
7
+ describe("Decode and parse", () => {
8
+ describe("Valid transaction bodies", () => {
9
+ for (const { testname, cbor, expectedTxBody } of parse_1.ValidTransactionBodyTestcases) {
10
+ it(testname, () => {
11
+ const txBody = (0, index_1.decodeTxBody)(Buffer.from(cbor, 'hex'));
12
+ (0, chai_1.expect)(txBody).to.deep.equal(expectedTxBody);
13
+ });
14
+ }
15
+ });
16
+ describe("Valid transactions", () => {
17
+ for (const { testname, cbor, expectedTx } of parse_1.ValidTransactionTestcases) {
18
+ it(testname, () => {
19
+ const tx = (0, index_1.decodeTx)(Buffer.from(cbor, 'hex'));
20
+ (0, chai_1.expect)(tx).to.deep.equal(expectedTx);
21
+ });
22
+ }
23
+ });
24
+ describe("Valid raw transactions", () => {
25
+ for (const { testname, cbor, expectedRawTx } of parse_1.ValidRawTransactionTestcases) {
26
+ it(testname, () => {
27
+ const rawTx = (0, index_1.decodeRawTx)(Buffer.from(cbor, 'hex'));
28
+ (0, chai_1.expect)(rawTx).to.deep.equal(expectedRawTx);
29
+ });
30
+ }
31
+ });
32
+ describe("Invalid transactions", () => {
33
+ it("Transaction body is not a map", () => {
34
+ (0, chai_1.expect)(() => (0, index_1.decodeTxBody)(Buffer.from('00', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_TX_BODY_CBOR);
35
+ });
36
+ it("Transaction body is not a map with number keys", () => {
37
+ (0, chai_1.expect)(() => (0, index_1.decodeTxBody)(Buffer.from('a1616100', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_TX_BODY_CBOR);
38
+ });
39
+ it("Transaction is not an array", () => {
40
+ (0, chai_1.expect)(() => (0, index_1.decodeTx)(Buffer.from('00', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_TX_CBOR);
41
+ });
42
+ it("Transaction array is too big", () => {
43
+ (0, chai_1.expect)(() => (0, index_1.decodeTx)(Buffer.from('8401020304', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_TX_CBOR);
44
+ });
45
+ it("Raw transaction is not an array", () => {
46
+ (0, chai_1.expect)(() => (0, index_1.decodeRawTx)(Buffer.from('00', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_RAW_TX_CBOR);
47
+ });
48
+ it("Raw transaction array is too big", () => {
49
+ (0, chai_1.expect)(() => (0, index_1.decodeRawTx)(Buffer.from('8401020304', 'hex'))).to.throw(errors_1.ParseError, errors_1.ParseErrorReason.INVALID_RAW_TX_CBOR);
50
+ });
51
+ });
52
+ });
53
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvaW50ZWdyYXRpb24vcGFyc2UudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUE2QjtBQUU3Qiw2Q0FBK0Q7QUFDL0QsMkNBQXFFO0FBQ3JFLGdEQUE0SDtBQUU1SCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxxQ0FBNkIsRUFBRTtZQUM1RSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFFckQsSUFBQSxhQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDaEQsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxLQUFLLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLGlDQUF5QixFQUFFO1lBQ3BFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNkLE1BQU0sRUFBRSxHQUFHLElBQUEsZ0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2dCQUU3QyxJQUFBLGFBQU0sRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN4QyxDQUFDLENB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
@@ -0,0 +1,24 @@
1
+ /// <reference types="node" />
2
+ /// <reference types="mocha" />
3
+ import type { ParseErrorReason } from '../src/errors';
4
+ import type { Parser } from '../src/parsers';
5
+ import type { FixlenBuffer, Int, MaxlenString, RewardAccount, Uint } from '../src/types';
6
+ export declare const ipv4ToBuffer: (ipv4: string) => FixlenBuffer<4>;
7
+ export declare const toFixlenBuffer: <N extends number>(str: string, length: N) => FixlenBuffer<N>;
8
+ export declare const toMaxLenString: <N extends number>(str: string, length: N) => MaxlenString<N>;
9
+ export declare const toUint: (n: string | number) => Uint;
10
+ export declare const toInt: (n: string | number) => Int;
11
+ export declare const fromBech32: (str: string) => Buffer;
12
+ export declare const rewardAccount: (str: string) => RewardAccount;
13
+ export declare type ValidParseTestcase<T> = {
14
+ testname: string;
15
+ cbor: string;
16
+ parsed: T;
17
+ };
18
+ export declare type InvalidParseTestcase = {
19
+ testname: string;
20
+ cbor: string;
21
+ errMsg: ParseErrorReason;
22
+ };
23
+ export declare const registerTests: <T>(name: string, parseFn: Parser<T>, validTestcases: ValidParseTestcase<T>[], invalidTestcases: InvalidParseTestcase[]) => Mocha.Suite;
24
+ //# sourceMappingURL=test_utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"test_utils.d.ts","sourceRoot":"","sources":["../../test/test_utils.ts"],"names":[],"mappings":";;AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAA;AAErD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAC5C,OAAO,KAAK,EAAE,YAAY,EAAE,GAAG,EAAE,YAAY,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,cAAc,CAAA;AAGxF,eAAO,MAAM,YAAY,SAAU,MAAM,KAAG,aAAa,CAAC,CAC4B,CAAA;AAEtF,eAAO,MAAM,cAAc,0BAA2B,MAAM,+BACF,CAAA;AAE1D,eAAO,MAAM,cAAc,0BAA2B,MAAM,+BACtB,CAAA;AAEtC,eAAO,MAAM,MAAM,MAAO,MAAM,GAAG,MAAM,KAAG,IACO,CAAA;AAEnD,eAAO,MAAM,KAAK,MAAO,MAAM,GAAG,MAAM,KAAG,GACO,CAAA;AAElD,eAAO,MAAM,UAAU,QAAS,MAAM,KAAG,MACwB,CAAA;AAEjE,eAAO,MAAM,aAAa,QAAS,MAAM,KAAG,aACR,CAAA;AAEpC,oBAAY,kBAAkB,CAAC,CAAC,IAAI;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,CAAC,CAAC;CACb,CAAA;AAED,oBAAY,oBAAoB,GAAG;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,gBAAgB,CAAC;CAC5B,CAAA;AAED,eAAO,MAAM,aAAa,YAAa,MAAM,iFAAiF,oBAAoB,EAAE,gBAqB9I,CAAA"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.registerTests = exports.rewardAccount = exports.fromBech32 = exports.toInt = exports.toUint = exports.toMaxLenString = exports.toFixlenBuffer = exports.ipv4ToBuffer = void 0;
4
+ const bech32_1 = require("bech32");
5
+ const chai_1 = require("chai");
6
+ const errors_1 = require("../src/errors");
7
+ const utils_1 = require("../src/utils");
8
+ const ipv4ToBuffer = (ipv4) => Buffer.from(ipv4.split('.').map((n) => Number.parseInt(n, 10)));
9
+ exports.ipv4ToBuffer = ipv4ToBuffer;
10
+ const toFixlenBuffer = (str, length) => Buffer.from(str, 'hex');
11
+ exports.toFixlenBuffer = toFixlenBuffer;
12
+ const toMaxLenString = (str, length) => str;
13
+ exports.toMaxLenString = toMaxLenString;
14
+ const toUint = (n) => (typeof n === 'string' ? BigInt(n) : n);
15
+ exports.toUint = toUint;
16
+ const toInt = (n) => (typeof n === 'string' ? BigInt(n) : n);
17
+ exports.toInt = toInt;
18
+ const fromBech32 = (str) => Buffer.from(bech32_1.bech32.fromWords(bech32_1.bech32.decode(str, 1000).words));
19
+ exports.fromBech32 = fromBech32;
20
+ const rewardAccount = (str) => (0, exports.fromBech32)(str);
21
+ exports.rewardAccount = rewardAccount;
22
+ const registerTests = (name, parseFn, validTestcases, invalidTestcases) => describe(name, () => {
23
+ describe('Valid', () => {
24
+ for (const { testname, cbor, parsed: expectedParsed } of validTestcases) {
25
+ it(testname, () => {
26
+ const parsed = parseFn((0, utils_1.decodeCbor)(Buffer.from(cbor, 'hex')));
27
+ (0, chai_1.expect)(parsed).to.deep.equal(expectedParsed);
28
+ });
29
+ }
30
+ });
31
+ describe('Invalid', () => {
32
+ for (const { testname, cbor, errMsg: expectedErrMsg } of invalidTestcases) {
33
+ it(testname, () => {
34
+ (0, chai_1.expect)(() => parseFn((0, utils_1.decodeCbor)(Buffer.from(cbor, 'hex')))).to.throw(errors_1.ParseError, expectedErrMsg);
35
+ });
36
+ }
37
+ });
38
+ });
39
+ exports.registerTests = registerTests;
40
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVzdF91dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3Rlc3QvdGVzdF91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxtQ0FBK0I7QUFDL0IsK0JBQTZCO0FBRzdCLDBDQUEwQztBQUcxQyx3Q0FBeUM7QUFFbEMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFZLEVBQW1CLEVBQUUsQ0FDMUQsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBb0IsQ0FBQTtBQUR6RSxRQUFBLFlBQVksZ0JBQzZEO0FBRS9FLE1BQU0sY0FBYyxHQUFHLENBQW1CLEdBQVcsRUFBRSxNQUFTLEVBQW1CLEVBQUUsQ0FDeEYsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFnQyxDQUFBO0FBRDdDLFFBQUEsY0FBYyxrQkFDK0I7QUFFbkQsTUFBTSxjQUFjLEdBQUcsQ0FBbUIsR0FBVyxFQUFFLE1BQVMsRUFBbUIsRUFBRSxDQUN4RixHQUFrQyxDQUFBO0FBRHpCLFFBQUEsY0FBYyxrQkFDVztBQUUvQixNQUFNLE1BQU0sR0FBRyxDQUFDLENBQWtCLEVBQVEsRUFBRSxDQUMvQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQVMsQ0FBQTtBQUR0QyxRQUFBLE1BQU0sVUFDZ0M7QUFFNUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxDQUFrQixFQUFPLEVBQUUsQ0FDN0MsQ0FBQyxPQUFPLENBQUMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFRLENBQUE7QUFEckMsUUFBQSxLQUFLLFNBQ2dDO0FBRTNDLE1BQU0sVUFBVSxHQUFHLENBQUMsR0FBVyxFQUFVLEVBQUUsQ0FDOUMsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFNLENBQUMsU0FBUyxDQUFDLGVBQU0sQ0FBQyxNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7QUFEcEQsUUFBQSxVQUFVLGNBQzBDO0FBRTFELE1BQU0sYUFBYSxHQUFHLENBQUMsR0FBVyxFQUFpQixFQUFFLENBQ3hELElBQUEsa0JBQVUsRUFBQyxHQUFHLENBQWtCLENBQUE7QUFEdkIsUUFBQSxhQUFhLGlCQUNVO0FBYzdCLE1BQU0sYUFBYSxHQUFHLENBQUksSUFBWSxFQUFFLE9BQWtCLEVBQUUsY0FBdUMsRUFBRSxnQkFBd0MsRUFBRSxFQUFFLENBQ3BKLFFBQVEsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFO0lBQ2hCLFFBQVEsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFO1FBQ25CLEtBQUssTUFBTSxFQUFDLFFBQVEsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGNBQWMsRUFBQyxJQUFJLGNBQWMsRUFBRTtZQUNuRSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsSUFBQSxrQkFBVSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQTtnQkFFNUQsSUFBQSxhQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDaEQsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLFNBQVMsRUFBRSxHQUFHLEVBQUU7UUFDckIsS0FBSyxNQUFNLEVBQUMsUUFBUSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsY0FBYyxFQUFDLElBQUksZ0JBQWdCLEVBQUU7WUFDckUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsSUFBQSxhQUFNLEVBQ0YsR0FBRyxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUEsa0JBQVUsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ3RELENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBVSxFQUFFLGNBQWMsQ0FBQyxDQUFBO1lBQzFDLENBQUMsQ0FBQyxDQUFBO1NBQ0w7SUFDTCxDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBO0FBckJPLFFBQUEsYUFBYSxpQkFxQnBCIn0=
@@ -0,0 +1 @@
1
+ //# sourceMappingURL=certificates.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"certificates.test.d.ts","sourceRoot":"","sources":["../../../test/unit/certificates.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2VydGlmaWNhdGVzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvY2VydGlmaWNhdGVzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=inputs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inputs.test.d.ts","sourceRoot":"","sources":["../../../test/unit/inputs.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const errors_1 = require("../../src/errors");
4
+ const txParsers_1 = require("../../src/txParsers");
5
+ const test_utils_1 = require("../test_utils");
6
+ const ValidInputsTestcases = [
7
+ {
8
+ testname: 'One input',
9
+ cbor: '81825820B64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F5EE01',
10
+ parsed: [{
11
+ transactionId: (0, test_utils_1.toFixlenBuffer)('B64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F5EE', 32),
12
+ index: (0, test_utils_1.toUint)(1),
13
+ }],
14
+ },
15
+ {
16
+ testname: 'Three inputs',
17
+ cbor: '8382582094461e17271b4a108f679eb7b6947aea29573296a5edca635d583fb40785e05d00825820b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee00825820b64ae44e1195b04663ab863b62337e626c65b0c9855a9fbb9ef4458f81a6f5ee1bffffffffffffffff',
18
+ parsed: [
19
+ {
20
+ transactionId: (0, test_utils_1.toFixlenBuffer)('94461e17271b4a108f679eb7b6947aea29573296a5edca635d583fb40785e05d', 32),
21
+ index: (0, test_utils_1.toUint)(0),
22
+ },
23
+ {
24
+ transactionId: (0, test_utils_1.toFixlenBuffer)('B64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F5EE', 32),
25
+ index: (0, test_utils_1.toUint)(0),
26
+ },
27
+ {
28
+ transactionId: (0, test_utils_1.toFixlenBuffer)('B64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F5EE', 32),
29
+ index: (0, test_utils_1.toUint)("18446744073709551615"),
30
+ },
31
+ ],
32
+ },
33
+ ];
34
+ const InvalidInputsTestcases = [
35
+ {
36
+ testname: 'Not an array',
37
+ cbor: 'a100f6',
38
+ errMsg: errors_1.ParseErrorReason.INVALID_TX_INPUTS,
39
+ },
40
+ {
41
+ testname: 'Invalid input structure',
42
+ cbor: '8183187b0102',
43
+ errMsg: errors_1.ParseErrorReason.INVALID_TX_INPUT,
44
+ },
45
+ {
46
+ testname: 'Invalid tx id',
47
+ cbor: '8182581fB64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F501',
48
+ errMsg: errors_1.ParseErrorReason.INVALID_TRANSACTION_ID,
49
+ },
50
+ {
51
+ testname: 'Invalid index',
52
+ cbor: '81825820B64AE44E1195B04663AB863B62337E626C65B0C9855A9FBB9EF4458F81A6F5EE20',
53
+ errMsg: errors_1.ParseErrorReason.INVALID_TX_INPUT_INDEX,
54
+ },
55
+ ];
56
+ (0, test_utils_1.registerTests)('Parse transaction inputs', txParsers_1.parseInputs, ValidInputsTestcases, InvalidInputsTestcases);
57
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXRzLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi90ZXN0L3VuaXQvaW5wdXRzLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSw2Q0FBbUQ7QUFDbkQsbURBQWlEO0FBR2pELDhDQUFvRTtBQUVwRSxNQUFNLG9CQUFvQixHQUE2QztJQUNuRTtRQUNJLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSw0RUFBNEU7UUFDbEYsTUFBTSxFQUFFLENBQUM7Z0JBQ0wsYUFBYSxFQUFFLElBQUEsMkJBQWMsRUFBQyxrRUFBa0UsRUFBRSxFQUFFLENBQUM7Z0JBQ3JHLEtBQUssRUFBRSxJQUFBLG1CQUFNLEVBQUMsQ0FBQyxDQUFDO2FBQ25CLENBQUM7S0FDTDtJQUNEO1FBQ0ksUUFBUSxFQUFFLGNBQWM7UUFDeEIsSUFBSSxFQUFFLDRPQUE0TztRQUNsUCxNQUFNLEVBQUU7WUFDSjtnQkFDSSxhQUFhLEVBQUUsSUFBQSwyQkFBYyxFQUFDLGtFQUFrRSxFQUFFLEVBQUUsQ0FBQztnQkFDckcsS0FBSyxFQUFFLElBQUEsbUJBQU0sRUFBQyxDQUFDLENBQUM7YUFDbkI7WUFDRDtnQkFDSSxhQUFhLEVBQUUsSUFBQSwyQkFBYyxFQUFDLGtFQUFrRSxFQUFFLEVBQUUsQ0FBQztnQkFDckcsS0FBSyxFQUFFLElBQUEsbUJBQU0sRUFBQyxDQUFDLENBQUM7YUFDbkI7WUFDRDtnQkFDSSxhQUFhLEVBQUUsSUFBQSwyQkFBYyxFQUFDLGtFQUFrRSxFQUFFLEVBQUUsQ0FBQztnQkFDckcsS0FBSyxFQUFFLElBQUEsbUJBQU0sRUFBQyxzQkFBc0IsQ0FBQzthQUN4QztTQUNKO0tBQ0o7Q0FDSixDQUFBO0FBRUQsTUFBTSxzQkFBc0IsR0FBMkI7SUFDbkQ7UUFDSSxRQUFRLEVBQUUsY0FBYztRQUN4QixJQUFJLEVBQUUsUUFBUTtRQUNkLE1BQU0sRUFBRSx5QkFBZ0IsQ0FBQyxpQkFBaUI7S0FDN0M7SUFDRDtRQUNJLFFBQVEsRUFBRSx5QkFBeUI7UUFDbkMsSUFBSSxFQUFFLGNBQWM7UUFDcEIsTUFBTSxFQUFFLHlCQUFnQixDQUFDLGdCQUFnQjtLQUM1QztJQUNEO1FBQ0ksUUFBUSxFQUFFLGVBQWU7UUFDekIsSUFBSSxFQUFFLDBFQUEwRTtRQUNoRixNQUFNLEVBQUUseUJBQWdCLENBQUMsc0JBQXNCO0tBQ2xEO0lBQ0Q7UUFDSSxRQUFRLEVBQUUsZUFBZTtRQUN6QixJQUFJLEVBQUUsNEVBQTRFO1FBQ2xGLE1BQU0sRUFBRSx5QkFBZ0IsQ0FBQyxzQkFBc0I7S0FDbEQ7Q0FDSixDQUFBO0FBRUQsSUFBQSwwQkFBYSxFQUFDLDBCQUEwQixFQUFFLHVCQUFXLEVBQUUsb0JBQW9CLEVBQUUsc0JBQXNCLENBQUMsQ0FBQSJ9
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=mint.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mint.test.d.ts","sourceRoot":"","sources":["../../../test/unit/mint.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const errors_1 = require("../../src/errors");
4
+ const txParsers_1 = require("../../src/txParsers");
5
+ const test_utils_1 = require("../test_utils");
6
+ const test_utils_2 = require("../test_utils");
7
+ const ValidMintTestcases = [
8
+ {
9
+ testname: 'One policy id, one asset',
10
+ cbor: 'a1581c4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cffa14554306b656e186f',
11
+ parsed: [{
12
+ policyId: (0, test_utils_1.toFixlenBuffer)('4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cff', 28),
13
+ tokens: [{
14
+ assetName: Buffer.from('T0ken'),
15
+ amount: (0, test_utils_2.toInt)(111),
16
+ }],
17
+ }],
18
+ },
19
+ {
20
+ testname: 'One policy id, two assets',
21
+ cbor: 'a1581cd7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2a2525365636f6e645f47726561745f546f6b656e1b7fffffffffffffff4554306b656e392fb7',
22
+ parsed: [{
23
+ policyId: (0, test_utils_1.toFixlenBuffer)('d7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2', 28),
24
+ tokens: [
25
+ {
26
+ assetName: Buffer.from('Second_Great_Token'),
27
+ amount: (0, test_utils_2.toInt)("9223372036854775807"),
28
+ },
29
+ {
30
+ assetName: Buffer.from('T0ken'),
31
+ amount: (0, test_utils_2.toInt)(-12216),
32
+ },
33
+ ],
34
+ }],
35
+ },
36
+ {
37
+ testname: 'Two policy ids, one asset per each',
38
+ cbor: 'a2581cd7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2a14554306b656e187c581c4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cffa15056616375756d6c61627349734e6963651a00989680',
39
+ parsed: [
40
+ {
41
+ policyId: (0, test_utils_1.toFixlenBuffer)('d7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2', 28),
42
+ tokens: [{ assetName: Buffer.from('T0ken'), amount: (0, test_utils_2.toInt)(124) }],
43
+ },
44
+ {
45
+ policyId: (0, test_utils_1.toFixlenBuffer)('4a7fc1c3490c30e23961d24f345c81f2dd1105643776098530f06cff', 28),
46
+ tokens: [{ assetName: Buffer.from('VacuumlabsIsNice'), amount: (0, test_utils_2.toInt)(10000000) }],
47
+ },
48
+ ],
49
+ },
50
+ ];
51
+ const InvalidMintTestcases = [
52
+ {
53
+ testname: 'Not a map',
54
+ cbor: '83016161f6',
55
+ errMsg: errors_1.ParseErrorReason.INVALID_TX_MINT,
56
+ },
57
+ {
58
+ testname: 'Invalid policy id',
59
+ cbor: 'a1f6a14554306b656e187c',
60
+ errMsg: errors_1.ParseErrorReason.INVALID_POLICY_ID,
61
+ },
62
+ {
63
+ testname: 'Invalid asset name',
64
+ cbor: 'a1581cd7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2a10101',
65
+ errMsg: errors_1.ParseErrorReason.INVALID_ASSET_NAME,
66
+ },
67
+ {
68
+ testname: 'Invalid mint amount',
69
+ cbor: 'a1581cd7a7c6999786354b6dbee181a2f562a628a75fce126f4da40ce5d9b2a141006161',
70
+ errMsg: errors_1.ParseErrorReason.INVALID_MINT_AMOUNT,
71
+ },
72
+ ];
73
+ (0, test_utils_2.registerTests)('Parse mint', txParsers_1.parseMint, ValidMintTestcases, InvalidMintTestcases);
74
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWludC50ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vdGVzdC91bml0L21pbnQudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLDZDQUFtRDtBQUNuRCxtREFBK0M7QUFHL0MsOENBQThDO0FBQzlDLDhDQUFvRDtBQUVwRCxNQUFNLGtCQUFrQixHQUErQjtJQUNuRDtRQUNJLFFBQVEsRUFBRSwwQkFBMEI7UUFDcEMsSUFBSSxFQUFFLGtGQUFrRjtRQUN4RixNQUFNLEVBQUUsQ0FBQztnQkFDTCxRQUFRLEVBQUUsSUFBQSwyQkFBYyxFQUFDLDBEQUEwRCxFQUFFLEVBQUUsQ0FBQztnQkFDeEYsTUFBTSxFQUFFLENBQUM7d0JBQ0wsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQjt3QkFDbkQsTUFBTSxFQUFFLElBQUEsa0JBQUssRUFBQyxHQUFHLENBQUM7cUJBQ3JCLENBQUM7YUFDTCxDQUFDO0tBQ0w7SUFDRDtRQUNJLFFBQVEsRUFBRSwyQkFBMkI7UUFDckMsSUFBSSxFQUFFLDRJQUE0STtRQUNsSixNQUFNLEVBQUUsQ0FBQztnQkFDTCxRQUFRLEVBQUUsSUFBQSwyQkFBYyxFQUFDLDBEQUEwRCxFQUFFLEVBQUUsQ0FBQztnQkFDeEYsTUFBTSxFQUFFO29CQUNKO3dCQUNJLFNBQVMsRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFxQjt3QkFDaEUsTUFBTSxFQUFFLElBQUEsa0JBQUssRUFBQyxxQkFBcUIsQ0FBQztxQkFDdkM7b0JBQ0Q7d0JBQ0ksU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFxQjt3QkFDbkQsTUFBTSxFQUFFLElBQUEsa0JBQUssRUFBQyxDQUFDLEtBQUssQ0FBQztxQkFDeEI7aUJBQ0o7YUFDSixDQUFDO0tBQ0w7SUFDRDtRQUNJLFFBQVEsRUFBRSxvQ0FBb0M7UUFDOUMsSUFBSSxFQUFFLDRMQUE0TDtRQUNsTSxNQUFNLEVBQUU7WUFDSjtnQkFDSSxRQUFRLEVBQUUsSUFBQSwyQkFBYyxFQUFDLDBEQUEwRCxFQUFFLEVBQUUsQ0FBQztnQkFDeEYsTUFBTSxFQUFFLENBQUMsRUFBQyxTQUFTLEVBQUUsTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQXFCLEVBQUUsTUFBTSxFQUFFLElBQUEsa0JBQUssRUFBQyxHQUFHLENBQUMsRUFBQyxDQUFDO2FBQ3RGO1lBQ0Q7Z0JBQ0ksUUFBUSxFQUFFLElBQUEsMkJBQWMsRUFBQywwREFBMEQsRUFBRSxFQUFFLENBQUM7Z0JBQ3hGLE1BQU0sRUFBRSxDQUFDLEVBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQXFCLEVBQUUsTUFBTSxFQUFFLElBQUEsa0JBQUssRUFBQyxRQUFRLENBQUMsRUFBQyxDQUFDO2FBQ3RHO1NBQ0o7S0FDSjtDQUNKLENBQUE7QUFFRCxNQUFNLG9CQUFvQixHQUEyQjtJQUNqRDtRQUNJLFFBQVEsRUFBRSxXQUFXO1FBQ3JCLElBQUksRUFBRSxZQUFZO1FBQ2xCLE1BQU0sRUFBRSx5QkFBZ0IsQ0FBQyxlQUFlO0tBQzNDO0lBQ0Q7UUFDSSxRQUFRLEVBQUUsbUJBQW1CO1FBQzdCLElBQUksRUFBRSx3QkFBd0I7UUFDOUIsTUFBTSxFQUFFLHlCQUFnQixDQUFDLGlCQUFpQjtLQUM3QztJQUNEO1FBQ0ksUUFBUSxFQUFFLG9CQUFvQjtRQUM5QixJQUFJLEVBQUUsc0VBQXNFO1FBQzVFLE1BQU0sRUFBRSx5QkFBZ0IsQ0FBQyxrQkFBa0I7S0FDOUM7SUFDRDtRQUNJLFFBQVEsRUFBRSxxQkFBcUI7UUFDL0IsSUFBSSxFQUFFLDBFQUEwRTtRQUNoRixNQUFNLEVBQUUseUJBQWdCLENBQUMsbUJBQW1CO0tBQy9DO0NBQ0osQ0FBQTtBQUVELElBQUEsMEJBQWEsRUFBQyxZQUFZLEVBQUUscUJBQVMsRUFBRSxrQkFBa0IsRUFBRSxvQkFBb0IsQ0FBQyxDQUFBIn0=
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=outputs.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"outputs.test.d.ts","sourceRoot":"","sources":["../../../test/unit/outputs.test.ts"],"names":[],"mappings":""}