ripple-binary-codec 1.2.0-beta.1 → 1.2.2
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/dist/binary.d.ts +6 -6
- package/dist/binary.js.map +1 -1
- package/dist/coretypes.d.ts +8 -8
- package/dist/coretypes.js.map +1 -1
- package/dist/enums/index.d.ts +6 -5
- package/dist/enums/index.js +3 -2
- package/dist/enums/index.js.map +1 -1
- package/dist/enums/utils-renumber.js +12 -12
- package/dist/enums/utils-renumber.js.map +1 -1
- package/dist/hash-prefixes.d.ts +1 -1
- package/dist/hash-prefixes.js.map +1 -1
- package/dist/hashes.d.ts +3 -3
- package/dist/hashes.js +5 -4
- package/dist/hashes.js.map +1 -1
- package/dist/index.d.ts +2 -2
- package/dist/index.js +13 -13
- package/dist/index.js.map +1 -1
- package/dist/ledger-hashes.d.ts +3 -3
- package/dist/ledger-hashes.js +5 -5
- package/dist/ledger-hashes.js.map +1 -1
- package/dist/quality.d.ts +2 -2
- package/dist/quality.js +4 -4
- package/dist/quality.js.map +1 -1
- package/dist/serdes/binary-parser.d.ts +3 -3
- package/dist/serdes/binary-parser.js +10 -10
- package/dist/serdes/binary-parser.js.map +1 -1
- package/dist/serdes/binary-serializer.d.ts +5 -5
- package/dist/serdes/binary-serializer.js +13 -8
- package/dist/serdes/binary-serializer.js.map +1 -1
- package/dist/shamap.d.ts +3 -3
- package/dist/shamap.js +5 -3
- package/dist/shamap.js.map +1 -1
- package/dist/types/account-id.d.ts +2 -2
- package/dist/types/account-id.js +12 -10
- package/dist/types/account-id.js.map +1 -1
- package/dist/types/amount.d.ts +3 -3
- package/dist/types/amount.js +23 -21
- package/dist/types/amount.js.map +1 -1
- package/dist/types/blob.d.ts +3 -3
- package/dist/types/blob.js +6 -4
- package/dist/types/blob.js.map +1 -1
- package/dist/types/currency.d.ts +2 -2
- package/dist/types/currency.js +14 -12
- package/dist/types/currency.js.map +1 -1
- package/dist/types/hash-128.d.ts +2 -2
- package/dist/types/hash-128.js +3 -1
- package/dist/types/hash-128.js.map +1 -1
- package/dist/types/hash-160.d.ts +2 -2
- package/dist/types/hash-160.js +3 -1
- package/dist/types/hash-160.js.map +1 -1
- package/dist/types/hash-256.d.ts +2 -2
- package/dist/types/hash-256.js +3 -1
- package/dist/types/hash-256.js.map +1 -1
- package/dist/types/hash.d.ts +3 -3
- package/dist/types/hash.js +7 -5
- package/dist/types/hash.js.map +1 -1
- package/dist/types/index.d.ts +15 -15
- package/dist/types/index.js +3 -3
- package/dist/types/index.js.map +1 -1
- package/dist/types/path-set.d.ts +2 -2
- package/dist/types/path-set.js +5 -3
- package/dist/types/path-set.js.map +1 -1
- package/dist/types/serialized-type.d.ts +4 -4
- package/dist/types/serialized-type.js +7 -5
- package/dist/types/serialized-type.js.map +1 -1
- package/dist/types/st-array.d.ts +2 -2
- package/dist/types/st-array.js +6 -4
- package/dist/types/st-array.js.map +1 -1
- package/dist/types/st-object.d.ts +2 -2
- package/dist/types/st-object.js +25 -14
- package/dist/types/st-object.js.map +1 -1
- package/dist/types/uint-16.d.ts +3 -3
- package/dist/types/uint-16.js +5 -3
- package/dist/types/uint-16.js.map +1 -1
- package/dist/types/uint-32.d.ts +3 -3
- package/dist/types/uint-32.js +6 -4
- package/dist/types/uint-32.js.map +1 -1
- package/dist/types/uint-64.d.ts +4 -4
- package/dist/types/uint-64.js +12 -10
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint-8.d.ts +3 -3
- package/dist/types/uint-8.js +5 -3
- package/dist/types/uint-8.js.map +1 -1
- package/dist/types/uint.d.ts +3 -3
- package/dist/types/uint.js +4 -2
- package/dist/types/uint.js.map +1 -1
- package/dist/types/vector-256.d.ts +3 -3
- package/dist/types/vector-256.js +7 -5
- package/dist/types/vector-256.js.map +1 -1
- package/package.json +14 -29
- package/test/amount.test.js +29 -29
- package/test/binary-json.test.js +24 -26
- package/test/binary-parser.test.js +225 -227
- package/test/binary-serializer.test.js +194 -169
- package/test/fixtures/negative-unl.json +4 -4
- package/test/fixtures/nf-token.json +547 -0
- package/test/hash.test.js +85 -78
- package/test/ledger.test.js +19 -19
- package/test/lower-case-hex.test.js +28 -28
- package/test/pseudo-transaction.test.js +26 -26
- package/test/quality.test.js +13 -13
- package/test/shamap.test.js +54 -54
- package/test/signing-data-encoding.test.js +79 -79
- package/test/tx-encode-decode.test.js +63 -63
- package/test/types.test.js +23 -23
- package/test/uint.test.js +107 -107
- package/test/x-address.test.js +106 -106
- package/dist/ShaMap/ShaMap.d.ts +0 -3
- package/dist/ShaMap/ShaMap.js +0 -25
- package/dist/ShaMap/ShaMap.js.map +0 -1
- package/dist/ShaMap/ShaMapInner.d.ts +0 -66
- package/dist/ShaMap/ShaMapInner.js +0 -145
- package/dist/ShaMap/ShaMapInner.js.map +0 -1
- package/dist/ShaMap/ShaMapLeaf.d.ts +0 -42
- package/dist/ShaMap/ShaMapLeaf.js +0 -84
- package/dist/ShaMap/ShaMapLeaf.js.map +0 -1
- package/dist/ShaMap/ShaMapNode.d.ts +0 -13
- package/dist/ShaMap/ShaMapNode.js +0 -12
- package/dist/ShaMap/ShaMapNode.js.map +0 -1
- package/dist/ShaMap/index.d.ts +0 -3
- package/dist/ShaMap/index.js +0 -9
- package/dist/ShaMap/index.js.map +0 -1
- package/dist/enums/Bytes.d.ts +0 -10
- package/dist/enums/Bytes.js +0 -30
- package/dist/enums/Bytes.js.map +0 -1
- package/dist/enums/BytesLookup.d.ts +0 -8
- package/dist/enums/BytesLookup.js +0 -29
- package/dist/enums/BytesLookup.js.map +0 -1
- package/dist/enums/Field.d.ts +0 -3
- package/dist/enums/Field.js +0 -9
- package/dist/enums/Field.js.map +0 -1
- package/dist/enums/FieldInfo.d.ts +0 -7
- package/dist/enums/FieldInfo.js +0 -3
- package/dist/enums/FieldInfo.js.map +0 -1
- package/dist/enums/FieldInstance.d.ts +0 -14
- package/dist/enums/FieldInstance.js +0 -3
- package/dist/enums/FieldInstance.js.map +0 -1
- package/dist/enums/FieldLookup.d.ts +0 -11
- package/dist/enums/FieldLookup.js +0 -102
- package/dist/enums/FieldLookup.js.map +0 -1
- package/dist/serdes/BinaryParser.d.ts +0 -100
- package/dist/serdes/BinaryParser.js +0 -200
- package/dist/serdes/BinaryParser.js.map +0 -1
- package/dist/serdes/BinarySerializer.d.ts +0 -50
- package/dist/serdes/BinarySerializer.js +0 -105
- package/dist/serdes/BinarySerializer.js.map +0 -1
- package/dist/serdes/BytesList.d.ts +0 -28
- package/dist/serdes/BytesList.js +0 -48
- package/dist/serdes/BytesList.js.map +0 -1
- package/dist/types/Comparable.d.ts +0 -18
- package/dist/types/Comparable.js +0 -43
- package/dist/types/Comparable.js.map +0 -1
- package/dist/types/PathSet/Hop.d.ts +0 -41
- package/dist/types/PathSet/Hop.js +0 -116
- package/dist/types/PathSet/Hop.js.map +0 -1
- package/dist/types/PathSet/Path.d.ts +0 -33
- package/dist/types/PathSet/Path.js +0 -83
- package/dist/types/PathSet/Path.js.map +0 -1
- package/dist/types/PathSet/index.d.ts +0 -29
- package/dist/types/PathSet/index.js +0 -98
- package/dist/types/PathSet/index.js.map +0 -1
- package/dist/types/SerializedType.d.ts +0 -47
- package/dist/types/SerializedType.js +0 -69
- package/dist/types/SerializedType.js.map +0 -1
|
@@ -2,128 +2,128 @@ const {
|
|
|
2
2
|
encodeForSigning,
|
|
3
3
|
encodeForSigningClaim,
|
|
4
4
|
encodeForMultisigning,
|
|
5
|
-
} = require(
|
|
5
|
+
} = require('../dist')
|
|
6
6
|
|
|
7
7
|
const tx_json = {
|
|
8
|
-
Account:
|
|
9
|
-
Amount:
|
|
10
|
-
Destination:
|
|
11
|
-
Fee:
|
|
8
|
+
Account: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
|
|
9
|
+
Amount: '1000',
|
|
10
|
+
Destination: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
|
|
11
|
+
Fee: '10',
|
|
12
12
|
Flags: 2147483648,
|
|
13
13
|
Sequence: 1,
|
|
14
|
-
TransactionType:
|
|
14
|
+
TransactionType: 'Payment',
|
|
15
15
|
TxnSignature:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
16
|
+
'30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1' +
|
|
17
|
+
'E721B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80' +
|
|
18
|
+
'ECA3CD7B9B',
|
|
19
19
|
Signature:
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
20
|
+
'30440220718D264EF05CAED7C781FF6DE298DCAC68D002562C9BF3A07C1E72' +
|
|
21
|
+
'1B420C0DAB02203A5A4779EF4D2CCC7BC3EF886676D803A9981B928D3B8ACA483B80ECA' +
|
|
22
|
+
'3CD7B9B',
|
|
23
23
|
SigningPubKey:
|
|
24
|
-
|
|
25
|
-
}
|
|
24
|
+
'ED5F5AC8B98974A3CA843326D9B88CEBD0560177B973EE0B149F782CFAA06DC66A',
|
|
25
|
+
}
|
|
26
26
|
|
|
27
|
-
describe(
|
|
28
|
-
test(
|
|
29
|
-
const actual = encodeForSigning(tx_json)
|
|
27
|
+
describe('Signing data', function () {
|
|
28
|
+
test('can create single signing blobs', function () {
|
|
29
|
+
const actual = encodeForSigning(tx_json)
|
|
30
30
|
expect(actual).toBe(
|
|
31
31
|
[
|
|
32
|
-
|
|
32
|
+
'53545800', // signingPrefix
|
|
33
33
|
// TransactionType
|
|
34
|
-
|
|
35
|
-
|
|
34
|
+
'12',
|
|
35
|
+
'0000',
|
|
36
36
|
// Flags
|
|
37
|
-
|
|
38
|
-
|
|
37
|
+
'22',
|
|
38
|
+
'80000000',
|
|
39
39
|
// Sequence
|
|
40
|
-
|
|
41
|
-
|
|
40
|
+
'24',
|
|
41
|
+
'00000001',
|
|
42
42
|
// Amount
|
|
43
|
-
|
|
43
|
+
'61',
|
|
44
44
|
// native amount
|
|
45
|
-
|
|
45
|
+
'40000000000003E8',
|
|
46
46
|
// Fee
|
|
47
|
-
|
|
47
|
+
'68',
|
|
48
48
|
// native amount
|
|
49
|
-
|
|
49
|
+
'400000000000000A',
|
|
50
50
|
// SigningPubKey
|
|
51
|
-
|
|
51
|
+
'73',
|
|
52
52
|
// VLLength
|
|
53
|
-
|
|
54
|
-
|
|
53
|
+
'21',
|
|
54
|
+
'ED5F5AC8B98974A3CA843326D9B88CEBD0560177B973EE0B149F782CFAA06DC66A',
|
|
55
55
|
// Account
|
|
56
|
-
|
|
56
|
+
'81',
|
|
57
57
|
// VLLength
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
'14',
|
|
59
|
+
'5B812C9D57731E27A2DA8B1830195F88EF32A3B6',
|
|
60
60
|
// Destination
|
|
61
|
-
|
|
61
|
+
'83',
|
|
62
62
|
// VLLength
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
].join(
|
|
66
|
-
)
|
|
67
|
-
})
|
|
68
|
-
test(
|
|
69
|
-
const signingAccount =
|
|
70
|
-
const signingJson = Object.assign({}, tx_json, { SigningPubKey:
|
|
71
|
-
const actual = encodeForMultisigning(signingJson, signingAccount)
|
|
63
|
+
'14',
|
|
64
|
+
'B5F762798A53D543A014CAF8B297CFF8F2F937E8',
|
|
65
|
+
].join(''),
|
|
66
|
+
)
|
|
67
|
+
})
|
|
68
|
+
test('can create multi signing blobs', function () {
|
|
69
|
+
const signingAccount = 'rJZdUusLDtY9NEsGea7ijqhVrXv98rYBYN'
|
|
70
|
+
const signingJson = Object.assign({}, tx_json, { SigningPubKey: '' })
|
|
71
|
+
const actual = encodeForMultisigning(signingJson, signingAccount)
|
|
72
72
|
expect(actual).toBe(
|
|
73
73
|
[
|
|
74
|
-
|
|
74
|
+
'534D5400', // signingPrefix
|
|
75
75
|
// TransactionType
|
|
76
|
-
|
|
77
|
-
|
|
76
|
+
'12',
|
|
77
|
+
'0000',
|
|
78
78
|
// Flags
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
'22',
|
|
80
|
+
'80000000',
|
|
81
81
|
// Sequence
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
'24',
|
|
83
|
+
'00000001',
|
|
84
84
|
// Amount
|
|
85
|
-
|
|
85
|
+
'61',
|
|
86
86
|
// native amount
|
|
87
|
-
|
|
87
|
+
'40000000000003E8',
|
|
88
88
|
// Fee
|
|
89
|
-
|
|
89
|
+
'68',
|
|
90
90
|
// native amount
|
|
91
|
-
|
|
91
|
+
'400000000000000A',
|
|
92
92
|
// SigningPubKey
|
|
93
|
-
|
|
93
|
+
'73',
|
|
94
94
|
// VLLength
|
|
95
|
-
|
|
95
|
+
'00',
|
|
96
96
|
// '',
|
|
97
97
|
// Account
|
|
98
|
-
|
|
98
|
+
'81',
|
|
99
99
|
// VLLength
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
'14',
|
|
101
|
+
'5B812C9D57731E27A2DA8B1830195F88EF32A3B6',
|
|
102
102
|
// Destination
|
|
103
|
-
|
|
103
|
+
'83',
|
|
104
104
|
// VLLength
|
|
105
|
-
|
|
106
|
-
|
|
105
|
+
'14',
|
|
106
|
+
'B5F762798A53D543A014CAF8B297CFF8F2F937E8',
|
|
107
107
|
// signingAccount suffix
|
|
108
|
-
|
|
109
|
-
].join(
|
|
110
|
-
)
|
|
111
|
-
})
|
|
112
|
-
test(
|
|
108
|
+
'C0A5ABEF242802EFED4B041E8F2D4A8CC86AE3D1',
|
|
109
|
+
].join(''),
|
|
110
|
+
)
|
|
111
|
+
})
|
|
112
|
+
test('can create claim blob', function () {
|
|
113
113
|
const channel =
|
|
114
|
-
|
|
115
|
-
const amount =
|
|
116
|
-
const json = { channel, amount }
|
|
117
|
-
const actual = encodeForSigningClaim(json)
|
|
114
|
+
'43904CBFCDCEC530B4037871F86EE90BF799DF8D2E0EA564BC8A3F332E4F5FB1'
|
|
115
|
+
const amount = '1000'
|
|
116
|
+
const json = { channel, amount }
|
|
117
|
+
const actual = encodeForSigningClaim(json)
|
|
118
118
|
expect(actual).toBe(
|
|
119
119
|
[
|
|
120
120
|
// hash prefix
|
|
121
|
-
|
|
121
|
+
'434C4D00',
|
|
122
122
|
// channel ID
|
|
123
|
-
|
|
123
|
+
'43904CBFCDCEC530B4037871F86EE90BF799DF8D2E0EA564BC8A3F332E4F5FB1',
|
|
124
124
|
// amount as a uint64
|
|
125
|
-
|
|
126
|
-
].join(
|
|
127
|
-
)
|
|
128
|
-
})
|
|
129
|
-
})
|
|
125
|
+
'00000000000003E8',
|
|
126
|
+
].join(''),
|
|
127
|
+
)
|
|
128
|
+
})
|
|
129
|
+
})
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
const { encode, decode } = require(
|
|
1
|
+
const { encode, decode } = require('../dist')
|
|
2
2
|
|
|
3
3
|
// Notice: no Amount or Fee
|
|
4
4
|
const tx_json = {
|
|
5
|
-
Account:
|
|
5
|
+
Account: 'r9LqNeG6qHxjeUocjvVki2XR35weJ9mZgQ',
|
|
6
6
|
// Amount: '1000',
|
|
7
|
-
Destination:
|
|
7
|
+
Destination: 'rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh',
|
|
8
8
|
// Fee: '10',
|
|
9
9
|
|
|
10
10
|
// JavaScript converts operands to 32-bit signed ints after doing bitwise
|
|
@@ -12,86 +12,86 @@ const tx_json = {
|
|
|
12
12
|
Flags: (1 << 31) >>> 0, // tfFullyCanonicalSig
|
|
13
13
|
|
|
14
14
|
Sequence: 1,
|
|
15
|
-
TransactionType:
|
|
15
|
+
TransactionType: 'Payment',
|
|
16
16
|
// TxnSignature,
|
|
17
17
|
// Signature,
|
|
18
18
|
// SigningPubKey
|
|
19
|
-
}
|
|
19
|
+
}
|
|
20
20
|
|
|
21
|
-
describe(
|
|
22
|
-
test(
|
|
23
|
-
const encoded = encode(tx_json)
|
|
24
|
-
const decoded = decode(encoded)
|
|
25
|
-
expect(tx_json).toEqual(decoded)
|
|
26
|
-
})
|
|
27
|
-
test(
|
|
21
|
+
describe('encoding and decoding tx_json', function () {
|
|
22
|
+
test('can encode tx_json without Amount or Fee', function () {
|
|
23
|
+
const encoded = encode(tx_json)
|
|
24
|
+
const decoded = decode(encoded)
|
|
25
|
+
expect(tx_json).toEqual(decoded)
|
|
26
|
+
})
|
|
27
|
+
test('can encode tx_json with Amount and Fee', function () {
|
|
28
28
|
const my_tx = Object.assign({}, tx_json, {
|
|
29
|
-
Amount:
|
|
30
|
-
Fee:
|
|
31
|
-
})
|
|
32
|
-
const encoded = encode(my_tx)
|
|
33
|
-
const decoded = decode(encoded)
|
|
34
|
-
expect(my_tx).toEqual(decoded)
|
|
35
|
-
})
|
|
36
|
-
test(
|
|
29
|
+
Amount: '1000',
|
|
30
|
+
Fee: '10',
|
|
31
|
+
})
|
|
32
|
+
const encoded = encode(my_tx)
|
|
33
|
+
const decoded = decode(encoded)
|
|
34
|
+
expect(my_tx).toEqual(decoded)
|
|
35
|
+
})
|
|
36
|
+
test('can encode tx_json with TicketCount', function () {
|
|
37
37
|
const my_tx = Object.assign({}, tx_json, {
|
|
38
38
|
TicketCount: 2,
|
|
39
|
-
})
|
|
40
|
-
const encoded = encode(my_tx)
|
|
41
|
-
const decoded = decode(encoded)
|
|
42
|
-
expect(my_tx).toEqual(decoded)
|
|
43
|
-
})
|
|
44
|
-
test(
|
|
39
|
+
})
|
|
40
|
+
const encoded = encode(my_tx)
|
|
41
|
+
const decoded = decode(encoded)
|
|
42
|
+
expect(my_tx).toEqual(decoded)
|
|
43
|
+
})
|
|
44
|
+
test('can encode tx_json with TicketSequence', function () {
|
|
45
45
|
const my_tx = Object.assign({}, tx_json, {
|
|
46
46
|
Sequence: 0,
|
|
47
47
|
TicketSequence: 2,
|
|
48
|
-
})
|
|
49
|
-
const encoded = encode(my_tx)
|
|
50
|
-
const decoded = decode(encoded)
|
|
51
|
-
expect(my_tx).toEqual(decoded)
|
|
52
|
-
})
|
|
53
|
-
test(
|
|
48
|
+
})
|
|
49
|
+
const encoded = encode(my_tx)
|
|
50
|
+
const decoded = decode(encoded)
|
|
51
|
+
expect(my_tx).toEqual(decoded)
|
|
52
|
+
})
|
|
53
|
+
test('throws when Amount is invalid', function () {
|
|
54
54
|
const my_tx = Object.assign({}, tx_json, {
|
|
55
|
-
Amount:
|
|
56
|
-
Fee:
|
|
57
|
-
})
|
|
55
|
+
Amount: '1000.001',
|
|
56
|
+
Fee: '10',
|
|
57
|
+
})
|
|
58
58
|
expect(() => {
|
|
59
|
-
encode(my_tx)
|
|
60
|
-
}).toThrow()
|
|
61
|
-
})
|
|
62
|
-
test(
|
|
59
|
+
encode(my_tx)
|
|
60
|
+
}).toThrow()
|
|
61
|
+
})
|
|
62
|
+
test('throws when Fee is invalid', function () {
|
|
63
63
|
const my_tx = Object.assign({}, tx_json, {
|
|
64
|
-
Amount:
|
|
65
|
-
Fee:
|
|
66
|
-
})
|
|
64
|
+
Amount: '1000',
|
|
65
|
+
Fee: '10.123',
|
|
66
|
+
})
|
|
67
67
|
expect(() => {
|
|
68
|
-
encode(my_tx)
|
|
69
|
-
}).toThrow()
|
|
70
|
-
})
|
|
71
|
-
test(
|
|
68
|
+
encode(my_tx)
|
|
69
|
+
}).toThrow()
|
|
70
|
+
})
|
|
71
|
+
test('throws when Amount and Fee are invalid', function () {
|
|
72
72
|
const my_tx = Object.assign({}, tx_json, {
|
|
73
|
-
Amount:
|
|
74
|
-
Fee:
|
|
75
|
-
})
|
|
73
|
+
Amount: '1000.789',
|
|
74
|
+
Fee: '10.123',
|
|
75
|
+
})
|
|
76
76
|
expect(() => {
|
|
77
|
-
encode(my_tx)
|
|
78
|
-
}).toThrow()
|
|
79
|
-
})
|
|
80
|
-
test(
|
|
77
|
+
encode(my_tx)
|
|
78
|
+
}).toThrow()
|
|
79
|
+
})
|
|
80
|
+
test('throws when Amount is a number instead of a string-encoded integer', function () {
|
|
81
81
|
const my_tx = Object.assign({}, tx_json, {
|
|
82
82
|
Amount: 1000.789,
|
|
83
|
-
})
|
|
83
|
+
})
|
|
84
84
|
expect(() => {
|
|
85
|
-
encode(my_tx)
|
|
86
|
-
}).toThrow()
|
|
87
|
-
})
|
|
85
|
+
encode(my_tx)
|
|
86
|
+
}).toThrow()
|
|
87
|
+
})
|
|
88
88
|
|
|
89
|
-
test(
|
|
89
|
+
test('throws when Fee is a number instead of a string-encoded integer', function () {
|
|
90
90
|
const my_tx = Object.assign({}, tx_json, {
|
|
91
91
|
Amount: 1234.56,
|
|
92
|
-
})
|
|
92
|
+
})
|
|
93
93
|
expect(() => {
|
|
94
|
-
encode(my_tx)
|
|
95
|
-
}).toThrow()
|
|
96
|
-
})
|
|
97
|
-
})
|
|
94
|
+
encode(my_tx)
|
|
95
|
+
}).toThrow()
|
|
96
|
+
})
|
|
97
|
+
})
|
package/test/types.test.js
CHANGED
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
const { coreTypes } = require(
|
|
2
|
-
const { SerializedType } = require(
|
|
1
|
+
const { coreTypes } = require('../dist/types')
|
|
2
|
+
const { SerializedType } = require('../dist/types/serialized-type')
|
|
3
3
|
|
|
4
|
-
describe(
|
|
4
|
+
describe('SerializedType interfaces', () => {
|
|
5
5
|
Object.entries(coreTypes).forEach(([name, Value]) => {
|
|
6
6
|
test(`${name} has a \`from\` static constructor`, () => {
|
|
7
|
-
expect(Value.from && Value.from !== Array.from).toBe(true)
|
|
8
|
-
})
|
|
7
|
+
expect(Value.from && Value.from !== Array.from).toBe(true)
|
|
8
|
+
})
|
|
9
9
|
test(`${name} has a default constructor`, () => {
|
|
10
|
-
expect(new Value()).not.toBe(undefined)
|
|
11
|
-
})
|
|
10
|
+
expect(new Value()).not.toBe(undefined)
|
|
11
|
+
})
|
|
12
12
|
test(`${name}.from will return the same object`, () => {
|
|
13
|
-
const instance = new Value()
|
|
14
|
-
expect(Value.from(instance) === instance).toBe(true)
|
|
15
|
-
})
|
|
13
|
+
const instance = new Value()
|
|
14
|
+
expect(Value.from(instance) === instance).toBe(true)
|
|
15
|
+
})
|
|
16
16
|
test(`${name} instances have toBytesSink`, () => {
|
|
17
|
-
expect(new Value().toBytesSink).not.toBe(undefined)
|
|
18
|
-
})
|
|
17
|
+
expect(new Value().toBytesSink).not.toBe(undefined)
|
|
18
|
+
})
|
|
19
19
|
test(`${name} instances have toJSON`, () => {
|
|
20
|
-
expect(new Value().toJSON).not.toBe(undefined)
|
|
21
|
-
})
|
|
20
|
+
expect(new Value().toJSON).not.toBe(undefined)
|
|
21
|
+
})
|
|
22
22
|
test(`${name}.from(json).toJSON() == json`, () => {
|
|
23
|
-
const newJSON = new Value().toJSON()
|
|
24
|
-
expect(Value.from(newJSON).toJSON()).toEqual(newJSON)
|
|
25
|
-
})
|
|
23
|
+
const newJSON = new Value().toJSON()
|
|
24
|
+
expect(Value.from(newJSON).toJSON()).toEqual(newJSON)
|
|
25
|
+
})
|
|
26
26
|
describe(`${name} supports all methods of the SerializedType mixin`, () => {
|
|
27
27
|
Object.keys(SerializedType.prototype).forEach((k) => {
|
|
28
28
|
test(`new ${name}.prototype.${k} !== undefined`, () => {
|
|
29
|
-
expect(Value.prototype[k]).not.toBe(undefined)
|
|
30
|
-
})
|
|
31
|
-
})
|
|
32
|
-
})
|
|
33
|
-
})
|
|
34
|
-
})
|
|
29
|
+
expect(Value.prototype[k]).not.toBe(undefined)
|
|
30
|
+
})
|
|
31
|
+
})
|
|
32
|
+
})
|
|
33
|
+
})
|
|
34
|
+
})
|