@sonarwatch/portfolio-plugins 0.7.2 → 0.7.4

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.
Files changed (39) hide show
  1. package/CHANGELOG.md +9 -1
  2. package/package.json +2 -2
  3. package/src/index.d.ts +2 -0
  4. package/src/index.js +5 -1
  5. package/src/index.js.map +1 -1
  6. package/src/utils/clients/constants.js +1 -2
  7. package/src/utils/clients/constants.js.map +1 -1
  8. package/src/utils/misc/getDecimalsForToken.js +1 -0
  9. package/src/utils/misc/getDecimalsForToken.js.map +1 -1
  10. package/src/utils/name-service/avalanche.d.ts +3 -0
  11. package/src/utils/name-service/{getNamesAvalanche.js → avalanche.js} +31 -2
  12. package/src/utils/name-service/avalanche.js.map +1 -0
  13. package/src/utils/name-service/ethereum.d.ts +3 -0
  14. package/src/utils/name-service/{getNamesEthereum.js → ethereum.js} +17 -2
  15. package/src/utils/name-service/ethereum.js.map +1 -0
  16. package/src/utils/name-service/evm.d.ts +2 -0
  17. package/src/utils/name-service/{getNamesEvm.js → evm.js} +5 -5
  18. package/src/utils/name-service/evm.js.map +1 -0
  19. package/src/utils/name-service/getNames.d.ts +2 -2
  20. package/src/utils/name-service/getNames.js +4 -4
  21. package/src/utils/name-service/getNames.js.map +1 -1
  22. package/src/utils/name-service/getOwner.d.ts +2 -0
  23. package/src/utils/name-service/getOwner.js +65 -0
  24. package/src/utils/name-service/getOwner.js.map +1 -0
  25. package/src/utils/name-service/index.d.ts +3 -0
  26. package/src/utils/name-service/index.js +8 -0
  27. package/src/utils/name-service/index.js.map +1 -0
  28. package/src/utils/name-service/solana.d.ts +3 -0
  29. package/src/utils/name-service/{getNamesSolana.js → solana.js} +20 -2
  30. package/src/utils/name-service/solana.js.map +1 -0
  31. package/src/utils/name-service/types.d.ts +7 -2
  32. package/src/utils/name-service/getNamesAvalanche.d.ts +0 -1
  33. package/src/utils/name-service/getNamesAvalanche.js.map +0 -1
  34. package/src/utils/name-service/getNamesEthereum.d.ts +0 -1
  35. package/src/utils/name-service/getNamesEthereum.js.map +0 -1
  36. package/src/utils/name-service/getNamesEvm.d.ts +0 -2
  37. package/src/utils/name-service/getNamesEvm.js.map +0 -1
  38. package/src/utils/name-service/getNamesSolana.d.ts +0 -1
  39. package/src/utils/name-service/getNamesSolana.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -2,10 +2,18 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
- ## [0.7.2](https://github.com/sonarwatch/portfolio/compare/plugins-0.7.1...plugins-0.7.2) (2023-08-31)
5
+ ## [0.7.4](https://github.com/sonarwatch/portfolio/compare/plugins-0.7.3...plugins-0.7.4) (2023-09-05)
6
6
 
7
7
 
8
8
 
9
+ ## [0.7.3](https://github.com/sonarwatch/portfolio/compare/plugins-0.7.2...plugins-0.7.3) (2023-09-04)
10
+
11
+
12
+
13
+ ## [0.7.2](https://github.com/sonarwatch/portfolio/compare/plugins-0.7.1...plugins-0.7.2) (2023-08-31)
14
+
15
+
16
+
9
17
  ## [0.7.1](https://github.com/sonarwatch/portfolio/compare/plugins-0.7.0...plugins-0.7.1) (2023-08-30)
10
18
 
11
19
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.7.2",
3
+ "version": "0.7.4",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
6
  "dependencies": {
@@ -36,7 +36,7 @@
36
36
  "web3-v1": "npm:web3@^1.5.0"
37
37
  },
38
38
  "peerDependencies": {
39
- "@sonarwatch/portfolio-core": "0.7.2"
39
+ "@sonarwatch/portfolio-core": "0.7.4"
40
40
  },
41
41
  "main": "./src/index.js",
42
42
  "types": "./src/index.d.ts"
package/src/index.d.ts CHANGED
@@ -1,9 +1,11 @@
1
1
  import { Platform } from '@sonarwatch/portfolio-core';
2
2
  import { Fetcher } from './Fetcher';
3
3
  import { Job } from './Job';
4
+ export { walletTokensPlatform, walletNftsPlatform, } from './plugins/tokens/constants';
4
5
  export * from './Cache';
5
6
  export * from './Fetcher';
6
7
  export * from './Job';
8
+ export * from './utils/name-service';
7
9
  export declare const platforms: Platform[];
8
10
  export declare const jobs: Job[];
9
11
  export declare const fetchers: Fetcher[];
package/src/index.js CHANGED
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- exports.fetchersByAddressSystem = exports.fetchers = exports.jobs = exports.platforms = void 0;
17
+ exports.fetchersByAddressSystem = exports.fetchers = exports.jobs = exports.platforms = exports.walletNftsPlatform = exports.walletTokensPlatform = void 0;
18
18
  const tokens_1 = require("./plugins/tokens");
19
19
  const native_stake_1 = require("./plugins/native-stake");
20
20
  const marinade_1 = require("./plugins/marinade");
@@ -44,9 +44,13 @@ const auxexchange_1 = require("./plugins/auxexchange");
44
44
  const maker_1 = require("./plugins/maker");
45
45
  const kamino_1 = require("./plugins/kamino");
46
46
  const getFetchersByAddressSystem_1 = require("./utils/misc/getFetchersByAddressSystem");
47
+ var constants_1 = require("./plugins/tokens/constants");
48
+ Object.defineProperty(exports, "walletTokensPlatform", { enumerable: true, get: function () { return constants_1.walletTokensPlatform; } });
49
+ Object.defineProperty(exports, "walletNftsPlatform", { enumerable: true, get: function () { return constants_1.walletNftsPlatform; } });
47
50
  __exportStar(require("./Cache"), exports);
