impermax-sdk 2.1.94 → 2.1.95

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.
@@ -117,7 +117,7 @@ class OnchainInteractionsNftlpUniswapV3 extends onchainInteractionsNftlp_1.defau
117
117
  // Mint
118
118
  if (depositADelta > 0 || depositBDelta > 0) {
119
119
  console.log("depositADelta, depositBDelta", depositADelta, depositBDelta);
120
- console.log((_a = (yield borrowableA.toBigNumber(depositADelta))) === null || _a === void 0 ? void 0 : _a.toString(), (_b = (yield borrowableA.toBigNumber(depositBDelta))) === null || _b === void 0 ? void 0 : _b.toString(), (_c = (yield borrowableA.toBigNumber(depositADelta / this.getUiMargin()))) === null || _c === void 0 ? void 0 : _c.toString(), (_d = (yield borrowableA.toBigNumber(depositBDelta / this.getUiMargin()))) === null || _d === void 0 ? void 0 : _d.toString());
120
+ console.log((_a = (yield borrowableA.toBigNumber(depositADelta))) === null || _a === void 0 ? void 0 : _a.toString(), (_b = (yield borrowableB.toBigNumber(depositBDelta))) === null || _b === void 0 ? void 0 : _b.toString(), (_c = (yield borrowableA.toBigNumber(depositADelta / this.getUiMargin()))) === null || _c === void 0 ? void 0 : _c.toString(), (_d = (yield borrowableB.toBigNumber(depositBDelta / this.getUiMargin()))) === null || _d === void 0 ? void 0 : _d.toString());
121
121
  actions.push(yield actionsGetter.methods.getMintUniV3Action(yield borrowableA.toBigNumber(depositADelta), yield borrowableB.toBigNumber(depositBDelta), yield borrowableA.toBigNumber(depositADelta / this.getUiMargin()), yield borrowableB.toBigNumber(depositBDelta / this.getUiMargin())).call());
122
122
  if (isEthA) {
123
123
  ethValue += depositADelta;
@@ -205,9 +205,7 @@ class OnchainInteractionsNftlpUniswapV3 extends onchainInteractionsNftlp_1.defau
205
205
  }
206
206
  }
207
207
  if (ethValue > 0 || doWithdrawEth) {
208
- //actions.push(await actionsGetter.methods.getWithdrawEthAction(
209
- // this.getAccountAddress()
210
- //).call());
208
+ actions.push(yield actionsGetter.methods.getWithdrawEthAction(this.getAccountAddress()).call());
211
209
  }
