@defisaver/sdk 0.1.12 → 0.1.16
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/ACTIONS.md +127 -4
- package/package.json +2 -2
- package/src/actions/curve/CurveClaimFeesAction.js +31 -0
- package/src/actions/curve/CurveDepositAction.js +50 -0
- package/src/actions/curve/CurveGaugeDepositAction.js +36 -0
- package/src/actions/curve/CurveGaugeWithdrawAction.js +28 -0
- package/src/actions/curve/CurveMintCrvAction.js +25 -0
- package/src/actions/curve/CurveSwapAction.js +39 -0
- package/src/actions/curve/CurveWithdrawAction.js +53 -0
- package/src/actions/curve/index.js +19 -0
- package/src/actions/index.js +2 -0
- package/src/actions/mstable/MStableClaimAction.js +2 -2
- package/src/actions/mstable/MStableDepositAction.js +29 -9
- package/src/actions/mstable/MStableWithdrawAction.js +29 -13
- package/src/addresses.js +7 -2
- package/src/utils/index.js +2 -0
- package/src/utils/mstableAssetPairs.js +8 -0
package/ACTIONS.md
CHANGED
|
@@ -71,6 +71,20 @@
|
|
|
71
71
|
<dt><a href="#CompoundWithdrawAction">CompoundWithdrawAction</a></dt>
|
|
72
72
|
<dd><p>CompoundWithdrawAction - Withdraw token from an Compound position</p>
|
|
73
73
|
</dd>
|
|
74
|
+
<dt><a href="#CurveClaimFeesAction">CurveClaimFeesAction</a></dt>
|
|
75
|
+
<dd></dd>
|
|
76
|
+
<dt><a href="#CurveDepositAction">CurveDepositAction</a></dt>
|
|
77
|
+
<dd></dd>
|
|
78
|
+
<dt><a href="#CurveGaugeDepositAction">CurveGaugeDepositAction</a></dt>
|
|
79
|
+
<dd></dd>
|
|
80
|
+
<dt><a href="#CurveGaugeWithdrawAction">CurveGaugeWithdrawAction</a></dt>
|
|
81
|
+
<dd></dd>
|
|
82
|
+
<dt><a href="#CurveMintCrvAction">CurveMintCrvAction</a></dt>
|
|
83
|
+
<dd></dd>
|
|
84
|
+
<dt><a href="#CurveSwapAction">CurveSwapAction</a></dt>
|
|
85
|
+
<dd></dd>
|
|
86
|
+
<dt><a href="#CurveWithdrawAction">CurveWithdrawAction</a></dt>
|
|
87
|
+
<dd></dd>
|
|
74
88
|
<dt><a href="#DyDxSupplyAction">DyDxSupplyAction</a></dt>
|
|
75
89
|
<dd><p>DyDxSupplyAction - Supply token to an DyDx position</p>
|
|
76
90
|
</dd>
|
|
@@ -580,6 +594,115 @@ CompoundWithdrawAction - Withdraw token from an Compound position
|
|
|
580
594
|
- amount <code>string</code> - Wei amount in underlying asset decimals (not cAsset) - ie. 18 dec for cETH, not 8
|
|
581
595
|
- to <code>EthAddress</code>
|
|
582
596
|
|
|
597
|
+
<a name="CurveClaimFeesAction"></a>
|
|
598
|
+
|
|
599
|
+
## CurveClaimFeesAction
|
|
600
|
+
**Kind**: global class
|
|
601
|
+
<a name="new_CurveClaimFeesAction_new"></a>
|
|
602
|
+
|
|
603
|
+
### new CurveClaimFeesAction(claimFor, receiver)
|
|
604
|
+
**Params**
|
|
605
|
+
|
|
606
|
+
- claimFor <code>EthAddress</code>
|
|
607
|
+
- receiver <code>EthAddress</code>
|
|
608
|
+
|
|
609
|
+
<a name="CurveDepositAction"></a>
|
|
610
|
+
|
|
611
|
+
## CurveDepositAction
|
|
612
|
+
**Kind**: global class
|
|
613
|
+
<a name="new_CurveDepositAction_new"></a>
|
|
614
|
+
|
|
615
|
+
### new CurveDepositAction(sender, receiver, depositTarget, lpToken, sig, minMintAmount, amounts, tokens, useUnderlying)
|
|
616
|
+
**Params**
|
|
617
|
+
|
|
618
|
+
- sender <code>EthAddress</code>
|
|
619
|
+
- receiver <code>EthAddress</code>
|
|
620
|
+
- depositTarget <code>EthAddress</code>
|
|
621
|
+
- lpToken <code>EthAddress</code>
|
|
622
|
+
- sig <code>bytes4</code>
|
|
623
|
+
- minMintAmount <code>string</code>
|
|
624
|
+
- amounts <code>Array.<string></code>
|
|
625
|
+
- tokens <code>Array.<EthAddress></code>
|
|
626
|
+
- useUnderlying <code>boolean</code>
|
|
627
|
+
|
|
628
|
+
<a name="CurveGaugeDepositAction"></a>
|
|
629
|
+
|
|
630
|
+
## CurveGaugeDepositAction
|
|
631
|
+
**Kind**: global class
|
|
632
|
+
<a name="new_CurveGaugeDepositAction_new"></a>
|
|
633
|
+
|
|
634
|
+
### new CurveGaugeDepositAction(gaugeAddr, lpToken, sender, onBehalfOf, amount)
|
|
635
|
+
**Params**
|
|
636
|
+
|
|
637
|
+
- gaugeAddr <code>EthAddress</code>
|
|
638
|
+
- lpToken <code>EthAddress</code>
|
|
639
|
+
- sender <code>EthAddress</code>
|
|
640
|
+
- onBehalfOf <code>EthAddress</code>
|
|
641
|
+
- amount <code>string</code>
|
|
642
|
+
|
|
643
|
+
<a name="CurveGaugeWithdrawAction"></a>
|
|
644
|
+
|
|
645
|
+
## CurveGaugeWithdrawAction
|
|
646
|
+
**Kind**: global class
|
|
647
|
+
<a name="new_CurveGaugeWithdrawAction_new"></a>
|
|
648
|
+
|
|
649
|
+
### new CurveGaugeWithdrawAction(gaugeAddr, lpToken, receiver, amount)
|
|
650
|
+
**Params**
|
|
651
|
+
|
|
652
|
+
- gaugeAddr <code>EthAddress</code>
|
|
653
|
+
- lpToken <code>EthAddress</code>
|
|
654
|
+
- receiver <code>EthAddress</code>
|
|
655
|
+
- amount <code>string</code>
|
|
656
|
+
|
|
657
|
+
<a name="CurveMintCrvAction"></a>
|
|
658
|
+
|
|
659
|
+
## CurveMintCrvAction
|
|
660
|
+
**Kind**: global class
|
|
661
|
+
<a name="new_CurveMintCrvAction_new"></a>
|
|
662
|
+
|
|
663
|
+
### new CurveMintCrvAction(gaugeAddrs, receiver)
|
|
664
|
+
**Params**
|
|
665
|
+
|
|
666
|
+
- gaugeAddrs <code>Array.<EthAddress></code>
|
|
667
|
+
- receiver <code>EthAddress</code>
|
|
668
|
+
|
|
669
|
+
<a name="CurveSwapAction"></a>
|
|
670
|
+
|
|
671
|
+
## CurveSwapAction
|
|
672
|
+
**Kind**: global class
|
|
673
|
+
<a name="new_CurveSwapAction_new"></a>
|
|
674
|
+
|
|
675
|
+
### new CurveSwapAction(sender, receiver, pool, tokenA, tokenB, amount, expected)
|
|
676
|
+
**Params**
|
|
677
|
+
|
|
678
|
+
- sender <code>EthAddress</code>
|
|
679
|
+
- receiver <code>EthAddress</code>
|
|
680
|
+
- pool <code>EthAddress</code>
|
|
681
|
+
- tokenA <code>EthAddress</code>
|
|
682
|
+
- tokenB <code>EthAddress</code>
|
|
683
|
+
- amount <code>string</code>
|
|
684
|
+
- expected <code>string</code>
|
|
685
|
+
|
|
686
|
+
<a name="CurveWithdrawAction"></a>
|
|
687
|
+
|
|
688
|
+
## CurveWithdrawAction
|
|
689
|
+
**Kind**: global class
|
|
690
|
+
<a name="new_CurveWithdrawAction_new"></a>
|
|
691
|
+
|
|
692
|
+
### new CurveWithdrawAction(sender, receiver, depositTarget, lpToken, sig, burnAmount, minAmounts, tokens, withdrawExact, useUnderlying)
|
|
693
|
+
**Params**
|
|
694
|
+
|
|
695
|
+
- sender <code>EthAddress</code>
|
|
696
|
+
- receiver <code>EthAddress</code>
|
|
697
|
+
- depositTarget <code>EthAddress</code>
|
|
698
|
+
- lpToken <code>EthAddress</code>
|
|
699
|
+
- sig <code>bytes4</code>
|
|
700
|
+
- burnAmount <code>string</code>
|
|
701
|
+
- minAmounts <code>Array.<string></code>
|
|
702
|
+
- tokens <code>Array.<EthAddress></code>
|
|
703
|
+
- withdrawExact <code>boolean</code>
|
|
704
|
+
- useUnderlying <code>boolean</code>
|
|
705
|
+
|
|
583
706
|
<a name="DyDxSupplyAction"></a>
|
|
584
707
|
|
|
585
708
|
## DyDxSupplyAction
|
|
@@ -1145,7 +1268,7 @@ MStableDepositAction
|
|
|
1145
1268
|
**Kind**: global class
|
|
1146
1269
|
<a name="new_MStableDepositAction_new"></a>
|
|
1147
1270
|
|
|
1148
|
-
### new MStableDepositAction(bAsset, mAsset, saveAddress, vaultAddress, from, to, amount, minOut,
|
|
1271
|
+
### new MStableDepositAction(bAsset, mAsset, saveAddress, vaultAddress, from, to, amount, minOut, assetPair)
|
|
1149
1272
|
**Params**
|
|
1150
1273
|
|
|
1151
1274
|
- bAsset
|
|
@@ -1156,7 +1279,7 @@ MStableDepositAction
|
|
|
1156
1279
|
- to
|
|
1157
1280
|
- amount
|
|
1158
1281
|
- minOut
|
|
1159
|
-
-
|
|
1282
|
+
- assetPair
|
|
1160
1283
|
|
|
1161
1284
|
<a name="MStableWithdrawAction"></a>
|
|
1162
1285
|
|
|
@@ -1166,7 +1289,7 @@ MStableWithdrawAction
|
|
|
1166
1289
|
**Kind**: global class
|
|
1167
1290
|
<a name="new_MStableWithdrawAction_new"></a>
|
|
1168
1291
|
|
|
1169
|
-
### new MStableWithdrawAction(bAsset, mAsset, saveAddress, vaultAddress, from, to, amount, minOut,
|
|
1292
|
+
### new MStableWithdrawAction(bAsset, mAsset, saveAddress, vaultAddress, from, to, amount, minOut, assetPair)
|
|
1170
1293
|
**Params**
|
|
1171
1294
|
|
|
1172
1295
|
- bAsset
|
|
@@ -1177,7 +1300,7 @@ MStableWithdrawAction
|
|
|
1177
1300
|
- to
|
|
1178
1301
|
- amount
|
|
1179
1302
|
- minOut
|
|
1180
|
-
-
|
|
1303
|
+
- assetPair
|
|
1181
1304
|
|
|
1182
1305
|
<a name="RariDepositAction"></a>
|
|
1183
1306
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defisaver/sdk",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.16",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"repository": "https://github.com/DecenterApps/defisaver-sdk",
|
|
14
14
|
"license": "ISC",
|
|
15
15
|
"dependencies": {
|
|
16
|
-
"@defisaver/tokens": "^1.
|
|
16
|
+
"@defisaver/tokens": "^1.4.0",
|
|
17
17
|
"@ethersproject/address": "^5.0.10",
|
|
18
18
|
"@ethersproject/solidity": "^5.0.9",
|
|
19
19
|
"axios": "^0.21.1",
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
const { getAssetInfo } = require('@defisaver/tokens');
|
|
2
|
+
const Action = require('../../Action');
|
|
3
|
+
const { requireAddress } = require('../../utils/general');
|
|
4
|
+
const { getAddr } = require('../../addresses');
|
|
5
|
+
|
|
6
|
+
class CurveClaimFeesAction extends Action {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param {EthAddress} claimFor
|
|
11
|
+
* @param {EthAddress} receiver
|
|
12
|
+
*/
|
|
13
|
+
constructor(
|
|
14
|
+
claimFor,
|
|
15
|
+
receiver,
|
|
16
|
+
) {
|
|
17
|
+
requireAddress(claimFor);
|
|
18
|
+
requireAddress(receiver);
|
|
19
|
+
super('CurveClaimFeesAction',
|
|
20
|
+
getAddr('CurveClaimFeesAction'),
|
|
21
|
+
[['address', 'address']],
|
|
22
|
+
[[...arguments]]);
|
|
23
|
+
|
|
24
|
+
this.mappableArgs = [
|
|
25
|
+
this.args[0][0],
|
|
26
|
+
this.args[0][1],
|
|
27
|
+
];
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
module.exports = CurveClaimFeesAction;
|
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
const { getAssetInfo } = require('@defisaver/tokens');
|
|
2
|
+
const Action = require('../../Action');
|
|
3
|
+
const { requireAddress } = require('../../utils/general');
|
|
4
|
+
const { getAddr } = require('../../addresses');
|
|
5
|
+
|
|
6
|
+
class CurveDepositAction extends Action {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* @param {EthAddress} sender
|
|
10
|
+
* @param {EthAddress} receiver
|
|
11
|
+
* @param {EthAddress} depositTarget
|
|
12
|
+
* @param {EthAddress} lpToken
|
|
13
|
+
* @param {bytes4} sig
|
|
14
|
+
* @param {string} minMintAmount
|
|
15
|
+
* @param {Array<string>} amounts
|
|
16
|
+
* @param {Array<EthAddress>} tokens
|
|
17
|
+
* @param {boolean} useUnderlying
|
|
18
|
+
*/
|
|
19
|
+
constructor(
|
|
20
|
+
sender,
|
|
21
|
+
receiver,
|
|
22
|
+
depositTarget,
|
|
23
|
+
lpToken,
|
|
24
|
+
sig,
|
|
25
|
+
minMintAmount,
|
|
26
|
+
amounts = [],
|
|
27
|
+
tokens = [],
|
|
28
|
+
useUnderlying
|
|
29
|
+
) {
|
|
30
|
+
requireAddress(sender);
|
|
31
|
+
requireAddress(receiver);
|
|
32
|
+
super('CurveDeposit',
|
|
33
|
+
getAddr('CurveDeposit'),
|
|
34
|
+
[['address', 'address', 'address', 'address', 'bytes4', 'uint256', 'uint256[]', 'address[]', 'bool']],
|
|
35
|
+
[[...arguments]]);
|
|
36
|
+
|
|
37
|
+
this.mappableArgs = [
|
|
38
|
+
this.args[0][0],
|
|
39
|
+
this.args[0][1],
|
|
40
|
+
this.args[0][5],
|
|
41
|
+
...this.args[0][6],
|
|
42
|
+
];
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
async getAssetsToApprove() {
|
|
46
|
+
return this.args[0][7].map(_asset => Object({ asset: _asset, owner: this.args[0][0] }));
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
module.exports = CurveDepositAction;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { requireAddress } = require('../../utils/general');
|
|
3
|
+
const { getAddr } = require('../../addresses');
|
|
4
|
+
|
|
5
|
+
class CurveGaugeDepositAction extends Action {
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
*
|
|
9
|
+
* @param {EthAddress} gaugeAddr
|
|
10
|
+
* @param {EthAddress} lpToken
|
|
11
|
+
* @param {EthAddress} sender
|
|
12
|
+
* @param {EthAddress} onBehalfOf
|
|
13
|
+
* @param {string} amount
|
|
14
|
+
*/
|
|
15
|
+
constructor(gaugeAddr, lpToken, sender, onBehalfOf, amount) {
|
|
16
|
+
requireAddress(sender);
|
|
17
|
+
requireAddress(onBehalfOf);
|
|
18
|
+
super('CurveGaugeDeposit',
|
|
19
|
+
getAddr('CurveGaugeDeposit'),
|
|
20
|
+
[['address', 'address', 'address', 'address', 'uint256']],
|
|
21
|
+
[[...arguments]],
|
|
22
|
+
);
|
|
23
|
+
|
|
24
|
+
this.mappableArgs = [
|
|
25
|
+
this.args[0][2],
|
|
26
|
+
this.args[0][3],
|
|
27
|
+
this.args[0][4],
|
|
28
|
+
];
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
async getAssetsToApprove() {
|
|
32
|
+
return { asset: this.args[0][1], owner: this.args[0][2] };
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
module.exports = CurveGaugeDepositAction;
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { requireAddress } = require('../../utils/general');
|
|
3
|
+
const { getAddr } = require('../../addresses');
|
|
4
|
+
|
|
5
|
+
class CurveGaugeWithdrawAction extends Action {
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {EthAddress} gaugeAddr
|
|
9
|
+
* @param {EthAddress} lpToken
|
|
10
|
+
* @param {EthAddress} receiver
|
|
11
|
+
* @param {string} amount
|
|
12
|
+
*/
|
|
13
|
+
constructor(gaugeAddr, lpToken, receiver, amount) {
|
|
14
|
+
requireAddress(receiver);
|
|
15
|
+
super('CurveGaugeWithdraw',
|
|
16
|
+
getAddr('CurveGaugeWithdraw'),
|
|
17
|
+
[['address', 'address', 'address', 'uint256']],
|
|
18
|
+
[[...arguments]],
|
|
19
|
+
);
|
|
20
|
+
|
|
21
|
+
this.mappableArgs = [
|
|
22
|
+
this.args[0][2],
|
|
23
|
+
this.args[0][3],
|
|
24
|
+
];
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
module.exports = CurveGaugeWithdrawAction;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { requireAddress } = require('../../utils/general');
|
|
3
|
+
const { getAddr } = require('../../addresses');
|
|
4
|
+
|
|
5
|
+
class CurveMintCrvAction extends Action {
|
|
6
|
+
|
|
7
|
+
/**
|
|
8
|
+
* @param {Array<EthAddress>} gaugeAddrs
|
|
9
|
+
* @param {EthAddress} receiver
|
|
10
|
+
*/
|
|
11
|
+
constructor(gaugeAddrs, receiver) {
|
|
12
|
+
requireAddress(receiver);
|
|
13
|
+
super('CurveMintCrv',
|
|
14
|
+
getAddr('CurveMintCrv'),
|
|
15
|
+
[['address[8]', 'address']],
|
|
16
|
+
[[...arguments]],
|
|
17
|
+
);
|
|
18
|
+
|
|
19
|
+
this.mappableArgs = [
|
|
20
|
+
this.args[0][8],
|
|
21
|
+
];
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
module.exports = CurveMintCrvAction;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
const { getAssetInfo } = require('@defisaver/tokens');
|
|
2
|
+
const Action = require('../../Action');
|
|
3
|
+
const { requireAddress } = require('../../utils/general');
|
|
4
|
+
const { getAddr } = require('../../addresses');
|
|
5
|
+
|
|
6
|
+
class CurveSwapAction extends Action {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param {EthAddress} sender
|
|
11
|
+
* @param {EthAddress} receiver
|
|
12
|
+
* @param {EthAddress} pool
|
|
13
|
+
* @param {EthAddress} tokenA
|
|
14
|
+
* @param {EthAddress} tokenB
|
|
15
|
+
* @param {string} amount
|
|
16
|
+
* @param {string} expected
|
|
17
|
+
*/
|
|
18
|
+
constructor(sender, receiver, pool, tokenA, tokenB, amount, expected) {
|
|
19
|
+
requireAddress(sender);
|
|
20
|
+
requireAddress(receiver);
|
|
21
|
+
super('CurveSwap',
|
|
22
|
+
getAddr('CurveSwap'),
|
|
23
|
+
[['address', 'address', 'address', 'address', 'address', 'uint256', 'uint256']],
|
|
24
|
+
[[...arguments]]);
|
|
25
|
+
|
|
26
|
+
this.mappableArgs = [
|
|
27
|
+
this.args[0][0],
|
|
28
|
+
this.args[0][1],
|
|
29
|
+
this.args[0][5],
|
|
30
|
+
this.args[0][6],
|
|
31
|
+
];
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
async getAssetsToApprove() {
|
|
35
|
+
return [{ asset: this.args[0][3], owner: this.args[0][0] }];
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
module.exports = CurveSwapAction;
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
const { getAssetInfo } = require('@defisaver/tokens');
|
|
2
|
+
const Action = require('../../Action');
|
|
3
|
+
const { requireAddress } = require('../../utils/general');
|
|
4
|
+
const { getAddr } = require('../../addresses');
|
|
5
|
+
|
|
6
|
+
class CurveWithdrawAction extends Action {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
*
|
|
10
|
+
* @param {EthAddress} sender
|
|
11
|
+
* @param {EthAddress} receiver
|
|
12
|
+
* @param {EthAddress} depositTarget
|
|
13
|
+
* @param {EthAddress} lpToken
|
|
14
|
+
* @param {bytes4} sig
|
|
15
|
+
* @param {string} burnAmount
|
|
16
|
+
* @param {Array<string>} minAmounts
|
|
17
|
+
* @param {Array<EthAddress>} tokens
|
|
18
|
+
* @param {boolean} withdrawExact
|
|
19
|
+
* @param {boolean} useUnderlying
|
|
20
|
+
*/
|
|
21
|
+
constructor(
|
|
22
|
+
sender,
|
|
23
|
+
receiver,
|
|
24
|
+
depositTarget,
|
|
25
|
+
lpToken,
|
|
26
|
+
sig,
|
|
27
|
+
burnAmount,
|
|
28
|
+
minAmounts = [],
|
|
29
|
+
tokens = [],
|
|
30
|
+
withdrawExact,
|
|
31
|
+
useUnderlying
|
|
32
|
+
) {
|
|
33
|
+
requireAddress(sender);
|
|
34
|
+
requireAddress(receiver);
|
|
35
|
+
super('CurveWithdrawAction',
|
|
36
|
+
getAddr('CurveWithdrawAction'),
|
|
37
|
+
[['address', 'address', 'address', 'address', 'bytes4', 'uint256', 'uint256[]', 'address[]', 'bool', 'bool']],
|
|
38
|
+
[[...arguments]]);
|
|
39
|
+
|
|
40
|
+
this.mappableArgs = [
|
|
41
|
+
this.args[0][0],
|
|
42
|
+
this.args[0][1],
|
|
43
|
+
this.args[0][5],
|
|
44
|
+
...this.args[0][6],
|
|
45
|
+
];
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
async getAssetsToApprove() {
|
|
49
|
+
return { asset: this.args[0][3], owner: this.args[0][0] };
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
module.exports = CurveWithdrawAction;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
const CurveSwapAction = require('./CurveSwapAction');
|
|
2
|
+
const CurveDepositAction = require('./CurveDepositAction');
|
|
3
|
+
const CurveWithdrawAction = require('./CurveWithdrawAction');
|
|
4
|
+
|
|
5
|
+
const CurveGaugeDepositAction = require('./CurveGaugeDepositAction');
|
|
6
|
+
const CurveGaugeWithdrawAction = require('./CurveGaugeWithdrawAction');
|
|
7
|
+
const CurveMintCrvAction = require('./CurveMintCrvAction');
|
|
8
|
+
const CurveClaimFeesAction = require('./CurveClaimFeesAction');
|
|
9
|
+
|
|
10
|
+
module.exports = {
|
|
11
|
+
CurveSwapAction,
|
|
12
|
+
CurveDepositAction,
|
|
13
|
+
CurveWithdrawAction,
|
|
14
|
+
|
|
15
|
+
CurveGaugeDepositAction,
|
|
16
|
+
CurveGaugeWithdrawAction,
|
|
17
|
+
CurveMintCrvAction,
|
|
18
|
+
CurveClaimFeesAction,
|
|
19
|
+
};
|
package/src/actions/index.js
CHANGED
|
@@ -12,6 +12,7 @@ const yearn = require('./yearn');
|
|
|
12
12
|
const lido = require('./lido');
|
|
13
13
|
const insta = require('./insta');
|
|
14
14
|
const balancer = require('./balancer');
|
|
15
|
+
const curve = require('./curve');
|
|
15
16
|
const guni = require('./guni');
|
|
16
17
|
const mstable = require('./mstable');
|
|
17
18
|
const rari = require('./rari');
|
|
@@ -31,6 +32,7 @@ module.exports = {
|
|
|
31
32
|
lido,
|
|
32
33
|
insta,
|
|
33
34
|
balancer,
|
|
35
|
+
curve,
|
|
34
36
|
guni,
|
|
35
37
|
mstable,
|
|
36
38
|
rari,
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
const Action = require(
|
|
2
|
-
const {requireAddress} = require(
|
|
3
|
-
const { getAddr } = require('../../addresses
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { requireAddress } = require('../../utils/general');
|
|
3
|
+
const { getAddr } = require('../../addresses');
|
|
4
|
+
const mstableAssetPairs = require('../../utils/mstableAssetPairs');
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* MStableDepositAction
|
|
@@ -15,7 +16,7 @@ class MStableDepositAction extends Action {
|
|
|
15
16
|
* @param to
|
|
16
17
|
* @param amount
|
|
17
18
|
* @param minOut
|
|
18
|
-
* @param
|
|
19
|
+
* @param assetPair
|
|
19
20
|
*/
|
|
20
21
|
constructor(
|
|
21
22
|
bAsset,
|
|
@@ -26,7 +27,7 @@ class MStableDepositAction extends Action {
|
|
|
26
27
|
to,
|
|
27
28
|
amount,
|
|
28
29
|
minOut,
|
|
29
|
-
|
|
30
|
+
assetPair,
|
|
30
31
|
) {
|
|
31
32
|
requireAddress(bAsset);
|
|
32
33
|
requireAddress(mAsset);
|
|
@@ -36,9 +37,9 @@ class MStableDepositAction extends Action {
|
|
|
36
37
|
requireAddress(to);
|
|
37
38
|
|
|
38
39
|
super(
|
|
39
|
-
'
|
|
40
|
-
getAddr('
|
|
41
|
-
[['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', '
|
|
40
|
+
'MStableDepositNew',
|
|
41
|
+
getAddr('MStableDepositNew'),
|
|
42
|
+
[['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'uint256']],
|
|
42
43
|
[[...arguments]],
|
|
43
44
|
);
|
|
44
45
|
|
|
@@ -56,7 +57,26 @@ class MStableDepositAction extends Action {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
async getAssetsToApprove() {
|
|
59
|
-
|
|
60
|
+
const assetPair = this.args[0][8];
|
|
61
|
+
const owner = this.args[0][4];
|
|
62
|
+
let asset;
|
|
63
|
+
switch (assetPair) {
|
|
64
|
+
case mstableAssetPairs.BASSET_MASSET:
|
|
65
|
+
case mstableAssetPairs.BASSET_IMASSET:
|
|
66
|
+
case mstableAssetPairs.BASSET_IMASSETVAULT:
|
|
67
|
+
asset = this.args[0][0];
|
|
68
|
+
break;
|
|
69
|
+
case mstableAssetPairs.MASSET_IMASSET:
|
|
70
|
+
case mstableAssetPairs.MASSET_IMASSETVAULT:
|
|
71
|
+
asset = this.args[0][1];
|
|
72
|
+
break;
|
|
73
|
+
case mstableAssetPairs.IMASSET_IMASSETVAULT:
|
|
74
|
+
asset = this.args[0][2];
|
|
75
|
+
break;
|
|
76
|
+
default:
|
|
77
|
+
return [];
|
|
78
|
+
}
|
|
79
|
+
return [{ asset, owner }];
|
|
60
80
|
}
|
|
61
81
|
}
|
|
62
82
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
const Action = require(
|
|
2
|
-
const {requireAddress} = require(
|
|
3
|
-
const { getAddr } = require('../../addresses
|
|
1
|
+
const Action = require('../../Action');
|
|
2
|
+
const { requireAddress } = require('../../utils/general');
|
|
3
|
+
const { getAddr } = require('../../addresses');
|
|
4
|
+
const mstableAssetPairs = require('../../utils/mstableAssetPairs');
|
|
4
5
|
|
|
5
6
|
/**
|
|
6
7
|
* MStableWithdrawAction
|
|
@@ -15,7 +16,7 @@ class MStableWithdrawAction extends Action {
|
|
|
15
16
|
* @param to
|
|
16
17
|
* @param amount
|
|
17
18
|
* @param minOut
|
|
18
|
-
* @param
|
|
19
|
+
* @param assetPair
|
|
19
20
|
*/
|
|
20
21
|
constructor(
|
|
21
22
|
bAsset,
|
|
@@ -26,7 +27,7 @@ class MStableWithdrawAction extends Action {
|
|
|
26
27
|
to,
|
|
27
28
|
amount,
|
|
28
29
|
minOut,
|
|
29
|
-
|
|
30
|
+
assetPair,
|
|
30
31
|
) {
|
|
31
32
|
requireAddress(bAsset);
|
|
32
33
|
requireAddress(mAsset);
|
|
@@ -36,9 +37,9 @@ class MStableWithdrawAction extends Action {
|
|
|
36
37
|
requireAddress(to);
|
|
37
38
|
|
|
38
39
|
super(
|
|
39
|
-
'
|
|
40
|
-
getAddr('
|
|
41
|
-
[['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', '
|
|
40
|
+
'MStableWithdrawNew',
|
|
41
|
+
getAddr('MStableWithdrawNew'),
|
|
42
|
+
[['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'uint256']],
|
|
42
43
|
[[...arguments]],
|
|
43
44
|
);
|
|
44
45
|
|
|
@@ -56,11 +57,26 @@ class MStableWithdrawAction extends Action {
|
|
|
56
57
|
}
|
|
57
58
|
|
|
58
59
|
async getAssetsToApprove() {
|
|
59
|
-
const
|
|
60
|
-
const
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
60
|
+
const assetPair = this.args[0][8];
|
|
61
|
+
const owner = this.args[0][4];
|
|
62
|
+
let asset;
|
|
63
|
+
switch (assetPair) {
|
|
64
|
+
case mstableAssetPairs.BASSET_IMASSETVAULT:
|
|
65
|
+
case mstableAssetPairs.MASSET_IMASSETVAULT:
|
|
66
|
+
case mstableAssetPairs.IMASSET_IMASSETVAULT:
|
|
67
|
+
return [];
|
|
68
|
+
case mstableAssetPairs.MASSET_IMASSET:
|
|
69
|
+
case mstableAssetPairs.BASSET_IMASSET:
|
|
70
|
+
asset = this.args[0][2];
|
|
71
|
+
break;
|
|
72
|
+
case mstableAssetPairs.BASSET_MASSET:
|
|
73
|
+
asset = this.args[0][1];
|
|
74
|
+
break;
|
|
75
|
+
default:
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
return [{ asset, owner }];
|
|
79
|
+
}
|
|
64
80
|
}
|
|
65
81
|
|
|
66
82
|
module.exports = MStableWithdrawAction;
|
package/src/addresses.js
CHANGED
|
@@ -6,7 +6,7 @@ const actionAddresses = {
|
|
|
6
6
|
|
|
7
7
|
// utils
|
|
8
8
|
'WrapEth': '0x9E702937F42Db2cE58342Ca5F213Ef33D51AEF6b',
|
|
9
|
-
'UnwrapEth': '
|
|
9
|
+
'UnwrapEth': '0x5cD02A169CfE5B0596B352547879Dd60B7033488',
|
|
10
10
|
'PullToken': '0x795a89f6D4E97A959fe81aa22772441323783479',
|
|
11
11
|
'SendToken': '0xBbe0D7f2AF01aE678f8A873CB2d2EB73871C9b5A',
|
|
12
12
|
'SumInputs': '0xCdef35425579fc566B6Ee0499A79256ac88d25cf',
|
|
@@ -77,7 +77,7 @@ const actionAddresses = {
|
|
|
77
77
|
|
|
78
78
|
// yearn
|
|
79
79
|
'YearnSupply': '0x3B8538B070a0890ef7E13FF60c9d19F893a93B8a',
|
|
80
|
-
'YearnWithdraw': '
|
|
80
|
+
'YearnWithdraw': '0x03CC90F24C23C9F766902917c32411417c28Db92',
|
|
81
81
|
|
|
82
82
|
// liquity
|
|
83
83
|
'LiquityClose': '0x9C563dc9F8e3FcCF996DAB4b6B6003fb7Bbca90f',
|
|
@@ -119,6 +119,10 @@ const actionAddresses = {
|
|
|
119
119
|
// mStable
|
|
120
120
|
'MStableDeposit': '0x1887235CFE1927782a3e7eD15fb073586c949858',
|
|
121
121
|
'MStableWithdraw': '0xb164456190577fbBe8FB8bF5Fa48a106b328A579',
|
|
122
|
+
|
|
123
|
+
'MStableDepositNew': '0x2AFfE3899d985212aD8ee99e1269D7Dd17576f1d',
|
|
124
|
+
'MStableWithdrawNew': '0x6468215Bf4811244Ab78599e1df9206716A35aB7',
|
|
125
|
+
|
|
122
126
|
'MStableClaim': '0x28279A806aDeDedFD33e39C7375dc0c0ee943847',
|
|
123
127
|
};
|
|
124
128
|
|
|
@@ -132,6 +136,7 @@ const otherAddresses = {
|
|
|
132
136
|
UniswapV3PositionManager : '0xC36442b4a4522E871399CD717aBDD847Ab11FE88',
|
|
133
137
|
RaiWethUniV2LPToken : '0x8aE720a71622e824F576b4A8C03031066548A3B1',
|
|
134
138
|
BalancerToken : '0xba100000625a3754423978a60c9317c58a424e3D',
|
|
139
|
+
CrvToken: '0xD533a949740bb3306d119CC777fa900bA034cd52',
|
|
135
140
|
DAI: '0x6b175474e89094c44da98b954eedeac495271d0f',
|
|
136
141
|
}
|
|
137
142
|
|
package/src/utils/index.js
CHANGED