@xylabs/eth-address 2.11.0 → 2.11.1
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/EthAddress.js +62 -0
- package/dist/EthAddress.js.map +1 -0
- package/dist/EthAddress.mjs +59 -0
- package/dist/EthAddress.mjs.map +1 -0
- package/dist/ellipsize.js +10 -0
- package/dist/ellipsize.js.map +1 -0
- package/dist/ellipsize.mjs +8 -0
- package/dist/ellipsize.mjs.map +1 -0
- package/dist/index.js +9 -75
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +5 -75
- package/dist/index.mjs.map +1 -1
- package/dist/padHex.js +17 -0
- package/dist/padHex.js.map +1 -0
- package/dist/padHex.mjs +15 -0
- package/dist/padHex.mjs.map +1 -0
- package/package.json +6 -6
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var ellipsize = require('./ellipsize.js');
|
|
4
|
+
var assert = require('@xylabs/assert');
|
|
5
|
+
var bignumber = require('@xylabs/bignumber');
|
|
6
|
+
var padHex = require('./padHex.js');
|
|
7
|
+
|
|
8
|
+
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
9
|
+
class EthAddress {
|
|
10
|
+
static type = 'EthAddress';
|
|
11
|
+
type = EthAddress.type;
|
|
12
|
+
address;
|
|
13
|
+
constructor(address) {
|
|
14
|
+
this.address = address;
|
|
15
|
+
}
|
|
16
|
+
static fromString(value, base = 16) {
|
|
17
|
+
if (value) {
|
|
18
|
+
const bn = new bignumber.BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
|
|
19
|
+
return new EthAddress(bn);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
static parse(value, base) {
|
|
23
|
+
if (typeof value === 'string') {
|
|
24
|
+
return this.fromString(value, base);
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
equals(address) {
|
|
28
|
+
if (address) {
|
|
29
|
+
let inAddress;
|
|
30
|
+
if (typeof address === 'string') {
|
|
31
|
+
inAddress = assert.assertEx(EthAddress.fromString(address), 'Bad Address');
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
inAddress = address;
|
|
35
|
+
}
|
|
36
|
+
return this.address.eq(inAddress.address);
|
|
37
|
+
}
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
40
|
+
toBigNumber() {
|
|
41
|
+
return this.address;
|
|
42
|
+
}
|
|
43
|
+
toHex() {
|
|
44
|
+
return padHex.padHex(this.address.toString(16), 20);
|
|
45
|
+
}
|
|
46
|
+
toJSON() {
|
|
47
|
+
return `0x${this.toHex()}`;
|
|
48
|
+
}
|
|
49
|
+
toLowerCaseString() {
|
|
50
|
+
return this.toString().toLowerCase();
|
|
51
|
+
}
|
|
52
|
+
toShortString(length = 2) {
|
|
53
|
+
return `0x${ellipsize.ellipsize(this.toHex(), length)}`;
|
|
54
|
+
}
|
|
55
|
+
toString() {
|
|
56
|
+
return `0x${this.toHex()}`;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
exports.EthAddress = EthAddress;
|
|
61
|
+
exports.isEthAddress = isEthAddress;
|
|
62
|
+
//# sourceMappingURL=EthAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.js","sources":["../src/EthAddress.ts"],"sourcesContent":[null],"names":["BigNumber"],"mappings":";;;;;;;AAQA,MAAA,YAAuB,GAAA,CAAA,GAAA,KAAA,GAAA,EAAA,IAAA,KAAA,UAAA,CAAA,KAAA;AACf,gBAAoB,CAAA;AAE1B,IAAA,OAAsB,IAAA,GAAA,YAAA,CAAA;IAEtB,IAAO,GAAA,UAAmB,CAAA,IAAA,CAAA;IAE1B,OAAO,CAAA;IAIP,mBAAkB,EAAA;QAOZ,IAAM,CAAA,OAAM,GAAA,QAAS;KAMrB;IAaN,OAAW,UAAA,CAAA,KAAA,EAAA,IAAA,GAAA,EAAA,EAAA;QAIN,IAAA,KAAA,EAAA;AAIL,kBAAgB,EAAA,GAAA,IAAAA,mBAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,EAAA,IAAA,CAAA,CAAA;YAIC,OAAA,IAAA,UAAA,CAAA,EAAA,CAAA,CAAA;SAIJ;KAIL;AAGT,IAAA,OAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ellipsize } from './ellipsize.mjs';
|
|
2
|
+
import { assertEx } from '@xylabs/assert';
|
|
3
|
+
import { BigNumber } from '@xylabs/bignumber';
|
|
4
|
+
import { padHex } from './padHex.mjs';
|
|
5
|
+
|
|
6
|
+
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
7
|
+
class EthAddress {
|
|
8
|
+
static type = 'EthAddress';
|
|
9
|
+
type = EthAddress.type;
|
|
10
|
+
address;
|
|
11
|
+
constructor(address) {
|
|
12
|
+
this.address = address;
|
|
13
|
+
}
|
|
14
|
+
static fromString(value, base = 16) {
|
|
15
|
+
if (value) {
|
|
16
|
+
const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
|
|
17
|
+
return new EthAddress(bn);
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
static parse(value, base) {
|
|
21
|
+
if (typeof value === 'string') {
|
|
22
|
+
return this.fromString(value, base);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
equals(address) {
|
|
26
|
+
if (address) {
|
|
27
|
+
let inAddress;
|
|
28
|
+
if (typeof address === 'string') {
|
|
29
|
+
inAddress = assertEx(EthAddress.fromString(address), 'Bad Address');
|
|
30
|
+
}
|
|
31
|
+
else {
|
|
32
|
+
inAddress = address;
|
|
33
|
+
}
|
|
34
|
+
return this.address.eq(inAddress.address);
|
|
35
|
+
}
|
|
36
|
+
return false;
|
|
37
|
+
}
|
|
38
|
+
toBigNumber() {
|
|
39
|
+
return this.address;
|
|
40
|
+
}
|
|
41
|
+
toHex() {
|
|
42
|
+
return padHex(this.address.toString(16), 20);
|
|
43
|
+
}
|
|
44
|
+
toJSON() {
|
|
45
|
+
return `0x${this.toHex()}`;
|
|
46
|
+
}
|
|
47
|
+
toLowerCaseString() {
|
|
48
|
+
return this.toString().toLowerCase();
|
|
49
|
+
}
|
|
50
|
+
toShortString(length = 2) {
|
|
51
|
+
return `0x${ellipsize(this.toHex(), length)}`;
|
|
52
|
+
}
|
|
53
|
+
toString() {
|
|
54
|
+
return `0x${this.toHex()}`;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
export { EthAddress, isEthAddress };
|
|
59
|
+
//# sourceMappingURL=EthAddress.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.mjs","sources":["../src/EthAddress.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;;AAQA,MAAA,YAAuB,GAAA,CAAA,GAAA,KAAA,GAAA,EAAA,IAAA,KAAA,UAAA,CAAA,KAAA;AACf,gBAAoB,CAAA;AAE1B,IAAA,OAAsB,IAAA,GAAA,YAAA,CAAA;IAEtB,IAAO,GAAA,UAAmB,CAAA,IAAA,CAAA;IAE1B,OAAO,CAAA;IAIP,mBAAkB,EAAA;QAOZ,IAAM,CAAA,OAAM,GAAA,QAAS;KAMrB;IAaN,OAAW,UAAA,CAAA,KAAA,EAAA,IAAA,GAAA,EAAA,EAAA;QAIN,IAAA,KAAA,EAAA;AAIL,kBAAgB,EAAA,GAAA,IAAA,SAAA,CAAA,KAAA,CAAA,UAAA,CAAA,IAAA,CAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAAA,CAAA,GAAA,KAAA,EAAA,IAAA,CAAA,CAAA;YAIC,OAAA,IAAA,UAAA,CAAA,EAAA,CAAA,CAAA;SAIJ;KAIL;AAGT,IAAA,OAAA,KAAA,CAAA,KAAA,EAAA,IAAA,EAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const ellipsize = (value, length = 2) => {
|
|
4
|
+
const part1 = value.slice(0, length);
|
|
5
|
+
const part2 = value.slice(value.length - length, value.length);
|
|
6
|
+
return `${part1}...${part2}`;
|
|
7
|
+
};
|
|
8
|
+
|
|
9
|
+
exports.ellipsize = ellipsize;
|
|
10
|
+
//# sourceMappingURL=ellipsize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.js","sources":["../src/ellipsize.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAA,SAAa,GAAA,CAAA,KAAoB,EAAA,MAAA,GAAA,CAAA;;;;;;;;"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.mjs","sources":["../src/ellipsize.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAA,SAAa,GAAA,CAAA,KAAoB,EAAA,MAAA,GAAA,CAAA;;;;;;;;"}
|
package/dist/index.js
CHANGED
|
@@ -1,81 +1,15 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var
|
|
4
|
-
var
|
|
3
|
+
var ellipsize = require('./ellipsize.js');
|
|
4
|
+
var EthAddress = require('./EthAddress.js');
|
|
5
|
+
var padHex = require('./padHex.js');
|
|
6
|
+
require('@xylabs/assert');
|
|
7
|
+
require('@xylabs/bignumber');
|
|
5
8
|
|
|
6
|
-
const ellipsize = (value, length = 2) => {
|
|
7
|
-
const part1 = value.slice(0, length);
|
|
8
|
-
const part2 = value.slice(value.length - length, value.length);
|
|
9
|
-
return `${part1}...${part2}`;
|
|
10
|
-
};
|
|
11
9
|
|
|
12
|
-
const padHex = (hex, byteCount) => {
|
|
13
|
-
let result = hex;
|
|
14
|
-
if (hex.length % 2 !== 0) {
|
|
15
|
-
result = `0${hex}`;
|
|
16
|
-
}
|
|
17
|
-
if (byteCount) {
|
|
18
|
-
while (result.length / 2 < byteCount) {
|
|
19
|
-
result = `00${result}`;
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
return result;
|
|
23
|
-
};
|
|
24
10
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
address;
|
|
30
|
-
constructor(address) {
|
|
31
|
-
this.address = address;
|
|
32
|
-
}
|
|
33
|
-
static fromString(value, base = 16) {
|
|
34
|
-
if (value) {
|
|
35
|
-
const bn = new bignumber.BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
|
|
36
|
-
return new EthAddress(bn);
|
|
37
|
-
}
|
|
38
|
-
}
|
|
39
|
-
static parse(value, base) {
|
|
40
|
-
if (typeof value === 'string') {
|
|
41
|
-
return this.fromString(value, base);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
equals(address) {
|
|
45
|
-
if (address) {
|
|
46
|
-
let inAddress;
|
|
47
|
-
if (typeof address === 'string') {
|
|
48
|
-
inAddress = assert.assertEx(EthAddress.fromString(address), 'Bad Address');
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
inAddress = address;
|
|
52
|
-
}
|
|
53
|
-
return this.address.eq(inAddress.address);
|
|
54
|
-
}
|
|
55
|
-
return false;
|
|
56
|
-
}
|
|
57
|
-
toBigNumber() {
|
|
58
|
-
return this.address;
|
|
59
|
-
}
|
|
60
|
-
toHex() {
|
|
61
|
-
return padHex(this.address.toString(16), 20);
|
|
62
|
-
}
|
|
63
|
-
toJSON() {
|
|
64
|
-
return `0x${this.toHex()}`;
|
|
65
|
-
}
|
|
66
|
-
toLowerCaseString() {
|
|
67
|
-
return this.toString().toLowerCase();
|
|
68
|
-
}
|
|
69
|
-
toShortString(length = 2) {
|
|
70
|
-
return `0x${ellipsize(this.toHex(), length)}`;
|
|
71
|
-
}
|
|
72
|
-
toString() {
|
|
73
|
-
return `0x${this.toHex()}`;
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
|
|
77
|
-
exports.EthAddress = EthAddress;
|
|
78
|
-
exports.ellipsize = ellipsize;
|
|
79
|
-
exports.isEthAddress = isEthAddress;
|
|
80
|
-
exports.padHex = padHex;
|
|
11
|
+
exports.ellipsize = ellipsize.ellipsize;
|
|
12
|
+
exports.EthAddress = EthAddress.EthAddress;
|
|
13
|
+
exports.isEthAddress = EthAddress.isEthAddress;
|
|
14
|
+
exports.padHex = padHex.padHex;
|
|
81
15
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":[
|
|
1
|
+
{"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;"}
|
package/dist/index.mjs
CHANGED
|
@@ -1,76 +1,6 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
const part2 = value.slice(value.length - length, value.length);
|
|
7
|
-
return `${part1}...${part2}`;
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
const padHex = (hex, byteCount) => {
|
|
11
|
-
let result = hex;
|
|
12
|
-
if (hex.length % 2 !== 0) {
|
|
13
|
-
result = `0${hex}`;
|
|
14
|
-
}
|
|
15
|
-
if (byteCount) {
|
|
16
|
-
while (result.length / 2 < byteCount) {
|
|
17
|
-
result = `00${result}`;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
return result;
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
24
|
-
class EthAddress {
|
|
25
|
-
static type = 'EthAddress';
|
|
26
|
-
type = EthAddress.type;
|
|
27
|
-
address;
|
|
28
|
-
constructor(address) {
|
|
29
|
-
this.address = address;
|
|
30
|
-
}
|
|
31
|
-
static fromString(value, base = 16) {
|
|
32
|
-
if (value) {
|
|
33
|
-
const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base);
|
|
34
|
-
return new EthAddress(bn);
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
static parse(value, base) {
|
|
38
|
-
if (typeof value === 'string') {
|
|
39
|
-
return this.fromString(value, base);
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
equals(address) {
|
|
43
|
-
if (address) {
|
|
44
|
-
let inAddress;
|
|
45
|
-
if (typeof address === 'string') {
|
|
46
|
-
inAddress = assertEx(EthAddress.fromString(address), 'Bad Address');
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
inAddress = address;
|
|
50
|
-
}
|
|
51
|
-
return this.address.eq(inAddress.address);
|
|
52
|
-
}
|
|
53
|
-
return false;
|
|
54
|
-
}
|
|
55
|
-
toBigNumber() {
|
|
56
|
-
return this.address;
|
|
57
|
-
}
|
|
58
|
-
toHex() {
|
|
59
|
-
return padHex(this.address.toString(16), 20);
|
|
60
|
-
}
|
|
61
|
-
toJSON() {
|
|
62
|
-
return `0x${this.toHex()}`;
|
|
63
|
-
}
|
|
64
|
-
toLowerCaseString() {
|
|
65
|
-
return this.toString().toLowerCase();
|
|
66
|
-
}
|
|
67
|
-
toShortString(length = 2) {
|
|
68
|
-
return `0x${ellipsize(this.toHex(), length)}`;
|
|
69
|
-
}
|
|
70
|
-
toString() {
|
|
71
|
-
return `0x${this.toHex()}`;
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
export { EthAddress, ellipsize, isEthAddress, padHex };
|
|
1
|
+
export { ellipsize } from './ellipsize.mjs';
|
|
2
|
+
export { EthAddress, isEthAddress } from './EthAddress.mjs';
|
|
3
|
+
export { padHex } from './padHex.mjs';
|
|
4
|
+
import '@xylabs/assert';
|
|
5
|
+
import '@xylabs/bignumber';
|
|
76
6
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/dist/padHex.js
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
const padHex = (hex, byteCount) => {
|
|
4
|
+
let result = hex;
|
|
5
|
+
if (hex.length % 2 !== 0) {
|
|
6
|
+
result = `0${hex}`;
|
|
7
|
+
}
|
|
8
|
+
if (byteCount) {
|
|
9
|
+
while (result.length / 2 < byteCount) {
|
|
10
|
+
result = `00${result}`;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
return result;
|
|
14
|
+
};
|
|
15
|
+
|
|
16
|
+
exports.padHex = padHex;
|
|
17
|
+
//# sourceMappingURL=padHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.js","sources":["../src/padHex.ts"],"sourcesContent":[null],"names":[],"mappings":";;AAAA,MAAA,SAAY,CAAA,GAAA,EAAA,cAA6B;AAazC,IAAO,IAAA,MAAQ,GAAE,GAAA,CAAA;;;;;;;;;;;;;;"}
|
package/dist/padHex.mjs
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const padHex = (hex, byteCount) => {
|
|
2
|
+
let result = hex;
|
|
3
|
+
if (hex.length % 2 !== 0) {
|
|
4
|
+
result = `0${hex}`;
|
|
5
|
+
}
|
|
6
|
+
if (byteCount) {
|
|
7
|
+
while (result.length / 2 < byteCount) {
|
|
8
|
+
result = `00${result}`;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return result;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
export { padHex };
|
|
15
|
+
//# sourceMappingURL=padHex.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.mjs","sources":["../src/padHex.ts"],"sourcesContent":[null],"names":[],"mappings":"AAAA,MAAA,SAAY,CAAA,GAAA,EAAA,cAA6B;AAazC,IAAO,IAAA,MAAQ,GAAE,GAAA,CAAA;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -51,13 +51,13 @@
|
|
|
51
51
|
"esm"
|
|
52
52
|
],
|
|
53
53
|
"dependencies": {
|
|
54
|
-
"@xylabs/assert": "~2.11.
|
|
55
|
-
"@xylabs/bignumber": "~2.11.
|
|
54
|
+
"@xylabs/assert": "~2.11.1",
|
|
55
|
+
"@xylabs/bignumber": "~2.11.1"
|
|
56
56
|
},
|
|
57
57
|
"devDependencies": {
|
|
58
|
-
"@xylabs/ts-scripts-yarn3": "^3.0.0-rc.
|
|
59
|
-
"@xylabs/tsconfig": "^3.0.0-rc.
|
|
60
|
-
"@xylabs/tsconfig-jest": "^3.0.0-rc.
|
|
58
|
+
"@xylabs/ts-scripts-yarn3": "^3.0.0-rc.16",
|
|
59
|
+
"@xylabs/tsconfig": "^3.0.0-rc.16",
|
|
60
|
+
"@xylabs/tsconfig-jest": "^3.0.0-rc.16"
|
|
61
61
|
},
|
|
62
62
|
"publishConfig": {
|
|
63
63
|
"access": "public"
|
|
@@ -67,6 +67,6 @@
|
|
|
67
67
|
"url": "https://github.com/xylabs/sdk-js.git"
|
|
68
68
|
},
|
|
69
69
|
"sideEffects": false,
|
|
70
|
-
"version": "2.11.
|
|
70
|
+
"version": "2.11.1",
|
|
71
71
|
"packageManager": "yarn@3.3.1"
|
|
72
72
|
}
|