@sonarwatch/portfolio-core 0.4.25 → 0.4.27

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,14 @@
2
2
 
3
3
  This file was generated using [@jscutlery/semver](https://github.com/jscutlery/semver).
4
4
 
5
+ ## [0.4.27](https://github.com/sonarwatch/portfolio/compare/core-0.4.26...core-0.4.27) (2023-07-13)
6
+
7
+
8
+
9
+ ## [0.4.26](https://github.com/sonarwatch/portfolio/compare/core-0.4.25...core-0.4.26) (2023-07-13)
10
+
11
+
12
+
5
13
  ## [0.4.25](https://github.com/sonarwatch/portfolio/compare/core-0.4.24...core-0.4.25) (2023-07-13)
6
14
 
7
15
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-core",
3
- "version": "0.4.25",
3
+ "version": "0.4.27",
4
4
  "type": "commonjs",
5
5
  "dependencies": {
6
6
  "@ethersproject/address": "^5.7.0",
package/src/Fetcher.d.ts CHANGED
@@ -24,6 +24,6 @@ export type FetchersResult = {
24
24
  elements: PortfolioElement[];
25
25
  errors: Record<string, string>;
26
26
  };
27
- export declare function runFetchers(owner: string, addressSystem: AddressSystemType, fetchers: Fetcher[], cache: Cache): Promise<FetchersResult>;
27
+ export declare function runFetchers(owner: string, fetchers: Fetcher[], cache: Cache): Promise<FetchersResult>;
28
28
  export declare function runFetchersByNetworkId(owner: string, networkId: NetworkIdType, fetchers: Fetcher[], cache: Cache): Promise<FetchersResult>;
29
29
  export declare function runFetcher(owner: string, fetcher: Fetcher, cache: Cache): Promise<FetcherResult>;
package/src/Fetcher.js CHANGED
@@ -12,19 +12,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.runFetcher = exports.runFetchersByNetworkId = exports.runFetchers = void 0;
13
13
  const constants_1 = require("./constants");
14
14
  const utils_1 = require("./utils");
15
- function runFetchers(owner, addressSystem, fetchers, cache) {
15
+ function runFetchers(owner, fetchers, cache) {
16
16
  return __awaiter(this, void 0, void 0, function* () {
17
+ const addressSystem = (0, utils_1.getAddressSystem)(owner);
18
+ if (!addressSystem)
19
+ throw new Error(`Owner address does not correspond to any address system: ${owner}`);
17
20
  const fOwner = (0, utils_1.formatAddress)(owner, addressSystem);
18
- const isFetchersValids = fetchers.every((f) => constants_1.networks[f.networkId].addressSystem === addressSystem);
19
- if (!isFetchersValids)
20
- throw new Error(`Not all fetchers have the right address system: ${addressSystem}`);
21
- const promises = fetchers.map((f) => f.executor(fOwner, cache));
21
+ const fFetchers = fetchers.filter((f) => constants_1.networks[f.networkId].addressSystem === addressSystem);
22
+ const promises = fFetchers.map((f) => f.executor(fOwner, cache));
22
23
  const result = yield Promise.allSettled(promises);
23
24
  const failedFetcherIds = [];
24
25
  const succeededFetcherIds = [];
25
26
  const errors = {};
26
27
  const elements = result.flatMap((r, index) => {
27
- const fetcherId = fetchers[index].id;
28
+ const fetcherId = fFetchers[index].id;
28
29
  if (r.status === 'rejected') {
29
30
  failedFetcherIds.push(fetcherId);
30
31
  errors[fetcherId] = r.reason.message || 'Unknown error';
@@ -48,11 +49,7 @@ function runFetchers(owner, addressSystem, fetchers, cache) {
48
49
  exports.runFetchers = runFetchers;
49
50
  function runFetchersByNetworkId(owner, networkId, fetchers, cache) {
50
51
  return __awaiter(this, void 0, void 0, function* () {
51
- const isFetchersValids = fetchers.every((f) => f.networkId === networkId);
52
- if (!isFetchersValids)
53
- throw new Error(`Not all fetchers have the right network id: ${networkId}`);
54
- const { addressSystem } = constants_1.networks[networkId];
55
- return runFetchers(owner, addressSystem, fetchers, cache);
52
+ return runFetchers(owner, fetchers, cache);
56
53
  });
57
54
  }
58
55
  exports.runFetchersByNetworkId = runFetchersByNetworkId;
@@ -1 +1 @@
1
- {"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../../packages/core/src/Fetcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Fetcher.js","sourceRoot":"","sources":["../../../../packages/core/src/Fetcher.ts"],"names":[],"mappings":";;;;;;;;;;;;AAIA,2CAAuC;AACvC,mCAIiB;AA+BjB,SAAsB,WAAW,CAC/B,KAAa,EACb,QAAmB,EACnB,KAAY;;QAEZ,MAAM,aAAa,GAAG,IAAA,wBAAgB,EAAC,KAAK,CAAC,CAAC;QAC9C,IAAI,CAAC,aAAa;YAChB,MAAM,IAAI,KAAK,CACb,4DAA4D,KAAK,EAAE,CACpE,CAAC;QACJ,MAAM,MAAM,GAAG,IAAA,qBAAa,EAAC,KAAK,EAAE,aAAa,CAAC,CAAC;QAEnD,MAAM,SAAS,GAAG,QAAQ,CAAC,MAAM,CAC/B,CAAC,CAAC,EAAE,EAAE,CAAC,oBAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,aAAa,KAAK,aAAa,CAC7D,CAAC;QAEF,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;QACjE,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;QAElD,MAAM,gBAAgB,GAAa,EAAE,CAAC;QACtC,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,MAAM,GAA2B,EAAE,CAAC;QAC1C,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,EAAE;YAC3C,MAAM,SAAS,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,CAAC,MAAM,KAAK,UAAU,EAAE;gBAC3B,gBAAgB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBACjC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,MAAM,CAAC,OAAO,IAAI,eAAe,CAAC;gBACxD,OAAO,EAAE,CAAC;aACX;YACD,mBAAmB,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YACpC,OAAO,CAAC,CAAC,KAAK,CAAC;QACjB,CAAC,CAAC,CAAC;QACH,MAAM,UAAU,GAAG,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAChE,OAAO;YACL,KAAK,EAAE,MAAM;YACb,aAAa;YACb,UAAU;YACV,mBAAmB;YACnB,gBAAgB;YAChB,QAAQ;YACR,MAAM;SACP,CAAC;IACJ,CAAC;CAAA;AA1CD,kCA0CC;AAED,SAAsB,sBAAsB,CAC1C,KAAa,EACb,SAAwB,EACxB,QAAmB,EACnB,KAAY;;QAEZ,OAAO,WAAW,CAAC,KAAK,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC;IAC7C,CAAC;CAAA;AAPD,wDAOC;AAED,SAAsB,UAAU,CAC9B,KAAa,EACb,OAAgB,EAChB,KAAY;;QAEZ,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC7B,MAAM,MAAM,GAAG,IAAA,gCAAwB,EAAC,KAAK,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC;QAClE,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;QACvD,OAAO;YACL,KAAK,EAAE,MAAM;YACb,SAAS,EAAE,OAAO,CAAC,EAAE;YACrB,UAAU,EAAE,OAAO,CAAC,SAAS;YAC7B,QAAQ;YACR,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;SACjC,CAAC;IACJ,CAAC;CAAA;AAfD,gCAeC"}
@@ -0,0 +1,2 @@
1
+ import { NetworkIdType } from '../Network';
2
+ export declare function getAddressSystemFromNetworkId(networdkId: NetworkIdType): import("..").AddressSystemType;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAddressSystemFromNetworkId = void 0;
4
+ const constants_1 = require("../constants");
5
+ function getAddressSystemFromNetworkId(networdkId) {
6
+ return constants_1.networks[networdkId].addressSystem;
7
+ }
8
+ exports.getAddressSystemFromNetworkId = getAddressSystemFromNetworkId;
9
+ //# sourceMappingURL=getAddressSystemFromNetworkId.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getAddressSystemFromNetworkId.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/getAddressSystemFromNetworkId.ts"],"names":[],"mappings":";;;AACA,4CAAwC;AAExC,SAAgB,6BAA6B,CAAC,UAAyB;IACrE,OAAO,oBAAQ,CAAC,UAAU,CAAC,CAAC,aAAa,CAAC;AAC5C,CAAC;AAFD,sEAEC"}
@@ -10,6 +10,7 @@ export * from './formatTokenPrice';
10
10
  export * from './formatTokenPriceUnderlying';
11
11
  export * from './formatTokenPriceSource';
12
12
  export * from './formatUniTokenInfo';
13
+ export * from './getAddressSystemFromNetworkId';
13
14
  export * from './getAssetsFromElement';
14
15
  export * from './getAssetsFromElements';
15
16
  export * from './getUsdValueSum';
@@ -26,6 +26,7 @@ __exportStar(require("./formatTokenPrice"), exports);
26
26
  __exportStar(require("./formatTokenPriceUnderlying"), exports);
27
27
  __exportStar(require("./formatTokenPriceSource"), exports);
28
28
  __exportStar(require("./formatUniTokenInfo"), exports);
29
+ __exportStar(require("./getAddressSystemFromNetworkId"), exports);
29
30
  __exportStar(require("./getAssetsFromElement"), exports);
30
31
  __exportStar(require("./getAssetsFromElements"), exports);
31
32
  __exportStar(require("./getUsdValueSum"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC;AACtC,wCAAsB"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,sDAAoC;AACpC,iDAA+B;AAC/B,sDAAoC;AACpC,kDAAgC;AAChC,uDAAqC;AACrC,4DAA0C;AAC1C,gDAA8B;AAC9B,oDAAkC;AAClC,qDAAmC;AACnC,+DAA6C;AAC7C,2DAAyC;AACzC,uDAAqC;AACrC,kEAAgD;AAChD,yDAAuC;AACvC,0DAAwC;AACxC,mDAAiC;AACjC,yDAAuC;AACvC,yDAAuC;AACvC,0DAAwC;AACxC,oDAAkC;AAClC,wDAAsC;AACtC,wCAAsB"}
@@ -56,8 +56,8 @@ exports.assertSolanaAddress = assertSolanaAddress;
56
56
  const validators = {
57
57
  [Address_1.AddressSystem.solana]: isSolanaAddress,
58
58
  [Address_1.AddressSystem.evm]: isEvmAddress,
59
- [Address_1.AddressSystem.bitcoin]: isBitcoinAddress,
60
59
  [Address_1.AddressSystem.move]: isMoveAddress,
60
+ [Address_1.AddressSystem.bitcoin]: isBitcoinAddress,
61
61
  };
62
62
  function getAddressSystem(address) {
63
63
  for (const [addressSystem, validator] of Object.entries(validators)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validAddress.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2EAA+D;AAC/D,oDAAsE;AACtE,gDAAmD;AAEnD,wCAA8D;AAG9D,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAA,qCAAQ,EAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAFD,4CAEC;AACD,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAHD,oDAGC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAA,mBAAe,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACtD,CAAC;AAHD,oCAGC;AACD,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAHD,4CAGC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAFD,sCAEC;AACD,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAHD,8CAGC;AAED,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI;QACF,kCAAkC;QAClC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AATD,0CASC;AACD,SAAgB,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAHD,kDAGC;AAED,MAAM,UAAU,GAA4D;IAC1E,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,eAAe;IACvC,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,YAAY;IACjC,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,gBAAgB;IACzC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,aAAa;CACpC,CAAC;AAEF,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACnE,IAAI,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO,aAAkC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,4CAKC;AAED,SAAgB,SAAS,CACvB,OAAe,EACf,aAAgC;IAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,8BAMC;AAED,SAAgB,aAAa,CAC3B,OAAe,EACf,aAAgC;IAEhC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,KAAK,OAAO,GAAG,CAAC,CAAC;AAC5E,CAAC;AAND,sCAMC"}
1
+ {"version":3,"file":"validAddress.js","sourceRoot":"","sources":["../../../../../packages/core/src/utils/validAddress.ts"],"names":[],"mappings":";;;AAAA,6CAA4C;AAC5C,2EAA+D;AAC/D,oDAAsE;AACtE,gDAAmD;AACnD,wCAA8D;AAE9D,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,OAAO,IAAA,qCAAQ,EAAC,OAAO,EAAE,oCAAO,CAAC,OAAO,CAAC,CAAC;AAC5C,CAAC;AAFD,4CAEC;AACD,SAAgB,oBAAoB,CAAC,OAAe;IAClD,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,iCAAiC,OAAO,EAAE,CAAC,CAAC;AAChE,CAAC;AAHD,oDAGC;AAED,SAAgB,YAAY,CAAC,OAAe;IAC1C,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,KAAK,CAAC;IAC5C,OAAO,IAAA,mBAAe,EAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;AACtD,CAAC;AAHD,oCAGC;AACD,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,6BAA6B,OAAO,EAAE,CAAC,CAAC;AAC5D,CAAC;AAHD,4CAGC;AAED,SAAgB,aAAa,CAAC,OAAe;IAC3C,OAAO,IAAA,mBAAW,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;AAClC,CAAC;AAFD,sCAEC;AACD,SAAgB,iBAAiB,CAAC,OAAe;IAC/C,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,8BAA8B,OAAO,EAAE,CAAC,CAAC;AAC7D,CAAC;AAHD,8CAGC;AAED,SAAgB,eAAe,CAAC,OAAe;IAC7C,IAAI,OAAO,CAAC,MAAM,GAAG,EAAE;QAAE,OAAO,KAAK,CAAC;IACtC,IAAI;QACF,kCAAkC;QAClC,IAAI,mBAAS,CAAC,OAAO,CAAC,CAAC;QACvB,OAAO,IAAI,CAAC;KACb;IAAC,OAAO,KAAK,EAAE;QACd,OAAO,KAAK,CAAC;KACd;AACH,CAAC;AATD,0CASC;AACD,SAAgB,mBAAmB,CAAC,OAAe;IACjD,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC;QAC3B,MAAM,IAAI,KAAK,CAAC,gCAAgC,OAAO,EAAE,CAAC,CAAC;AAC/D,CAAC;AAHD,kDAGC;AAED,MAAM,UAAU,GAA4D;IAC1E,CAAC,uBAAa,CAAC,MAAM,CAAC,EAAE,eAAe;IACvC,CAAC,uBAAa,CAAC,GAAG,CAAC,EAAE,YAAY;IACjC,CAAC,uBAAa,CAAC,IAAI,CAAC,EAAE,aAAa;IACnC,CAAC,uBAAa,CAAC,OAAO,CAAC,EAAE,gBAAgB;CAC1C,CAAC;AAEF,SAAgB,gBAAgB,CAAC,OAAe;IAC9C,KAAK,MAAM,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;QACnE,IAAI,SAAS,CAAC,OAAO,CAAC;YAAE,OAAO,aAAkC,CAAC;KACnE;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AALD,4CAKC;AAED,SAAgB,SAAS,CACvB,OAAe,EACf,aAAgC;IAEhC,MAAM,SAAS,GAAG,UAAU,CAAC,aAAa,CAAC,CAAC;IAC5C,OAAO,SAAS,CAAC,OAAO,CAAC,CAAC;AAC5B,CAAC;AAND,8BAMC;AAED,SAAgB,aAAa,CAC3B,OAAe,EACf,aAAgC;IAEhC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,0BAA0B,aAAa,KAAK,OAAO,GAAG,CAAC,CAAC;AAC5E,CAAC;AAND,sCAMC"}