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.
- package/LICENSE +16 -0
- package/README.md +55 -0
- package/dist/src/errors/index.d.ts +3 -0
- package/dist/src/errors/index.d.ts.map +1 -0
- package/dist/src/errors/index.js +15 -0
- package/dist/src/errors/parseError.d.ts +58 -0
- package/dist/src/errors/parseError.d.ts.map +1 -0
- package/dist/src/errors/parseError.js +66 -0
- package/dist/src/errors/validationError.d.ts +24 -0
- package/dist/src/errors/validationError.d.ts.map +1 -0
- package/dist/src/errors/validationError.js +47 -0
- package/dist/src/index.d.ts +18 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +65 -0
- package/dist/src/parsers.d.ts +39 -0
- package/dist/src/parsers.d.ts.map +1 -0
- package/dist/src/parsers.js +98 -0
- package/dist/src/txParsers.d.ts +15 -0
- package/dist/src/txParsers.d.ts.map +1 -0
- package/dist/src/txParsers.js +161 -0
- package/dist/src/txSerializers.d.ts +5 -0
- package/dist/src/txSerializers.d.ts.map +1 -0
- package/dist/src/txSerializers.js +97 -0
- package/dist/src/txTransformers.d.ts +5 -0
- package/dist/src/txTransformers.d.ts.map +1 -0
- package/dist/src/txTransformers.js +50 -0
- package/dist/src/txValidators.d.ts +5 -0
- package/dist/src/txValidators.d.ts.map +1 -0
- package/dist/src/txValidators.js +129 -0
- package/dist/src/types.d.ts +192 -0
- package/dist/src/types.d.ts.map +1 -0
- package/dist/src/types.js +45 -0
- package/dist/src/utils.d.ts +8 -0
- package/dist/src/utils.d.ts.map +1 -0
- package/dist/src/utils.js +36 -0
- package/dist/test/integration/__fixtures__/encode.d.ts +9 -0
- package/dist/test/integration/__fixtures__/encode.d.ts.map +1 -0
- package/dist/test/integration/__fixtures__/encode.js +203 -0
- package/dist/test/integration/__fixtures__/parse.d.ts +21 -0
- package/dist/test/integration/__fixtures__/parse.d.ts.map +1 -0
- package/dist/test/integration/__fixtures__/parse.js +238 -0
- package/dist/test/integration/encode.test.d.ts +2 -0
- package/dist/test/integration/encode.test.d.ts.map +1 -0
- package/dist/test/integration/encode.test.js +16 -0
- package/dist/test/integration/parse.test.d.ts +2 -0
- package/dist/test/integration/parse.test.d.ts.map +1 -0
- package/dist/test/integration/parse.test.js +53 -0
- package/dist/test/test_utils.d.ts +24 -0
- package/dist/test/test_utils.d.ts.map +1 -0
- package/dist/test/test_utils.js +40 -0
- package/dist/test/unit/certificates.test.d.ts +1 -0
- package/dist/test/unit/certificates.test.d.ts.map +1 -0
- package/dist/test/unit/certificates.test.js +2 -0
- package/dist/test/unit/inputs.test.d.ts +2 -0
- package/dist/test/unit/inputs.test.d.ts.map +1 -0
- package/dist/test/unit/inputs.test.js +57 -0
- package/dist/test/unit/mint.test.d.ts +2 -0
- package/dist/test/unit/mint.test.d.ts.map +1 -0
- package/dist/test/unit/mint.test.js +74 -0
- package/dist/test/unit/outputs.test.d.ts +2 -0
- package/dist/test/unit/outputs.test.d.ts.map +1 -0
- package/dist/test/unit/outputs.test.js +77 -0
- package/dist/test/unit/withdrawals.test.d.ts +2 -0
- package/dist/test/unit/withdrawals.test.d.ts.map +1 -0
- package/dist/test/unit/withdrawals.test.js +48 -0
- 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 @@
|
|
|
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 @@
|
|
|
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyc2UudGVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Rlc3QvaW50ZWdyYXRpb24vcGFyc2UudGVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOztBQUFBLCtCQUE2QjtBQUU3Qiw2Q0FBK0Q7QUFDL0QsMkNBQXFFO0FBQ3JFLGdEQUE0SDtBQUU1SCxRQUFRLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxFQUFFO0lBQzlCLFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDdEMsS0FBSyxNQUFNLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxjQUFjLEVBQUUsSUFBSSxxQ0FBNkIsRUFBRTtZQUM1RSxFQUFFLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRTtnQkFDZCxNQUFNLE1BQU0sR0FBRyxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQTtnQkFFckQsSUFBQSxhQUFNLEVBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsY0FBYyxDQUFDLENBQUE7WUFDaEQsQ0FBQyxDQUFDLENBQUE7U0FDTDtJQUNMLENBQUMsQ0FBQyxDQUFBO0lBRUYsUUFBUSxDQUFDLG9CQUFvQixFQUFFLEdBQUcsRUFBRTtRQUNoQyxLQUFLLE1BQU0sRUFBRSxRQUFRLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLGlDQUF5QixFQUFFO1lBQ3BFLEVBQUUsQ0FBQyxRQUFRLEVBQUUsR0FBRyxFQUFFO2dCQUNkLE1BQU0sRUFBRSxHQUFHLElBQUEsZ0JBQVEsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFBO2dCQUU3QyxJQUFBLGFBQU0sRUFBQyxFQUFFLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQTtZQUN4QyxDQUFDLENBQUMsQ0FBQTtTQUNMO0lBQ0wsQ0FBQyxDQUFDLENBQUE7SUFFRixRQUFRLENBQUMsd0JBQXdCLEVBQUUsR0FBRyxFQUFFO1FBQ3BDLEtBQUssTUFBTSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsYUFBYSxFQUFFLElBQUksb0NBQTRCLEVBQUU7WUFDMUUsRUFBRSxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2QsTUFBTSxLQUFLLEdBQUcsSUFBQSxtQkFBVyxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUE7Z0JBRW5ELElBQUEsYUFBTSxFQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1lBQzlDLENBQUMsQ0FBQyxDQUFBO1NBQ0w7SUFDTCxDQUFDLENBQUMsQ0FBQTtJQUVGLFFBQVEsQ0FBQyxzQkFBc0IsRUFBRSxHQUFHLEVBQUU7UUFDbEMsRUFBRSxDQUFDLCtCQUErQixFQUFFLEdBQUcsRUFBRTtZQUNyQyxJQUFBLGFBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQ3BILENBQUMsQ0FBQyxDQUFBO1FBQ0YsRUFBRSxDQUFDLGdEQUFnRCxFQUFFLEdBQUcsRUFBRTtZQUN0RCxJQUFBLGFBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLG9CQUFZLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxDQUFBO1FBQzFILENBQUMsQ0FBQyxDQUFBO1FBRUYsRUFBRSxDQUFDLDZCQUE2QixFQUFFLEdBQUcsRUFBRTtZQUNuQyxJQUFBLGFBQU0sRUFBQyxHQUFHLEVBQUUsQ0FBQyxJQUFBLGdCQUFRLEVBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUMsbUJBQVUsRUFBRSx5QkFBZ0IsQ0FBQyxlQUFlLENBQUMsQ0FBQTtRQUMzRyxDQUFDLENBQUMsQ0FBQTtRQUNGLEVBQUUsQ0FBQyw4QkFBOEIsRUFBRSxHQUFHLEVBQUU7WUFDcEMsSUFBQSxhQUFNLEVBQUMsR0FBRyxFQUFFLENBQUMsSUFBQSxnQkFBUSxFQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSyxDQUFDLG1CQUFVLEVBQUUseUJBQWdCLENBQUMsZUFBZSxDQUFDLENBQUE7UUFDbkgsQ0FBQyxDQUFDLENBQUE7UUFFRixFQUFFLENBQUMsaUNBQWlDLEVBQUUsR0FBRyxFQUFFO1lBQ3ZDLElBQUEsYUFBTSxFQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsbUJBQVcsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBVSxFQUFFLHlCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDbEgsQ0FBQyxDQUFDLENBQUE7UUFDRixFQUFFLENBQUMsa0NBQWtDLEVBQUUsR0FBRyxFQUFFO1lBQ3hDLElBQUEsYUFBTSxFQUFDLEdBQUcsRUFBRSxDQUFDLElBQUEsbUJBQVcsRUFBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssQ0FBQyxtQkFBVSxFQUFFLHlCQUFnQixDQUFDLG1CQUFtQixDQUFDLENBQUE7UUFDMUgsQ0FBQyxDQUFDLENBQUE7SUFDTixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQyxDQUFBIn0=
|
|
@@ -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 @@
|
|
|
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 @@
|
|
|
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 @@
|
|
|
1
|
+
{"version":3,"file":"outputs.test.d.ts","sourceRoot":"","sources":["../../../test/unit/outputs.test.ts"],"names":[],"mappings":""}
|