ripple-binary-codec 1.10.0-beta.0 → 2.0.0-beta.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/dist/binary.js +1 -2
- package/dist/binary.js.map +1 -1
- package/dist/enums/definitions.json +25 -18
- package/dist/enums/src/enums/definitions.json +25 -18
- package/dist/hashes.d.ts +1 -1
- package/dist/hashes.js +5 -5
- package/dist/hashes.js.map +1 -1
- package/dist/index.js +24 -32
- package/dist/index.js.map +1 -1
- package/dist/ledger-hashes.d.ts +1 -2
- package/dist/ledger-hashes.js +11 -30
- package/dist/ledger-hashes.js.map +1 -1
- package/dist/quality.d.ts +2 -2
- package/dist/quality.js +8 -6
- package/dist/quality.js.map +1 -1
- package/dist/serdes/binary-parser.js +12 -28
- package/dist/serdes/binary-parser.js.map +1 -1
- package/dist/serdes/binary-serializer.js +3 -26
- package/dist/serdes/binary-serializer.js.map +1 -1
- package/dist/shamap.js +3 -2
- package/dist/shamap.js.map +1 -1
- package/dist/types/amount.d.ts +1 -1
- package/dist/types/amount.js +31 -27
- package/dist/types/amount.js.map +1 -1
- package/dist/types/serialized-type.d.ts +1 -2
- package/dist/types/serialized-type.js.map +1 -1
- package/dist/types/uint-64.d.ts +2 -3
- package/dist/types/uint-64.js +10 -12
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint.d.ts +1 -2
- package/dist/types/uint.js.map +1 -1
- package/dist/types/xchain-bridge.d.ts +4 -4
- package/dist/types/xchain-bridge.js +5 -5
- package/dist/types/xchain-bridge.js.map +1 -1
- package/package.json +16 -9
- package/src/binary.ts +1 -2
- package/src/enums/definitions.json +25 -18
- package/src/hashes.ts +3 -3
- package/src/index.ts +24 -9
- package/src/ledger-hashes.ts +14 -10
- package/src/quality.ts +6 -7
- package/src/serdes/binary-parser.ts +12 -5
- package/src/serdes/binary-serializer.ts +3 -3
- package/src/shamap.ts +3 -2
- package/src/types/amount.ts +30 -30
- package/src/types/serialized-type.ts +1 -4
- package/src/types/uint-64.ts +12 -16
- package/src/types/uint.ts +2 -6
- package/src/types/xchain-bridge.ts +5 -5
|
@@ -1,30 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
-
if (mod && mod.__esModule) return mod;
|
|
20
|
-
var result = {};
|
|
21
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
-
__setModuleDefault(result, mod);
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
3
|
exports.BinarySerializer = exports.BytesList = void 0;
|
|
27
|
-
const assert = __importStar(require("assert"));
|
|
28
4
|
const buffer_1 = require("buffer/");
|
|
29
5
|
/**
|
|
30
6
|
* Bytes list is a collection of buffer objects
|
|
@@ -143,8 +119,9 @@ class BinarySerializer {
|
|
|
143
119
|
*/
|
|
144
120
|
writeFieldAndValue(field, value, isUnlModifyWorkaround = false) {
|
|
145
121
|
const associatedValue = field.associatedType.from(value);
|
|
146
|
-
|
|
147
|
-
|
|
122
|
+
if (associatedValue.toBytesSink === undefined || field.name === undefined) {
|
|
123
|
+
throw new Error();
|
|
124
|
+
}
|
|
148
125
|
this.sink.put(field.header);
|
|
149
126
|
if (field.isVariableLengthEncoded) {
|
|
150
127
|
this.writeLengthEncoded(associatedValue, isUnlModifyWorkaround);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"binary-serializer.js","sourceRoot":"","sources":["../../src/serdes/binary-serializer.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"binary-serializer.js","sourceRoot":"","sources":["../../src/serdes/binary-serializer.ts"],"names":[],"mappings":";;;AAEA,oCAAgC;AAEhC;;GAEG;AACH,MAAM,SAAS;IAAf;QACU,eAAU,GAAkB,EAAE,CAAA;IAuCxC,CAAC;IArCC;;;;OAIG;IACI,SAAS;QACd,OAAO,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,UAAU,CAAA;IAClD,CAAC;IAED;;;;;OAKG;IACI,GAAG,CAAC,QAAgB;QACzB,MAAM,KAAK,GAAG,eAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA,CAAC,8DAA8D;QAClG,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QAC3B,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;OAIG;IACI,WAAW,CAAC,IAAe;QAChC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;IAC1B,CAAC;IAEM,OAAO;QACZ,OAAO,eAAM,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IACvC,CAAC;IAED,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACrD,CAAC;CACF;AAsHQ,8BAAS;AApHlB;;GAEG;AACH,MAAM,gBAAgB;IAGpB,YAAY,IAAe;QAFnB,SAAI,GAAc,IAAI,SAAS,EAAE,CAAA;QAGvC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;IAClB,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,KAAqB;QACzB,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,GAAG,CAAC,KAAa;QACf,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,IAA2B,EAAE,KAAqB;QAC1D,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAA;IAC9B,CAAC;IAED;;;;OAIG;IACH,cAAc,CAAC,EAAa;QAC1B,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAC3B,CAAC;IAED;;;;OAIG;IACK,oBAAoB,CAAC,MAAc;QACzC,MAAM,QAAQ,GAAG,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,MAAM,IAAI,GAAG,EAAE;YACjB,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,CAAA;YACpB,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5B;aAAM,IAAI,MAAM,IAAI,KAAK,EAAE;YAC1B,MAAM,IAAI,GAAG,CAAA;YACb,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,CAAC,CAAC,CAAA;YAClC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;YAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5B;aAAM,IAAI,MAAM,IAAI,MAAM,EAAE;YAC3B,MAAM,IAAI,KAAK,CAAA;YACf,QAAQ,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,CAAC,MAAM,KAAK,EAAE,CAAC,CAAA;YACnC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,MAAM,IAAI,CAAC,CAAC,GAAG,IAAI,CAAA;YAClC,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,GAAG,IAAI,CAAA;YAC3B,OAAO,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;SAC5B;QACD,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAA;IACnC,CAAC;IAED;;;;;OAKG;IACH,kBAAkB,CAChB,KAAoB,EACpB,KAAqB,EACrB,qBAAqB,GAAG,KAAK;QAE7B,MAAM,eAAe,GAAG,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;QACxD,IAAI,eAAe,CAAC,WAAW,KAAK,SAAS,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE;YACzE,MAAM,IAAI,KAAK,EAAE,CAAA;SAClB;QAED,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAA;QAE3B,IAAI,KAAK,CAAC,uBAAuB,EAAE;YACjC,IAAI,CAAC,kBAAkB,CAAC,eAAe,EAAE,qBAAqB,CAAC,CAAA;SAChE;aAAM;YACL,eAAe,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;SACvC;IACH,CAAC;IAED;;;;OAIG;IACI,kBAAkB,CACvB,KAAqB,EACrB,qBAAqB,GAAG,KAAK;QAE7B,MAAM,KAAK,GAAG,IAAI,SAAS,EAAE,CAAA;QAC7B,IAAI,CAAC,qBAAqB,EAAE;YAC1B,4EAA4E;YAC5E,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;SACzB;QACD,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC,CAAA;QACtD,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAA;IAC5B,CAAC;CACF;AAEmB,4CAAgB"}
|
package/dist/shamap.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ShaMapLeaf = exports.ShaMapNode = exports.ShaMap = void 0;
|
|
4
|
-
const assert_1 = require("assert");
|
|
5
4
|
const types_1 = require("./types");
|
|
6
5
|
const hash_prefixes_1 = require("./hash-prefixes");
|
|
7
6
|
const hashes_1 = require("./hashes");
|
|
@@ -144,7 +143,9 @@ class ShaMapInner extends ShaMapNode {
|
|
|
144
143
|
* @param leaf Leaf node to insert when branch doesn't exist
|
|
145
144
|
*/
|
|
146
145
|
addItem(index, item, leaf) {
|
|
147
|
-
|
|
146
|
+
if (index === undefined) {
|
|
147
|
+
throw new Error();
|
|
148
|
+
}
|
|
148
149
|
if (index !== undefined) {
|
|
149
150
|
const nibble = index.nibblet(this.depth);
|
|
150
151
|
const existing = this.branches[nibble];
|
package/dist/shamap.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"shamap.js","sourceRoot":"","sources":["../src/shamap.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"shamap.js","sourceRoot":"","sources":["../src/shamap.ts"],"names":[],"mappings":"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"}
|
package/dist/types/amount.d.ts
CHANGED
|
@@ -46,7 +46,7 @@ declare class Amount extends SerializedType {
|
|
|
46
46
|
/**
|
|
47
47
|
* Validate IOU.value amount
|
|
48
48
|
*
|
|
49
|
-
* @param decimal
|
|
49
|
+
* @param decimal BigNumber object representing IOU.value
|
|
50
50
|
* @returns void, but will throw if invalid amount
|
|
51
51
|
*/
|
|
52
52
|
private static assertIouIsValid;
|
package/dist/types/amount.js
CHANGED
|
@@ -1,28 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
2
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
6
|
exports.Amount = void 0;
|
|
4
|
-
const decimal_js_1 = require("decimal.js");
|
|
5
7
|
const binary_parser_1 = require("../serdes/binary-parser");
|
|
6
8
|
const account_id_1 = require("./account-id");
|
|
7
9
|
const currency_1 = require("./currency");
|
|
8
10
|
const serialized_type_1 = require("./serialized-type");
|
|
9
|
-
const bigInt = require("big-integer");
|
|
10
11
|
const buffer_1 = require("buffer/");
|
|
12
|
+
const bignumber_js_1 = __importDefault(require("bignumber.js"));
|
|
11
13
|
/**
|
|
12
14
|
* Constants for validating amounts
|
|
13
15
|
*/
|
|
14
16
|
const MIN_IOU_EXPONENT = -96;
|
|
15
17
|
const MAX_IOU_EXPONENT = 80;
|
|
16
18
|
const MAX_IOU_PRECISION = 16;
|
|
17
|
-
const MAX_DROPS = new
|
|
18
|
-
const MIN_XRP = new
|
|
19
|
-
const mask =
|
|
19
|
+
const MAX_DROPS = new bignumber_js_1.default('1e17');
|
|
20
|
+
const MIN_XRP = new bignumber_js_1.default('1e-6');
|
|
21
|
+
const mask = BigInt(0x00000000ffffffff);
|
|
20
22
|
/**
|
|
21
|
-
*
|
|
23
|
+
* BigNumber configuration for Amount IOUs
|
|
22
24
|
*/
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
25
|
+
bignumber_js_1.default.config({
|
|
26
|
+
EXPONENTIAL_AT: [
|
|
27
|
+
MIN_IOU_EXPONENT - MAX_IOU_PRECISION,
|
|
28
|
+
MAX_IOU_EXPONENT + MAX_IOU_PRECISION,
|
|
29
|
+
],
|
|
26
30
|
});
|
|
27
31
|
/**
|
|
28
32
|
* Type guard for AmountObject
|
|
@@ -55,35 +59,35 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
55
59
|
let amount = buffer_1.Buffer.alloc(8);
|
|
56
60
|
if (typeof value === 'string') {
|
|
57
61
|
Amount.assertXrpIsValid(value);
|
|
58
|
-
const number =
|
|
62
|
+
const number = BigInt(value);
|
|
59
63
|
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
60
|
-
intBuf[0].writeUInt32BE(Number(number
|
|
61
|
-
intBuf[1].writeUInt32BE(Number(number
|
|
64
|
+
intBuf[0].writeUInt32BE(Number(number >> BigInt(32)), 0);
|
|
65
|
+
intBuf[1].writeUInt32BE(Number(number & BigInt(mask)), 0);
|
|
62
66
|
amount = buffer_1.Buffer.concat(intBuf);
|
|
63
67
|
amount[0] |= 0x40;
|
|
64
68
|
return new Amount(amount);
|
|
65
69
|
}
|
|
66
70
|
if (isAmountObject(value)) {
|
|
67
|
-
const number = new
|
|
71
|
+
const number = new bignumber_js_1.default(value.value);
|
|
68
72
|
Amount.assertIouIsValid(number);
|
|
69
73
|
if (number.isZero()) {
|
|
70
74
|
amount[0] |= 0x80;
|
|
71
75
|
}
|
|
72
76
|
else {
|
|
73
77
|
const integerNumberString = number
|
|
74
|
-
.times(`1e${-(number.e - 15)}`)
|
|
78
|
+
.times(`1e${-((number.e || 0) - 15)}`)
|
|
75
79
|
.abs()
|
|
76
80
|
.toString();
|
|
77
|
-
const num =
|
|
81
|
+
const num = BigInt(integerNumberString);
|
|
78
82
|
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
79
|
-
intBuf[0].writeUInt32BE(Number(num
|
|
80
|
-
intBuf[1].writeUInt32BE(Number(num
|
|
83
|
+
intBuf[0].writeUInt32BE(Number(num >> BigInt(32)), 0);
|
|
84
|
+
intBuf[1].writeUInt32BE(Number(num & BigInt(mask)), 0);
|
|
81
85
|
amount = buffer_1.Buffer.concat(intBuf);
|
|
82
86
|
amount[0] |= 0x80;
|
|
83
|
-
if (number.gt(new
|
|
87
|
+
if (number.gt(new bignumber_js_1.default(0))) {
|
|
84
88
|
amount[0] |= 0x40;
|
|
85
89
|
}
|
|
86
|
-
const exponent = number.e - 15;
|
|
90
|
+
const exponent = (number.e || 0) - 15;
|
|
87
91
|
const exponentByte = 97 + exponent;
|
|
88
92
|
amount[0] |= exponentByte >>> 2;
|
|
89
93
|
amount[1] |= (exponentByte & 0x03) << 6;
|
|
@@ -116,9 +120,9 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
116
120
|
const isPositive = bytes[0] & 0x40;
|
|
117
121
|
const sign = isPositive ? '' : '-';
|
|
118
122
|
bytes[0] &= 0x3f;
|
|
119
|
-
const msb =
|
|
120
|
-
const lsb =
|
|
121
|
-
const num = msb
|
|
123
|
+
const msb = BigInt(bytes.slice(0, 4).readUInt32BE(0));
|
|
124
|
+
const lsb = BigInt(bytes.slice(4).readUInt32BE(0));
|
|
125
|
+
const num = (msb << BigInt(32)) | lsb;
|
|
122
126
|
return `${sign}${num.toString()}`;
|
|
123
127
|
}
|
|
124
128
|
else {
|
|
@@ -133,7 +137,7 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
133
137
|
const exponent = ((b1 & 0x3f) << 2) + ((b2 & 0xff) >> 6) - 97;
|
|
134
138
|
mantissa[0] = 0;
|
|
135
139
|
mantissa[1] &= 0x3f;
|
|
136
|
-
const value = new
|
|
140
|
+
const value = new bignumber_js_1.default(`${sign}0x${mantissa.toString('hex')}`).times(`1e${exponent}`);
|
|
137
141
|
Amount.assertIouIsValid(value);
|
|
138
142
|
return {
|
|
139
143
|
value: value.toString(),
|
|
@@ -152,7 +156,7 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
152
156
|
if (amount.indexOf('.') !== -1) {
|
|
153
157
|
throw new Error(`${amount.toString()} is an illegal amount`);
|
|
154
158
|
}
|
|
155
|
-
const decimal = new
|
|
159
|
+
const decimal = new bignumber_js_1.default(amount);
|
|
156
160
|
if (!decimal.isZero()) {
|
|
157
161
|
if (decimal.lt(MIN_XRP) || decimal.gt(MAX_DROPS)) {
|
|
158
162
|
throw new Error(`${amount.toString()} is an illegal amount`);
|
|
@@ -162,13 +166,13 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
162
166
|
/**
|
|
163
167
|
* Validate IOU.value amount
|
|
164
168
|
*
|
|
165
|
-
* @param decimal
|
|
169
|
+
* @param decimal BigNumber object representing IOU.value
|
|
166
170
|
* @returns void, but will throw if invalid amount
|
|
167
171
|
*/
|
|
168
172
|
static assertIouIsValid(decimal) {
|
|
169
173
|
if (!decimal.isZero()) {
|
|
170
174
|
const p = decimal.precision();
|
|
171
|
-
const e = decimal.e - 15;
|
|
175
|
+
const e = (decimal.e || 0) - 15;
|
|
172
176
|
if (p > MAX_IOU_PRECISION ||
|
|
173
177
|
e > MAX_IOU_EXPONENT ||
|
|
174
178
|
e < MIN_IOU_EXPONENT) {
|
|
@@ -186,7 +190,7 @@ class Amount extends serialized_type_1.SerializedType {
|
|
|
186
190
|
*/
|
|
187
191
|
static verifyNoDecimal(decimal) {
|
|
188
192
|
const integerNumberString = decimal
|
|
189
|
-
.times(`1e${-(decimal.e - 15)}`)
|
|
193
|
+
.times(`1e${-((decimal.e || 0) - 15)}`)
|
|
190
194
|
.abs()
|
|
191
195
|
.toString();
|
|
192
196
|
if (integerNumberString.indexOf('.') !== -1) {
|
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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"}
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { BytesList } from '../serdes/binary-serializer';
|
|
2
2
|
import { BinaryParser } from '../serdes/binary-parser';
|
|
3
|
-
import bigInt = require('big-integer');
|
|
4
3
|
import { Buffer } from 'buffer/';
|
|
5
4
|
import { XrplDefinitionsBase } from '../enums';
|
|
6
5
|
type JSON = string | number | boolean | null | undefined | JSON[] | JsonObject;
|
|
@@ -14,7 +13,7 @@ declare class SerializedType {
|
|
|
14
13
|
protected readonly bytes: Buffer;
|
|
15
14
|
constructor(bytes: Buffer);
|
|
16
15
|
static fromParser(parser: BinaryParser, hint?: number): SerializedType;
|
|
17
|
-
static from(value: SerializedType | JSON |
|
|
16
|
+
static from(value: SerializedType | JSON | bigint): SerializedType;
|
|
18
17
|
/**
|
|
19
18
|
* Write the bytes representation of a SerializedType to a BytesList
|
|
20
19
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serialized-type.js","sourceRoot":"","sources":["../../src/types/serialized-type.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;
|
|
1
|
+
{"version":3,"file":"serialized-type.js","sourceRoot":"","sources":["../../src/types/serialized-type.ts"],"names":[],"mappings":";;;AAAA,mEAAuD;AAEvD,oCAAgC;AAOhC;;GAEG;AACH,MAAM,cAAc;IAGlB,YAAY,KAAa;QAFN,UAAK,GAAW,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;QAGhD,IAAI,CAAC,KAAK,GAAG,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,eAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAA;IACvC,CAAC;IAED,MAAM,CAAC,UAAU,CAAC,MAAoB,EAAE,IAAa;QACnD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAA;QAC7C,OAAO,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;IACtC,CAAC;IAED,MAAM,CAAC,IAAI,CAAC,KAAqC;QAC/C,MAAM,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAA;QACvC,OAAO,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACzB,CAAC;IAED;;;;OAIG;IACH,WAAW,CAAC,IAAe;QACzB,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAA;IACtB,CAAC;IAED;;;;OAIG;IACH,KAAK;QACH,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAA;IACrD,CAAC;IAED;;;;OAIG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,KAAK,EAAE;YACd,OAAO,IAAI,CAAC,KAAK,CAAA;SAClB;QACD,MAAM,KAAK,GAAG,IAAI,6BAAS,EAAE,CAAA;QAC7B,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAA;QACvB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAA;IACxB,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,YAAkC;QACvC,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,KAAK,EAAE,CAAA;IACrB,CAAC;CACF;AAqCQ,wCAAc;AAnCvB;;GAEG;AACH,MAAM,UAAW,SAAQ,cAAc;IACrC,EAAE,CAAC,KAAiB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,EAAE,CAAC,KAAiB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAA;IACpC,CAAC;IAED,EAAE,CAAC,KAAiB;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACnC,CAAC;IAED,GAAG,CAAC,KAAiB;QACnB,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;IAClC,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAiB;QACzB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,QAAQ,EAAE,QAAQ,KAAK,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAA;IAC9E,CAAC;CACF;AAEwB,gCAAU"}
|
package/dist/types/uint-64.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { UInt } from './uint';
|
|
2
2
|
import { BinaryParser } from '../serdes/binary-parser';
|
|
3
|
-
import bigInt = require('big-integer');
|
|
4
3
|
import { Buffer } from 'buffer/';
|
|
5
4
|
/**
|
|
6
5
|
* Derived UInt class for serializing/deserializing 64 bit UInt
|
|
@@ -16,7 +15,7 @@ declare class UInt64 extends UInt {
|
|
|
16
15
|
* @param val A UInt64, hex-string, bigInt, or number
|
|
17
16
|
* @returns A UInt64 object
|
|
18
17
|
*/
|
|
19
|
-
static from<T extends UInt64 | string |
|
|
18
|
+
static from<T extends UInt64 | string | bigint | number>(val: T): UInt64;
|
|
20
19
|
/**
|
|
21
20
|
* The JSON representation of a UInt64 object
|
|
22
21
|
*
|
|
@@ -28,7 +27,7 @@ declare class UInt64 extends UInt {
|
|
|
28
27
|
*
|
|
29
28
|
* @returns the number represented buy this.bytes
|
|
30
29
|
*/
|
|
31
|
-
valueOf():
|
|
30
|
+
valueOf(): bigint;
|
|
32
31
|
/**
|
|
33
32
|
* Get the bytes representation of the UInt64 object
|
|
34
33
|
*
|
package/dist/types/uint-64.js
CHANGED
|
@@ -2,11 +2,9 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.UInt64 = void 0;
|
|
4
4
|
const uint_1 = require("./uint");
|
|
5
|
-
const bigInt = require("big-integer");
|
|
6
|
-
const big_integer_1 = require("big-integer");
|
|
7
5
|
const buffer_1 = require("buffer/");
|
|
8
6
|
const HEX_REGEX = /^[a-fA-F0-9]{1,16}$/;
|
|
9
|
-
const mask =
|
|
7
|
+
const mask = BigInt(0x00000000ffffffff);
|
|
10
8
|
/**
|
|
11
9
|
* Derived UInt class for serializing/deserializing 64 bit UInt
|
|
12
10
|
*/
|
|
@@ -32,10 +30,10 @@ class UInt64 extends uint_1.UInt {
|
|
|
32
30
|
if (val < 0) {
|
|
33
31
|
throw new Error('value must be an unsigned integer');
|
|
34
32
|
}
|
|
35
|
-
const number =
|
|
33
|
+
const number = BigInt(val);
|
|
36
34
|
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
37
|
-
intBuf[0].writeUInt32BE(Number(number
|
|
38
|
-
intBuf[1].writeUInt32BE(Number(number
|
|
35
|
+
intBuf[0].writeUInt32BE(Number(number >> BigInt(32)), 0);
|
|
36
|
+
intBuf[1].writeUInt32BE(Number(number & BigInt(mask)), 0);
|
|
39
37
|
return new UInt64(buffer_1.Buffer.concat(intBuf));
|
|
40
38
|
}
|
|
41
39
|
if (typeof val === 'string') {
|
|
@@ -46,10 +44,10 @@ class UInt64 extends uint_1.UInt {
|
|
|
46
44
|
buf = buffer_1.Buffer.from(strBuf, 'hex');
|
|
47
45
|
return new UInt64(buf);
|
|
48
46
|
}
|
|
49
|
-
if (
|
|
47
|
+
if (typeof val === 'bigint') {
|
|
50
48
|
const intBuf = [buffer_1.Buffer.alloc(4), buffer_1.Buffer.alloc(4)];
|
|
51
|
-
intBuf[0].writeUInt32BE(Number(val
|
|
52
|
-
intBuf[1].writeUInt32BE(Number(val
|
|
49
|
+
intBuf[0].writeUInt32BE(Number(val >> BigInt(32)), 0);
|
|
50
|
+
intBuf[1].writeUInt32BE(Number(val & BigInt(mask)), 0);
|
|
53
51
|
return new UInt64(buffer_1.Buffer.concat(intBuf));
|
|
54
52
|
}
|
|
55
53
|
throw new Error('Cannot construct UInt64 from given value');
|
|
@@ -68,9 +66,9 @@ class UInt64 extends uint_1.UInt {
|
|
|
68
66
|
* @returns the number represented buy this.bytes
|
|
69
67
|
*/
|
|
70
68
|
valueOf() {
|
|
71
|
-
const msb =
|
|
72
|
-
const lsb =
|
|
73
|
-
return msb
|
|
69
|
+
const msb = BigInt(this.bytes.slice(0, 4).readUInt32BE(0));
|
|
70
|
+
const lsb = BigInt(this.bytes.slice(4).readUInt32BE(0));
|
|
71
|
+
return (msb << BigInt(32)) | lsb;
|
|
74
72
|
}
|
|
75
73
|
/**
|
|
76
74
|
* Get the bytes representation of the UInt64 object
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint-64.js","sourceRoot":"","sources":["../../src/types/uint-64.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAE7B,
|
|
1
|
+
{"version":3,"file":"uint-64.js","sourceRoot":"","sources":["../../src/types/uint-64.ts"],"names":[],"mappings":"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"}
|
package/dist/types/uint.d.ts
CHANGED
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import bigInt = require('big-integer');
|
|
2
1
|
import { Comparable } from './serialized-type';
|
|
3
2
|
import { Buffer } from 'buffer/';
|
|
4
3
|
/**
|
|
@@ -25,6 +24,6 @@ declare abstract class UInt extends Comparable {
|
|
|
25
24
|
*
|
|
26
25
|
* @returns the value
|
|
27
26
|
*/
|
|
28
|
-
abstract valueOf(): number |
|
|
27
|
+
abstract valueOf(): number | bigint;
|
|
29
28
|
}
|
|
30
29
|
export { UInt };
|
package/dist/types/uint.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"uint.js","sourceRoot":"","sources":["../../src/types/uint.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"uint.js","sourceRoot":"","sources":["../../src/types/uint.ts"],"names":[],"mappings":";;;AAAA,uDAA8C;AAG9C;;;;;;GAMG;AACH,SAAS,OAAO,CAAC,EAAmB,EAAE,EAAmB;IACvD,OAAO,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;AACxC,CAAC;AAED;;GAEG;AACH,MAAe,IAAK,SAAQ,4BAAU;IAGpC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,CAAC,CAAA;IACd,CAAC;IAED;;;;;OAKG;IACH,SAAS,CAAC,KAAW;QACnB,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;IACjD,CAAC;IAED;;;;OAIG;IACH,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,EAAE,CAAA;QAC1B,OAAO,OAAO,GAAG,KAAK,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAA;IACvD,CAAC;CAQF;AAEQ,oBAAI"}
|
|
@@ -24,15 +24,15 @@ declare class XChainBridge extends SerializedType {
|
|
|
24
24
|
/**
|
|
25
25
|
* Construct a cross-chain bridge from a JSON
|
|
26
26
|
*
|
|
27
|
-
* @param value XChainBridge or JSON to parse into
|
|
28
|
-
* @returns
|
|
27
|
+
* @param value XChainBridge or JSON to parse into an XChainBridge
|
|
28
|
+
* @returns An XChainBridge object
|
|
29
29
|
*/
|
|
30
30
|
static from<T extends XChainBridge | XChainBridgeObject>(value: T): XChainBridge;
|
|
31
31
|
/**
|
|
32
|
-
* Read
|
|
32
|
+
* Read an XChainBridge from a BinaryParser
|
|
33
33
|
*
|
|
34
34
|
* @param parser BinaryParser to read the XChainBridge from
|
|
35
|
-
* @returns
|
|
35
|
+
* @returns An XChainBridge object
|
|
36
36
|
*/
|
|
37
37
|
static fromParser(parser: BinaryParser): XChainBridge;
|
|
38
38
|
/**
|
|
@@ -27,8 +27,8 @@ class XChainBridge extends serialized_type_1.SerializedType {
|
|
|
27
27
|
/**
|
|
28
28
|
* Construct a cross-chain bridge from a JSON
|
|
29
29
|
*
|
|
30
|
-
* @param value XChainBridge or JSON to parse into
|
|
31
|
-
* @returns
|
|
30
|
+
* @param value XChainBridge or JSON to parse into an XChainBridge
|
|
31
|
+
* @returns An XChainBridge object
|
|
32
32
|
*/
|
|
33
33
|
static from(value) {
|
|
34
34
|
if (value instanceof XChainBridge) {
|
|
@@ -46,13 +46,13 @@ class XChainBridge extends serialized_type_1.SerializedType {
|
|
|
46
46
|
});
|
|
47
47
|
return new XChainBridge(buffer_1.Buffer.concat(bytes));
|
|
48
48
|
}
|
|
49
|
-
throw new Error('Invalid type to construct
|
|
49
|
+
throw new Error('Invalid type to construct an XChainBridge');
|
|
50
50
|
}
|
|
51
51
|
/**
|
|
52
|
-
* Read
|
|
52
|
+
* Read an XChainBridge from a BinaryParser
|
|
53
53
|
*
|
|
54
54
|
* @param parser BinaryParser to read the XChainBridge from
|
|
55
|
-
* @returns
|
|
55
|
+
* @returns An XChainBridge object
|
|
56
56
|
*/
|
|
57
57
|
static fromParser(parser) {
|
|
58
58
|
const bytes = [];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"xchain-bridge.js","sourceRoot":"","sources":["../../src/types/xchain-bridge.ts"],"names":[],"mappings":";;;AAAA,2DAAsD;AAEtD,6CAAwC;AACxC,uDAA8D;AAC9D,oCAAgC;AAChC,mCAA4C;AAY5C;;GAEG;AACH,SAAS,oBAAoB,CAAC,GAAG;IAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAA;IACpC,OAAO,CACL,IAAI,CAAC,MAAM,KAAK,CAAC;QACjB,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB;QAC9B,IAAI,CAAC,CAAC,CAAC,KAAK,mBAAmB;QAC/B,IAAI,CAAC,CAAC,CAAC,KAAK,kBAAkB;QAC9B,IAAI,CAAC,CAAC,CAAC,KAAK,mBAAmB,CAChC,CAAA;AACH,CAAC;AAED;;GAEG;AACH,MAAM,YAAa,SAAQ,gCAAc;IAkBvC,YAAY,KAAa;QACvB,KAAK,CAAC,KAAK,aAAL,KAAK,cAAL,KAAK,GAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAA;IACvD,CAAC;IAED;;;;;OAKG;IACH,MAAM,CAAC,IAAI,CACT,KAAQ;QAER,IAAI,KAAK,YAAY,YAAY,EAAE;YACjC,OAAO,KAAK,CAAA;SACb;QAED,IAAI,oBAAoB,CAAC,KAAK,CAAC,EAAE;YAC/B,MAAM,KAAK,GAAkB,EAAE,CAAA;YAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBAC/B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,CAAA;gBAC3B,IAAI,IAAI,KAAK,sBAAS,EAAE;oBACtB,KAAK,CAAC,IAAI,CAAC,eAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;iBAChC;gBACD,MAAM,MAAM,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;gBACrC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC,CAAA;YAC9B,CAAC,CAAC,CAAA;YACF,OAAO,IAAI,YAAY,CAAC,eAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAA;SAC9C;QAED,MAAM,IAAI,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"xchain-bridge.js","sourceRoot":"","sources":["../../src/types/xchain-bridge.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ripple-binary-codec",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "2.0.0-beta.0",
|
|
4
4
|
"description": "XRP Ledger binary codec",
|
|
5
5
|
"files": [
|
|
6
6
|
"dist/*",
|
|
@@ -11,20 +11,27 @@
|
|
|
11
11
|
"test": "test"
|
|
12
12
|
},
|
|
13
13
|
"dependencies": {
|
|
14
|
-
"
|
|
15
|
-
"
|
|
14
|
+
"@xrplf/isomorphic": "^1.0.0-beta.0",
|
|
15
|
+
"bignumber.js": "^9.0.0",
|
|
16
16
|
"buffer": "6.0.3",
|
|
17
|
-
"
|
|
18
|
-
|
|
19
|
-
|
|
17
|
+
"ripple-address-codec": "^5.0.0-beta.0"
|
|
18
|
+
},
|
|
19
|
+
"devDependencies": {
|
|
20
|
+
"assert": "^2.0.0"
|
|
20
21
|
},
|
|
21
22
|
"scripts": {
|
|
22
23
|
"build": "tsc -b && copyfiles ./src/enums/definitions.json ./dist/enums/",
|
|
23
|
-
"clean": "rm -rf ./dist
|
|
24
|
+
"clean": "rm -rf ./dist ./coverage tsconfig.tsbuildinfo",
|
|
24
25
|
"prepublishOnly": "npm test",
|
|
25
26
|
"test": "npm run build && jest --verbose false --silent=false ./test/*.test.js",
|
|
26
27
|
"lint": "eslint . --ext .ts --ext .test.js"
|
|
27
28
|
},
|
|
29
|
+
"keywords": [
|
|
30
|
+
"ripple",
|
|
31
|
+
"xrp",
|
|
32
|
+
"xrp ledger",
|
|
33
|
+
"xrpl"
|
|
34
|
+
],
|
|
28
35
|
"repository": {
|
|
29
36
|
"type": "git",
|
|
30
37
|
"url": "git@github.com:XRPLF/xrpl.js.git"
|
|
@@ -37,7 +44,7 @@
|
|
|
37
44
|
"readmeFilename": "README.md",
|
|
38
45
|
"prettier": "@xrplf/prettier-config",
|
|
39
46
|
"engines": {
|
|
40
|
-
"node": ">=
|
|
47
|
+
"node": ">= 16"
|
|
41
48
|
},
|
|
42
|
-
"gitHead": "
|
|
49
|
+
"gitHead": "9e30f1892c20a915c47593ffb8c336595804e4e7"
|
|
43
50
|
}
|
package/src/binary.ts
CHANGED
|
@@ -14,7 +14,6 @@ import {
|
|
|
14
14
|
import { STObject } from './types/st-object'
|
|
15
15
|
import { JsonObject } from './types/serialized-type'
|
|
16
16
|
import { Buffer } from 'buffer/'
|
|
17
|
-
import bigInt = require('big-integer')
|
|
18
17
|
|
|
19
18
|
/**
|
|
20
19
|
* Construct a BinaryParser
|
|
@@ -133,7 +132,7 @@ interface ClaimObject extends JsonObject {
|
|
|
133
132
|
* @returns the serialized object with appropriate prefix
|
|
134
133
|
*/
|
|
135
134
|
function signingClaimData(claim: ClaimObject): Buffer {
|
|
136
|
-
const num =
|
|
135
|
+
const num = BigInt(String(claim.amount))
|
|
137
136
|
const prefix = HashPrefix.paymentChannelClaim
|
|
138
137
|
const channel = coreTypes.Hash256.from(claim.channel).toBytes()
|
|
139
138
|
const amount = coreTypes.UInt64.from(num).toBytes()
|