curvance 1.0.23 → 1.0.25

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.
Files changed (60) hide show
  1. package/dist/abis/BaseCToken.json +13 -10
  2. package/dist/abis/BorrowableCToken.json +13 -10
  3. package/dist/abis/MarketManagerIsolated.json +43 -123
  4. package/dist/abis/ProtocolReader.json +92 -9
  5. package/dist/abis/RedstoneCoreAdaptor.json +32 -5
  6. package/dist/abis/SimpleZapper.json +411 -0
  7. package/dist/chains/index.d.ts +22 -10
  8. package/dist/chains/index.d.ts.map +1 -1
  9. package/dist/chains/monad-testnet.json +83 -71
  10. package/dist/classes/BorrowableCToken.d.ts +51 -0
  11. package/dist/classes/BorrowableCToken.d.ts.map +1 -0
  12. package/dist/classes/BorrowableCToken.js +113 -0
  13. package/dist/classes/BorrowableCToken.js.map +1 -0
  14. package/dist/classes/CToken.d.ts +46 -74
  15. package/dist/classes/CToken.d.ts.map +1 -1
  16. package/dist/classes/CToken.js +196 -138
  17. package/dist/classes/CToken.js.map +1 -1
  18. package/dist/classes/Calldata.d.ts +12 -0
  19. package/dist/classes/Calldata.d.ts.map +1 -0
  20. package/dist/classes/Calldata.js +19 -0
  21. package/dist/classes/Calldata.js.map +1 -0
  22. package/dist/classes/ERC20.d.ts +3 -3
  23. package/dist/classes/ERC20.d.ts.map +1 -1
  24. package/dist/classes/ERC20.js +5 -2
  25. package/dist/classes/ERC20.js.map +1 -1
  26. package/dist/classes/Faucet.d.ts +2 -1
  27. package/dist/classes/Faucet.d.ts.map +1 -1
  28. package/dist/classes/Faucet.js +11 -1
  29. package/dist/classes/Faucet.js.map +1 -1
  30. package/dist/classes/Market.d.ts +107 -13
  31. package/dist/classes/Market.d.ts.map +1 -1
  32. package/dist/classes/Market.js +122 -16
  33. package/dist/classes/Market.js.map +1 -1
  34. package/dist/classes/OracleManager.d.ts +1 -1
  35. package/dist/classes/OracleManager.d.ts.map +1 -1
  36. package/dist/classes/OracleManager.js +2 -1
  37. package/dist/classes/OracleManager.js.map +1 -1
  38. package/dist/classes/ProtocolReader.d.ts +21 -20
  39. package/dist/classes/ProtocolReader.d.ts.map +1 -1
  40. package/dist/classes/ProtocolReader.js +9 -5
  41. package/dist/classes/ProtocolReader.js.map +1 -1
  42. package/dist/classes/Redstone.d.ts +3 -2
  43. package/dist/classes/Redstone.d.ts.map +1 -1
  44. package/dist/classes/Redstone.js +3 -3
  45. package/dist/classes/Redstone.js.map +1 -1
  46. package/dist/classes/Zapper.d.ts +28 -0
  47. package/dist/classes/Zapper.d.ts.map +1 -0
  48. package/dist/classes/Zapper.js +52 -0
  49. package/dist/classes/Zapper.js.map +1 -0
  50. package/dist/helpers.d.ts +34 -11
  51. package/dist/helpers.d.ts.map +1 -1
  52. package/dist/helpers.js +30 -16
  53. package/dist/helpers.js.map +1 -1
  54. package/dist/setup.d.ts +18 -3
  55. package/dist/setup.d.ts.map +1 -1
  56. package/dist/setup.js +31 -14
  57. package/dist/setup.js.map +1 -1
  58. package/dist/types.d.ts +20 -2
  59. package/dist/types.d.ts.map +1 -1
  60. package/package.json +1 -1
@@ -1,5 +1,7 @@
1
1
  import { Contract } from "ethers";
