@augustdigital/sdk 4.26.0-alpha.0 → 4.27.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.
- package/README.md +1 -1
- package/lib/abis/OFT.d.ts +96 -0
- package/lib/abis/OFT.js +65 -0
- package/lib/abis/OFT.js.map +1 -0
- package/lib/abis/RwaRedeemSubaccount.d.ts +4 -4
- package/lib/abis/RwaRedeemSubaccount.js +4 -4
- package/lib/abis/RwaRedeemSubaccount.js.map +1 -1
- package/lib/abis/index.d.ts +2 -0
- package/lib/abis/index.js +2 -0
- package/lib/abis/index.js.map +1 -1
- package/lib/adapters/stellar/actions.d.ts +2 -2
- package/lib/adapters/stellar/actions.js +36 -4
- package/lib/adapters/stellar/actions.js.map +1 -1
- package/lib/adapters/stellar/constants.d.ts +6 -1
- package/lib/adapters/stellar/constants.js +10 -4
- package/lib/adapters/stellar/constants.js.map +1 -1
- package/lib/adapters/stellar/getters.d.ts +3 -1
- package/lib/adapters/stellar/getters.js +155 -13
- package/lib/adapters/stellar/getters.js.map +1 -1
- package/lib/adapters/stellar/index.d.ts +8 -3
- package/lib/adapters/stellar/index.js +19 -2
- package/lib/adapters/stellar/index.js.map +1 -1
- package/lib/adapters/stellar/soroban.js +4 -1
- package/lib/adapters/stellar/soroban.js.map +1 -1
- package/lib/adapters/stellar/types.d.ts +4 -0
- package/lib/adapters/stellar/utils.d.ts +2 -1
- package/lib/adapters/stellar/utils.js +2 -1
- package/lib/adapters/stellar/utils.js.map +1 -1
- package/lib/evm/index.d.ts +2 -0
- package/lib/{modules/vaults/utils → evm}/index.js +2 -2
- package/lib/evm/index.js.map +1 -0
- package/lib/evm/methods/crossChainVault.d.ts +38 -0
- package/lib/evm/methods/crossChainVault.js +608 -0
- package/lib/evm/methods/crossChainVault.js.map +1 -0
- package/lib/evm/methods/index.d.ts +1 -0
- package/lib/evm/methods/index.js +18 -0
- package/lib/evm/methods/index.js.map +1 -0
- package/lib/evm/types/crossChain.d.ts +157 -0
- package/lib/evm/types/crossChain.js +3 -0
- package/lib/evm/types/crossChain.js.map +1 -0
- package/lib/evm/types/index.d.ts +1 -0
- package/lib/evm/types/index.js +18 -0
- package/lib/evm/types/index.js.map +1 -0
- package/lib/index.d.ts +1 -0
- package/lib/index.js +1 -0
- package/lib/index.js.map +1 -1
- package/lib/main.d.ts +1 -0
- package/lib/main.js.map +1 -1
- package/lib/modules/vaults/getters.d.ts +2 -1
- package/lib/modules/vaults/getters.js +35 -8
- package/lib/modules/vaults/getters.js.map +1 -1
- package/lib/modules/vaults/main.d.ts +17 -2
- package/lib/modules/vaults/main.js +93 -8
- package/lib/modules/vaults/main.js.map +1 -1
- package/lib/modules/vaults/read.actions.d.ts +8 -0
- package/lib/modules/vaults/read.actions.js +26 -0
- package/lib/modules/vaults/read.actions.js.map +1 -1
- package/lib/modules/vaults/types.d.ts +1 -0
- package/lib/modules/vaults/utils.js +32 -0
- package/lib/modules/vaults/utils.js.map +1 -1
- package/lib/modules/vaults/write.actions.d.ts +11 -0
- package/lib/modules/vaults/write.actions.js +151 -40
- package/lib/modules/vaults/write.actions.js.map +1 -1
- package/lib/services/debank/fetcher.d.ts +108 -5
- package/lib/services/debank/fetcher.js.map +1 -1
- package/lib/services/debank/utils.js +51 -1
- package/lib/services/debank/utils.js.map +1 -1
- package/lib/types/vaults.d.ts +12 -0
- package/lib/types/vaults.js.map +1 -1
- package/lib/types/webserver.d.ts +12 -0
- package/package.json +14 -14
- package/lib/core/cache.d.ts +0 -25
- package/lib/core/cache.js +0 -53
- package/lib/core/cache.js.map +0 -1
- package/lib/modules/vaults/utils/callDataDecoder.d.ts +0 -14
- package/lib/modules/vaults/utils/callDataDecoder.js +0 -138
- package/lib/modules/vaults/utils/callDataDecoder.js.map +0 -1
- package/lib/modules/vaults/utils/dateUtils.d.ts +0 -11
- package/lib/modules/vaults/utils/dateUtils.js +0 -39
- package/lib/modules/vaults/utils/dateUtils.js.map +0 -1
- package/lib/modules/vaults/utils/index.d.ts +0 -2
- package/lib/modules/vaults/utils/index.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@augustdigital/sdk",
|
|
3
|
-
"version": "4.
|
|
3
|
+
"version": "4.27.0",
|
|
4
4
|
"main": "lib/index.js",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"augustdigital",
|
|
@@ -12,18 +12,6 @@
|
|
|
12
12
|
"author": "August Digital",
|
|
13
13
|
"license": "MIT",
|
|
14
14
|
"description": "JS SDK powering the August Digital ecosystem.",
|
|
15
|
-
"scripts": {
|
|
16
|
-
"build": "tsc",
|
|
17
|
-
"test": "pnpm build && cross-env node dist/test",
|
|
18
|
-
"test:jest": "jest",
|
|
19
|
-
"test:jest:watch": "jest --watch",
|
|
20
|
-
"test:jest:coverage": "jest --coverage",
|
|
21
|
-
"clean": "rm -rf ./lib",
|
|
22
|
-
"format": "eslint . --fix",
|
|
23
|
-
"lint-sdk": "lint-staged",
|
|
24
|
-
"benchmark": "node benchmarks/run.js",
|
|
25
|
-
"benchmark:ci": "node benchmarks/run.js --json benchmarks/results.json --md benchmarks/summary.md"
|
|
26
|
-
},
|
|
27
15
|
"lint-staged": {
|
|
28
16
|
"*.{ts,tsx,js,jsx,json}": [
|
|
29
17
|
"eslint --fix"
|
|
@@ -66,5 +54,17 @@
|
|
|
66
54
|
"viem": {
|
|
67
55
|
"optional": true
|
|
68
56
|
}
|
|
57
|
+
},
|
|
58
|
+
"scripts": {
|
|
59
|
+
"build": "tsc",
|
|
60
|
+
"test": "pnpm build && cross-env node dist/test",
|
|
61
|
+
"test:jest": "jest",
|
|
62
|
+
"test:jest:watch": "jest --watch",
|
|
63
|
+
"test:jest:coverage": "jest --coverage",
|
|
64
|
+
"clean": "rm -rf ./lib",
|
|
65
|
+
"format": "eslint . --fix",
|
|
66
|
+
"lint-sdk": "lint-staged",
|
|
67
|
+
"benchmark": "node benchmarks/run.js",
|
|
68
|
+
"benchmark:ci": "node benchmarks/run.js --json benchmarks/results.json --md benchmarks/summary.md"
|
|
69
69
|
}
|
|
70
|
-
}
|
|
70
|
+
}
|
package/lib/core/cache.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
export interface ICacheSetOptions {
|
|
2
|
-
ttl?: number;
|
|
3
|
-
}
|
|
4
|
-
export interface ICache {
|
|
5
|
-
get<T = any>(key: string): Promise<T | undefined>;
|
|
6
|
-
set<T = any>(key: string, value: T, options?: ICacheSetOptions): Promise<void>;
|
|
7
|
-
delete(key: string): Promise<void>;
|
|
8
|
-
has(key: string): Promise<boolean>;
|
|
9
|
-
}
|
|
10
|
-
export declare class DefaultCache implements ICache {
|
|
11
|
-
private cache;
|
|
12
|
-
constructor();
|
|
13
|
-
get<T = any>(key: string): Promise<T | undefined>;
|
|
14
|
-
set<T = any>(key: string, value: T, options?: ICacheSetOptions): Promise<void>;
|
|
15
|
-
delete(key: string): Promise<void>;
|
|
16
|
-
has(key: string): Promise<boolean>;
|
|
17
|
-
}
|
|
18
|
-
export declare class NullCache implements ICache {
|
|
19
|
-
get<T = any>(): Promise<T | undefined>;
|
|
20
|
-
set(): Promise<void>;
|
|
21
|
-
delete(): Promise<void>;
|
|
22
|
-
has(): Promise<boolean>;
|
|
23
|
-
}
|
|
24
|
-
export declare const getGlobalCache: () => ICache;
|
|
25
|
-
export declare const setGlobalCache: (cache?: ICache | null) => void;
|
package/lib/core/cache.js
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.setGlobalCache = exports.getGlobalCache = exports.NullCache = exports.DefaultCache = void 0;
|
|
4
|
-
const lru_cache_1 = require("lru-cache");
|
|
5
|
-
class DefaultCache {
|
|
6
|
-
constructor() {
|
|
7
|
-
this.cache = new lru_cache_1.LRUCache({
|
|
8
|
-
max: 1000,
|
|
9
|
-
ttl: 1000 * 60 * 60 * 24,
|
|
10
|
-
allowStale: true,
|
|
11
|
-
});
|
|
12
|
-
}
|
|
13
|
-
async get(key) {
|
|
14
|
-
return this.cache.get(key);
|
|
15
|
-
}
|
|
16
|
-
async set(key, value, options) {
|
|
17
|
-
this.cache.set(key, value, options?.ttl ? { ttl: options.ttl } : undefined);
|
|
18
|
-
}
|
|
19
|
-
async delete(key) {
|
|
20
|
-
this.cache.delete(key);
|
|
21
|
-
}
|
|
22
|
-
async has(key) {
|
|
23
|
-
return this.cache.has(key);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
exports.DefaultCache = DefaultCache;
|
|
27
|
-
class NullCache {
|
|
28
|
-
async get() {
|
|
29
|
-
return undefined;
|
|
30
|
-
}
|
|
31
|
-
async set() { }
|
|
32
|
-
async delete() { }
|
|
33
|
-
async has() {
|
|
34
|
-
return false;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
exports.NullCache = NullCache;
|
|
38
|
-
let _globalCache = new DefaultCache();
|
|
39
|
-
const getGlobalCache = () => _globalCache;
|
|
40
|
-
exports.getGlobalCache = getGlobalCache;
|
|
41
|
-
const setGlobalCache = (cache) => {
|
|
42
|
-
if (cache === null) {
|
|
43
|
-
_globalCache = new NullCache();
|
|
44
|
-
}
|
|
45
|
-
else if (cache === undefined) {
|
|
46
|
-
_globalCache = new DefaultCache();
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
_globalCache = cache;
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
exports.setGlobalCache = setGlobalCache;
|
|
53
|
-
//# sourceMappingURL=cache.js.map
|
package/lib/core/cache.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"cache.js","sourceRoot":"","sources":["../../src.ts/core/cache.ts"],"names":[],"mappings":";;;AAAA,yCAAqC;AAqBrC,MAAa,YAAY;IAGvB;QACE,IAAI,CAAC,KAAK,GAAG,IAAI,oBAAQ,CAAc;YACrC,GAAG,EAAE,IAAI;YACT,GAAG,EAAE,IAAI,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE;YACxB,UAAU,EAAE,IAAI;SACjB,CAAC,CAAC;IACL,CAAC;IAED,KAAK,CAAC,GAAG,CAAU,GAAW;QAC5B,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAkB,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,GAAG,CACP,GAAW,EACX,KAAQ,EACR,OAA0B;QAE1B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC9E,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,GAAW;QACtB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,GAAW;QACnB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;IAC7B,CAAC;CACF;AA9BD,oCA8BC;AAKD,MAAa,SAAS;IACpB,KAAK,CAAC,GAAG;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,KAAK,CAAC,GAAG,KAAmB,CAAC;IAE7B,KAAK,CAAC,MAAM,KAAmB,CAAC;IAEhC,KAAK,CAAC,GAAG;QACP,OAAO,KAAK,CAAC;IACf,CAAC;CACF;AAZD,8BAYC;AAED,IAAI,YAAY,GAAW,IAAI,YAAY,EAAE,CAAC;AAKvC,MAAM,cAAc,GAAG,GAAW,EAAE,CAAC,YAAY,CAAC;AAA5C,QAAA,cAAc,kBAA8B;AAMlD,MAAM,cAAc,GAAG,CAAC,KAAqB,EAAQ,EAAE;IAC5D,IAAI,KAAK,KAAK,IAAI,EAAE,CAAC;QACnB,YAAY,GAAG,IAAI,SAAS,EAAE,CAAC;IACjC,CAAC;SAAM,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC/B,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IACpC,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,KAAK,CAAC;IACvB,CAAC;AACH,CAAC,CAAC;AARW,QAAA,cAAc,kBAQzB"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { ContractTransactionReceipt, Interface } from 'ethers';
|
|
2
|
-
export interface ProcessingCallData {
|
|
3
|
-
functionName: 'processAllClaimsByDate' | 'claim' | 'unknown';
|
|
4
|
-
year: number;
|
|
5
|
-
month: number;
|
|
6
|
-
day: number;
|
|
7
|
-
maxLimit?: number;
|
|
8
|
-
receiverAddr?: string;
|
|
9
|
-
error?: string;
|
|
10
|
-
}
|
|
11
|
-
export declare function decodeWithdrawalProcessing(txData: string, iface: Interface): ProcessingCallData;
|
|
12
|
-
export declare function decodeFromReceiptLogs(receipt: ContractTransactionReceipt | null, vaultAddress: string, iface: Interface): Promise<ProcessingCallData>;
|
|
13
|
-
export declare function isMulticall(functionName: string): boolean;
|
|
14
|
-
export declare function isWithdrawalProcessingFunction(functionName: string): boolean;
|
|
@@ -1,138 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.decodeWithdrawalProcessing = decodeWithdrawalProcessing;
|
|
4
|
-
exports.decodeFromReceiptLogs = decodeFromReceiptLogs;
|
|
5
|
-
exports.isMulticall = isMulticall;
|
|
6
|
-
exports.isWithdrawalProcessingFunction = isWithdrawalProcessingFunction;
|
|
7
|
-
function decodeWithdrawalProcessing(txData, iface) {
|
|
8
|
-
try {
|
|
9
|
-
const decoded = iface.parseTransaction({ data: txData });
|
|
10
|
-
if (!decoded || !decoded.args || decoded.args.length < 3) {
|
|
11
|
-
return {
|
|
12
|
-
functionName: 'unknown',
|
|
13
|
-
year: 0,
|
|
14
|
-
month: 0,
|
|
15
|
-
day: 0,
|
|
16
|
-
error: 'Invalid calldata: insufficient args',
|
|
17
|
-
};
|
|
18
|
-
}
|
|
19
|
-
const year = Number(decoded.args[0]);
|
|
20
|
-
const month = Number(decoded.args[1]);
|
|
21
|
-
const day = Number(decoded.args[2]);
|
|
22
|
-
if (year < 2000 || year > 2100 || month < 1 || month > 12 || day < 1) {
|
|
23
|
-
return {
|
|
24
|
-
functionName: 'unknown',
|
|
25
|
-
year,
|
|
26
|
-
month,
|
|
27
|
-
day,
|
|
28
|
-
error: 'Invalid date parameters',
|
|
29
|
-
};
|
|
30
|
-
}
|
|
31
|
-
const daysInMonth = new Date(year, month, 0).getDate();
|
|
32
|
-
if (day > daysInMonth) {
|
|
33
|
-
return {
|
|
34
|
-
functionName: 'unknown',
|
|
35
|
-
year,
|
|
36
|
-
month,
|
|
37
|
-
day,
|
|
38
|
-
error: `Invalid day for month: ${day} > ${daysInMonth}`,
|
|
39
|
-
};
|
|
40
|
-
}
|
|
41
|
-
if (decoded.name === 'processAllClaimsByDate') {
|
|
42
|
-
const maxLimit = decoded.args[3] ? Number(decoded.args[3]) : undefined;
|
|
43
|
-
return {
|
|
44
|
-
functionName: 'processAllClaimsByDate',
|
|
45
|
-
year,
|
|
46
|
-
month,
|
|
47
|
-
day,
|
|
48
|
-
maxLimit,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
else if (decoded.name === 'claim') {
|
|
52
|
-
const receiverAddr = decoded.args[3];
|
|
53
|
-
if (!receiverAddr) {
|
|
54
|
-
return {
|
|
55
|
-
functionName: 'unknown',
|
|
56
|
-
year,
|
|
57
|
-
month,
|
|
58
|
-
day,
|
|
59
|
-
error: 'Missing receiver address in claim()',
|
|
60
|
-
};
|
|
61
|
-
}
|
|
62
|
-
return {
|
|
63
|
-
functionName: 'claim',
|
|
64
|
-
year,
|
|
65
|
-
month,
|
|
66
|
-
day,
|
|
67
|
-
receiverAddr: receiverAddr.toString(),
|
|
68
|
-
};
|
|
69
|
-
}
|
|
70
|
-
return {
|
|
71
|
-
functionName: 'unknown',
|
|
72
|
-
year,
|
|
73
|
-
month,
|
|
74
|
-
day,
|
|
75
|
-
error: `Unknown withdrawal function: ${decoded.name}`,
|
|
76
|
-
};
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
return {
|
|
80
|
-
functionName: 'unknown',
|
|
81
|
-
year: 0,
|
|
82
|
-
month: 0,
|
|
83
|
-
day: 0,
|
|
84
|
-
error: error instanceof Error ? error.message : 'Unknown decoding error',
|
|
85
|
-
};
|
|
86
|
-
}
|
|
87
|
-
}
|
|
88
|
-
async function decodeFromReceiptLogs(receipt, vaultAddress, iface) {
|
|
89
|
-
if (!receipt) {
|
|
90
|
-
return {
|
|
91
|
-
functionName: 'unknown',
|
|
92
|
-
year: 0,
|
|
93
|
-
month: 0,
|
|
94
|
-
day: 0,
|
|
95
|
-
error: 'No receipt available',
|
|
96
|
-
};
|
|
97
|
-
}
|
|
98
|
-
for (const log of receipt.logs) {
|
|
99
|
-
if (log.address.toLowerCase() !== vaultAddress.toLowerCase()) {
|
|
100
|
-
continue;
|
|
101
|
-
}
|
|
102
|
-
try {
|
|
103
|
-
const parsed = iface.parseLog(log);
|
|
104
|
-
if (parsed && parsed.name === 'WithdrawalProcessed') {
|
|
105
|
-
return {
|
|
106
|
-
functionName: 'processAllClaimsByDate',
|
|
107
|
-
year: 0,
|
|
108
|
-
month: 0,
|
|
109
|
-
day: 0,
|
|
110
|
-
error: 'Cannot extract date from logs (use Option 2 subgraph indexing)',
|
|
111
|
-
};
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch (e) {
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
return {
|
|
118
|
-
functionName: 'unknown',
|
|
119
|
-
year: 0,
|
|
120
|
-
month: 0,
|
|
121
|
-
day: 0,
|
|
122
|
-
error: 'No WithdrawalProcessed logs found',
|
|
123
|
-
};
|
|
124
|
-
}
|
|
125
|
-
function isMulticall(functionName) {
|
|
126
|
-
const multicallNames = [
|
|
127
|
-
'multicall',
|
|
128
|
-
'aggregate',
|
|
129
|
-
'aggregate3',
|
|
130
|
-
'batchcall',
|
|
131
|
-
'batch',
|
|
132
|
-
];
|
|
133
|
-
return multicallNames.includes(functionName.toLowerCase());
|
|
134
|
-
}
|
|
135
|
-
function isWithdrawalProcessingFunction(functionName) {
|
|
136
|
-
return functionName === 'processAllClaimsByDate' || functionName === 'claim';
|
|
137
|
-
}
|
|
138
|
-
//# sourceMappingURL=callDataDecoder.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"callDataDecoder.js","sourceRoot":"","sources":["../../../../src.ts/modules/vaults/utils/callDataDecoder.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export interface ClaimableDate {
|
|
2
|
-
year: number;
|
|
3
|
-
month: number;
|
|
4
|
-
day: number;
|
|
5
|
-
epoch: number;
|
|
6
|
-
}
|
|
7
|
-
export declare function computeClaimableDate(requestTimestamp: number, lagDuration: number): ClaimableDate;
|
|
8
|
-
export declare function isClaimableNow(claimableEpoch: number, currentEpoch: number): boolean;
|
|
9
|
-
export declare function formatDateKey(year: number, month: number, day: number): string;
|
|
10
|
-
export declare function isValidClaimableDate(date: ClaimableDate): boolean;
|
|
11
|
-
export declare function getDaysInMonth(year: number, month: number): number;
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.computeClaimableDate = computeClaimableDate;
|
|
4
|
-
exports.isClaimableNow = isClaimableNow;
|
|
5
|
-
exports.formatDateKey = formatDateKey;
|
|
6
|
-
exports.isValidClaimableDate = isValidClaimableDate;
|
|
7
|
-
exports.getDaysInMonth = getDaysInMonth;
|
|
8
|
-
function computeClaimableDate(requestTimestamp, lagDuration) {
|
|
9
|
-
const TIMESTAMP_MANIPULATION_WINDOW = 300;
|
|
10
|
-
const claimableEpoch = requestTimestamp + TIMESTAMP_MANIPULATION_WINDOW + lagDuration;
|
|
11
|
-
const date = new Date(claimableEpoch * 1000);
|
|
12
|
-
const year = date.getUTCFullYear();
|
|
13
|
-
const month = date.getUTCMonth() + 1;
|
|
14
|
-
const day = date.getUTCDate();
|
|
15
|
-
return { year, month, day, epoch: claimableEpoch };
|
|
16
|
-
}
|
|
17
|
-
function isClaimableNow(claimableEpoch, currentEpoch) {
|
|
18
|
-
const TIMESTAMP_MANIPULATION_WINDOW = 300;
|
|
19
|
-
return currentEpoch >= claimableEpoch - TIMESTAMP_MANIPULATION_WINDOW;
|
|
20
|
-
}
|
|
21
|
-
function formatDateKey(year, month, day) {
|
|
22
|
-
return `${year}-${String(month).padStart(2, '0')}-${String(day).padStart(2, '0')}`;
|
|
23
|
-
}
|
|
24
|
-
function isValidClaimableDate(date) {
|
|
25
|
-
if (date.year < 2000 ||
|
|
26
|
-
date.year > 2100 ||
|
|
27
|
-
date.month < 1 ||
|
|
28
|
-
date.month > 12 ||
|
|
29
|
-
date.day < 1 ||
|
|
30
|
-
date.epoch <= 0) {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
const daysInMonth = new Date(date.year, date.month, 0).getUTCDate();
|
|
34
|
-
return date.day <= daysInMonth;
|
|
35
|
-
}
|
|
36
|
-
function getDaysInMonth(year, month) {
|
|
37
|
-
return new Date(year, month, 0).getUTCDate();
|
|
38
|
-
}
|
|
39
|
-
//# sourceMappingURL=dateUtils.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dateUtils.js","sourceRoot":"","sources":["../../../../src.ts/modules/vaults/utils/dateUtils.ts"],"names":[],"mappings":";;AAyBA,oDAmBC;AAUD,wCAQC;AAMD,sCAMC;AAMD,oDAeC;AAQD,wCAEC;AAhFD,SAAgB,oBAAoB,CAClC,gBAAwB,EACxB,WAAmB;IAEnB,MAAM,6BAA6B,GAAG,GAAG,CAAC;IAI1C,MAAM,cAAc,GAAG,gBAAgB,GAAG,6BAA6B,GAAG,WAAW,CAAC;IAItF,MAAM,IAAI,GAAG,IAAI,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;IACrC,MAAM,GAAG,GAAG,IAAI,CAAC,UAAU,EAAE,CAAC;IAE9B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC;AACrD,CAAC;AAUD,SAAgB,cAAc,CAC5B,cAAsB,EACtB,YAAoB;IAEpB,MAAM,6BAA6B,GAAG,GAAG,CAAC;IAG1C,OAAO,YAAY,IAAI,cAAc,GAAG,6BAA6B,CAAC;AACxE,CAAC;AAMD,SAAgB,aAAa,CAC3B,IAAY,EACZ,KAAa,EACb,GAAW;IAEX,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,KAAK,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC;AACrF,CAAC;AAMD,SAAgB,oBAAoB,CAAC,IAAmB;IACtD,IACE,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,IAAI,GAAG,IAAI;QAChB,IAAI,CAAC,KAAK,GAAG,CAAC;QACd,IAAI,CAAC,KAAK,GAAG,EAAE;QACf,IAAI,CAAC,GAAG,GAAG,CAAC;QACZ,IAAI,CAAC,KAAK,IAAI,CAAC,EACf,CAAC;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAGD,MAAM,WAAW,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;IACpE,OAAO,IAAI,CAAC,GAAG,IAAI,WAAW,CAAC;AACjC,CAAC;AAQD,SAAgB,cAAc,CAAC,IAAY,EAAE,KAAa;IACxD,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,EAAE,CAAC;AAC/C,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src.ts/modules/vaults/utils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,8CAA4B;AAC5B,oDAAkC"}
|