viem 0.4.0-main.20230424T231630 → 0.4.0-main.20230424T233650
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/cjs/errors/version.js +1 -1
- package/dist/cjs/utils/address/getAddress.js +7 -5
- package/dist/cjs/utils/address/getAddress.js.map +1 -1
- package/dist/esm/errors/version.js +1 -1
- package/dist/esm/utils/address/getAddress.js +7 -5
- package/dist/esm/utils/address/getAddress.js.map +1 -1
- package/dist/types/errors/version.d.ts +1 -1
- package/dist/types/utils/address/getAddress.d.ts +2 -2
- package/dist/types/utils/address/getAddress.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/errors/version.ts +1 -1
- package/src/utils/address/getAddress.ts +9 -5
@@ -5,10 +5,12 @@ const index_js_1 = require("../../errors/index.js");
|
|
5
5
|
const index_js_2 = require("../encoding/index.js");
|
6
6
|
const index_js_3 = require("../hash/index.js");
|
7
7
|
const isAddress_js_1 = require("./isAddress.js");
|
8
|
-
function checksumAddress(address_) {
|
9
|
-
const hexAddress =
|
8
|
+
function checksumAddress(address_, chainId) {
|
9
|
+
const hexAddress = chainId
|
10
|
+
? `${chainId}${address_.toLowerCase()}`
|
11
|
+
: address_.substring(2).toLowerCase();
|
10
12
|
const hash = (0, index_js_3.keccak256)((0, index_js_2.stringToBytes)(hexAddress), 'bytes');
|
11
|
-
const address = hexAddress.split('');
|
13
|
+
const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');
|
12
14
|
for (let i = 0; i < 40; i += 2) {
|
13
15
|
if (hash[i >> 1] >> 4 >= 8 && address[i]) {
|
14
16
|
address[i] = address[i].toUpperCase();
|
@@ -20,10 +22,10 @@ function checksumAddress(address_) {
|
|
20
22
|
return `0x${address.join('')}`;
|
21
23
|
}
|
22
24
|
exports.checksumAddress = checksumAddress;
|
23
|
-
function getAddress(address) {
|
25
|
+
function getAddress(address, chainId) {
|
24
26
|
if (!(0, isAddress_js_1.isAddress)(address))
|
25
27
|
throw new index_js_1.InvalidAddressError({ address });
|
26
|
-
return checksumAddress(address);
|
28
|
+
return checksumAddress(address, chainId);
|
27
29
|
}
|
28
30
|
exports.getAddress = getAddress;
|
29
31
|
//# sourceMappingURL=getAddress.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAE3D,mDAAoD;AACpD,+CAA4C;AAC5C,iDAA0C;AAE1C,SAAgB,eAAe,CAAC,QAAiB;
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":";;;AAAA,oDAA2D;AAE3D,mDAAoD;AACpD,+CAA4C;AAC5C,iDAA0C;AAE1C,SAAgB,eAAe,CAAC,QAAiB,EAAE,OAAgB;IACjE,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE;QACvC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,IAAA,oBAAS,EAAC,IAAA,wBAAa,EAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CACnE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9B,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;SACtC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;YAChD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;SAC9C;KACF;IAED,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAChC,CAAC;AAnBD,0CAmBC;AAED,SAAgB,UAAU,CAAC,OAAe,EAAE,OAAgB;IAC1D,IAAI,CAAC,IAAA,wBAAS,EAAC,OAAO,CAAC;QAAE,MAAM,IAAI,8BAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC;AAHD,gCAGC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export const version = '0.4.0-main.
|
1
|
+
export const version = '0.4.0-main.20230424T233650';
|
2
2
|
//# sourceMappingURL=version.js.map
|
@@ -2,10 +2,12 @@ import { InvalidAddressError } from '../../errors/index.js';
|
|
2
2
|
import { stringToBytes } from '../encoding/index.js';
|
3
3
|
import { keccak256 } from '../hash/index.js';
|
4
4
|
import { isAddress } from './isAddress.js';
|
5
|
-
export function checksumAddress(address_) {
|
6
|
-
const hexAddress =
|
5
|
+
export function checksumAddress(address_, chainId) {
|
6
|
+
const hexAddress = chainId
|
7
|
+
? `${chainId}${address_.toLowerCase()}`
|
8
|
+
: address_.substring(2).toLowerCase();
|
7
9
|
const hash = keccak256(stringToBytes(hexAddress), 'bytes');
|
8
|
-
const address = hexAddress.split('');
|
10
|
+
const address = (chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress).split('');
|
9
11
|
for (let i = 0; i < 40; i += 2) {
|
10
12
|
if (hash[i >> 1] >> 4 >= 8 && address[i]) {
|
11
13
|
address[i] = address[i].toUpperCase();
|
@@ -16,9 +18,9 @@ export function checksumAddress(address_) {
|
|
16
18
|
}
|
17
19
|
return `0x${address.join('')}`;
|
18
20
|
}
|
19
|
-
export function getAddress(address) {
|
21
|
+
export function getAddress(address, chainId) {
|
20
22
|
if (!isAddress(address))
|
21
23
|
throw new InvalidAddressError({ address });
|
22
|
-
return checksumAddress(address);
|
24
|
+
return checksumAddress(address, chainId);
|
23
25
|
}
|
24
26
|
//# sourceMappingURL=getAddress.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,eAAe,CAAC,QAAiB;
|
1
|
+
{"version":3,"file":"getAddress.js","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAA;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAE1C,MAAM,UAAU,eAAe,CAAC,QAAiB,EAAE,OAAgB;IACjE,MAAM,UAAU,GAAG,OAAO;QACxB,CAAC,CAAC,GAAG,OAAO,GAAG,QAAQ,CAAC,WAAW,EAAE,EAAE;QACvC,CAAC,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;IACvC,MAAM,IAAI,GAAG,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,EAAE,OAAO,CAAC,CAAA;IAE1D,MAAM,OAAO,GAAG,CACd,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,SAAS,CAAC,GAAG,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CACnE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAA;IACX,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE;QAC9B,IAAI,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE;YACxC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;SACtC;QACD,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE;YAChD,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAA;SAC9C;KACF;IAED,OAAO,KAAK,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAA;AAChC,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,OAAe,EAAE,OAAgB;IAC1D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;QAAE,MAAM,IAAI,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC,CAAA;IACnE,OAAO,eAAe,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;AAC1C,CAAC"}
|
@@ -1,2 +1,2 @@
|
|
1
|
-
export declare const version = "0.4.0-main.
|
1
|
+
export declare const version = "0.4.0-main.20230424T233650";
|
2
2
|
//# sourceMappingURL=version.d.ts.map
|
@@ -1,4 +1,4 @@
|
|
1
1
|
import type { Address } from '../../types/index.js';
|
2
|
-
export declare function checksumAddress(address_: Address): Address;
|
3
|
-
export declare function getAddress(address: string): Address;
|
2
|
+
export declare function checksumAddress(address_: Address, chainId?: number): Address;
|
3
|
+
export declare function getAddress(address: string, chainId?: number): Address;
|
4
4
|
//# sourceMappingURL=getAddress.d.ts.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAKnD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,OAAO,
|
1
|
+
{"version":3,"file":"getAddress.d.ts","sourceRoot":"","sources":["../../../../src/utils/address/getAddress.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,sBAAsB,CAAA;AAKnD,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAmB5E;AAED,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAGrE"}
|
package/package.json
CHANGED
package/src/errors/version.ts
CHANGED
@@ -1 +1 @@
|
|
1
|
-
export const version = '0.4.0-main.
|
1
|
+
export const version = '0.4.0-main.20230424T233650'
|
@@ -4,11 +4,15 @@ import { stringToBytes } from '../encoding/index.js'
|
|
4
4
|
import { keccak256 } from '../hash/index.js'
|
5
5
|
import { isAddress } from './isAddress.js'
|
6
6
|
|
7
|
-
export function checksumAddress(address_: Address): Address {
|
8
|
-
const hexAddress =
|
7
|
+
export function checksumAddress(address_: Address, chainId?: number): Address {
|
8
|
+
const hexAddress = chainId
|
9
|
+
? `${chainId}${address_.toLowerCase()}`
|
10
|
+
: address_.substring(2).toLowerCase()
|
9
11
|
const hash = keccak256(stringToBytes(hexAddress), 'bytes')
|
10
12
|
|
11
|
-
const address =
|
13
|
+
const address = (
|
14
|
+
chainId ? hexAddress.substring(`${chainId}0x`.length) : hexAddress
|
15
|
+
).split('')
|
12
16
|
for (let i = 0; i < 40; i += 2) {
|
13
17
|
if (hash[i >> 1] >> 4 >= 8 && address[i]) {
|
14
18
|
address[i] = address[i].toUpperCase()
|
@@ -21,7 +25,7 @@ export function checksumAddress(address_: Address): Address {
|
|
21
25
|
return `0x${address.join('')}`
|
22
26
|
}
|
23
27
|
|
24
|
-
export function getAddress(address: string): Address {
|
28
|
+
export function getAddress(address: string, chainId?: number): Address {
|
25
29
|
if (!isAddress(address)) throw new InvalidAddressError({ address })
|
26
|
-
return checksumAddress(address)
|
30
|
+
return checksumAddress(address, chainId)
|
27
31
|
}
|