2
- import { address, curvance_provider } from "../types";
2
+ import { address, curvance_provider, TypeBPS } from "../types";
3
+ import Decimal from "decimal.js";
4
+ import { MarketToken } from "./Market";
3
5
  export declare enum AdaptorTypes {
4
6
  CHAINLINK = 1,
5
7
  REDSTONE_CORE = 2,
@@ -27,17 +29,17 @@ export interface StaticMarketToken {
27
29
  collateralCap: bigint;
28
30
  debtCap: bigint;
29
31
  isListed: boolean;
30
- collRatio: bigint;
31
- collReqSoft: bigint;
32
- collReqHard: bigint;
33
- liqIncBase: bigint;
34
- liqIncCurve: bigint;
35
- liqIncMin: bigint;
36
- liqIncMax: bigint;
37
- closeFactorBase: bigint;
38
- closeFactorCurve: bigint;
39
- closeFactorMin: bigint;
40
- closeFactorMax: bigint;
32
+ collRatio: TypeBPS;
33
+ collReqSoft: TypeBPS;
34
+ collReqHard: TypeBPS;
35
+ liqIncBase: TypeBPS;
36
+ liqIncCurve: TypeBPS;
37
+ liqIncMin: TypeBPS;
38
+ liqIncMax: TypeBPS;
39
+ closeFactorBase: TypeBPS;
40
+ closeFactorCurve: TypeBPS;
41
+ closeFactorMin: TypeBPS;
42
+ closeFactorMax: TypeBPS;
41
43
  }
42
44
  export interface StaticMarketData {
43
45
  address: address;
@@ -95,16 +97,13 @@ export interface IProtocolReader {
95
97
  getStaticMarketData(): Promise<StaticMarketData[]>;
96
98
  marketMultiCooldown(markets: address[], account: address): Promise<bigint[]>;
97
99
  previewAssetImpact(user: address, collateral_ctoken: address, debt_ctoken: address, new_collateral: bigint, new_debt: bigint): Promise<[bigint, bigint]>;
98
- hypotheticalMaxLeverage(account: address, borrowableCToken: address, cToken: address, assets: bigint): {
99
- maxDebtBorrowable: bigint;
100
- isOffset: boolean;
101
- };
100
+ hypotheticalLeverageOf(account: address, depositCToken: address, borrowCToken: address, assets: bigint): [bigint, bigint, bigint, bigint];
102
101
  }
103
102
  export declare class ProtocolReader {
104
103
  provider: curvance_provider;
105
104
  address: address;
106
105
  contract: Contract & IProtocolReader;
107
- constructor(provider: curvance_provider, address: address);
106
+ constructor(address: address, provider?: curvance_provider);
108
107
  getAllMarketData(account: address, use_api?: boolean): Promise<{
109
108
  staticMarket: StaticMarketData[];
110
109
  dynamicMarket: DynamicMarketData[];
@@ -116,9 +115,11 @@ export declare class ProtocolReader {
116
115
  supply: bigint;
117
116
  borrow: bigint;
118
117
  }>;
119
- hypotheticalMaxLeverage(account: address, borrowableCToken: address, cToken: address, assets: bigint): Promise<{
120
- maxDebtBorrowable: bigint;
121
- isOffset: boolean;
118
+ hypotheticalLeverageOf(account: address, depositCToken: MarketToken, borrowableCToken: MarketToken, assets: bigint): Promise<{
119
+ currentLeverage: Decimal;
120
+ adjustMaxLeverage: Decimal;
121
+ maxLeverage: Decimal;
122
+ maxDebtBorrowable: Decimal;
122
123
  }>;
123
124
  marketMultiCooldown(markets: address[], account: address): Promise<bigint[]>;
124
125
  getStaticMarketData(use_api?: boolean): Promise<StaticMarketData[]>;
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.d.ts","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
@@ -6,6 +6,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.ProtocolReader = exports.AdaptorTypes = void 0;
7
7
  const helpers_1 = require("../helpers");
8
8
  const ProtocolReader_json_1 = __importDefault(require("../abis/ProtocolReader.json"));
9
+ const decimal_js_1 = __importDefault(require("decimal.js"));
10
+ const setup_1 = require("../setup");
9
11
  var AdaptorTypes;
10
12
  (function (AdaptorTypes) {
11
13
  AdaptorTypes[AdaptorTypes["CHAINLINK"] = 1] = "CHAINLINK";
@@ -17,7 +19,7 @@ class ProtocolReader {
17
19
  provider;
18
20
  address;
19
21
  contract;
20
- constructor(provider, address) {
22
+ constructor(address, provider = setup_1.setup_config.provider) {
21
23
  this.provider = provider;
22
24
  this.address = address;
23
25
  this.contract = (0, helpers_1.contractSetup)(provider, address, ProtocolReader_json_1.default);
@@ -90,11 +92,13 @@ class ProtocolReader {
90
92
  borrow: BigInt(data[1])
91
93
  };
92
94
  }
93
- async hypotheticalMaxLeverage(account, borrowableCToken, cToken, assets) {
94
- const data = await this.contract.hypotheticalMaxLeverage(account, borrowableCToken, cToken, assets);
95
+ async hypotheticalLeverageOf(account, depositCToken, borrowableCToken, assets) {
96
+ const [currentLeverage, adjustMaxLeverage, maxLeverage, maxDebtBorrowable] = await this.contract.hypotheticalLeverageOf(account, depositCToken.address, borrowableCToken.address, assets);
95
97
  return {
96
- maxDebtBorrowable: BigInt(data.maxDebtBorrowable),
97
- isOffset: data.isOffset
98
+ currentLeverage: (0, decimal_js_1.default)(currentLeverage).div(helpers_1.WAD),
99
+ adjustMaxLeverage: (0, decimal_js_1.default)(adjustMaxLeverage).div(helpers_1.WAD),
100
+ maxLeverage: (0, decimal_js_1.default)(maxLeverage).div(helpers_1.WAD),
101
+ maxDebtBorrowable: (0, decimal_js_1.default)(maxDebtBorrowable).div(borrowableCToken.decimals)
98
102
  };
99
103
  }
100
104
  async marketMultiCooldown(markets, account) {
@@ -1 +1 @@
1
- {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProtocolReader.js","sourceRoot":"","sources":["../../src/classes/ProtocolReader.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { address, bytes } from "../types";
2
2
  import { TransactionResponse } from "ethers";
3
- import { BorrowableCToken, CToken, MulticallAction } from "./CToken";
3
+ import { MulticallAction } from "./CToken";
4
+ import { MarketToken } from "./Market";
4
5
  export interface IRedstoneCoreAdaptor {
5
6
  writePrice(asset: address, inUSD: boolean, redstoneTimestamp: bigint): Promise<TransactionResponse>;
6
7
  }
@@ -9,6 +10,6 @@ export declare class Redstone {
9
10
  payload: bytes;
10
11
  timestamp: number;
11
12
  }>;
12
- static buildMulticallStruct(ctoken: CToken | BorrowableCToken): Promise<MulticallAction>;
13
+ static buildMultiCallAction(ctoken: MarketToken): Promise<MulticallAction>;
13
14
  }
14
15
  //# sourceMappingURL=Redstone.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Redstone.d.ts","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAG1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAGrE,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvG;AAED,qBAAa,QAAQ;WACJ,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe;iBAyBzB,KAAK;;;WAM3B,oBAAoB,CAAC,MAAM,EAAE,MAAM,GAAG,gBAAgB;CAkBtE"}
1
+ {"version":3,"file":"Redstone.d.ts","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAE1C,OAAO,EAAkB,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC7D,OAAO,EAAU,eAAe,EAAE,MAAM,UAAU,CAAC;AAGnD,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,MAAM,WAAW,oBAAoB;IACjC,UAAU,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACvG;AAED,qBAAa,QAAQ;WACJ,UAAU,CAAC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAE,OAAe;iBAyBzB,KAAK;;;WAM3B,oBAAoB,CAAC,MAAM,EAAE,WAAW;CAkBxD"}
@@ -5,10 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.Redstone = void 0;
7
7
  const sdk_1 = require("@redstone-finance/sdk");
8
- const setup_1 = require("../setup");
9
8
  const helpers_1 = require("../helpers");
10
9
  const ethers_1 = require("ethers");
11
10
  const RedstoneCoreAdaptor_json_1 = __importDefault(require("../abis/RedstoneCoreAdaptor.json"));
11
+ const setup_1 = require("../setup");
12
12
  class Redstone {
13
13
  static async getPayload(symbol, log = false) {
14
14
  let payload_params = {
@@ -36,8 +36,8 @@ class Redstone {
36
36
  timestamp
37
37
  };
38
38
  }
39
- static async buildMulticallStruct(ctoken) {
40
- const adaptor = setup_1.active_contracts.RedstoneCoreAdaptor;
39
+ static async buildMultiCallAction(ctoken) {
40
+ const adaptor = setup_1.setup_config.contracts.RedstoneCoreAdaptor;
41
41
  const contract = (0, helpers_1.contractSetup)(ctoken.provider, adaptor, RedstoneCoreAdaptor_json_1.default);
42
42
  const { payload, timestamp } = await Redstone.getPayload(ctoken.asset.symbol);
43
43
  const writePrice = contract.interface.encodeFunctionData("writePrice", [
@@ -1 +1 @@
1
- {"version":3,"file":"Redstone.js","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+G;AAE/G,oCAA4C;AAC5C,wCAA2C;AAC3C,mCAA6D;AAE7D,gGAAmD;AAMnD,MAAa,QAAQ;IACjB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAe,KAAK;QACxD,IAAI,cAAc,GAAG;YACjB,aAAa,EAAE,uBAAuB;YACtC,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE;gBACf,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;aAC/C;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAmB,EAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAA,iCAA2B,EAAC,QAAQ,CAAC;YACrC,IAAA,0BAAoB,EAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QAEH,IAAG,GAAG,EAAE,CAAC;YACL,MAAM,IAAI,GAAG,MAAM,IAAA,iCAA2B,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,OAAO,EAAW;YAChC,SAAS;SACZ,CAAC;IAEN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAiC;QAC/D,MAAM,OAAO,GAAG,wBAAgB,CAAC,mBAA8B,CAAC;QAChE,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAuB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAG,CAAC,CAAC;QACpF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACnE,MAAM,CAAC,KAAK,CAAC,OAAO;YACpB,IAAI;YACJ,SAAS;SACZ,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAA,uBAAc,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpF,OAAO;YACH,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,iBAAiB;SACP,CAAC;IACzB,CAAC;CACJ;AAlDD,4BAkDC"}
1
+ {"version":3,"file":"Redstone.js","sourceRoot":"","sources":["../../src/classes/Redstone.ts"],"names":[],"mappings":";;;;;;AAAA,+CAA+G;AAE/G,wCAA2C;AAC3C,mCAA6D;AAE7D,gGAAmD;AACnD,oCAAwC;AAOxC,MAAa,QAAQ;IACjB,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC,MAAc,EAAE,MAAe,KAAK;QACxD,IAAI,cAAc,GAAG;YACjB,aAAa,EAAE,uBAAuB;YACtC,eAAe,EAAE,CAAC,MAAM,CAAC;YACzB,kBAAkB,EAAE,CAAC;YACrB,iBAAiB,EAAE;gBACf,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;gBAC5C,4CAA4C;aAC/C;SACJ,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,IAAA,yBAAmB,EAAC,cAAc,CAAC,CAAC;QAC3D,MAAM,CAAC,OAAO,EAAE,SAAS,CAAC,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC;YAC3C,IAAA,iCAA2B,EAAC,QAAQ,CAAC;YACrC,IAAA,0BAAoB,EAAC,QAAQ,CAAC;SACjC,CAAC,CAAC;QAEH,IAAG,GAAG,EAAE,CAAC;YACL,MAAM,IAAI,GAAG,MAAM,IAAA,iCAA2B,EAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;YACjE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QAED,OAAO;YACH,OAAO,EAAE,KAAK,OAAO,EAAW;YAChC,SAAS;SACZ,CAAC;IAEN,CAAC;IAED,MAAM,CAAC,KAAK,CAAC,oBAAoB,CAAC,MAAmB;QACjD,MAAM,OAAO,GAAG,oBAAY,CAAC,SAAS,CAAC,mBAA8B,CAAC;QACtE,MAAM,QAAQ,GAAG,IAAA,uBAAa,EAAuB,MAAM,CAAC,QAAQ,EAAE,OAAO,EAAE,kCAAG,CAAC,CAAC;QACpF,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,GAAG,MAAM,QAAQ,CAAC,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;QAE9E,MAAM,UAAU,GAAG,QAAQ,CAAC,SAAS,CAAC,kBAAkB,CAAC,YAAY,EAAE;YACnE,MAAM,CAAC,KAAK,CAAC,OAAO;YACpB,IAAI;YACJ,SAAS;SACZ,CAAC,CAAC;QACH,MAAM,iBAAiB,GAAG,IAAA,uBAAc,EAAC,CAAC,OAAO,EAAE,OAAO,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;QAEpF,OAAO;YACH,MAAM,EAAE,OAAO;YACf,aAAa,EAAE,IAAI;YACnB,IAAI,EAAE,iBAAiB;SACP,CAAC;IACzB,CAAC;CACJ;AAlDD,4BAkDC"}
@@ -0,0 +1,28 @@
1
+ import { Contract, TransactionResponse } from "ethers";
2
+ import { address, bytes, curvance_signer } from "../types";
3
+ import { CToken } from "./CToken";
4
+ import { Calldata } from "./Calldata";
5
+ import { Plugins } from "./Market";
6
+ export interface Swap {
7
+ inputToken: address;
8
+ inputAmount: bigint;
9
+ outputToken: address;
10
+ target: address;
11
+ slippage: bigint;
12
+ call: bytes;
13
+ }
14
+ export type ZapperTypes = 'none' | 'native-vault' | 'vault' | 'simple';
15
+ export declare const zapperTypeToName: Map<ZapperTypes, keyof Plugins>;
16
+ export interface IZapper {
17
+ swapAndDeposit(ctoken: address, depositAsWrappedNative: boolean, swapAction: Swap, expectedShares: bigint, collateralizeFor: boolean, receiver: address): Promise<TransactionResponse>;
18
+ }
19
+ export declare class Zapper extends Calldata<IZapper> {
20
+ provider: curvance_signer;
21
+ contract: Contract & IZapper;
22
+ address: address;
23
+ type: ZapperTypes;
24
+ constructor(address: address, provider: curvance_signer, type: ZapperTypes);
25
+ nativeZap(ctoken: CToken, amount: bigint, collateralize: boolean): Promise<TransactionResponse>;
26
+ getNativeZapCalldata(ctoken: CToken, amount: bigint, collateralize: boolean): `0x${string}`;
27
+ }
28
+ //# sourceMappingURL=Zapper.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Zapper.d.ts","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAK,mBAAmB,EAAE,MAAM,QAAQ,CAAC;AAC1D,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3D,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEtC,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAC;AAEnC,MAAM,WAAW,IAAI;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,KAAK,CAAA;CACd;AAED,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,cAAc,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEvE,eAAO,MAAM,gBAAgB,iCAI3B,CAAC;AAEH,MAAM,WAAW,OAAO;IACpB,cAAc,CACV,MAAM,EAAE,OAAO,EACf,sBAAsB,EAAE,OAAO,EAC/B,UAAU,EAAE,IAAI,EAChB,cAAc,EAAE,MAAM,EACtB,gBAAgB,EAAE,OAAO,EACzB,QAAQ,EAAE,OAAO,GAClB,OAAO,CAAC,mBAAmB,CAAC,CAAA;CAClC;AAED,qBAAa,MAAO,SAAQ,QAAQ,CAAC,OAAO,CAAC;IACzC,QAAQ,EAAE,eAAe,CAAC;IAC1B,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAAC;IAC7B,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,EAAE,WAAW,CAAC;gBAEN,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW;IAQpE,SAAS,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;IAKtE,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,OAAO;CAmB9E"}
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.Zapper = exports.zapperTypeToName = void 0;
7
+ const helpers_1 = require("../helpers");
8
+ const Calldata_1 = require("./Calldata");
9
+ const SimpleZapper_json_1 = __importDefault(require("../abis/SimpleZapper.json"));
10
+ ;
11
+ exports.zapperTypeToName = new Map([
12
+ ['native-vault', 'nativeVaultZapper'],
13
+ ['vault', 'vaultZapper'],
14
+ ['simple', 'simpleZapper']
15
+ ]);
16
+ class Zapper extends Calldata_1.Calldata {
17
+ provider;
18
+ contract;
19
+ address;
20
+ type;
21
+ constructor(address, provider, type) {
22
+ super();
23
+ this.address = address;
24
+ this.provider = provider;
25
+ this.type = type;
26
+ this.contract = (0, helpers_1.contractSetup)(provider, address, SimpleZapper_json_1.default);
27
+ }
28
+ async nativeZap(ctoken, amount, collateralize) {
29
+ const calldata = this.getNativeZapCalldata(ctoken, amount, collateralize);
30
+ return this.executeCallData(calldata, { value: amount });
31
+ }
32
+ getNativeZapCalldata(ctoken, amount, collateralize) {
33
+ const swap = {
34
+ inputToken: helpers_1.NATIVE_ADDRESS,
35
+ inputAmount: amount,
36
+ outputToken: helpers_1.NATIVE_ADDRESS,
37
+ target: helpers_1.EMPTY_ADDRESS,
38
+ slippage: 0n,
39
+ call: helpers_1.EMPTY_BYTES
40
+ };
41
+ return this.getCallData("swapAndDeposit", [
42
+ ctoken.address,
43
+ false,
44
+ swap,
45
+ 0n,
46
+ collateralize,
47
+ this.provider.address
48
+ ]);
49
+ }
50
+ }
51
+ exports.Zapper = Zapper;
52
+ //# sourceMappingURL=Zapper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Zapper.js","sourceRoot":"","sources":["../../src/classes/Zapper.ts"],"names":[],"mappings":";;;;;;AAEA,wCAAuF;AAEvF,yCAAsC;AACtC,kFAA4C;AAU3C,CAAC;AAIW,QAAA,gBAAgB,GAAG,IAAI,GAAG,CAA6B;IAChE,CAAC,cAAc,EAAE,mBAAmB,CAAC;IACrC,CAAC,OAAO,EAAE,aAAa,CAAC;IACxB,CAAC,QAAQ,EAAE,cAAc,CAAC;CAC7B,CAAC,CAAC;AAaH,MAAa,MAAO,SAAQ,mBAAiB;IACzC,QAAQ,CAAkB;IAC1B,QAAQ,CAAqB;IAC7B,OAAO,CAAU;IACjB,IAAI,CAAc;IAElB,YAAY,OAAgB,EAAE,QAAyB,EAAE,IAAiB;QACtE,KAAK,EAAE,CAAC;QACR,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,QAAQ,GAAG,IAAA,uBAAa,EAAU,QAAQ,EAAE,OAAO,EAAE,2BAAG,CAAC,CAAC;IACnE,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,MAAc,EAAE,MAAc,EAAE,aAAsB;QAClE,MAAM,QAAQ,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,aAAa,CAAC,CAAC;QAC1E,OAAO,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,oBAAoB,CAAC,MAAc,EAAE,MAAc,EAAE,aAAsB;QACvE,MAAM,IAAI,GAAS;YACf,UAAU,EAAE,wBAAc;YAC1B,WAAW,EAAE,MAAM;YACnB,WAAW,EAAE,wBAAc;YAC3B,MAAM,EAAE,uBAAa;YACrB,QAAQ,EAAE,EAAE;YACZ,IAAI,EAAE,qBAAW;SACpB,CAAC;QAEF,OAAO,IAAI,CAAC,WAAW,CAAC,gBAAgB,EAAE;YACtC,MAAM,CAAC,OAAO;YACd,KAAK;YACL,IAAI;YACJ,EAAE;YACF,aAAa;YACb,IAAI,CAAC,QAAQ,CAAC,OAAkB;SACnC,CAAC,CAAC;IACP,CAAC;CACJ;AAtCD,wBAsCC"}
package/dist/helpers.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import { Contract } from "ethers";
2
2
  import { Decimal } from "decimal.js";
3
- import { address, curvance_provider, curvance_signer } from "./types";
3
+ import { address, bytes, curvance_provider, curvance_signer } from "./types";
4
4
  import { chains } from "./chains";
5
5
  export type ChangeRate = "year" | "month" | "week" | "day";
6
6
  export type ChainRpcPrefix = keyof typeof chains;
@@ -17,10 +17,21 @@ export declare const SECONDS_PER_MONTH = 2592000n;
17
17
  export declare const SECONDS_PER_WEEK = 604800n;
18
18
  export declare const SECONDS_PER_DAY = 86400n;
19
19
  export declare const UINT256_MAX = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
20
+ export declare const UINT256_MAX_DECIMAL: Decimal;
20
21
  export declare const EMPTY_ADDRESS: address;
22
+ export declare const NATIVE_ADDRESS: address;
23
+ export declare const EMPTY_BYTES: bytes;
21
24
  export declare function getRateSeconds(rate: ChangeRate): bigint;
22
25
  export declare function toDecimal(value: bigint, decimals: bigint): Decimal;
23
26
  export declare function toBigInt(value: number, decimals: bigint): bigint;
27
+ export declare function getChainConfig(): {
28
+ provider: import("ethers").JsonRpcProvider;
29
+ wrapped_native: address;
30
+ vaults: {
31
+ name: string;
32
+ contract: address;
33
+ }[];
34
+ };
24
35
  export declare function validateProviderAsSigner(provider: curvance_provider): curvance_signer;
25
36
  export declare function contractSetup<I>(provider: curvance_provider, contractAddress: address, abi: any): Contract & I;
26
37
  export declare function getContractAddresses(chain: ChainRpcPrefix): {
@@ -91,42 +102,54 @@ export declare function getContractAddresses(chain: ChainRpcPrefix): {
91
102
  "Apriori (aprMON) / wMON": {
92
103
  address: string;
93
104
  isMarket: boolean;
105
+ plugins: {
106
+ nativeVaultPositionManager: string;
107
+ nativeVaultZapper: string;
108
+ };
94
109
  "aprMON-DynamicIRM": string;
95
110
  tokens: {
96
111
  aprMON: string;
97
112
  WMON: string;
98
113
  };
99
- "WMON-DynamicIRM": string;
100
114
  };
101
115
  "Fastlane (shMON) / wMON": {
102
116
  address: string;
103
117
  isMarket: boolean;
118
+ plugins: {
119
+ nativeVaultPositionManager: string;
120
+ nativeVaultZapper: string;
121
+ };
104
122
  "shMON-DynamicIRM": string;
105
123
  tokens: {
106
124
  shMON: string;
107
125
  WMON: string;
108
126
  };
109
- "WMON-DynamicIRM": string;
110
127
  };
111
- "Magma (gMON) / wMON": {
128
+ "Kintsu (sMON) / wMON": {
112
129
  address: string;
113
130
  isMarket: boolean;
114
- "gMON-DynamicIRM": string;
131
+ plugins: {
132
+ nativeVaultPositionManager: string;
133
+ nativeVaultZapper: string;
134
+ };
135
+ "sMON-DynamicIRM": string;
115
136
  tokens: {
116
- gMON: string;
137
+ sMON: string;
117
138
  WMON: string;
118
139
  };
119
- "WMON-DynamicIRM": string;
120
140
  };
121
- "Kintsu (sMON) / wMON": {
141
+ "Magma (gMON) / wMON": {
122
142
  address: string;
123
143
  isMarket: boolean;
124
- "sMON-DynamicIRM": string;
144
+ plugins: {
145
+ nativeVaultPositionManager: string;
146
+ nativeVaultZapper: string;
147
+ };
148
+ "gMON-DynamicIRM": string;
125
149
  tokens: {
126
- sMON: string;
150
+ gMON: string;
127
151
  WMON: string;
128
152
  };
129
- "WMON-DynamicIRM": string;
130
153
  };
131
154
  ProtocolReader: string;
132
155
  };
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACtE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC;AAEjD,eAAO,MAAM,GAAG,QAAc,CAAC;AAC/B,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,OAAO,QAAe,CAAC;AACpC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,WAAW,QAAe,CAAC;AACxC,eAAO,MAAM,oBAAoB,QAAe,CAAC;AACjD,eAAO,MAAM,WAAW,SAAmB,CAAC;AAE5C,eAAO,MAAM,gBAAgB,YAAc,CAAC;AAC5C,eAAO,MAAM,iBAAiB,WAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,UAAW,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAA;AAEtC,eAAO,MAAM,WAAW,kFAAkF,CAAC;AAC3G,eAAO,MAAM,aAAa,EAAmD,OAAO,CAAC;AAErF,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAavD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAO7C,eAAe,CACrC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC,CAM9G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzD;AA8CD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,SAAK,GAAG,CAAC,CAoB1F"}
1
+ {"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAc,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,iBAAiB,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAGlC,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,OAAO,GAAG,MAAM,GAAG,KAAK,CAAC;AAC3D,MAAM,MAAM,cAAc,GAAG,MAAM,OAAO,MAAM,CAAC;AAEjD,eAAO,MAAM,GAAG,QAAc,CAAC;AAC/B,eAAO,MAAM,WAAW,QAAc,CAAC;AACvC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,OAAO,QAAe,CAAC;AACpC,eAAO,MAAM,GAAG,QAAe,CAAC;AAChC,eAAO,MAAM,WAAW,QAAe,CAAC;AACxC,eAAO,MAAM,oBAAoB,QAAe,CAAC;AACjD,eAAO,MAAM,WAAW,SAAmB,CAAC;AAE5C,eAAO,MAAM,gBAAgB,YAAc,CAAC;AAC5C,eAAO,MAAM,iBAAiB,WAAa,CAAC;AAC5C,eAAO,MAAM,gBAAgB,UAAW,CAAC;AACzC,eAAO,MAAM,eAAe,SAAU,CAAA;AAEtC,eAAO,MAAM,WAAW,kFAAkF,CAAC;AAC3G,eAAO,MAAM,mBAAmB,SAAuB,CAAC;AACxD,eAAO,MAAM,aAAa,EAAmD,OAAO,CAAC;AACrF,eAAO,MAAM,cAAc,EAAmD,OAAO,CAAC;AACtF,eAAO,MAAM,WAAW,EAAW,KAAK,CAAC;AAEzC,wBAAgB,cAAc,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAavD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,cAAc;;;;;;;EAO7B;AAED,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,iBAAiB,GAO7C,eAAe,CACrC;AAED,wBAAgB,aAAa,CAAC,CAAC,EAAE,QAAQ,EAAE,iBAAiB,EAAE,eAAe,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,GAAG,QAAQ,GAAG,CAAC,CAM9G;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAQzD;AAyCD;;;;;;;;;;;;;GAaG;AACH,wBAAgB,qBAAqB,CAAC,CAAC,SAAS,MAAM,EAAE,QAAQ,EAAE,CAAC,EAAE,aAAa,SAAK,GAAG,CAAC,CA0B1F"}
package/dist/helpers.js CHANGED
@@ -1,9 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.EMPTY_ADDRESS = exports.UINT256_MAX = exports.SECONDS_PER_DAY = exports.SECONDS_PER_WEEK = exports.SECONDS_PER_MONTH = exports.SECONDS_PER_YEAR = exports.WAD_DECIMAL = exports.WAD_CUBED_BPS_OFFSET = exports.WAD_SQUARED = exports.RAY = exports.WAD_BPS = exports.WAD = exports.BPS_SQUARED = exports.BPS = void 0;
3
+ exports.EMPTY_BYTES = exports.NATIVE_ADDRESS = exports.EMPTY_ADDRESS = exports.UINT256_MAX_DECIMAL = exports.UINT256_MAX = exports.SECONDS_PER_DAY = exports.SECONDS_PER_WEEK = exports.SECONDS_PER_MONTH = exports.SECONDS_PER_YEAR = exports.WAD_DECIMAL = exports.WAD_CUBED_BPS_OFFSET = exports.WAD_SQUARED = exports.RAY = exports.WAD_BPS = exports.WAD = exports.BPS_SQUARED = exports.BPS = void 0;
4
4
  exports.getRateSeconds = getRateSeconds;
5
5
  exports.toDecimal = toDecimal;
6
6
  exports.toBigInt = toBigInt;
7
+ exports.getChainConfig = getChainConfig;
7
8
  exports.validateProviderAsSigner = validateProviderAsSigner;
8
9
  exports.contractSetup = contractSetup;
9
10
  exports.getContractAddresses = getContractAddresses;
@@ -11,6 +12,7 @@ exports.contractWithGasBuffer = contractWithGasBuffer;
11
12
  const ethers_1 = require("ethers");
12
13
  const decimal_js_1 = require("decimal.js");
13
14
  const chains_1 = require("./chains");
15
+ const setup_1 = require("./setup");
14
16
  exports.BPS = BigInt(1e4);
15
17
  exports.BPS_SQUARED = BigInt(1e8);
16
18
  exports.WAD = BigInt(1e18);
@@ -24,7 +26,10 @@ exports.SECONDS_PER_MONTH = 2592000n;
24
26
  exports.SECONDS_PER_WEEK = 604800n;
25
27
  exports.SECONDS_PER_DAY = 86400n;
26
28
  exports.UINT256_MAX = 115792089237316195423570985008687907853269984665640564039457584007913129639935n;
29
+ exports.UINT256_MAX_DECIMAL = (0, decimal_js_1.Decimal)(exports.UINT256_MAX);
27
30
  exports.EMPTY_ADDRESS = "0x0000000000000000000000000000000000000000";
31
+ exports.NATIVE_ADDRESS = "0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE";
32
+ exports.EMPTY_BYTES = "0x";
28
33
  function getRateSeconds(rate) {
29
34
  switch (rate) {
30
35
  case "year":
@@ -45,6 +50,14 @@ function toDecimal(value, decimals) {
45
50
  function toBigInt(value, decimals) {
46
51
  return (0, ethers_1.parseUnits)(value.toString(), decimals);
47
52
  }
53
+ function getChainConfig() {
54
+ const chain = setup_1.setup_config.chain;
55
+ const config = setup_1.chain_config[chain];
56
+ if (!config) {
57
+ throw new Error(`No configuration found for chain ${chain}`);
58
+ }
59
+ return config;
60
+ }
48
61
  function validateProviderAsSigner(provider) {
49
62
  const isSigner = "address" in provider;
50
63
  if (!isSigner) {
@@ -94,17 +107,11 @@ async function tryAddGasBuffer(method, args, bufferPercent) {
94
107
  if (!canEstimateGas(method)) {
95
108
  return false;
96
109
  }
97
- try {
98
- const estimatedGas = await method.estimateGas(...args);
99
- const gasLimit = calculateGasWithBuffer(estimatedGas, bufferPercent);
100
- // Add the gas limit as transaction overrides
101
- args.push({ gasLimit });
102
- return true;
103
- }
104
- catch (error) {
105
- // If gas estimation fails, continue without buffer
106
- return false;
107
- }
110
+ const estimatedGas = await method.estimateGas(...args);
111
+ const gasLimit = calculateGasWithBuffer(estimatedGas, bufferPercent);
112
+ // Add the gas limit as transaction overrides
113
+ args.push({ gasLimit });
114
+ return true;
108
115
  }
109
116
  /**
110
117
  * Wraps a contract instance so all write actions automatically add a gas buffer.
@@ -130,10 +137,17 @@ function contractWithGasBuffer(contract, bufferPercent = 10) {
130
137
  }
131
138
  // Return a wrapped version of the method
132
139
  return async (...args) => {
133
- // Try to add gas buffer before calling the method
134
- await tryAddGasBuffer(originalMethod, args, bufferPercent);
135
- // Call the original method with potentially modified args
136
- return originalMethod.apply(target, args);
140
+ try {
141
+ // Try to add gas buffer before calling the method
142
+ await tryAddGasBuffer(originalMethod, args, bufferPercent);
143
+ // Call the original method with potentially modified args
144
+ return await originalMethod.apply(target, args);
145
+ }
146
+ catch (error) {
147
+ // Just enhance the original error message with method context
148
+ error.message = `Contract method '${String(methodName)}' failed: ${error.message}`;
149
+ throw error;
150
+ }
137
151
  };
138
152
  }
139
153
  });
@@ -1 +1 @@
1
- {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"helpers.js","sourceRoot":"","sources":["../src/helpers.ts"],"names":[],"mappings":"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"}
package/dist/setup.d.ts CHANGED
@@ -1,11 +1,26 @@
1
1
  import { JsonRpcProvider, JsonRpcSigner, Wallet } from "ethers";
2
2
  import { ChainRpcPrefix, getContractAddresses } from "./helpers";
3
3
  import { Market } from "./classes/Market";
4
+ import { address, curvance_provider } from './types';
4
5
  import { ProtocolReader } from "./classes/ProtocolReader";
5
6
  import { Faucet } from "./classes/Faucet";
6
- export declare const backup_providers: Record<ChainRpcPrefix, JsonRpcProvider>;
7
- export declare let active_contracts: ReturnType<typeof getContractAddresses>;
8
- export declare function setupChain(chain: ChainRpcPrefix, signer: JsonRpcSigner | Wallet | JsonRpcProvider | null): Promise<{
7
+ export declare let setup_config: {
8
+ chain: ChainRpcPrefix;
9
+ contracts: ReturnType<typeof getContractAddresses>;
10
+ provider: curvance_provider;
11
+ approval_protection: boolean;
12
+ };
13
+ export declare const chain_config: {
14
+ 'monad-testnet': {
15
+ provider: JsonRpcProvider;
16
+ wrapped_native: address;
17
+ vaults: {
18
+ name: string;
19
+ contract: address;
20
+ }[];
21
+ };
22
+ };
23
+ export declare function setupChain(chain: ChainRpcPrefix, provider: JsonRpcSigner | Wallet | JsonRpcProvider | null, approval_protection?: boolean): Promise<{
9
24
  markets: Market[];
10
25
  faucet: Faucet;
11
26
  reader: ProtocolReader;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,cAAc,EAAE,eAAe,CAEpE,CAAC;AACF,eAAO,IAAI,gBAAgB,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;AAErE,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,MAAM,EAAE,aAAa,GAAG,MAAM,GAAG,eAAe,GAAG,IAAI;;;;GAwB9G"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../src/setup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAC1C,OAAO,EAAE,OAAO,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAG1C,eAAO,IAAI,YAAY,EAAE;IACrB,KAAK,EAAE,cAAc,CAAC;IACtB,SAAS,EAAE,UAAU,CAAC,OAAO,oBAAoB,CAAC,CAAC;IACnD,QAAQ,EAAE,iBAAiB,CAAC;IAC5B,mBAAmB,EAAE,OAAO,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,YAAY;;;wBAG+C,OAAO;;;sBAEU,OAAO;;;CAM/F,CAAC;AAEF,wBAAsB,UAAU,CAAC,KAAK,EAAE,cAAc,EAAE,QAAQ,EAAE,aAAa,GAAG,MAAM,GAAG,eAAe,GAAG,IAAI,EAAE,mBAAmB,GAAE,OAAe;;;;GAiCtJ"}
package/dist/setup.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.active_contracts = exports.backup_providers = void 0;
3
+ exports.chain_config = exports.setup_config = void 0;
4
4
  exports.setupChain = setupChain;
5
5
  const ethers_1 = require("ethers");
6
6
  const helpers_1 = require("./helpers");
@@ -8,28 +8,45 @@ const Market_1 = require("./classes/Market");
8
8
  const ProtocolReader_1 = require("./classes/ProtocolReader");
9
9
  const Faucet_1 = require("./classes/Faucet");
10
10
  const OracleManager_1 = require("./classes/OracleManager");
11
- exports.backup_providers = {
12
- "monad-testnet": new ethers_1.JsonRpcProvider("https://rpc.ankr.com/monad_testnet")
11
+ exports.chain_config = {
12
+ 'monad-testnet': {
13
+ provider: new ethers_1.JsonRpcProvider("https://rpc.ankr.com/monad_testnet"),
14
+ wrapped_native: "0x760AfE86e5de5fa0Ee542fc7B7B713e1c5425701",
15
+ vaults: [
16
+ { name: "apriori", contract: "0xb2f82D0f38dc453D596Ad40A37799446Cc89274A" },
17
+ { name: "fast-lane", contract: "0x3a98250F98Dd388C211206983453837C8365BDc1" },
18
+ { name: "magma", contract: "0xaEef2f6B429Cb59C9B2D7bB2141ADa993E8571c3" },
19
+ { name: "kintsu", contract: "0xe1d2439b75fb9746E7Bc6cB777Ae10AA7f7ef9c5" }
20
+ ]
21
+ }
13
22
  };
14
- async function setupChain(chain, signer) {
15
- exports.active_contracts = (0, helpers_1.getContractAddresses)(chain);
16
- if (signer == null) {
17
- signer = exports.backup_providers[chain];
23
+ async function setupChain(chain, provider, approval_protection = false) {
24
+ if (!(chain in exports.chain_config)) {
25
+ throw new Error("Chain does not have a corresponding config");
26
+ }
27
+ if (provider == null) {
28
+ provider = exports.chain_config[chain].provider;
18
29
  }
19
- if (!("ProtocolReader" in exports.active_contracts)) {
30
+ exports.setup_config = {
31
+ chain,
32
+ provider,
33
+ approval_protection,
34
+ contracts: (0, helpers_1.getContractAddresses)(chain),
35
+ };
36
+ if (!("ProtocolReader" in exports.setup_config.contracts)) {
20
37
  throw new Error(`Chain configuration for ${chain} is missing ProtocolReader address.`);
21
38
  }
22
- else if (!("Faucet" in exports.active_contracts)) {
39
+ else if (!("Faucet" in exports.setup_config.contracts)) {
23
40
  throw new Error(`Chain configuration for ${chain} is missing Faucet address.`);
24
41
  }
25
- else if (!("OracleManager" in exports.active_contracts)) {
42
+ else if (!("OracleManager" in exports.setup_config.contracts)) {
26
43
  throw new Error(`Chain configuration for ${chain} is missing OracleManager address.`);
27
44
  }
28
- const reader = new ProtocolReader_1.ProtocolReader(signer, exports.active_contracts.ProtocolReader);
29
- const faucet = new Faucet_1.Faucet(signer, exports.active_contracts.Faucet);
30
- const oracle_manager = new OracleManager_1.OracleManager(signer, exports.active_contracts.OracleManager);
45
+ const reader = new ProtocolReader_1.ProtocolReader(exports.setup_config.contracts.ProtocolReader);
46
+ const faucet = new Faucet_1.Faucet(exports.setup_config.contracts.Faucet);
47
+ const oracle_manager = new OracleManager_1.OracleManager(exports.setup_config.contracts.OracleManager);
31
48
  return {
32
- markets: await Market_1.Market.getAll(signer, reader, oracle_manager, exports.active_contracts),
49
+ markets: await Market_1.Market.getAll(reader, oracle_manager),
33
50
  faucet,
34
51
  reader,
35
52
  };