@augustdigital/sdk 4.15.0 → 4.15.2-alpha.2
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/lib/adapters/solana/getters.js +3 -0
- package/lib/adapters/solana/getters.js.map +1 -1
- package/lib/adapters/sui/constants.d.ts +1 -0
- package/lib/adapters/sui/constants.js +8 -1
- package/lib/adapters/sui/constants.js.map +1 -1
- package/lib/adapters/sui/transformer.js +1 -0
- package/lib/adapters/sui/transformer.js.map +1 -1
- package/lib/core/constants/vaults.d.ts +3 -2
- package/lib/core/constants/vaults.js +61 -59
- package/lib/core/constants/vaults.js.map +1 -1
- package/lib/core/constants.adapters.d.ts +117 -0
- package/lib/core/constants.adapters.js +160 -0
- package/lib/core/constants.adapters.js.map +1 -0
- package/lib/core/constants.core.d.ts +78 -0
- package/lib/core/constants.core.js +75 -0
- package/lib/core/constants.core.js.map +1 -0
- package/lib/core/constants.d.ts +96 -0
- package/lib/core/constants.js +148 -0
- package/lib/core/constants.js.map +1 -0
- package/lib/core/constants.vaults.d.ts +64 -0
- package/lib/core/constants.vaults.js +155 -0
- package/lib/core/constants.vaults.js.map +1 -0
- package/lib/core/constants.web3.d.ts +31 -0
- package/lib/core/constants.web3.js +112 -0
- package/lib/core/constants.web3.js.map +1 -0
- package/lib/core/core.helpers.d.ts +48 -0
- package/lib/core/core.helpers.js +210 -0
- package/lib/core/core.helpers.js.map +1 -0
- package/lib/core/fetcher.js +34 -16
- package/lib/core/fetcher.js.map +1 -1
- package/lib/core/helpers/core.js +9 -1
- package/lib/core/helpers/core.js.map +1 -1
- package/lib/core/helpers/vaults.js +2 -2
- package/lib/core/helpers.adapters.d.ts +9 -0
- package/lib/core/helpers.adapters.js +28 -0
- package/lib/core/helpers.adapters.js.map +1 -0
- package/lib/core/helpers.core.d.ts +48 -0
- package/lib/core/helpers.core.js +210 -0
- package/lib/core/helpers.core.js.map +1 -0
- package/lib/core/helpers.signer.d.ts +9 -0
- package/lib/core/helpers.signer.js +54 -0
- package/lib/core/helpers.signer.js.map +1 -0
- package/lib/core/helpers.vaults.d.ts +36 -0
- package/lib/core/helpers.vaults.js +145 -0
- package/lib/core/helpers.vaults.js.map +1 -0
- package/lib/core/helpers.web3.d.ts +95 -0
- package/lib/core/helpers.web3.js +376 -0
- package/lib/core/helpers.web3.js.map +1 -0
- package/lib/core/read.actions.d.ts +6 -0
- package/lib/core/read.actions.js +39 -0
- package/lib/core/read.actions.js.map +1 -0
- package/lib/core/web3.helpers.d.ts +95 -0
- package/lib/core/web3.helpers.js +356 -0
- package/lib/core/web3.helpers.js.map +1 -0
- package/lib/core/write.actions.d.ts +12 -0
- package/lib/core/write.actions.js +51 -0
- package/lib/core/write.actions.js.map +1 -0
- package/lib/index.d.ts +1 -1
- package/lib/main.d.ts +5 -0
- package/lib/main.js +3 -0
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/constants.d.ts +109 -0
- package/lib/modules/vaults/constants.js +194 -0
- package/lib/modules/vaults/constants.js.map +1 -0
- package/lib/modules/vaults/getters.d.ts +5 -0
- package/lib/modules/vaults/getters.js +47 -0
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +7 -2
- package/lib/modules/vaults/main.js +21 -1
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/utils.js +13 -2
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/vault.actions.d.ts +19 -0
- package/lib/modules/vaults/vault.actions.js +95 -0
- package/lib/modules/vaults/vault.actions.js.map +1 -0
- package/lib/modules/vaults/write.actions.js +17 -15
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/subgraph/vaults.js +25 -13
- package/lib/services/subgraph/vaults.js.map +1 -1
- package/lib/types/vaults.d.ts +1 -0
- package/lib/types/vaults.js.map +1 -1
- package/lib/verify.d.ts +2 -0
- package/lib/verify.js +33 -0
- package/lib/verify.js.map +1 -0
- package/package.json +1 -1
|
@@ -117,11 +117,11 @@ const SUBGRAPH_POOL_URLS = (apiKey, chainId, pool) => {
|
|
|
117
117
|
throw new Error(`Pool address is required for chainId ${chainId}`);
|
|
118
118
|
}
|
|
119
119
|
switch (pool) {
|
|
120
|
-
case vaults_1.VAULT_SYMBOLS_REVERSE.
|
|
120
|
+
case vaults_1.VAULT_SYMBOLS_REVERSE.hbhype:
|
|
121
121
|
return {
|
|
122
122
|
999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hyperbeat/1.0.0/gn',
|
|
123
123
|
};
|
|
124
|
-
case vaults_1.VAULT_SYMBOLS_REVERSE.
|
|
124
|
+
case vaults_1.VAULT_SYMBOLS_REVERSE.hbbtc:
|
|
125
125
|
return {
|
|
126
126
|
999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hbBTC/1.0.0/gn',
|
|
127
127
|
};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { IAddress, IVaultAdapterConfig } from '../types';
|
|
2
|
+
export declare function getVaultAdapterConfig(
|
|
3
|
+
vaultAddress: IAddress,
|
|
4
|
+
): IVaultAdapterConfig | undefined;
|
|
5
|
+
export declare function vaultHasAdapter(vaultAddress: IAddress): boolean;
|
|
6
|
+
export declare function getVaultDepositTokens(
|
|
7
|
+
vaultAddress: IAddress,
|
|
8
|
+
underlyingToken: IAddress,
|
|
9
|
+
): IAddress[];
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getVaultAdapterConfig = getVaultAdapterConfig;
|
|
4
|
+
exports.vaultHasAdapter = vaultHasAdapter;
|
|
5
|
+
exports.getVaultDepositTokens = getVaultDepositTokens;
|
|
6
|
+
const constants_adapters_1 = require("./constants.adapters");
|
|
7
|
+
function getVaultAdapterConfig(vaultAddress) {
|
|
8
|
+
return constants_adapters_1.VAULT_ADAPTER_CONFIGS[vaultAddress];
|
|
9
|
+
}
|
|
10
|
+
function vaultHasAdapter(vaultAddress) {
|
|
11
|
+
return !!constants_adapters_1.VAULT_ADAPTER_CONFIGS[vaultAddress];
|
|
12
|
+
}
|
|
13
|
+
function getVaultDepositTokens(vaultAddress, underlyingToken) {
|
|
14
|
+
const adapterConfig = getVaultAdapterConfig(vaultAddress);
|
|
15
|
+
if (!adapterConfig) {
|
|
16
|
+
return [underlyingToken];
|
|
17
|
+
}
|
|
18
|
+
const allTokens = [underlyingToken];
|
|
19
|
+
if (adapterConfig.tokens && adapterConfig.tokens.length > 0) {
|
|
20
|
+
adapterConfig.tokens.forEach((token) => {
|
|
21
|
+
if (!allTokens.includes(token)) {
|
|
22
|
+
allTokens.push(token);
|
|
23
|
+
}
|
|
24
|
+
});
|
|
25
|
+
}
|
|
26
|
+
return allTokens;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=helpers.adapters.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.adapters.js","sourceRoot":"","sources":["../../src.ts/core/helpers.adapters.ts"],"names":[],"mappings":";;AAMA,sDAIC;AAKD,0CAEC;AAKD,sDAuBC;AA5CD,6DAA6D;AAK7D,SAAgB,qBAAqB,CACnC,YAAsB;IAEtB,OAAO,0CAAqB,CAAC,YAAY,CAAC,CAAC;AAC7C,CAAC;AAKD,SAAgB,eAAe,CAAC,YAAsB;IACpD,OAAO,CAAC,CAAC,0CAAqB,CAAC,YAAY,CAAC,CAAC;AAC/C,CAAC;AAKD,SAAgB,qBAAqB,CACnC,YAAsB,EACtB,eAAyB;IAEzB,MAAM,aAAa,GAAG,qBAAqB,CAAC,YAAY,CAAC,CAAC;IAE1D,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAGD,MAAM,SAAS,GAAG,CAAC,eAAe,CAAC,CAAC;IAEpC,IAAI,aAAa,CAAC,MAAM,IAAI,aAAa,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAE5D,aAAa,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC/B,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACxB,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import { INormalizedNumber } from '../types';
|
|
2
|
+
export declare function toNormalizedBn(
|
|
3
|
+
value: string | bigint | number,
|
|
4
|
+
decimals?: number | BigInt,
|
|
5
|
+
): INormalizedNumber;
|
|
6
|
+
export declare function getFallbackRpcUrls(chainId: number): string[];
|
|
7
|
+
export declare const filterOutBySize: (usdAmount: number) => boolean;
|
|
8
|
+
export declare function toTitleCase(str: string, type?: 'camel'): string;
|
|
9
|
+
export declare function truncate(s: string, amount?: number): string;
|
|
10
|
+
export declare function round(
|
|
11
|
+
value: number | string | bigint,
|
|
12
|
+
options?: {
|
|
13
|
+
showing?: number | 'all';
|
|
14
|
+
usd?: boolean;
|
|
15
|
+
decimals?: number;
|
|
16
|
+
},
|
|
17
|
+
): string;
|
|
18
|
+
export declare function loanStateToReadable(
|
|
19
|
+
loanState: number | bigint,
|
|
20
|
+
):
|
|
21
|
+
| 'PREAPPROVED'
|
|
22
|
+
| 'FUNDING_REQUIRED'
|
|
23
|
+
| 'FUNDED'
|
|
24
|
+
| 'ACTIVE'
|
|
25
|
+
| 'CANCELLED'
|
|
26
|
+
| 'MATURED'
|
|
27
|
+
| 'CLOSED';
|
|
28
|
+
export declare function dateToUnix(date: Date): number;
|
|
29
|
+
export declare function unixToDate(epoch: number): Date;
|
|
30
|
+
export declare function isEarlierThanNow(startTime: Date): boolean;
|
|
31
|
+
export declare function daysAgo(days: number): Date;
|
|
32
|
+
export declare function prepareDateForDb(date: string | Date): string;
|
|
33
|
+
export declare function orderObjArrByDate(
|
|
34
|
+
objectArray: any[],
|
|
35
|
+
options?: {
|
|
36
|
+
key?: string;
|
|
37
|
+
order?: 'asc' | 'desc';
|
|
38
|
+
},
|
|
39
|
+
): any[];
|
|
40
|
+
export declare function calculateWeights(
|
|
41
|
+
data?: Array<any>,
|
|
42
|
+
weightProperty?: string,
|
|
43
|
+
): any[];
|
|
44
|
+
export declare function calculateWeightedAverage(
|
|
45
|
+
data?: Array<any>,
|
|
46
|
+
valueProperty?: string,
|
|
47
|
+
weightProperty?: string,
|
|
48
|
+
): any;
|
|
@@ -0,0 +1,210 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.filterOutBySize = void 0;
|
|
4
|
+
exports.toNormalizedBn = toNormalizedBn;
|
|
5
|
+
exports.getFallbackRpcUrls = getFallbackRpcUrls;
|
|
6
|
+
exports.toTitleCase = toTitleCase;
|
|
7
|
+
exports.truncate = truncate;
|
|
8
|
+
exports.round = round;
|
|
9
|
+
exports.loanStateToReadable = loanStateToReadable;
|
|
10
|
+
exports.dateToUnix = dateToUnix;
|
|
11
|
+
exports.unixToDate = unixToDate;
|
|
12
|
+
exports.isEarlierThanNow = isEarlierThanNow;
|
|
13
|
+
exports.daysAgo = daysAgo;
|
|
14
|
+
exports.prepareDateForDb = prepareDateForDb;
|
|
15
|
+
exports.orderObjArrByDate = orderObjArrByDate;
|
|
16
|
+
exports.calculateWeights = calculateWeights;
|
|
17
|
+
exports.calculateWeightedAverage = calculateWeightedAverage;
|
|
18
|
+
const constants_web3_1 = require("./constants.web3");
|
|
19
|
+
const ethers_1 = require("ethers");
|
|
20
|
+
function toNormalizedBn(value, decimals = 18) {
|
|
21
|
+
if (!value)
|
|
22
|
+
return { normalized: '0', raw: BigInt(0).toString() };
|
|
23
|
+
const sanitize = (val, decimals) => {
|
|
24
|
+
const [whole, frac = ''] = val.split('.');
|
|
25
|
+
const trimmedFrac = frac.slice(0, decimals);
|
|
26
|
+
return trimmedFrac ? `${whole}.${trimmedFrac}` : whole;
|
|
27
|
+
};
|
|
28
|
+
if (typeof value === 'string' || typeof value === 'number') {
|
|
29
|
+
const strVal = String(value);
|
|
30
|
+
const safeVal = sanitize(strVal, Number(decimals));
|
|
31
|
+
return {
|
|
32
|
+
normalized: safeVal,
|
|
33
|
+
raw: (0, ethers_1.parseUnits)(safeVal, Number(decimals)).toString(),
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
return {
|
|
38
|
+
normalized: (0, ethers_1.formatUnits)(value, Number(decimals)) ?? '0',
|
|
39
|
+
raw: value.toString(),
|
|
40
|
+
};
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function getFallbackRpcUrls(chainId) {
|
|
44
|
+
return constants_web3_1.FALLBACK_RPC_URLS[chainId] || [];
|
|
45
|
+
}
|
|
46
|
+
const filterOutBySize = (usdAmount) => usdAmount > 3000;
|
|
47
|
+
exports.filterOutBySize = filterOutBySize;
|
|
48
|
+
function toTitleCase(str, type) {
|
|
49
|
+
if (!str)
|
|
50
|
+
return;
|
|
51
|
+
switch (type) {
|
|
52
|
+
case 'camel': {
|
|
53
|
+
const words = Array.from(str)
|
|
54
|
+
.map((letter) => {
|
|
55
|
+
if (letter === letter.toUpperCase()) {
|
|
56
|
+
return ` ${letter}`;
|
|
57
|
+
}
|
|
58
|
+
return letter;
|
|
59
|
+
})
|
|
60
|
+
.join('');
|
|
61
|
+
const _words = str.split(' ')?.map((w) => w.toLowerCase());
|
|
62
|
+
for (let i = 0; i < words.length; i++) {
|
|
63
|
+
_words[i] = _words[i][0].toUpperCase() + _words[i].substr(1);
|
|
64
|
+
}
|
|
65
|
+
return _words.join(' ');
|
|
66
|
+
}
|
|
67
|
+
default: {
|
|
68
|
+
const words = str.split(' ')?.map((w) => w.toLowerCase());
|
|
69
|
+
for (let i = 0; i < words.length; i++) {
|
|
70
|
+
words[i] = words[i][0].toUpperCase() + words[i].substr(1);
|
|
71
|
+
}
|
|
72
|
+
return words.join(' ');
|
|
73
|
+
}
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function truncate(s, amount) {
|
|
77
|
+
if (typeof s !== 'string') {
|
|
78
|
+
if (s !== undefined)
|
|
79
|
+
console.error('#truncate: not a string', s);
|
|
80
|
+
return '';
|
|
81
|
+
}
|
|
82
|
+
if (!s)
|
|
83
|
+
return s;
|
|
84
|
+
if (s === 'N/A')
|
|
85
|
+
return s;
|
|
86
|
+
return `${s.slice(0, amount ? amount : 4)}...${s.slice(amount ? amount * -1 : -4)}`;
|
|
87
|
+
}
|
|
88
|
+
function round(value, options) {
|
|
89
|
+
let _value;
|
|
90
|
+
if (typeof value === 'bigint') {
|
|
91
|
+
_value = toNormalizedBn(value, options.decimals ?? constants_web3_1.FALLBACK_DECIMALS).normalized;
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
_value = String(value);
|
|
95
|
+
if (_value.includes(' '))
|
|
96
|
+
_value = _value.split(' ')[0];
|
|
97
|
+
}
|
|
98
|
+
if (options?.usd) {
|
|
99
|
+
const usdFormatter = new Intl.NumberFormat('en-US', {
|
|
100
|
+
style: 'currency',
|
|
101
|
+
currency: 'USD',
|
|
102
|
+
});
|
|
103
|
+
const valueNumber = Number(_value);
|
|
104
|
+
return usdFormatter.format(valueNumber) !== 'NaN'
|
|
105
|
+
? usdFormatter.format(valueNumber)
|
|
106
|
+
: '0';
|
|
107
|
+
}
|
|
108
|
+
if (_value === '0' || _value === '0.0')
|
|
109
|
+
return '0.000';
|
|
110
|
+
if (options?.showing === 'all') {
|
|
111
|
+
return _value;
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
const _showing = () => {
|
|
115
|
+
if (options?.showing && typeof options.showing === 'number')
|
|
116
|
+
return options?.showing;
|
|
117
|
+
if (options?.usd)
|
|
118
|
+
return 2;
|
|
119
|
+
if (_value?.includes('.') && _value.split('.')[0].length > 2)
|
|
120
|
+
return 3;
|
|
121
|
+
if (_value?.length && _value?.length > 6)
|
|
122
|
+
return 6;
|
|
123
|
+
return 4;
|
|
124
|
+
};
|
|
125
|
+
const numberFormatter = new Intl.NumberFormat('en-US', {
|
|
126
|
+
minimumFractionDigits: _showing(),
|
|
127
|
+
maximumFractionDigits: _showing(),
|
|
128
|
+
});
|
|
129
|
+
return numberFormatter.format(Number(_value)) !== 'NaN'
|
|
130
|
+
? numberFormatter.format(Number(_value))
|
|
131
|
+
: '0';
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
function loanStateToReadable(loanState) {
|
|
135
|
+
switch (Number(loanState)) {
|
|
136
|
+
case 1:
|
|
137
|
+
return 'PREAPPROVED';
|
|
138
|
+
case 2:
|
|
139
|
+
return 'FUNDING_REQUIRED';
|
|
140
|
+
case 3:
|
|
141
|
+
return 'FUNDED';
|
|
142
|
+
case 4:
|
|
143
|
+
return 'ACTIVE';
|
|
144
|
+
case 5:
|
|
145
|
+
return 'CANCELLED';
|
|
146
|
+
case 6:
|
|
147
|
+
return 'MATURED';
|
|
148
|
+
case 7:
|
|
149
|
+
return 'CLOSED';
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
function dateToUnix(date) {
|
|
153
|
+
if (!date)
|
|
154
|
+
return Math.floor(new Date().getTime());
|
|
155
|
+
return Math.floor(new Date(date).getTime());
|
|
156
|
+
}
|
|
157
|
+
function unixToDate(epoch) {
|
|
158
|
+
if (!epoch)
|
|
159
|
+
return new Date();
|
|
160
|
+
return new Date(new Date(epoch).getTime());
|
|
161
|
+
}
|
|
162
|
+
function isEarlierThanNow(startTime) {
|
|
163
|
+
if (!startTime)
|
|
164
|
+
return true;
|
|
165
|
+
if (startTime <= new Date())
|
|
166
|
+
return true;
|
|
167
|
+
return false;
|
|
168
|
+
}
|
|
169
|
+
function daysAgo(days) {
|
|
170
|
+
const today = new Date();
|
|
171
|
+
return new Date(new Date().setDate(today.getDate() - days));
|
|
172
|
+
}
|
|
173
|
+
function prepareDateForDb(date) {
|
|
174
|
+
return new Date(date).toISOString();
|
|
175
|
+
}
|
|
176
|
+
function orderObjArrByDate(objectArray, options) {
|
|
177
|
+
const selectedOrder = options?.order ?? 'desc';
|
|
178
|
+
const selectedKey = options?.key ?? 'date';
|
|
179
|
+
return objectArray.sort(function (a, b) {
|
|
180
|
+
if (selectedOrder === 'asc')
|
|
181
|
+
return (new Date(a[selectedKey]).valueOf() - new Date(b[selectedKey]).valueOf());
|
|
182
|
+
return (new Date(b[selectedKey]).valueOf() - new Date(a[selectedKey]).valueOf());
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
function calculateWeights(data, weightProperty) {
|
|
186
|
+
if (!data || data.length === 0 || !weightProperty)
|
|
187
|
+
return [];
|
|
188
|
+
const total = data.reduce((sum, item) => sum + item[weightProperty], 0);
|
|
189
|
+
return data.map((item) => ({
|
|
190
|
+
...item,
|
|
191
|
+
weight: item[weightProperty] / total,
|
|
192
|
+
}));
|
|
193
|
+
}
|
|
194
|
+
function calculateWeightedAverage(data, valueProperty, weightProperty) {
|
|
195
|
+
if (!data || data.length === 0 || !valueProperty)
|
|
196
|
+
return 0;
|
|
197
|
+
let weightedData = data;
|
|
198
|
+
if (!weightProperty) {
|
|
199
|
+
weightedData = data.map((item) => ({
|
|
200
|
+
...item,
|
|
201
|
+
weight: 1 / data.length,
|
|
202
|
+
}));
|
|
203
|
+
}
|
|
204
|
+
else {
|
|
205
|
+
weightedData = calculateWeights(data, weightProperty);
|
|
206
|
+
}
|
|
207
|
+
const weightedAverage = weightedData.reduce((acc, item) => acc + item[valueProperty] * item.weight, 0);
|
|
208
|
+
return weightedAverage;
|
|
209
|
+
}
|
|
210
|
+
//# sourceMappingURL=helpers.core.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.core.js","sourceRoot":"","sources":["../../src.ts/core/helpers.core.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { Signer, Wallet } from 'ethers';
|
|
2
|
+
export declare function isViemWalletClient(signer: any): boolean;
|
|
3
|
+
export declare function viemToEthersSigner(
|
|
4
|
+
walletClient: any,
|
|
5
|
+
): Promise<Signer | Wallet>;
|
|
6
|
+
export declare function normalizeSigner(
|
|
7
|
+
signer: Signer | Wallet | any,
|
|
8
|
+
): Promise<Signer | Wallet>;
|
|
9
|
+
export type CompatibleSigner = Signer | Wallet | any;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.isViemWalletClient = isViemWalletClient;
|
|
4
|
+
exports.viemToEthersSigner = viemToEthersSigner;
|
|
5
|
+
exports.normalizeSigner = normalizeSigner;
|
|
6
|
+
const ethers_1 = require("ethers");
|
|
7
|
+
function isViemWalletClient(signer) {
|
|
8
|
+
return !!(signer &&
|
|
9
|
+
typeof signer === 'object' &&
|
|
10
|
+
'account' in signer &&
|
|
11
|
+
'chain' in signer &&
|
|
12
|
+
'transport' in signer &&
|
|
13
|
+
typeof signer.writeContract === 'function');
|
|
14
|
+
}
|
|
15
|
+
async function viemToEthersSigner(walletClient) {
|
|
16
|
+
if (!walletClient) {
|
|
17
|
+
throw new Error('WalletClient is required');
|
|
18
|
+
}
|
|
19
|
+
const { account, chain, transport } = walletClient;
|
|
20
|
+
if (!account) {
|
|
21
|
+
throw new Error('WalletClient must have an account');
|
|
22
|
+
}
|
|
23
|
+
const provider = new ethers_1.BrowserProvider({
|
|
24
|
+
request: async ({ method, params }) => {
|
|
25
|
+
if (method === 'eth_sendTransaction') {
|
|
26
|
+
const [tx] = params;
|
|
27
|
+
return walletClient.sendTransaction({
|
|
28
|
+
...tx,
|
|
29
|
+
account,
|
|
30
|
+
chain,
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
return transport({ chain }).request({ method, params });
|
|
34
|
+
},
|
|
35
|
+
}, chain?.id);
|
|
36
|
+
return provider.getSigner(account.address);
|
|
37
|
+
}
|
|
38
|
+
function isEthersSigner(signer) {
|
|
39
|
+
return (signer &&
|
|
40
|
+
typeof signer === 'object' &&
|
|
41
|
+
typeof signer.signMessage === 'function' &&
|
|
42
|
+
typeof signer.signTransaction === 'function' &&
|
|
43
|
+
(signer.provider !== undefined || signer._isSigner === true));
|
|
44
|
+
}
|
|
45
|
+
async function normalizeSigner(signer) {
|
|
46
|
+
if (isEthersSigner(signer)) {
|
|
47
|
+
return signer;
|
|
48
|
+
}
|
|
49
|
+
if (isViemWalletClient(signer)) {
|
|
50
|
+
return viemToEthersSigner(signer);
|
|
51
|
+
}
|
|
52
|
+
throw new Error('Invalid signer type. Expected ethers Signer, ethers Wallet, or viem WalletClient');
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=helpers.signer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.signer.js","sourceRoot":"","sources":["../../src.ts/core/helpers.signer.ts"],"names":[],"mappings":";;AAcA,gDAUC;AAQD,gDAsCC;AAwBD,0CAiBC;AA/GD,mCAAyD;AAczD,SAAgB,kBAAkB,CAAC,MAAW;IAE5C,OAAO,CAAC,CAAC,CACP,MAAM;QACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,SAAS,IAAI,MAAM;QACnB,OAAO,IAAI,MAAM;QACjB,WAAW,IAAI,MAAM;QACrB,OAAO,MAAM,CAAC,aAAa,KAAK,UAAU,CAC3C,CAAC;AACJ,CAAC;AAQM,KAAK,UAAU,kBAAkB,CACtC,YAAiB;IAEjB,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAGD,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,GAAG,YAAY,CAAC;IAEnD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,mCAAmC,CAAC,CAAC;IACvD,CAAC;IAGD,MAAM,QAAQ,GAAG,IAAI,wBAAe,CAClC;QACE,OAAO,EAAE,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAO,EAAE,EAAE;YAEzC,IAAI,MAAM,KAAK,qBAAqB,EAAE,CAAC;gBAErC,MAAM,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC;gBACpB,OAAO,YAAY,CAAC,eAAe,CAAC;oBAClC,GAAG,EAAE;oBACL,OAAO;oBACP,KAAK;iBACN,CAAC,CAAC;YACL,CAAC;YAGD,OAAO,SAAS,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;QAC1D,CAAC;KACF,EACD,KAAK,EAAE,EAAE,CACV,CAAC;IAGF,OAAO,QAAQ,CAAC,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC7C,CAAC;AAOD,SAAS,cAAc,CAAC,MAAW;IAEjC,OAAO,CACL,MAAM;QACN,OAAO,MAAM,KAAK,QAAQ;QAC1B,OAAO,MAAM,CAAC,WAAW,KAAK,UAAU;QACxC,OAAO,MAAM,CAAC,eAAe,KAAK,UAAU;QAC5C,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,KAAK,IAAI,CAAC,CAC7D,CAAC;AACJ,CAAC;AAQM,KAAK,UAAU,eAAe,CACnC,MAA6B;IAG7B,IAAI,cAAc,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,OAAO,MAAM,CAAC;IAChB,CAAC;IAGD,IAAI,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC/B,OAAO,kBAAkB,CAAC,MAAM,CAAC,CAAC;IACpC,CAAC;IAGD,MAAM,IAAI,KAAK,CACb,kFAAkF,CACnF,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import {
|
|
2
|
+
IAddress,
|
|
3
|
+
IContractRunner,
|
|
4
|
+
ITokenizedVault,
|
|
5
|
+
IVaultVersion,
|
|
6
|
+
} from '../types';
|
|
7
|
+
export declare const isBadVault: (address?: string) => boolean;
|
|
8
|
+
export declare function getVaultVersion(
|
|
9
|
+
vault: string,
|
|
10
|
+
): IVaultVersion | undefined;
|
|
11
|
+
export declare function getVaultVersionV2(
|
|
12
|
+
vault: ITokenizedVault,
|
|
13
|
+
): IVaultVersion | undefined;
|
|
14
|
+
export declare const REWARD_DISTRIBUTOR_ADDRESS: (chainId: number) => string[];
|
|
15
|
+
export declare const AVAX_PRICE_FEED_ADDRESS: (
|
|
16
|
+
chainId: number,
|
|
17
|
+
) => '0xFF3EEb22B5E3dE6e705b44749C2559d704923FD7' | '0x';
|
|
18
|
+
export declare function getVaultSymbol(
|
|
19
|
+
vault: IAddress,
|
|
20
|
+
provider: IContractRunner,
|
|
21
|
+
): Promise<string>;
|
|
22
|
+
export declare const SUBGRAPH_POOL_URLS: (
|
|
23
|
+
apiKey: string,
|
|
24
|
+
chainId?: number,
|
|
25
|
+
pool?: IAddress,
|
|
26
|
+
) =>
|
|
27
|
+
| {
|
|
28
|
+
1: string;
|
|
29
|
+
8453: string;
|
|
30
|
+
43114: string;
|
|
31
|
+
42161: string;
|
|
32
|
+
56: string;
|
|
33
|
+
}
|
|
34
|
+
| {
|
|
35
|
+
999: string;
|
|
36
|
+
};
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SUBGRAPH_POOL_URLS = exports.AVAX_PRICE_FEED_ADDRESS = exports.REWARD_DISTRIBUTOR_ADDRESS = exports.isBadVault = void 0;
|
|
4
|
+
exports.getVaultVersion = getVaultVersion;
|
|
5
|
+
exports.getVaultVersionV2 = getVaultVersionV2;
|
|
6
|
+
exports.getVaultSymbol = getVaultSymbol;
|
|
7
|
+
const ethers_1 = require("ethers");
|
|
8
|
+
const constants_vaults_1 = require("./constants.vaults");
|
|
9
|
+
const helpers_web3_1 = require("./helpers.web3");
|
|
10
|
+
const solana_1 = require("../adapters/solana");
|
|
11
|
+
const utils_1 = require("../adapters/sui/utils");
|
|
12
|
+
const isBadVault = (address) => {
|
|
13
|
+
if (!address)
|
|
14
|
+
return false;
|
|
15
|
+
if (solana_1.Solana.utils.isSolanaAddress(address))
|
|
16
|
+
return false;
|
|
17
|
+
if ((0, utils_1.isSuiAddress)(address))
|
|
18
|
+
return false;
|
|
19
|
+
switch ((0, ethers_1.getAddress)(address)) {
|
|
20
|
+
case (0, ethers_1.getAddress)('0x706162790b601A8514c18718d0c63C9D1268e89C'):
|
|
21
|
+
return true;
|
|
22
|
+
case (0, ethers_1.getAddress)('0xd684AF965b1c17D628ee0d77cae94259c41260F4'):
|
|
23
|
+
return true;
|
|
24
|
+
case (0, ethers_1.getAddress)('0xB78dAf3fD674B81ebeaaa88d711506fa069E1C5E'):
|
|
25
|
+
return true;
|
|
26
|
+
case (0, ethers_1.getAddress)('0x4e2D90f0307A93b54ACA31dc606F93FE6b9132d2'):
|
|
27
|
+
return true;
|
|
28
|
+
case (0, ethers_1.getAddress)('0x18a5a3D575F34e5eBa92ac99B0976dBe26f9F869'):
|
|
29
|
+
return true;
|
|
30
|
+
case (0, ethers_1.getAddress)('0xD0b717ef23817b1a127139830Cf0FcD449ef74F0'):
|
|
31
|
+
return true;
|
|
32
|
+
case (0, ethers_1.getAddress)('0xeb402fc96C7ed2f889d837C9976D6d821c1B5f01'):
|
|
33
|
+
return true;
|
|
34
|
+
case (0, ethers_1.getAddress)('0xEBac5e50003d4B17Be422ff9775043cD61002f7f'):
|
|
35
|
+
return true;
|
|
36
|
+
case (0, ethers_1.getAddress)('0x419386E3Ef42368e602720CC458e00c0B28c47A7'):
|
|
37
|
+
return true;
|
|
38
|
+
default:
|
|
39
|
+
return false;
|
|
40
|
+
}
|
|
41
|
+
};
|
|
42
|
+
exports.isBadVault = isBadVault;
|
|
43
|
+
function getVaultVersion(vault) {
|
|
44
|
+
if (!vault)
|
|
45
|
+
return;
|
|
46
|
+
if (solana_1.Solana.utils.isSolanaAddress(vault)) {
|
|
47
|
+
return 'sol-0';
|
|
48
|
+
}
|
|
49
|
+
else {
|
|
50
|
+
if (!(0, ethers_1.isAddress)(vault))
|
|
51
|
+
return;
|
|
52
|
+
if (constants_vaults_1.OLD_LENDING_POOLS.includes((0, ethers_1.getAddress)(vault))) {
|
|
53
|
+
return 'evm-0';
|
|
54
|
+
}
|
|
55
|
+
else if (constants_vaults_1.MULTI_ASSET_VAULTS.includes((0, ethers_1.getAddress)(vault))) {
|
|
56
|
+
return 'evm-2';
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
return 'evm-1';
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
function getVaultVersionV2(vault) {
|
|
64
|
+
if (!vault)
|
|
65
|
+
return;
|
|
66
|
+
if (solana_1.Solana.utils.isSolanaAddress(vault.address)) {
|
|
67
|
+
return 'sol-0';
|
|
68
|
+
}
|
|
69
|
+
else {
|
|
70
|
+
if (!(0, ethers_1.isAddress)(vault.address))
|
|
71
|
+
return;
|
|
72
|
+
if (constants_vaults_1.OLD_LENDING_POOLS.includes((0, ethers_1.getAddress)(vault.address))) {
|
|
73
|
+
return 'evm-0';
|
|
74
|
+
}
|
|
75
|
+
else if (vault.internal_type === 'multiAssetVault' ||
|
|
76
|
+
constants_vaults_1.MULTI_ASSET_VAULTS.includes(vault.address)) {
|
|
77
|
+
return 'evm-2';
|
|
78
|
+
}
|
|
79
|
+
else {
|
|
80
|
+
return 'evm-1';
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
const REWARD_DISTRIBUTOR_ADDRESS = (chainId) => {
|
|
85
|
+
switch (chainId) {
|
|
86
|
+
case 43114:
|
|
87
|
+
return [
|
|
88
|
+
'0xAeAc5f82B140c0f7309f7E9Ec43019062A5e5BE2',
|
|
89
|
+
'0xd3e653A9f6F3d96B26Dd4487a53D151140B697C4',
|
|
90
|
+
];
|
|
91
|
+
default:
|
|
92
|
+
return ['0x0000000000000000000000000000000000000000'];
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
exports.REWARD_DISTRIBUTOR_ADDRESS = REWARD_DISTRIBUTOR_ADDRESS;
|
|
96
|
+
const AVAX_PRICE_FEED_ADDRESS = (chainId) => {
|
|
97
|
+
switch (chainId) {
|
|
98
|
+
case 1:
|
|
99
|
+
return '0xFF3EEb22B5E3dE6e705b44749C2559d704923FD7';
|
|
100
|
+
default:
|
|
101
|
+
return '0x';
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
exports.AVAX_PRICE_FEED_ADDRESS = AVAX_PRICE_FEED_ADDRESS;
|
|
105
|
+
async function getVaultSymbol(vault, provider) {
|
|
106
|
+
const address = (0, ethers_1.getAddress)(vault);
|
|
107
|
+
if (address in constants_vaults_1.VAULT_SYMBOLS)
|
|
108
|
+
return constants_vaults_1.VAULT_SYMBOLS[address];
|
|
109
|
+
else {
|
|
110
|
+
const symbol = await (0, helpers_web3_1.getSymbol)(provider, vault);
|
|
111
|
+
return symbol;
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
const SUBGRAPH_POOL_URLS = (apiKey, chainId, pool) => {
|
|
115
|
+
if (chainId === 999) {
|
|
116
|
+
if (!pool) {
|
|
117
|
+
throw new Error(`Pool address is required for chainId ${chainId}`);
|
|
118
|
+
}
|
|
119
|
+
switch (pool) {
|
|
120
|
+
case constants_vaults_1.VAULT_SYMBOLS_REVERSE.hbHYPE:
|
|
121
|
+
return {
|
|
122
|
+
999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hyperbeat/1.0.0/gn',
|
|
123
|
+
};
|
|
124
|
+
case constants_vaults_1.VAULT_SYMBOLS_REVERSE.hbBTC:
|
|
125
|
+
return {
|
|
126
|
+
999: 'https://api.goldsky.com/api/public/project_cm9g0xy3o4j6v01vd34r3hvv9/subgraphs/august-hyperevm-hbBTC/1.0.0/gn',
|
|
127
|
+
};
|
|
128
|
+
default:
|
|
129
|
+
throw new Error(`Unsupported pool for chainId ${chainId}: ${pool}`);
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
const urls = {
|
|
133
|
+
1: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BtbHLe7XtX2x9Ude9PKv2uagNHj6JYhjjFcimxvk7NPD`,
|
|
134
|
+
8453: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/E96gN4ZAmtCwLfsYccy3TqCTBbizGPWssFFeZfJ5QSQP`,
|
|
135
|
+
43114: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/Ho15f2DBGndTMAYx9bPxJzasQRsAd5oLdci4oZvWs2u6`,
|
|
136
|
+
42161: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/BrqNoj6FWm678yFRKdVWBncwt3zUnpbA3u4n9A9puUSg`,
|
|
137
|
+
56: `https://gateway.thegraph.com/api/${apiKey}/subgraphs/id/4BDCXZvSBuNGX3ck6C6nTGos7Dg5SxjfHMjrKnQz4YE2`,
|
|
138
|
+
};
|
|
139
|
+
if (chainId && !(chainId in urls)) {
|
|
140
|
+
throw new Error(`Unsupported chainId: ${chainId}. Supported chains: ${Object.keys(urls).join(', ')}`);
|
|
141
|
+
}
|
|
142
|
+
return urls;
|
|
143
|
+
};
|
|
144
|
+
exports.SUBGRAPH_POOL_URLS = SUBGRAPH_POOL_URLS;
|
|
145
|
+
//# sourceMappingURL=helpers.vaults.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.vaults.js","sourceRoot":"","sources":["../../src.ts/core/helpers.vaults.ts"],"names":[],"mappings":"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"}
|