@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 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.&lt;string&gt;</code>
625
+ - tokens <code>Array.&lt;EthAddress&gt;</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.&lt;EthAddress&gt;</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.&lt;string&gt;</code>
702
+ - tokens <code>Array.&lt;EthAddress&gt;</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, stake)
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
- - stake
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, stake)
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
- - stake
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.12",
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.3.64",
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
+ };
@@ -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,5 +1,5 @@
1
- const Action = require("../../Action");
2
- const {requireAddress} = require("../../utils/general");
1
+ const Action = require('../../Action');
2
+ const { requireAddress } = require('../../utils/general');
3
3
  const { getAddr } = require('../../addresses.js');
4
4
 
5
5
  /**
@@ -1,6 +1,7 @@
1
- const Action = require("../../Action");
2
- const {requireAddress} = require("../../utils/general");
3
- const { getAddr } = require('../../addresses.js');
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 stake
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
- stake,
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
- 'MStableDeposit',
40
- getAddr('MStableDeposit'),
41
- [['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'bool']],
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
- return [{ asset: this.args[0][0], owner: this.args[0][4]}];
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("../../Action");
2
- const {requireAddress} = require("../../utils/general");
3
- const { getAddr } = require('../../addresses.js');
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 stake
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
- unstake,
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
- 'MStableWithdraw',
40
- getAddr('MStableWithdraw'),
41
- [['address', 'address', 'address', 'address', 'address', 'address', 'uint256', 'uint256', 'bool']],
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 asset = this.args[2];
60
- const from = this.args[4];
61
- const unstake = this.args[8];
62
- return unstake ? [] : [{asset: getAssetInfo(asset).address, owner: from}]
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': '0x925b0C0663aaef2C6F603aD8B992a15adA83f1Cc',
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': '0x5BDf949c3a74E4F78328f6ad1F3697CC8edbe1A2',
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
 
@@ -1,7 +1,9 @@
1
1
  const zeroExExchange = require('./zeroExExchange');
2
2
  const uniswapLP = require('./uniswapLP');
3
+ const mstableAssetPairs = require('./mstableAssetPairs');
3
4
 
4
5
  module.exports = {
5
6
  zeroExExchange,
6
7
  uniswapLP,
8
+ mstableAssetPairs,
7
9
  }
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ BASSET_MASSET: 0,
3
+ BASSET_IMASSET: 1,
4
+ BASSET_IMASSETVAULT: 2,
5
+ MASSET_IMASSET: 3,
6
+ MASSET_IMASSETVAULT: 4,
7
+ IMASSET_IMASSETVAULT: 5,
8
+ };