@sonarwatch/portfolio-core 0.8.6 → 0.8.7

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 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.8.7](https://github.com/sonarwatch/portfolio/compare/core-0.8.6...core-0.8.7) (2023-10-09)
6
+
7
+
8
+
5
9
  ## [0.8.6](https://github.com/sonarwatch/portfolio/compare/core-0.8.5...core-0.8.6) (2023-10-08)
6
10
 
7
11
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.8.6",
3
+ "version": "0.8.7",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@ethersproject/address": "^5.7.0",
@@ -1,4 +1,4 @@
1
- import { NetworkIdType } from '../Network';
2
- export declare function getNetworkIdFromName(name: string): NetworkIdType | null;
3
- export declare function getNetworkIdFromNameOrFail(name: string): NetworkIdType;
1
+ import { AddressSystemType } from '../Address';
2
+ export declare function getAddressSystemFromName(name: string): AddressSystemType | null;
3
+ export declare function getAddressSystemFromNameOrFail(name: string): AddressSystemType;
4
4
  export declare function isNameValid(name: string): boolean;
@@ -1,45 +1,26 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isNameValid = exports.getNetworkIdFromNameOrFail = exports.getNetworkIdFromName = void 0;
4
- const Network_1 = require("../Network");
3
+ exports.isNameValid = exports.getAddressSystemFromNameOrFail = exports.getAddressSystemFromName = void 0;
5
4
  const errors_1 = require("../errors");
6
- const isNetworkIdName_1 = require("./isNetworkIdName");
7
- const verifiers = [
8
- {
9
- networkId: Network_1.NetworkId.solana,
10
- verifier: isNetworkIdName_1.isSolanaName,
11
- },
12
- {
13
- networkId: Network_1.NetworkId.ethereum,
14
- verifier: isNetworkIdName_1.isEthereumName,
15
- },
16
- {
17
- networkId: Network_1.NetworkId.avalanche,
18
- verifier: isNetworkIdName_1.isAvalancheName,
19
- },
20
- {
21
- networkId: Network_1.NetworkId.aptos,
22
- verifier: isNetworkIdName_1.isAptosName,
23
- },
24
- ];
25
- function getNetworkIdFromName(name) {
26
- for (let i = 0; i < verifiers.length; i++) {
27
- const verifier = verifiers[i];
28
- if (verifier.verifier(name))
29
- return verifier.networkId;
5
+ const nameCheckers_1 = require("./nameCheckers");
6
+ function getAddressSystemFromName(name) {
7
+ for (let i = 0; i < nameCheckers_1.nameCheckers.length; i++) {
8
+ const nameChecker = nameCheckers_1.nameCheckers[i];
9
+ if (nameChecker.checker(name))
10
+ return nameChecker.addressSystem;
30
11
  }
31
12
  return null;
32
13
  }
33
- exports.getNetworkIdFromName = getNetworkIdFromName;
34
- function getNetworkIdFromNameOrFail(name) {
35
- const networkId = getNetworkIdFromName(name);
36
- if (!networkId)
14
+ exports.getAddressSystemFromName = getAddressSystemFromName;
15
+ function getAddressSystemFromNameOrFail(name) {
16
+ const addressSystem = getAddressSystemFromName(name);
17
+ if (!addressSystem)
37
18
  throw new errors_1.NameIsNotValidError(name);
38
- return networkId;
19
+ return addressSystem;
39
20
  }
40
- exports.getNetworkIdFromNameOrFail = getNetworkIdFromNameOrFail;
21
+ exports.getAddressSystemFromNameOrFail = getAddressSystemFromNameOrFail;
41
22
  function isNameValid(name) {
42
- return getNetworkIdFromName(name) !== null;
23
+ return getAddressSystemFromName(name) !== null;
43
24
  }
44
25
  exports.isNameValid = isNameValid;
45
26
  //# sourceMappingURL=getNetworkIdFromName.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"getNetworkIdFromName.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/getNetworkIdFromName.ts"],"names":[],"mappings":";;;AAAA,wCAAsD;AACtD,sCAAgD;AAChD,uDAK2B;AAE3B,MAAM,SAAS,GAGT;IACJ;QACE,SAAS,EAAE,mBAAS,CAAC,MAAM;QAC3B,QAAQ,EAAE,8BAAY;KACvB;IACD;QACE,SAAS,EAAE,mBAAS,CAAC,QAAQ;QAC7B,QAAQ,EAAE,gCAAc;KACzB;IACD;QACE,SAAS,EAAE,mBAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,iCAAe;KAC1B;IACD;QACE,SAAS,EAAE,mBAAS,CAAC,KAAK;QAC1B,QAAQ,EAAE,6BAAW;KACtB;CACF,CAAC;AAEF,SAAgB,oBAAoB,CAAC,IAAY;IAC/C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzC,MAAM,QAAQ,GAAG,SAAS,CAAC,CAAC,CAAC,CAAC;QAC9B,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC;YAAE,OAAO,QAAQ,CAAC,SAAS,CAAC;KACxD;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAND,oDAMC;AAED,SAAgB,0BAA0B,CAAC,IAAY;IACrD,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;IAC7C,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,CAAC;IACpD,OAAO,SAAS,CAAC;AACnB,CAAC;AAJD,gEAIC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC7C,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"getNetworkIdFromName.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/getNetworkIdFromName.ts"],"names":[],"mappings":";;;AACA,sCAAgD;AAChD,iDAA8C;AAE9C,SAAgB,wBAAwB,CACtC,IAAY;IAEZ,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,2BAAY,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QAC5C,MAAM,WAAW,GAAG,2BAAY,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC;YAAE,OAAO,WAAW,CAAC,aAAa,CAAC;KACjE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AARD,4DAQC;AAED,SAAgB,8BAA8B,CAC5C,IAAY;IAEZ,MAAM,aAAa,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACrD,IAAI,CAAC,aAAa;QAAE,MAAM,IAAI,4BAAmB,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,aAAa,CAAC;AACvB,CAAC;AAND,wEAMC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AACjD,CAAC;AAFD,kCAEC"}
@@ -1,3 +1,3 @@
1
1
  export * from './types';
2
- export * from './isNetworkIdName';
2
+ export * from './nameCheckers';
3
3
  export * from './getNetworkIdFromName';
@@ -15,6 +15,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./types"), exports);
18
- __exportStar(require("./isNetworkIdName"), exports);
18
+ __exportStar(require("./nameCheckers"), exports);
19
19
  __exportStar(require("./getNetworkIdFromName"), exports);
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,oDAAkC;AAClC,yDAAuC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,0CAAwB;AACxB,iDAA+B;AAC/B,yDAAuC"}
@@ -0,0 +1,7 @@
1
+ import { NameChecker } from './types';
2
+ export declare const ensNameChecker: NameChecker;
3
+ export declare const bonfidaNameChecker: NameChecker;
4
+ export declare const glowNameChecker: NameChecker;
5
+ export declare const avalancheNameChecker: NameChecker;
6
+ export declare const aptosNameChecker: NameChecker;
7
+ export declare const nameCheckers: NameChecker[];
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.nameCheckers = exports.aptosNameChecker = exports.avalancheNameChecker = exports.glowNameChecker = exports.bonfidaNameChecker = exports.ensNameChecker = void 0;
4
+ const Address_1 = require("../Address");
5
+ const Network_1 = require("../Network");
6
+ // ## ENS
7
+ exports.ensNameChecker = {
8
+ addressSystem: Address_1.AddressSystem.evm,
9
+ checker(name) {
10
+ return name.endsWith('.eth') && name.normalize() === name;
11
+ },
12
+ };
13
+ // ## Bonfida
14
+ exports.bonfidaNameChecker = {
15
+ addressSystem: Address_1.AddressSystem.solana,
16
+ checker(name) {
17
+ return name.endsWith('.sol');
18
+ },
19
+ };
20
+ // ## Glow
21
+ exports.glowNameChecker = {
22
+ addressSystem: Address_1.AddressSystem.solana,
23
+ checker(name) {
24
+ return name.endsWith('.glow');
25
+ },
26
+ };
27
+ // ## Avalanche
28
+ exports.avalancheNameChecker = {
29
+ addressSystem: Address_1.AddressSystem.evm,
30
+ checker(name) {
31
+ return name.endsWith('.avax');
32
+ },
33
+ };
34
+ // ## Aptos
35
+ exports.aptosNameChecker = {
36
+ addressSystem: Address_1.AddressSystem.move,
37
+ networkId: Network_1.NetworkId.aptos,
38
+ checker(name) {
39
+ return name.endsWith('.apt');
40
+ },
41
+ };
42
+ exports.nameCheckers = [
43
+ exports.ensNameChecker,
44
+ exports.bonfidaNameChecker,
45
+ exports.glowNameChecker,
46
+ exports.avalancheNameChecker,
47
+ exports.aptosNameChecker,
48
+ ];
49
+ //# sourceMappingURL=nameCheckers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"nameCheckers.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/nameCheckers.ts"],"names":[],"mappings":";;;AAAA,wCAA2C;AAC3C,wCAAuC;AAGvC,SAAS;AACI,QAAA,cAAc,GAAgB;IACzC,aAAa,EAAE,uBAAa,CAAC,GAAG;IAChC,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC;IAC5D,CAAC;CACF,CAAC;AACF,aAAa;AACA,QAAA,kBAAkB,GAAgB;IAC7C,aAAa,EAAE,uBAAa,CAAC,MAAM;IACnC,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC;AACF,UAAU;AACG,QAAA,eAAe,GAAgB;IAC1C,aAAa,EAAE,uBAAa,CAAC,MAAM;IACnC,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF,CAAC;AACF,eAAe;AACF,QAAA,oBAAoB,GAAgB;IAC/C,aAAa,EAAE,uBAAa,CAAC,GAAG;IAChC,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;IAChC,CAAC;CACF,CAAC;AACF,WAAW;AACE,QAAA,gBAAgB,GAAgB;IAC3C,aAAa,EAAE,uBAAa,CAAC,IAAI;IACjC,SAAS,EAAE,mBAAS,CAAC,KAAK;IAC1B,OAAO,CAAC,IAAI;QACV,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;IAC/B,CAAC;CACF,CAAC;AAEW,QAAA,YAAY,GAAkB;IACzC,sBAAc;IACd,0BAAkB;IAClB,uBAAe;IACf,4BAAoB;IACpB,wBAAgB;CACjB,CAAC"}
@@ -1,11 +1,11 @@
1
1
  import { AddressSystemType } from '../Address';
2
2
  import { NetworkIdType } from '../Network';
3
- export type NSName = {
4
- name: string;
5
- networkId: NetworkIdType;
6
- };
7
3
  export type NSOwner = {
8
- address: string | null;
4
+ address: string;
5
+ addressSystem: AddressSystemType;
6
+ };
7
+ export type NameChecker = {
9
8
  addressSystem: AddressSystemType;
10
- networkId: NetworkIdType;
9
+ networkId?: NetworkIdType;
10
+ checker: (name: string) => boolean;
11
11
  };
@@ -1,4 +0,0 @@
1
- export declare function isAvalancheName(name: string): boolean;
2
- export declare function isEthereumName(name: string): boolean;
3
- export declare function isSolanaName(name: string): boolean;
4
- export declare function isAptosName(name: string): boolean;
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAptosName = exports.isSolanaName = exports.isEthereumName = exports.isAvalancheName = void 0;
4
- function isAvalancheName(name) {
5
- return name.endsWith('.avax');
6
- }
7
- exports.isAvalancheName = isAvalancheName;
8
- function isEthereumName(name) {
9
- return name.endsWith('.eth') && name.normalize() === name;
10
- }
11
- exports.isEthereumName = isEthereumName;
12
- function isSolanaName(name) {
13
- return name.endsWith('.sol');
14
- }
15
- exports.isSolanaName = isSolanaName;
16
- function isAptosName(name) {
17
- return name.endsWith('.apt');
18
- }
19
- exports.isAptosName = isAptosName;
20
- //# sourceMappingURL=isNetworkIdName.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"isNetworkIdName.js","sourceRoot":"","sources":["../../../../../packages/core/src/name-service/isNetworkIdName.ts"],"names":[],"mappings":";;;AAAA,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFD,0CAEC;AACD,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,SAAS,EAAE,KAAK,IAAI,CAAC;AAC5D,CAAC;AAFD,wCAEC;AACD,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAFD,oCAEC;AAED,SAAgB,WAAW,CAAC,IAAY;IACtC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAFD,kCAEC"}