@sonarwatch/portfolio-core 0.14.28 → 0.14.29
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/CHANGELOG.md +4 -0
- package/package.json +1 -1
- package/src/utils/uniformAddress.d.ts +9 -0
- package/src/utils/uniformAddress.js +71 -0
- package/src/utils/uniformAddress.js.map +1 -0
- package/src/utils/uniformTokenAddress.d.ts +9 -0
- package/src/utils/uniformTokenAddress.js +53 -0
- package/src/utils/uniformTokenAddress.js.map +1 -0
- package/src/utils/validTokenAddress.js +2 -4
- package/src/utils/validTokenAddress.js.map +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,10 @@
|
|
|
2
2
|
|
|
3
3
|
This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
|
|
4
4
|
|
|
5
|
+
## [0.14.29](https://github.com/sonarwatch/portfolio/compare/core-0.14.28...core-0.14.29) (2024-11-08)
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
|
|
5
9
|
## [0.14.28](https://github.com/sonarwatch/portfolio/compare/core-0.14.27...core-0.14.28) (2024-11-08)
|
|
6
10
|
|
|
7
11
|
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
import { AddressSystemType } from '../Address';
|
|
3
|
+
export declare function uniformBitcoinAddress(address: string): string;
|
|
4
|
+
export declare function uniformMoveAddress(address: string): string;
|
|
5
|
+
export declare function uniformEvmAddress(address: string): string;
|
|
6
|
+
export declare function uniformSolanaAddress(address: string): string;
|
|
7
|
+
export declare function uniformSeiAddress(address: string): string;
|
|
8
|
+
export declare function uniformAddress(address: string, addressSystem: AddressSystemType): string;
|
|
9
|
+
export declare function uniformAddressByNetworkId(address: string, networkId: NetworkIdType): string;
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uniformAddressByNetworkId = exports.uniformAddress = exports.uniformSeiAddress = exports.uniformSolanaAddress = exports.uniformEvmAddress = exports.uniformMoveAddress = exports.uniformBitcoinAddress = void 0;
|
|
4
|
+
const address_1 = require("@ethersproject/address");
|
|
5
|
+
const bytes_1 = require("@ethersproject/bytes");
|
|
6
|
+
const validAddress_1 = require("./validAddress");
|
|
7
|
+
const Address_1 = require("../Address");
|
|
8
|
+
const constants_1 = require("../constants");
|
|
9
|
+
function uniformBitcoinAddress(address) {
|
|
10
|
+
(0, validAddress_1.assertBitcoinAddress)(address);
|
|
11
|
+
return address;
|
|
12
|
+
}
|
|
13
|
+
exports.uniformBitcoinAddress = uniformBitcoinAddress;
|
|
14
|
+
function uniformMoveAddress(address) {
|
|
15
|
+
(0, validAddress_1.assertMoveAddress)(address);
|
|
16
|
+
let fAddress = address.toLowerCase();
|
|
17
|
+
if (!fAddress.startsWith('0x')) {
|
|
18
|
+
fAddress = `0x${fAddress}`;
|
|
19
|
+
}
|
|
20
|
+
if ((0, bytes_1.hexValue)(fAddress) === '0x1')
|
|
21
|
+
return '0x1';
|
|
22
|
+
// Ensure the address has an even length (excluding the '0x' prefix)
|
|
23
|
+
if (fAddress.length % 2 !== 0) {
|
|
24
|
+
fAddress = `0x0${fAddress.slice(2)}`;
|
|
25
|
+
}
|
|
26
|
+
// Convert the address to a byte array
|
|
27
|
+
let addressBytes = (0, bytes_1.arrayify)(fAddress);
|
|
28
|
+
// If the byte length is less than 32 bytes, pad the beginning with zeros
|
|
29
|
+
if (addressBytes.length < 32) {
|
|
30
|
+
const padding = new Uint8Array(32 - addressBytes.length);
|
|
31
|
+
addressBytes = new Uint8Array([...padding, ...addressBytes]);
|
|
32
|
+
}
|
|
33
|
+
fAddress = (0, bytes_1.hexlify)(addressBytes);
|
|
34
|
+
return fAddress;
|
|
35
|
+
}
|
|
36
|
+
exports.uniformMoveAddress = uniformMoveAddress;
|
|
37
|
+
function uniformEvmAddress(address) {
|
|
38
|
+
(0, validAddress_1.assertEvmAddress)(address);
|
|
39
|
+
return (0, address_1.getAddress)(address.toLowerCase());
|
|
40
|
+
}
|
|
41
|
+
exports.uniformEvmAddress = uniformEvmAddress;
|
|
42
|
+
function uniformSolanaAddress(address) {
|
|
43
|
+
(0, validAddress_1.assertSolanaAddress)(address);
|
|
44
|
+
return address;
|
|
45
|
+
}
|
|
46
|
+
exports.uniformSolanaAddress = uniformSolanaAddress;
|
|
47
|
+
function uniformSeiAddress(address) {
|
|
48
|
+
(0, validAddress_1.assertSeiAddress)(address);
|
|
49
|
+
return address.toLowerCase();
|
|
50
|
+
}
|
|
51
|
+
exports.uniformSeiAddress = uniformSeiAddress;
|
|
52
|
+
const uniformers = {
|
|
53
|
+
[Address_1.AddressSystem.solana]: uniformSolanaAddress,
|
|
54
|
+
[Address_1.AddressSystem.bitcoin]: uniformBitcoinAddress,
|
|
55
|
+
[Address_1.AddressSystem.evm]: uniformEvmAddress,
|
|
56
|
+
[Address_1.AddressSystem.move]: uniformMoveAddress,
|
|
57
|
+
[Address_1.AddressSystem.sei]: uniformSeiAddress,
|
|
58
|
+
};
|
|
59
|
+
function uniformAddress(address, addressSystem) {
|
|
60
|
+
const uniformer = uniformers[addressSystem];
|
|
61
|
+
return uniformer(address);
|
|
62
|
+
}
|
|
63
|
+
exports.uniformAddress = uniformAddress;
|
|
64
|
+
function uniformAddressByNetworkId(address, networkId) {
|
|
65
|
+
const network = constants_1.networks[networkId];
|
|
66
|
+
if (!network)
|
|
67
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
68
|
+
return uniformAddress(address, network.addressSystem);
|
|
69
|
+
}
|
|
70
|
+
exports.uniformAddressByNetworkId = uniformAddressByNetworkId;
|
|
71
|
+
//# sourceMappingURL=uniformAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniformAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/uniformAddress.ts"],"names":[],"mappings":";;;AAAA,oDAAoD;AACpD,gDAAmE;AACnE,iDAMwB;AAExB,wCAA8D;AAC9D,4CAAwC;AAExC,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAA,mCAAoB,EAAC,OAAO,CAAC,CAAC;IAC9B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,sDAGC;AAED,SAAgB,kBAAkB,CAAC,OAAe;IAChD,IAAA,gCAAiB,EAAC,OAAO,CAAC,CAAC;IAC3B,IAAI,QAAQ,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC;IACrC,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,QAAQ,GAAG,KAAK,QAAQ,EAAE,CAAC;IAC7B,CAAC;IACD,IAAI,IAAA,gBAAQ,EAAC,QAAQ,CAAC,KAAK,KAAK;QAAE,OAAO,KAAK,CAAC;IAE/C,oEAAoE;IACpE,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QAC9B,QAAQ,GAAG,MAAM,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;IACvC,CAAC;IAED,sCAAsC;IACtC,IAAI,YAAY,GAAG,IAAA,gBAAQ,EAAC,QAAQ,CAAC,CAAC;IACtC,yEAAyE;IACzE,IAAI,YAAY,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QAC7B,MAAM,OAAO,GAAG,IAAI,UAAU,CAAC,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;QACzD,YAAY,GAAG,IAAI,UAAU,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,YAAY,CAAC,CAAC,CAAC;IAC/D,CAAC;IACD,QAAQ,GAAG,IAAA,eAAO,EAAC,YAAY,CAAC,CAAC;IACjC,OAAO,QAAQ,CAAC;AAClB,CAAC;AAtBD,gDAsBC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,IAAA,oBAAU,EAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;AAC3C,CAAC;AAHD,8CAGC;AAED,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAA,kCAAmB,EAAC,OAAO,CAAC,CAAC;IAC7B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,oDAGC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAA,+BAAgB,EAAC,OAAO,CAAC,CAAC;IAC1B,OAAO,OAAO,CAAC,WAAW,EAAE,CAAC;AAC/B,CAAC;AAHD,8CAGC;AAED,MAAM,UAAU,GAA2D;IACzE,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,oBAAoB;IAC5C,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,qBAAqB;IAC9C,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,iBAAiB;IACtC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,kBAAkB;IACxC,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,iBAAiB;CACvC,CAAC;AAEF,SAAgB,cAAc,CAC5B,OAAe,EACf,aAAgC;IAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,wCAMC;AAED,SAAgB,yBAAyB,CACvC,OAAe,EACf,SAAwB;IAExB,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IACvE,OAAO,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,aAAa,CAAC,CAAC;AACxD,CAAC;AAPD,8DAOC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { NetworkIdType } from '../Network';
|
|
2
|
+
import { AddressSystemType } from '../Address';
|
|
3
|
+
export declare function uniformBitcoinTokenAddress(address: string): string;
|
|
4
|
+
export declare function uniformMoveTokenAddress(address: string): string;
|
|
5
|
+
export declare function uniformEvmTokenAddress(address: string): string;
|
|
6
|
+
export declare function uniformSolanaTokenAddress(address: string): string;
|
|
7
|
+
export declare function uniformSeiTokenAddress(address: string): string;
|
|
8
|
+
export declare function uniformTokenAddress(address: string, networkId: NetworkIdType): string;
|
|
9
|
+
export declare function uniformTokenAddressFromAddressSystem(address: string, addressSystem: AddressSystemType): string;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.uniformTokenAddressFromAddressSystem = exports.uniformTokenAddress = exports.uniformSeiTokenAddress = exports.uniformSolanaTokenAddress = exports.uniformEvmTokenAddress = exports.uniformMoveTokenAddress = exports.uniformBitcoinTokenAddress = void 0;
|
|
4
|
+
const Address_1 = require("../Address");
|
|
5
|
+
const constants_1 = require("../constants");
|
|
6
|
+
const validTokenAddress_1 = require("./validTokenAddress");
|
|
7
|
+
const uniformAddress_1 = require("./uniformAddress");
|
|
8
|
+
function uniformBitcoinTokenAddress(address) {
|
|
9
|
+
(0, validTokenAddress_1.assertBitcoinTokenAddress)(address);
|
|
10
|
+
return address;
|
|
11
|
+
}
|
|
12
|
+
exports.uniformBitcoinTokenAddress = uniformBitcoinTokenAddress;
|
|
13
|
+
function uniformMoveTokenAddress(address) {
|
|
14
|
+
(0, validTokenAddress_1.assertMoveTokenAddress)(address);
|
|
15
|
+
const splits = address.split('::');
|
|
16
|
+
splits[0] = (0, uniformAddress_1.uniformMoveAddress)(splits[0]);
|
|
17
|
+
return splits.join('::');
|
|
18
|
+
}
|
|
19
|
+
exports.uniformMoveTokenAddress = uniformMoveTokenAddress;
|
|
20
|
+
function uniformEvmTokenAddress(address) {
|
|
21
|
+
return (0, uniformAddress_1.uniformEvmAddress)(address);
|
|
22
|
+
}
|
|
23
|
+
exports.uniformEvmTokenAddress = uniformEvmTokenAddress;
|
|
24
|
+
function uniformSolanaTokenAddress(address) {
|
|
25
|
+
return (0, uniformAddress_1.uniformSolanaAddress)(address);
|
|
26
|
+
}
|
|
27
|
+
exports.uniformSolanaTokenAddress = uniformSolanaTokenAddress;
|
|
28
|
+
function uniformSeiTokenAddress(address) {
|
|
29
|
+
(0, validTokenAddress_1.assertSeiTokenAddress)(address);
|
|
30
|
+
return address;
|
|
31
|
+
}
|
|
32
|
+
exports.uniformSeiTokenAddress = uniformSeiTokenAddress;
|
|
33
|
+
const uniformers = {
|
|
34
|
+
[Address_1.AddressSystem.solana]: uniformSolanaTokenAddress,
|
|
35
|
+
[Address_1.AddressSystem.bitcoin]: uniformBitcoinTokenAddress,
|
|
36
|
+
[Address_1.AddressSystem.evm]: uniformEvmTokenAddress,
|
|
37
|
+
[Address_1.AddressSystem.move]: uniformMoveTokenAddress,
|
|
38
|
+
[Address_1.AddressSystem.sei]: uniformSeiTokenAddress,
|
|
39
|
+
};
|
|
40
|
+
function uniformTokenAddress(address, networkId) {
|
|
41
|
+
const network = constants_1.networks[networkId];
|
|
42
|
+
if (!network)
|
|
43
|
+
throw new Error(`NetworkId not supported: ${networkId}`);
|
|
44
|
+
const uniformer = uniformers[network.addressSystem];
|
|
45
|
+
return uniformer(address);
|
|
46
|
+
}
|
|
47
|
+
exports.uniformTokenAddress = uniformTokenAddress;
|
|
48
|
+
function uniformTokenAddressFromAddressSystem(address, addressSystem) {
|
|
49
|
+
const uniformer = uniformers[addressSystem];
|
|
50
|
+
return uniformer(address);
|
|
51
|
+
}
|
|
52
|
+
exports.uniformTokenAddressFromAddressSystem = uniformTokenAddressFromAddressSystem;
|
|
53
|
+
//# sourceMappingURL=uniformTokenAddress.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uniformTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/uniformTokenAddress.ts"],"names":[],"mappings":";;;AACA,wCAA8D;AAC9D,4CAAwC;AACxC,2DAI6B;AAC7B,qDAI0B;AAE1B,SAAgB,0BAA0B,CAAC,OAAe;IACxD,IAAA,6CAAyB,EAAC,OAAO,CAAC,CAAC;IACnC,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,gEAGC;AAED,SAAgB,uBAAuB,CAAC,OAAe;IACrD,IAAA,0CAAsB,EAAC,OAAO,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IACnC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAA,mCAAkB,EAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1C,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC3B,CAAC;AALD,0DAKC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,OAAO,IAAA,kCAAiB,EAAC,OAAO,CAAC,CAAC;AACpC,CAAC;AAFD,wDAEC;AAED,SAAgB,yBAAyB,CAAC,OAAe;IACvD,OAAO,IAAA,qCAAoB,EAAC,OAAO,CAAC,CAAC;AACvC,CAAC;AAFD,8DAEC;AAED,SAAgB,sBAAsB,CAAC,OAAe;IACpD,IAAA,yCAAqB,EAAC,OAAO,CAAC,CAAC;IAC/B,OAAO,OAAO,CAAC;AACjB,CAAC;AAHD,wDAGC;AAED,MAAM,UAAU,GAA2D;IACzE,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,yBAAyB;IACjD,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,0BAA0B;IACnD,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,sBAAsB;IAC3C,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,uBAAuB;IAC7C,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,sBAAsB;CAC5C,CAAC;AAEF,SAAgB,mBAAmB,CAAC,OAAe,EAAE,SAAwB;IAC3E,MAAM,OAAO,GAAG,oBAAQ,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,SAAS,EAAE,CAAC,CAAC;IAEvE,MAAM,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,kDAMC;AAED,SAAgB,oCAAoC,CAClD,OAAe,EACf,aAAgC;IAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,oFAMC"}
|
|
@@ -24,7 +24,6 @@ function assertEvmTokenAddress(address) {
|
|
|
24
24
|
throw new errors_1.TokenAddressIsNotValideError(address, Address_1.AddressSystem.evm);
|
|
25
25
|
}
|
|
26
26
|
exports.assertEvmTokenAddress = assertEvmTokenAddress;
|
|
27
|
-
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
28
27
|
function isMoveTokenAddress(address) {
|
|
29
28
|
try {
|
|
30
29
|
(0, move_1.parseTypeString)(address);
|
|
@@ -40,9 +39,7 @@ function isMoveTokenAddress(address) {
|
|
|
40
39
|
const mainAddress = splitted.at(0);
|
|
41
40
|
if (!mainAddress)
|
|
42
41
|
return false;
|
|
43
|
-
if (!(0, validAddress_1.isMoveAddress)(mainAddress)
|
|
44
|
-
mainAddress !== '0x1' &&
|
|
45
|
-
mainAddress !== '0x2')
|
|
42
|
+
if (!(0, validAddress_1.isMoveAddress)(mainAddress))
|
|
46
43
|
return false;
|
|
47
44
|
return true;
|
|
48
45
|
}
|
|
@@ -61,6 +58,7 @@ function assertSolanaTokenAddress(address) {
|
|
|
61
58
|
throw new errors_1.TokenAddressIsNotValideError(address, Address_1.AddressSystem.solana);
|
|
62
59
|
}
|
|
63
60
|
exports.assertSolanaTokenAddress = assertSolanaTokenAddress;
|
|
61
|
+
// TODO
|
|
64
62
|
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
|
65
63
|
function isSeiTokenAddress(address) {
|
|
66
64
|
return true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validTokenAddress.ts"],"names":[],"mappings":";;;AACA,wCAA8D;AAC9D,4CAA8D;AAC9D,iDAA8E;AAC9E,sCAAyD;AACzD,iCAAyC;AAEzC,SAAgB,qBAAqB,CAAC,OAAe;IACnD,OAAO,OAAO,KAAK,gCAAoB,CAAC;AAC1C,CAAC;AAFD,sDAEC;AACD,SAAgB,yBAAyB,CAAC,OAAe;IACvD,IAAI,CAAC,qBAAqB,CAAC,OAAO,CAAC;QACjC,MAAM,IAAI,qCAA4B,CAAC,OAAO,EAAE,uBAAa,CAAC,OAAO,CAAC,CAAC;AAC3E,CAAC;AAHD,8DAGC;AAED,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,OAAO,IAAA,2BAAY,EAAC,OAAO,CAAC,CAAC;AAC/B,CAAC;AAFD,8CAEC;AACD,SAAgB,qBAAqB,CAAC,OAAe;IACnD,IAAI,CAAC,iBAAiB,CAAC,OAAO,CAAC;QAC7B,MAAM,IAAI,qCAA4B,CAAC,OAAO,EAAE,uBAAa,CAAC,GAAG,CAAC,CAAC;AACvE,CAAC;AAHD,sDAGC;AAED,
|
|
1
|
+
{"version":3,"file":"validTokenAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validTokenAddress.ts"],"names":[],"mappings":"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"}
|