@sonarwatch/portfolio-plugins 0.5.29 → 0.5.31

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 (37) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +1 -21
  3. package/src/index.js +5 -0
  4. package/src/index.js.map +1 -1
  5. package/src/platforms.d.ts +1 -0
  6. package/src/platforms.js +6 -1
  7. package/src/platforms.js.map +1 -1
  8. package/src/plugins/aave/constants.d.ts +4 -0
  9. package/src/plugins/aave/constants.js +79 -0
  10. package/src/plugins/aave/constants.js.map +1 -0
  11. package/src/plugins/aave/helpers.d.ts +55 -0
  12. package/src/plugins/aave/helpers.js +263 -0
  13. package/src/plugins/aave/helpers.js.map +1 -0
  14. package/src/plugins/aave/index.d.ts +4 -0
  15. package/src/plugins/aave/index.js +39 -0
  16. package/src/plugins/aave/index.js.map +1 -0
  17. package/src/plugins/aave/lendingFetcherExecutorGenerator.d.ts +4 -0
  18. package/src/plugins/aave/lendingFetcherExecutorGenerator.js +36 -0
  19. package/src/plugins/aave/lendingFetcherExecutorGenerator.js.map +1 -0
  20. package/src/plugins/aave/lendingPoolsJob.d.ts +3 -0
  21. package/src/plugins/aave/lendingPoolsJob.js +84 -0
  22. package/src/plugins/aave/lendingPoolsJob.js.map +1 -0
  23. package/src/plugins/aave/types.d.ts +23 -0
  24. package/src/plugins/aave/types.js +3 -0
  25. package/src/plugins/aave/types.js.map +1 -0
  26. package/src/plugins/saber/constants.d.ts +2 -0
  27. package/src/plugins/saber/constants.js +6 -0
  28. package/src/plugins/saber/constants.js.map +1 -0
  29. package/src/plugins/saber/index.d.ts +2 -0
  30. package/src/plugins/saber/index.js +9 -0
  31. package/src/plugins/saber/index.js.map +1 -0
  32. package/src/plugins/saber/lpTokensJob.d.ts +3 -0
  33. package/src/plugins/saber/lpTokensJob.js +119 -0
  34. package/src/plugins/saber/lpTokensJob.js.map +1 -0
  35. package/src/plugins/saber/types.d.ts +42 -0
  36. package/src/plugins/saber/types.js +26 -0
  37. package/src/plugins/saber/types.js.map +1 -0
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.5.31](https://github.com/sonarwatch/portfolio/compare/plugins-0.5.30...plugins-0.5.31) (2023-08-14)
6
+
7
+
8
+
9
+ ## [0.5.30](https://github.com/sonarwatch/portfolio/compare/plugins-0.5.29...plugins-0.5.30) (2023-08-12)
10
+
11
+
12
+
5
13
  ## [0.5.29](https://github.com/sonarwatch/portfolio/compare/plugins-0.5.28...plugins-0.5.29) (2023-08-11)
6
14
 
7
15
 
package/package.json CHANGED
@@ -1,28 +1,8 @@
1
1
  {
2
2
  "name": "@sonarwatch/portfolio-plugins",
3
- "version": "0.5.29",
3
+ "version": "0.5.31",
4
4
  "type": "commonjs",
5
5
  "generators": "./generators.json",
6
- "dependencies": {
7
- "@ethersproject/address": "^5.7.0",
8
- "@ethersproject/bytes": "^5.7.0",
9
- "@metaplex-foundation/beet": "^0.7.1",
10
- "@metaplex-foundation/beet-solana": "^0.4.0",
11
- "@metaplex-foundation/js": "^0.19.4",
12
- "@mysten/sui.js": "^0.37.1",
13
- "@solana/web3.js": "^1.78.0",
14
- "aptos": "^1.13.1",
15
- "axios": "^1.4.0",
16
- "bignumber.js": "^9.1.1",
17
- "bitcoin-address-validation": "^2.2.1",
18
- "bn.js": "^5.2.1",
19
- "decimal.js": "^10.4.3",
20
- "unstorage": "^1.8.0",
21
- "viem": "^1.2.9"
22
- },
23
- "peerDependencies": {
24
- "@sonarwatch/portfolio-core": "0.5.29"
25
- },
26
6
  "main": "./src/index.js",
27
7
  "types": "./src/index.d.ts"
28
8
  }
package/src/index.js CHANGED
@@ -32,6 +32,7 @@ const tokens_1 = require("./plugins/tokens");
32
32
  const native_stake_1 = require("./plugins/native-stake");
33
33
  const marinade_1 = require("./plugins/marinade");
34
34
  const marginfi_1 = require("./plugins/marginfi");
35
+ const saber_1 = require("./plugins/saber");
35
36
  const solend_1 = require("./plugins/solend");
36
37
  const raydium_1 = require("./plugins/raydium");
37
38
  const orca_1 = require("./plugins/orca");
@@ -40,6 +41,7 @@ const cetus_1 = require("./plugins/cetus");
40
41
  const turbos_1 = require("./plugins/turbos");
41
42
  const thala_1 = require("./plugins/thala");
42
43
  const tensor_1 = require("./plugins/tensor");
44
+ const aave_1 = require("./plugins/aave");
43
45
  const staking_aptos_1 = require("./plugins/staking-aptos");
44
46
  const drift_1 = require("./plugins/drift");
45
47
  const mango_1 = require("./plugins/mango");
@@ -70,6 +72,8 @@ exports.jobs = [
70
72
  ...pancakeswap_1.jobs,
71
73
  ...liquidswap_1.jobs,
72
74
  ...auxexchange_1.jobs,
75
+ ...saber_1.jobs,
76
+ ...aave_1.jobs,
73
77
  ];
74
78
  exports.fetchers = [
75
79
  ...tokens_1.fetchers,
@@ -86,6 +90,7 @@ exports.fetchers = [
86
90
  ...cetus_1.fetchers,
87
91
  ...turbos_1.fetchers,
88
92
  ...staking_aptos_1.fetchers,
93
+ ...aave_1.fetchers,
89
94
  ];
90
95
  exports.fetchersByAddressSystem = (0, getFetchersByAddressSystem_1.getFetchersByAddressSystem)(exports.fetchers);
91
96
  //# sourceMappingURL=index.js.map
package/src/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../packages/plugins/src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGA,0DAA4C;AAC5C,6CAG0B;AAC1B,yDAGgC;AAChC,iDAAkE;AAClE,iDAG4B;AAC5B,6CAG0B;AAC1B,+CAG2B;AAC3B,yCAA4E;AAC5E,+CAAwD;AACxD,2CAA+E;AAC/E,6CAG0B;AAC1B,2CAA+E;AAC/E,6CAA8D;AAC9D,2DAA2E;AAC3E,2CAA+E;AAC/E,2CAA+E;AAC/E,qDAA6D;AAC7D,uDAAgE;AAChE,qDAA8D;AAC9D,uDAAgE;AAChE,wFAAqF;AAErF,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AAEtB,8CAA4B;AACf,QAAA,SAAS,GAAe,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEpD,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,iBAAc;IACjB,GAAG,kBAAe;CACnB,CAAC;AAEW,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;CACxB,CAAC;AAEW,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,0DAA4C;AAC5C,6CAG0B;AAC1B,yDAGgC;AAChC,iDAAkE;AAClE,iDAG4B;AAC5B,2CAAoD;AACpD,6CAG0B;AAC1B,+CAG2B;AAC3B,yCAA4E;AAC5E,+CAAwD;AACxD,2CAA+E;AAC/E,6CAG0B;AAC1B,2CAA+E;AAC/E,6CAA8D;AAC9D,yCAA4E;AAC5E,2DAA2E;AAC3E,2CAA+E;AAC/E,2CAA+E;AAC/E,qDAA6D;AAC7D,uDAAgE;AAChE,qDAA8D;AAC9D,uDAAgE;AAChE,wFAAqF;AAErF,0CAAwB;AACxB,4CAA0B;AAC1B,wCAAsB;AAEtB,8CAA4B;AACf,QAAA,SAAS,GAAe,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC;AAEpD,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,iBAAc;IACjB,GAAG,kBAAe;IAClB,GAAG,YAAS;IACZ,GAAG,WAAQ;CACZ,CAAC;AAEW,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;CAChB,CAAC;AAEW,QAAA,uBAAuB,GAAG,IAAA,uDAA0B,EAAC,gBAAQ,CAAC,CAAC"}
@@ -22,3 +22,4 @@ export declare const cetusPlatform: Platform;
22
22
  export declare const turbosPlatform: Platform;
23
23
  export declare const meeiroPlatform: Platform;
24
24
  export declare const nativeStakePlatform: Platform;
25
+ export declare const saberPlatform: Platform;
package/src/platforms.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.nativeStakePlatform = exports.meeiroPlatform = exports.turbosPlatform = exports.cetusPlatform = exports.mangoPlatform = exports.driftPlatform = exports.meteoraPlatform = exports.orcaPlatform = exports.solendPlatform = exports.raydiumPlatform = exports.animeswapPlatform = exports.dittoPlatform = exports.liquidswapPlatform = exports.pancakeswapPlatform = exports.auxExchangePlatform = exports.tortugaPlatform = exports.thalaPlatform = exports.tensorPlatform = exports.marginfiPlatform = exports.aavePlatform = exports.marinadePlatform = exports.walletNftsPlatform = exports.walletTokensPlatform = void 0;
3
+ exports.saberPlatform = exports.nativeStakePlatform = exports.meeiroPlatform = exports.turbosPlatform = exports.cetusPlatform = exports.mangoPlatform = exports.driftPlatform = exports.meteoraPlatform = exports.orcaPlatform = exports.solendPlatform = exports.raydiumPlatform = exports.animeswapPlatform = exports.dittoPlatform = exports.liquidswapPlatform = exports.pancakeswapPlatform = exports.auxExchangePlatform = exports.tortugaPlatform = exports.thalaPlatform = exports.tensorPlatform = exports.marginfiPlatform = exports.aavePlatform = exports.marinadePlatform = exports.walletNftsPlatform = exports.walletTokensPlatform = void 0;
4
4
  exports.walletTokensPlatform = {
5
5
  id: 'wallet-tokens',
6
6
  name: 'Tokens',
@@ -116,4 +116,9 @@ exports.nativeStakePlatform = {
116
116
  name: 'Native Stake',
117
117
  image: 'https://alpha.sonar.watch/img/platforms/native-stake.png',
118
118
  };
119
+ exports.saberPlatform = {
120
+ id: 'saber',
121
+ name: 'Saber',
122
+ image: 'https://alpha.sonar.watch/img/platforms/saber.png',
123
+ };
119
124
  //# sourceMappingURL=platforms.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../../../packages/plugins/src/platforms.ts"],"names":[],"mappings":";;;AAEa,QAAA,oBAAoB,GAAa;IAC5C,EAAE,EAAE,eAAe;IACnB,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,2DAA2D;CACnE,CAAC;AACW,QAAA,kBAAkB,GAAa;IAC1C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,yDAAyD;CACjE,CAAC;AACW,QAAA,gBAAgB,GAAa;IACxC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,sDAAsD;CAC9D,CAAC;AACW,QAAA,YAAY,GAAa;IACpC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,kDAAkD;CAC1D,CAAC;AACW,QAAA,gBAAgB,GAAa;IACxC,EAAE,EAAE,UAAU;IACd,IAAI,EAAE,UAAU;IAChB,KAAK,EAAE,sDAAsD;CAC9D,CAAC;AACW,QAAA,cAAc,GAAa;IACtC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AACW,QAAA,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AACW,QAAA,eAAe,GAAa;IACvC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,iBAAiB;IACvB,KAAK,EAAE,qDAAqD;CAC7D,CAAC;AACW,QAAA,mBAAmB,GAAa;IAC3C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,yDAAyD;CACjE,CAAC;AACW,QAAA,mBAAmB,GAAa;IAC3C,EAAE,EAAE,aAAa;IACjB,IAAI,EAAE,aAAa;IACnB,KAAK,EAAE,yDAAyD;CACjE,CAAC;AACW,QAAA,kBAAkB,GAAa;IAC1C,EAAE,EAAE,YAAY;IAChB,IAAI,EAAE,YAAY;IAClB,KAAK,EAAE,wDAAwD;CAChE,CAAC;AACW,QAAA,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,eAAe;IACrB,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AACW,QAAA,iBAAiB,GAAa;IACzC,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IACjB,KAAK,EAAE,uDAAuD;CAC/D,CAAC;AACW,QAAA,eAAe,GAAa;IACvC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,qDAAqD;CAC7D,CAAC;AACW,QAAA,cAAc,GAAa;IACtC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AACW,QAAA,YAAY,GAAa;IACpC,EAAE,EAAE,MAAM;IACV,IAAI,EAAE,MAAM;IACZ,KAAK,EAAE,kDAAkD;CAC1D,CAAC;AACW,QAAA,eAAe,GAAa;IACvC,EAAE,EAAE,SAAS;IACb,IAAI,EAAE,SAAS;IACf,KAAK,EAAE,qDAAqD;CAC7D,CAAC;AACW,QAAA,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AACW,QAAA,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AACW,QAAA,aAAa,GAAa;IACrC,EAAE,EAAE,OAAO;IACX,IAAI,EAAE,OAAO;IACb,KAAK,EAAE,mDAAmD;CAC3D,CAAC;AACW,QAAA,cAAc,GAAa;IACtC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AACW,QAAA,cAAc,GAAa;IACtC,EAAE,EAAE,QAAQ;IACZ,IAAI,EAAE,QAAQ;IACd,KAAK,EAAE,oDAAoD;CAC5D,CAAC;AACW,QAAA,mBAAmB,GAAa;IAC3C,EAAE,EAAE,cAAc;IAClB,IAAI,EAAE,cAAc;IACpB,KAAK,EAAE,0DAA0D;CAClE,CAAC"}
1
+ {"version":3,"file":"platforms.js","sourceRoot":"","sources":["../../../../packages/plugins/src/platforms.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { NetworkIdType } from '@sonarwatch/portfolio-core';
2
+ import { LendingConfig } from './types';
3
+ export declare const lendingConfigs: Map<NetworkIdType, LendingConfig[]>;
4
+ export declare const platformId = "aave";
@@ -0,0 +1,79 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.platformId = exports.lendingConfigs = void 0;
4
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
5
+ exports.lendingConfigs = new Map([
6
+ [
7
+ portfolio_core_1.NetworkId.avalanche,
8
+ [
9
+ {
10
+ chainId: portfolio_core_1.networks.avalanche.chainId,
11
+ networkId: portfolio_core_1.NetworkId.avalanche,
12
+ elementName: 'Aave V2',
13
+ lendingPoolAddressProvider: '0xb6A86025F0FE1862B372cb0ca18CE3EDe02A318f',
14
+ uiIncentiveDataProviderAddress: '0x11979886A6dBAE27D7a72c49fCF3F23240D647bF',
15
+ uiPoolDataProviderAddress: '0x00e50FAB64eBB37b87df06Aa46b8B35d5f1A4e1A',
16
+ },
17
+ {
18
+ chainId: portfolio_core_1.networks.avalanche.chainId,
19
+ networkId: portfolio_core_1.NetworkId.avalanche,
20
+ elementName: 'Aave V3',
21
+ lendingPoolAddressProvider: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb',
22
+ uiIncentiveDataProviderAddress: '0x265d414f80b0fca9505710e6F16dB4b67555D365',
23
+ uiPoolDataProviderAddress: '0xF71DBe0FAEF1473ffC607d4c555dfF0aEaDb878d',
24
+ },
25
+ ],
26
+ ],
27
+ [
28
+ portfolio_core_1.NetworkId.polygon,
29
+ [
30
+ {
31
+ chainId: portfolio_core_1.networks.polygon.chainId,
32
+ networkId: portfolio_core_1.NetworkId.polygon,
33
+ elementName: 'Aave V2',
34
+ lendingPoolAddressProvider: '0xd05e3E715d945B59290df0ae8eF85c1BdB684744',
35
+ uiIncentiveDataProviderAddress: '0x645654D59A5226CBab969b1f5431aA47CBf64ab8',
36
+ uiPoolDataProviderAddress: '0x204f2Eb81D996729829debC819f7992DCEEfE7b1',
37
+ },
38
+ {
39
+ chainId: portfolio_core_1.networks.polygon.chainId,
40
+ networkId: portfolio_core_1.NetworkId.polygon,
41
+ elementName: 'Aave V3',
42
+ lendingPoolAddressProvider: '0xa97684ead0e402dC232d5A977953DF7ECBaB3CDb',
43
+ uiIncentiveDataProviderAddress: '0x874313A46e4957D29FAAC43BF5Eb2B144894f557',
44
+ uiPoolDataProviderAddress: '0xC69728f11E9E6127733751c8410432913123acf1',
45
+ },
46
+ ],
47
+ ],
48
+ [
49
+ portfolio_core_1.NetworkId.ethereum,
50
+ [
51
+ {
52
+ chainId: portfolio_core_1.networks.ethereum.chainId,
53
+ networkId: portfolio_core_1.NetworkId.ethereum,
54
+ elementName: 'Aave V2 Main',
55
+ lendingPoolAddressProvider: '0xB53C1a33016B2DC2fF3653530bfF1848a515c8c5',
56
+ uiIncentiveDataProviderAddress: '0xD01ab9a6577E1D84F142e44D49380e23A340387d',
57
+ uiPoolDataProviderAddress: '0x00e50FAB64eBB37b87df06Aa46b8B35d5f1A4e1A',
58
+ },
59
+ {
60
+ chainId: portfolio_core_1.networks.ethereum.chainId,
61
+ networkId: portfolio_core_1.NetworkId.ethereum,
62
+ elementName: 'Aave V2 AMM',
63
+ lendingPoolAddressProvider: '0xAcc030EF66f9dFEAE9CbB0cd1B25654b82cFA8d5',
64
+ uiIncentiveDataProviderAddress: '0xD01ab9a6577E1D84F142e44D49380e23A340387d',
65
+ uiPoolDataProviderAddress: '0x00e50FAB64eBB37b87df06Aa46b8B35d5f1A4e1A',
66
+ },
67
+ {
68
+ chainId: portfolio_core_1.networks.ethereum.chainId,
69
+ networkId: portfolio_core_1.NetworkId.ethereum,
70
+ elementName: 'Aave V3 AMM',
71
+ lendingPoolAddressProvider: '0x2f39d218133AFaB8F2B819B1066c7E434Ad94E9e',
72
+ uiIncentiveDataProviderAddress: '0x162A7AC02f547ad796CA549f757e2b8d1D9b10a6',
73
+ uiPoolDataProviderAddress: '0x91c0eA31b49B69Ea18607702c5d9aC360bf3dE7d',
74
+ },
75
+ ],
76
+ ],
77
+ ]);
78
+ exports.platformId = 'aave';
79
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/constants.ts"],"names":[],"mappings":";;;AAAA,+DAAgF;AAGnE,QAAA,cAAc,GAAwC,IAAI,GAAG,CAAC;IACzE;QACE,0BAAS,CAAC,SAAS;QACnB;YACE;gBACE,OAAO,EAAE,yBAAQ,CAAC,SAAS,CAAC,OAAO;gBACnC,SAAS,EAAE,0BAAS,CAAC,SAAS;gBAC9B,WAAW,EAAE,SAAS;gBACtB,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;YACD;gBACE,OAAO,EAAE,yBAAQ,CAAC,SAAS,CAAC,OAAO;gBACnC,SAAS,EAAE,0BAAS,CAAC,SAAS;gBAC9B,WAAW,EAAE,SAAS;gBACtB,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;SACF;KACF;IACD;QACE,0BAAS,CAAC,OAAO;QACjB;YACE;gBACE,OAAO,EAAE,yBAAQ,CAAC,OAAO,CAAC,OAAO;gBACjC,SAAS,EAAE,0BAAS,CAAC,OAAO;gBAC5B,WAAW,EAAE,SAAS;gBACtB,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;YACD;gBACE,OAAO,EAAE,yBAAQ,CAAC,OAAO,CAAC,OAAO;gBACjC,SAAS,EAAE,0BAAS,CAAC,OAAO;gBAC5B,WAAW,EAAE,SAAS;gBACtB,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;SACF;KACF;IACD;QACE,0BAAS,CAAC,QAAQ;QAClB;YACE;gBACE,OAAO,EAAE,yBAAQ,CAAC,QAAQ,CAAC,OAAO;gBAClC,SAAS,EAAE,0BAAS,CAAC,QAAQ;gBAC7B,WAAW,EAAE,cAAc;gBAC3B,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;YACD;gBACE,OAAO,EAAE,yBAAQ,CAAC,QAAQ,CAAC,OAAO;gBAClC,SAAS,EAAE,0BAAS,CAAC,QAAQ;gBAC7B,WAAW,EAAE,aAAa;gBAC1B,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;YACD;gBACE,OAAO,EAAE,yBAAQ,CAAC,QAAQ,CAAC,OAAO;gBAClC,SAAS,EAAE,0BAAS,CAAC,QAAQ;gBAC7B,WAAW,EAAE,aAAa;gBAC1B,0BAA0B,EACxB,4CAA4C;gBAC9C,8BAA8B,EAC5B,4CAA4C;gBAC9C,yBAAyB,EAAE,4CAA4C;aACxE;SACF;KACF;CACF,CAAC,CAAC;AAEU,QAAA,UAAU,GAAG,MAAM,CAAC"}
@@ -0,0 +1,55 @@
1
+ import { NetworkIdType, PortfolioAssetToken, PortfolioElement, PortfolioElementBorrowLendData, ProxyInfo, Yield } from '@sonarwatch/portfolio-core';
2
+ import { UiIncentiveDataProvider, UiPoolDataProvider } from '@aave/contract-helpers';
3
+ import { UserIncentiveDict } from '@aave/math-utils';
4
+ import { LendingConfig, LendingData } from './types';
5
+ import { Cache } from '../../Cache';
6
+ export declare const lendingPoolsPrefix = "aave-lendingPools";
7
+ export declare function fetchLendingForAddress(address: string, networkId: NetworkIdType, configs: LendingConfig[], cache: Cache, proxyInfo?: ProxyInfo): Promise<PortfolioElement[]>;
8
+ export declare function getUserSummary(user: string, lendingData: LendingData, poolDataProvider: UiPoolDataProvider, incentiveDataProvider: UiIncentiveDataProvider, lendingPoolAddressProvider: string): Promise<import("@aave/math-utils").FormatUserSummaryAndIncentivesResponse<import("@aave/math-utils").FormatReserveUSDResponse & import("@aave/math-utils").ReserveData & {
9
+ priceInMarketReferenceCurrency: string;
10
+ } & Partial<import("@aave/math-utils/dist/esm/formatters/incentive/calculate-reserve-incentives").CalculateReserveIncentivesResponse>>>;
11
+ type UserReserveData = {
12
+ underlyingAsset: string;
13
+ underlyingBalance: string;
14
+ underlyingBalanceUSD: string;
15
+ stableBorrows: string;
16
+ stableBorrowsUSD: string;
17
+ variableBorrows: string;
18
+ variableBorrowsUSD: string;
19
+ reserve: ReserveYieldInfo;
20
+ stableBorrowAPR: string;
21
+ stableBorrowAPY: string;
22
+ };
23
+ type UserSummary = {
24
+ userReservesData: UserReserveData[];
25
+ calculatedUserIncentives: UserIncentiveDict;
26
+ };
27
+ type ReserveYieldInfo = {
28
+ supplyAPY: string;
29
+ supplyAPR: string;
30
+ variableBorrowAPR: string;
31
+ variableBorrowAPY: string;
32
+ priceInUSD: string;
33
+ symbol: string;
34
+ };
35
+ export declare function getSupplyYields(reserve: ReserveYieldInfo): Yield[];
36
+ export declare function getVariableBorrowYields(reserve: ReserveYieldInfo): Yield[];
37
+ export declare function getStableBorrowedAsset(networkId: NetworkIdType, userReserveData: UserReserveData): {
38
+ stableBorrowedAsset: PortfolioAssetToken;
39
+ yields: {
40
+ apr: number;
41
+ apy: number;
42
+ }[];
43
+ };
44
+ export declare function getVarriableBorrowedAsset(networkId: NetworkIdType, userReserveData: UserReserveData): {
45
+ variableBorrowedAsset: PortfolioAssetToken;
46
+ yields: Yield[];
47
+ };
48
+ export declare function getSuppliedAsset(networkId: NetworkIdType, userReserveData: UserReserveData): {
49
+ suppliedAsset: PortfolioAssetToken;
50
+ yields: Yield[];
51
+ };
52
+ export declare function getElementLendingData(networkId: NetworkIdType, userSummary: UserSummary): PortfolioElementBorrowLendData;
53
+ export declare function getTokenAddressesFromLendingData(lendingData: LendingData): string[];
54
+ export declare function getTokenAddressesFromLendingDatas(lendingDatas: LendingData[]): Map<NetworkIdType, string[]>;
55
+ export {};
@@ -0,0 +1,263 @@
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.getTokenAddressesFromLendingDatas = exports.getTokenAddressesFromLendingData = exports.getElementLendingData = exports.getSuppliedAsset = exports.getVarriableBorrowedAsset = exports.getStableBorrowedAsset = exports.getVariableBorrowYields = exports.getSupplyYields = exports.getUserSummary = exports.fetchLendingForAddress = exports.lendingPoolsPrefix = void 0;
13
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
14
+ const contract_helpers_1 = require("@aave/contract-helpers");
15
+ const providers_1 = require("@ethersproject/providers");
16
+ const math_utils_1 = require("@aave/math-utils");
17
+ const constants_1 = require("../../utils/clients/constants");
18
+ const constants_2 = require("./constants");
19
+ exports.lendingPoolsPrefix = 'aave-lendingPools';
20
+ function fetchLendingForAddress(address, networkId, configs, cache, proxyInfo) {
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const elements = [];
23
+ for (let i = 0; i < configs.length; i++) {
24
+ const config = configs[i];
25
+ if (!config)
26
+ continue;
27
+ const { lendingPoolAddressProvider, uiPoolDataProviderAddress, uiIncentiveDataProviderAddress, } = config;
28
+ const lendingData = yield cache.getItem(lendingPoolAddressProvider, {
29
+ prefix: exports.lendingPoolsPrefix,
30
+ networkId,
31
+ });
32
+ if (!lendingData)
33
+ continue;
34
+ const provider = new providers_1.StaticJsonRpcProvider({
35
+ url: (0, constants_1.getUrlEndpoint)(networkId),
36
+ }, portfolio_core_1.networks[networkId].chainId);
37
+ const poolDataProvider = new contract_helpers_1.UiPoolDataProvider({
38
+ uiPoolDataProviderAddress,
39
+ provider,
40
+ chainId: portfolio_core_1.networks[networkId].chainId,
41
+ });
42
+ const incentiveDataProvider = new contract_helpers_1.UiIncentiveDataProvider({
43
+ uiIncentiveDataProviderAddress,
44
+ provider,
45
+ chainId: portfolio_core_1.networks[networkId].chainId,
46
+ });
47
+ const userSummary = yield getUserSummary(address, lendingData, poolDataProvider, incentiveDataProvider, lendingPoolAddressProvider);
48
+ const elementData = getElementLendingData(networkId, userSummary);
49
+ if (elementData.value === 0) {
50
+ continue;
51
+ }
52
+ const element = {
53
+ type: portfolio_core_1.PortfolioElementType.borrowlend,
54
+ networkId,
55
+ platformId: constants_2.platformId,
56
+ label: 'Lending',
57
+ value: elementData.value,
58
+ data: elementData,
59
+ name: config.elementName,
60
+ proxyInfo,
61
+ };
62
+ elements.push(element);
63
+ }
64
+ return elements;
65
+ });
66
+ }
67
+ exports.fetchLendingForAddress = fetchLendingForAddress;
68
+ function getUserSummary(user, lendingData, poolDataProvider, incentiveDataProvider, lendingPoolAddressProvider) {
69
+ return __awaiter(this, void 0, void 0, function* () {
70
+ const userReserves = yield poolDataProvider.getUserReservesHumanized({
71
+ lendingPoolAddressProvider,
72
+ user,
73
+ });
74
+ const userIncentives = yield incentiveDataProvider.getUserReservesIncentivesDataHumanized({
75
+ lendingPoolAddressProvider,
76
+ user,
77
+ });
78
+ const userReservesArray = userReserves.userReserves;
79
+ const userSummary = (0, math_utils_1.formatUserSummaryAndIncentives)({
80
+ currentTimestamp: lendingData.currentTimestamp,
81
+ marketReferencePriceInUsd: lendingData.marketReferencePriceInUsd,
82
+ marketReferenceCurrencyDecimals: lendingData.marketReferenceCurrencyDecimals,
83
+ userReserves: userReservesArray,
84
+ formattedReserves: lendingData.formattedReserves,
85
+ userEmodeCategoryId: userReserves.userEmodeCategoryId,
86
+ reserveIncentives: lendingData.reserveIncentives,
87
+ userIncentives,
88
+ });
89
+ return userSummary;
90
+ });
91
+ }
92
+ exports.getUserSummary = getUserSummary;
93
+ function getSupplyYields(reserve) {
94
+ let yields = [];
95
+ if (reserve.supplyAPR !== '0') {
96
+ yields = [
97
+ {
98
+ apr: +reserve.supplyAPR,
99
+ apy: +reserve.supplyAPY,
100
+ },
101
+ ];
102
+ }
103
+ return yields;
104
+ }
105
+ exports.getSupplyYields = getSupplyYields;
106
+ function getVariableBorrowYields(reserve) {
107
+ let yields = [];
108
+ if (reserve.supplyAPR !== '0') {
109
+ yields = [
110
+ {
111
+ apr: -+reserve.variableBorrowAPR,
112
+ apy: -+reserve.variableBorrowAPY,
113
+ },
114
+ ];
115
+ }
116
+ return yields;
117
+ }
118
+ exports.getVariableBorrowYields = getVariableBorrowYields;
119
+ function getStableBorrowedAsset(networkId, userReserveData) {
120
+ const stableBorrowedAsset = {
121
+ networkId,
122
+ type: portfolio_core_1.PortfolioAssetType.token,
123
+ value: +(+userReserveData.stableBorrowsUSD).toFixed(2),
124
+ data: {
125
+ address: userReserveData.underlyingAsset,
126
+ amount: +userReserveData.stableBorrows,
127
+ price: +userReserveData.reserve.priceInUSD,
128
+ },
129
+ };
130
+ const yields = [
131
+ {
132
+ apr: -+userReserveData.stableBorrowAPR,
133
+ apy: -+userReserveData.stableBorrowAPY,
134
+ },
135
+ ];
136
+ return { stableBorrowedAsset, yields };
137
+ }
138
+ exports.getStableBorrowedAsset = getStableBorrowedAsset;
139
+ function getVarriableBorrowedAsset(networkId, userReserveData) {
140
+ const variableBorrowedAsset = {
141
+ networkId,
142
+ type: portfolio_core_1.PortfolioAssetType.token,
143
+ value: +(+userReserveData.variableBorrowsUSD).toFixed(2),
144
+ data: {
145
+ address: userReserveData.underlyingAsset,
146
+ amount: +userReserveData.variableBorrows,
147
+ price: +userReserveData.reserve.priceInUSD,
148
+ },
149
+ };
150
+ const yields = getVariableBorrowYields(userReserveData.reserve);
151
+ return { variableBorrowedAsset, yields };
152
+ }
153
+ exports.getVarriableBorrowedAsset = getVarriableBorrowedAsset;
154
+ function getSuppliedAsset(networkId, userReserveData) {
155
+ const suppliedAsset = {
156
+ networkId,
157
+ type: portfolio_core_1.PortfolioAssetType.token,
158
+ value: +(+userReserveData.underlyingBalanceUSD).toFixed(2),
159
+ data: {
160
+ address: userReserveData.underlyingAsset,
161
+ amount: +userReserveData.underlyingBalance,
162
+ price: +userReserveData.reserve.priceInUSD,
163
+ },
164
+ };
165
+ const yields = getSupplyYields(userReserveData.reserve);
166
+ return { suppliedAsset, yields };
167
+ }
168
+ exports.getSuppliedAsset = getSuppliedAsset;
169
+ function getRewardAssets(networkId, calculatedUserIncentives) {
170
+ const rewardAssets = [];
171
+ for (const rewardAddress in calculatedUserIncentives) {
172
+ if (Object.prototype.hasOwnProperty.call(calculatedUserIncentives, rewardAddress)) {
173
+ const userIncentiveData = calculatedUserIncentives[rewardAddress];
174
+ if (userIncentiveData.claimableRewards.isZero())
175
+ continue;
176
+ const amount = userIncentiveData.claimableRewards
177
+ .div(Math.pow(10, userIncentiveData.rewardTokenDecimals))
178
+ .toNumber();
179
+ const price = +userIncentiveData.rewardPriceFeed || null;
180
+ const value = price ? amount * price : null;
181
+ const rewardAsset = {
182
+ type: portfolio_core_1.PortfolioAssetType.token,
183
+ networkId,
184
+ value,
185
+ data: { address: rewardAddress, amount, price },
186
+ };
187
+ rewardAssets.push(rewardAsset);
188
+ }
189
+ }
190
+ return rewardAssets;
191
+ }
192
+ function getElementLendingData(networkId, userSummary) {
193
+ const { calculatedUserIncentives, userReservesData } = userSummary;
194
+ const suppliedAssets = [];
195
+ const suppliedYields = [];
196
+ const borrowedAssets = [];
197
+ const borrowedYields = [];
198
+ for (let i = 0; i < userReservesData.length; i++) {
199
+ const userReserveData = userReservesData[i];
200
+ // Stable borrows
201
+ if (userReserveData.stableBorrows !== '0') {
202
+ const { stableBorrowedAsset, yields } = getStableBorrowedAsset(networkId, userReserveData);
203
+ borrowedYields.push(yields);
204
+ borrowedAssets.push(stableBorrowedAsset);
205
+ }
206
+ // Variable borrows
207
+ if (userReserveData.variableBorrows !== '0') {
208
+ const { variableBorrowedAsset, yields } = getVarriableBorrowedAsset(networkId, userReserveData);
209
+ borrowedYields.push(yields);
210
+ borrowedAssets.push(variableBorrowedAsset);
211
+ }
212
+ // Deposits
213
+ if (userReserveData.underlyingBalance !== '0') {
214
+ const { suppliedAsset, yields } = getSuppliedAsset(networkId, userReserveData);
215
+ suppliedYields.push(yields);
216
+ suppliedAssets.push(suppliedAsset);
217
+ }
218
+ }
219
+ const rewardAssets = getRewardAssets(networkId, calculatedUserIncentives);
220
+ const { borrowedValue, suppliedValue, collateralRatio, value } = (0, portfolio_core_1.getElementLendingValues)(suppliedAssets, borrowedAssets, rewardAssets);
221
+ const elementData = {
222
+ rewardAssets,
223
+ borrowedAssets,
224
+ borrowedValue,
225
+ borrowedYields,
226
+ collateralRatio,
227
+ suppliedAssets,
228
+ suppliedValue,
229
+ suppliedYields,
230
+ value,
231
+ };
232
+ return elementData;
233
+ }
234
+ exports.getElementLendingData = getElementLendingData;
235
+ function getTokenAddressesFromRewards(rewards, networkId) {
236
+ return rewards.map((r) => (0, portfolio_core_1.formatTokenAddress)(r.rewardTokenAddress, networkId));
237
+ }
238
+ function getTokenAddressesFromLendingData(lendingData) {
239
+ const { networkId, reserveIncentives } = lendingData;
240
+ const rewards = reserveIncentives
241
+ .map((reserveIncentive) => [
242
+ ...reserveIncentive.aIncentiveData.rewardsTokenInformation,
243
+ ...reserveIncentive.sIncentiveData.rewardsTokenInformation,
244
+ ...reserveIncentive.vIncentiveData.rewardsTokenInformation,
245
+ ])
246
+ .flat();
247
+ return getTokenAddressesFromRewards(rewards, networkId);
248
+ }
249
+ exports.getTokenAddressesFromLendingData = getTokenAddressesFromLendingData;
250
+ function getTokenAddressesFromLendingDatas(lendingDatas) {
251
+ const tokenAddresses = {};
252
+ lendingDatas.forEach((lendingData) => {
253
+ var _a;
254
+ const { networkId } = lendingData;
255
+ const cTokenAddresses = getTokenAddressesFromLendingData(lendingData);
256
+ if (!tokenAddresses[networkId])
257
+ tokenAddresses[networkId] = [];
258
+ (_a = tokenAddresses[networkId]) === null || _a === void 0 ? void 0 : _a.push(...cTokenAddresses);
259
+ });
260
+ return new Map(Object.entries(tokenAddresses));
261
+ }
262
+ exports.getTokenAddressesFromLendingDatas = getTokenAddressesFromLendingDatas;
263
+ //# sourceMappingURL=helpers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/helpers.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Job } from '../../Job';
2
+ import { Fetcher } from '../../Fetcher';
3
+ export declare const jobs: Job[];
4
+ export declare const fetchers: Fetcher[];
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.fetchers = exports.jobs = void 0;
7
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
8
+ const dsa_connect_1 = __importDefault(require("dsa-connect"));
9
+ const web3_v1_1 = __importDefault(require("web3-v1"));
10
+ const contract_helpers_1 = require("@aave/contract-helpers");
11
+ const lendingPoolsJob_1 = __importDefault(require("./lendingPoolsJob"));
12
+ const lendingFetcherExecutorGenerator_1 = __importDefault(require("./lendingFetcherExecutorGenerator"));
13
+ const constants_1 = require("../../utils/clients/constants");
14
+ const constants_2 = require("./constants");
15
+ exports.jobs = [lendingPoolsJob_1.default];
16
+ exports.fetchers = [
17
+ {
18
+ id: `${constants_2.platformId}-${portfolio_core_1.NetworkId.ethereum}-lending`,
19
+ networkId: portfolio_core_1.NetworkId.ethereum,
20
+ executor: (0, lendingFetcherExecutorGenerator_1.default)(portfolio_core_1.NetworkId.ethereum, new dsa_connect_1.default({
21
+ web3: new web3_v1_1.default(new web3_v1_1.default.providers.HttpProvider((0, constants_1.getUrlEndpoint)(portfolio_core_1.NetworkId.ethereum))),
22
+ }, contract_helpers_1.ChainId.mainnet)),
23
+ },
24
+ {
25
+ id: `${constants_2.platformId}-${portfolio_core_1.NetworkId.polygon}-lending`,
26
+ networkId: portfolio_core_1.NetworkId.polygon,
27
+ executor: (0, lendingFetcherExecutorGenerator_1.default)(portfolio_core_1.NetworkId.polygon, new dsa_connect_1.default({
28
+ web3: new web3_v1_1.default(new web3_v1_1.default.providers.HttpProvider((0, constants_1.getUrlEndpoint)(portfolio_core_1.NetworkId.polygon))),
29
+ }, contract_helpers_1.ChainId.polygon)),
30
+ },
31
+ {
32
+ id: `${constants_2.platformId}-${portfolio_core_1.NetworkId.avalanche}-lending`,
33
+ networkId: portfolio_core_1.NetworkId.avalanche,
34
+ executor: (0, lendingFetcherExecutorGenerator_1.default)(portfolio_core_1.NetworkId.avalanche, new dsa_connect_1.default({
35
+ web3: new web3_v1_1.default(new web3_v1_1.default.providers.HttpProvider((0, constants_1.getUrlEndpoint)(portfolio_core_1.NetworkId.avalanche))),
36
+ }, contract_helpers_1.ChainId.avalanche)),
37
+ },
38
+ ];
39
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/index.ts"],"names":[],"mappings":";;;;;;AAAA,+DAAuD;AACvD,8DAA8B;AAC9B,sDAA2B;AAC3B,6DAAiD;AAGjD,wEAAgD;AAChD,wGAA0E;AAC1E,6DAA+D;AAC/D,2CAAyC;AAE5B,QAAA,IAAI,GAAU,CAAC,yBAAe,CAAC,CAAC;AAChC,QAAA,QAAQ,GAAc;IACjC;QACE,EAAE,EAAE,GAAG,sBAAU,IAAI,0BAAS,CAAC,QAAQ,UAAU;QACjD,SAAS,EAAE,0BAAS,CAAC,QAAQ;QAC7B,QAAQ,EAAE,IAAA,yCAAyB,EACjC,0BAAS,CAAC,QAAQ,EAClB,IAAI,qBAAG,CACL;YACE,IAAI,EAAE,IAAI,iBAAI,CACZ,IAAI,iBAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,0BAAc,EAAC,0BAAS,CAAC,QAAQ,CAAC,CAAC,CACpE;SACF,EACD,0BAAO,CAAC,OAAO,CAChB,CACF;KACF;IACD;QACE,EAAE,EAAE,GAAG,sBAAU,IAAI,0BAAS,CAAC,OAAO,UAAU;QAChD,SAAS,EAAE,0BAAS,CAAC,OAAO;QAC5B,QAAQ,EAAE,IAAA,yCAAyB,EACjC,0BAAS,CAAC,OAAO,EACjB,IAAI,qBAAG,CACL;YACE,IAAI,EAAE,IAAI,iBAAI,CACZ,IAAI,iBAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,0BAAc,EAAC,0BAAS,CAAC,OAAO,CAAC,CAAC,CACnE;SACF,EACD,0BAAO,CAAC,OAAO,CAChB,CACF;KACF;IACD;QACE,EAAE,EAAE,GAAG,sBAAU,IAAI,0BAAS,CAAC,SAAS,UAAU;QAClD,SAAS,EAAE,0BAAS,CAAC,SAAS;QAC9B,QAAQ,EAAE,IAAA,yCAAyB,EACjC,0BAAS,CAAC,SAAS,EACnB,IAAI,qBAAG,CACL;YACE,IAAI,EAAE,IAAI,iBAAI,CACZ,IAAI,iBAAI,CAAC,SAAS,CAAC,YAAY,CAAC,IAAA,0BAAc,EAAC,0BAAS,CAAC,SAAS,CAAC,CAAC,CACrE;SACF,EACD,0BAAO,CAAC,SAAS,CAClB,CACF;KACF;CACF,CAAC"}
@@ -0,0 +1,4 @@
1
+ import { EvmNetworkIdType } from '@sonarwatch/portfolio-core';
2
+ import DSA from 'dsa-connect';
3
+ import { FetcherExecutor } from '../../Fetcher';
4
+ export default function getLendingFetcherExecutor(networkId: EvmNetworkIdType, instadappDSA?: DSA): FetcherExecutor;
@@ -0,0 +1,36 @@
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
+ const helpers_1 = require("./helpers");
13
+ const constants_1 = require("./constants");
14
+ function getLendingFetcherExecutor(networkId, instadappDSA) {
15
+ return (owner, cache) => __awaiter(this, void 0, void 0, function* () {
16
+ const addresses = [owner];
17
+ if (instadappDSA) {
18
+ const accounts = yield instadappDSA.getAccounts(owner);
19
+ const accountsAddresses = accounts.map((acc) => acc.address);
20
+ addresses.push(...accountsAddresses);
21
+ }
22
+ const configs = constants_1.lendingConfigs.get(networkId);
23
+ if (!configs)
24
+ return [];
25
+ const promises = addresses.map((address, i) => {
26
+ let proxyInfo;
27
+ if (i > 0)
28
+ proxyInfo = { address, id: 'instadapp' };
29
+ return (0, helpers_1.fetchLendingForAddress)(address, networkId, configs, cache, proxyInfo);
30
+ });
31
+ const elements = (yield Promise.all(promises)).flat(1);
32
+ return elements;
33
+ });
34
+ }
35
+ exports.default = getLendingFetcherExecutor;
36
+ //# sourceMappingURL=lendingFetcherExecutorGenerator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingFetcherExecutorGenerator.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/lendingFetcherExecutorGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;AAGA,uCAAmD;AAEnD,2CAA6C;AAE7C,SAAwB,yBAAyB,CAC/C,SAA2B,EAC3B,YAAkB;IAElB,OAAO,CAAO,KAAa,EAAE,KAAY,EAAE,EAAE;QAC3C,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,CAAC;QAE1B,IAAI,YAAY,EAAE;YAChB,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;YACvD,MAAM,iBAAiB,GAAG,QAAQ,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;YAC7D,SAAS,CAAC,IAAI,CAAC,GAAG,iBAAiB,CAAC,CAAC;SACtC;QAED,MAAM,OAAO,GAAG,0BAAc,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC9C,IAAI,CAAC,OAAO;YAAE,OAAO,EAAE,CAAC;QAExB,MAAM,QAAQ,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YAC5C,IAAI,SAAgC,CAAC;YACrC,IAAI,CAAC,GAAG,CAAC;gBAAE,SAAS,GAAG,EAAE,OAAO,EAAE,EAAE,EAAE,WAAW,EAAE,CAAC;YACpD,OAAO,IAAA,gCAAsB,EAC3B,OAAO,EACP,SAAS,EACT,OAAO,EACP,KAAK,EACL,SAAS,CACV,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,MAAM,QAAQ,GAAG,CAAC,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACvD,OAAO,QAAQ,CAAC;IAClB,CAAC,CAAA,CAAC;AACJ,CAAC;AA9BD,4CA8BC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,84 @@
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
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
13
+ const providers_1 = require("@ethersproject/providers");
14
+ const contract_helpers_1 = require("@aave/contract-helpers");
15
+ const math_utils_1 = require("@aave/math-utils");
16
+ const constants_1 = require("./constants");
17
+ const constants_2 = require("../../utils/clients/constants");
18
+ const helpers_1 = require("./helpers");
19
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
20
+ const lendingConfigsArray = Array.from(constants_1.lendingConfigs.values()).flat();
21
+ for (let i = 0; i < lendingConfigsArray.length; i++) {
22
+ const lendingConfig = lendingConfigsArray[i];
23
+ if (!lendingConfig)
24
+ continue;
25
+ const { uiPoolDataProviderAddress, uiIncentiveDataProviderAddress, lendingPoolAddressProvider, chainId, networkId, } = lendingConfig;
26
+ const provider = new providers_1.StaticJsonRpcProvider({
27
+ url: (0, constants_2.getUrlEndpoint)(lendingConfig.networkId),
28
+ }, portfolio_core_1.networks[lendingConfig.networkId].chainId);
29
+ if (!provider)
30
+ continue;
31
+ const poolDataProvider = new contract_helpers_1.UiPoolDataProvider({
32
+ uiPoolDataProviderAddress,
33
+ provider,
34
+ chainId: lendingConfig.chainId,
35
+ });
36
+ const incentiveDataProvider = new contract_helpers_1.UiIncentiveDataProvider({
37
+ uiIncentiveDataProviderAddress,
38
+ provider,
39
+ chainId: lendingConfig.chainId,
40
+ });
41
+ if (!poolDataProvider || !incentiveDataProvider)
42
+ continue;
43
+ // If it fails, this is probably because of a contract upgrade.
44
+ // Make sure contracts in /constants.ts are up-to-date.
45
+ const reserves = yield poolDataProvider.getReservesHumanized({
46
+ lendingPoolAddressProvider,
47
+ });
48
+ const reservesArray = reserves.reservesData;
49
+ const { baseCurrencyData } = reserves;
50
+ const { marketReferenceCurrencyDecimals } = baseCurrencyData;
51
+ const marketReferencePriceInUsd = baseCurrencyData.marketReferenceCurrencyPriceInUsd;
52
+ const currentTimestamp = Math.round(Date.now() / 1000);
53
+ const reserveIncentives = yield incentiveDataProvider.getReservesIncentivesDataHumanized({
54
+ lendingPoolAddressProvider,
55
+ });
56
+ const formattedReserves = (0, math_utils_1.formatReservesAndIncentives)({
57
+ reserves: reservesArray,
58
+ currentTimestamp,
59
+ marketReferenceCurrencyDecimals,
60
+ marketReferencePriceInUsd,
61
+ reserveIncentives,
62
+ });
63
+ const lendingData = {
64
+ lendingPoolAddressProvider,
65
+ chainId,
66
+ networkId,
67
+ currentTimestamp,
68
+ reserveIncentives,
69
+ formattedReserves,
70
+ marketReferencePriceInUsd,
71
+ marketReferenceCurrencyDecimals,
72
+ };
73
+ yield cache.setItem(lendingPoolAddressProvider, lendingData, {
74
+ prefix: helpers_1.lendingPoolsPrefix,
75
+ networkId,
76
+ });
77
+ }
78
+ });
79
+ const job = {
80
+ id: `${constants_1.platformId}-lending-pools`,
81
+ executor,
82
+ };
83
+ exports.default = job;
84
+ //# sourceMappingURL=lendingPoolsJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lendingPoolsJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/lendingPoolsJob.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,+DAAsD;AACtD,wDAAiE;AACjE,6DAGgC;AAChC,iDAA+D;AAG/D,2CAAyD;AAEzD,6DAA+D;AAC/D,uCAA+C;AAE/C,MAAM,QAAQ,GAAgB,CAAO,KAAY,EAAE,EAAE;IACnD,MAAM,mBAAmB,GAAG,KAAK,CAAC,IAAI,CAAC,0BAAc,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IAEvE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,mBAAmB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACnD,MAAM,aAAa,GAAG,mBAAmB,CAAC,CAAC,CAAC,CAAC;QAC7C,IAAI,CAAC,aAAa;YAAE,SAAS;QAC7B,MAAM,EACJ,yBAAyB,EACzB,8BAA8B,EAC9B,0BAA0B,EAC1B,OAAO,EACP,SAAS,GACV,GAAG,aAAa,CAAC;QAElB,MAAM,QAAQ,GAAG,IAAI,iCAAqB,CACxC;YACE,GAAG,EAAE,IAAA,0BAAc,EAAC,aAAa,CAAC,SAAS,CAAC;SAC7C,EACD,yBAAQ,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC,OAAO,CAC1C,CAAC;QACF,IAAI,CAAC,QAAQ;YAAE,SAAS;QAExB,MAAM,gBAAgB,GAAG,IAAI,qCAAkB,CAAC;YAC9C,yBAAyB;YACzB,QAAQ;YACR,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,MAAM,qBAAqB,GAAG,IAAI,0CAAuB,CAAC;YACxD,8BAA8B;YAC9B,QAAQ;YACR,OAAO,EAAE,aAAa,CAAC,OAAO;SAC/B,CAAC,CAAC;QAEH,IAAI,CAAC,gBAAgB,IAAI,CAAC,qBAAqB;YAAE,SAAS;QAE1D,+DAA+D;QAC/D,uDAAuD;QACvD,MAAM,QAAQ,GAAG,MAAM,gBAAgB,CAAC,oBAAoB,CAAC;YAC3D,0BAA0B;SAC3B,CAAC,CAAC;QAEH,MAAM,aAAa,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC5C,MAAM,EAAE,gBAAgB,EAAE,GAAG,QAAQ,CAAC;QACtC,MAAM,EAAE,+BAA+B,EAAE,GAAG,gBAAgB,CAAC;QAC7D,MAAM,yBAAyB,GAC7B,gBAAgB,CAAC,iCAAiC,CAAC;QACrD,MAAM,gBAAgB,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC;QACvD,MAAM,iBAAiB,GACrB,MAAM,qBAAqB,CAAC,kCAAkC,CAAC;YAC7D,0BAA0B;SAC3B,CAAC,CAAC;QACL,MAAM,iBAAiB,GAAG,IAAA,wCAA2B,EAAC;YACpD,QAAQ,EAAE,aAAa;YACvB,gBAAgB;YAChB,+BAA+B;YAC/B,yBAAyB;YACzB,iBAAiB;SAClB,CAAC,CAAC;QAEH,MAAM,WAAW,GAAgB;YAC/B,0BAA0B;YAC1B,OAAO;YACP,SAAS;YACT,gBAAgB;YAChB,iBAAiB;YACjB,iBAAiB;YACjB,yBAAyB;YACzB,+BAA+B;SAChC,CAAC;QACF,MAAM,KAAK,CAAC,OAAO,CAAC,0BAA0B,EAAE,WAAW,EAAE;YAC3D,MAAM,EAAE,4BAAkB;YAC1B,SAAS;SACV,CAAC,CAAC;KACJ;AACH,CAAC,CAAA,CAAC;AAEF,MAAM,GAAG,GAAQ;IACf,EAAE,EAAE,GAAG,sBAAU,gBAAgB;IACjC,QAAQ;CACT,CAAC;AACF,kBAAe,GAAG,CAAC"}
@@ -0,0 +1,23 @@
1
+ import { ReservesIncentiveDataHumanized } from '@aave/contract-helpers';
2
+ import { formatReservesAndIncentives } from '@aave/math-utils';
3
+ import { NetworkIdType } from '@sonarwatch/portfolio-core';
4
+ type FormattedReserves = ReturnType<typeof formatReservesAndIncentives>;
5
+ export type LendingConfig = {
6
+ chainId: number;
7
+ networkId: NetworkIdType;
8
+ elementName: string;
9
+ lendingPoolAddressProvider: string;
10
+ uiIncentiveDataProviderAddress: string;
11
+ uiPoolDataProviderAddress: string;
12
+ };
13
+ export type LendingData = {
14
+ lendingPoolAddressProvider: string;
15
+ chainId: number;
16
+ networkId: NetworkIdType;
17
+ currentTimestamp: number;
18
+ marketReferencePriceInUsd: string;
19
+ marketReferenceCurrencyDecimals: number;
20
+ formattedReserves: FormattedReserves;
21
+ reserveIncentives: ReservesIncentiveDataHumanized[];
22
+ };
23
+ export {};
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/aave/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export declare const platformId = "saber";
2
+ export declare const SABER_SWAPS = "https://raw.githubusercontent.com/saber-hq/saber-registry-dist/master/data/swaps.mainnet.json";
@@ -0,0 +1,6 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SABER_SWAPS = exports.platformId = void 0;
4
+ exports.platformId = 'saber';
5
+ exports.SABER_SWAPS = 'https://raw.githubusercontent.com/saber-hq/saber-registry-dist/master/data/swaps.mainnet.json';
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/saber/constants.ts"],"names":[],"mappings":";;;AAAa,QAAA,UAAU,GAAG,OAAO,CAAC;AAErB,QAAA,WAAW,GACtB,+FAA+F,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { Job } from '../../Job';
2
+ export declare const jobs: Job[];
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.jobs = void 0;
7
+ const lpTokensJob_1 = __importDefault(require("./lpTokensJob"));
8
+ exports.jobs = [lpTokensJob_1.default];
9
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/saber/index.ts"],"names":[],"mappings":";;;;;;AACA,gEAAwC;AAE3B,QAAA,IAAI,GAAU,CAAC,qBAAW,CAAC,CAAC"}
@@ -0,0 +1,3 @@
1
+ import { Job } from '../../Job';
2
+ declare const job: Job;
3
+ export default job;
@@ -0,0 +1,119 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
14
+ Object.defineProperty(exports, "__esModule", { value: true });
15
+ const web3_js_1 = require("@solana/web3.js");
16
+ const axios_1 = __importDefault(require("axios"));
17
+ const portfolio_core_1 = require("@sonarwatch/portfolio-core");
18
+ const clients_1 = require("../../utils/clients");
19
+ const constants_1 = require("./constants");
20
+ const getMultipleAccountsInfoSafe_1 = require("../../utils/solana/getMultipleAccountsInfoSafe");
21
+ const solana_1 = require("../../utils/solana");
22
+ const executor = (cache) => __awaiter(void 0, void 0, void 0, function* () {
23
+ const client = (0, clients_1.getClientSolana)();
24
+ const swapsResponse = yield axios_1.default
25
+ .get(constants_1.SABER_SWAPS)
26
+ .catch(() => null);
27
+ if (!swapsResponse)
28
+ return;
29
+ const swaps = swapsResponse.data;
30
+ const accounts = [];
31
+ for (let i = 0; i < swaps.length; i++) {
32
+ const reserveA = swaps[i].addresses.reserves[0];
33
+ const reserveB = swaps[i].addresses.reserves[1];
34
+ const lpMint = swaps[i].addresses.lpTokenMint;
35
+ accounts.push(new web3_js_1.PublicKey(reserveA));
36
+ accounts.push(new web3_js_1.PublicKey(reserveB));
37
+ accounts.push(new web3_js_1.PublicKey(lpMint));
38
+ }
39
+ const accountInfos = yield (0, getMultipleAccountsInfoSafe_1.getMultipleAccountsInfoSafe)(client, accounts);
40
+ const mints = new Set();
41
+ for (let i = 0; i < swaps.length; i++) {
42
+ const reserveAInfo = accountInfos[i * 3];
43
+ const reserveBInfo = accountInfos[i * 3 + 1];
44
+ const lpMintInfo = accountInfos[i * 3 + 2];
45
+ if (!reserveAInfo || !reserveBInfo || !lpMintInfo)
46
+ continue;
47
+ const reserveA = solana_1.tokenAccountStruct.deserialize(reserveAInfo.data)[0];
48
+ const reserveB = solana_1.tokenAccountStruct.deserialize(reserveBInfo.data)[0];
49
+ mints.add(reserveA.mint.toString());
50
+ mints.add(reserveB.mint.toString());
51
+ }
52
+ const tokenPricesAsArray = yield cache.getTokenPrices(Array.from(mints), portfolio_core_1.NetworkId.solana);
53
+ const tokenPrices = new Map();
54
+ tokenPricesAsArray.forEach((tokenPrice) => {
55
+ if (!tokenPrice)
56
+ return;
57
+ tokenPrices.set(tokenPrice.address, tokenPrice);
58
+ });
59
+ for (let i = 0; i < swaps.length; i++) {
60
+ const swap = swaps[i];
61
+ const reserveAInfo = accountInfos[i * 3];
62
+ const reserveBInfo = accountInfos[i * 3 + 1];
63
+ const lpMintInfo = accountInfos[i * 3 + 2];
64
+ if (!reserveAInfo || !reserveBInfo || !lpMintInfo)
65
+ continue;
66
+ const reserveA = solana_1.tokenAccountStruct.deserialize(reserveAInfo.data)[0];
67
+ const reserveB = solana_1.tokenAccountStruct.deserialize(reserveBInfo.data)[0];
68
+ const lpMint = solana_1.mintAccountStruct.deserialize(lpMintInfo.data)[0];
69
+ if (lpMint.supply.isZero())
70
+ continue;
71
+ const priceA = tokenPrices.get(reserveA.mint.toBase58());
72
+ const priceB = tokenPrices.get(reserveB.mint.toBase58());
73
+ if (!priceA || !priceB)
74
+ continue;
75
+ const coinValue = reserveA.amount
76
+ .multipliedBy(priceA.price)
77
+ .div(Math.pow(10, priceA.decimals));
78
+ const pcValue = reserveB.amount
79
+ .multipliedBy(priceB.price)
80
+ .div(Math.pow(10, priceB.decimals));
81
+ const lpTokenPrice = coinValue
82
+ .plus(pcValue)
83
+ .div(lpMint.supply)
84
+ .times(Math.pow(10, lpMint.decimals));
85
+ const underlyings = [
86
+ {
87
+ networkId: portfolio_core_1.NetworkId.solana,
88
+ address: priceA.address,
89
+ decimals: priceA.decimals,
90
+ price: priceA.price,
91
+ amountPerLp: reserveA.amount.div(lpMint.supply).toNumber(),
92
+ },
93
+ {
94
+ networkId: portfolio_core_1.NetworkId.solana,
95
+ address: priceB.address,
96
+ decimals: priceB.decimals,
97
+ price: priceB.price,
98
+ amountPerLp: reserveB.amount.div(lpMint.supply).toNumber(),
99
+ },
100
+ ];
101
+ yield cache.setTokenPriceSource({
102
+ id: constants_1.platformId,
103
+ weight: 1,
104
+ address: swap.addresses.lpTokenMint,
105
+ networkId: portfolio_core_1.NetworkId.solana,
106
+ platformId: constants_1.platformId,
107
+ decimals: lpMint.decimals,
108
+ price: lpTokenPrice.toNumber(),
109
+ underlyings,
110
+ timestamp: Date.now(),
111
+ });
112
+ }
113
+ });
114
+ const job = {
115
+ id: `${constants_1.platformId}-lp-tokens`,
116
+ executor,
117
+ };
118
+ exports.default = job;
119
+ //# sourceMappingURL=lpTokensJob.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lpTokensJob.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/saber/lpTokensJob.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface SaberSwap {
2
+ addresses: Addresses;
3
+ currency: Currency;
4
+ decimals: number;
5
+ displayTokens: string[];
6
+ id: string;
7
+ isVerified: boolean;
8
+ name: string;
9
+ sources: string[];
10
+ underlyingTokens: string[];
11
+ tags?: Tag[];
12
+ newPoolID?: string;
13
+ }
14
+ export interface Addresses {
15
+ admin: string;
16
+ lpTokenMint: string;
17
+ mergePool: string;
18
+ quarry: string;
19
+ reserves: string[];
20
+ swapAccount: string;
21
+ swapAuthority: string;
22
+ }
23
+ export declare enum Currency {
24
+ Btc = "BTC",
25
+ Eth = "ETH",
26
+ Eur = "EUR",
27
+ Ftt = "FTT",
28
+ Luna = "LUNA",
29
+ Sol = "SOL",
30
+ Srm = "SRM",
31
+ Try = "TRY",
32
+ Usd = "USD"
33
+ }
34
+ export declare enum Tag {
35
+ Allbridge = "allbridge",
36
+ Cashio = "cashio",
37
+ Port = "port",
38
+ Solend = "solend",
39
+ Synthetify = "synthetify",
40
+ WormholeV1 = "wormhole-v1",
41
+ WormholeV2 = "wormhole-v2"
42
+ }
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Tag = exports.Currency = void 0;
4
+ var Currency;
5
+ (function (Currency) {
6
+ Currency["Btc"] = "BTC";
7
+ Currency["Eth"] = "ETH";
8
+ Currency["Eur"] = "EUR";
9
+ Currency["Ftt"] = "FTT";
10
+ Currency["Luna"] = "LUNA";
11
+ Currency["Sol"] = "SOL";
12
+ Currency["Srm"] = "SRM";
13
+ Currency["Try"] = "TRY";
14
+ Currency["Usd"] = "USD";
15
+ })(Currency || (exports.Currency = Currency = {}));
16
+ var Tag;
17
+ (function (Tag) {
18
+ Tag["Allbridge"] = "allbridge";
19
+ Tag["Cashio"] = "cashio";
20
+ Tag["Port"] = "port";
21
+ Tag["Solend"] = "solend";
22
+ Tag["Synthetify"] = "synthetify";
23
+ Tag["WormholeV1"] = "wormhole-v1";
24
+ Tag["WormholeV2"] = "wormhole-v2";
25
+ })(Tag || (exports.Tag = Tag = {}));
26
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../../../packages/plugins/src/plugins/saber/types.ts"],"names":[],"mappings":";;;AAwBA,IAAY,QAUX;AAVD,WAAY,QAAQ;IAClB,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,yBAAa,CAAA;IACb,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;IACX,uBAAW,CAAA;AACb,CAAC,EAVW,QAAQ,wBAAR,QAAQ,QAUnB;AAED,IAAY,GAQX;AARD,WAAY,GAAG;IACb,8BAAuB,CAAA;IACvB,wBAAiB,CAAA;IACjB,oBAAa,CAAA;IACb,wBAAiB,CAAA;IACjB,gCAAyB,CAAA;IACzB,iCAA0B,CAAA;IAC1B,iCAA0B,CAAA;AAC5B,CAAC,EARW,GAAG,mBAAH,GAAG,QAQd"}