212
210
  return {
213
211
  actions,
@@ -1,8 +1,9 @@
1
- import { ethers, BigNumber } from "ethers";
1
+ import { BigNumber } from "ethers";
2
2
  import { Contract, Permit, Permits } from "../onchainTypes";
3
3
  import OnchainInteractions from './index';
4
4
  import OnchainPoolToken from '../onchainPoolToken';
5
5
  import OnchainAccountPoolToken from '../account/onchainAccountPoolToken';
6
+ import { Extension, Factory } from "../../config/types";
6
7
  export default abstract class OnchainInteractionsPoolToken {
7
8
  protected poolToken: OnchainPoolToken;
8
9
  getPoolToken: () => OnchainPoolToken;
@@ -13,20 +14,20 @@ export default abstract class OnchainInteractionsPoolToken {
13
14
  protected getOnchain: () => import("..").default;
14
15
  protected getPermitHelper: () => import("../onchainPermitHelper").default;
15
16
  protected send(method: any, onTransactionHash: Function, value?: BigNumber): Promise<any>;
16
- getOwnerSpender(): {
17
+ getOwnerSpender(factory?: Factory, extension?: Extension): {
17
18
  owner: string;
18
19
  spender: any;
19
20
  };
20
21
  isWETH(): Promise<boolean>;
21
- getPoolTokenAllowance(): Promise<ethers.BigNumber>;
22
- getUnderlyingAllowance(): Promise<ethers.BigNumber>;
23
- getPermit2Allowance(): Promise<ethers.BigNumber>;
24
- approvePoolToken(amount: BigNumber, onTransactionHash: Function): Promise<any>;
25
- permitPoolToken(amount: BigNumber): Promise<Permit>;
26
- approveUnderlying(amount: BigNumber, onTransactionHash: Function): Promise<any>;
27
- approvePermit2(amount: BigNumber, onTransactionHash: Function): Promise<any>;
28
- permitUnderlying(amount: BigNumber): Promise<Permit>;
29
- permit2Underlying(amount: BigNumber): Promise<Permit>;
22
+ getPoolTokenAllowance(factory?: undefined, extension?: undefined): Promise<BigNumber>;
23
+ getUnderlyingAllowance(factory?: undefined, extension?: undefined): Promise<BigNumber>;
24
+ getPermit2Allowance(factory?: undefined, extension?: undefined): Promise<BigNumber>;
25
+ approvePoolToken(amount: BigNumber, onTransactionHash: Function, factory?: undefined, extension?: undefined): Promise<any>;
26
+ permitPoolToken(amount: BigNumber, factory?: undefined, extension?: undefined): Promise<Permit>;
27
+ approveUnderlying(amount: BigNumber, onTransactionHash: Function, factory?: undefined, extension?: undefined): Promise<any>;
28
+ approvePermit2(amount: BigNumber, onTransactionHash: Function, factory?: undefined, extension?: undefined): Promise<any>;
29
+ permitUnderlying(amount: BigNumber, factory?: undefined, extension?: undefined): Promise<Permit>;
30
+ permit2Underlying(amount: BigNumber, factory?: undefined, extension?: undefined): Promise<Permit>;
30
31
  protected getSendData(permits: Permits): Promise<{
31
32
  router: any;
32
33
  ptAddress: any;
@@ -12,6 +12,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  const ethers_1 = require("ethers");
13
13
  const weths_1 = require("../../config/contracts/weths");
14
14
  const general_1 = require("../../config/general");
15
+ const types_1 = require("../../config/types");
16
+ const routers_1 = require("../../config/contracts/routers");
15
17
  const MAX_UINT256 = ethers_1.ethers.constants.MaxUint256;
16
18
  const EIP712DOMAIN = [
17
19
  { name: "name", type: "string" },
@@ -43,11 +45,12 @@ class OnchainInteractionsPoolToken {
43
45
  return this.getInteractions().send(method, onTransactionHash, value);
44
46
  }
45
47
  //send = this.getInteractions().send;
46
- getOwnerSpender() {
47
- return {
48
- owner: this.getAccountAddress(),
49
- spender: this.getPoolTokenRouter()._address,
50
- };
48
+ getOwnerSpender(factory, extension) {
49
+ const owner = this.getAccountAddress();
50
+ const network = this.getOnchain().network;
51
+ const spender = factory == types_1.Factory.V3 && extension ? routers_1.ROUTER_V3[network][extension]
52
+ : factory ? routers_1.ROUTER[network][factory] : this.getPoolTokenRouter()._address;
53
+ return { owner, spender };
51
54
  }
52
55
  isWETH() {
53
56
  return __awaiter(this, void 0, void 0, function* () {
@@ -55,64 +58,64 @@ class OnchainInteractionsPoolToken {
55
58
  return token._address.toLowerCase() == weths_1.WETH[this.getOnchain().network].toLowerCase();
56
59
  });
57
60
  }
58
- getPoolTokenAllowance() {
61
+ getPoolTokenAllowance(factory = undefined, extension = undefined) {
59
62
  return __awaiter(this, void 0, void 0, function* () {
60
63
  const poolToken = yield this.poolToken.getPoolToken();
61
- const { owner, spender } = this.getOwnerSpender();
64
+ const { owner, spender } = this.getOwnerSpender(factory, extension);
62
65
  const allowance = yield poolToken.methods.allowance(owner, spender).call();
63
66
  return ethers_1.BigNumber.from(allowance);
64
67
  });
65
68
  }
66
- getUnderlyingAllowance() {
69
+ getUnderlyingAllowance(factory = undefined, extension = undefined) {
67
70
  return __awaiter(this, void 0, void 0, function* () {
68
71
  if (yield this.isWETH())
69
72
  return MAX_UINT256;
70
73
  const token = yield this.poolToken.getToken();
71
- const { owner, spender } = this.getOwnerSpender();
74
+ const { owner, spender } = this.getOwnerSpender(factory, extension);
72
75
  const allowance = yield token.methods.allowance(owner, spender).call();
73
76
  return ethers_1.BigNumber.from(allowance);
74
77
  });
75
78
  }
76
- getPermit2Allowance() {
79
+ getPermit2Allowance(factory = undefined, extension = undefined) {
77
80
  return __awaiter(this, void 0, void 0, function* () {
78
81
  if (yield this.isWETH())
79
82
  return MAX_UINT256;
80
83
  const token = yield this.poolToken.getToken();
81
- const { owner } = this.getOwnerSpender();
84
+ const { owner } = this.getOwnerSpender(factory, extension);
82
85
  const allowance = yield token.methods.allowance(owner, general_1.PERMIT2_ADDRESS).call();
83
86
  return ethers_1.BigNumber.from(allowance);
84
87
  });
85
88
  }
86
- approvePoolToken(amount, onTransactionHash) {
89
+ approvePoolToken(amount, onTransactionHash, factory = undefined, extension = undefined) {
87
90
  return __awaiter(this, void 0, void 0, function* () {
88
- const { spender } = this.getOwnerSpender();
91
+ const { spender } = this.getOwnerSpender(factory, extension);
89
92
  const poolToken = yield this.poolToken.getPoolToken();
90
93
  return this.send(poolToken.methods.approve(spender, amount), onTransactionHash);
91
94
  });
92
95
  }
93
- permitPoolToken(amount) {
96
+ permitPoolToken(amount, factory = undefined, extension = undefined) {
94
97
  return __awaiter(this, void 0, void 0, function* () {
95
- const { owner, spender } = this.getOwnerSpender();
98
+ const { owner, spender } = this.getOwnerSpender(factory, extension);
96
99
  const poolToken = yield this.poolToken.getPoolToken();
97
100
  return this.getPermitHelper().getTokenPermit(poolToken, owner, spender, amount);
98
101
  });
99
102
  }
100
- approveUnderlying(amount, onTransactionHash) {
103
+ approveUnderlying(amount, onTransactionHash, factory = undefined, extension = undefined) {
101
104
  return __awaiter(this, void 0, void 0, function* () {
102
- const { spender } = this.getOwnerSpender();
105
+ const { spender } = this.getOwnerSpender(factory, extension);
103
106
  const token = yield this.poolToken.getToken();
104
107
  return this.send(token.methods.approve(spender, amount), onTransactionHash);
105
108
  });
106
109
  }
107
- approvePermit2(amount, onTransactionHash) {
110
+ approvePermit2(amount, onTransactionHash, factory = undefined, extension = undefined) {
108
111
  return __awaiter(this, void 0, void 0, function* () {
109
112
  const token = yield this.poolToken.getToken();
110
113
  return this.send(token.methods.approve(general_1.PERMIT2_ADDRESS, amount), onTransactionHash);
111
114
  });
112
115
  }
113
- permitUnderlying(amount) {
116
+ permitUnderlying(amount, factory = undefined, extension = undefined) {
114
117
  return __awaiter(this, void 0, void 0, function* () {
115
- const { owner, spender } = this.getOwnerSpender();
118
+ const { owner, spender } = this.getOwnerSpender(factory, extension);
116
119
  const token = yield this.poolToken.getToken();
117
120
  // experimental feature: check if the token supports permit by getting the DOMAIN_SEPARATOR
118
121
  const domain = yield token.methods.DOMAIN_SEPARATOR().call();
@@ -124,9 +127,9 @@ class OnchainInteractionsPoolToken {
124
127
  return this.getPermitHelper().getTokenPermit(token, owner, spender, amount, version);
125
128
  });
126
129
  }
127
- permit2Underlying(amount) {
130
+ permit2Underlying(amount, factory = undefined, extension = undefined) {
128
131
  return __awaiter(this, void 0, void 0, function* () {
129
- const { owner, spender } = this.getOwnerSpender();
132
+ const { owner, spender } = this.getOwnerSpender(factory, extension);
130
133
  const token = yield this.poolToken.getToken();
131
134
  return this.getPermitHelper().getPermit2Single(token, owner, spender, amount);
132
135
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "impermax-sdk",
3
- "version": "2.1.94",
3
+ "version": "2.1.95",
4
4
  "description": "",
5
5
  "main": "./lib/index.js",
6
6
  "module": "./lib/index.js",