@xylabs/eth-address 2.11.6 → 2.11.8
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/browser/EthAddress.d.mts.map +1 -0
- package/dist/browser/EthAddress.d.ts.map +1 -0
- package/dist/{index.mjs → browser/EthAddress.js} +10 -34
- package/dist/browser/EthAddress.js.map +1 -0
- package/dist/browser/ellipsize.d.mts.map +1 -0
- package/dist/browser/ellipsize.d.ts.map +1 -0
- package/dist/browser/ellipsize.js +9 -0
- package/dist/browser/ellipsize.js.map +1 -0
- package/dist/browser/index.d.mts.map +1 -0
- package/dist/browser/index.d.ts.map +1 -0
- package/dist/browser/index.js +4 -0
- package/dist/browser/index.js.map +1 -0
- package/dist/browser/padHex.d.mts.map +1 -0
- package/dist/browser/padHex.d.ts.map +1 -0
- package/dist/browser/padHex.js +16 -0
- package/dist/browser/padHex.js.map +1 -0
- package/dist/browser/spec/EthAddress.spec.js +10 -0
- package/dist/browser/spec/EthAddress.spec.js.map +1 -0
- package/dist/node/EthAddress.d.mts +20 -0
- package/dist/node/EthAddress.d.mts.map +1 -0
- package/dist/node/EthAddress.d.ts +20 -0
- package/dist/node/EthAddress.d.ts.map +1 -0
- package/dist/{index.js → node/EthAddress.js} +16 -45
- package/dist/node/EthAddress.js.map +1 -0
- package/dist/node/EthAddress.mjs +59 -0
- package/dist/node/EthAddress.mjs.map +1 -0
- package/dist/node/ellipsize.d.mts +2 -0
- package/dist/node/ellipsize.d.mts.map +1 -0
- package/dist/node/ellipsize.d.ts +2 -0
- package/dist/node/ellipsize.d.ts.map +1 -0
- package/dist/node/ellipsize.js +33 -0
- package/dist/node/ellipsize.js.map +1 -0
- package/dist/node/ellipsize.mjs +9 -0
- package/dist/node/ellipsize.mjs.map +1 -0
- package/dist/node/index.d.mts +4 -0
- package/dist/node/index.d.mts.map +1 -0
- package/dist/node/index.d.ts +4 -0
- package/dist/node/index.d.ts.map +1 -0
- package/dist/node/index.js +27 -0
- package/dist/node/index.js.map +1 -0
- package/dist/node/index.mjs +4 -0
- package/dist/node/index.mjs.map +1 -0
- package/dist/node/padHex.d.mts +3 -0
- package/dist/node/padHex.d.mts.map +1 -0
- package/dist/node/padHex.d.ts +3 -0
- package/dist/node/padHex.d.ts.map +1 -0
- package/dist/node/padHex.js +40 -0
- package/dist/node/padHex.js.map +1 -0
- package/dist/node/padHex.mjs +16 -0
- package/dist/node/padHex.mjs.map +1 -0
- package/dist/node/spec/EthAddress.spec.js +11 -0
- package/dist/node/spec/EthAddress.spec.js.map +1 -0
- package/dist/node/spec/EthAddress.spec.mjs +10 -0
- package/dist/node/spec/EthAddress.spec.mjs.map +1 -0
- package/package.json +13 -22
- package/dist/EthAddress.d.mts.map +0 -1
- package/dist/EthAddress.d.ts.map +0 -1
- package/dist/ellipsize.d.mts.map +0 -1
- package/dist/ellipsize.d.ts.map +0 -1
- package/dist/index.d.mts.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/index.mjs.map +0 -1
- package/dist/padHex.d.mts.map +0 -1
- package/dist/padHex.d.ts.map +0 -1
- /package/dist/{EthAddress.d.mts → browser/EthAddress.d.mts} +0 -0
- /package/dist/{EthAddress.d.ts → browser/EthAddress.d.ts} +0 -0
- /package/dist/{ellipsize.d.mts → browser/ellipsize.d.mts} +0 -0
- /package/dist/{ellipsize.d.ts → browser/ellipsize.d.ts} +0 -0
- /package/dist/{index.d.mts → browser/index.d.mts} +0 -0
- /package/dist/{index.d.ts → browser/index.d.ts} +0 -0
- /package/dist/{padHex.d.mts → browser/padHex.d.mts} +0 -0
- /package/dist/{padHex.d.ts → browser/padHex.d.ts} +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
|
@@ -1,33 +1,11 @@
|
|
|
1
|
-
// src/ellipsize.ts
|
|
2
|
-
var ellipsize = (value, length = 2) => {
|
|
3
|
-
const part1 = value.slice(0, length);
|
|
4
|
-
const part2 = value.slice(value.length - length, value.length);
|
|
5
|
-
return `${part1}...${part2}`;
|
|
6
|
-
};
|
|
7
|
-
|
|
8
|
-
// src/EthAddress.ts
|
|
9
1
|
import { assertEx } from "@xylabs/assert";
|
|
10
2
|
import { BigNumber } from "@xylabs/bignumber";
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
if (hex.length % 2 !== 0) {
|
|
16
|
-
result = `0${hex}`;
|
|
17
|
-
}
|
|
18
|
-
if (byteCount) {
|
|
19
|
-
while (result.length / 2 < byteCount) {
|
|
20
|
-
result = `00${result}`;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return result;
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
// src/EthAddress.ts
|
|
27
|
-
var isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
28
|
-
var EthAddress = class _EthAddress {
|
|
3
|
+
import { ellipsize } from "./ellipsize";
|
|
4
|
+
import { padHex } from "./padHex";
|
|
5
|
+
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
6
|
+
class EthAddress {
|
|
29
7
|
static type = "EthAddress";
|
|
30
|
-
type =
|
|
8
|
+
type = EthAddress.type;
|
|
31
9
|
address;
|
|
32
10
|
constructor(address) {
|
|
33
11
|
this.address = address;
|
|
@@ -35,7 +13,7 @@ var EthAddress = class _EthAddress {
|
|
|
35
13
|
static fromString(value, base = 16) {
|
|
36
14
|
if (value) {
|
|
37
15
|
const bn = new BigNumber(value.startsWith("0x") ? value.substring(2) : value, base);
|
|
38
|
-
return new
|
|
16
|
+
return new EthAddress(bn);
|
|
39
17
|
}
|
|
40
18
|
}
|
|
41
19
|
static parse(value, base) {
|
|
@@ -47,7 +25,7 @@ var EthAddress = class _EthAddress {
|
|
|
47
25
|
if (address) {
|
|
48
26
|
let inAddress;
|
|
49
27
|
if (typeof address === "string") {
|
|
50
|
-
inAddress = assertEx(
|
|
28
|
+
inAddress = assertEx(EthAddress.fromString(address), "Bad Address");
|
|
51
29
|
} else {
|
|
52
30
|
inAddress = address;
|
|
53
31
|
}
|
|
@@ -73,11 +51,9 @@ var EthAddress = class _EthAddress {
|
|
|
73
51
|
toString() {
|
|
74
52
|
return `0x${this.toHex()}`;
|
|
75
53
|
}
|
|
76
|
-
}
|
|
54
|
+
}
|
|
77
55
|
export {
|
|
78
56
|
EthAddress,
|
|
79
|
-
|
|
80
|
-
isEthAddress,
|
|
81
|
-
padHex
|
|
57
|
+
isEthAddress
|
|
82
58
|
};
|
|
83
|
-
//# sourceMappingURL=
|
|
59
|
+
//# sourceMappingURL=EthAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EthAddress.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\n\nimport { ellipsize } from './ellipsize'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n static type = 'EthAddress'\n\n type = EthAddress.type\n\n private address: BigNumber\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n toBigNumber() {\n return this.address\n }\n\n toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n toShortString(length = 2) {\n return `0x${ellipsize(this.toHex(), length)}`\n }\n\n toString() {\n return `0x${this.toHex()}`\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAE1B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEhB,MAAM,eAAe,CAAC,QAA0B,KAAK,SAAS,WAAW;AAEzE,MAAM,WAAW;AAAA,EACtB,OAAO,OAAO;AAAA,EAEd,OAAO,WAAW;AAAA,EAEV;AAAA,EAEA,YAAY,SAAoB;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAAgB,OAAO,IAAI;AAC3C,QAAI,OAAO;AACT,YAAM,KAAK,IAAI,UAAU,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI,OAAO,IAAI;AAClF,aAAO,IAAI,WAAW,EAAE;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,OAAgB,MAAe;AAC1C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,KAAK,WAAW,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,QAAI,SAAS;AACX,UAAI;AACJ,UAAI,OAAO,YAAY,UAAU;AAC/B,oBAAY,SAAS,WAAW,WAAW,OAAO,GAAG,aAAa;AAAA,MACpE,OAAO;AACL,oBAAY;AAAA,MACd;AACA,aAAO,KAAK,QAAQ,GAAG,UAAU,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ;AACN,WAAO,OAAO,KAAK,QAAQ,SAAS,EAAE,GAAG,EAAE;AAAA,EAC7C;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAClB,WAAO,KAAK,SAAS,EAAE,YAAY;AAAA,EACrC;AAAA,EAEA,cAAc,SAAS,GAAG;AACxB,WAAO,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,CAAC;AAAA,EAC7C;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ellipsize.ts"],"sourcesContent":["export const ellipsize = (value: string, length = 2) => {\n const part1 = value.slice(0, length)\n const part2 = value.slice(value.length - length, value.length)\n return `${part1}...${part2}`\n}\n"],"mappings":"AAAO,MAAM,YAAY,CAAC,OAAe,SAAS,MAAM;AACtD,QAAM,QAAQ,MAAM,MAAM,GAAG,MAAM;AACnC,QAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AAC7D,SAAO,GAAG,KAAK,MAAM,KAAK;AAC5B;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ellipsize'\nexport * from './EthAddress'\nexport * from './padHex'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
export {
|
|
14
|
+
padHex
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=padHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/padHex.ts"],"sourcesContent":["const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n"],"mappings":"AAAA,MAAM,SAAS,CAAC,KAAa,cAAuB;AAClD,MAAI,SAAS;AACb,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,aAAS,IAAI,GAAG;AAAA,EAClB;AACA,MAAI,WAAW;AACb,WAAO,OAAO,SAAS,IAAI,WAAW;AACpC,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EthAddress } from "../EthAddress";
|
|
2
|
+
describe("EthAddress", () => {
|
|
3
|
+
test("checking happy path", () => {
|
|
4
|
+
const addressString = "7284b6A4233B8B05910F2CbF7dBf6715325F6fCb".toLowerCase();
|
|
5
|
+
const address = EthAddress.fromString(addressString, 16);
|
|
6
|
+
expect(address?.toString()).toBe(`0x${addressString}`);
|
|
7
|
+
expect(address?.toShortString()).toBe("0x72...cb");
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=EthAddress.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/spec/EthAddress.spec.ts"],"sourcesContent":["import { EthAddress } from '../EthAddress'\n\ndescribe('EthAddress', () => {\n test('checking happy path', () => {\n const addressString = '7284b6A4233B8B05910F2CbF7dBf6715325F6fCb'.toLowerCase()\n const address = EthAddress.fromString(addressString, 16)\n expect(address?.toString()).toBe(`0x${addressString}`)\n expect(address?.toShortString()).toBe('0x72...cb')\n })\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,MAAM;AAC3B,OAAK,uBAAuB,MAAM;AAChC,UAAM,gBAAgB,2CAA2C,YAAY;AAC7E,UAAM,UAAU,WAAW,WAAW,eAAe,EAAE;AACvD,WAAO,SAAS,SAAS,CAAC,EAAE,KAAK,KAAK,aAAa,EAAE;AACrD,WAAO,SAAS,cAAc,CAAC,EAAE,KAAK,WAAW;AAAA,EACnD,CAAC;AACH,CAAC;","names":[]}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BigNumber } from '@xylabs/bignumber';
|
|
2
|
+
export declare const isEthAddress: (obj: {
|
|
3
|
+
type: string;
|
|
4
|
+
}) => boolean;
|
|
5
|
+
export declare class EthAddress {
|
|
6
|
+
static type: string;
|
|
7
|
+
type: string;
|
|
8
|
+
private address;
|
|
9
|
+
private constructor();
|
|
10
|
+
static fromString(value?: string, base?: number): EthAddress | undefined;
|
|
11
|
+
static parse(value: unknown, base?: number): EthAddress | undefined;
|
|
12
|
+
equals(address?: EthAddress | string | null): boolean;
|
|
13
|
+
toBigNumber(): BigNumber;
|
|
14
|
+
toHex(): string;
|
|
15
|
+
toJSON(): string;
|
|
16
|
+
toLowerCaseString(): string;
|
|
17
|
+
toShortString(length?: number): string;
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=EthAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { BigNumber } from '@xylabs/bignumber';
|
|
2
|
+
export declare const isEthAddress: (obj: {
|
|
3
|
+
type: string;
|
|
4
|
+
}) => boolean;
|
|
5
|
+
export declare class EthAddress {
|
|
6
|
+
static type: string;
|
|
7
|
+
type: string;
|
|
8
|
+
private address;
|
|
9
|
+
private constructor();
|
|
10
|
+
static fromString(value?: string, base?: number): EthAddress | undefined;
|
|
11
|
+
static parse(value: unknown, base?: number): EthAddress | undefined;
|
|
12
|
+
equals(address?: EthAddress | string | null): boolean;
|
|
13
|
+
toBigNumber(): BigNumber;
|
|
14
|
+
toHex(): string;
|
|
15
|
+
toJSON(): string;
|
|
16
|
+
toLowerCaseString(): string;
|
|
17
|
+
toShortString(length?: number): string;
|
|
18
|
+
toString(): string;
|
|
19
|
+
}
|
|
20
|
+
//# sourceMappingURL=EthAddress.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
|
@@ -16,47 +16,20 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
16
16
|
return to;
|
|
17
17
|
};
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
var src_exports = {};
|
|
22
|
-
__export(src_exports, {
|
|
19
|
+
var EthAddress_exports = {};
|
|
20
|
+
__export(EthAddress_exports, {
|
|
23
21
|
EthAddress: () => EthAddress,
|
|
24
|
-
|
|
25
|
-
isEthAddress: () => isEthAddress,
|
|
26
|
-
padHex: () => padHex
|
|
22
|
+
isEthAddress: () => isEthAddress
|
|
27
23
|
});
|
|
28
|
-
module.exports = __toCommonJS(
|
|
29
|
-
|
|
30
|
-
// src/ellipsize.ts
|
|
31
|
-
var ellipsize = (value, length = 2) => {
|
|
32
|
-
const part1 = value.slice(0, length);
|
|
33
|
-
const part2 = value.slice(value.length - length, value.length);
|
|
34
|
-
return `${part1}...${part2}`;
|
|
35
|
-
};
|
|
36
|
-
|
|
37
|
-
// src/EthAddress.ts
|
|
24
|
+
module.exports = __toCommonJS(EthAddress_exports);
|
|
38
25
|
var import_assert = require("@xylabs/assert");
|
|
39
26
|
var import_bignumber = require("@xylabs/bignumber");
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
if (hex.length % 2 !== 0) {
|
|
45
|
-
result = `0${hex}`;
|
|
46
|
-
}
|
|
47
|
-
if (byteCount) {
|
|
48
|
-
while (result.length / 2 < byteCount) {
|
|
49
|
-
result = `00${result}`;
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
return result;
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
// src/EthAddress.ts
|
|
56
|
-
var isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
57
|
-
var EthAddress = class _EthAddress {
|
|
27
|
+
var import_ellipsize = require("./ellipsize");
|
|
28
|
+
var import_padHex = require("./padHex");
|
|
29
|
+
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
30
|
+
class EthAddress {
|
|
58
31
|
static type = "EthAddress";
|
|
59
|
-
type =
|
|
32
|
+
type = EthAddress.type;
|
|
60
33
|
address;
|
|
61
34
|
constructor(address) {
|
|
62
35
|
this.address = address;
|
|
@@ -64,7 +37,7 @@ var EthAddress = class _EthAddress {
|
|
|
64
37
|
static fromString(value, base = 16) {
|
|
65
38
|
if (value) {
|
|
66
39
|
const bn = new import_bignumber.BigNumber(value.startsWith("0x") ? value.substring(2) : value, base);
|
|
67
|
-
return new
|
|
40
|
+
return new EthAddress(bn);
|
|
68
41
|
}
|
|
69
42
|
}
|
|
70
43
|
static parse(value, base) {
|
|
@@ -76,7 +49,7 @@ var EthAddress = class _EthAddress {
|
|
|
76
49
|
if (address) {
|
|
77
50
|
let inAddress;
|
|
78
51
|
if (typeof address === "string") {
|
|
79
|
-
inAddress = (0, import_assert.assertEx)(
|
|
52
|
+
inAddress = (0, import_assert.assertEx)(EthAddress.fromString(address), "Bad Address");
|
|
80
53
|
} else {
|
|
81
54
|
inAddress = address;
|
|
82
55
|
}
|
|
@@ -88,7 +61,7 @@ var EthAddress = class _EthAddress {
|
|
|
88
61
|
return this.address;
|
|
89
62
|
}
|
|
90
63
|
toHex() {
|
|
91
|
-
return padHex(this.address.toString(16), 20);
|
|
64
|
+
return (0, import_padHex.padHex)(this.address.toString(16), 20);
|
|
92
65
|
}
|
|
93
66
|
toJSON() {
|
|
94
67
|
return `0x${this.toHex()}`;
|
|
@@ -97,17 +70,15 @@ var EthAddress = class _EthAddress {
|
|
|
97
70
|
return this.toString().toLowerCase();
|
|
98
71
|
}
|
|
99
72
|
toShortString(length = 2) {
|
|
100
|
-
return `0x${ellipsize(this.toHex(), length)}`;
|
|
73
|
+
return `0x${(0, import_ellipsize.ellipsize)(this.toHex(), length)}`;
|
|
101
74
|
}
|
|
102
75
|
toString() {
|
|
103
76
|
return `0x${this.toHex()}`;
|
|
104
77
|
}
|
|
105
|
-
}
|
|
78
|
+
}
|
|
106
79
|
// Annotate the CommonJS export names for ESM import in node:
|
|
107
80
|
0 && (module.exports = {
|
|
108
81
|
EthAddress,
|
|
109
|
-
|
|
110
|
-
isEthAddress,
|
|
111
|
-
padHex
|
|
82
|
+
isEthAddress
|
|
112
83
|
});
|
|
113
|
-
//# sourceMappingURL=
|
|
84
|
+
//# sourceMappingURL=EthAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EthAddress.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\n\nimport { ellipsize } from './ellipsize'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n static type = 'EthAddress'\n\n type = EthAddress.type\n\n private address: BigNumber\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n toBigNumber() {\n return this.address\n }\n\n toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n toShortString(length = 2) {\n return `0x${ellipsize(this.toHex(), length)}`\n }\n\n toString() {\n return `0x${this.toHex()}`\n }\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAyB;AACzB,uBAA0B;AAE1B,uBAA0B;AAC1B,oBAAuB;AAEhB,MAAM,eAAe,CAAC,QAA0B,KAAK,SAAS,WAAW;AAEzE,MAAM,WAAW;AAAA,EACtB,OAAO,OAAO;AAAA,EAEd,OAAO,WAAW;AAAA,EAEV;AAAA,EAEA,YAAY,SAAoB;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAAgB,OAAO,IAAI;AAC3C,QAAI,OAAO;AACT,YAAM,KAAK,IAAI,2BAAU,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI,OAAO,IAAI;AAClF,aAAO,IAAI,WAAW,EAAE;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,OAAgB,MAAe;AAC1C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,KAAK,WAAW,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,QAAI,SAAS;AACX,UAAI;AACJ,UAAI,OAAO,YAAY,UAAU;AAC/B,wBAAY,wBAAS,WAAW,WAAW,OAAO,GAAG,aAAa;AAAA,MACpE,OAAO;AACL,oBAAY;AAAA,MACd;AACA,aAAO,KAAK,QAAQ,GAAG,UAAU,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ;AACN,eAAO,sBAAO,KAAK,QAAQ,SAAS,EAAE,GAAG,EAAE;AAAA,EAC7C;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAClB,WAAO,KAAK,SAAS,EAAE,YAAY;AAAA,EACrC;AAAA,EAEA,cAAc,SAAS,GAAG;AACxB,WAAO,SAAK,4BAAU,KAAK,MAAM,GAAG,MAAM,CAAC;AAAA,EAC7C;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { assertEx } from "@xylabs/assert";
|
|
2
|
+
import { BigNumber } from "@xylabs/bignumber";
|
|
3
|
+
import { ellipsize } from "./ellipsize";
|
|
4
|
+
import { padHex } from "./padHex";
|
|
5
|
+
const isEthAddress = (obj) => obj?.type === EthAddress.type;
|
|
6
|
+
class EthAddress {
|
|
7
|
+
static type = "EthAddress";
|
|
8
|
+
type = EthAddress.type;
|
|
9
|
+
address;
|
|
10
|
+
constructor(address) {
|
|
11
|
+
this.address = address;
|
|
12
|
+
}
|
|
13
|
+
static fromString(value, base = 16) {
|
|
14
|
+
if (value) {
|
|
15
|
+
const bn = new BigNumber(value.startsWith("0x") ? value.substring(2) : value, base);
|
|
16
|
+
return new EthAddress(bn);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
static parse(value, base) {
|
|
20
|
+
if (typeof value === "string") {
|
|
21
|
+
return this.fromString(value, base);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
equals(address) {
|
|
25
|
+
if (address) {
|
|
26
|
+
let inAddress;
|
|
27
|
+
if (typeof address === "string") {
|
|
28
|
+
inAddress = assertEx(EthAddress.fromString(address), "Bad Address");
|
|
29
|
+
} else {
|
|
30
|
+
inAddress = address;
|
|
31
|
+
}
|
|
32
|
+
return this.address.eq(inAddress.address);
|
|
33
|
+
}
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
toBigNumber() {
|
|
37
|
+
return this.address;
|
|
38
|
+
}
|
|
39
|
+
toHex() {
|
|
40
|
+
return padHex(this.address.toString(16), 20);
|
|
41
|
+
}
|
|
42
|
+
toJSON() {
|
|
43
|
+
return `0x${this.toHex()}`;
|
|
44
|
+
}
|
|
45
|
+
toLowerCaseString() {
|
|
46
|
+
return this.toString().toLowerCase();
|
|
47
|
+
}
|
|
48
|
+
toShortString(length = 2) {
|
|
49
|
+
return `0x${ellipsize(this.toHex(), length)}`;
|
|
50
|
+
}
|
|
51
|
+
toString() {
|
|
52
|
+
return `0x${this.toHex()}`;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
export {
|
|
56
|
+
EthAddress,
|
|
57
|
+
isEthAddress
|
|
58
|
+
};
|
|
59
|
+
//# sourceMappingURL=EthAddress.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/EthAddress.ts"],"sourcesContent":["import { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\n\nimport { ellipsize } from './ellipsize'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n static type = 'EthAddress'\n\n type = EthAddress.type\n\n private address: BigNumber\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n toBigNumber() {\n return this.address\n }\n\n toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n toShortString(length = 2) {\n return `0x${ellipsize(this.toHex(), length)}`\n }\n\n toString() {\n return `0x${this.toHex()}`\n }\n}\n"],"mappings":"AAAA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;AAE1B,SAAS,iBAAiB;AAC1B,SAAS,cAAc;AAEhB,MAAM,eAAe,CAAC,QAA0B,KAAK,SAAS,WAAW;AAEzE,MAAM,WAAW;AAAA,EACtB,OAAO,OAAO;AAAA,EAEd,OAAO,WAAW;AAAA,EAEV;AAAA,EAEA,YAAY,SAAoB;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAAgB,OAAO,IAAI;AAC3C,QAAI,OAAO;AACT,YAAM,KAAK,IAAI,UAAU,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI,OAAO,IAAI;AAClF,aAAO,IAAI,WAAW,EAAE;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,OAAgB,MAAe;AAC1C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,KAAK,WAAW,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,QAAI,SAAS;AACX,UAAI;AACJ,UAAI,OAAO,YAAY,UAAU;AAC/B,oBAAY,SAAS,WAAW,WAAW,OAAO,GAAG,aAAa;AAAA,MACpE,OAAO;AACL,oBAAY;AAAA,MACd;AACA,aAAO,KAAK,QAAQ,GAAG,UAAU,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ;AACN,WAAO,OAAO,KAAK,QAAQ,SAAS,EAAE,GAAG,EAAE;AAAA,EAC7C;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAClB,WAAO,KAAK,SAAS,EAAE,YAAY;AAAA,EACrC;AAAA,EAEA,cAAc,SAAS,GAAG;AACxB,WAAO,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,CAAC;AAAA,EAC7C;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var ellipsize_exports = {};
|
|
20
|
+
__export(ellipsize_exports, {
|
|
21
|
+
ellipsize: () => ellipsize
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(ellipsize_exports);
|
|
24
|
+
const ellipsize = (value, length = 2) => {
|
|
25
|
+
const part1 = value.slice(0, length);
|
|
26
|
+
const part2 = value.slice(value.length - length, value.length);
|
|
27
|
+
return `${part1}...${part2}`;
|
|
28
|
+
};
|
|
29
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
30
|
+
0 && (module.exports = {
|
|
31
|
+
ellipsize
|
|
32
|
+
});
|
|
33
|
+
//# sourceMappingURL=ellipsize.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ellipsize.ts"],"sourcesContent":["export const ellipsize = (value: string, length = 2) => {\n const part1 = value.slice(0, length)\n const part2 = value.slice(value.length - length, value.length)\n return `${part1}...${part2}`\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAO,MAAM,YAAY,CAAC,OAAe,SAAS,MAAM;AACtD,QAAM,QAAQ,MAAM,MAAM,GAAG,MAAM;AACnC,QAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AAC7D,SAAO,GAAG,KAAK,MAAM,KAAK;AAC5B;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/ellipsize.ts"],"sourcesContent":["export const ellipsize = (value: string, length = 2) => {\n const part1 = value.slice(0, length)\n const part2 = value.slice(value.length - length, value.length)\n return `${part1}...${part2}`\n}\n"],"mappings":"AAAO,MAAM,YAAY,CAAC,OAAe,SAAS,MAAM;AACtD,QAAM,QAAQ,MAAM,MAAM,GAAG,MAAM;AACnC,QAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AAC7D,SAAO,GAAG,KAAK,MAAM,KAAK;AAC5B;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __copyProps = (to, from, except, desc) => {
|
|
7
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
8
|
+
for (let key of __getOwnPropNames(from))
|
|
9
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
10
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
11
|
+
}
|
|
12
|
+
return to;
|
|
13
|
+
};
|
|
14
|
+
var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
|
|
15
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
16
|
+
var src_exports = {};
|
|
17
|
+
module.exports = __toCommonJS(src_exports);
|
|
18
|
+
__reExport(src_exports, require("./ellipsize"), module.exports);
|
|
19
|
+
__reExport(src_exports, require("./EthAddress"), module.exports);
|
|
20
|
+
__reExport(src_exports, require("./padHex"), module.exports);
|
|
21
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
22
|
+
0 && (module.exports = {
|
|
23
|
+
...require("./ellipsize"),
|
|
24
|
+
...require("./EthAddress"),
|
|
25
|
+
...require("./padHex")
|
|
26
|
+
});
|
|
27
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ellipsize'\nexport * from './EthAddress'\nexport * from './padHex'\n"],"mappings":";;;;;;;;;;;;;;;AAAA;AAAA;AAAA,wBAAc,wBAAd;AACA,wBAAc,yBADd;AAEA,wBAAc,qBAFd;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/index.ts"],"sourcesContent":["export * from './ellipsize'\nexport * from './EthAddress'\nexport * from './padHex'\n"],"mappings":"AAAA,cAAc;AACd,cAAc;AACd,cAAc;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __defProp = Object.defineProperty;
|
|
3
|
+
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
|
|
4
|
+
var __getOwnPropNames = Object.getOwnPropertyNames;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __export = (target, all) => {
|
|
7
|
+
for (var name in all)
|
|
8
|
+
__defProp(target, name, { get: all[name], enumerable: true });
|
|
9
|
+
};
|
|
10
|
+
var __copyProps = (to, from, except, desc) => {
|
|
11
|
+
if (from && typeof from === "object" || typeof from === "function") {
|
|
12
|
+
for (let key of __getOwnPropNames(from))
|
|
13
|
+
if (!__hasOwnProp.call(to, key) && key !== except)
|
|
14
|
+
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
15
|
+
}
|
|
16
|
+
return to;
|
|
17
|
+
};
|
|
18
|
+
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
|
+
var padHex_exports = {};
|
|
20
|
+
__export(padHex_exports, {
|
|
21
|
+
padHex: () => padHex
|
|
22
|
+
});
|
|
23
|
+
module.exports = __toCommonJS(padHex_exports);
|
|
24
|
+
const padHex = (hex, byteCount) => {
|
|
25
|
+
let result = hex;
|
|
26
|
+
if (hex.length % 2 !== 0) {
|
|
27
|
+
result = `0${hex}`;
|
|
28
|
+
}
|
|
29
|
+
if (byteCount) {
|
|
30
|
+
while (result.length / 2 < byteCount) {
|
|
31
|
+
result = `00${result}`;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
return result;
|
|
35
|
+
};
|
|
36
|
+
// Annotate the CommonJS export names for ESM import in node:
|
|
37
|
+
0 && (module.exports = {
|
|
38
|
+
padHex
|
|
39
|
+
});
|
|
40
|
+
//# sourceMappingURL=padHex.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/padHex.ts"],"sourcesContent":["const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n"],"mappings":";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,MAAM,SAAS,CAAC,KAAa,cAAuB;AAClD,MAAI,SAAS;AACb,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,aAAS,IAAI,GAAG;AAAA,EAClB;AACA,MAAI,WAAW;AACb,WAAO,OAAO,SAAS,IAAI,WAAW;AACpC,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
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
|
+
export {
|
|
14
|
+
padHex
|
|
15
|
+
};
|
|
16
|
+
//# sourceMappingURL=padHex.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/padHex.ts"],"sourcesContent":["const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n"],"mappings":"AAAA,MAAM,SAAS,CAAC,KAAa,cAAuB;AAClD,MAAI,SAAS;AACb,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,aAAS,IAAI,GAAG;AAAA,EAClB;AACA,MAAI,WAAW;AACb,WAAO,OAAO,SAAS,IAAI,WAAW;AACpC,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;","names":[]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var import_EthAddress = require("../EthAddress");
|
|
3
|
+
describe("EthAddress", () => {
|
|
4
|
+
test("checking happy path", () => {
|
|
5
|
+
const addressString = "7284b6A4233B8B05910F2CbF7dBf6715325F6fCb".toLowerCase();
|
|
6
|
+
const address = import_EthAddress.EthAddress.fromString(addressString, 16);
|
|
7
|
+
expect(address?.toString()).toBe(`0x${addressString}`);
|
|
8
|
+
expect(address?.toShortString()).toBe("0x72...cb");
|
|
9
|
+
});
|
|
10
|
+
});
|
|
11
|
+
//# sourceMappingURL=EthAddress.spec.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/spec/EthAddress.spec.ts"],"sourcesContent":["import { EthAddress } from '../EthAddress'\n\ndescribe('EthAddress', () => {\n test('checking happy path', () => {\n const addressString = '7284b6A4233B8B05910F2CbF7dBf6715325F6fCb'.toLowerCase()\n const address = EthAddress.fromString(addressString, 16)\n expect(address?.toString()).toBe(`0x${addressString}`)\n expect(address?.toShortString()).toBe('0x72...cb')\n })\n})\n"],"mappings":";AAAA,wBAA2B;AAE3B,SAAS,cAAc,MAAM;AAC3B,OAAK,uBAAuB,MAAM;AAChC,UAAM,gBAAgB,2CAA2C,YAAY;AAC7E,UAAM,UAAU,6BAAW,WAAW,eAAe,EAAE;AACvD,WAAO,SAAS,SAAS,CAAC,EAAE,KAAK,KAAK,aAAa,EAAE;AACrD,WAAO,SAAS,cAAc,CAAC,EAAE,KAAK,WAAW;AAAA,EACnD,CAAC;AACH,CAAC;","names":[]}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { EthAddress } from "../EthAddress";
|
|
2
|
+
describe("EthAddress", () => {
|
|
3
|
+
test("checking happy path", () => {
|
|
4
|
+
const addressString = "7284b6A4233B8B05910F2CbF7dBf6715325F6fCb".toLowerCase();
|
|
5
|
+
const address = EthAddress.fromString(addressString, 16);
|
|
6
|
+
expect(address?.toString()).toBe(`0x${addressString}`);
|
|
7
|
+
expect(address?.toShortString()).toBe("0x72...cb");
|
|
8
|
+
});
|
|
9
|
+
});
|
|
10
|
+
//# sourceMappingURL=EthAddress.spec.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../../src/spec/EthAddress.spec.ts"],"sourcesContent":["import { EthAddress } from '../EthAddress'\n\ndescribe('EthAddress', () => {\n test('checking happy path', () => {\n const addressString = '7284b6A4233B8B05910F2CbF7dBf6715325F6fCb'.toLowerCase()\n const address = EthAddress.fromString(addressString, 16)\n expect(address?.toString()).toBe(`0x${addressString}`)\n expect(address?.toShortString()).toBe('0x72...cb')\n })\n})\n"],"mappings":"AAAA,SAAS,kBAAkB;AAE3B,SAAS,cAAc,MAAM;AAC3B,OAAK,uBAAuB,MAAM;AAChC,UAAM,gBAAgB,2CAA2C,YAAY;AAC7E,UAAM,UAAU,WAAW,WAAW,eAAe,EAAE;AACvD,WAAO,SAAS,SAAS,CAAC,EAAE,KAAK,KAAK,aAAa,EAAE;AACrD,WAAO,SAAS,cAAc,CAAC,EAAE,KAAK,WAAW;AAAA,EACnD,CAAC;AACH,CAAC;","names":[]}
|
package/package.json
CHANGED
|
@@ -15,34 +15,25 @@
|
|
|
15
15
|
],
|
|
16
16
|
"description": "Base functionality used throughout XY Labs TypeScript/JavaScript libraries",
|
|
17
17
|
"docs": "dist/docs.json",
|
|
18
|
-
"types": "dist/index.d.ts",
|
|
18
|
+
"types": "dist/node/index.d.ts",
|
|
19
19
|
"exports": {
|
|
20
20
|
".": {
|
|
21
21
|
"require": {
|
|
22
|
-
"types": "./dist/index.d.ts",
|
|
23
|
-
"default": "./dist/index.js"
|
|
22
|
+
"types": "./dist/node/index.d.ts",
|
|
23
|
+
"default": "./dist/node/index.js"
|
|
24
24
|
},
|
|
25
25
|
"import": {
|
|
26
|
-
"types": "./dist/index.d.mts",
|
|
27
|
-
"default": "./dist/index.mjs"
|
|
26
|
+
"types": "./dist/node/index.d.mts",
|
|
27
|
+
"default": "./dist/node/index.mjs"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
|
-
"./dist/docs.json": {
|
|
31
|
-
"default": "./dist/docs.json"
|
|
32
|
-
},
|
|
33
|
-
"./cjs": {
|
|
34
|
-
"default": "./dist/index.js"
|
|
35
|
-
},
|
|
36
30
|
"./docs": {
|
|
37
31
|
"default": "./dist/docs.json"
|
|
38
32
|
},
|
|
39
|
-
"./esm": {
|
|
40
|
-
"default": "./dist/index.mjs"
|
|
41
|
-
},
|
|
42
33
|
"./package.json": "./package.json"
|
|
43
34
|
},
|
|
44
|
-
"main": "dist/index.js",
|
|
45
|
-
"module": "dist/index.mjs",
|
|
35
|
+
"main": "dist/node/index.js",
|
|
36
|
+
"module": "dist/node/index.mjs",
|
|
46
37
|
"homepage": "https://xylabs.com",
|
|
47
38
|
"keywords": [
|
|
48
39
|
"xylabs",
|
|
@@ -51,13 +42,13 @@
|
|
|
51
42
|
"esm"
|
|
52
43
|
],
|
|
53
44
|
"dependencies": {
|
|
54
|
-
"@xylabs/assert": "~2.11.
|
|
55
|
-
"@xylabs/bignumber": "~2.11.
|
|
45
|
+
"@xylabs/assert": "~2.11.8",
|
|
46
|
+
"@xylabs/bignumber": "~2.11.8"
|
|
56
47
|
},
|
|
57
48
|
"devDependencies": {
|
|
58
|
-
"@xylabs/ts-scripts-yarn3": "^3.0.
|
|
59
|
-
"@xylabs/tsconfig": "^3.0.
|
|
60
|
-
"@xylabs/tsconfig-jest": "^3.0.
|
|
49
|
+
"@xylabs/ts-scripts-yarn3": "^3.0.55",
|
|
50
|
+
"@xylabs/tsconfig": "^3.0.55",
|
|
51
|
+
"@xylabs/tsconfig-jest": "^3.0.55",
|
|
61
52
|
"typescript": "^5.2.2"
|
|
62
53
|
},
|
|
63
54
|
"publishConfig": {
|
|
@@ -68,6 +59,6 @@
|
|
|
68
59
|
"url": "https://github.com/xylabs/sdk-js.git"
|
|
69
60
|
},
|
|
70
61
|
"sideEffects": false,
|
|
71
|
-
"version": "2.11.
|
|
62
|
+
"version": "2.11.8",
|
|
72
63
|
"packageManager": "yarn@3.3.1"
|
|
73
64
|
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
package/dist/EthAddress.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"EthAddress.d.ts","sourceRoot":"","sources":["../src/EthAddress.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAK7C,eAAO,MAAM,YAAY,QAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,YAAkC,CAAA;AAEpF,qBAAa,UAAU;IACrB,MAAM,CAAC,IAAI,SAAe;IAE1B,IAAI,SAAkB;IAEtB,OAAO,CAAC,OAAO,CAAW;IAE1B,OAAO;IAIP,MAAM,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,MAAM,EAAE,IAAI,SAAK;IAO3C,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE,MAAM;IAM1C,MAAM,CAAC,OAAO,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,GAAG,OAAO;IAarD,WAAW;IAIX,KAAK;IAIL,MAAM,IAAI,MAAM;IAIhB,iBAAiB;IAIjB,aAAa,CAAC,MAAM,SAAI;IAIxB,QAAQ;CAGT"}
|
package/dist/ellipsize.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
package/dist/ellipsize.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ellipsize.d.ts","sourceRoot":"","sources":["../src/ellipsize.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS,UAAW,MAAM,4BAItC,CAAA"}
|
package/dist/index.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/index.ts","../src/ellipsize.ts","../src/EthAddress.ts","../src/padHex.ts"],"sourcesContent":["export * from './ellipsize'\nexport * from './EthAddress'\nexport * from './padHex'\n","export const ellipsize = (value: string, length = 2) => {\n const part1 = value.slice(0, length)\n const part2 = value.slice(value.length - length, value.length)\n return `${part1}...${part2}`\n}\n","import { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\n\nimport { ellipsize } from './ellipsize'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n static type = 'EthAddress'\n\n type = EthAddress.type\n\n private address: BigNumber\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n toBigNumber() {\n return this.address\n }\n\n toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n toShortString(length = 2) {\n return `0x${ellipsize(this.toHex(), length)}`\n }\n\n toString() {\n return `0x${this.toHex()}`\n }\n}\n","const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;;;ACAO,IAAM,YAAY,CAAC,OAAe,SAAS,MAAM;AACtD,QAAM,QAAQ,MAAM,MAAM,GAAG,MAAM;AACnC,QAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AAC7D,SAAO,GAAG,KAAK,MAAM,KAAK;AAC5B;;;ACJA,oBAAyB;AACzB,uBAA0B;;;ACD1B,IAAM,SAAS,CAAC,KAAa,cAAuB;AAClD,MAAI,SAAS;AACb,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,aAAS,IAAI,GAAG;AAAA,EAClB;AACA,MAAI,WAAW;AACb,WAAO,OAAO,SAAS,IAAI,WAAW;AACpC,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;;;ADLO,IAAM,eAAe,CAAC,QAA0B,KAAK,SAAS,WAAW;AAEzE,IAAM,aAAN,MAAM,YAAW;AAAA,EACtB,OAAO,OAAO;AAAA,EAEd,OAAO,YAAW;AAAA,EAEV;AAAA,EAEA,YAAY,SAAoB;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAAgB,OAAO,IAAI;AAC3C,QAAI,OAAO;AACT,YAAM,KAAK,IAAI,2BAAU,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI,OAAO,IAAI;AAClF,aAAO,IAAI,YAAW,EAAE;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,OAAgB,MAAe;AAC1C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,KAAK,WAAW,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,QAAI,SAAS;AACX,UAAI;AACJ,UAAI,OAAO,YAAY,UAAU;AAC/B,wBAAY,wBAAS,YAAW,WAAW,OAAO,GAAG,aAAa;AAAA,MACpE,OAAO;AACL,oBAAY;AAAA,MACd;AACA,aAAO,KAAK,QAAQ,GAAG,UAAU,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ;AACN,WAAO,OAAO,KAAK,QAAQ,SAAS,EAAE,GAAG,EAAE;AAAA,EAC7C;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAClB,WAAO,KAAK,SAAS,EAAE,YAAY;AAAA,EACrC;AAAA,EAEA,cAAc,SAAS,GAAG;AACxB,WAAO,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,CAAC;AAAA,EAC7C;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
|
package/dist/index.mjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/ellipsize.ts","../src/EthAddress.ts","../src/padHex.ts"],"sourcesContent":["export const ellipsize = (value: string, length = 2) => {\n const part1 = value.slice(0, length)\n const part2 = value.slice(value.length - length, value.length)\n return `${part1}...${part2}`\n}\n","import { assertEx } from '@xylabs/assert'\nimport { BigNumber } from '@xylabs/bignumber'\n\nimport { ellipsize } from './ellipsize'\nimport { padHex } from './padHex'\n\nexport const isEthAddress = (obj: { type: string }) => obj?.type === EthAddress.type\n\nexport class EthAddress {\n static type = 'EthAddress'\n\n type = EthAddress.type\n\n private address: BigNumber\n\n private constructor(address: BigNumber) {\n this.address = address\n }\n\n static fromString(value?: string, base = 16) {\n if (value) {\n const bn = new BigNumber(value.startsWith('0x') ? value.substring(2) : value, base)\n return new EthAddress(bn)\n }\n }\n\n static parse(value: unknown, base?: number) {\n if (typeof value === 'string') {\n return this.fromString(value, base)\n }\n }\n\n equals(address?: EthAddress | string | null): boolean {\n if (address) {\n let inAddress: EthAddress\n if (typeof address === 'string') {\n inAddress = assertEx(EthAddress.fromString(address), 'Bad Address')\n } else {\n inAddress = address\n }\n return this.address.eq(inAddress.address)\n }\n return false\n }\n\n toBigNumber() {\n return this.address\n }\n\n toHex() {\n return padHex(this.address.toString(16), 20)\n }\n\n toJSON(): string {\n return `0x${this.toHex()}`\n }\n\n toLowerCaseString() {\n return this.toString().toLowerCase()\n }\n\n toShortString(length = 2) {\n return `0x${ellipsize(this.toHex(), length)}`\n }\n\n toString() {\n return `0x${this.toHex()}`\n }\n}\n","const padHex = (hex: string, byteCount?: number) => {\n let result = hex\n if (hex.length % 2 !== 0) {\n result = `0${hex}`\n }\n if (byteCount) {\n while (result.length / 2 < byteCount) {\n result = `00${result}`\n }\n }\n return result\n}\n\nexport { padHex }\n"],"mappings":";AAAO,IAAM,YAAY,CAAC,OAAe,SAAS,MAAM;AACtD,QAAM,QAAQ,MAAM,MAAM,GAAG,MAAM;AACnC,QAAM,QAAQ,MAAM,MAAM,MAAM,SAAS,QAAQ,MAAM,MAAM;AAC7D,SAAO,GAAG,KAAK,MAAM,KAAK;AAC5B;;;ACJA,SAAS,gBAAgB;AACzB,SAAS,iBAAiB;;;ACD1B,IAAM,SAAS,CAAC,KAAa,cAAuB;AAClD,MAAI,SAAS;AACb,MAAI,IAAI,SAAS,MAAM,GAAG;AACxB,aAAS,IAAI,GAAG;AAAA,EAClB;AACA,MAAI,WAAW;AACb,WAAO,OAAO,SAAS,IAAI,WAAW;AACpC,eAAS,KAAK,MAAM;AAAA,IACtB;AAAA,EACF;AACA,SAAO;AACT;;;ADLO,IAAM,eAAe,CAAC,QAA0B,KAAK,SAAS,WAAW;AAEzE,IAAM,aAAN,MAAM,YAAW;AAAA,EACtB,OAAO,OAAO;AAAA,EAEd,OAAO,YAAW;AAAA,EAEV;AAAA,EAEA,YAAY,SAAoB;AACtC,SAAK,UAAU;AAAA,EACjB;AAAA,EAEA,OAAO,WAAW,OAAgB,OAAO,IAAI;AAC3C,QAAI,OAAO;AACT,YAAM,KAAK,IAAI,UAAU,MAAM,WAAW,IAAI,IAAI,MAAM,UAAU,CAAC,IAAI,OAAO,IAAI;AAClF,aAAO,IAAI,YAAW,EAAE;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,OAAO,MAAM,OAAgB,MAAe;AAC1C,QAAI,OAAO,UAAU,UAAU;AAC7B,aAAO,KAAK,WAAW,OAAO,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,OAAO,SAA+C;AACpD,QAAI,SAAS;AACX,UAAI;AACJ,UAAI,OAAO,YAAY,UAAU;AAC/B,oBAAY,SAAS,YAAW,WAAW,OAAO,GAAG,aAAa;AAAA,MACpE,OAAO;AACL,oBAAY;AAAA,MACd;AACA,aAAO,KAAK,QAAQ,GAAG,UAAU,OAAO;AAAA,IAC1C;AACA,WAAO;AAAA,EACT;AAAA,EAEA,cAAc;AACZ,WAAO,KAAK;AAAA,EACd;AAAA,EAEA,QAAQ;AACN,WAAO,OAAO,KAAK,QAAQ,SAAS,EAAE,GAAG,EAAE;AAAA,EAC7C;AAAA,EAEA,SAAiB;AACf,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAClB,WAAO,KAAK,SAAS,EAAE,YAAY;AAAA,EACrC;AAAA,EAEA,cAAc,SAAS,GAAG;AACxB,WAAO,KAAK,UAAU,KAAK,MAAM,GAAG,MAAM,CAAC;AAAA,EAC7C;AAAA,EAEA,WAAW;AACT,WAAO,KAAK,KAAK,MAAM,CAAC;AAAA,EAC1B;AACF;","names":[]}
|
package/dist/padHex.d.mts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
package/dist/padHex.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"padHex.d.ts","sourceRoot":"","sources":["../src/padHex.ts"],"names":[],"mappings":"AAAA,QAAA,MAAM,MAAM,QAAS,MAAM,cAAc,MAAM,WAW9C,CAAA;AAED,OAAO,EAAE,MAAM,EAAE,CAAA"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|