48
51
  __exportStar(require("./Fetcher"), exports);
49
52
  __exportStar(require("./Job"), exports);
53
+ __exportStar(require("./utils/name-service"), exports);
50
54
  // PLATFORMS //
51
55
  exports.platforms = [
52
56
  ...aave_1.platforms,
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,6CAI0B;AAC1B,yDAIgC;AAChC,iDAG4B;AAC5B,iDAI4B;AAC5B,2CAGyB;AACzB,6CAI0B;AAC1B,+CAI2B;AAC3B,yCAIwB;AACxB,+CAG2B;AAC3B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,6CAG0B;AAC1B,6CAI0B;AAC1B,yCAIwB;AACxB,2DAGiC;AACjC,6CAI0B;AAC1B,2CAIyB;AACzB,2CAIyB;AACzB,qDAA6D;AAC7D,mDAI6B;AAC7B,qEAIsC;AACtC,uDAG+B;AAC/B,mDAG6B;AAC7B,qDAG8B;AAC9B,uDAG+B;AAC/B,2CAAoD;AACpD,6CAG0B;AAC1B,wFAAqF;AAErF,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AAEtB,eAAe;AACF,QAAA,SAAS,GAAe;IACnC,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,iBAAc;IACjB,GAAG,uBAAoB;IACvB,GAAG,8BAA0B;IAC7B,GAAG,sBAAmB;IACtB,GAAG,qBAAkB;IACrB,GAAG,uBAAoB;IACvB,GAAG,kBAAe;IAClB,GAAG,wBAAoB;IACvB,GAAG,oBAAiB;IACpB,GAAG,iBAAc;IACjB,GAAG,kBAAe;IAClB,GAAG,oBAAiB;IACpB,GAAG,mBAAgB;IACnB,GAAG,mBAAgB;IACnB,GAAG,kBAAe;IAClB,GAAG,iBAAc;IACjB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,yBAAqB;IACxB,GAAG,kBAAe;IAClB,GAAG,iBAAc;IACjB,GAAG,qBAAkB;IACrB,GAAG,kBAAe;CACnB,CAAC;AAEF,UAAU;AACG,QAAA,IAAI,GAAU;IACzB,GAAG,aAAU;IACb,GAAG,mBAAe;IAClB,GAAG,YAAS;IACZ,GAAG,eAAY;IACf,GAAG,cAAW;IACd,GAAG,aAAU;IACb,GAAG,cAAW;IACd,GAAG,WAAQ;IACX,GAAG,YAAS;IACZ,GAAG,YAAS;IACZ,GAAG,YAAS;IACZ,GAAG,aAAU;IACb,GAAG,iBAAa;IAChB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,YAAS;IACZ,GAAG,WAAQ;IACX,GAAG,aAAU;IACb,GAAG,aAAU;IACb,GAAG,YAAS;IACZ,GAAG,yBAAqB;IACxB,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,aAAU;CACd,CAAC;AAEF,cAAc;AACD,QAAA,QAAQ,GAAc;IACjC,GAAG,iBAAc;IACjB,GAAG,uBAAmB;IACtB,GAAG,iBAAc;IACjB,GAAG,mBAAgB;IACnB,GAAG,mBAAgB;IACnB,GAAG,iBAAc;IACjB,GAAG,gBAAa;IAChB,GAAG,kBAAe;IAClB,GAAG,eAAY;IACf,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,wBAAoB;IACvB,GAAG,eAAY;IACf,GAAG,iBAAc;IACjB,GAAG,iBAAc;IACjB,GAAG,6BAAyB;IAC5B,GAAG,oBAAiB;CACrB,CAAC;AACW,QAAA,uBAAuB,GAAG,IAAA,uDAA0B,EAAC,gBAAQ,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAGA,6CAI0B;AAC1B,yDAIgC;AAChC,iDAG4B;AAC5B,iDAI4B;AAC5B,2CAGyB;AACzB,6CAI0B;AAC1B,+CAI2B;AAC3B,yCAIwB;AACxB,+CAG2B;AAC3B,2CAIyB;AACzB,6CAI0B;AAC1B,2CAIyB;AACzB,6CAG0B;AAC1B,6CAI0B;AAC1B,yCAIwB;AACxB,2DAGiC;AACjC,6CAI0B;AAC1B,2CAIyB;AACzB,2CAIyB;AACzB,qDAA6D;AAC7D,mDAI6B;AAC7B,qEAIsC;AACtC,uDAG+B;AAC/B,mDAG6B;AAC7B,qDAG8B;AAC9B,uDAG+B;AAC/B,2CAAoD;AACpD,6CAG0B;AAC1B,wFAAqF;AAErF,wDAGoC;AAFlC,iHAAA,oBAAoB,OAAA;AACpB,+GAAA,kBAAkB,OAAA;AAGpB,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AACtB,uDAAqC;AAErC,eAAe;AACF,QAAA,SAAS,GAAe;IACnC,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,iBAAc;IACjB,GAAG,uBAAoB;IACvB,GAAG,8BAA0B;IAC7B,GAAG,sBAAmB;IACtB,GAAG,qBAAkB;IACrB,GAAG,uBAAoB;IACvB,GAAG,kBAAe;IAClB,GAAG,wBAAoB;IACvB,GAAG,oBAAiB;IACpB,GAAG,iBAAc;IACjB,GAAG,kBAAe;IAClB,GAAG,oBAAiB;IACpB,GAAG,mBAAgB;IACnB,GAAG,mBAAgB;IACnB,GAAG,kBAAe;IAClB,GAAG,iBAAc;IACjB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,yBAAqB;IACxB,GAAG,kBAAe;IAClB,GAAG,iBAAc;IACjB,GAAG,qBAAkB;IACrB,GAAG,kBAAe;CACnB,CAAC;AAEF,UAAU;AACG,QAAA,IAAI,GAAU;IACzB,GAAG,aAAU;IACb,GAAG,mBAAe;IAClB,GAAG,YAAS;IACZ,GAAG,eAAY;IACf,GAAG,cAAW;IACd,GAAG,aAAU;IACb,GAAG,cAAW;IACd,GAAG,WAAQ;IACX,GAAG,YAAS;IACZ,GAAG,YAAS;IACZ,GAAG,YAAS;IACZ,GAAG,aAAU;IACb,GAAG,iBAAa;IAChB,GAAG,kBAAe;IAClB,GAAG,kBAAe;IAClB,GAAG,YAAS;IACZ,GAAG,WAAQ;IACX,GAAG,aAAU;IACb,GAAG,aAAU;IACb,GAAG,YAAS;IACZ,GAAG,yBAAqB;IACxB,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,aAAU;CACd,CAAC;AAEF,cAAc;AACD,QAAA,QAAQ,GAAc;IACjC,GAAG,iBAAc;IACjB,GAAG,uBAAmB;IACtB,GAAG,iBAAc;IACjB,GAAG,mBAAgB;IACnB,GAAG,mBAAgB;IACnB,GAAG,iBAAc;IACjB,GAAG,gBAAa;IAChB,GAAG,kBAAe;IAClB,GAAG,eAAY;IACf,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,gBAAa;IAChB,GAAG,iBAAc;IACjB,GAAG,wBAAoB;IACvB,GAAG,eAAY;IACf,GAAG,iBAAc;IACjB,GAAG,iBAAc;IACjB,GAAG,6BAAyB;IAC5B,GAAG,oBAAiB;CACrB,CAAC;AACW,QAAA,uBAAuB,GAAG,IAAA,uDAA0B,EAAC,gBAAQ,CAAC,CAAC"}
@@ -17,8 +17,7 @@ function getUrlEndpoints() {
17
17
  bitcoin: process.env['PORTFOLIO_BITCOIN_RPC'] || 'https://blockstream.info/api/',
18
18
  solana: process.env['PORTFOLIO_SOLANA_RPC'] ||
19
19
  'https://api.mainnet-beta.solana.com',
20
- ethereum: process.env['PORTFOLIO_ETHEREUM_RPC'] ||
21
- 'https://eth-mainnet.g.alchemy.com/v2',
20
+ ethereum: process.env['PORTFOLIO_ETHEREUM_RPC'] || 'https://eth.llamarpc.com',
22
21
  avalanche: process.env['PORTFOLIO_AVALANCHE_RPC'] ||
23
22
  'https://api.avax.network/ext/bc/C/rpc',
24
23
  polygon: process.env['PORTFOLIO_POLYGON_RPC'] || 'https://polygon.llamarpc.com',
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/constants.ts"],"names":[],"mappings":";;;;;;AAKA,wCAAiE;AACjE,0EAAkD;AAErC,QAAA,qBAAqB,GAAoC;IACpE,QAAQ,EAAE,gBAAO;IACjB,SAAS,EAAT,kBAAS;IACT,OAAO,EAAP,gBAAO;CACR,CAAC;AAEF,SAAgB,eAAe;IAC7B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,4BAA4B;QACrE,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,+BAA+B;QACzE,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACnC,qCAAqC;QACvC,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YACrC,sCAAsC;QACxC,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACtC,uCAAuC;QACzC,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,8BAA8B;QACxE,KAAK,EACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAClC,wCAAwC;QAC1C,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChC,iDAAiD;KACpD,CAAC;AACJ,CAAC;AAvBD,0CAuBC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACjD,GAAG;QACH,IAAA,0BAAgB,EAAC,KAAK,CAAC;KACxB,CAAC,CACmC,CAAC;AAC1C,CAAC;AARD,0CAQC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/clients/constants.ts"],"names":[],"mappings":";;;;;;AAKA,wCAAiE;AACjE,0EAAkD;AAErC,QAAA,qBAAqB,GAAoC;IACpE,QAAQ,EAAE,gBAAO;IACjB,SAAS,EAAT,kBAAS;IACT,OAAO,EAAP,gBAAO;CACR,CAAC;AAEF,SAAgB,eAAe;IAC7B,OAAO;QACL,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,IAAI,4BAA4B;QACrE,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,+BAA+B;QACzE,MAAM,EACJ,OAAO,CAAC,GAAG,CAAC,sBAAsB,CAAC;YACnC,qCAAqC;QACvC,QAAQ,EACN,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,IAAI,0BAA0B;QACrE,SAAS,EACP,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC;YACtC,uCAAuC;QACzC,OAAO,EACL,OAAO,CAAC,GAAG,CAAC,uBAAuB,CAAC,IAAI,8BAA8B;QACxE,KAAK,EACH,OAAO,CAAC,GAAG,CAAC,qBAAqB,CAAC;YAClC,wCAAwC;QAC1C,GAAG,EACD,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;YAChC,iDAAiD;KACpD,CAAC;AACJ,CAAC;AAtBD,0CAsBC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC;AAED,SAAgB,eAAe;IAC7B,MAAM,YAAY,GAAG,eAAe,EAAE,CAAC;IACvC,OAAO,MAAM,CAAC,WAAW,CACvB,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC;QACjD,GAAG;QACH,IAAA,0BAAgB,EAAC,KAAK,CAAC;KACxB,CAAC,CACmC,CAAC;AAC1C,CAAC;AARD,0CAQC;AAED,SAAgB,cAAc,CAAC,SAAwB;IACrD,OAAO,eAAe,EAAE,CAAC,SAAS,CAAC,CAAC;AACtC,CAAC;AAFD,wCAEC"}
@@ -52,6 +52,7 @@ function getDecimalsForToken(address, networkId) {
52
52
  return res.value.decimals ? res.value.decimals : undefined;
53
53
  }
54
54
  case 'sei': {
55
+ // TODO : add cache.getItem<decimalsInfo>(formatAddres(address))
55
56
  if (address.startsWith('factory')) {
56
57
  const client = yield (0, clients_1.getClientSei)();
57
58
  const rep = yield client.cosmos.bank.v1beta1.denomMetadata({
@@ -1 +1 @@
1
- {"version":3,"file":"getDecimalsForToken.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/getDecimalsForToken.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAsE;AACtE,6CAA4C;AAC5C,uCAAiD;AACjD,wCAA2E;AAC3E,oCAAwC;AACxC,oDAAsD;AACtD,gCAAsD;AAEtD,MAAM,QAAQ,GAAG;IACf,kCAAkC;IAClC,6CAA6C;CAC9C,CAAC;AAEF;;;;;;;GAOG;AACH,SAAsB,mBAAmB,CACvC,OAAe,EACf,SAAwB;;QAExB,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,oBAAY;oBACtB,cAAc,EAAE,CAAC,OAAO,CAAC;oBACzB,SAAS,EAAE,EAAE;iBACd,CAAC,CAAa,CAAC;gBAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;aACnB;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,CAAC,CAAC;iBACV;gBACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChE,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;aAC5D;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACjC,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAY,GAAE,CAAC;oBACpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;wBACzD,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;gBACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC7B,OAAO,CAAC,CAAC;iBACV;gBACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAiB,EAAC,IAAA,0BAAc,EAAC,0BAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtE,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAChD,OAAO,EACP,uBAAiB,CAClB,CAAc,CAAC;oBAChB,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC;iBACxC;gBACD,OAAO,SAAS,CAAC;aAClB;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAClE;IACH,CAAC;CAAA;AAhDD,kDAgDC"}
1
+ {"version":3,"file":"getDecimalsForToken.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/misc/getDecimalsForToken.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAsE;AACtE,6CAA4C;AAC5C,uCAAiD;AACjD,wCAA2E;AAC3E,oCAAwC;AACxC,oDAAsD;AACtD,gCAAsD;AAEtD,MAAM,QAAQ,GAAG;IACf,kCAAkC;IAClC,6CAA6C;CAC9C,CAAC;AAEF;;;;;;;GAOG;AACH,SAAsB,mBAAmB,CACvC,OAAe,EACf,SAAwB;;QAExB,QAAQ,SAAS,EAAE;YACjB,KAAK,OAAO,CAAC,CAAC;gBACZ,MAAM,MAAM,GAAG,IAAA,wBAAc,GAAE,CAAC;gBAChC,MAAM,OAAO,GAAG,CAAC,MAAM,MAAM,CAAC,IAAI,CAAC;oBACjC,QAAQ,EAAE,oBAAY;oBACtB,cAAc,EAAE,CAAC,OAAO,CAAC;oBACzB,SAAS,EAAE,EAAE;iBACd,CAAC,CAAa,CAAC;gBAChB,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,SAAS,CAAC;gBAC3C,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;aACnB;YACD,KAAK,QAAQ,CAAC,CAAC;gBACb,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;gBACjC,IAAI,QAAQ,CAAC,QAAQ,CAAC,OAAO,CAAC,EAAE;oBAC9B,OAAO,CAAC,CAAC;iBACV;gBACD,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC,CAAC;gBAChE,OAAO,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;aAC5D;YACD,KAAK,KAAK,CAAC,CAAC;gBACV,gEAAgE;gBAChE,IAAI,OAAO,CAAC,UAAU,CAAC,SAAS,CAAC,EAAE;oBACjC,MAAM,MAAM,GAAG,MAAM,IAAA,sBAAY,GAAE,CAAC;oBACpC,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC;wBACzD,KAAK,EAAE,OAAO;qBACf,CAAC,CAAC;oBACH,MAAM,MAAM,GAAG,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC;oBACvC,OAAO,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC;iBAC3C;gBACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC7B,OAAO,CAAC,CAAC;iBACV;gBACD,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE;oBAC7B,MAAM,MAAM,GAAG,MAAM,IAAA,wBAAiB,EAAC,IAAA,0BAAc,EAAC,0BAAS,CAAC,GAAG,CAAC,CAAC,CAAC;oBACtE,MAAM,SAAS,GAAG,CAAC,MAAM,MAAM,CAAC,kBAAkB,CAChD,OAAO,EACP,uBAAiB,CAClB,CAAc,CAAC;oBAChB,OAAO,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC;iBACxC;gBACD,OAAO,SAAS,CAAC;aAClB;YACD;gBACE,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;SAClE;IACH,CAAC;CAAA;AAjDD,kDAiDC"}
@@ -0,0 +1,3 @@
1
+ export declare function isAvalancheName(name: string): boolean;
2
+ export declare function getOwnerAvalanche(name: string): Promise<string | null>;
3
+ export declare function getNamesAvalanche(address: string): Promise<string[]>;
@@ -9,7 +9,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getNamesAvalanche = void 0;
12
+ exports.getNamesAvalanche = exports.getOwnerAvalanche = exports.isAvalancheName = void 0;
13
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
14
  const clients_1 = require("../clients");
15
15
  const resolutionUtilsV2Address = '0x1ea4e7A798557001b99D88D6b4ba7F7fc79406A9';
@@ -21,7 +21,36 @@ const abi = [
21
21
  stateMutability: 'view',
22
22
  type: 'function',
23
23
  },
24
+ {
25
+ inputs: [
26
+ { internalType: 'string', name: 'name', type: 'string' },
27
+ { internalType: 'uint256', name: 'key', type: 'uint256' },
28
+ ],
29
+ name: 'resolveStandard',
30
+ outputs: [{ internalType: 'string', name: 'value', type: 'string' }],
31
+ stateMutability: 'view',
32
+ type: 'function',
33
+ },
24
34
  ];
35
+ function isAvalancheName(name) {
36
+ return name.endsWith('.avax');
37
+ }
38
+ exports.isAvalancheName = isAvalancheName;
39
+ function getOwnerAvalanche(name) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const client = (0, clients_1.getEvmClient)(portfolio_core_1.NetworkId.avalanche);
42
+ const owner = yield client.readContract({
43
+ abi,
44
+ address: resolutionUtilsV2Address,
45
+ functionName: 'resolveStandard',
46
+ args: [name, BigInt(3)],
47
+ });
48
+ if (owner === '')
49
+ return null;
50
+ return (0, portfolio_core_1.formatEvmAddress)(owner);
51
+ });
52
+ }
53
+ exports.getOwnerAvalanche = getOwnerAvalanche;
25
54
  function getNamesAvalanche(address) {
26
55
  return __awaiter(this, void 0, void 0, function* () {
27
56
  const client = (0, clients_1.getEvmClient)(portfolio_core_1.NetworkId.avalanche);
@@ -37,4 +66,4 @@ function getNamesAvalanche(address) {
37
66
  });
38
67
  }
39
68
  exports.getNamesAvalanche = getNamesAvalanche;
40
- //# sourceMappingURL=getNamesAvalanche.js.map
69
+ //# sourceMappingURL=avalanche.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"avalanche.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/avalanche.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAyE;AACzE,wCAA0C;AAE1C,MAAM,wBAAwB,GAAG,4CAA4C,CAAC;AAC9E,MAAM,GAAG,GAAG;IACV;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpE,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;IACD;QACE,MAAM,EAAE;YACN,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,QAAQ,EAAE;YACxD,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE;SAC1D;QACD,IAAI,EAAE,iBAAiB;QACvB,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACpE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,SAAgB,eAAe,CAAC,IAAY;IAC1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;AAChC,CAAC;AAFD,0CAEC;AAED,SAAsB,iBAAiB,CAAC,IAAY;;QAClD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACtC,GAAG;YACH,OAAO,EAAE,wBAAwB;YACjC,YAAY,EAAE,iBAAiB;YAC/B,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;SACxB,CAAC,CAAC;QACH,IAAI,KAAK,KAAK,EAAE;YAAE,OAAO,IAAI,CAAC;QAC9B,OAAO,IAAA,iCAAgB,EAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAAA;AAVD,8CAUC;AAED,SAAsB,iBAAiB,CAAC,OAAe;;QACrD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACvC,GAAG;YACH,OAAO,EAAE,wBAAwB;YACjC,YAAY,EAAE,yBAAyB;YACvC,IAAI,EAAE,CAAC,OAAwB,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9B,CAAC;CAAA;AAVD,8CAUC"}
@@ -0,0 +1,3 @@
1
+ export declare function isEthereumName(name: string): boolean;
2
+ export declare function getOwnerEthereum(name: string): Promise<string | null>;
3
+ export declare function getNamesEthereum(address: string): Promise<string[]>;
@@ -9,9 +9,24 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getNamesEthereum = void 0;
12
+ exports.getNamesEthereum = exports.getOwnerEthereum = exports.isEthereumName = void 0;
13
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
+ const ens_1 = require("viem/ens");
14
15
  const clients_1 = require("../clients");
16
+ function isEthereumName(name) {
17
+ return name.endsWith('.eth') && (0, ens_1.normalize)(name) === name;
18
+ }
19
+ exports.isEthereumName = isEthereumName;
20
+ function getOwnerEthereum(name) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getEvmEthersClient)(portfolio_core_1.NetworkId.ethereum);
23
+ const owner = yield client.resolveName(name);
24
+ if (!owner)
25
+ return null;
26
+ return (0, portfolio_core_1.formatEvmAddress)(owner);
27
+ });
28
+ }
29
+ exports.getOwnerEthereum = getOwnerEthereum;
15
30
  function getNamesEthereum(address) {
16
31
  return __awaiter(this, void 0, void 0, function* () {
17
32
  const client = (0, clients_1.getEvmClient)(portfolio_core_1.NetworkId.ethereum);
@@ -24,4 +39,4 @@ function getNamesEthereum(address) {
24
39
  });
25
40
  }
26
41
  exports.getNamesEthereum = getNamesEthereum;
27
- //# sourceMappingURL=getNamesEthereum.js.map
42
+ //# sourceMappingURL=ethereum.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ethereum.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/ethereum.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAyE;AACzE,kCAAqC;AACrC,wCAA8D;AAE9D,SAAgB,cAAc,CAAC,IAAY;IACzC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,IAAA,eAAS,EAAC,IAAI,CAAC,KAAK,IAAI,CAAC;AAC3D,CAAC;AAFD,wCAEC;AAED,SAAsB,gBAAgB,CAAC,IAAY;;QACjD,MAAM,MAAM,GAAG,IAAA,4BAAkB,EAAC,0BAAS,CAAC,QAAQ,CAAC,CAAC;QACtD,MAAM,KAAK,GAAG,MAAM,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC7C,IAAI,CAAC,KAAK;YAAE,OAAO,IAAI,CAAC;QACxB,OAAO,IAAA,iCAAgB,EAAC,KAAK,CAAC,CAAC;IACjC,CAAC;CAAA;AALD,4CAKC;AAED,SAAsB,gBAAgB,CAAC,OAAe;;QACpD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACtC,OAAO,EAAE,OAAwB;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/B,CAAC;CAAA;AAPD,4CAOC"}
@@ -0,0 +1,2 @@
1
+ import { NSName } from './types';
2
+ export declare function getNamesEvm(address: string): Promise<NSName[]>;
@@ -11,16 +11,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getNamesEvm = void 0;
13
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
- const getNamesEthereum_1 = require("./getNamesEthereum");
15
- const getNamesAvalanche_1 = require("./getNamesAvalanche");
14
+ const ethereum_1 = require("./ethereum");
15
+ const avalanche_1 = require("./avalanche");
16
16
  function getNamesEvm(address) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
18
  const promises = [
19
- (0, getNamesEthereum_1.getNamesEthereum)(address).then((names) => names.map((name) => ({
19
+ (0, ethereum_1.getNamesEthereum)(address).then((names) => names.map((name) => ({
20
20
  name,
21
21
  networkId: portfolio_core_1.NetworkId.ethereum,
22
22
  }))),
23
- (0, getNamesAvalanche_1.getNamesAvalanche)(address).then((names) => names.map((name) => ({
23
+ (0, avalanche_1.getNamesAvalanche)(address).then((names) => names.map((name) => ({
24
24
  name,
25
25
  networkId: portfolio_core_1.NetworkId.avalanche,
26
26
  }))),
@@ -29,4 +29,4 @@ function getNamesEvm(address) {
29
29
  });
30
30
  }
31
31
  exports.getNamesEvm = getNamesEvm;
32
- //# sourceMappingURL=getNamesEvm.js.map
32
+ //# sourceMappingURL=evm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"evm.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/evm.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AAEvD,yCAA8C;AAC9C,2CAAgD;AAEhD,SAAsB,WAAW,CAAC,OAAe;;QAC/C,MAAM,QAAQ,GAAG;YACf,IAAA,2BAAgB,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAY,EAAE,CACjD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnB,IAAI;gBACJ,SAAS,EAAE,0BAAS,CAAC,QAAQ;aAC9B,CAAC,CAAC,CACJ;YACD,IAAA,6BAAiB,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAY,EAAE,CAClD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnB,IAAI;gBACJ,SAAS,EAAE,0BAAS,CAAC,SAAS;aAC/B,CAAC,CAAC,CACJ;SACF,CAAC;QACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;CAAA;AAhBD,kCAgBC"}
@@ -1,3 +1,3 @@
1
1
  import { AddressSystemType } from '@sonarwatch/portfolio-core';
2
- import { Name } from './types';
3
- export declare function getNames(address: string, addressSystem: AddressSystemType): Promise<Name[]>;
2
+ import { NSName } from './types';
3
+ export declare function getNames(address: string, addressSystem: AddressSystemType): Promise<NSName[]>;
@@ -11,8 +11,8 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.getNames = void 0;
13
13
  const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
- const getNamesEvm_1 = require("./getNamesEvm");
15
- const getNamesSolana_1 = require("./getNamesSolana");
14
+ const evm_1 = require("./evm");
15
+ const solana_1 = require("./solana");
16
16
  function getNames(address, addressSystem) {
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
18
  const fAddress = (0, portfolio_core_1.formatAddress)(address, addressSystem);
@@ -20,9 +20,9 @@ function getNames(address, addressSystem) {
20
20
  case portfolio_core_1.AddressSystem.bitcoin:
21
21
  return [];
22
22
  case portfolio_core_1.AddressSystem.evm:
23
- return (0, getNamesEvm_1.getNamesEvm)(fAddress);
23
+ return (0, evm_1.getNamesEvm)(fAddress);
24
24
  case portfolio_core_1.AddressSystem.solana:
25
- return (0, getNamesSolana_1.getNamesSolana)(fAddress).then((names) => names.map((name) => ({
25
+ return (0, solana_1.getNamesSolana)(fAddress).then((names) => names.map((name) => ({
26
26
  name,
27
27
  networkId: portfolio_core_1.NetworkId.solana,
28
28
  })));
@@ -1 +1 @@
1
- {"version":3,"file":"getNames.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNames.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAKoC;AACpC,+CAA4C;AAE5C,qDAAkD;AAElD,SAAsB,QAAQ,CAC5B,OAAe,EACf,aAAgC;;QAEhC,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,QAAQ,aAAa,EAAE;YACrB,KAAK,8BAAa,CAAC,OAAO;gBACxB,OAAO,EAAE,CAAC;YACZ,KAAK,8BAAa,CAAC,GAAG;gBACpB,OAAO,IAAA,yBAAW,EAAC,QAAQ,CAAC,CAAC;YAC/B,KAAK,8BAAa,CAAC,MAAM;gBACvB,OAAO,IAAA,+BAAc,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAU,EAAE,CACrD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnB,IAAI;oBACJ,SAAS,EAAE,0BAAS,CAAC,MAAM;iBAC5B,CAAC,CAAC,CACJ,CAAC;YACJ;gBACE,OAAO,EAAE,CAAC;SACb;IACH,CAAC;CAAA;AApBD,4BAoBC"}
1
+ {"version":3,"file":"getNames.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNames.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAKoC;AACpC,+BAAoC;AAEpC,qCAA0C;AAE1C,SAAsB,QAAQ,CAC5B,OAAe,EACf,aAAgC;;QAEhC,MAAM,QAAQ,GAAG,IAAA,8BAAa,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC;QACvD,QAAQ,aAAa,EAAE;YACrB,KAAK,8BAAa,CAAC,OAAO;gBACxB,OAAO,EAAE,CAAC;YACZ,KAAK,8BAAa,CAAC,GAAG;gBACpB,OAAO,IAAA,iBAAW,EAAC,QAAQ,CAAC,CAAC;YAC/B,KAAK,8BAAa,CAAC,MAAM;gBACvB,OAAO,IAAA,uBAAc,EAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAY,EAAE,CACvD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;oBACnB,IAAI;oBACJ,SAAS,EAAE,0BAAS,CAAC,MAAM;iBAC5B,CAAC,CAAC,CACJ,CAAC;YACJ;gBACE,OAAO,EAAE,CAAC;SACb;IACH,CAAC;CAAA;AApBD,4BAoBC"}
@@ -0,0 +1,2 @@
1
+ import { NSOwner } from './types';
2
+ export declare function getOwner(name: string): Promise<NSOwner>;
@@ -0,0 +1,65 @@
1
+ "use strict";
2
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
+ return new (P || (P = Promise))(function (resolve, reject) {
5
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
9
+ });
10
+ };
11
+ Object.defineProperty(exports, "__esModule", { value: true });
12
+ exports.getOwner = void 0;
13
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
+ const solana_1 = require("./solana");
15
+ const ethereum_1 = require("./ethereum");
16
+ const avalanche_1 = require("./avalanche");
17
+ const verifiers = [
18
+ {
19
+ networkId: portfolio_core_1.NetworkId.solana,
20
+ verifier: solana_1.isSolanaName,
21
+ },
22
+ {
23
+ networkId: portfolio_core_1.NetworkId.ethereum,
24
+ verifier: ethereum_1.isEthereumName,
25
+ },
26
+ {
27
+ networkId: portfolio_core_1.NetworkId.avalanche,
28
+ verifier: avalanche_1.isAvalancheName,
29
+ },
30
+ ];
31
+ function getNetworkIdFromName(name) {
32
+ for (let i = 0; i < verifiers.length; i++) {
33
+ const verifier = verifiers[i];
34
+ if (verifier.verifier(name))
35
+ return verifier.networkId;
36
+ }
37
+ throw new Error(`Name is not valid: ${name}`);
38
+ }
39
+ function getOwner(name) {
40
+ return __awaiter(this, void 0, void 0, function* () {
41
+ const networkId = getNetworkIdFromName(name);
42
+ const addressSystem = (0, portfolio_core_1.getAddressSystemFromNetworkId)(networkId);
43
+ let address = null;
44
+ switch (networkId) {
45
+ case portfolio_core_1.NetworkId.solana:
46
+ address = yield (0, solana_1.getOwnerSolana)(name);
47
+ break;
48
+ case portfolio_core_1.NetworkId.avalanche:
49
+ address = yield (0, solana_1.getOwnerSolana)(name);
50
+ break;
51
+ case portfolio_core_1.NetworkId.ethereum:
52
+ address = yield (0, ethereum_1.getOwnerEthereum)(name);
53
+ break;
54
+ default:
55
+ break;
56
+ }
57
+ return {
58
+ address: address ? (0, portfolio_core_1.formatAddress)(address, addressSystem) : null,
59
+ addressSystem,
60
+ networkId,
61
+ };
62
+ });
63
+ }
64
+ exports.getOwner = getOwner;
65
+ //# sourceMappingURL=getOwner.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getOwner.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getOwner.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAKoC;AACpC,qCAAwD;AACxD,yCAA8D;AAC9D,2CAA8C;AAG9C,MAAM,SAAS,GAGT;IACJ;QACE,SAAS,EAAE,0BAAS,CAAC,MAAM;QAC3B,QAAQ,EAAE,qBAAY;KACvB;IACD;QACE,SAAS,EAAE,0BAAS,CAAC,QAAQ;QAC7B,QAAQ,EAAE,yBAAc;KACzB;IACD;QACE,SAAS,EAAE,0BAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,2BAAe;KAC1B;CACF,CAAC;AAEF,SAAS,oBAAoB,CAAC,IAAY;IACxC,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,MAAM,IAAI,KAAK,CAAC,sBAAsB,IAAI,EAAE,CAAC,CAAC;AAChD,CAAC;AAED,SAAsB,QAAQ,CAAC,IAAY;;QACzC,MAAM,SAAS,GAAG,oBAAoB,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,aAAa,GAAG,IAAA,8CAA6B,EAAC,SAAS,CAAC,CAAC;QAC/D,IAAI,OAAO,GAAkB,IAAI,CAAC;QAElC,QAAQ,SAAS,EAAE;YACjB,KAAK,0BAAS,CAAC,MAAM;gBACnB,OAAO,GAAG,MAAM,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,0BAAS,CAAC,SAAS;gBACtB,OAAO,GAAG,MAAM,IAAA,uBAAc,EAAC,IAAI,CAAC,CAAC;gBACrC,MAAM;YACR,KAAK,0BAAS,CAAC,QAAQ;gBACrB,OAAO,GAAG,MAAM,IAAA,2BAAgB,EAAC,IAAI,CAAC,CAAC;gBACvC,MAAM;YACR;gBACE,MAAM;SACT;QAED,OAAO;YACL,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,IAAA,8BAAa,EAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI;YAC/D,aAAa;YACb,SAAS;SACV,CAAC;IACJ,CAAC;CAAA;AAxBD,4BAwBC"}
@@ -0,0 +1,3 @@
1
+ export { getOwner } from './getOwner';
2
+ export { getNames } from './getNames';
3
+ export { NSName, NSOwner } from './types';
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getNames = exports.getOwner = void 0;
4
+ var getOwner_1 = require("./getOwner");
5
+ Object.defineProperty(exports, "getOwner", { enumerable: true, get: function () { return getOwner_1.getOwner; } });
6
+ var getNames_1 = require("./getNames");
7
+ Object.defineProperty(exports, "getNames", { enumerable: true, get: function () { return getNames_1.getNames; } });
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/index.ts"],"names":[],"mappings":";;;AAAA,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA;AACjB,uCAAsC;AAA7B,oGAAA,QAAQ,OAAA"}
@@ -0,0 +1,3 @@
1
+ export declare function isSolanaName(name: string): boolean;
2
+ export declare function getOwnerSolana(name: string): Promise<string | null>;
3
+ export declare function getNamesSolana(address: string): Promise<string[]>;
@@ -9,10 +9,28 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
9
9
  });
10
10
  };
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.getNamesSolana = void 0;
12
+ exports.getNamesSolana = exports.getOwnerSolana = exports.isSolanaName = void 0;
13
13
  const web3_js_1 = require("@solana/web3.js");
14
14
  const spl_name_service_1 = require("@bonfida/spl-name-service");
15
15
  const clients_1 = require("../clients");
16
+ function isSolanaName(name) {
17
+ return name.endsWith('.sol');
18
+ }
19
+ exports.isSolanaName = isSolanaName;
20
+ function getOwnerSolana(name) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const client = (0, clients_1.getClientSolana)();
23
+ const domainName = name.slice(0, -4);
24
+ const { pubkey } = (0, spl_name_service_1.getDomainKeySync)(domainName);
25
+ const { registry, nftOwner } = yield spl_name_service_1.NameRegistryState.retrieve(client, pubkey).catch(() => ({ registry: null, nftOwner: null }));
26
+ if (nftOwner)
27
+ return nftOwner.toString();
28
+ if (registry)
29
+ return registry.owner.toString();
30
+ return null;
31
+ });
32
+ }
33
+ exports.getOwnerSolana = getOwnerSolana;
16
34
  function getNamesSolana(address) {
17
35
  return __awaiter(this, void 0, void 0, function* () {
18
36
  const client = (0, clients_1.getClientSolana)();
@@ -26,4 +44,4 @@ function getNamesSolana(address) {
26
44
  });
27
45
  }
28
46
  exports.getNamesSolana = getNamesSolana;
29
- //# sourceMappingURL=getNamesSolana.js.map
47
+ //# sourceMappingURL=solana.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"solana.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/solana.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAC5C,gEAImC;AACnC,wCAA6C;AAE7C,SAAgB,YAAY,CAAC,IAAY;IACvC,OAAO,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AAC/B,CAAC;AAFD,oCAEC;AAED,SAAsB,cAAc,CAAC,IAAY;;QAC/C,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QACjC,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QACrC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAA,mCAAgB,EAAC,UAAU,CAAC,CAAC;QAChD,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,oCAAiB,CAAC,QAAQ,CAC7D,MAAM,EACN,MAAM,CACP,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACpD,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzC,IAAI,QAAQ;YAAE,OAAO,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;CAAA;AAXD,wCAWC;AAED,SAAsB,cAAc,CAAC,OAAe;;QAClD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,oCAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;IAC5B,CAAC;CAAA;AATD,wCASC"}
@@ -1,5 +1,10 @@
1
- import { NetworkIdType } from '@sonarwatch/portfolio-core';
2
- export type Name = {
1
+ import { AddressSystemType, NetworkIdType } from '@sonarwatch/portfolio-core';
2
+ export type NSName = {
3
3
  name: string;
4
4
  networkId: NetworkIdType;
5
5
  };
6
+ export type NSOwner = {
7
+ address: string | null;
8
+ addressSystem: AddressSystemType;
9
+ networkId: NetworkIdType;
10
+ };
@@ -1 +0,0 @@
1
- export declare function getNamesAvalanche(address: string): Promise<string[]>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNamesAvalanche.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNamesAvalanche.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,wCAA0C;AAE1C,MAAM,wBAAwB,GAAG,4CAA4C,CAAC;AAC9E,MAAM,GAAG,GAAG;IACV;QACE,MAAM,EAAE,CAAC,EAAE,YAAY,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;QACpE,IAAI,EAAE,yBAAyB;QAC/B,OAAO,EAAE,CAAC,EAAE,YAAY,EAAE,QAAQ,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;QACvE,eAAe,EAAE,MAAM;QACvB,IAAI,EAAE,UAAU;KACjB;CACO,CAAC;AAEX,SAAsB,iBAAiB,CAAC,OAAe;;QACrD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,0BAAS,CAAC,SAAS,CAAC,CAAC;QACjD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,YAAY,CAAC;YACvC,GAAG;YACH,OAAO,EAAE,wBAAwB;YACjC,YAAY,EAAE,yBAAyB;YACvC,IAAI,EAAE,CAAC,OAAwB,CAAC;SACjC,CAAC,CAAC;QACH,IAAI,MAAM,KAAK,EAAE;YAAE,OAAO,EAAE,CAAC;QAC7B,OAAO,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;IAC9B,CAAC;CAAA;AAVD,8CAUC"}
@@ -1 +0,0 @@
1
- export declare function getNamesEthereum(address: string): Promise<string[]>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNamesEthereum.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNamesEthereum.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AACvD,wCAA0C;AAE1C,SAAsB,gBAAgB,CAAC,OAAe;;QACpD,MAAM,MAAM,GAAG,IAAA,sBAAY,EAAC,0BAAS,CAAC,QAAQ,CAAC,CAAC;QAChD,MAAM,OAAO,GAAG,MAAM,MAAM,CAAC,UAAU,CAAC;YACtC,OAAO,EAAE,OAAwB;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAC/B,CAAC;CAAA;AAPD,4CAOC"}
@@ -1,2 +0,0 @@
1
- import { Name } from './types';
2
- export declare function getNamesEvm(address: string): Promise<Name[]>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNamesEvm.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNamesEvm.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,+DAAuD;AAEvD,yDAAsD;AACtD,2DAAwD;AAExD,SAAsB,WAAW,CAAC,OAAe;;QAC/C,MAAM,QAAQ,GAAG;YACf,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAU,EAAE,CAC/C,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnB,IAAI;gBACJ,SAAS,EAAE,0BAAS,CAAC,QAAQ;aAC9B,CAAC,CAAC,CACJ;YACD,IAAA,qCAAiB,EAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAU,EAAE,CAChD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;gBACnB,IAAI;gBACJ,SAAS,EAAE,0BAAS,CAAC,SAAS;aAC/B,CAAC,CAAC,CACJ;SACF,CAAC;QACF,OAAO,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAC/C,CAAC;CAAA;AAhBD,kCAgBC"}
@@ -1 +0,0 @@
1
- export declare function getNamesSolana(address: string): Promise<string[]>;
@@ -1 +0,0 @@
1
- {"version":3,"file":"getNamesSolana.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/utils/name-service/getNamesSolana.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,6CAA4C;AAC5C,gEAA8D;AAC9D,wCAA6C;AAE7C,SAAsB,cAAc,CAAC,OAAe;;QAClD,MAAM,MAAM,GAAG,IAAA,yBAAe,GAAE,CAAC;QACjC,MAAM,KAAK,GAAG,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QAErC,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,IAAA,oCAAiB,EAAC,MAAM,EAAE,KAAK,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC;YACtE,OAAO,EAAE,IAAI;SACd,CAAC,CAAC,CAAC;QACJ,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QACxB,OAAO,CAAC,GAAG,OAAO,MAAM,CAAC,CAAC;IAC5B,CAAC;CAAA;AATD,wCASC"}