@aurigami/sdk 1.23.1 → 1.24.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/SDK.d.ts +48 -65
- package/dist/SDK.js +165 -0
- package/dist/abis/index.d.ts +18 -18
- package/dist/abis/index.js +39 -0
- package/dist/consts/constants.d.ts +139 -139
- package/dist/consts/constants.js +185 -0
- package/dist/consts/decimals.d.ts +1 -1
- package/dist/consts/decimals.js +35 -0
- package/dist/consts/deployments.d.ts +3 -3
- package/dist/consts/deployments.js +9 -0
- package/dist/consts/dummy.d.ts +13 -13
- package/dist/consts/dummy.js +43 -0
- package/dist/consts/index.d.ts +5 -5
- package/dist/consts/index.js +9 -0
- package/dist/consts/symbols.d.ts +1 -1
- package/dist/consts/symbols.js +10 -0
- package/dist/entities/BlockchainEntity.d.ts +13 -13
- package/dist/entities/BlockchainEntity.js +36 -0
- package/dist/entities/auriEnv.d.ts +34 -40
- package/dist/entities/auriEnv.js +166 -0
- package/dist/entities/index.d.ts +4 -4
- package/dist/entities/index.js +8 -0
- package/dist/entities/token.d.ts +7 -7
- package/dist/entities/token.js +27 -0
- package/dist/entities/tokenAmount.d.ts +13 -13
- package/dist/entities/tokenAmount.js +52 -0
- package/dist/helpers/aurigami-api.d.ts +13 -13
- package/dist/helpers/aurigami-api.js +26 -0
- package/dist/helpers/aurora-api-helpers.d.ts +1 -1
- package/dist/helpers/aurora-api-helpers.js +15 -0
- package/dist/helpers/graphql-helpers.d.ts +1 -1
- package/dist/helpers/graphql-helpers.js +13 -0
- package/dist/helpers/helpers.d.ts +23 -40
- package/dist/helpers/helpers.js +148 -0
- package/dist/helpers/historicalPriceFetcher.d.ts +15 -15
- package/dist/helpers/historicalPriceFetcher.js +142 -0
- package/dist/helpers/index.d.ts +7 -7
- package/dist/helpers/index.js +11 -0
- package/dist/helpers/kyber-aggregator-api.d.ts +5 -5
- package/dist/helpers/kyber-aggregator-api.js +27 -0
- package/dist/helpers/multicall.d.ts +40 -0
- package/dist/helpers/multicall.js +203 -0
- package/dist/helpers/notification-api.d.ts +2 -2
- package/dist/helpers/notification-api.js +21 -0
- package/dist/helpers/one-inch-aggregator-api.d.ts +21 -21
- package/dist/helpers/one-inch-aggregator-api.js +19 -0
- package/dist/helpers/priceFetcher.d.ts +36 -36
- package/dist/helpers/priceFetcher.js +292 -0
- package/dist/helpers/subgraphQuery.d.ts +1 -1
- package/dist/helpers/subgraphQuery.js +22 -0
- package/dist/helpers/transfer-event-query.d.ts +17 -26
- package/dist/helpers/transfer-event-query.js +41 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +17 -8
- package/dist/interactors/Airdrop.d.ts +17 -26
- package/dist/interactors/Airdrop.js +48 -0
- package/dist/interactors/MoneyMarket.d.ts +63 -63
- package/dist/interactors/MoneyMarket.js +392 -0
- package/dist/interactors/Multicall.d.ts +15 -18
- package/dist/interactors/Multicall.js +36 -0
- package/dist/interactors/Papermill.d.ts +27 -57
- package/dist/interactors/Papermill.js +125 -0
- package/dist/interactors/PlyGame.d.ts +30 -42
- package/dist/interactors/PlyGame.js +146 -0
- package/dist/interactors/PlyTokenLock.d.ts +16 -16
- package/dist/interactors/PlyTokenLock.js +44 -0
- package/dist/interactors/Pulp.d.ts +17 -17
- package/dist/interactors/Pulp.js +43 -0
- package/dist/interactors/Referral.d.ts +35 -78
- package/dist/interactors/Referral.js +158 -0
- package/dist/interactors/Staking.d.ts +20 -26
- package/dist/interactors/Staking.js +106 -0
- package/dist/interactors/index.d.ts +9 -9
- package/dist/interactors/index.js +13 -0
- package/dist/interactors/misc.d.ts +31 -39
- package/dist/interactors/misc.js +318 -0
- package/dist/types/index.d.ts +175 -197
- package/dist/types/index.js +18 -0
- package/package.json +4 -16
- package/dist/sdk.cjs.development.js +0 -6325
- package/dist/sdk.cjs.development.js.map +0 -1
- package/dist/sdk.cjs.production.min.js +0 -2
- package/dist/sdk.cjs.production.min.js.map +0 -1
- package/dist/sdk.esm.js +0 -6193
- package/dist/sdk.esm.js.map +0 -1
- package/src/SDK.ts +0 -223
- package/src/abis/index.ts +0 -38
- package/src/consts/constants.ts +0 -210
- package/src/consts/decimals.ts +0 -31
- package/src/consts/deployments.ts +0 -4
- package/src/consts/dummy.ts +0 -51
- package/src/consts/index.ts +0 -5
- package/src/consts/symbols.ts +0 -9
- package/src/entities/BlockchainEntity.ts +0 -29
- package/src/entities/auriEnv.ts +0 -178
- package/src/entities/index.ts +0 -4
- package/src/entities/token.ts +0 -21
- package/src/entities/tokenAmount.ts +0 -48
- package/src/helpers/aurigami-api.ts +0 -42
- package/src/helpers/aurora-api-helpers.ts +0 -17
- package/src/helpers/graphql-helpers.ts +0 -8
- package/src/helpers/helpers.ts +0 -212
- package/src/helpers/historicalPriceFetcher.ts +0 -203
- package/src/helpers/index.ts +0 -7
- package/src/helpers/kyber-aggregator-api.ts +0 -37
- package/src/helpers/notification-api.ts +0 -22
- package/src/helpers/one-inch-aggregator-api.ts +0 -45
- package/src/helpers/priceFetcher.ts +0 -389
- package/src/helpers/subgraphQuery.ts +0 -17
- package/src/helpers/transfer-event-query.ts +0 -68
- package/src/index.ts +0 -14
- package/src/interactors/Airdrop.ts +0 -72
- package/src/interactors/MoneyMarket.ts +0 -482
- package/src/interactors/Multicall.ts +0 -50
- package/src/interactors/Papermill.ts +0 -185
- package/src/interactors/PlyGame.ts +0 -172
- package/src/interactors/PlyTokenLock.ts +0 -47
- package/src/interactors/Pulp.ts +0 -39
- package/src/interactors/Referral.ts +0 -214
- package/src/interactors/Staking.ts +0 -152
- package/src/interactors/index.ts +0 -9
- package/src/interactors/misc.ts +0 -431
- package/src/types/index.ts +0 -222
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import BigNumber from 'bignumber.js';
|
|
2
|
-
import { BigNumber as BN, providers } from 'ethers';
|
|
3
|
-
import { Address } from '../types';
|
|
4
|
-
export declare function fetchHistoricalLPPositions(LPAddress: Address, provider: providers.Provider, block: number): Promise<{
|
|
5
|
-
token0: Address;
|
|
6
|
-
token1: Address;
|
|
7
|
-
reserve0: BN;
|
|
8
|
-
reserve1: BN;
|
|
9
|
-
totalSupply: BN;
|
|
10
|
-
}>;
|
|
11
|
-
export declare function fetchHistoricalLPPrice(address: Address, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
12
|
-
export declare function fetchHistoricalPriceFromOracle(auTokenAddress: Address, underlyingDecimal: number, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
13
|
-
export declare function fetchHistoricalPrice(address: Address, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
14
|
-
export declare function fetchHistoricalPULPPrice(provider: providers.Provider): Promise<BigNumber>;
|
|
15
|
-
export declare function fetchHistoricalPriceByLP(LP: Address, provider: providers.Provider, block: number, tokenNumber?: 0 | 1): Promise<BigNumber>;
|
|
1
|
+
import BigNumber from 'bignumber.js';
|
|
2
|
+
import { BigNumber as BN, providers } from 'ethers';
|
|
3
|
+
import { Address } from '../types';
|
|
4
|
+
export declare function fetchHistoricalLPPositions(LPAddress: Address, provider: providers.Provider, block: number): Promise<{
|
|
5
|
+
token0: Address;
|
|
6
|
+
token1: Address;
|
|
7
|
+
reserve0: BN;
|
|
8
|
+
reserve1: BN;
|
|
9
|
+
totalSupply: BN;
|
|
10
|
+
}>;
|
|
11
|
+
export declare function fetchHistoricalLPPrice(address: Address, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
12
|
+
export declare function fetchHistoricalPriceFromOracle(auTokenAddress: Address, underlyingDecimal: number, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
13
|
+
export declare function fetchHistoricalPrice(address: Address, provider: providers.Provider, block: number): Promise<BigNumber>;
|
|
14
|
+
export declare function fetchHistoricalPULPPrice(provider: providers.Provider): Promise<BigNumber>;
|
|
15
|
+
export declare function fetchHistoricalPriceByLP(LP: Address, provider: providers.Provider, block: number, tokenNumber?: 0 | 1): Promise<BigNumber>;
|
|
@@ -0,0 +1,142 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.fetchHistoricalPriceByLP = exports.fetchHistoricalPULPPrice = exports.fetchHistoricalPrice = exports.fetchHistoricalPriceFromOracle = exports.fetchHistoricalLPPrice = exports.fetchHistoricalLPPositions = 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 abis_1 = require("../abis");
|
|
8
|
+
const constants_1 = require("../consts/constants");
|
|
9
|
+
const helpers_1 = require("./helpers");
|
|
10
|
+
const multicall_1 = require("./multicall");
|
|
11
|
+
async function fetchHistoricalLPPositions(LPAddress, provider, block) {
|
|
12
|
+
const LPContract = (0, multicall_1.createContract)(LPAddress, abis_1.IUniswapV2PairABI.abi, provider);
|
|
13
|
+
var promises = [];
|
|
14
|
+
promises.push(LPContract.callStatic.token0());
|
|
15
|
+
promises.push(LPContract.callStatic.token1());
|
|
16
|
+
promises.push(LPContract.callStatic.getReserves({ blockTag: block }));
|
|
17
|
+
promises.push(LPContract.callStatic.totalSupply({ blockTag: block }));
|
|
18
|
+
const values = await Promise.all(promises);
|
|
19
|
+
return {
|
|
20
|
+
token0: values[0],
|
|
21
|
+
token1: values[1],
|
|
22
|
+
reserve0: values[2].reserve0,
|
|
23
|
+
reserve1: values[2].reserve1,
|
|
24
|
+
totalSupply: values[3],
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
exports.fetchHistoricalLPPositions = fetchHistoricalLPPositions;
|
|
28
|
+
async function fetchHistoricalLPPrice(address, provider, block) {
|
|
29
|
+
var LPInfo = await fetchHistoricalLPPositions(address, provider, block);
|
|
30
|
+
const LPDecimal = (0, helpers_1.getDecimal)(address);
|
|
31
|
+
async function fetchLPPriceBy(tokenReverse, block) {
|
|
32
|
+
if (tokenReverse.reserve.isZero())
|
|
33
|
+
return new bignumber_js_1.default(0);
|
|
34
|
+
const tokenPrice = await fetchHistoricalPrice(tokenReverse.address, provider, block);
|
|
35
|
+
const tokenDecimal = (0, helpers_1.getDecimal)(tokenReverse.address);
|
|
36
|
+
const reserveUSD = tokenPrice
|
|
37
|
+
.multipliedBy(tokenReverse.reserve.toString())
|
|
38
|
+
.multipliedBy(2);
|
|
39
|
+
return reserveUSD
|
|
40
|
+
.multipliedBy((0, helpers_1.decimalFactor)(LPDecimal))
|
|
41
|
+
.dividedBy(new bignumber_js_1.default(LPInfo.totalSupply.toString()))
|
|
42
|
+
.dividedBy((0, helpers_1.decimalFactor)(tokenDecimal));
|
|
43
|
+
}
|
|
44
|
+
try {
|
|
45
|
+
const lpPrice = await fetchLPPriceBy({
|
|
46
|
+
address: LPInfo.token0,
|
|
47
|
+
reserve: LPInfo.reserve0,
|
|
48
|
+
}, block);
|
|
49
|
+
if (lpPrice.isZero()) {
|
|
50
|
+
throw Error(`Price is zero`);
|
|
51
|
+
}
|
|
52
|
+
return lpPrice;
|
|
53
|
+
}
|
|
54
|
+
catch (e) {
|
|
55
|
+
(0, helpers_1.devLog)(`fetchLPPriceBy ${LPInfo.token0} failed`, e);
|
|
56
|
+
try {
|
|
57
|
+
return await fetchLPPriceBy({
|
|
58
|
+
address: LPInfo.token1,
|
|
59
|
+
reserve: LPInfo.reserve1,
|
|
60
|
+
}, block);
|
|
61
|
+
}
|
|
62
|
+
catch (e) {
|
|
63
|
+
(0, helpers_1.devLog)(`fetchLPPriceBy ${LPInfo.token1} failed`, e);
|
|
64
|
+
throw Error(`Unable to fetch price for both tokens of LP ${address}`);
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
exports.fetchHistoricalLPPrice = fetchHistoricalLPPrice;
|
|
69
|
+
function processPriceFromOracle(rawPrice, underlyingDecimal) {
|
|
70
|
+
return new bignumber_js_1.default(rawPrice.toString()).div((0, helpers_1.decimalFactor)(36 - underlyingDecimal));
|
|
71
|
+
}
|
|
72
|
+
async function fetchHistoricalPriceFromOracle(auTokenAddress, underlyingDecimal, provider, block) {
|
|
73
|
+
const oracleAddress = block < 102438637
|
|
74
|
+
? constants_1.networkAddresses.misc.DEPRECATED_OLD_ORACLE
|
|
75
|
+
: constants_1.networkAddresses.misc.PYTH_ORACLE;
|
|
76
|
+
const oracleContract = (0, multicall_1.createContract)(oracleAddress, abis_1.AuriOracleABI.abi, provider);
|
|
77
|
+
const rawPrice = await oracleContract.callStatic
|
|
78
|
+
.getUnderlyingPrice(auTokenAddress, { blockTag: block })
|
|
79
|
+
.catch((e) => {
|
|
80
|
+
console.log(`Unable to fetch price from oracle for ${auTokenAddress}`);
|
|
81
|
+
return ethers_1.BigNumber.from(0);
|
|
82
|
+
});
|
|
83
|
+
return processPriceFromOracle(rawPrice, underlyingDecimal);
|
|
84
|
+
}
|
|
85
|
+
exports.fetchHistoricalPriceFromOracle = fetchHistoricalPriceFromOracle;
|
|
86
|
+
async function fetchHistoricalPrice(address, provider, block) {
|
|
87
|
+
if (address.toLowerCase() in constants_1.HARDCODE_PRICE_TOKENS) {
|
|
88
|
+
return new bignumber_js_1.default(constants_1.HARDCODE_PRICE_TOKENS[address.toLowerCase()]);
|
|
89
|
+
}
|
|
90
|
+
else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.PLY_WNEAR) ||
|
|
91
|
+
(0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.WNEAR_TRI) ||
|
|
92
|
+
(0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.AURORA_WNEAR)) {
|
|
93
|
+
return fetchHistoricalLPPrice(address, provider, block);
|
|
94
|
+
}
|
|
95
|
+
else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.PLY)) {
|
|
96
|
+
return fetchHistoricalPriceByLP(constants_1.networkAddresses.tokens.PLY_WNEAR, provider, block);
|
|
97
|
+
}
|
|
98
|
+
else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.TRI)) {
|
|
99
|
+
return fetchHistoricalPriceByLP(constants_1.networkAddresses.tokens.WNEAR_TRI, provider, block, 1);
|
|
100
|
+
}
|
|
101
|
+
else if ((0, helpers_1.isSameAddress)(address, constants_1.networkAddresses.tokens.AURORA)) {
|
|
102
|
+
return fetchHistoricalPriceByLP(constants_1.networkAddresses.tokens.AURORA_WNEAR, provider, block);
|
|
103
|
+
}
|
|
104
|
+
const matchingAuToken = constants_1.networkAddresses.auTokens.find((auToken) => {
|
|
105
|
+
return (0, helpers_1.isSameAddress)(auToken.underlying, address);
|
|
106
|
+
});
|
|
107
|
+
if (matchingAuToken !== undefined) {
|
|
108
|
+
return fetchHistoricalPriceFromOracle(matchingAuToken.address, (0, helpers_1.getDecimal)(address), provider, block);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
throw Error(`Unable to fetch price for ${address}`);
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
exports.fetchHistoricalPrice = fetchHistoricalPrice;
|
|
115
|
+
async function fetchHistoricalPULPPrice(provider) {
|
|
116
|
+
return new bignumber_js_1.default(0);
|
|
117
|
+
}
|
|
118
|
+
exports.fetchHistoricalPULPPrice = fetchHistoricalPULPPrice;
|
|
119
|
+
async function fetchHistoricalPriceByLP(LP, provider, block, tokenNumber = 0) {
|
|
120
|
+
let LPInfo = await fetchHistoricalLPPositions(LP, provider, block);
|
|
121
|
+
if (tokenNumber === 1) {
|
|
122
|
+
LPInfo = {
|
|
123
|
+
token0: LPInfo.token1,
|
|
124
|
+
token1: LPInfo.token0,
|
|
125
|
+
reserve0: LPInfo.reserve1,
|
|
126
|
+
reserve1: LPInfo.reserve0,
|
|
127
|
+
totalSupply: LPInfo.totalSupply,
|
|
128
|
+
};
|
|
129
|
+
}
|
|
130
|
+
if (LPInfo.reserve1.isZero()) {
|
|
131
|
+
return new bignumber_js_1.default(0);
|
|
132
|
+
}
|
|
133
|
+
const token0Decimal = (0, helpers_1.getDecimal)(LPInfo.token0);
|
|
134
|
+
const token1Decimal = (0, helpers_1.getDecimal)(LPInfo.token1);
|
|
135
|
+
return (await fetchHistoricalPrice(LPInfo.token1, provider, block))
|
|
136
|
+
.multipliedBy(LPInfo.reserve1.toString())
|
|
137
|
+
.multipliedBy((0, helpers_1.decimalFactor)(token0Decimal))
|
|
138
|
+
.dividedBy((0, helpers_1.decimalFactor)(token1Decimal))
|
|
139
|
+
.dividedBy(LPInfo.reserve0.toString());
|
|
140
|
+
}
|
|
141
|
+
exports.fetchHistoricalPriceByLP = fetchHistoricalPriceByLP;
|
|
142
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGlzdG9yaWNhbFByaWNlRmV0Y2hlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL2hpc3RvcmljYWxQcmljZUZldGNoZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLHdFQUFxQztBQUNyQyxtQ0FBb0Q7QUFDcEQsa0NBQTJEO0FBQzNELG1EQUE4RTtBQUU5RSx1Q0FBNkU7QUFDN0UsMkNBQTZDO0FBRXRDLEtBQUssVUFBVSwwQkFBMEIsQ0FDOUMsU0FBa0IsRUFDbEIsUUFBNEIsRUFDNUIsS0FBYTtJQVFiLE1BQU0sVUFBVSxHQUFHLElBQUEsMEJBQWMsRUFBaUIsU0FBUyxFQUFFLHdCQUFpQixDQUFDLEdBQUcsRUFBRSxRQUFRLENBQUMsQ0FBQztJQUM5RixJQUFJLFFBQVEsR0FBVSxFQUFFLENBQUM7SUFDekIsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUM7SUFDOUMsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEUsUUFBUSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFFLFFBQVEsRUFBRSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDdEUsTUFBTSxNQUFNLEdBQVUsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRWxELE9BQU87UUFDTCxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBVztRQUMzQixNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBVztRQUMzQixRQUFRLEVBQUcsTUFBTSxDQUFDLENBQUMsQ0FB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
|
package/dist/helpers/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
export * from './aurigami-api';
|
|
2
|
-
export * from './aurora-api-helpers';
|
|
3
|
-
export * from './graphql-helpers';
|
|
4
|
-
export * from './helpers';
|
|
5
|
-
export * from './priceFetcher';
|
|
6
|
-
export * from './transfer-event-query';
|
|
7
|
-
export * from './historicalPriceFetcher';
|
|
1
|
+
export * from './aurigami-api';
|
|
2
|
+
export * from './aurora-api-helpers';
|
|
3
|
+
export * from './graphql-helpers';
|
|
4
|
+
export * from './helpers';
|
|
5
|
+
export * from './priceFetcher';
|
|
6
|
+
export * from './transfer-event-query';
|
|
7
|
+
export * from './historicalPriceFetcher';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const tslib_1 = require("tslib");
|
|
4
|
+
tslib_1.__exportStar(require("./aurigami-api"), exports);
|
|
5
|
+
tslib_1.__exportStar(require("./aurora-api-helpers"), exports);
|
|
6
|
+
tslib_1.__exportStar(require("./graphql-helpers"), exports);
|
|
7
|
+
tslib_1.__exportStar(require("./helpers"), exports);
|
|
8
|
+
tslib_1.__exportStar(require("./priceFetcher"), exports);
|
|
9
|
+
tslib_1.__exportStar(require("./transfer-event-query"), exports);
|
|
10
|
+
tslib_1.__exportStar(require("./historicalPriceFetcher"), exports);
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5REFBK0I7QUFDL0IsK0RBQXFDO0FBQ3JDLDREQUFrQztBQUNsQyxvREFBMEI7QUFDMUIseURBQStCO0FBQy9CLGlFQUF1QztBQUN2QyxtRUFBeUMifQ==
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function getSwapInfo(tokenIn: string, tokenOut: string, amountIn: string, onAurora?: boolean): Promise<KyberApiResponse>;
|
|
2
|
-
export
|
|
3
|
-
inputAmount: string;
|
|
4
|
-
outputAmount: string;
|
|
5
|
-
};
|
|
1
|
+
export declare function getSwapInfo(tokenIn: string, tokenOut: string, amountIn: string, onAurora?: boolean): Promise<KyberApiResponse>;
|
|
2
|
+
export type KyberApiResponse = {
|
|
3
|
+
inputAmount: string;
|
|
4
|
+
outputAmount: string;
|
|
5
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getSwapInfo = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
const KYBER_AGGREGATOR_AURORA_API_END_POINT = 'https://aggregator-api.kyberswap.com/aurora/route/encode';
|
|
7
|
+
const KYBER_AGGREGATOR_ETH_API_END_POINT = 'https://aggregator-api.kyberswap.com/ethereum/route/encode';
|
|
8
|
+
async function getSwapInfo(tokenIn, tokenOut, amountIn, onAurora = true) {
|
|
9
|
+
const params = {
|
|
10
|
+
tokenIn,
|
|
11
|
+
tokenOut,
|
|
12
|
+
amountIn,
|
|
13
|
+
to: '0x0000000000000000000000000000000000000000',
|
|
14
|
+
useMeta: '1',
|
|
15
|
+
saveGas: '1',
|
|
16
|
+
gasInclude: '1',
|
|
17
|
+
};
|
|
18
|
+
const endpoint = onAurora
|
|
19
|
+
? KYBER_AGGREGATOR_AURORA_API_END_POINT
|
|
20
|
+
: KYBER_AGGREGATOR_ETH_API_END_POINT;
|
|
21
|
+
const resp = await axios_1.default.get(endpoint + '?' + new URLSearchParams(params), {
|
|
22
|
+
headers: { 'Content-Type': 'application/json' },
|
|
23
|
+
});
|
|
24
|
+
return resp.data;
|
|
25
|
+
}
|
|
26
|
+
exports.getSwapInfo = getSwapInfo;
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3liZXItYWdncmVnYXRvci1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9reWJlci1hZ2dyZWdhdG9yLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBQUEsMERBQTBCO0FBRTFCLE1BQU0scUNBQXFDLEdBQ3pDLDBEQUEwRCxDQUFDO0FBRTdELE1BQU0sa0NBQWtDLEdBQ3RDLDREQUE0RCxDQUFDO0FBRXhELEtBQUssVUFBVSxXQUFXLENBQy9CLE9BQWUsRUFDZixRQUFnQixFQUNoQixRQUFnQixFQUNoQixRQUFRLEdBQUcsSUFBSTtJQUVmLE1BQU0sTUFBTSxHQUFHO1FBQ2IsT0FBTztRQUNQLFFBQVE7UUFDUixRQUFRO1FBQ1IsRUFBRSxFQUFFLDRDQUE0QztRQUNoRCxPQUFPLEVBQUUsR0FBRztRQUNaLE9BQU8sRUFBRSxHQUFHO1FBQ1osVUFBVSxFQUFFLEdBQUc7S0FDaEIsQ0FBQztJQUNGLE1BQU0sUUFBUSxHQUFHLFFBQVE7UUFDdkIsQ0FBQyxDQUFDLHFDQUFxQztRQUN2QyxDQUFDLENBQUMsa0NBQWtDLENBQUM7SUFDdkMsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsR0FBRyxHQUFHLEdBQUcsSUFBSSxlQUFlLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDekUsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO0tBQ2hELENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztBQUNuQixDQUFDO0FBdkJELGtDQXVCQyJ9
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { BlockTag } from '@ethersproject/abstract-provider';
|
|
2
|
+
import type { Provider } from '@ethersproject/providers';
|
|
3
|
+
import { CallOverrides, Contract, ContractInterface, Signer } from 'ethers';
|
|
4
|
+
import { FunctionFragment } from 'ethers/lib/utils';
|
|
5
|
+
import { MulticallOverrides, MulticallStatic } from '../types';
|
|
6
|
+
export declare const DEFAULT_CALL_LIMIT = 32;
|
|
7
|
+
declare class ContractCall {
|
|
8
|
+
fragment: FunctionFragment;
|
|
9
|
+
address: string;
|
|
10
|
+
params: any[];
|
|
11
|
+
constructor({ fragment, address, params, }: {
|
|
12
|
+
fragment: FunctionFragment;
|
|
13
|
+
address: string;
|
|
14
|
+
params: any[];
|
|
15
|
+
});
|
|
16
|
+
}
|
|
17
|
+
export declare class Multicall {
|
|
18
|
+
static isMulticallOverrides(overrides?: CallOverrides): overrides is MulticallOverrides | undefined;
|
|
19
|
+
private multicallContract;
|
|
20
|
+
readonly batchMap: Map<BlockTag, MulticallBatch>;
|
|
21
|
+
readonly callLimit: number;
|
|
22
|
+
readonly multicallStaticSymbol: symbol;
|
|
23
|
+
static wrap<T extends Contract>(contract: T, multicall: Multicall | undefined): MulticallStatic<T>;
|
|
24
|
+
constructor({ address, provider, callLimit, }: {
|
|
25
|
+
address: string;
|
|
26
|
+
provider: Provider | Signer;
|
|
27
|
+
callLimit?: number;
|
|
28
|
+
});
|
|
29
|
+
doAggregateCalls(calls: readonly ContractCall[], blockTag: BlockTag): Promise<any[]>;
|
|
30
|
+
wrap<T extends Contract>(contract_: T): MulticallStatic<T>;
|
|
31
|
+
}
|
|
32
|
+
declare class MulticallBatch {
|
|
33
|
+
private readonly multicallInstance;
|
|
34
|
+
readonly blockTag: BlockTag;
|
|
35
|
+
readonly pendingContractCalls: ContractCall[];
|
|
36
|
+
readonly promise: Promise<any[]>;
|
|
37
|
+
constructor(multicallInstance: Multicall, blockTag?: BlockTag);
|
|
38
|
+
}
|
|
39
|
+
export declare function createContract<T extends Contract>(addressOrName: string, contractInterface: ContractInterface, signerOrProvider: Signer | Provider): MulticallStatic<T>;
|
|
40
|
+
export {};
|
|
@@ -0,0 +1,203 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.createContract = exports.Multicall = exports.DEFAULT_CALL_LIMIT = void 0;
|
|
4
|
+
const ethers_1 = require("ethers");
|
|
5
|
+
const utils_1 = require("ethers/lib/utils");
|
|
6
|
+
const abis_1 = require("../abis");
|
|
7
|
+
const TRANSFORMER = new utils_1.Interface([]);
|
|
8
|
+
exports.DEFAULT_CALL_LIMIT = 32;
|
|
9
|
+
class ContractCall {
|
|
10
|
+
constructor({ fragment, address, params, }) {
|
|
11
|
+
Object.defineProperty(this, "fragment", {
|
|
12
|
+
enumerable: true,
|
|
13
|
+
configurable: true,
|
|
14
|
+
writable: true,
|
|
15
|
+
value: void 0
|
|
16
|
+
});
|
|
17
|
+
Object.defineProperty(this, "address", {
|
|
18
|
+
enumerable: true,
|
|
19
|
+
configurable: true,
|
|
20
|
+
writable: true,
|
|
21
|
+
value: void 0
|
|
22
|
+
});
|
|
23
|
+
Object.defineProperty(this, "params", {
|
|
24
|
+
enumerable: true,
|
|
25
|
+
configurable: true,
|
|
26
|
+
writable: true,
|
|
27
|
+
value: void 0
|
|
28
|
+
});
|
|
29
|
+
this.fragment = fragment;
|
|
30
|
+
this.address = address;
|
|
31
|
+
this.params = params;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
class Multicall {
|
|
35
|
+
static isMulticallOverrides(overrides) {
|
|
36
|
+
if (overrides === undefined) {
|
|
37
|
+
return true;
|
|
38
|
+
}
|
|
39
|
+
for (const key of Object.keys(overrides)) {
|
|
40
|
+
if (key !== 'blockTag' && overrides[key] != undefined) {
|
|
41
|
+
return false;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return true;
|
|
45
|
+
}
|
|
46
|
+
static wrap(contract, multicall) {
|
|
47
|
+
return multicall ? multicall.wrap(contract) : contract;
|
|
48
|
+
}
|
|
49
|
+
constructor({ address, provider, callLimit, }) {
|
|
50
|
+
Object.defineProperty(this, "multicallContract", {
|
|
51
|
+
enumerable: true,
|
|
52
|
+
configurable: true,
|
|
53
|
+
writable: true,
|
|
54
|
+
value: void 0
|
|
55
|
+
});
|
|
56
|
+
Object.defineProperty(this, "batchMap", {
|
|
57
|
+
enumerable: true,
|
|
58
|
+
configurable: true,
|
|
59
|
+
writable: true,
|
|
60
|
+
value: new Map()
|
|
61
|
+
});
|
|
62
|
+
Object.defineProperty(this, "callLimit", {
|
|
63
|
+
enumerable: true,
|
|
64
|
+
configurable: true,
|
|
65
|
+
writable: true,
|
|
66
|
+
value: void 0
|
|
67
|
+
});
|
|
68
|
+
Object.defineProperty(this, "multicallStaticSymbol", {
|
|
69
|
+
enumerable: true,
|
|
70
|
+
configurable: true,
|
|
71
|
+
writable: true,
|
|
72
|
+
value: Symbol.for('multicallStatic')
|
|
73
|
+
});
|
|
74
|
+
this.multicallContract = new ethers_1.Contract(address, abis_1.Multicall2ABI.abi, provider);
|
|
75
|
+
this.callLimit = callLimit ?? exports.DEFAULT_CALL_LIMIT;
|
|
76
|
+
}
|
|
77
|
+
async doAggregateCalls(calls, blockTag) {
|
|
78
|
+
const callRequests = calls.map((call) => ({
|
|
79
|
+
target: call.address,
|
|
80
|
+
callData: TRANSFORMER.encodeFunctionData(call.fragment, call.params),
|
|
81
|
+
}));
|
|
82
|
+
const responses = await this.multicallContract.callStatic.tryAggregate(false, callRequests, {
|
|
83
|
+
blockTag: blockTag,
|
|
84
|
+
});
|
|
85
|
+
const result = calls.map((call, i) => {
|
|
86
|
+
const [success, returnData] = responses[i];
|
|
87
|
+
try {
|
|
88
|
+
const outputs = call.fragment.outputs;
|
|
89
|
+
const params = TRANSFORMER.decodeFunctionResult(call.fragment, returnData);
|
|
90
|
+
if (!success) {
|
|
91
|
+
const callId = utils_1.FunctionFragment.from(call.fragment).format();
|
|
92
|
+
throw new Error(`Call ${call.address}:${callId} failed`);
|
|
93
|
+
}
|
|
94
|
+
return outputs.length === 1 ? params[0] : params;
|
|
95
|
+
}
|
|
96
|
+
catch (e) {
|
|
97
|
+
if (e.reason == null) {
|
|
98
|
+
e.reason = 'Call failed for unknown reason';
|
|
99
|
+
}
|
|
100
|
+
return e;
|
|
101
|
+
}
|
|
102
|
+
});
|
|
103
|
+
return result;
|
|
104
|
+
}
|
|
105
|
+
wrap(contract_) {
|
|
106
|
+
const contract = contract_;
|
|
107
|
+
if (contract[this.multicallStaticSymbol]) {
|
|
108
|
+
return contract[this.multicallStaticSymbol];
|
|
109
|
+
}
|
|
110
|
+
const functions = contract_.interface.functions;
|
|
111
|
+
const funcs = {};
|
|
112
|
+
for (const [_, fn] of Object.entries(functions)) {
|
|
113
|
+
funcs[fn.name] = async (...params) => {
|
|
114
|
+
let blockTag = 'latest';
|
|
115
|
+
if (params.length === fn.inputs.length + 1) {
|
|
116
|
+
const overrides = params.pop() ?? {};
|
|
117
|
+
if (!Multicall.isMulticallOverrides(overrides)) {
|
|
118
|
+
throw new Error('Overrides for multicall should contain only blockTag property');
|
|
119
|
+
}
|
|
120
|
+
blockTag = (await overrides.blockTag) ?? 'latest';
|
|
121
|
+
}
|
|
122
|
+
const contractCall = new ContractCall({
|
|
123
|
+
fragment: fn,
|
|
124
|
+
address: contract.address,
|
|
125
|
+
params,
|
|
126
|
+
});
|
|
127
|
+
const res = new Promise((resolve, reject) => {
|
|
128
|
+
let currentBatch = this.batchMap.get(blockTag);
|
|
129
|
+
if (currentBatch === undefined) {
|
|
130
|
+
currentBatch = new MulticallBatch(this, blockTag);
|
|
131
|
+
this.batchMap.set(blockTag, currentBatch);
|
|
132
|
+
}
|
|
133
|
+
const dataPos = currentBatch.pendingContractCalls.length;
|
|
134
|
+
currentBatch.pendingContractCalls.push(contractCall);
|
|
135
|
+
currentBatch.promise
|
|
136
|
+
.then((currentResult) => currentResult[dataPos] instanceof Error
|
|
137
|
+
? reject(currentResult[dataPos])
|
|
138
|
+
: resolve(currentResult[dataPos]))
|
|
139
|
+
.catch(reject);
|
|
140
|
+
if (currentBatch.pendingContractCalls.length >= this.callLimit) {
|
|
141
|
+
this.batchMap.delete(blockTag);
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
return res;
|
|
145
|
+
};
|
|
146
|
+
}
|
|
147
|
+
const res = {
|
|
148
|
+
callStatic: funcs,
|
|
149
|
+
address: contract.address,
|
|
150
|
+
raw: contract,
|
|
151
|
+
};
|
|
152
|
+
Object.assign(contract, { [this.multicallStaticSymbol]: res });
|
|
153
|
+
return res;
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
exports.Multicall = Multicall;
|
|
157
|
+
class MulticallBatch {
|
|
158
|
+
constructor(multicallInstance, blockTag = 'latest') {
|
|
159
|
+
Object.defineProperty(this, "multicallInstance", {
|
|
160
|
+
enumerable: true,
|
|
161
|
+
configurable: true,
|
|
162
|
+
writable: true,
|
|
163
|
+
value: multicallInstance
|
|
164
|
+
});
|
|
165
|
+
Object.defineProperty(this, "blockTag", {
|
|
166
|
+
enumerable: true,
|
|
167
|
+
configurable: true,
|
|
168
|
+
writable: true,
|
|
169
|
+
value: blockTag
|
|
170
|
+
});
|
|
171
|
+
Object.defineProperty(this, "pendingContractCalls", {
|
|
172
|
+
enumerable: true,
|
|
173
|
+
configurable: true,
|
|
174
|
+
writable: true,
|
|
175
|
+
value: []
|
|
176
|
+
});
|
|
177
|
+
Object.defineProperty(this, "promise", {
|
|
178
|
+
enumerable: true,
|
|
179
|
+
configurable: true,
|
|
180
|
+
writable: true,
|
|
181
|
+
value: void 0
|
|
182
|
+
});
|
|
183
|
+
this.promise = Promise.resolve().then(async () => {
|
|
184
|
+
if (this.multicallInstance.batchMap.get(this.blockTag) === this) {
|
|
185
|
+
this.multicallInstance.batchMap.delete(this.blockTag);
|
|
186
|
+
}
|
|
187
|
+
return this.multicallInstance.doAggregateCalls(this.pendingContractCalls, this.blockTag);
|
|
188
|
+
});
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
let multicall;
|
|
192
|
+
function createContract(addressOrName, contractInterface, signerOrProvider) {
|
|
193
|
+
const contract = new ethers_1.Contract(addressOrName, contractInterface, signerOrProvider);
|
|
194
|
+
if (!multicall) {
|
|
195
|
+
multicall = new Multicall({
|
|
196
|
+
address: '0xcA11bde05977b3631167028862bE2a173976CA11',
|
|
197
|
+
provider: signerOrProvider,
|
|
198
|
+
});
|
|
199
|
+
}
|
|
200
|
+
return Multicall.wrap(contract, multicall);
|
|
201
|
+
}
|
|
202
|
+
exports.createContract = createContract;
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGljYWxsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hlbHBlcnMvbXVsdGljYWxsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUdBLG1DQUE0RTtBQUM1RSw0Q0FBK0Q7QUFDL0Qsa0NBQXdDO0FBcUN4QyxNQUFNLFdBQVcsR0FBRyxJQUFJLGlCQUFTLENBQUMsRUFBRSxDQUFDLENBQUM7QUFDekIsUUFBQSxrQkFBa0IsR0FBRyxFQUFFLENBQUM7QUFFckMsTUFBTSxZQUFZO0lBS2hCLFlBQVksRUFDVixRQUFRLEVBQ1IsT0FBTyxFQUNQLE1BQU0sR0FLUDtRQVpEOzs7OztXQUEyQjtRQUMzQjs7Ozs7V0FBZ0I7UUFDaEI7Ozs7O1dBQWM7UUFXWixJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0NBQ0Y7QUFFRCxNQUFhLFNBQVM7SUFDcEIsTUFBTSxDQUFDLG9CQUFvQixDQUN6QixTQUF5QjtRQUV6QixJQUFJLFNBQVMsS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUM1QixPQUFPLElBQUksQ0FBQztRQUNkLENBQUM7UUFDRCxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztZQUN6QyxJQUFJLEdBQUcsS0FBSyxVQUFVLElBQUssU0FBaUIsQ0FBQyxHQUFHLENBQUMsSUFBSSxTQUFTLEVBQUUsQ0FBQztnQkFDL0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDO1FBQ0gsQ0FBQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQWtCRCxNQUFNLENBQUMsSUFBSSxDQUNULFFBQVcsRUFDWCxTQUFnQztRQUVoQyxPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUUsUUFBMEMsQ0FBQztJQUM1RixDQUFDO0lBRUQsWUFBWSxFQUNWLE9BQU8sRUFDUCxRQUFRLEVBQ1IsU0FBUyxHQUtWO1FBL0JPOzs7OztXQUE0QjtRQUNwQjs7OzttQkFBVyxJQUFJLEdBQUcsRUFBNEI7V0FBQztRQUN0RDs7Ozs7V0FBa0I7UUFHbEI7Ozs7bUJBQXdCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUM7V0FBQztRQTJCN0QsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksaUJBQVEsQ0FBQyxPQUFPLEVBQUUsb0JBQWEsQ0FBQyxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLElBQUksMEJBQWtCLENBQUM7SUFDbkQsQ0FBQztJQUVELEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxLQUE4QixFQUFFLFFBQWtCO1FBQ3ZFLE1BQU0sWUFBWSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7WUFDeEMsTUFBTSxFQUFFLElBQUksQ0FBQyxPQUFPO1lBQ3BCLFFBQVEsRUFBRSxXQUFXLENBQUMsa0JBQWtCLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDO1NBQ3JFLENBQUMsQ0FBQyxDQUFDO1FBRUosTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxLQUFLLEVBQUUsWUFBWSxFQUFFO1lBQzFGLFFBQVEsRUFBRSxRQUFRO1NBQ25CLENBQUMsQ0FBQztRQUVILE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDbkMsTUFBTSxDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsR0FBRyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFFM0MsSUFBSSxDQUFDO2dCQUNILE1BQU0sT0FBTyxHQUFVLElBQUksQ0FBQyxRQUFRLENBQUMsT0FBUSxDQUFDO2dCQUM5QyxNQUFNLE1BQU0sR0FBRyxXQUFXLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQztnQkFJM0UsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO29CQUNiLE1BQU0sTUFBTSxHQUFHLHdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUM7b0JBQzdELE1BQU0sSUFBSSxLQUFLLENBQUMsUUFBUSxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sU0FBUyxDQUFDLENBQUM7Z0JBQzNELENBQUM7Z0JBRUQsT0FBTyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDbkQsQ0FBQztZQUFDLE9BQU8sQ0FBTSxFQUFFLENBQUM7Z0JBQ2hCLElBQUksQ0FBQyxDQUFDLE1BQU0sSUFBSSxJQUFJLEVBQUUsQ0FBQztvQkFDckIsQ0FBQyxDQUFDLE1BQU0sR0FBRyxnQ0FBZ0MsQ0FBQztnQkFDOUMsQ0FBQztnQkFDRCxPQUFPLENBQUMsQ0FBQztZQUNYLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCxJQUFJLENBQXFCLFNBQVk7UUFDbkMsTUFBTSxRQUFRLEdBQUcsU0FBd0QsQ0FBQztRQUMxRSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsRUFBRSxDQUFDO1lBQ3pDLE9BQU8sUUFBUSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxNQUFNLFNBQVMsR0FBRyxTQUFTLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUNoRCxNQUFNLEtBQUssR0FBcUQsRUFBRSxDQUFDO1FBRW5FLEtBQUssTUFBTSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7WUFDaEQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEVBQUUsR0FBRyxNQUFhLEVBQUUsRUFBRTtnQkFDMUMsSUFBSSxRQUFRLEdBQWEsUUFBUSxDQUFDO2dCQUNsQyxJQUFJLE1BQU0sQ0FBQyxNQUFNLEtBQUssRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7b0JBQzNDLE1BQU0sU0FBUyxHQUF1QixNQUFNLENBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxDQUFDO29CQUN6RCxJQUFJLENBQUMsU0FBUyxDQUFDLG9CQUFvQixDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUM7d0JBQy9DLE1BQU0sSUFBSSxLQUFLLENBQUMsK0RBQStELENBQUMsQ0FBQztvQkFDbkYsQ0FBQztvQkFDRCxRQUFRLEdBQUcsQ0FBQyxNQUFNLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxRQUFRLENBQUM7Z0JBQ3BELENBQUM7Z0JBRUQsTUFBTSxZQUFZLEdBQUcsSUFBSSxZQUFZLENBQUM7b0JBQ3BDLFFBQVEsRUFBRSxFQUFFO29CQUNaLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztvQkFDekIsTUFBTTtpQkFDUCxDQUFDLENBQUM7Z0JBQ0gsTUFBTSxHQUFHLEdBQUcsSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7b0JBQzFDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxDQUFDO29CQUMvQyxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUUsQ0FBQzt3QkFDL0IsWUFBWSxHQUFHLElBQUksY0FBYyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQzt3QkFDbEQsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsUUFBUSxFQUFFLFlBQVksQ0FBQyxDQUFDO29CQUM1QyxDQUFDO29CQUNELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7b0JBQ3pELFlBQVksQ0FBQyxvQkFBb0IsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUM7b0JBQ3JELFlBQVksQ0FBQyxPQUFPO3lCQUNqQixJQUFJLENBQUMsQ0FBQyxhQUFhLEVBQUUsRUFBRSxDQUN0QixhQUFhLENBQUMsT0FBTyxDQUFDLFlBQVksS0FBSzt3QkFDckMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUM7d0JBQ2hDLENBQUMsQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQ3BDO3lCQUNBLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDakIsSUFBSSxZQUFZLENBQUMsb0JBQW9CLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQzt3QkFDL0QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7b0JBQ2pDLENBQUM7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7Z0JBRUgsT0FBTyxHQUFHLENBQUM7WUFDYixDQUFDLENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxHQUFHLEdBQUc7WUFDVixVQUFVLEVBQUUsS0FBSztZQUNqQixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87WUFDekIsR0FBRyxFQUFFLFFBQVE7U0FDbUIsQ0FBQztRQUduQyxNQUFNLENBQUMsTUFBTSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztRQUUvRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRjtBQWxKRCw4QkFrSkM7QUFFRCxNQUFNLGNBQWM7SUFJbEIsWUFDbUIsaUJBQTRCLEVBQ3BDLFdBQXFCLFFBQVE7UUFEdEM7Ozs7bUJBQWlCLGlCQUFpQjtXQUFXO1FBQzdDOzs7O21CQUFTLFFBQVE7V0FBcUI7UUFML0I7Ozs7bUJBQXVDLEVBQUU7V0FBQztRQUMxQzs7Ozs7V0FBd0I7UUFNL0IsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBSS9DLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO2dCQUNoRSxJQUFJLENBQUMsaUJBQWlCLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7WUFDeEQsQ0FBQztZQUdELE9BQU8sSUFBSSxDQUFDLGlCQUFpQixDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxvQkFBb0IsRUFBRSxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDM0YsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0Y7QUFFRCxJQUFJLFNBQWdDLENBQUM7QUFFckMsU0FBZ0IsY0FBYyxDQUM1QixhQUFxQixFQUNyQixpQkFBb0MsRUFDcEMsZ0JBQW1DO0lBRW5DLE1BQU0sUUFBUSxHQUFHLElBQUksaUJBQVEsQ0FBQyxhQUFhLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLENBQU0sQ0FBQztJQUN2RixJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7UUFDZixTQUFTLEdBQUcsSUFBSSxTQUFTLENBQUM7WUFDeEIsT0FBTyxFQUFFLDRDQUE0QztZQUNyRCxRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxDQUFDO0FBQzdDLENBQUM7QUFiRCx3Q0FhQyJ9
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export declare function getApi(url: string, params?: Record<string, any>): Promise<any>;
|
|
2
|
-
export declare function postApi(url: string, body: Record<string, any>): Promise<any>;
|
|
1
|
+
export declare function getApi(url: string, params?: Record<string, any>): Promise<any>;
|
|
2
|
+
export declare function postApi(url: string, body: Record<string, any>): Promise<any>;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.postApi = exports.getApi = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
const NOTIFICATION_API_END_POINT = 'https://api.aurigami.finance/notification/';
|
|
7
|
+
async function getApi(url, params = {}) {
|
|
8
|
+
const resp = await axios_1.default.get(NOTIFICATION_API_END_POINT + url + '?' + new URLSearchParams(params), {
|
|
9
|
+
headers: { 'Content-Type': 'application/json' },
|
|
10
|
+
});
|
|
11
|
+
return resp.data;
|
|
12
|
+
}
|
|
13
|
+
exports.getApi = getApi;
|
|
14
|
+
async function postApi(url, body) {
|
|
15
|
+
const resp = await axios_1.default.post(NOTIFICATION_API_END_POINT + url, body, {
|
|
16
|
+
headers: { 'Content-Type': 'application/json' },
|
|
17
|
+
});
|
|
18
|
+
return resp.data;
|
|
19
|
+
}
|
|
20
|
+
exports.postApi = postApi;
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90aWZpY2F0aW9uLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9oZWxwZXJzL25vdGlmaWNhdGlvbi1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLDBEQUEwQjtBQUUxQixNQUFNLDBCQUEwQixHQUFHLDRDQUE0QyxDQUFDO0FBRXpFLEtBQUssVUFBVSxNQUFNLENBQUMsR0FBVyxFQUFFLFNBQThCLEVBQUU7SUFDeEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFLLENBQUMsR0FBRyxDQUMxQiwwQkFBMEIsR0FBRyxHQUFHLEdBQUcsR0FBRyxHQUFHLElBQUksZUFBZSxDQUFDLE1BQU0sQ0FBQyxFQUNwRTtRQUNFLE9BQU8sRUFBRSxFQUFFLGNBQWMsRUFBRSxrQkFBa0IsRUFBRTtLQUNoRCxDQUNGLENBQUM7SUFFRixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7QUFDbkIsQ0FBQztBQVRELHdCQVNDO0FBRU0sS0FBSyxVQUFVLE9BQU8sQ0FBQyxHQUFXLEVBQUUsSUFBeUI7SUFDbEUsTUFBTSxJQUFJLEdBQUcsTUFBTSxlQUFLLENBQUMsSUFBSSxDQUFDLDBCQUEwQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUU7UUFDcEUsT0FBTyxFQUFFLEVBQUUsY0FBYyxFQUFFLGtCQUFrQixFQUFFO0tBQ2hELENBQUMsQ0FBQztJQUVILE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztBQUNuQixDQUFDO0FBTkQsMEJBTUMifQ==
|
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export declare function getQuoteOneInch(fromTokenAddress: string, toTokenAddress: string, amount: string): Promise<OneInchApiResponse>;
|
|
2
|
-
export
|
|
3
|
-
fromToken: {
|
|
4
|
-
symbol: string;
|
|
5
|
-
name: string;
|
|
6
|
-
decimals: number;
|
|
7
|
-
address: string;
|
|
8
|
-
logoURI: string;
|
|
9
|
-
tags: string[];
|
|
10
|
-
};
|
|
11
|
-
toToken: {
|
|
12
|
-
symbol: string;
|
|
13
|
-
name: string;
|
|
14
|
-
decimals: number;
|
|
15
|
-
address: string;
|
|
16
|
-
logoURI: string;
|
|
17
|
-
tags: string[];
|
|
18
|
-
};
|
|
19
|
-
toTokenAmount: string;
|
|
20
|
-
fromTokenAmount: string;
|
|
21
|
-
};
|
|
1
|
+
export declare function getQuoteOneInch(fromTokenAddress: string, toTokenAddress: string, amount: string): Promise<OneInchApiResponse>;
|
|
2
|
+
export type OneInchApiResponse = {
|
|
3
|
+
fromToken: {
|
|
4
|
+
symbol: string;
|
|
5
|
+
name: string;
|
|
6
|
+
decimals: number;
|
|
7
|
+
address: string;
|
|
8
|
+
logoURI: string;
|
|
9
|
+
tags: string[];
|
|
10
|
+
};
|
|
11
|
+
toToken: {
|
|
12
|
+
symbol: string;
|
|
13
|
+
name: string;
|
|
14
|
+
decimals: number;
|
|
15
|
+
address: string;
|
|
16
|
+
logoURI: string;
|
|
17
|
+
tags: string[];
|
|
18
|
+
};
|
|
19
|
+
toTokenAmount: string;
|
|
20
|
+
fromTokenAmount: string;
|
|
21
|
+
};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getQuoteOneInch = void 0;
|
|
4
|
+
const tslib_1 = require("tslib");
|
|
5
|
+
const axios_1 = tslib_1.__importDefault(require("axios"));
|
|
6
|
+
const ONEINCH_AGGREGATOR_API_END_POINT = 'https://api.1inch.io/v5.0/1313161554/quote';
|
|
7
|
+
async function getQuoteOneInch(fromTokenAddress, toTokenAddress, amount) {
|
|
8
|
+
const params = {
|
|
9
|
+
fromTokenAddress,
|
|
10
|
+
toTokenAddress,
|
|
11
|
+
amount,
|
|
12
|
+
};
|
|
13
|
+
const resp = await axios_1.default.get(ONEINCH_AGGREGATOR_API_END_POINT + '?' + new URLSearchParams(params), {
|
|
14
|
+
headers: { 'Content-Type': 'application/json' },
|
|
15
|
+
});
|
|
16
|
+
return resp.data;
|
|
17
|
+
}
|
|
18
|
+
exports.getQuoteOneInch = getQuoteOneInch;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib25lLWluY2gtYWdncmVnYXRvci1hcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaGVscGVycy9vbmUtaW5jaC1hZ2dyZWdhdG9yLWFwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7O0FBRUEsMERBQTBCO0FBRTFCLE1BQU0sZ0NBQWdDLEdBQUcsNENBQTRDLENBQUM7QUFFL0UsS0FBSyxVQUFVLGVBQWUsQ0FDbkMsZ0JBQXdCLEVBQ3hCLGNBQXNCLEVBQ3RCLE1BQWM7SUFFZCxNQUFNLE1BQU0sR0FBRztRQUNiLGdCQUFnQjtRQUNoQixjQUFjO1FBQ2QsTUFBTTtLQUNQLENBQUM7SUFDRixNQUFNLElBQUksR0FBRyxNQUFNLGVBQUssQ0FBQyxHQUFHLENBQzFCLGdDQUFnQyxHQUFHLEdBQUcsR0FBRyxJQUFJLGVBQWUsQ0FBQyxNQUFNLENBQUMsRUFDcEU7UUFDRSxPQUFPLEVBQUUsRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUU7S0FDaEQsQ0FDRixDQUFDO0lBQ0YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO0FBQ25CLENBQUM7QUFqQkQsMENBaUJDIn0=
|