ripple-binary-codec 1.4.2 → 1.4.3
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.js +25 -29
- package/dist/binary.js.map +1 -1
- package/dist/coretypes.js +31 -8
- package/dist/coretypes.js.map +1 -1
- package/dist/enums/bytes.d.ts +26 -0
- package/dist/enums/bytes.js +64 -0
- package/dist/enums/bytes.js.map +1 -0
- package/dist/enums/constants.d.ts +4 -0
- package/dist/enums/constants.js +8 -0
- package/dist/enums/constants.js.map +1 -0
- package/dist/enums/definitions.json +2330 -1971
- package/dist/enums/field.d.ts +29 -0
- package/dist/enums/field.js +59 -0
- package/dist/enums/field.js.map +1 -0
- package/dist/enums/index.js +69 -60
- package/dist/enums/index.js.map +1 -1
- package/dist/enums/src/enums/definitions.json +2337 -0
- package/dist/enums/utils-renumber.js +14 -14
- package/dist/enums/utils-renumber.js.map +1 -1
- package/dist/enums/xrpl-definitions-base.d.ts +44 -0
- package/dist/enums/xrpl-definitions-base.js +64 -0
- package/dist/enums/xrpl-definitions-base.js.map +1 -0
- package/dist/enums/xrpl-definitions.d.ts +21 -0
- package/dist/enums/xrpl-definitions.js +28 -0
- package/dist/enums/xrpl-definitions.js.map +1 -0
- package/dist/hash-prefixes.js +3 -3
- package/dist/hash-prefixes.js.map +1 -1
- package/dist/hashes.js +21 -43
- package/dist/hashes.js.map +1 -1
- package/dist/index.d.ts +2 -12
- package/dist/index.js +39 -16
- package/dist/index.js.map +1 -1
- package/dist/ledger-hashes.d.ts +1 -1
- package/dist/ledger-hashes.js +51 -28
- package/dist/ledger-hashes.js.map +1 -1
- package/dist/quality.js +18 -21
- package/dist/quality.js.map +1 -1
- package/dist/serdes/binary-parser.js +78 -56
- package/dist/serdes/binary-parser.js.map +1 -1
- package/dist/serdes/binary-serializer.js +59 -40
- package/dist/serdes/binary-serializer.js.map +1 -1
- package/dist/shamap.js +70 -98
- package/dist/shamap.js.map +1 -1
- package/dist/types/account-id.js +18 -35
- package/dist/types/account-id.js.map +1 -1
- package/dist/types/amount.js +71 -88
- package/dist/types/amount.js.map +1 -1
- package/dist/types/blob.js +10 -27
- package/dist/types/blob.js.map +1 -1
- package/dist/types/currency.js +26 -44
- package/dist/types/currency.js.map +1 -1
- package/dist/types/hash-128.d.ts +6 -0
- package/dist/types/hash-128.js +23 -25
- package/dist/types/hash-128.js.map +1 -1
- package/dist/types/hash-160.js +8 -25
- package/dist/types/hash-160.js.map +1 -1
- package/dist/types/hash-256.js +8 -25
- package/dist/types/hash-256.js.map +1 -1
- package/dist/types/hash.js +20 -38
- package/dist/types/hash.js.map +1 -1
- package/dist/types/index.js +18 -18
- package/dist/types/index.js.map +1 -1
- package/dist/types/path-set.js +57 -87
- package/dist/types/path-set.js.map +1 -1
- package/dist/types/serialized-type.d.ts +3 -3
- package/dist/types/serialized-type.js +35 -56
- package/dist/types/serialized-type.js.map +1 -1
- package/dist/types/st-array.js +26 -46
- package/dist/types/st-array.js.map +1 -1
- package/dist/types/st-object.js +49 -73
- package/dist/types/st-object.js.map +1 -1
- package/dist/types/uint-16.js +15 -32
- package/dist/types/uint-16.js.map +1 -1
- package/dist/types/uint-32.js +16 -33
- package/dist/types/uint-32.js.map +1 -1
- package/dist/types/uint-64.d.ts +1 -1
- package/dist/types/uint-64.js +30 -47
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint-8.js +15 -32
- package/dist/types/uint-8.js.map +1 -1
- package/dist/types/uint.d.ts +1 -1
- package/dist/types/uint.js +10 -27
- package/dist/types/uint.js.map +1 -1
- package/dist/types/vector-256.js +23 -40
- package/dist/types/vector-256.js.map +1 -1
- package/package.json +6 -8
- package/test/amount.test.js +1 -1
- package/test/binary-json.test.js +1 -1
- package/test/binary-parser.test.js +4 -4
- package/test/binary-serializer.test.js +3 -3
- package/test/fixtures/data-driven-tests.json +0 -14
- package/test/hash.test.js +28 -2
- package/test/ledger.test.js +1 -1
- package/test/lower-case-hex.test.js +1 -1
- package/test/pseudo-transaction.test.js +1 -1
- package/test/quality.test.js +1 -1
- package/test/shamap.test.js +3 -3
- package/test/signing-data-encoding.test.js +1 -1
- package/test/tx-encode-decode.test.js +1 -1
- package/test/types.test.js +2 -2
- package/test/uint.test.js +2 -2
- package/test/x-address.test.js +1 -1
package/dist/types/amount.js
CHANGED
|
@@ -1,37 +1,22 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.Amount = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
4
|
+
const decimal_js_1 = require("decimal.js");
|
|
5
|
+
const binary_parser_1 = require("../serdes/binary-parser");
|
|
6
|
+
const account_id_1 = require("./account-id");
|
|
7
|
+
const currency_1 = require("./currency");
|
|
8
|
+
const serialized_type_1 = require("./serialized-type");
|
|
9
|
+
const bigInt = require("big-integer");
|
|
10
|
+
const buffer_1 = require("buffer/");
|
|
26
11
|
/**
|
|
27
12
|
* Constants for validating amounts
|
|
28
13
|
*/
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
14
|
+
const MIN_IOU_EXPONENT = -96;
|
|
15
|
+
const MAX_IOU_EXPONENT = 80;
|
|
16
|
+
const MAX_IOU_PRECISION = 16;
|
|
17
|
+
const MAX_DROPS = new decimal_js_1.Decimal('1e17');
|
|
18
|
+
const MIN_XRP = new decimal_js_1.Decimal('1e-6');
|
|
19
|
+
const mask = bigInt(0x00000000ffffffff);
|
|
35
20
|
/**
|
|
36
21
|
* decimal.js configuration for Amount IOUs
|
|
37
22
|
*/
|
|
@@ -43,7 +28,7 @@ decimal_js_1.Decimal.config({
|
|
|
43
28
|
* Type guard for AmountObject
|
|
44
29
|
*/
|
|
45
30
|
function isAmountObject(arg) {
|
|
46
|
-
|
|
31
|
+
const keys = Object.keys(arg).sort();
|
|
47
32
|
return (keys.length === 3 &&
|
|
48
33
|
keys[0] === 'currency' &&
|
|
49
34
|
keys[1] === 'issuer' &&
|
|
@@ -52,10 +37,9 @@ function isAmountObject(arg) {
|
|
|
52
37
|
/**
|
|
53
38
|
* Class for serializing/Deserializing Amounts
|
|
54
39
|
*/
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
return _super.call(this, bytes !== null && bytes !== void 0 ? bytes : Amount.defaultAmount.bytes) || this;
|
|
40
|
+
class Amount extends serialized_type_1.SerializedType {
|
|
41
|
+
constructor(bytes) {
|
|
42
|
+
super(bytes !== null && bytes !== void 0 ? bytes : Amount.defaultAmount.bytes);
|
|
59
43
|
}
|
|
60
44
|
/**
|
|
61
45
|
* Construct an amount from an IOU or string amount
|
|
@@ -64,15 +48,15 @@ var Amount = /** @class */ (function (_super) {
|
|
|
64
48
|
* representing an integer amount
|
|
65
49
|
* @returns An Amount object
|
|
66
50
|
*/
|
|
67
|
-
|
|
51
|
+
static from(value) {
|
|
68
52
|
if (value instanceof Amount) {
|
|
69
53
|
return value;
|
|
70
54
|
}
|
|
71
|
-
|
|
55
|
+
let amount = buffer_1.Buffer.alloc(8);
|
|
72
56
|
if (typeof value === 'string') {
|
|
73
57
|
Amount.assertXrpIsValid(value);
|
|
74
|
-
|
|
75
|
-
|
|
58
|
+
const number = bigInt(value);
|
|
59
|
+
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
76
60
|
intBuf[0].writeUInt32BE(Number(number.shiftRight(32)), 0);
|
|
77
61
|
intBuf[1].writeUInt32BE(Number(number.and(mask)), 0);
|
|
78
62
|
amount = buffer_1.Buffer.concat(intBuf);
|
|
@@ -80,18 +64,18 @@ var Amount = /** @class */ (function (_super) {
|
|
|
80
64
|
return new Amount(amount);
|
|
81
65
|
}
|
|
82
66
|
if (isAmountObject(value)) {
|
|
83
|
-
|
|
67
|
+
const number = new decimal_js_1.Decimal(value.value);
|
|
84
68
|
Amount.assertIouIsValid(number);
|
|
85
69
|
if (number.isZero()) {
|
|
86
70
|
amount[0] |= 0x80;
|
|
87
71
|
}
|
|
88
72
|
else {
|
|
89
|
-
|
|
90
|
-
.times(
|
|
73
|
+
const integerNumberString = number
|
|
74
|
+
.times(`1e${-(number.e - 15)}`)
|
|
91
75
|
.abs()
|
|
92
76
|
.toString();
|
|
93
|
-
|
|
94
|
-
|
|
77
|
+
const num = bigInt(integerNumberString);
|
|
78
|
+
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
95
79
|
intBuf[0].writeUInt32BE(Number(num.shiftRight(32)), 0);
|
|
96
80
|
intBuf[1].writeUInt32BE(Number(num.and(mask)), 0);
|
|
97
81
|
amount = buffer_1.Buffer.concat(intBuf);
|
|
@@ -99,57 +83,57 @@ var Amount = /** @class */ (function (_super) {
|
|
|
99
83
|
if (number.gt(new decimal_js_1.Decimal(0))) {
|
|
100
84
|
amount[0] |= 0x40;
|
|
101
85
|
}
|
|
102
|
-
|
|
103
|
-
|
|
86
|
+
const exponent = number.e - 15;
|
|
87
|
+
const exponentByte = 97 + exponent;
|
|
104
88
|
amount[0] |= exponentByte >>> 2;
|
|
105
89
|
amount[1] |= (exponentByte & 0x03) << 6;
|
|
106
90
|
}
|
|
107
|
-
|
|
108
|
-
|
|
91
|
+
const currency = currency_1.Currency.from(value.currency).toBytes();
|
|
92
|
+
const issuer = account_id_1.AccountID.from(value.issuer).toBytes();
|
|
109
93
|
return new Amount(buffer_1.Buffer.concat([amount, currency, issuer]));
|
|
110
94
|
}
|
|
111
95
|
throw new Error('Invalid type to construct an Amount');
|
|
112
|
-
}
|
|
96
|
+
}
|
|
113
97
|
/**
|
|
114
98
|
* Read an amount from a BinaryParser
|
|
115
99
|
*
|
|
116
100
|
* @param parser BinaryParser to read the Amount from
|
|
117
101
|
* @returns An Amount object
|
|
118
102
|
*/
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
103
|
+
static fromParser(parser) {
|
|
104
|
+
const isXRP = parser.peek() & 0x80;
|
|
105
|
+
const numBytes = isXRP ? 48 : 8;
|
|
122
106
|
return new Amount(parser.read(numBytes));
|
|
123
|
-
}
|
|
107
|
+
}
|
|
124
108
|
/**
|
|
125
109
|
* Get the JSON representation of this Amount
|
|
126
110
|
*
|
|
127
111
|
* @returns the JSON interpretation of this.bytes
|
|
128
112
|
*/
|
|
129
|
-
|
|
113
|
+
toJSON() {
|
|
130
114
|
if (this.isNative()) {
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
115
|
+
const bytes = this.bytes;
|
|
116
|
+
const isPositive = bytes[0] & 0x40;
|
|
117
|
+
const sign = isPositive ? '' : '-';
|
|
134
118
|
bytes[0] &= 0x3f;
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
return
|
|
119
|
+
const msb = bigInt(bytes.slice(0, 4).readUInt32BE(0));
|
|
120
|
+
const lsb = bigInt(bytes.slice(4).readUInt32BE(0));
|
|
121
|
+
const num = msb.shiftLeft(32).or(lsb);
|
|
122
|
+
return `${sign}${num.toString()}`;
|
|
139
123
|
}
|
|
140
124
|
else {
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
125
|
+
const parser = new binary_parser_1.BinaryParser(this.toString());
|
|
126
|
+
const mantissa = parser.read(8);
|
|
127
|
+
const currency = currency_1.Currency.fromParser(parser);
|
|
128
|
+
const issuer = account_id_1.AccountID.fromParser(parser);
|
|
129
|
+
const b1 = mantissa[0];
|
|
130
|
+
const b2 = mantissa[1];
|
|
131
|
+
const isPositive = b1 & 0x40;
|
|
132
|
+
const sign = isPositive ? '' : '-';
|
|
133
|
+
const exponent = ((b1 & 0x3f) << 2) + ((b2 & 0xff) >> 6) - 97;
|
|
150
134
|
mantissa[0] = 0;
|
|
151
135
|
mantissa[1] &= 0x3f;
|
|
152
|
-
|
|
136
|
+
const value = new decimal_js_1.Decimal(`${sign}0x${mantissa.toString('hex')}`).times(`1e${exponent}`);
|
|
153
137
|
Amount.assertIouIsValid(value);
|
|
154
138
|
return {
|
|
155
139
|
value: value.toString(),
|
|
@@ -157,34 +141,34 @@ var Amount = /** @class */ (function (_super) {
|
|
|
157
141
|
issuer: issuer.toJSON(),
|
|
158
142
|
};
|
|
159
143
|
}
|
|
160
|
-
}
|
|
144
|
+
}
|
|
161
145
|
/**
|
|
162
146
|
* Validate XRP amount
|
|
163
147
|
*
|
|
164
148
|
* @param amount String representing XRP amount
|
|
165
149
|
* @returns void, but will throw if invalid amount
|
|
166
150
|
*/
|
|
167
|
-
|
|
151
|
+
static assertXrpIsValid(amount) {
|
|
168
152
|
if (amount.indexOf('.') !== -1) {
|
|
169
|
-
throw new Error(
|
|
153
|
+
throw new Error(`${amount.toString()} is an illegal amount`);
|
|
170
154
|
}
|
|
171
|
-
|
|
155
|
+
const decimal = new decimal_js_1.Decimal(amount);
|
|
172
156
|
if (!decimal.isZero()) {
|
|
173
157
|
if (decimal.lt(MIN_XRP) || decimal.gt(MAX_DROPS)) {
|
|
174
|
-
throw new Error(
|
|
158
|
+
throw new Error(`${amount.toString()} is an illegal amount`);
|
|
175
159
|
}
|
|
176
160
|
}
|
|
177
|
-
}
|
|
161
|
+
}
|
|
178
162
|
/**
|
|
179
163
|
* Validate IOU.value amount
|
|
180
164
|
*
|
|
181
165
|
* @param decimal Decimal.js object representing IOU.value
|
|
182
166
|
* @returns void, but will throw if invalid amount
|
|
183
167
|
*/
|
|
184
|
-
|
|
168
|
+
static assertIouIsValid(decimal) {
|
|
185
169
|
if (!decimal.isZero()) {
|
|
186
|
-
|
|
187
|
-
|
|
170
|
+
const p = decimal.precision();
|
|
171
|
+
const e = decimal.e - 15;
|
|
188
172
|
if (p > MAX_IOU_PRECISION ||
|
|
189
173
|
e > MAX_IOU_EXPONENT ||
|
|
190
174
|
e < MIN_IOU_EXPONENT) {
|
|
@@ -192,7 +176,7 @@ var Amount = /** @class */ (function (_super) {
|
|
|
192
176
|
}
|
|
193
177
|
this.verifyNoDecimal(decimal);
|
|
194
178
|
}
|
|
195
|
-
}
|
|
179
|
+
}
|
|
196
180
|
/**
|
|
197
181
|
* Ensure that the value after being multiplied by the exponent does not
|
|
198
182
|
* contain a decimal.
|
|
@@ -200,25 +184,24 @@ var Amount = /** @class */ (function (_super) {
|
|
|
200
184
|
* @param decimal a Decimal object
|
|
201
185
|
* @returns a string of the object without a decimal
|
|
202
186
|
*/
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
.times(
|
|
187
|
+
static verifyNoDecimal(decimal) {
|
|
188
|
+
const integerNumberString = decimal
|
|
189
|
+
.times(`1e${-(decimal.e - 15)}`)
|
|
206
190
|
.abs()
|
|
207
191
|
.toString();
|
|
208
192
|
if (integerNumberString.indexOf('.') !== -1) {
|
|
209
193
|
throw new Error('Decimal place found in integerNumberString');
|
|
210
194
|
}
|
|
211
|
-
}
|
|
195
|
+
}
|
|
212
196
|
/**
|
|
213
197
|
* Test if this amount is in units of Native Currency(XRP)
|
|
214
198
|
*
|
|
215
199
|
* @returns true if Native (XRP)
|
|
216
200
|
*/
|
|
217
|
-
|
|
201
|
+
isNative() {
|
|
218
202
|
return (this.bytes[0] & 0x80) === 0;
|
|
219
|
-
}
|
|
220
|
-
|
|
221
|
-
return Amount;
|
|
222
|
-
}(serialized_type_1.SerializedType));
|
|
203
|
+
}
|
|
204
|
+
}
|
|
223
205
|
exports.Amount = Amount;
|
|
206
|
+
Amount.defaultAmount = new Amount(buffer_1.Buffer.from('4000000000000000', 'hex'));
|
|
224
207
|
//# sourceMappingURL=amount.js.map
|
package/dist/types/amount.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/types/amount.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"amount.js","sourceRoot":"","sources":["../../src/types/amount.ts"],"names":[],"mappings":"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"}
|
package/dist/types/blob.js
CHANGED
|
@@ -1,30 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.Blob = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
4
|
+
const serialized_type_1 = require("./serialized-type");
|
|
5
|
+
const buffer_1 = require("buffer/");
|
|
21
6
|
/**
|
|
22
7
|
* Variable length encoded type
|
|
23
8
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return _super.call(this, bytes) || this;
|
|
9
|
+
class Blob extends serialized_type_1.SerializedType {
|
|
10
|
+
constructor(bytes) {
|
|
11
|
+
super(bytes);
|
|
28
12
|
}
|
|
29
13
|
/**
|
|
30
14
|
* Defines how to read a Blob from a BinaryParser
|
|
@@ -33,16 +17,16 @@ var Blob = /** @class */ (function (_super) {
|
|
|
33
17
|
* @param hint The length of the blob, computed by readVariableLengthLength() and passed in
|
|
34
18
|
* @returns A Blob object
|
|
35
19
|
*/
|
|
36
|
-
|
|
20
|
+
static fromParser(parser, hint) {
|
|
37
21
|
return new Blob(parser.read(hint));
|
|
38
|
-
}
|
|
22
|
+
}
|
|
39
23
|
/**
|
|
40
24
|
* Create a Blob object from a hex-string
|
|
41
25
|
*
|
|
42
26
|
* @param value existing Blob object or a hex-string
|
|
43
27
|
* @returns A Blob object
|
|
44
28
|
*/
|
|
45
|
-
|
|
29
|
+
static from(value) {
|
|
46
30
|
if (value instanceof Blob) {
|
|
47
31
|
return value;
|
|
48
32
|
}
|
|
@@ -50,8 +34,7 @@ var Blob = /** @class */ (function (_super) {
|
|
|
50
34
|
return new Blob(buffer_1.Buffer.from(value, 'hex'));
|
|
51
35
|
}
|
|
52
36
|
throw new Error('Cannot construct Blob from value given');
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
}(serialized_type_1.SerializedType));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
56
39
|
exports.Blob = Blob;
|
|
57
40
|
//# sourceMappingURL=blob.js.map
|
package/dist/types/blob.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/types/blob.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"blob.js","sourceRoot":"","sources":["../../src/types/blob.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAElD,oCAAgC;AAEhC;;GAEG;AACH,MAAM,IAAK,SAAQ,gCAAc;IAC/B,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAC,UAAU,CAAC,MAAoB,EAAE,IAAY;QAClD,OAAO,IAAI,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAA;IACpC,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CAA0B,KAAQ;QAC3C,IAAI,KAAK,YAAY,IAAI,EAAE;YACzB,OAAO,KAAK,CAAA;SACb;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,IAAI,CAAC,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,CAAA;SAC3C;QAED,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAA;IAC3D,CAAC;CACF;AAEQ,oBAAI"}
|
package/dist/types/currency.js
CHANGED
|
@@ -1,35 +1,20 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.Currency = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
4
|
+
const hash_160_1 = require("./hash-160");
|
|
5
|
+
const buffer_1 = require("buffer/");
|
|
6
|
+
const XRP_HEX_REGEX = /^0{40}$/;
|
|
7
|
+
const ISO_REGEX = /^[A-Z0-9a-z?!@#$%^&*(){}[\]|]{3}$/;
|
|
8
|
+
const HEX_REGEX = /^[A-F0-9]{40}$/;
|
|
24
9
|
// eslint-disable-next-line no-control-regex
|
|
25
|
-
|
|
10
|
+
const STANDARD_FORMAT_HEX_REGEX = /^0{24}[\x00-\x7F]{6}0{10}$/;
|
|
26
11
|
/**
|
|
27
12
|
* Convert an ISO code to a currency bytes representation
|
|
28
13
|
*/
|
|
29
14
|
function isoToBytes(iso) {
|
|
30
|
-
|
|
15
|
+
const bytes = buffer_1.Buffer.alloc(20);
|
|
31
16
|
if (iso !== 'XRP') {
|
|
32
|
-
|
|
17
|
+
const isoBytes = iso.split('').map((c) => c.charCodeAt(0));
|
|
33
18
|
bytes.set(isoBytes, 12);
|
|
34
19
|
}
|
|
35
20
|
return bytes;
|
|
@@ -41,7 +26,7 @@ function isIsoCode(iso) {
|
|
|
41
26
|
return ISO_REGEX.test(iso);
|
|
42
27
|
}
|
|
43
28
|
function isoCodeFromHex(code) {
|
|
44
|
-
|
|
29
|
+
const iso = code.toString();
|
|
45
30
|
if (iso === 'XRP') {
|
|
46
31
|
return null;
|
|
47
32
|
}
|
|
@@ -81,43 +66,41 @@ function isValidRepresentation(input) {
|
|
|
81
66
|
*/
|
|
82
67
|
function bytesFromRepresentation(input) {
|
|
83
68
|
if (!isValidRepresentation(input)) {
|
|
84
|
-
throw new Error(
|
|
69
|
+
throw new Error(`Unsupported Currency representation: ${input}`);
|
|
85
70
|
}
|
|
86
71
|
return input.length === 3 ? isoToBytes(input) : buffer_1.Buffer.from(input, 'hex');
|
|
87
72
|
}
|
|
88
73
|
/**
|
|
89
74
|
* Class defining how to encode and decode Currencies
|
|
90
75
|
*/
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
var hex = _this.bytes.toString('hex');
|
|
76
|
+
class Currency extends hash_160_1.Hash160 {
|
|
77
|
+
constructor(byteBuf) {
|
|
78
|
+
super(byteBuf !== null && byteBuf !== void 0 ? byteBuf : Currency.XRP.bytes);
|
|
79
|
+
const hex = this.bytes.toString('hex');
|
|
96
80
|
if (XRP_HEX_REGEX.test(hex)) {
|
|
97
|
-
|
|
81
|
+
this._iso = 'XRP';
|
|
98
82
|
}
|
|
99
83
|
else if (STANDARD_FORMAT_HEX_REGEX.test(hex)) {
|
|
100
|
-
|
|
84
|
+
this._iso = isoCodeFromHex(this.bytes.slice(12, 15));
|
|
101
85
|
}
|
|
102
86
|
else {
|
|
103
|
-
|
|
87
|
+
this._iso = null;
|
|
104
88
|
}
|
|
105
|
-
return _this;
|
|
106
89
|
}
|
|
107
90
|
/**
|
|
108
91
|
* Return the ISO code of this currency
|
|
109
92
|
*
|
|
110
93
|
* @returns ISO code if it exists, else null
|
|
111
94
|
*/
|
|
112
|
-
|
|
95
|
+
iso() {
|
|
113
96
|
return this._iso;
|
|
114
|
-
}
|
|
97
|
+
}
|
|
115
98
|
/**
|
|
116
99
|
* Constructs a Currency object
|
|
117
100
|
*
|
|
118
101
|
* @param val Currency object or a string representation of a currency
|
|
119
102
|
*/
|
|
120
|
-
|
|
103
|
+
static from(value) {
|
|
121
104
|
if (value instanceof Currency) {
|
|
122
105
|
return value;
|
|
123
106
|
}
|
|
@@ -125,21 +108,20 @@ var Currency = /** @class */ (function (_super) {
|
|
|
125
108
|
return new Currency(bytesFromRepresentation(value));
|
|
126
109
|
}
|
|
127
110
|
throw new Error('Cannot construct Currency from value given');
|
|
128
|
-
}
|
|
111
|
+
}
|
|
129
112
|
/**
|
|
130
113
|
* Gets the JSON representation of a currency
|
|
131
114
|
*
|
|
132
115
|
* @returns JSON representation
|
|
133
116
|
*/
|
|
134
|
-
|
|
135
|
-
|
|
117
|
+
toJSON() {
|
|
118
|
+
const iso = this.iso();
|
|
136
119
|
if (iso !== null) {
|
|
137
120
|
return iso;
|
|
138
121
|
}
|
|
139
122
|
return this.bytes.toString('hex').toUpperCase();
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
return Currency;
|
|
143
|
-
}(hash_160_1.Hash160));
|
|
123
|
+
}
|
|
124
|
+
}
|
|
144
125
|
exports.Currency = Currency;
|
|
126
|
+
Currency.XRP = new Currency(buffer_1.Buffer.alloc(20));
|
|
145
127
|
//# sourceMappingURL=currency.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/types/currency.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/types/currency.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,oCAAgC;AAEhC,MAAM,aAAa,GAAG,SAAS,CAAA;AAC/B,MAAM,SAAS,GAAG,mCAAmC,CAAA;AACrD,MAAM,SAAS,GAAG,gBAAgB,CAAA;AAClC,4CAA4C;AAC5C,MAAM,yBAAyB,GAAG,4BAA4B,CAAA;AAE9D;;GAEG;AACH,SAAS,UAAU,CAAC,GAAW;IAC7B,MAAM,KAAK,GAAG,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IAC9B,IAAI,GAAG,KAAK,KAAK,EAAE;QACjB,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAA;QAC1D,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;KACxB;IACD,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,SAAS,SAAS,CAAC,GAAW;IAC5B,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED,SAAS,cAAc,CAAC,IAAY;IAClC,MAAM,GAAG,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;IAC3B,IAAI,GAAG,KAAK,KAAK,EAAE;QACjB,OAAO,IAAI,CAAA;KACZ;IACD,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;QAClB,OAAO,GAAG,CAAA;KACX;IACD,OAAO,IAAI,CAAA;AACb,CAAC;AAED;;GAEG;AACH,SAAS,KAAK,CAAC,GAAW;IACxB,OAAO,SAAS,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC5B,CAAC;AAED;;GAEG;AACH,SAAS,sBAAsB,CAAC,KAAa;IAC3C,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAA;AAC3C,CAAC;AAED;;GAEG;AACH,SAAS,YAAY,CAAC,KAAa;IACjC,OAAO,KAAK,CAAC,UAAU,KAAK,EAAE,CAAA;AAChC,CAAC;AAED;;GAEG;AACH,SAAS,qBAAqB,CAAC,KAAsB;IACnD,OAAO,KAAK,YAAY,eAAM;QAC5B,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC;QACrB,CAAC,CAAC,sBAAsB,CAAC,KAAK,CAAC,CAAA;AACnC,CAAC;AAED;;GAEG;AACH,SAAS,uBAAuB,CAAC,KAAa;IAC5C,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE;QACjC,MAAM,IAAI,KAAK,CAAC,wCAAwC,KAAK,EAAE,CAAC,CAAA;KACjE;IACD,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,eAAM,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,CAAA;AAC3E,CAAC;AAED;;GAEG;AACH,MAAM,QAAS,SAAQ,kBAAO;IAI5B,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;QACpC,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;QAEtC,IAAI,aAAa,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;SAClB;aAAM,IAAI,yBAAyB,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YAC9C,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CAAA;SACrD;aAAM;YACL,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;SACjB;IACH,CAAC;IAED;;;;OAIG;IACH,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,MAAM,CAAC,IAAI,CAA6B,KAAQ;QAC9C,IAAI,KAAK,YAAY,QAAQ,EAAE;YAC7B,OAAO,KAAK,CAAA;SACb;QAED,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE;YAC7B,OAAO,IAAI,QAAQ,CAAC,uBAAuB,CAAC,KAAK,CAAC,CAAC,CAAA;SACpD;QAED,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAA;IAC/D,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QACtB,IAAI,GAAG,KAAK,IAAI,EAAE;YAChB,OAAO,GAAG,CAAA;SACX;QACD,OAAO,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACjD,CAAC;;AAGM,4BAAQ;AAxDC,YAAG,GAAG,IAAI,QAAQ,CAAC,eAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAA"}
|
package/dist/types/hash-128.d.ts
CHANGED
|
@@ -7,5 +7,11 @@ declare class Hash128 extends Hash {
|
|
|
7
7
|
static readonly width = 16;
|
|
8
8
|
static readonly ZERO_128: Hash128;
|
|
9
9
|
constructor(bytes: Buffer);
|
|
10
|
+
/**
|
|
11
|
+
* Get the hex representation of a hash-128 bytes, allowing unset
|
|
12
|
+
*
|
|
13
|
+
* @returns hex String of this.bytes
|
|
14
|
+
*/
|
|
15
|
+
toHex(): string;
|
|
10
16
|
}
|
|
11
17
|
export { Hash128 };
|
package/dist/types/hash-128.js
CHANGED
|
@@ -1,34 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __extends = (this && this.__extends) || (function () {
|
|
3
|
-
var extendStatics = function (d, b) {
|
|
4
|
-
extendStatics = Object.setPrototypeOf ||
|
|
5
|
-
({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
|
|
6
|
-
function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
|
7
|
-
return extendStatics(d, b);
|
|
8
|
-
};
|
|
9
|
-
return function (d, b) {
|
|
10
|
-
if (typeof b !== "function" && b !== null)
|
|
11
|
-
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
|
12
|
-
extendStatics(d, b);
|
|
13
|
-
function __() { this.constructor = d; }
|
|
14
|
-
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
|
15
|
-
};
|
|
16
|
-
})();
|
|
17
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
3
|
exports.Hash128 = void 0;
|
|
19
|
-
|
|
20
|
-
|
|
4
|
+
const hash_1 = require("./hash");
|
|
5
|
+
const buffer_1 = require("buffer/");
|
|
21
6
|
/**
|
|
22
7
|
* Hash with a width of 128 bits
|
|
23
8
|
*/
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
9
|
+
class Hash128 extends hash_1.Hash {
|
|
10
|
+
constructor(bytes) {
|
|
11
|
+
if (bytes && bytes.byteLength === 0) {
|
|
12
|
+
bytes = Hash128.ZERO_128.bytes;
|
|
13
|
+
}
|
|
14
|
+
super(bytes !== null && bytes !== void 0 ? bytes : Hash128.ZERO_128.bytes);
|
|
28
15
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
16
|
+
/**
|
|
17
|
+
* Get the hex representation of a hash-128 bytes, allowing unset
|
|
18
|
+
*
|
|
19
|
+
* @returns hex String of this.bytes
|
|
20
|
+
*/
|
|
21
|
+
toHex() {
|
|
22
|
+
const hex = this.toBytes().toString('hex').toUpperCase();
|
|
23
|
+
if (/^0+$/.exec(hex)) {
|
|
24
|
+
return '';
|
|
25
|
+
}
|
|
26
|
+
return hex;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
33
29
|
exports.Hash128 = Hash128;
|
|
30
|
+
Hash128.width = 16;
|
|
31
|
+
Hash128.ZERO_128 = new Hash128(buffer_1.Buffer.alloc(Hash128.width));
|
|
34
32
|
//# sourceMappingURL=hash-128.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash-128.js","sourceRoot":"","sources":["../../src/types/hash-128.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hash-128.js","sourceRoot":"","sources":["../../src/types/hash-128.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,oCAAgC;AAEhC;;GAEG;AACH,MAAM,OAAQ,SAAQ,WAAI;IAIxB,YAAY,KAAa;QACvB,IAAI,KAAK,IAAI,KAAK,CAAC,UAAU,KAAK,CAAC,EAAE;YACnC,KAAK,GAAG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAA;SAC/B;QAED,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACxC,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;QACxD,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,EAAE,CAAA;SACV;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAGM,0BAAO;AAzBE,aAAK,GAAG,EAAE,CAAA;AACV,gBAAQ,GAAY,IAAI,OAAO,CAAC,eAAM,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA"}
|