@aurigami/sdk 1.23.1 → 1.24.0

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 (101) hide show
  1. package/dist/SDK.d.ts +48 -65
  2. package/dist/SDK.js +165 -0
  3. package/dist/abis/index.d.ts +18 -18
  4. package/dist/abis/index.js +39 -0
  5. package/dist/consts/constants.d.ts +139 -139
  6. package/dist/consts/constants.js +185 -0
  7. package/dist/consts/decimals.d.ts +1 -1
  8. package/dist/consts/decimals.js +35 -0
  9. package/dist/consts/deployments.d.ts +3 -3
  10. package/dist/consts/deployments.js +9 -0
  11. package/dist/consts/dummy.d.ts +13 -13
  12. package/dist/consts/dummy.js +43 -0
  13. package/dist/consts/index.d.ts +5 -5
  14. package/dist/consts/index.js +9 -0
  15. package/dist/consts/symbols.d.ts +1 -1
  16. package/dist/consts/symbols.js +10 -0
  17. package/dist/entities/BlockchainEntity.d.ts +13 -13
  18. package/dist/entities/BlockchainEntity.js +36 -0
  19. package/dist/entities/auriEnv.d.ts +34 -40
  20. package/dist/entities/auriEnv.js +166 -0
  21. package/dist/entities/index.d.ts +4 -4
  22. package/dist/entities/index.js +8 -0
  23. package/dist/entities/token.d.ts +7 -7
  24. package/dist/entities/token.js +27 -0
  25. package/dist/entities/tokenAmount.d.ts +13 -13
  26. package/dist/entities/tokenAmount.js +52 -0
  27. package/dist/helpers/aurigami-api.d.ts +13 -13
  28. package/dist/helpers/aurigami-api.js +26 -0
  29. package/dist/helpers/aurora-api-helpers.d.ts +1 -1
  30. package/dist/helpers/aurora-api-helpers.js +15 -0
  31. package/dist/helpers/graphql-helpers.d.ts +1 -1
  32. package/dist/helpers/graphql-helpers.js +13 -0
  33. package/dist/helpers/helpers.d.ts +23 -40
  34. package/dist/helpers/helpers.js +148 -0
  35. package/dist/helpers/historicalPriceFetcher.d.ts +15 -15
  36. package/dist/helpers/historicalPriceFetcher.js +142 -0
  37. package/dist/helpers/index.d.ts +7 -7
  38. package/dist/helpers/index.js +11 -0
  39. package/dist/helpers/kyber-aggregator-api.d.ts +5 -5
  40. package/dist/helpers/kyber-aggregator-api.js +27 -0
  41. package/dist/helpers/multicall.d.ts +40 -0
  42. package/dist/helpers/multicall.js +203 -0
  43. package/dist/helpers/notification-api.d.ts +2 -2
  44. package/dist/helpers/notification-api.js +21 -0
  45. package/dist/helpers/one-inch-aggregator-api.d.ts +21 -21
  46. package/dist/helpers/one-inch-aggregator-api.js +19 -0
  47. package/dist/helpers/priceFetcher.d.ts +36 -36
  48. package/dist/helpers/priceFetcher.js +296 -0
  49. package/dist/helpers/subgraphQuery.d.ts +1 -1
  50. package/dist/helpers/subgraphQuery.js +22 -0
  51. package/dist/helpers/transfer-event-query.d.ts +17 -26
  52. package/dist/helpers/transfer-event-query.js +41 -0
  53. package/dist/index.d.ts +7 -7
  54. package/dist/index.js +17 -8
  55. package/dist/interactors/Airdrop.d.ts +17 -26
  56. package/dist/interactors/Airdrop.js +48 -0
  57. package/dist/interactors/MoneyMarket.d.ts +63 -63
  58. package/dist/interactors/MoneyMarket.js +392 -0
  59. package/dist/interactors/Multicall.d.ts +15 -18
  60. package/dist/interactors/Multicall.js +36 -0
  61. package/dist/interactors/Papermill.d.ts +27 -57
  62. package/dist/interactors/Papermill.js +125 -0
  63. package/dist/interactors/PlyGame.d.ts +30 -42
  64. package/dist/interactors/PlyGame.js +146 -0
  65. package/dist/interactors/PlyTokenLock.d.ts +16 -16
  66. package/dist/interactors/PlyTokenLock.js +44 -0
  67. package/dist/interactors/Pulp.d.ts +17 -17
  68. package/dist/interactors/Pulp.js +43 -0
  69. package/dist/interactors/Referral.d.ts +35 -78
  70. package/dist/interactors/Referral.js +158 -0
  71. package/dist/interactors/Staking.d.ts +20 -26
  72. package/dist/interactors/Staking.js +106 -0
  73. package/dist/interactors/index.d.ts +9 -9
  74. package/dist/interactors/index.js +13 -0
  75. package/dist/interactors/misc.d.ts +31 -39
  76. package/dist/interactors/misc.js +318 -0
  77. package/dist/types/index.d.ts +175 -197
  78. package/dist/types/index.js +18 -0
  79. package/package.json +3 -3
  80. package/src/SDK.ts +1 -1
  81. package/src/entities/auriEnv.ts +29 -27
  82. package/src/helpers/historicalPriceFetcher.ts +9 -12
  83. package/src/helpers/multicall.ts +251 -0
  84. package/src/helpers/priceFetcher.ts +19 -20
  85. package/src/interactors/Airdrop.ts +2 -2
  86. package/src/interactors/MoneyMarket.ts +31 -27
  87. package/src/interactors/Multicall.ts +3 -3
  88. package/src/interactors/Papermill.ts +9 -9
  89. package/src/interactors/PlyGame.ts +10 -10
  90. package/src/interactors/PlyTokenLock.ts +2 -3
  91. package/src/interactors/Pulp.ts +4 -2
  92. package/src/interactors/Referral.ts +6 -6
  93. package/src/interactors/Staking.ts +13 -9
  94. package/src/interactors/misc.ts +7 -5
  95. package/src/types/index.ts +32 -2
  96. package/dist/sdk.cjs.development.js +0 -6325
  97. package/dist/sdk.cjs.development.js.map +0 -1
  98. package/dist/sdk.cjs.production.min.js +0 -2
  99. package/dist/sdk.cjs.production.min.js.map +0 -1
  100. package/dist/sdk.esm.js +0 -6193
  101. package/dist/sdk.esm.js.map +0 -1
