ripple-binary-codec 2.7.0-smartescrow.0 → 2.8.0-smartcontract.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/enums/definitions.json +173 -270
- package/dist/enums/src/enums/definitions.json +173 -270
- package/dist/quality.js +15 -3
- package/dist/quality.js.map +1 -1
- package/dist/serdes/binary-parser.js +8 -2
- package/dist/serdes/binary-parser.js.map +1 -1
- package/dist/serdes/binary-serializer.d.ts +1 -1
- package/dist/serdes/binary-serializer.js +2 -2
- package/dist/serdes/binary-serializer.js.map +1 -1
- package/dist/src/enums/definitions.json +173 -270
- package/dist/src/quality.js +15 -3
- package/dist/src/quality.js.map +1 -1
- package/dist/src/serdes/binary-parser.js +8 -2
- package/dist/src/serdes/binary-parser.js.map +1 -1
- package/dist/src/serdes/binary-serializer.d.ts +1 -1
- package/dist/src/serdes/binary-serializer.js +2 -2
- package/dist/src/serdes/binary-serializer.js.map +1 -1
- package/dist/src/types/account-id.d.ts +2 -0
- package/dist/src/types/account-id.js +4 -0
- package/dist/src/types/account-id.js.map +1 -1
- package/dist/src/types/amount.d.ts +2 -1
- package/dist/src/types/amount.js +25 -4
- package/dist/src/types/amount.js.map +1 -1
- package/dist/src/types/blob.d.ts +2 -1
- package/dist/src/types/blob.js +3 -0
- package/dist/src/types/blob.js.map +1 -1
- package/dist/src/types/currency.d.ts +2 -0
- package/dist/src/types/currency.js +4 -0
- package/dist/src/types/currency.js.map +1 -1
- package/dist/src/types/data.d.ts +86 -0
- package/dist/src/types/data.js +252 -0
- package/dist/src/types/data.js.map +1 -0
- package/dist/src/types/dataType.d.ts +94 -0
- package/dist/src/types/dataType.js +145 -0
- package/dist/src/types/dataType.js.map +1 -0
- package/dist/src/types/hash-128.d.ts +2 -0
- package/dist/src/types/hash-128.js +4 -0
- package/dist/src/types/hash-128.js.map +1 -1
- package/dist/src/types/hash-160.d.ts +2 -0
- package/dist/src/types/hash-160.js +4 -0
- package/dist/src/types/hash-160.js.map +1 -1
- package/dist/src/types/hash-192.d.ts +2 -0
- package/dist/src/types/hash-192.js +4 -0
- package/dist/src/types/hash-192.js.map +1 -1
- package/dist/src/types/hash-256.d.ts +2 -0
- package/dist/src/types/hash-256.js +4 -0
- package/dist/src/types/hash-256.js.map +1 -1
- package/dist/src/types/index.d.ts +3 -1
- package/dist/src/types/index.js +7 -1
- package/dist/src/types/index.js.map +1 -1
- package/dist/src/types/int-32.d.ts +17 -8
- package/dist/src/types/int-32.js +25 -11
- package/dist/src/types/int-32.js.map +1 -1
- package/dist/src/types/int.d.ts +38 -0
- package/dist/src/types/int.js +57 -0
- package/dist/src/types/int.js.map +1 -0
- package/dist/src/types/issue.d.ts +2 -1
- package/dist/src/types/issue.js +3 -0
- package/dist/src/types/issue.js.map +1 -1
- package/dist/src/types/json.d.ts +173 -0
- package/dist/src/types/json.js +531 -0
- package/dist/src/types/json.js.map +1 -0
- package/dist/src/types/path-set.d.ts +2 -1
- package/dist/src/types/path-set.js +3 -0
- package/dist/src/types/path-set.js.map +1 -1
- package/dist/src/types/serialized-type.d.ts +43 -0
- package/dist/src/types/serialized-type.js +63 -1
- package/dist/src/types/serialized-type.js.map +1 -1
- package/dist/src/types/st-array.d.ts +2 -1
- package/dist/src/types/st-array.js +3 -0
- package/dist/src/types/st-array.js.map +1 -1
- package/dist/src/types/st-number.d.ts +2 -1
- package/dist/src/types/st-number.js +3 -0
- package/dist/src/types/st-number.js.map +1 -1
- package/dist/src/types/st-object.d.ts +2 -1
- package/dist/src/types/st-object.js +9 -1
- package/dist/src/types/st-object.js.map +1 -1
- package/dist/src/types/uint-16.d.ts +2 -0
- package/dist/src/types/uint-16.js +4 -0
- package/dist/src/types/uint-16.js.map +1 -1
- package/dist/src/types/uint-32.d.ts +2 -0
- package/dist/src/types/uint-32.js +4 -0
- package/dist/src/types/uint-32.js.map +1 -1
- package/dist/src/types/uint-64.d.ts +2 -0
- package/dist/src/types/uint-64.js +4 -0
- package/dist/src/types/uint-64.js.map +1 -1
- package/dist/src/types/uint-8.d.ts +2 -0
- package/dist/src/types/uint-8.js +4 -0
- package/dist/src/types/uint-8.js.map +1 -1
- package/dist/src/types/vector-256.d.ts +2 -1
- package/dist/src/types/vector-256.js +3 -0
- package/dist/src/types/vector-256.js.map +1 -1
- package/dist/src/types/xchain-bridge.d.ts +2 -1
- package/dist/src/types/xchain-bridge.js +3 -0
- package/dist/src/types/xchain-bridge.js.map +1 -1
- package/dist/src/utils.js +1 -1
- package/dist/src/utils.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/types/account-id.d.ts +2 -0
- package/dist/types/account-id.js +4 -0
- package/dist/types/account-id.js.map +1 -1
- package/dist/types/amount.d.ts +2 -1
- package/dist/types/amount.js +25 -4
- package/dist/types/amount.js.map +1 -1
- package/dist/types/blob.d.ts +2 -1
- package/dist/types/blob.js +3 -0
- package/dist/types/blob.js.map +1 -1
- package/dist/types/currency.d.ts +2 -0
- package/dist/types/currency.js +4 -0
- package/dist/types/currency.js.map +1 -1
- package/dist/types/data.d.ts +86 -0
- package/dist/types/data.js +252 -0
- package/dist/types/data.js.map +1 -0
- package/dist/types/dataType.d.ts +94 -0
- package/dist/types/dataType.js +145 -0
- package/dist/types/dataType.js.map +1 -0
- package/dist/types/hash-128.d.ts +2 -0
- package/dist/types/hash-128.js +4 -0
- package/dist/types/hash-128.js.map +1 -1
- package/dist/types/hash-160.d.ts +2 -0
- package/dist/types/hash-160.js +4 -0
- package/dist/types/hash-160.js.map +1 -1
- package/dist/types/hash-192.d.ts +2 -0
- package/dist/types/hash-192.js +4 -0
- package/dist/types/hash-192.js.map +1 -1
- package/dist/types/hash-256.d.ts +2 -0
- package/dist/types/hash-256.js +4 -0
- package/dist/types/hash-256.js.map +1 -1
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.js +7 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/int-32.d.ts +17 -8
- package/dist/types/int-32.js +25 -11
- package/dist/types/int-32.js.map +1 -1
- package/dist/types/int.d.ts +38 -0
- package/dist/types/int.js +57 -0
- package/dist/types/int.js.map +1 -0
- package/dist/types/issue.d.ts +2 -1
- package/dist/types/issue.js +3 -0
- package/dist/types/issue.js.map +1 -1
- package/dist/types/json.d.ts +173 -0
- package/dist/types/json.js +531 -0
- package/dist/types/json.js.map +1 -0
- package/dist/types/path-set.d.ts +2 -1
- package/dist/types/path-set.js +3 -0
- package/dist/types/path-set.js.map +1 -1
- package/dist/types/serialized-type.d.ts +43 -0
- package/dist/types/serialized-type.js +63 -1
- package/dist/types/serialized-type.js.map +1 -1
- package/dist/types/st-array.d.ts +2 -1
- package/dist/types/st-array.js +3 -0
- package/dist/types/st-array.js.map +1 -1
- package/dist/types/st-number.d.ts +2 -1
- package/dist/types/st-number.js +3 -0
- package/dist/types/st-number.js.map +1 -1
- package/dist/types/st-object.d.ts +2 -1
- package/dist/types/st-object.js +9 -1
- package/dist/types/st-object.js.map +1 -1
- package/dist/types/uint-16.d.ts +2 -0
- package/dist/types/uint-16.js +4 -0
- package/dist/types/uint-16.js.map +1 -1
- package/dist/types/uint-32.d.ts +2 -0
- package/dist/types/uint-32.js +4 -0
- package/dist/types/uint-32.js.map +1 -1
- package/dist/types/uint-64.d.ts +2 -0
- package/dist/types/uint-64.js +4 -0
- package/dist/types/uint-64.js.map +1 -1
- package/dist/types/uint-8.d.ts +2 -0
- package/dist/types/uint-8.js +4 -0
- package/dist/types/uint-8.js.map +1 -1
- package/dist/types/vector-256.d.ts +2 -1
- package/dist/types/vector-256.js +3 -0
- package/dist/types/vector-256.js.map +1 -1
- package/dist/types/xchain-bridge.d.ts +2 -1
- package/dist/types/xchain-bridge.js +3 -0
- package/dist/types/xchain-bridge.js.map +1 -1
- package/dist/utils.js +1 -1
- package/dist/utils.js.map +1 -1
- package/package.json +2 -2
- package/src/enums/definitions.json +173 -270
- package/src/quality.ts +13 -3
- package/src/serdes/binary-parser.ts +12 -2
- package/src/serdes/binary-serializer.ts +2 -2
- package/src/types/account-id.ts +5 -0
- package/src/types/amount.ts +25 -6
- package/src/types/blob.ts +5 -1
- package/src/types/currency.ts +5 -0
- package/src/types/data.ts +294 -0
- package/src/types/dataType.ts +178 -0
- package/src/types/hash-128.ts +5 -0
- package/src/types/hash-160.ts +5 -0
- package/src/types/hash-192.ts +5 -0
- package/src/types/hash-256.ts +5 -0
- package/src/types/index.ts +6 -0
- package/src/types/int-32.ts +27 -12
- package/src/types/int.ts +75 -0
- package/src/types/issue.ts +5 -1
- package/src/types/json.ts +650 -0
- package/src/types/path-set.ts +5 -1
- package/src/types/serialized-type.ts +67 -0
- package/src/types/st-array.ts +5 -1
- package/src/types/st-number.ts +5 -1
- package/src/types/st-object.ts +12 -2
- package/src/types/uint-16.ts +5 -0
- package/src/types/uint-32.ts +5 -0
- package/src/types/uint-64.ts +6 -1
- package/src/types/uint-8.ts +5 -0
- package/src/types/vector-256.ts +5 -1
- package/src/types/xchain-bridge.ts +5 -1
- package/src/utils.ts +1 -1
package/dist/types/currency.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Currency = void 0;
|
|
4
4
|
const hash_160_1 = require("./hash-160");
|
|
5
5
|
const utils_1 = require("@xrplf/isomorphic/utils");
|
|
6
|
+
const serialized_type_1 = require("./serialized-type");
|
|
6
7
|
const XRP_HEX_REGEX = /^0{40}$/;
|
|
7
8
|
const ISO_REGEX = /^[A-Z0-9a-z?!@#$%^&*(){}[\]|]{3}$/;
|
|
8
9
|
const HEX_REGEX = /^[A-F0-9]{40}$/;
|
|
@@ -121,6 +122,9 @@ class Currency extends hash_160_1.Hash160 {
|
|
|
121
122
|
}
|
|
122
123
|
return (0, utils_1.bytesToHex)(this.bytes);
|
|
123
124
|
}
|
|
125
|
+
getSType() {
|
|
126
|
+
return serialized_type_1.SerializedTypeID.STI_CURRENCY;
|
|
127
|
+
}
|
|
124
128
|
}
|
|
125
129
|
exports.Currency = Currency;
|
|
126
130
|
Currency.XRP = new Currency(new Uint8Array(20));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/types/currency.ts"],"names":[],"mappings":";;;AAAA,yCAAoC;AACpC,mDAA6E;
|
|
1
|
+
{"version":3,"file":"currency.js","sourceRoot":"","sources":["../../src/types/currency.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { BinaryParser } from '../serdes/binary-parser';
|
|
2
|
+
import { JsonObject, SerializedType, SerializedTypeID } from './serialized-type';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for Data JSON representation
|
|
5
|
+
*/
|
|
6
|
+
interface DataJSON extends JsonObject {
|
|
7
|
+
type: string;
|
|
8
|
+
value: string | number | JsonObject;
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* STData: Encodes XRPL's "Data" type.
|
|
12
|
+
*
|
|
13
|
+
* This type wraps both a SerializedTypeID and the actual data value.
|
|
14
|
+
* It's encoded as a 2-byte type ID followed by the serialized data.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* Data.from({ type: "Amount", value: "1000000" })
|
|
18
|
+
* Data.from({ type: "UInt64", value: "123456789" })
|
|
19
|
+
* Data.fromParser(parser)
|
|
20
|
+
*/
|
|
21
|
+
declare class Data extends SerializedType {
|
|
22
|
+
static readonly ZERO_DATA: Data;
|
|
23
|
+
/**
|
|
24
|
+
* Construct Data from bytes
|
|
25
|
+
* @param bytes - Uint8Array containing type ID and data
|
|
26
|
+
*/
|
|
27
|
+
constructor(bytes: Uint8Array);
|
|
28
|
+
/**
|
|
29
|
+
* Create Data from various input types
|
|
30
|
+
*
|
|
31
|
+
* @param value - Can be:
|
|
32
|
+
* - Data instance (returns as-is)
|
|
33
|
+
* - DataJSON object with 'type' and 'value' fields
|
|
34
|
+
* @returns Data instance
|
|
35
|
+
* @throws Error if value type is not supported
|
|
36
|
+
*/
|
|
37
|
+
static from(value: unknown): Data;
|
|
38
|
+
/**
|
|
39
|
+
* Create Data from JSON representation
|
|
40
|
+
*
|
|
41
|
+
* @param json - Object with 'type' and 'value' fields
|
|
42
|
+
* @returns Data instance
|
|
43
|
+
* @throws Error if type is not supported
|
|
44
|
+
*/
|
|
45
|
+
static fromJSON(json: DataJSON): Data;
|
|
46
|
+
/**
|
|
47
|
+
* Read Data from a BinaryParser stream
|
|
48
|
+
*
|
|
49
|
+
* @param parser - BinaryParser positioned at the start of Data
|
|
50
|
+
* @returns Data instance
|
|
51
|
+
*/
|
|
52
|
+
static fromParser(parser: BinaryParser): Data;
|
|
53
|
+
/**
|
|
54
|
+
* Get the inner SerializedTypeID
|
|
55
|
+
*
|
|
56
|
+
* @returns The inner type ID
|
|
57
|
+
*/
|
|
58
|
+
getInnerType(): SerializedTypeID;
|
|
59
|
+
/**
|
|
60
|
+
* Get the string representation of the inner type
|
|
61
|
+
*
|
|
62
|
+
* @returns String name of the type
|
|
63
|
+
*/
|
|
64
|
+
getInnerTypeString(): string;
|
|
65
|
+
/**
|
|
66
|
+
* Get the data value
|
|
67
|
+
*
|
|
68
|
+
* @returns The stored data value
|
|
69
|
+
*/
|
|
70
|
+
getValue(): SerializedType;
|
|
71
|
+
/**
|
|
72
|
+
* Convert to JSON representation
|
|
73
|
+
*
|
|
74
|
+
* @returns JSON object with 'type' and 'value' fields
|
|
75
|
+
*/
|
|
76
|
+
toJSON(): DataJSON;
|
|
77
|
+
/**
|
|
78
|
+
* Compare with another Data for equality
|
|
79
|
+
*
|
|
80
|
+
* @param other - Another Data to compare with
|
|
81
|
+
* @returns true if both have the same inner type and data
|
|
82
|
+
*/
|
|
83
|
+
equals(other: Data): boolean;
|
|
84
|
+
getSType(): SerializedTypeID;
|
|
85
|
+
}
|
|
86
|
+
export { Data };
|
|
@@ -0,0 +1,252 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Data = void 0;
|
|
4
|
+
const binary_parser_1 = require("../serdes/binary-parser");
|
|
5
|
+
const serialized_type_1 = require("./serialized-type");
|
|
6
|
+
const utils_1 = require("../utils");
|
|
7
|
+
const utils_2 = require("@xrplf/isomorphic/utils");
|
|
8
|
+
const hash_128_1 = require("./hash-128");
|
|
9
|
+
const hash_160_1 = require("./hash-160");
|
|
10
|
+
const hash_192_1 = require("./hash-192");
|
|
11
|
+
const hash_256_1 = require("./hash-256");
|
|
12
|
+
const account_id_1 = require("./account-id");
|
|
13
|
+
const amount_1 = require("./amount");
|
|
14
|
+
const blob_1 = require("./blob");
|
|
15
|
+
const currency_1 = require("./currency");
|
|
16
|
+
const st_number_1 = require("./st-number");
|
|
17
|
+
const issue_1 = require("./issue");
|
|
18
|
+
const uint_8_1 = require("./uint-8");
|
|
19
|
+
const uint_16_1 = require("./uint-16");
|
|
20
|
+
const uint_32_1 = require("./uint-32");
|
|
21
|
+
const uint_64_1 = require("./uint-64");
|
|
22
|
+
const binary_1 = require("../binary");
|
|
23
|
+
/**
|
|
24
|
+
* Map from SerializedTypeID to the corresponding type class.
|
|
25
|
+
* Types listed here use standard from()/fromParser()/toBytes() without
|
|
26
|
+
* any extra framing (unlike VL and Account which need length prefixes).
|
|
27
|
+
*/
|
|
28
|
+
const SIMPLE_TYPE_MAP = {
|
|
29
|
+
[serialized_type_1.SerializedTypeID.STI_UINT8]: uint_8_1.UInt8,
|
|
30
|
+
[serialized_type_1.SerializedTypeID.STI_UINT16]: uint_16_1.UInt16,
|
|
31
|
+
[serialized_type_1.SerializedTypeID.STI_UINT32]: uint_32_1.UInt32,
|
|
32
|
+
[serialized_type_1.SerializedTypeID.STI_UINT64]: uint_64_1.UInt64,
|
|
33
|
+
[serialized_type_1.SerializedTypeID.STI_UINT128]: hash_128_1.Hash128,
|
|
34
|
+
[serialized_type_1.SerializedTypeID.STI_UINT160]: hash_160_1.Hash160,
|
|
35
|
+
[serialized_type_1.SerializedTypeID.STI_UINT192]: hash_192_1.Hash192,
|
|
36
|
+
[serialized_type_1.SerializedTypeID.STI_UINT256]: hash_256_1.Hash256,
|
|
37
|
+
[serialized_type_1.SerializedTypeID.STI_AMOUNT]: amount_1.Amount,
|
|
38
|
+
[serialized_type_1.SerializedTypeID.STI_ISSUE]: issue_1.Issue,
|
|
39
|
+
[serialized_type_1.SerializedTypeID.STI_CURRENCY]: currency_1.Currency,
|
|
40
|
+
[serialized_type_1.SerializedTypeID.STI_NUMBER]: st_number_1.STNumber,
|
|
41
|
+
};
|
|
42
|
+
/**
|
|
43
|
+
* Types whose from() method expects a numeric argument.
|
|
44
|
+
* For these, json.value is coerced to a number before calling from().
|
|
45
|
+
*/
|
|
46
|
+
const NUMERIC_TYPES = new Set([
|
|
47
|
+
serialized_type_1.SerializedTypeID.STI_UINT8,
|
|
48
|
+
serialized_type_1.SerializedTypeID.STI_UINT16,
|
|
49
|
+
serialized_type_1.SerializedTypeID.STI_UINT32,
|
|
50
|
+
]);
|
|
51
|
+
/**
|
|
52
|
+
* STData: Encodes XRPL's "Data" type.
|
|
53
|
+
*
|
|
54
|
+
* This type wraps both a SerializedTypeID and the actual data value.
|
|
55
|
+
* It's encoded as a 2-byte type ID followed by the serialized data.
|
|
56
|
+
*
|
|
57
|
+
* Usage:
|
|
58
|
+
* Data.from({ type: "Amount", value: "1000000" })
|
|
59
|
+
* Data.from({ type: "UInt64", value: "123456789" })
|
|
60
|
+
* Data.fromParser(parser)
|
|
61
|
+
*/
|
|
62
|
+
class Data extends serialized_type_1.SerializedType {
|
|
63
|
+
/**
|
|
64
|
+
* Construct Data from bytes
|
|
65
|
+
* @param bytes - Uint8Array containing type ID and data
|
|
66
|
+
*/
|
|
67
|
+
constructor(bytes) {
|
|
68
|
+
super(bytes !== null && bytes !== void 0 ? bytes : Data.ZERO_DATA.bytes);
|
|
69
|
+
}
|
|
70
|
+
/**
|
|
71
|
+
* Create Data from various input types
|
|
72
|
+
*
|
|
73
|
+
* @param value - Can be:
|
|
74
|
+
* - Data instance (returns as-is)
|
|
75
|
+
* - DataJSON object with 'type' and 'value' fields
|
|
76
|
+
* @returns Data instance
|
|
77
|
+
* @throws Error if value type is not supported
|
|
78
|
+
*/
|
|
79
|
+
static from(value) {
|
|
80
|
+
if (value instanceof Data) {
|
|
81
|
+
return value;
|
|
82
|
+
}
|
|
83
|
+
if (typeof value === 'object' &&
|
|
84
|
+
value !== null &&
|
|
85
|
+
'type' in value &&
|
|
86
|
+
'value' in value) {
|
|
87
|
+
const json = value;
|
|
88
|
+
return Data.fromJSON(json);
|
|
89
|
+
}
|
|
90
|
+
throw new Error('Data.from: value must be Data instance or DataJSON object');
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Create Data from JSON representation
|
|
94
|
+
*
|
|
95
|
+
* @param json - Object with 'type' and 'value' fields
|
|
96
|
+
* @returns Data instance
|
|
97
|
+
* @throws Error if type is not supported
|
|
98
|
+
*/
|
|
99
|
+
static fromJSON(json) {
|
|
100
|
+
const typeId = serialized_type_1.TYPE_STRING_TO_ID[json.type];
|
|
101
|
+
if (typeId === undefined) {
|
|
102
|
+
throw new Error(`Data: unsupported type string: ${json.type}`);
|
|
103
|
+
}
|
|
104
|
+
let dataBytes;
|
|
105
|
+
const TypeClass = SIMPLE_TYPE_MAP[typeId];
|
|
106
|
+
if (TypeClass) {
|
|
107
|
+
// For UInt8/16/32, coerce value to number; all others pass through
|
|
108
|
+
const coercedValue = NUMERIC_TYPES.has(typeId)
|
|
109
|
+
? typeof json.value === 'string'
|
|
110
|
+
? parseInt(json.value, 10)
|
|
111
|
+
: Number(json.value)
|
|
112
|
+
: json.value;
|
|
113
|
+
dataBytes = TypeClass.from(coercedValue).toBytes();
|
|
114
|
+
}
|
|
115
|
+
else if (typeId === serialized_type_1.SerializedTypeID.STI_VL) {
|
|
116
|
+
const val = typeof json.value === 'string' ? json.value : json.value.toString();
|
|
117
|
+
dataBytes = blob_1.Blob.from(val).toBytes();
|
|
118
|
+
dataBytes = (0, utils_2.concat)([
|
|
119
|
+
binary_1.BinarySerializer.encodeVariableLength(dataBytes.length),
|
|
120
|
+
dataBytes,
|
|
121
|
+
]);
|
|
122
|
+
}
|
|
123
|
+
else if (typeId === serialized_type_1.SerializedTypeID.STI_ACCOUNT) {
|
|
124
|
+
const val = typeof json.value === 'string' ? json.value : json.value.toString();
|
|
125
|
+
dataBytes = (0, utils_2.concat)([
|
|
126
|
+
new Uint8Array([0x14]),
|
|
127
|
+
account_id_1.AccountID.from(val).toBytes(),
|
|
128
|
+
]);
|
|
129
|
+
}
|
|
130
|
+
else {
|
|
131
|
+
throw new Error(`Data.fromJSON(): unsupported type ID: ${typeId}`);
|
|
132
|
+
}
|
|
133
|
+
// Combine type header with data bytes
|
|
134
|
+
const typeBytes = new Uint8Array(2);
|
|
135
|
+
(0, utils_1.writeUInt16BE)(typeBytes, typeId, 0);
|
|
136
|
+
return new Data((0, utils_2.concat)([typeBytes, dataBytes]));
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* Read Data from a BinaryParser stream
|
|
140
|
+
*
|
|
141
|
+
* @param parser - BinaryParser positioned at the start of Data
|
|
142
|
+
* @returns Data instance
|
|
143
|
+
*/
|
|
144
|
+
static fromParser(parser) {
|
|
145
|
+
// Read the 2-byte type ID
|
|
146
|
+
const typeBytes = parser.read(2);
|
|
147
|
+
const typeId = serialized_type_1.TYPE_NUMBER_TO_ID[(0, utils_1.readUInt16BE)(typeBytes, 0)];
|
|
148
|
+
let dataBytes;
|
|
149
|
+
const TypeClass = SIMPLE_TYPE_MAP[typeId];
|
|
150
|
+
if (TypeClass) {
|
|
151
|
+
dataBytes = TypeClass.fromParser(parser).toBytes();
|
|
152
|
+
}
|
|
153
|
+
else if (typeId === serialized_type_1.SerializedTypeID.STI_VL) {
|
|
154
|
+
const valueVL = parser.readVariableLength();
|
|
155
|
+
dataBytes = (0, utils_2.concat)([
|
|
156
|
+
binary_1.BinarySerializer.encodeVariableLength(valueVL.length),
|
|
157
|
+
valueVL,
|
|
158
|
+
]);
|
|
159
|
+
}
|
|
160
|
+
else if (typeId === serialized_type_1.SerializedTypeID.STI_ACCOUNT) {
|
|
161
|
+
parser.skip(1);
|
|
162
|
+
dataBytes = (0, utils_2.concat)([
|
|
163
|
+
new Uint8Array([0x14]),
|
|
164
|
+
account_id_1.AccountID.fromParser(parser).toBytes(),
|
|
165
|
+
]);
|
|
166
|
+
}
|
|
167
|
+
else {
|
|
168
|
+
throw new Error(`Data: unsupported type ID when parsing: ${typeId}`);
|
|
169
|
+
}
|
|
170
|
+
return new Data((0, utils_2.concat)([typeBytes, dataBytes]));
|
|
171
|
+
}
|
|
172
|
+
/**
|
|
173
|
+
* Get the inner SerializedTypeID
|
|
174
|
+
*
|
|
175
|
+
* @returns The inner type ID
|
|
176
|
+
*/
|
|
177
|
+
getInnerType() {
|
|
178
|
+
return serialized_type_1.TYPE_NUMBER_TO_ID[(0, utils_1.readUInt16BE)(this.bytes, 0)];
|
|
179
|
+
}
|
|
180
|
+
/**
|
|
181
|
+
* Get the string representation of the inner type
|
|
182
|
+
*
|
|
183
|
+
* @returns String name of the type
|
|
184
|
+
*/
|
|
185
|
+
getInnerTypeString() {
|
|
186
|
+
const innerType = this.getInnerType();
|
|
187
|
+
return serialized_type_1.TYPE_ID_TO_STRING[innerType] || innerType.toString();
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Get the data value
|
|
191
|
+
*
|
|
192
|
+
* @returns The stored data value
|
|
193
|
+
*/
|
|
194
|
+
getValue() {
|
|
195
|
+
const innerType = this.getInnerType();
|
|
196
|
+
const parser = new binary_parser_1.BinaryParser((0, utils_2.bytesToHex)(this.bytes.slice(2)));
|
|
197
|
+
const TypeClass = SIMPLE_TYPE_MAP[innerType];
|
|
198
|
+
if (TypeClass) {
|
|
199
|
+
return TypeClass.fromParser(parser);
|
|
200
|
+
}
|
|
201
|
+
if (innerType === serialized_type_1.SerializedTypeID.STI_VL) {
|
|
202
|
+
const vlLength = parser.readVariableLengthLength();
|
|
203
|
+
return blob_1.Blob.fromParser(parser, vlLength);
|
|
204
|
+
}
|
|
205
|
+
if (innerType === serialized_type_1.SerializedTypeID.STI_ACCOUNT) {
|
|
206
|
+
parser.skip(1);
|
|
207
|
+
return account_id_1.AccountID.fromParser(parser);
|
|
208
|
+
}
|
|
209
|
+
throw new Error(`Data.getValue(): unsupported type ID: ${typeof innerType}`);
|
|
210
|
+
}
|
|
211
|
+
/**
|
|
212
|
+
* Convert to JSON representation
|
|
213
|
+
*
|
|
214
|
+
* @returns JSON object with 'type' and 'value' fields
|
|
215
|
+
*/
|
|
216
|
+
toJSON() {
|
|
217
|
+
return {
|
|
218
|
+
type: this.getInnerTypeString(),
|
|
219
|
+
value: this.getValue().toJSON(),
|
|
220
|
+
};
|
|
221
|
+
}
|
|
222
|
+
/**
|
|
223
|
+
* Compare with another Data for equality
|
|
224
|
+
*
|
|
225
|
+
* @param other - Another Data to compare with
|
|
226
|
+
* @returns true if both have the same inner type and data
|
|
227
|
+
*/
|
|
228
|
+
equals(other) {
|
|
229
|
+
if (!(other instanceof Data)) {
|
|
230
|
+
return false;
|
|
231
|
+
}
|
|
232
|
+
// Compare bytes directly
|
|
233
|
+
if (this.bytes.length !== other.bytes.length) {
|
|
234
|
+
return false;
|
|
235
|
+
}
|
|
236
|
+
for (let i = 0; i < this.bytes.length; i++) {
|
|
237
|
+
if (this.bytes[i] !== other.bytes[i]) {
|
|
238
|
+
return false;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
return true;
|
|
242
|
+
}
|
|
243
|
+
getSType() {
|
|
244
|
+
return serialized_type_1.SerializedTypeID.STI_DATA;
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
exports.Data = Data;
|
|
248
|
+
Data.ZERO_DATA = new Data((0, utils_2.concat)([
|
|
249
|
+
new Uint8Array([0x00, 0x01]),
|
|
250
|
+
new Uint8Array([0x00, 0x00]), // Value: two zero bytes for UINT16
|
|
251
|
+
]));
|
|
252
|
+
//# sourceMappingURL=data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"data.js","sourceRoot":"","sources":["../../src/types/data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { BinaryParser } from '../serdes/binary-parser';
|
|
2
|
+
import { JsonObject, SerializedType, SerializedTypeID } from './serialized-type';
|
|
3
|
+
/**
|
|
4
|
+
* Interface for DataType JSON representation
|
|
5
|
+
*/
|
|
6
|
+
interface DataTypeJSON extends JsonObject {
|
|
7
|
+
type: string;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* STDataType: Encodes XRPL's "DataType" type.
|
|
11
|
+
*
|
|
12
|
+
* This type wraps an inner SerializedTypeID to indicate what type of data
|
|
13
|
+
* a field contains. It's encoded as a 2-byte unsigned integer representing
|
|
14
|
+
* the inner type.
|
|
15
|
+
*
|
|
16
|
+
* Usage:
|
|
17
|
+
* DataType.from({ type: "Amount" })
|
|
18
|
+
* DataType.from("UInt64")
|
|
19
|
+
* DataType.fromParser(parser)
|
|
20
|
+
*/
|
|
21
|
+
declare class DataType extends SerializedType {
|
|
22
|
+
private innerType;
|
|
23
|
+
/**
|
|
24
|
+
* Default bytes for DataType (STI_NOTPRESENT)
|
|
25
|
+
*/
|
|
26
|
+
static readonly defaultBytes: Uint8Array;
|
|
27
|
+
/**
|
|
28
|
+
* Construct a DataType from bytes
|
|
29
|
+
* @param bytes - 2-byte Uint8Array containing the inner type ID
|
|
30
|
+
* @param innerType - Optional explicit inner type (used when constructing from value)
|
|
31
|
+
* @throws Error if bytes is not a 2-byte Uint8Array
|
|
32
|
+
*/
|
|
33
|
+
constructor(bytes?: Uint8Array, innerType?: SerializedTypeID);
|
|
34
|
+
/**
|
|
35
|
+
* Construct from various input types
|
|
36
|
+
*
|
|
37
|
+
* @param value - Can be:
|
|
38
|
+
* - DataType instance (returns as-is)
|
|
39
|
+
* - DataTypeJSON object with 'type' field
|
|
40
|
+
* - String type name (e.g., "Amount", "UInt64")
|
|
41
|
+
* - SerializedTypeID enum value
|
|
42
|
+
* @returns DataType instance
|
|
43
|
+
* @throws Error if value type is not supported or type string is unknown
|
|
44
|
+
*/
|
|
45
|
+
static from(value: unknown): DataType;
|
|
46
|
+
/**
|
|
47
|
+
* Construct from a type string
|
|
48
|
+
*
|
|
49
|
+
* @param typeStr - Type string like "Amount", "UInt64", etc.
|
|
50
|
+
* @returns DataType instance
|
|
51
|
+
* @throws Error if type string is not recognized
|
|
52
|
+
*/
|
|
53
|
+
static fromTypeString(typeStr: string): DataType;
|
|
54
|
+
/**
|
|
55
|
+
* Construct from a SerializedTypeID
|
|
56
|
+
*
|
|
57
|
+
* @param typeId - The SerializedTypeID enum value
|
|
58
|
+
* @returns DataType instance
|
|
59
|
+
*/
|
|
60
|
+
static fromTypeId(typeId: SerializedTypeID): DataType;
|
|
61
|
+
/**
|
|
62
|
+
* Read a DataType from a BinaryParser stream (2 bytes)
|
|
63
|
+
*
|
|
64
|
+
* @param parser - BinaryParser positioned at the start of a DataType
|
|
65
|
+
* @returns DataType instance
|
|
66
|
+
*/
|
|
67
|
+
static fromParser(parser: BinaryParser): DataType;
|
|
68
|
+
/**
|
|
69
|
+
* Get the inner SerializedTypeID
|
|
70
|
+
*
|
|
71
|
+
* @returns The inner type ID
|
|
72
|
+
*/
|
|
73
|
+
getInnerType(): SerializedTypeID;
|
|
74
|
+
/**
|
|
75
|
+
* Set the inner SerializedTypeID
|
|
76
|
+
*
|
|
77
|
+
* @param typeId - The new inner type ID
|
|
78
|
+
*/
|
|
79
|
+
setInnerType(typeId: SerializedTypeID): void;
|
|
80
|
+
/**
|
|
81
|
+
* Get the string representation of the inner type
|
|
82
|
+
*
|
|
83
|
+
* @returns String name of the type, or numeric string if unknown
|
|
84
|
+
*/
|
|
85
|
+
getInnerTypeString(): string;
|
|
86
|
+
/**
|
|
87
|
+
* Convert to JSON representation
|
|
88
|
+
*
|
|
89
|
+
* @returns JSON object with 'type' field
|
|
90
|
+
*/
|
|
91
|
+
toJSON(): DataTypeJSON;
|
|
92
|
+
getSType(): SerializedTypeID;
|
|
93
|
+
}
|
|
94
|
+
export { DataType };
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.DataType = void 0;
|
|
4
|
+
const serialized_type_1 = require("./serialized-type");
|
|
5
|
+
const utils_1 = require("../utils");
|
|
6
|
+
/**
|
|
7
|
+
* STDataType: Encodes XRPL's "DataType" type.
|
|
8
|
+
*
|
|
9
|
+
* This type wraps an inner SerializedTypeID to indicate what type of data
|
|
10
|
+
* a field contains. It's encoded as a 2-byte unsigned integer representing
|
|
11
|
+
* the inner type.
|
|
12
|
+
*
|
|
13
|
+
* Usage:
|
|
14
|
+
* DataType.from({ type: "Amount" })
|
|
15
|
+
* DataType.from("UInt64")
|
|
16
|
+
* DataType.fromParser(parser)
|
|
17
|
+
*/
|
|
18
|
+
class DataType extends serialized_type_1.SerializedType {
|
|
19
|
+
/**
|
|
20
|
+
* Construct a DataType from bytes
|
|
21
|
+
* @param bytes - 2-byte Uint8Array containing the inner type ID
|
|
22
|
+
* @param innerType - Optional explicit inner type (used when constructing from value)
|
|
23
|
+
* @throws Error if bytes is not a 2-byte Uint8Array
|
|
24
|
+
*/
|
|
25
|
+
constructor(bytes, innerType) {
|
|
26
|
+
const used = bytes !== null && bytes !== void 0 ? bytes : DataType.defaultBytes;
|
|
27
|
+
if (!(used instanceof Uint8Array) || used.length !== 2) {
|
|
28
|
+
throw new Error(`DataType must be constructed from a 2-byte Uint8Array, got ${used === null || used === void 0 ? void 0 : used.length} bytes`);
|
|
29
|
+
}
|
|
30
|
+
super(used);
|
|
31
|
+
// If innerType is explicitly provided, use it; otherwise read from bytes
|
|
32
|
+
if (innerType !== undefined) {
|
|
33
|
+
this.innerType = innerType;
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
this.innerType = (0, utils_1.readUInt16BE)(used, 0);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Construct from various input types
|
|
41
|
+
*
|
|
42
|
+
* @param value - Can be:
|
|
43
|
+
* - DataType instance (returns as-is)
|
|
44
|
+
* - DataTypeJSON object with 'type' field
|
|
45
|
+
* - String type name (e.g., "Amount", "UInt64")
|
|
46
|
+
* - SerializedTypeID enum value
|
|
47
|
+
* @returns DataType instance
|
|
48
|
+
* @throws Error if value type is not supported or type string is unknown
|
|
49
|
+
*/
|
|
50
|
+
static from(value) {
|
|
51
|
+
if (value instanceof DataType) {
|
|
52
|
+
return value;
|
|
53
|
+
}
|
|
54
|
+
if (typeof value === 'object' && value !== null && 'type' in value) {
|
|
55
|
+
const json = value;
|
|
56
|
+
return DataType.fromTypeString(json.type);
|
|
57
|
+
}
|
|
58
|
+
if (typeof value === 'string') {
|
|
59
|
+
return DataType.fromTypeString(value);
|
|
60
|
+
}
|
|
61
|
+
if (typeof value === 'number') {
|
|
62
|
+
return DataType.fromTypeId(value);
|
|
63
|
+
}
|
|
64
|
+
throw new Error('DataType.from: value must be DataType, DataTypeJSON, string, or SerializedTypeID');
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* Construct from a type string
|
|
68
|
+
*
|
|
69
|
+
* @param typeStr - Type string like "Amount", "UInt64", etc.
|
|
70
|
+
* @returns DataType instance
|
|
71
|
+
* @throws Error if type string is not recognized
|
|
72
|
+
*/
|
|
73
|
+
static fromTypeString(typeStr) {
|
|
74
|
+
const typeId = serialized_type_1.TYPE_STRING_TO_ID[typeStr];
|
|
75
|
+
if (typeId === undefined) {
|
|
76
|
+
throw new Error(`DataType: unsupported type string: ${typeStr}`);
|
|
77
|
+
}
|
|
78
|
+
return DataType.fromTypeId(typeId);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Construct from a SerializedTypeID
|
|
82
|
+
*
|
|
83
|
+
* @param typeId - The SerializedTypeID enum value
|
|
84
|
+
* @returns DataType instance
|
|
85
|
+
*/
|
|
86
|
+
static fromTypeId(typeId) {
|
|
87
|
+
const bytes = new Uint8Array(2);
|
|
88
|
+
(0, utils_1.writeUInt16BE)(bytes, typeId, 0);
|
|
89
|
+
return new DataType(bytes, typeId);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Read a DataType from a BinaryParser stream (2 bytes)
|
|
93
|
+
*
|
|
94
|
+
* @param parser - BinaryParser positioned at the start of a DataType
|
|
95
|
+
* @returns DataType instance
|
|
96
|
+
*/
|
|
97
|
+
static fromParser(parser) {
|
|
98
|
+
const bytes = parser.read(2);
|
|
99
|
+
return new DataType(bytes);
|
|
100
|
+
}
|
|
101
|
+
/**
|
|
102
|
+
* Get the inner SerializedTypeID
|
|
103
|
+
*
|
|
104
|
+
* @returns The inner type ID
|
|
105
|
+
*/
|
|
106
|
+
getInnerType() {
|
|
107
|
+
return this.innerType;
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Set the inner SerializedTypeID
|
|
111
|
+
*
|
|
112
|
+
* @param typeId - The new inner type ID
|
|
113
|
+
*/
|
|
114
|
+
setInnerType(typeId) {
|
|
115
|
+
this.innerType = typeId;
|
|
116
|
+
(0, utils_1.writeUInt16BE)(this.bytes, typeId, 0);
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Get the string representation of the inner type
|
|
120
|
+
*
|
|
121
|
+
* @returns String name of the type, or numeric string if unknown
|
|
122
|
+
*/
|
|
123
|
+
getInnerTypeString() {
|
|
124
|
+
return serialized_type_1.TYPE_ID_TO_STRING[this.innerType] || this.innerType.toString();
|
|
125
|
+
}
|
|
126
|
+
/**
|
|
127
|
+
* Convert to JSON representation
|
|
128
|
+
*
|
|
129
|
+
* @returns JSON object with 'type' field
|
|
130
|
+
*/
|
|
131
|
+
toJSON() {
|
|
132
|
+
return {
|
|
133
|
+
type: this.getInnerTypeString(),
|
|
134
|
+
};
|
|
135
|
+
}
|
|
136
|
+
getSType() {
|
|
137
|
+
return serialized_type_1.SerializedTypeID.STI_DATATYPE;
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
exports.DataType = DataType;
|
|
141
|
+
/**
|
|
142
|
+
* Default bytes for DataType (STI_NOTPRESENT)
|
|
143
|
+
*/
|
|
144
|
+
DataType.defaultBytes = new Uint8Array([0x00, 0x01]);
|
|
145
|
+
//# sourceMappingURL=dataType.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dataType.js","sourceRoot":"","sources":["../../src/types/dataType.ts"],"names":[],"mappings":"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"}
|
package/dist/types/hash-128.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Hash } from './hash';
|
|
2
|
+
import { SerializedTypeID } from './serialized-type';
|
|
2
3
|
/**
|
|
3
4
|
* Hash with a width of 128 bits
|
|
4
5
|
*/
|
|
@@ -12,5 +13,6 @@ declare class Hash128 extends Hash {
|
|
|
12
13
|
* @returns hex String of this.bytes
|
|
13
14
|
*/
|
|
14
15
|
toHex(): string;
|
|
16
|
+
getSType(): SerializedTypeID;
|
|
15
17
|
}
|
|
16
18
|
export { Hash128 };
|
package/dist/types/hash-128.js
CHANGED
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Hash128 = void 0;
|
|
4
4
|
const hash_1 = require("./hash");
|
|
5
5
|
const utils_1 = require("@xrplf/isomorphic/utils");
|
|
6
|
+
const serialized_type_1 = require("./serialized-type");
|
|
6
7
|
/**
|
|
7
8
|
* Hash with a width of 128 bits
|
|
8
9
|
*/
|
|
@@ -25,6 +26,9 @@ class Hash128 extends hash_1.Hash {
|
|
|
25
26
|
}
|
|
26
27
|
return hex;
|
|
27
28
|
}
|
|
29
|
+
getSType() {
|
|
30
|
+
return serialized_type_1.SerializedTypeID.STI_UINT128;
|
|
31
|
+
}
|
|
28
32
|
}
|
|
29
33
|
exports.Hash128 = Hash128;
|
|
30
34
|
Hash128.width = 16;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hash-128.js","sourceRoot":"","sources":["../../src/types/hash-128.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,mDAAoD;AAEpD;;GAEG;AACH,MAAM,OAAQ,SAAQ,WAAI;IAIxB,YAAY,KAAiB;QAC3B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,CAAC,EAAE;YAC3B,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,IAAA,kBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,EAAE,CAAA;SACV;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;;AAGM,0BAAO;
|
|
1
|
+
{"version":3,"file":"hash-128.js","sourceRoot":"","sources":["../../src/types/hash-128.ts"],"names":[],"mappings":";;;AAAA,iCAA6B;AAC7B,mDAAoD;AACpD,uDAAoD;AAEpD;;GAEG;AACH,MAAM,OAAQ,SAAQ,WAAI;IAIxB,YAAY,KAAiB;QAC3B,IAAI,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,MAAK,CAAC,EAAE;YAC3B,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,IAAA,kBAAU,EAAC,IAAI,CAAC,OAAO,EAAE,CAAC,CAAA;QACtC,IAAI,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE;YACpB,OAAO,EAAE,CAAA;SACV;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,QAAQ;QACN,OAAO,kCAAgB,CAAC,WAAW,CAAA;IACrC,CAAC;;AAGM,0BAAO;AA7BE,aAAK,GAAG,EAAE,CAAA;AACV,gBAAQ,GAAY,IAAI,OAAO,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA"}
|
package/dist/types/hash-160.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { Hash } from './hash';
|
|
2
|
+
import { SerializedTypeID } from './serialized-type';
|
|
2
3
|
/**
|
|
3
4
|
* Hash with a width of 160 bits
|
|
4
5
|
*/
|
|
@@ -6,5 +7,6 @@ declare class Hash160 extends Hash {
|
|
|
6
7
|
static readonly width = 20;
|
|
7
8
|
static readonly ZERO_160: Hash160;
|
|
8
9
|
constructor(bytes?: Uint8Array);
|
|
10
|
+
getSType(): SerializedTypeID;
|
|
9
11
|
}
|
|
10
12
|
export { Hash160 };
|