@dripfi/drip-sdk 1.3.7 → 1.3.8
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/.prettierrc +10 -0
- package/.vscode/settings.json +11 -16
- package/dist/DripApi.d.ts +1 -1
- package/dist/DripApi.js +303 -365
- package/dist/DripConfig.js +26 -31
- package/dist/DripSdk.d.ts +1 -1
- package/dist/DripSdk.js +480 -593
- package/dist/contracts/BaseDripContract.js +1 -0
- package/dist/contracts/DripSwapAndRecyclerContract.js +11 -24
- package/dist/contracts/DripTokenContract.js +10 -23
- package/dist/contracts/DripTokenRecyclerContract.js +5 -16
- package/dist/contracts/PerqVestingContract.js +41 -64
- package/dist/index.d.ts +1 -1
- package/dist/test.js +18 -29
- package/dist/types/MyPerqData.d.ts +11 -39
- package/eslint.config.mjs +43 -0
- package/package.json +27 -23
- package/.eslintrc.json +0 -38
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -20,22 +11,18 @@ class DripSwapAndRecyclerContract extends BaseDripContract_1.default {
|
|
20
11
|
constructor(address, signer) {
|
21
12
|
super(address, new ethers_1.ethers.utils.Interface(DripSwapAndRecyclerAbi_json_1.default), signer);
|
22
13
|
}
|
23
|
-
swapAndRecycle() {
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
return yield this.contract.swapAndRecycle(beneficiary, path, amountInWithDecimals, minAmountOutWithDecimals, price, deadline, signature);
|
29
|
-
});
|
14
|
+
async swapAndRecycle(beneficiary = DripConfig_1.NULL_ADDRESS, path, amountInWithDecimals, minAmountOutWithDecimals, price, deadline, signature) {
|
15
|
+
if (!this.contract.signer) {
|
16
|
+
throw Error('No signer provided');
|
17
|
+
}
|
18
|
+
return await this.contract.swapAndRecycle(beneficiary, path, amountInWithDecimals, minAmountOutWithDecimals, price, deadline, signature);
|
30
19
|
}
|
31
|
-
swapETHAndRecycle() {
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
value: amountInEth
|
38
|
-
});
|
20
|
+
async swapETHAndRecycle(beneficiary = DripConfig_1.NULL_ADDRESS, path, minAmountOutWithDecimals, amountInEth, price, deadline, signature) {
|
21
|
+
if (!this.contract.signer) {
|
22
|
+
throw Error('No signer provided');
|
23
|
+
}
|
24
|
+
return await this.contract.swapETHAndRecycle(beneficiary, path, minAmountOutWithDecimals, price, deadline, signature, {
|
25
|
+
value: amountInEth,
|
39
26
|
});
|
40
27
|
}
|
41
28
|
}
|
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -19,21 +10,17 @@ class DripTokenContract extends BaseDripContract_1.default {
|
|
19
10
|
constructor(address, signer) {
|
20
11
|
super(address, new ethers_1.ethers.utils.Interface(DripTokenAbi_json_1.default), signer);
|
21
12
|
}
|
22
|
-
getAllowance(spender) {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
return yield this.contract.allowance(yield this.contract.signer.getAddress(), spender);
|
28
|
-
});
|
13
|
+
async getAllowance(spender) {
|
14
|
+
if (!this.contract.signer) {
|
15
|
+
throw Error('No signer provided');
|
16
|
+
}
|
17
|
+
return await this.contract.allowance(await this.contract.signer.getAddress(), spender);
|
29
18
|
}
|
30
|
-
approve(spender, amount) {
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
return yield this.contract.approve(spender, amount.toString());
|
36
|
-
});
|
19
|
+
async approve(spender, amount) {
|
20
|
+
if (!this.contract.signer) {
|
21
|
+
throw Error('No signer provided');
|
22
|
+
}
|
23
|
+
return await this.contract.approve(spender, amount.toString());
|
37
24
|
}
|
38
25
|
}
|
39
26
|
exports.default = DripTokenContract;
|
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -20,13 +11,11 @@ class DripTokenRecyclerContract extends BaseDripContract_1.default {
|
|
20
11
|
constructor(address, signer) {
|
21
12
|
super(address, new ethers_1.ethers.utils.Interface(TokenRecyclerAbi_json_1.default), signer);
|
22
13
|
}
|
23
|
-
recycle(
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
return yield this.contract.recycle(amountToRecycle, beneficiary, price, deadline, signature);
|
29
|
-
});
|
14
|
+
async recycle(amountToRecycle, beneficiary = DripConfig_1.NULL_ADDRESS, price, deadline, signature) {
|
15
|
+
if (!this.contract.signer) {
|
16
|
+
throw Error('No signer provided');
|
17
|
+
}
|
18
|
+
return await this.contract.recycle(amountToRecycle, beneficiary, price, deadline, signature);
|
30
19
|
}
|
31
20
|
}
|
32
21
|
exports.default = DripTokenRecyclerContract;
|
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -19,61 +10,47 @@ class PerqVestingContract extends BaseDripContract_1.default {
|
|
19
10
|
constructor(address, signer) {
|
20
11
|
super(address, new ethers_1.ethers.utils.Interface(PerqVestingAbi_json_1.default), signer);
|
21
12
|
}
|
22
|
-
start() {
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
}
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
58
|
-
|
59
|
-
|
60
|
-
|
61
|
-
|
62
|
-
|
63
|
-
return __awaiter(this, void 0, void 0, function* () {
|
64
|
-
if (!this.contract.signer) {
|
65
|
-
throw Error('No signer provided');
|
66
|
-
}
|
67
|
-
return yield this.contract.claim(amount);
|
68
|
-
});
|
69
|
-
}
|
70
|
-
burn(amount, price, deadline, signature) {
|
71
|
-
return __awaiter(this, void 0, void 0, function* () {
|
72
|
-
if (!this.contract.signer) {
|
73
|
-
throw Error('No signer provided');
|
74
|
-
}
|
75
|
-
return yield this.contract.burn(amount, price, deadline, signature);
|
76
|
-
});
|
13
|
+
async start() {
|
14
|
+
if (!this.contract.signer) {
|
15
|
+
throw Error('No signer provided');
|
16
|
+
}
|
17
|
+
return await this.contract.start();
|
18
|
+
}
|
19
|
+
async end() {
|
20
|
+
if (!this.contract.signer) {
|
21
|
+
throw Error('No signer provided');
|
22
|
+
}
|
23
|
+
return await this.contract.end();
|
24
|
+
}
|
25
|
+
async vested(beneficiary) {
|
26
|
+
if (!this.contract.signer) {
|
27
|
+
throw Error('No signer provided');
|
28
|
+
}
|
29
|
+
return await this.contract.vested(beneficiary);
|
30
|
+
}
|
31
|
+
async releasable(beneficiary) {
|
32
|
+
if (!this.contract.signer) {
|
33
|
+
throw Error('No signer provided');
|
34
|
+
}
|
35
|
+
return await this.contract.releasable(beneficiary);
|
36
|
+
}
|
37
|
+
async releasableTotal(beneficiary) {
|
38
|
+
if (!this.contract.signer) {
|
39
|
+
throw Error('No signer provided');
|
40
|
+
}
|
41
|
+
return await this.contract.releasableTotal(beneficiary);
|
42
|
+
}
|
43
|
+
async claim(amount) {
|
44
|
+
if (!this.contract.signer) {
|
45
|
+
throw Error('No signer provided');
|
46
|
+
}
|
47
|
+
return await this.contract.claim(amount);
|
48
|
+
}
|
49
|
+
async burn(amount, price, deadline, signature) {
|
50
|
+
if (!this.contract.signer) {
|
51
|
+
throw Error('No signer provided');
|
52
|
+
}
|
53
|
+
return await this.contract.burn(amount, price, deadline, signature);
|
77
54
|
}
|
78
55
|
}
|
79
56
|
exports.default = PerqVestingContract;
|
package/dist/index.d.ts
CHANGED
@@ -19,4 +19,4 @@ import WETH_TOKEN_ABI from './contracts/abi/WethTokenAbi.json';
|
|
19
19
|
import DRIP_TOKEN_ABI from './contracts/abi/DripTokenAbi.json';
|
20
20
|
import TOKEN_RECYCLER_ABI from './contracts/abi/TokenRecyclerAbi.json';
|
21
21
|
import PERQ_VESTING_ABI from './contracts/abi/PerqVestingAbi.json';
|
22
|
-
export { DRIP_SWAP_AND_RECYCLER_ABI, WETH_TOKEN_ABI, DRIP_TOKEN_ABI, TOKEN_RECYCLER_ABI, PERQ_VESTING_ABI, Vault, VaultReward, DripSdk, UserVaultBalance, UserBalance, VaultStats, NFTBoost, Strategy, StretchGoal, SwapInfo, VaultDepositToken, VaultType, MyPerqData, Chain, ELoyaltyCardTier, BeanEntry };
|
22
|
+
export { DRIP_SWAP_AND_RECYCLER_ABI, WETH_TOKEN_ABI, DRIP_TOKEN_ABI, TOKEN_RECYCLER_ABI, PERQ_VESTING_ABI, Vault, VaultReward, DripSdk, UserVaultBalance, UserBalance, VaultStats, NFTBoost, Strategy, StretchGoal, SwapInfo, VaultDepositToken, VaultType, MyPerqData, Chain, ELoyaltyCardTier, BeanEntry, };
|
package/dist/test.js
CHANGED
@@ -1,13 +1,4 @@
|
|
1
1
|
"use strict";
|
2
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
4
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
5
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
6
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
7
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
8
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
9
|
-
});
|
10
|
-
};
|
11
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
12
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
13
4
|
};
|
@@ -34,12 +25,12 @@ const testConfigParams = {
|
|
34
25
|
IRewardManager: '0xcE7F66BD505a80129Ef25b06207Ac49620A55522',
|
35
26
|
IStrategyRegistry: '0xf978853Db777d00b1130Ea21d8d98E8710b0Bc56',
|
36
27
|
ISpoolLens: '0x33Df6cf08Fbb10047e318989fE687294CD45A7B4',
|
37
|
-
}
|
28
|
+
},
|
38
29
|
},
|
39
30
|
dripContracts: {
|
40
31
|
DripTokenAddress: '0x707B4Cc05645713d8Ea04FBC7192A0f2c1503d6E', // Sepolia contract address
|
41
|
-
DripTokenRecyclerAddress: '0xe943A1320402fcf41cDc04275e842654165dAB78' // Sepolia contract address
|
42
|
-
}
|
32
|
+
DripTokenRecyclerAddress: '0xe943A1320402fcf41cDc04275e842654165dAB78', // Sepolia contract address
|
33
|
+
},
|
43
34
|
};
|
44
35
|
const configParams = {
|
45
36
|
subgraphUrl: 'https://subgraph.satsuma-prod.com/49eb322da234/solidant/spool-v2-sepolia/api',
|
@@ -59,8 +50,8 @@ const configParams = {
|
|
59
50
|
},
|
60
51
|
dripContracts: {
|
61
52
|
DripTokenAddress: '0x707B4Cc05645713d8Ea04FBC7192A0f2c1503d6E', // Sepolia contract address
|
62
|
-
DripTokenRecyclerAddress: '0xe943A1320402fcf41cDc04275e842654165dAB78' // Sepolia contract address
|
63
|
-
}
|
53
|
+
DripTokenRecyclerAddress: '0xe943A1320402fcf41cDc04275e842654165dAB78', // Sepolia contract address
|
54
|
+
},
|
64
55
|
};
|
65
56
|
const provider = new ethers_1.ethers.providers.StaticJsonRpcProvider('https://rpc.ankr.com/eth_sepolia', 11155111);
|
66
57
|
exports.signer = new ethers_1.ethers.Wallet(privKey, provider);
|
@@ -73,20 +64,18 @@ const usdcTokenAddress = '0xa6b92fcd4ee124353c8a6acf1edb574f46f3f8df'; // USDC T
|
|
73
64
|
const dripSdk = new DripSdk_1.default(DripConfig_1.Chain.SEPOLIA, exports.signer, 'https://localhost:3000');
|
74
65
|
// 0x689Baa4821865Cb328F5E847fB6133DEB315A832
|
75
66
|
// 0x9E9B6899Ea314dD553A99f4F49440d2CeD2b2848
|
76
|
-
function main() {
|
77
|
-
|
78
|
-
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
}
|
90
|
-
});
|
67
|
+
async function main() {
|
68
|
+
try {
|
69
|
+
// const res = await dripSdk.deposit(usdcTokenAddress,usdcVaultPerq, '1000');
|
70
|
+
// const res = await dripSdk.withdraw(usdcVaultPerq, '1');
|
71
|
+
// const res = await dripSdk.getDripTokenBalance(account2)
|
72
|
+
// const res = await dripSdk.getOwnedLoyaltyCard()
|
73
|
+
// const res = await dripSdk.getBeansBalance()
|
74
|
+
// const res = await dripSdk.recycleTokens()
|
75
|
+
// const res = await dripSdk.upgradeLoyaltyCard()
|
76
|
+
}
|
77
|
+
catch (error) {
|
78
|
+
console.log(`Main error: ${error}`);
|
79
|
+
}
|
91
80
|
}
|
92
81
|
main();
|
@@ -1,43 +1,15 @@
|
|
1
1
|
import Asset from './Asset';
|
2
|
-
import {
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
coingeckoId?: string;
|
14
|
-
depositTokenId: 'WETH' | 'USDC' | 'DAI';
|
15
|
-
type: 'earn' | 'launch' | 'airdrop';
|
16
|
-
rewardType: 'points' | 'token' | 'pnode shards';
|
17
|
-
amountOfTokens?: number;
|
18
|
-
vaultName: string;
|
19
|
-
protocols: string[];
|
20
|
-
apy: number;
|
21
|
-
tvr: number;
|
22
|
-
tokenPrice: number;
|
23
|
-
change24h: number;
|
24
|
-
volume24h: number;
|
25
|
-
rewards: CacheVaultRewards[];
|
26
|
-
strategies: Strategy[];
|
27
|
-
boosters: NFTBoost[];
|
28
|
-
depositToken: DepositToken;
|
29
|
-
avgTvl: string;
|
30
|
-
peakTvl: string;
|
31
|
-
pendingDeposits: number;
|
32
|
-
currentlyDeposited: number;
|
33
|
-
pendingWithdraws: number;
|
34
|
-
claimable: number;
|
35
|
-
ethPrice: number;
|
36
|
-
tokenRewards: {
|
37
|
-
[token_address: string]: Asset & {
|
38
|
-
amount: number;
|
39
|
-
rewardsPerHour: number;
|
40
|
-
};
|
2
|
+
import { Vault } from './Vault';
|
3
|
+
type MyPerqData = Vault & {
|
4
|
+
claimable: number;
|
5
|
+
pendingDeposits: number;
|
6
|
+
pendingWithdraws: number;
|
7
|
+
currentlyDeposited: number;
|
8
|
+
ethPrice: number;
|
9
|
+
tokenRewards: {
|
10
|
+
[token_address: string]: Asset & {
|
11
|
+
amount: number;
|
12
|
+
rewardsPerHour?: number;
|
41
13
|
};
|
42
14
|
};
|
43
15
|
};
|
@@ -0,0 +1,43 @@
|
|
1
|
+
import globals from 'globals';
|
2
|
+
import pluginJs from '@eslint/js';
|
3
|
+
import tseslint from 'typescript-eslint';
|
4
|
+
import stylisticTs from '@stylistic/eslint-plugin-ts';
|
5
|
+
|
6
|
+
/** @type {import('eslint').Linter.Config[]} */
|
7
|
+
export default [
|
8
|
+
{ files: ['**/*.{js,mjs,cjs,ts}'] },
|
9
|
+
{
|
10
|
+
languageOptions: {
|
11
|
+
globals: globals.browser,
|
12
|
+
},
|
13
|
+
},
|
14
|
+
pluginJs.configs.recommended,
|
15
|
+
...tseslint.configs.recommended,
|
16
|
+
{
|
17
|
+
plugins: {
|
18
|
+
'@stylistic/ts': stylisticTs,
|
19
|
+
},
|
20
|
+
|
21
|
+
rules: {
|
22
|
+
'@typescript-eslint/no-explicit-any': 'off',
|
23
|
+
'@typescript-eslint/no-unused-vars': [
|
24
|
+
'error',
|
25
|
+
{
|
26
|
+
caughtErrors: 'none',
|
27
|
+
},
|
28
|
+
],
|
29
|
+
'no-empty': [
|
30
|
+
'error',
|
31
|
+
{
|
32
|
+
allowEmptyCatch: true,
|
33
|
+
},
|
34
|
+
],
|
35
|
+
'@stylistic/ts/brace-style': 'error',
|
36
|
+
'@stylistic/ts/comma-spacing': 'error',
|
37
|
+
'@stylistic/ts/key-spacing': 'error',
|
38
|
+
'@stylistic/ts/keyword-spacing': 'error',
|
39
|
+
'@stylistic/ts/lines-around-comment': 'error',
|
40
|
+
'@stylistic/ts/semi': 'error',
|
41
|
+
},
|
42
|
+
},
|
43
|
+
];
|
package/package.json
CHANGED
@@ -1,25 +1,29 @@
|
|
1
1
|
{
|
2
|
-
|
3
|
-
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
2
|
+
"name": "@dripfi/drip-sdk",
|
3
|
+
"version": "1.3.8",
|
4
|
+
"description": "Drip SDK",
|
5
|
+
"main": "dist/index.js",
|
6
|
+
"types": "dist/index.d.ts",
|
7
|
+
"scripts": {
|
8
|
+
"prepublish": "npm run build",
|
9
|
+
"build": "tsc",
|
10
|
+
"publish": "npm publish --access public",
|
11
|
+
"test": "echo \"Error: no test specified\" && exit 1",
|
12
|
+
"lint": "eslint src/**/*.ts",
|
13
|
+
"pretty": "prettier --write \"./**/*.{js,jsx,mjs,cjs,ts,tsx,json}\""
|
14
|
+
},
|
15
|
+
"dependencies": {
|
16
|
+
"@spool.fi/spool-v2-sdk": "2.0.44",
|
17
|
+
"ethers": "^5.7.2"
|
18
|
+
},
|
19
|
+
"author": "",
|
20
|
+
"license": "ISC",
|
21
|
+
"devDependencies": {
|
22
|
+
"typescript-eslint": "^8.19.1",
|
23
|
+
"eslint": "^8.57.0",
|
24
|
+
"typescript": "^5.4.5",
|
25
|
+
"prettier-eslint": "^16.3.0",
|
26
|
+
"prettier": "^3.4.2",
|
27
|
+
"@stylistic/eslint-plugin-ts": "^2.12.1"
|
28
|
+
}
|
25
29
|
}
|
package/.eslintrc.json
DELETED
@@ -1,38 +0,0 @@
|
|
1
|
-
{
|
2
|
-
"env": {
|
3
|
-
"browser": true,
|
4
|
-
"es2021": true
|
5
|
-
},
|
6
|
-
"extends": [
|
7
|
-
"eslint:recommended",
|
8
|
-
"plugin:@typescript-eslint/recommended"
|
9
|
-
],
|
10
|
-
"parser": "@typescript-eslint/parser",
|
11
|
-
"parserOptions": {
|
12
|
-
"ecmaVersion": "latest",
|
13
|
-
"sourceType": "module"
|
14
|
-
},
|
15
|
-
"plugins": [
|
16
|
-
"@typescript-eslint"
|
17
|
-
],
|
18
|
-
"rules": {
|
19
|
-
"quotes": [
|
20
|
-
"error",
|
21
|
-
"single"
|
22
|
-
],
|
23
|
-
"semi": "off",
|
24
|
-
"@typescript-eslint/semi": "error",
|
25
|
-
"@typescript-eslint/no-explicit-any": "off",
|
26
|
-
"curly": "error"
|
27
|
-
},
|
28
|
-
"overrides": [
|
29
|
-
{
|
30
|
-
"files": [
|
31
|
-
"tests/**/*"
|
32
|
-
],
|
33
|
-
"env": {
|
34
|
-
"jest": true
|
35
|
-
}
|
36
|
-
}
|
37
|
-
]
|
38
|
-
}
|