@@ -1,36 +1,36 @@
1
- import BigNumber from 'bignumber.js';
2
- import { BigNumber as BN, providers } from 'ethers';
3
- import { TokenAmount } from '../entities/tokenAmount';
4
- import { Address, TokenValuation } from '../types';
5
- export declare function prepareParamsAggregator(address: string, provider: providers.Provider): Promise<{
6
- tokenInQuantity: string;
7
- usdtAddress: string;
8
- usdtDecimal: number;
9
- }>;
10
- export declare function fetchPriceFromOneInch(address: string, provider: providers.Provider): Promise<BigNumber>;
11
- export declare function fetchPriceFromKyberSwap(address: string, provider: providers.Provider, onAurora?: boolean): Promise<BigNumber>;
12
- export declare function fetchPriceFromDefiLlamaAPI(id: string): Promise<BigNumber>;
13
- export declare function fetchPriceFromCoingeckoAPI(id: string): Promise<BigNumber>;
14
- export declare function fetchPriceFromDefiLlamaAndCoingecko(id: Address): Promise<BigNumber>;
15
- export declare function fetchPriceFromCoingecko(id: Address): Promise<BigNumber>;
16
- export declare function fetchLPPositions(LPAddress: Address, provider: providers.Provider): Promise<{
17
- token0: Address;
18
- token1: Address;
19
- reserve0: BN;
20
- reserve1: BN;
21
- totalSupply: BN;
22
- }>;
23
- export declare function fetchLPPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
24
- export declare function fetchStNEARPrice(): Promise<BigNumber>;
25
- export declare function fetchPriceFromOracle(auTokenAddress: Address, underlyingDecimal: number, provider: providers.Provider): Promise<BigNumber>;
26
- export declare function fetchUnderlyingTokensPrices(provider: providers.Provider): Promise<{
27
- auToken: string;
28
- underlyingPrice: BigNumber;
29
- }[]>;
30
- export declare function fetchPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
31
- export declare function fetchPLYPrice(provider: providers.Provider): Promise<BigNumber>;
32
- export declare function fetchPULPPrice(provider: providers.Provider): Promise<BigNumber>;
33
- export declare function fetchToken0PriceByLP(LP: Address, provider: providers.Provider): Promise<BigNumber>;
34
- export declare function fetchValuation(tokenAmount: TokenAmount, provider: providers.Provider): Promise<BigNumber>;
35
- export declare function calcValuation(tokenAmount: TokenAmount, price: BigNumber): BigNumber;
36
- export declare function valuateToken(tokenAmount: TokenAmount, provider: providers.Provider): Promise<TokenValuation>;
1
+ import BigNumber from 'bignumber.js';
2
+ import { BigNumber as BN, providers } from 'ethers';
3
+ import { TokenAmount } from '../entities/tokenAmount';
4
+ import { Address, TokenValuation } from '../types';
5
+ export declare function prepareParamsAggregator(address: string, provider: providers.Provider): Promise<{
6
+ tokenInQuantity: string;
7
+ usdtAddress: string;
8
+ usdtDecimal: number;
9
+ }>;
10
+ export declare function fetchPriceFromOneInch(address: string, provider: providers.Provider): Promise<BigNumber>;
11
+ export declare function fetchPriceFromKyberSwap(address: string, provider: providers.Provider, onAurora?: boolean): Promise<BigNumber>;
12
+ export declare function fetchPriceFromDefiLlamaAPI(id: string): Promise<BigNumber>;
13
+ export declare function fetchPriceFromCoingeckoAPI(id: string): Promise<BigNumber>;
14
+ export declare function fetchPriceFromDefiLlamaAndCoingecko(id: Address): Promise<BigNumber>;
15
+ export declare function fetchPriceFromCoingecko(id: Address): Promise<BigNumber>;
16
+ export declare function fetchLPPositions(LPAddress: Address, provider: providers.Provider): Promise<{
17
+ token0: Address;
18
+ token1: Address;
19
+ reserve0: BN;
20
+ reserve1: BN;
21
+ totalSupply: BN;
22
+ }>;
23
+ export declare function fetchLPPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
24
+ export declare function fetchStNEARPrice(): Promise<BigNumber>;
25
+ export declare function fetchPriceFromOracle(auTokenAddress: Address, underlyingDecimal: number, provider: providers.Provider): Promise<BigNumber>;
26
+ export declare function fetchUnderlyingTokensPrices(provider: providers.Provider): Promise<{
27
+ auToken: string;
28
+ underlyingPrice: BigNumber;
29
+ }[]>;
30
+ export declare function fetchPrice(address: Address, provider: providers.Provider): Promise<BigNumber>;
31
+ export declare function fetchPLYPrice(provider: providers.Provider): Promise<BigNumber>;
32
+ export declare function fetchPULPPrice(provider: providers.Provider): Promise<BigNumber>;
33
+ export declare function fetchToken0PriceByLP(LP: Address, provider: providers.Provider): Promise<BigNumber>;
34
+ export declare function fetchValuation(tokenAmount: TokenAmount, provider: providers.Provider): Promise<BigNumber>;
35
+ export declare function calcValuation(tokenAmount: TokenAmount, price: BigNumber): BigNumber;
36
+ export declare function valuateToken(tokenAmount: TokenAmount, provider: providers.Provider): Promise<TokenValuation>;
@@ -0,0 +1,296 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.valuateToken = exports.calcValuation = exports.fetchValuation = exports.fetchToken0PriceByLP = exports.fetchPULPPrice = exports.fetchPLYPrice = exports.fetchPrice = exports.fetchUnderlyingTokensPrices = exports.fetchPriceFromOracle = exports.fetchStNEARPrice = exports.fetchLPPrice = exports.fetchLPPositions = exports.fetchPriceFromCoingecko = exports.fetchPriceFromDefiLlamaAndCoingecko = exports.fetchPriceFromCoingeckoAPI = exports.fetchPriceFromDefiLlamaAPI = exports.fetchPriceFromKyberSwap = exports.fetchPriceFromOneInch = exports.prepareParamsAggregator = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const AuriLens_json_1 = tslib_1.__importDefault(require("@aurigami/contracts/artifacts/contracts/AuriLens.sol/AuriLens.json"));
6
+ const axios_1 = tslib_1.__importDefault(require("axios"));
7
+ const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
8
+ const ethers_1 = require("ethers");
9
+ const abis_1 = require("../abis");
10
+ const constants_1 = require("../consts/constants");
11
+ const helpers_1 = require("./helpers");
12
+ const kyber_aggregator_api_1 = require("./kyber-aggregator-api");
13
+ const multicall_1 = require("./multicall");
14
+ const one_inch_aggregator_api_1 = require("./one-inch-aggregator-api");
15
+ async function prepareParamsAggregator(address, provider) {
16
+ const tokenInErc20 = (0, multicall_1.createContract)(address, abis_1.EIP20InterfaceABI.abi, provider);
17
+ const tokenInDecimal = await tokenInErc20.callStatic.decimals();
18
+ const tokenInQuantity = ethers_1.BigNumber.from(10).pow(tokenInDecimal).toString();
19
+ const usdtAddress = constants_1.networkAddresses.auTokens.find((autoken) => autoken.name == 'auUSDT')?.underlying ?? '';
20
+ const usdtDecimal = (0, helpers_1.getDecimal)(usdtAddress);
21
+ return {
22
+ tokenInQuantity,
23
+ usdtAddress,
24
+ usdtDecimal,
25
+ };
26
+ }
27
+ exports.prepareParamsAggregator = prepareParamsAggregator;
28
+ async function fetchPriceFromOneInch(address, provider) {
29
+ const { tokenInQuantity, usdtAddress, usdtDecimal } = await prepareParamsAggregator(address, provider);
30
+ const info = await (0, one_inch_aggregator_api_1.getQuoteOneInch)(address, usdtAddress, tokenInQuantity);
31
+ const outputAmount = info.toTokenAmount;
32
+ return new bignumber_js_1.default(outputAmount).dividedBy(10 ** usdtDecimal);
33
+ }
34
+ exports.fetchPriceFromOneInch = fetchPriceFromOneInch;
35
+ async function fetchPriceFromKyberSwap(address, provider, onAurora = true) {
36
+ if (address == constants_1.networkAddresses.tokens.STADER) {
37
+ const ETH_PROVIDER = new ethers_1.ethers.providers.JsonRpcProvider('https://rpc.ankr.com/eth');
38
+ return fetchPriceFromKyberSwap(constants_1.STADER_ETH, ETH_PROVIDER, false);
39
+ }
40
+ let { tokenInQuantity, usdtAddress, usdtDecimal } = await prepareParamsAggregator(address, provider);
41
+ if (!onAurora) {
42
+ usdtAddress = constants_1.USDT_ETH;
43
+ }
44
+ const info = await (0, kyber_aggregator_api_1.getSwapInfo)(address, usdtAddress, tokenInQuantity, onAurora);
45
+ const outputAmount = info.outputAmount;
46
+ return new bignumber_js_1.default(outputAmount).dividedBy(10 ** usdtDecimal);
47
+ }
48
+ exports.fetchPriceFromKyberSwap = fetchPriceFromKyberSwap;
49
+ async function fetchPriceFromDefiLlamaAPI(id) {
50
+ const price = await axios_1.default
51
+ .get(`https://coins.llama.fi/prices/current/${id}`)
52
+ .then((res) => {
53
+ return res.data.coins[id].price;
54
+ })
55
+ .catch((err) => {
56
+ console.log(`unable to fetch price from DefiLlama API: ${err}`);
57
+ console.error(err);
58
+ return 0;
59
+ });
60
+ return new bignumber_js_1.default(price);
61
+ }
62
+ exports.fetchPriceFromDefiLlamaAPI = fetchPriceFromDefiLlamaAPI;
63
+ async function fetchPriceFromCoingeckoAPI(id) {
64
+ const price = await axios_1.default
65
+ .get(`https://api.coingecko.com/api/v3/simple/price?ids=${id}&vs_currencies=usd`)
66
+ .then((res) => {
67
+ return res.data[id];
68
+ })
69
+ .catch((err) => {
70
+ console.log(`Unable to fetch price from Coingecko API for ${id}`);
71
+ console.error(err);
72
+ return { usd: 0 };
73
+ });
74
+ return new bignumber_js_1.default(price.usd);
75
+ }
76
+ exports.fetchPriceFromCoingeckoAPI = fetchPriceFromCoingeckoAPI;
77
+ async function fetchPriceFromDefiLlamaAndCoingecko(id) {
78
+ if (id.toLowerCase() == constants_1.networkAddresses.tokens.AURORA ||
79
+ id.toLowerCase() == constants_1.networkAddresses.tokens.TRI ||
80
+ id.toLowerCase() == constants_1.networkAddresses.tokens.META) {
81
+ return fetchPriceFromDefiLlamaAPI(`aurora:${id.toLowerCase()}`).catch((e) => fetchPriceFromCoingecko(id));
82
+ }
83
+ else if (id.toLowerCase() == constants_1.networkAddresses.tokens.STADER) {
84
+ return fetchPriceFromCoingecko(id);
85
+ }
86
+ throw Error(`Unknown token ${id} in fetchPriceFromDefiLlama`);
87
+ }
88
+ exports.fetchPriceFromDefiLlamaAndCoingecko = fetchPriceFromDefiLlamaAndCoingecko;
89
+ async function fetchPriceFromCoingecko(id) {
90
+ switch (id.toLowerCase()) {
91
+ case constants_1.networkAddresses.tokens.AURORA:
92
+ return fetchPriceFromCoingeckoAPI('aurora-near');
93
+ case constants_1.networkAddresses.tokens.TRI:
94
+ return fetchPriceFromCoingeckoAPI('trisolaris');
95
+ case constants_1.networkAddresses.tokens.META:
96
+ return fetchPriceFromCoingeckoAPI('meta-pool');
97
+ case constants_1.networkAddresses.tokens.STADER:
98
+ return fetchPriceFromCoingeckoAPI('stader');
99
+ default:
100
+ throw Error(`Unknown token ${id} in fetchPriceFromCoingecko`);
101
+ }
102
+ }
103
+ exports.fetchPriceFromCoingecko = fetchPriceFromCoingecko;
104
+ async function fetchLPPositions(LPAddress, provider) {
105
+ const LPContract = (0, multicall_1.createContract)(LPAddress, abis_1.IUniswapV2PairABI.abi, provider);
106
+ const [token0, token1, reserves, totalSupply] = await Promise.all([
107
+ LPContract.callStatic.token0(),
108
+ LPContract.callStatic.token1(),
109
+ LPContract.callStatic.getReserves(),
110
+ LPContract.callStatic.totalSupply(),
111
+ ]);
112
+ return {
113
+ token0: token0,
114
+ token1: token1,
115
+ reserve0: reserves.reserve0,
116
+ reserve1: reserves.reserve1,
117
+ totalSupply: totalSupply,
118
+ };
119
+ }
120
+ exports.fetchLPPositions = fetchLPPositions;
121
+ async function fetchLPPrice(address, provider) {
122
+ var LPInfo = await fetchLPPositions(address, provider);
123
+ const LPDecimal = (0, helpers_1.getDecimal)(address);
124
+ async function fetchLPPriceBy(tokenReverse) {
125
+ if (tokenReverse.reserve.isZero())
126
+ return new bignumber_js_1.default(0);
127
+ const tokenPrice = await _fetchPrice(tokenReverse.address, provider);
128
+ const tokenDecimal = (0, helpers_1.getDecimal)(tokenReverse.address);
129
+ const reserveUSD = tokenPrice
130
+ .multipliedBy(tokenReverse.reserve.toString())
131
+ .multipliedBy(2);
132
+ return reserveUSD
133
+ .multipliedBy((0, helpers_1.decimalFactor)(LPDecimal))
134
+ .dividedBy(new bignumber_js_1.default(LPInfo.totalSupply.toString()))
135
+ .dividedBy((0, helpers_1.decimalFactor)(tokenDecimal));
136
+ }
137
+ try {
138
+ const lpPrice = await fetchLPPriceBy({
139
+ address: LPInfo.token0,
140
+ reserve: LPInfo.reserve0,
141
+ });
142
+ if (lpPrice.isZero()) {
143
+ throw Error(`Price is zero`);
144
+ }
145
+ return lpPrice;
146
+ }
147
+ catch (e) {
148
+ (0, helpers_1.devLog)(`fetchLPPriceBy ${LPInfo.token0} failed`, e);
149
+ try {
150
+ return await fetchLPPriceBy({
151
+ address: LPInfo.token1,
152
+ reserve: LPInfo.reserve1,
153
+ });
154
+ }
155
+ catch (e) {
156
+ (0, helpers_1.devLog)(`fetchLPPriceBy ${LPInfo.token1} failed`, e);
157
+ throw Error(`Unable to fetch price for both tokens of LP ${address}`);
158
+ }
159
+ }
160
+ }
161
+ exports.fetchLPPrice = fetchLPPrice;
162
+ async function fetchStNEARPrice() {
163
+ const ratioPromise = axios_1.default
164
+ .get('https://validators.narwallets.com/metrics_json')
165
+ .then((res) => res.data);
166
+ const nearPricePromise = fetchPriceFromCoingeckoAPI('near');
167
+ const [ratioRes, nearPrice] = await Promise.all([
168
+ ratioPromise,
169
+ nearPricePromise,
170
+ ]);
171
+ const ratio = new bignumber_js_1.default(ratioRes.st_near_price);
172
+ return ratio.multipliedBy(nearPrice);
173
+ }
174
+ exports.fetchStNEARPrice = fetchStNEARPrice;
175
+ function processPriceFromOracle(rawPrice, underlyingDecimal) {
176
+ return new bignumber_js_1.default(rawPrice.toString()).div((0, helpers_1.decimalFactor)(36 - underlyingDecimal));
177
+ }
178
+ async function fetchPriceFromOracle(auTokenAddress, underlyingDecimal, provider) {
179
+ const oracleContract = (0, multicall_1.createContract)(constants_1.networkAddresses.misc.PYTH_ORACLE, abis_1.AuriOracleABI.abi, provider);
180
+ const rawPrice = await oracleContract.callStatic
181
+ .getUnderlyingPrice(auTokenAddress)
182
+ .catch((e) => {
183
+ console.log(`Unable to fetch price from oracle for ${auTokenAddress}`);
184
+ return ethers_1.BigNumber.from(0);
185
+ });
186
+ if (rawPrice.isZero()) {
187
+ const matchingAuToken = constants_1.networkAddresses.auTokens.find((auToken) => {
188
+ return (0, helpers_1.isSameAddress)(auToken.address, auTokenAddress);
189
+ });
190
+ if (matchingAuToken?.name == 'auSTNEAR') {
191
+ return fetchStNEARPrice();
192
+ }
193
+ }
194
+ return processPriceFromOracle(rawPrice, underlyingDecimal);
195
+ }
196
+ exports.fetchPriceFromOracle = fetchPriceFromOracle;
197
+ async function fetchUnderlyingTokensPrices(provider) {
198
+ const auriLens = (0, multicall_1.createContract)(constants_1.networkAddresses.misc.AURILENS, AuriLens_json_1.default.abi, provider);
199
+ const auTokenAddresses = constants_1.networkAddresses.auTokens.map((auToken) => auToken.address);
200
+ const underlyingDecimals = constants_1.networkAddresses.auTokens.map((auToken) => (0, helpers_1.getDecimal)(auToken.underlying));
201
+ const rawPrices = await auriLens.callStatic.auTokenUnderlyingPriceAll(auTokenAddresses);
202
+ return rawPrices.map((res, ind) => {
203
+ return {
204
+ auToken: res.auToken,
205
+ underlyingPrice: processPriceFromOracle(res.underlyingPrice, underlyingDecimals[ind]),
206
+ };
207
+ });
208
+ }
209
+ exports.fetchUnderlyingTokensPrices = fetchUnderlyingTokensPrices;
210
+ function shouldFetchFromKyberSwap(address) {
211
+ address = address.toLowerCase();
212
+ return (address == constants_1.networkAddresses.tokens.TRI ||
213
+ address == constants_1.networkAddresses.tokens.META ||
214
+ address == constants_1.networkAddresses.tokens.STADER);
215
+ }
216
+ async function _fetchPrice(address, provider) {
217
+ (0, helpers_1.assert)(constants_1.PRICE_WHITELISTED.has(address.toLocaleLowerCase()), `Address ${address} is not whitelisted for price fetching`);
218
+ if (address.toLowerCase() == constants_1.networkAddresses.tokens.META) {
219
+ return fetchPriceFromDefiLlamaAndCoingecko(address);
220
+ }
221
+ if (shouldFetchFromKyberSwap(address)) {
222
+ return fetchPriceFromKyberSwap(address, provider).catch((e) => {
223
+ return fetchPriceFromDefiLlamaAndCoingecko(address);
224
+ });
225
+ }
226
+ const matchingAuToken = constants_1.networkAddresses.auTokens.find((auToken) => {
227
+ return (0, helpers_1.isSameAddress)(auToken.underlying, address);
228
+ });
229
+ if (matchingAuToken !== undefined) {
230
+ return fetchPriceFromOracle(matchingAuToken.address, (0, helpers_1.getDecimal)(address), provider);
231
+ }
232
+ else {
233
+ throw Error(`Unable to fetch price for ${address}`);
234
+ }
235
+ }
236
+ async function fetchPrice(address, provider) {
237
+ if (address.toLowerCase() in constants_1.HARDCODE_PRICE_TOKENS) {
238
+ return new bignumber_js_1.default(constants_1.HARDCODE_PRICE_TOKENS[address.toLowerCase()]);
239
+ }
240
+ else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.PLYWNEAR)) {
241
+ return fetchLPPrice(address, provider);
242
+ }
243
+ else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.PLY)) {
244
+ return fetchPLYPrice(provider);
245
+ }
246
+ else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.PULP)) {
247
+ return fetchPULPPrice(provider);
248
+ }
249
+ return _fetchPrice(address, provider);
250
+ }
251
+ exports.fetchPrice = fetchPrice;
252
+ async function fetchPLYPrice(provider) {
253
+ return fetchToken0PriceByLP(constants_1.networkAddresses.tokens.PLYWNEAR, provider);
254
+ }
255
+ exports.fetchPLYPrice = fetchPLYPrice;
256
+ async function fetchPULPPrice(provider) {
257
+ return new bignumber_js_1.default(0);
258
+ }
259
+ exports.fetchPULPPrice = fetchPULPPrice;
260
+ async function fetchToken0PriceByLP(LP, provider) {
261
+ const LPInfo = await fetchLPPositions(LP, provider);
262
+ if (LPInfo.reserve1.isZero()) {
263
+ return new bignumber_js_1.default(0);
264
+ }
265
+ const token0Decimal = (0, helpers_1.getDecimal)(LPInfo.token0);
266
+ const token1Decimal = (0, helpers_1.getDecimal)(LPInfo.token1);
267
+ return (await fetchPrice(LPInfo.token1, provider))
268
+ .multipliedBy(LPInfo.reserve1.toString())
269
+ .multipliedBy((0, helpers_1.decimalFactor)(token0Decimal))
270
+ .dividedBy((0, helpers_1.decimalFactor)(token1Decimal))
271
+ .dividedBy(LPInfo.reserve0.toString());
272
+ }
273
+ exports.fetchToken0PriceByLP = fetchToken0PriceByLP;
274
+ async function fetchValuation(tokenAmount, provider) {
275
+ if (tokenAmount.rawAmount() == '0')
276
+ return new bignumber_js_1.default(0);
277
+ var price = await fetchPrice(tokenAmount.token.address, provider);
278
+ return calcValuation(tokenAmount, price);
279
+ }
280
+ exports.fetchValuation = fetchValuation;
281
+ function calcValuation(tokenAmount, price) {
282
+ return new bignumber_js_1.default(tokenAmount.formattedAmount()).multipliedBy(price);
283
+ }
284
+ exports.calcValuation = calcValuation;
285
+ async function valuateToken(tokenAmount, provider) {
286
+ let tokenValuation = await fetchValuation(tokenAmount, provider);
287
+ return {
288
+ tokenAmount: tokenAmount,
289
+ currencyAmount: {
290
+ currency: 'USD',
291
+ amount: tokenValuation.toFixed(constants_1.DECIMAL_PRECISION),
292
+ },
293
+ };
294
+ }
295
+ exports.valuateToken = valuateToken;
296
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJpY2VGZXRjaGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvcHJpY2VGZXRjaGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSwrSEFBNkY7QUFFN0YsMERBQTBCO0FBQzFCLHdFQUFxQztBQUNyQyxtQ0FBNEQ7QUFDNUQsa0NBQThFO0FBQzlFLG1EQU82QjtBQUc3Qix1Q0FBcUY7QUFDckYsaUVBQXFEO0FBQ3JELDJDQUE2QztBQUM3Qyx1RUFBNEQ7QUFFckQsS0FBSyxVQUFVLHVCQUF1QixDQUFDLE9BQWUsRUFBRSxRQUE0QjtJQUN6RixNQUFNLFlBQVksR0FBRyxJQUFBLDBCQUFjLEVBQVEsT0FBTyxFQUFFLHdCQUFpQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUNyRixNQUFNLGNBQWMsR0FBRyxNQUFNLFlBQVksQ0FBQyxVQUFVLENBQUMsUUFBUSxFQUFFLENBQUM7SUFDaEUsTUFBTSxlQUFlLEdBQUcsa0JBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLGNBQWMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQ25FLE1BQU0sV0FBVyxHQUNmLDRCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLE9BQU8sQ0FBQyxJQUFJLElBQUksUUFBUSxDQUFDLEVBQUUsVUFBVSxJQUFJLEVBQUUsQ0FBQztJQUMxRixNQUFNLFdBQVcsR0FBRyxJQUFBLG9CQUFVLEVBQUMsV0FBVyxDQUFDLENBQUM7SUFDNUMsT0FBTztRQUNMLGVBQWU7UUFDZixXQUFXO1FBQ1gsV0FBVztLQUNaLENBQUM7QUFDSixDQUFDO0FBWkQsMERBWUM7QUFFTSxLQUFLLFVBQVUscUJBQXFCLENBQUMsT0FBZSxFQUFFLFFBQTRCO0lBQ3ZGLE1BQU0sRUFBRSxlQUFlLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxHQUFHLE1BQU0sdUJBQXVCLENBQ2pGLE9BQU8sRUFDUCxRQUFRLENBQ1QsQ0FBQztJQUNGLE1BQU0sSUFBSSxHQUFHLE1BQU0sSUFBQSx5Q0FBZSxFQUFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsZUFBZSxDQUFDLENBQUM7SUFDMUUsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN4QyxPQUFPLElBQUksc0JBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFSRCxzREFRQztBQUVNLEtBQUssVUFBVSx1QkFBdUIsQ0FDM0MsT0FBZSxFQUNmLFFBQTRCLEVBQzVCLFFBQVEsR0FBRyxJQUFJO0lBRWYsSUFBSSxPQUFPLElBQUksNEJBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQzlDLE1BQU0sWUFBWSxHQUFHLElBQUksZUFBTSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsQ0FBQztRQUV0RixPQUFPLHVCQUF1QixDQUFDLHNCQUFVLEVBQUUsWUFBWSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ2xFLENBQUM7SUFDRCxJQUFJLEVBQUUsZUFBZSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsR0FBRyxNQUFNLHVCQUF1QixDQUMvRSxPQUFPLEVBQ1AsUUFBUSxDQUNULENBQUM7SUFDRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDZCxXQUFXLEdBQUcsb0JBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsTUFBTSxJQUFBLGtDQUFXLEVBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxlQUFlLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDaEYsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztJQUN2QyxPQUFPLElBQUksc0JBQVMsQ0FBQyxZQUFZLENBQUMsQ0FBQyxTQUFTLENBQUMsRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDO0FBQ2xFLENBQUM7QUFwQkQsMERBb0JDO0FBRU0sS0FBSyxVQUFVLDBCQUEwQixDQUFDLEVBQVU7SUFDekQsTUFBTSxLQUFLLEdBQUcsTUFBTSxlQUFLO1NBQ3RCLEdBQUcsQ0FBQyx5Q0FBeUMsRUFBRSxFQUFFLENBQUM7U0FDbEQsSUFBSSxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFDakIsT0FBTyxHQUFHLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDbEMsQ0FBQyxDQUFDO1NBQ0QsS0FBSyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7UUFDbEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2Q0FBNkMsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUNoRSxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sQ0FBQyxDQUFDO0lBQ1gsQ0FBQyxDQUFDLENBQUM7SUFDTCxPQUFPLElBQUksc0JBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUM5QixDQUFDO0FBWkQsZ0VBWUM7QUFFTSxLQUFLLFVBQVUsMEJBQTBCLENBQUMsRUFBVTtJQUN6RCxNQUFNLEtBQUssR0FBRyxNQUFNLGVBQUs7U0FDdEIsR0FBRyxDQUFDLHFEQUFxRCxFQUFFLG9CQUFvQixDQUFDO1NBQ2hGLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUN0QixDQUFDLENBQUM7U0FDRCxLQUFLLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtRQUNsQixPQUFPLENBQUMsR0FBRyxDQUFDLGdEQUFnRCxFQUFFLEVBQUUsQ0FBQyxDQUFDO1FBQ2xFLE9BQU8sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDbkIsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUNwQixDQUFDLENBQUMsQ0FBQztJQUVMLE9BQU8sSUFBSSxzQkFBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztBQUNsQyxDQUFDO0FBYkQsZ0VBYUM7QUFFTSxLQUFLLFVBQVUsbUNBQW1DLENBQUMsRUFBVztJQUNuRSxJQUNFLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSw0QkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTTtRQUNsRCxFQUFFLENBQUMsV0FBVyxFQUFFLElBQUksNEJBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUc7UUFDL0MsRUFBRSxDQUFDLFdBQVcsRUFBRSxJQUFJLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQ2hELENBQUM7UUFDRCxPQUFPLDBCQUEwQixDQUFDLFVBQVUsRUFBRSxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUMxRSx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FDNUIsQ0FBQztJQUNKLENBQUM7U0FBTSxJQUFJLEVBQUUsQ0FBQyxXQUFXLEVBQUUsSUFBSSw0QkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDOUQsT0FBTyx1QkFBdUIsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNyQyxDQUFDO0lBQ0QsTUFBTSxLQUFLLENBQUMsaUJBQWlCLEVBQUUsNkJBQTZCLENBQUMsQ0FBQztBQUNoRSxDQUFDO0FBYkQsa0ZBYUM7QUFFTSxLQUFLLFVBQVUsdUJBQXVCLENBQUMsRUFBVztJQUN2RCxRQUFRLEVBQUUsQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUFDO1FBQ3pCLEtBQUssNEJBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDakMsT0FBTywwQkFBMEIsQ0FBQyxhQUFhLENBQUMsQ0FBQztRQUVuRCxLQUFLLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHO1lBQzlCLE9BQU8sMEJBQTBCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEQsS0FBSyw0QkFBZ0IsQ0FBQyxNQUFNLENBQUMsSUFBSTtZQUMvQixPQUFPLDBCQUEwQixDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRWpELEtBQUssNEJBQWdCLENBQUMsTUFBTSxDQUFDLE1BQU07WUFDakMsT0FBTywwQkFBMEIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUU5QztZQUNFLE1BQU0sS0FBSyxDQUFDLGlCQUFpQixFQUFFLDZCQUE2QixDQUFDLENBQUM7SUFDbEUsQ0FBQztBQUNILENBQUM7QUFqQkQsMERBaUJDO0FBRU0sS0FBSyxVQUFVLGdCQUFnQixDQUNwQyxTQUFrQixFQUNsQixRQUE0QjtJQVE1QixNQUFNLFVBQVUsR0FBRyxJQUFBLDBCQUFjLEVBQWlCLFNBQVMsRUFBRSx3QkFBaUIsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDOUYsTUFBTSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLFdBQVcsQ0FBQyxHQUFHLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoRSxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRTtRQUM5QixVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRTtRQUNuQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsRUFBRTtLQUNwQyxDQUFDLENBQUM7SUFFSCxPQUFPO1FBQ0wsTUFBTSxFQUFFLE1BQU07UUFDZCxNQUFNLEVBQUUsTUFBTTtRQUNkLFFBQVEsRUFBRSxRQUFRLENBQUMsUUFBUTtRQUMzQixRQUFRLEVBQUUsUUFBUSxDQUFDLFFBQVE7UUFDM0IsV0FBVyxFQUFFLFdBQVc7S0FDekIsQ0FBQztBQUNKLENBQUM7QUF6QkQsNENBeUJDO0FBRU0sS0FBSyxVQUFVLFlBQVksQ0FDaEMsT0FBZ0IsRUFDaEIsUUFBNEI7SUFFNUIsSUFBSSxNQUFNLEdBQUcsTUFBTSxnQkFBZ0IsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdkQsTUFBTSxTQUFTLEdBQUcsSUFBQSxvQkFBVSxFQUFDLE9BQU8sQ0FBQyxDQUFDO0lBRXRDLEtBQUssVUFBVSxjQUFjLENBQUMsWUFHN0I7UUFDQyxJQUFJLFlBQVksQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFO1lBQUUsT0FBTyxJQUFJLHNCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFLM0QsTUFBTSxVQUFVLEdBQWMsTUFBTSxXQUFXLENBQUMsWUFBWSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztRQUNoRixNQUFNLFlBQVksR0FBRyxJQUFBLG9CQUFVLEVBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBR3RELE1BQU0sVUFBVSxHQUFjLFVBQVU7YUFDckMsWUFBWSxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsUUFBUSxFQUFFLENBQUM7YUFDN0MsWUFBWSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25CLE9BQU8sVUFBVTthQUNkLFlBQVksQ0FBQyxJQUFBLHVCQUFhLEVBQUMsU0FBUyxDQUFDLENBQUM7YUFDdEMsU0FBUyxDQUFDLElBQUksc0JBQVMsQ0FBQyxNQUFNLENBQUMsV0FBVyxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7YUFDdkQsU0FBUyxDQUFDLElBQUEsdUJBQWEsRUFBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxJQUFJLENBQUM7UUFFSCxNQUFNLE9BQU8sR0FBRyxNQUFNLGNBQWMsQ0FBQztZQUNuQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDdEIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxRQUFRO1NBQ3pCLENBQUMsQ0FBQztRQUNILElBQUksT0FBTyxDQUFDLE1BQU0sRUFBRSxFQUFFLENBQUM7WUFDckIsTUFBTSxLQUFLLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUNELE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1FBQ1gsSUFBQSxnQkFBTSxFQUFDLGtCQUFrQixNQUFNLENBQUMsTUFBTSxTQUFTLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDO1lBRUgsT0FBTyxNQUFNLGNBQWMsQ0FBQztnQkFDMUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxNQUFNO2dCQUN0QixPQUFPLEVBQUUsTUFBTSxDQUFDLFFBQVE7YUFDekIsQ0FBQyxDQUFDO1FBQ0wsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFBLGdCQUFNLEVBQUMsa0JBQWtCLE1BQU0sQ0FBQyxNQUFNLFNBQVMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUNwRCxNQUFNLEtBQUssQ0FBQywrQ0FBK0MsT0FBTyxFQUFFLENBQUMsQ0FBQztRQUN4RSxDQUFDO0lBQ0gsQ0FBQztBQUNILENBQUM7QUFwREQsb0NBb0RDO0FBRU0sS0FBSyxVQUFVLGdCQUFnQjtJQUNwQyxNQUFNLFlBQVksR0FBRyxlQUFLO1NBQ3ZCLEdBQUcsQ0FBQyxnREFBZ0QsQ0FBQztTQUNyRCxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzQixNQUFNLGdCQUFnQixHQUFHLDBCQUEwQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQzVELE1BQU0sQ0FBQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQXFCLE1BQU0sT0FBTyxDQUFDLEdBQUcsQ0FBQztRQUNoRSxZQUFZO1FBQ1osZ0JBQWdCO0tBQ2pCLENBQUMsQ0FBQztJQUNILE1BQU0sS0FBSyxHQUFHLElBQUksc0JBQVMsQ0FBQyxRQUFRLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDcEQsT0FBTyxLQUFLLENBQUMsWUFBWSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0FBQ3ZDLENBQUM7QUFYRCw0Q0FXQztBQUVELFNBQVMsc0JBQXNCLENBQUMsUUFBWSxFQUFFLGlCQUF5QjtJQUNyRSxPQUFPLElBQUksc0JBQVMsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBQSx1QkFBYSxFQUFDLEVBQUUsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7QUFDdkYsQ0FBQztBQUNNLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsY0FBdUIsRUFDdkIsaUJBQXlCLEVBQ3pCLFFBQTRCO0lBRTVCLE1BQU0sY0FBYyxHQUFHLElBQUEsMEJBQWMsRUFDbkMsNEJBQWdCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFDakMsb0JBQWEsQ0FBQyxHQUFHLEVBQ2pCLFFBQVEsQ0FDVCxDQUFDO0lBQ0YsTUFBTSxRQUFRLEdBQUcsTUFBTSxjQUFjLENBQUMsVUFBVTtTQUM3QyxrQkFBa0IsQ0FBQyxjQUFjLENBQUM7U0FDbEMsS0FBSyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUU7UUFDaEIsT0FBTyxDQUFDLEdBQUcsQ0FBQyx5Q0FBeUMsY0FBYyxFQUFFLENBQUMsQ0FBQztRQUN2RSxPQUFPLGtCQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3BCLENBQUMsQ0FBQyxDQUFDO0lBSUwsSUFBSSxRQUFRLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQztRQUN0QixNQUFNLGVBQWUsR0FBRyw0QkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7WUFDakUsT0FBTyxJQUFBLHVCQUFhLEVBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztRQUN4RCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksZUFBZSxFQUFFLElBQUksSUFBSSxVQUFVLEVBQUUsQ0FBQztZQUN4QyxPQUFPLGdCQUFnQixFQUFFLENBQUM7UUFDNUIsQ0FBQztJQUNILENBQUM7SUFFRCxPQUFPLHNCQUFzQixDQUFDLFFBQVEsRUFBRSxpQkFBaUIsQ0FBQyxDQUFDO0FBQzdELENBQUM7QUE3QkQsb0RBNkJDO0FBRU0sS0FBSyxVQUFVLDJCQUEyQixDQUFDLFFBQTRCO0lBTTVFLE1BQU0sUUFBUSxHQUFHLElBQUEsMEJBQWMsRUFBQyw0QkFBZ0IsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLHVCQUFXLENBQUMsR0FBRyxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBQzNGLE1BQU0sZ0JBQWdCLEdBQUcsNEJBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3JGLE1BQU0sa0JBQWtCLEdBQUcsNEJBQWdCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQ25FLElBQUEsb0JBQVUsRUFBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQy9CLENBQUM7SUFDRixNQUFNLFNBQVMsR0FBRyxNQUFNLFFBQVEsQ0FBQyxVQUFVLENBQUMseUJBQXlCLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztJQUN4RixPQUFPLFNBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFRLEVBQUUsR0FBVyxFQUFFLEVBQUU7UUFDN0MsT0FBTztZQUNMLE9BQU8sRUFBRSxHQUFHLENBQUMsT0FBTztZQUNwQixlQUFlLEVBQUUsc0JBQXNCLENBQUMsR0FBRyxDQUFDLGVBQWUsRUFBRSxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN0RixDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBbEJELGtFQWtCQztBQUVELFNBQVMsd0JBQXdCLENBQUMsT0FBZTtJQUMvQyxPQUFPLEdBQUcsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hDLE9BQU8sQ0FDTCxPQUFPLElBQUksNEJBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUc7UUFDdEMsT0FBTyxJQUFJLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJO1FBQ3ZDLE9BQU8sSUFBSSw0QkFBZ0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUMxQyxDQUFDO0FBQ0osQ0FBQztBQUtELEtBQUssVUFBVSxXQUFXLENBQUMsT0FBZ0IsRUFBRSxRQUE0QjtJQUN2RSxJQUFBLGdCQUFNLEVBQ0osNkJBQWlCLENBQUMsR0FBRyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLEVBQ2xELFdBQVcsT0FBTyx3Q0FBd0MsQ0FDM0QsQ0FBQztJQUNGLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztRQUMxRCxPQUFPLG1DQUFtQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQ3RELENBQUM7SUFDRCxJQUFJLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDdEMsT0FBTyx1QkFBdUIsQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDNUQsT0FBTyxtQ0FBbUMsQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUN0RCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxNQUFNLGVBQWUsR0FBRyw0QkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUU7UUFDakUsT0FBTyxJQUFBLHVCQUFhLEVBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUNwRCxDQUFDLENBQUMsQ0FBQztJQUVILElBQUksZUFBZSxLQUFLLFNBQVMsRUFBRSxDQUFDO1FBQ2xDLE9BQU8sb0JBQW9CLENBQUMsZUFBZSxDQUFDLE9BQU8sRUFBRSxJQUFBLG9CQUFVLEVBQUMsT0FBTyxDQUFDLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDdEYsQ0FBQztTQUFNLENBQUM7UUFDTixNQUFNLEtBQUssQ0FBQyw2QkFBNkIsT0FBTyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0FBQ0gsQ0FBQztBQUVNLEtBQUssVUFBVSxVQUFVLENBQzlCLE9BQWdCLEVBQ2hCLFFBQTRCO0lBRTVCLElBQUksT0FBTyxDQUFDLFdBQVcsRUFBRSxJQUFJLGlDQUFxQixFQUFFLENBQUM7UUFDbkQsT0FBTyxJQUFJLHNCQUFTLENBQUMsaUNBQXFCLENBQUMsT0FBTyxDQUFDLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO1NBQU0sSUFBSSxJQUFBLHVCQUFhLEVBQUMsT0FBTyxFQUFFLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3BFLE9BQU8sWUFBWSxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztJQUN6QyxDQUFDO1NBQU0sSUFBSSxJQUFBLHVCQUFhLEVBQUMsT0FBTyxFQUFFLDRCQUFnQixDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1FBQy9ELE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7U0FBTSxJQUFJLElBQUEsdUJBQWEsRUFBQyxPQUFPLEVBQUUsNEJBQWdCLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7UUFDaEUsT0FBTyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUNELE9BQU8sV0FBVyxDQUFDLE9BQU8sRUFBRSxRQUFRLENBQUMsQ0FBQztBQUN4QyxDQUFDO0FBZEQsZ0NBY0M7QUFFTSxLQUFLLFVBQVUsYUFBYSxDQUFDLFFBQTRCO0lBRTlELE9BQU8sb0JBQW9CLENBQUMsNEJBQWdCLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBSEQsc0NBR0M7QUFFTSxLQUFLLFVBQVUsY0FBYyxDQUFDLFFBQTRCO0lBRS9ELE9BQU8sSUFBSSxzQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQzFCLENBQUM7QUFIRCx3Q0FHQztBQUVNLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsRUFBVyxFQUNYLFFBQTRCO0lBRTVCLE1BQU0sTUFBTSxHQUFHLE1BQU0sZ0JBQWdCLENBQUMsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0lBRXBELElBQUksTUFBTSxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDO1FBQzdCLE9BQU8sSUFBSSxzQkFBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQzFCLENBQUM7SUFFRCxNQUFNLGFBQWEsR0FBRyxJQUFBLG9CQUFVLEVBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2hELE1BQU0sYUFBYSxHQUFHLElBQUEsb0JBQVUsRUFBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7SUFJaEQsT0FBTyxDQUFDLE1BQU0sVUFBVSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7U0FDL0MsWUFBWSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7U0FDeEMsWUFBWSxDQUFDLElBQUEsdUJBQWEsRUFBQyxhQUFhLENBQUMsQ0FBQztTQUMxQyxTQUFTLENBQUMsSUFBQSx1QkFBYSxFQUFDLGFBQWEsQ0FBQyxDQUFDO1NBQ3ZDLFNBQVMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDLENBQUM7QUFDM0MsQ0FBQztBQXBCRCxvREFvQkM7QUFFTSxLQUFLLFVBQVUsY0FBYyxDQUNsQyxXQUF3QixFQUN4QixRQUE0QjtJQUU1QixJQUFJLFdBQVcsQ0FBQyxTQUFTLEVBQUUsSUFBSSxHQUFHO1FBQUUsT0FBTyxJQUFJLHNCQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDNUQsSUFBSSxLQUFLLEdBQUcsTUFBTSxVQUFVLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbEUsT0FBTyxhQUFhLENBQUMsV0FBVyxFQUFFLEtBQUssQ0FBQyxDQUFDO0FBQzNDLENBQUM7QUFQRCx3Q0FPQztBQUVELFNBQWdCLGFBQWEsQ0FBQyxXQUF3QixFQUFFLEtBQWdCO0lBQ3RFLE9BQU8sSUFBSSxzQkFBUyxDQUFDLFdBQVcsQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUMxRSxDQUFDO0FBRkQsc0NBRUM7QUFFTSxLQUFLLFVBQVUsWUFBWSxDQUNoQyxXQUF3QixFQUN4QixRQUE0QjtJQUU1QixJQUFJLGNBQWMsR0FBRyxNQUFNLGNBQWMsQ0FBQyxXQUFXLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDakUsT0FBTztRQUNMLFdBQVcsRUFBRSxXQUFXO1FBQ3hCLGNBQWMsRUFBRTtZQUNkLFFBQVEsRUFBRSxLQUFLO1lBQ2YsTUFBTSxFQUFFLGNBQWMsQ0FBQyxPQUFPLENBQUMsNkJBQWlCLENBQUM7U0FDbEQ7S0FDRixDQUFDO0FBQ0osQ0FBQztBQVpELG9DQVlDIn0=
@@ -1 +1 @@
1
- export declare function getLiquidationEventsQuery(address: string, limit: number): string;
1
+ export declare function getLiquidationEventsQuery(address: string, limit: number): string;
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getLiquidationEventsQuery = void 0;
4
+ function getLiquidationEventsQuery(address, limit) {
5
+ return `{
6
+ liquidationEvents(
7
+ first: ${limit},
8
+ where: {from: "${address.toLowerCase()}"}
9
+ ) {
10
+ amount
11
+ auTokenSymbol
12
+ blockTime
13
+ from
14
+ id
15
+ underlyingRepayAmountUSD
16
+ underlyingSymbol
17
+ underlyingRepayAmount
18
+ }
19
+ }`;
20
+ }
21
+ exports.getLiquidationEventsQuery = getLiquidationEventsQuery;
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViZ3JhcGhRdWVyeS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL3N1YmdyYXBoUXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBZ0IseUJBQXlCLENBQUMsT0FBZSxFQUFFLEtBQWE7SUFDdEUsT0FBTzs7ZUFFTSxLQUFLO3VCQUNHLE9BQU8sQ0FBQyxXQUFXLEVBQUU7Ozs7Ozs7Ozs7O0lBV3hDLENBQUM7QUFDTCxDQUFDO0FBaEJELDhEQWdCQyJ9
@@ -1,26 +1,17 @@
1
- import { AuToken } from '@aurigami/contracts/typechain';
2
- import { BigNumber as BN } from 'ethers';
3
- import { BlockchainEntityRead } from '../entities/BlockchainEntity';
4
- import { NetworkConnection } from '../types';
5
- declare type SimpleTransfer = {
6
- from: string;
7
- to: string;
8
- amount: BN;
9
- blockNumber: number;
10
- };
11
- export declare class TransferEventQuery extends BlockchainEntityRead {
12
- auToken: AuToken;
13
- constructor(tokenAddr: string, networkConnection: NetworkConnection);
14
- /**
15
- * query ERC20 transfers from/to an address & auto convert them into SimpleTransfer.
16
- * The result will be sorted by blocknumber.
17
- */
18
- queryERC20TransfersOf(address: string, fromBlock: number, toBlock: number): Promise<SimpleTransfer[]>;
19
- /**
20
- * Get the balance of an address at a given block number.
21
- *
22
- * Note that this will return the balance after the block get mined.
23
- */
24
- queryERC20BalanceAt(address: string, endBlock: number): Promise<BN>;
25
- }
26
- export {};
1
+ import { AuToken } from '@aurigami/contracts/typechain';
2
+ import { BigNumber as BN } from 'ethers';
3
+ import { BlockchainEntityRead } from '../entities/BlockchainEntity';
4
+ import { NetworkConnection } from '../types';
5
+ type SimpleTransfer = {
6
+ from: string;
7
+ to: string;
8
+ amount: BN;
9
+ blockNumber: number;
10
+ };
11
+ export declare class TransferEventQuery extends BlockchainEntityRead {
12
+ auToken: AuToken;
13
+ constructor(tokenAddr: string, networkConnection: NetworkConnection);
14
+ queryERC20TransfersOf(address: string, fromBlock: number, toBlock: number): Promise<SimpleTransfer[]>;
15
+ queryERC20BalanceAt(address: string, endBlock: number): Promise<BN>;
16
+ }
17
+ export {};
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.TransferEventQuery = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const AuToken_json_1 = tslib_1.__importDefault(require("@aurigami/contracts/artifacts/contracts/AuToken.sol/AuToken.json"));
6
+ const ethers_1 = require("ethers");
7
+ const BlockchainEntity_1 = require("../entities/BlockchainEntity");
8
+ class TransferEventQuery extends BlockchainEntity_1.BlockchainEntityRead {
9
+ constructor(tokenAddr, networkConnection) {
10
+ super(networkConnection);
11
+ Object.defineProperty(this, "auToken", {
12
+ enumerable: true,
13
+ configurable: true,
14
+ writable: true,
15
+ value: void 0
16
+ });
17
+ this.auToken = new ethers_1.Contract(tokenAddr, AuToken_json_1.default.abi, this._networkConnection.provider);
18
+ }
19
+ async queryERC20TransfersOf(address, fromBlock, toBlock) {
20
+ const filters = [
21
+ this.auToken.filters.Transfer(address, null),
22
+ this.auToken.filters.Transfer(null, address),
23
+ ];
24
+ const events = (await Promise.all(filters.map((filter) => this.auToken.queryFilter(filter, fromBlock, toBlock)))).flat();
25
+ let results = events.map((event) => {
26
+ return {
27
+ from: event.args[0],
28
+ to: event.args[1],
29
+ amount: event.args[2],
30
+ blockNumber: event.blockNumber,
31
+ };
32
+ });
33
+ results.sort((a, b) => a.blockNumber - b.blockNumber);
34
+ return results;
35
+ }
36
+ async queryERC20BalanceAt(address, endBlock) {
37
+ return this.auToken.balanceOf(address, { blockTag: endBlock + 1 });
38
+ }
39
+ }
40
+ exports.TransferEventQuery = TransferEventQuery;
41
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNmZXItZXZlbnQtcXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy90cmFuc2Zlci1ldmVudC1xdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsNEhBQTBGO0FBRTFGLG1DQUFtRDtBQUNuRCxtRUFBb0U7QUFVcEUsTUFBYSxrQkFBbUIsU0FBUSx1Q0FBb0I7SUFHMUQsWUFBWSxTQUFpQixFQUFFLGlCQUFvQztRQUNqRSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQztRQUgzQjs7Ozs7V0FBaUI7UUFJZixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksaUJBQVEsQ0FDekIsU0FBUyxFQUNULHNCQUFVLENBQUMsR0FBRyxFQUNkLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxRQUFRLENBQ3RCLENBQUM7SUFDZixDQUFDO0lBTUQsS0FBSyxDQUFDLHFCQUFxQixDQUN6QixPQUFlLEVBQ2YsU0FBaUIsRUFDakIsT0FBZTtRQUVmLE1BQU0sT0FBTyxHQUFHO1lBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUM7WUFDNUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxPQUFPLENBQUM7U0FDN0MsQ0FBQztRQUVGLE1BQU0sTUFBTSxHQUFHLENBQ2IsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUNmLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsT0FBTyxDQUFDLENBQUMsQ0FDOUUsQ0FDRixDQUFDLElBQUksRUFBRSxDQUFDO1FBRVQsSUFBSSxPQUFPLEdBQXFCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRTtZQUNuRCxPQUFPO2dCQUNMLElBQUksRUFBRSxLQUFLLENBQUMsSUFBSyxDQUFDLENBQUMsQ0FBQztnQkFDcEIsRUFBRSxFQUFFLEtBQUssQ0FBQyxJQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUNsQixNQUFNLEVBQUUsS0FBSyxDQUFDLElBQUssQ0FBQyxDQUFDLENBQUM7Z0JBQ3RCLFdBQVcsRUFBRSxLQUFLLENBQUMsV0FBVzthQUMvQixDQUFDO1FBQ0osQ0FBQyxDQUFDLENBQUM7UUFFSCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsR0FBRyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFdEQsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQztJQU9ELEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxPQUFlLEVBQUUsUUFBZ0I7UUFDekQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxRQUFRLEVBQUUsUUFBUSxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDckUsQ0FBQztDQUNGO0FBdERELGdEQXNEQyJ9
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- export * as abis from './abis';
2
- export * from './consts';
3
- export * from './entities';
4
- export * from './helpers';
5
- export * from './interactors';
6
- export * from './SDK';
7
- export * from './types';
1
+ export * as abis from './abis';
2
+ export * from './consts';
3
+ export * from './entities';
4
+ export * from './helpers';
5
+ export * from './interactors';
6
+ export * from './SDK';
7
+ export * from './types';
package/dist/index.js CHANGED
@@ -1,8 +1,17 @@
1
-
2
- 'use strict'
3
-
4
- if (process.env.NODE_ENV === 'production') {
5
- module.exports = require('./sdk.cjs.production.min.js')
6
- } else {
7
- module.exports = require('./sdk.cjs.development.js')
8
- }
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.abis = void 0;
4
+ const tslib_1 = require("tslib");
5
+ const bignumber_js_1 = tslib_1.__importDefault(require("bignumber.js"));
6
+ const ethers_1 = require("ethers");
7
+ const utils_1 = require("ethers/lib/utils");
8
+ ethers_1.ethers.utils.Logger.setLogLevel(utils_1.Logger.levels.ERROR);
9
+ bignumber_js_1.default.config({ DECIMAL_PLACES: 50 });
10
+ exports.abis = tslib_1.__importStar(require("./abis"));
11
+ tslib_1.__exportStar(require("./consts"), exports);
12
+ tslib_1.__exportStar(require("./entities"), exports);
13
+ tslib_1.__exportStar(require("./helpers"), exports);
14
+ tslib_1.__exportStar(require("./interactors"), exports);
15
+ tslib_1.__exportStar(require("./SDK"), exports);
16
+ tslib_1.__exportStar(require("./types"), exports);
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHdFQUFxQztBQUNyQyxtQ0FBZ0M7QUFDaEMsNENBQTBDO0FBRTFDLGVBQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxjQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3JELHNCQUFTLENBQUMsTUFBTSxDQUFDLEVBQUUsY0FBYyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUM7QUFFekMsdURBQStCO0FBQy9CLG1EQUF5QjtBQUN6QixxREFBMkI7QUFDM0Isb0RBQTBCO0FBQzFCLHdEQUE4QjtBQUM5QixnREFBc0I7QUFDdEIsa0RBQXdCIn0=
@@ -1,26 +1,17 @@
1
- import { TransactionResponse } from '@ethersproject/abstract-provider';
2
- import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
3
- import { Address, NetworkConnection } from '../types';
4
- export declare class AirdropRead extends BlockchainEntityRead {
5
- readonly env: AuriEnv;
6
- constructor(networkConnection: NetworkConnection);
7
- /**
8
- * Get redeemable rewards amount of user
9
- */
10
- getRedeemableReward(campaign: string, token: Address, user: Address): Promise<TokenAmount>;
11
- }
12
- export declare class AirdropReadWrite extends AirdropRead {
13
- /**
14
- * Transfer rewards from multiple campaigns to msg.sender
15
- */
16
- redeemMultiple(campaigns: string[], tokens: Address[]): Promise<TransactionResponse>;
17
- /**
18
- * Redeem reward from a single campaign
19
- */
20
- redeemSingle(campaign: string, token: Address): Promise<TransactionResponse>;
21
- }
22
- export declare class Airdrop extends BlockchainEntity {
23
- constructor();
24
- read(networkConnection: NetworkConnection): AirdropRead;
25
- readWrite(networkConnection: NetworkConnection): AirdropReadWrite;
26
- }
1
+ import { TransactionResponse } from '@ethersproject/abstract-provider';
2
+ import { AuriEnv, BlockchainEntity, BlockchainEntityRead, TokenAmount } from '../entities';
3
+ import { Address, NetworkConnection } from '../types';
4
+ export declare class AirdropRead extends BlockchainEntityRead {
5
+ readonly env: AuriEnv;
6
+ constructor(networkConnection: NetworkConnection);
7
+ getRedeemableReward(campaign: string, token: Address, user: Address): Promise<TokenAmount>;
8
+ }
9
+ export declare class AirdropReadWrite extends AirdropRead {
10
+ redeemMultiple(campaigns: string[], tokens: Address[]): Promise<TransactionResponse>;
11
+ redeemSingle(campaign: string, token: Address): Promise<TransactionResponse>;
12
+ }
13
+ export declare class Airdrop extends BlockchainEntity {
14
+ constructor();
15
+ read(networkConnection: NetworkConnection): AirdropRead;
16
+ readWrite(networkConnection: NetworkConnection): AirdropReadWrite;
17
+ }