hedge-web3 0.1.46 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (71) hide show
  1. package/declarations/Constants.d.ts +2 -1
  2. package/declarations/idl/vault.d.ts +109 -47
  3. package/declarations/instructions/claimLiquidationPoolPosition.d.ts +1 -1
  4. package/declarations/instructions/claimStakingPoolPosition.d.ts +1 -1
  5. package/declarations/instructions/closeLiquidationPoolPosition.d.ts +1 -1
  6. package/declarations/instructions/createStakingPool.d.ts +1 -1
  7. package/declarations/instructions/createVault.d.ts +1 -1
  8. package/declarations/instructions/depositLiquidationPool.d.ts +1 -1
  9. package/declarations/instructions/depositStakingPool.d.ts +1 -1
  10. package/declarations/instructions/depositVault.d.ts +1 -1
  11. package/declarations/instructions/initHedgeFoundation.d.ts +1 -1
  12. package/declarations/instructions/liquidateVault.d.ts +1 -1
  13. package/declarations/instructions/loanVault.d.ts +1 -1
  14. package/declarations/instructions/redeemVault.d.ts +1 -1
  15. package/declarations/instructions/refreshOraclePrice.d.ts +3 -3
  16. package/declarations/instructions/repayVault.d.ts +1 -1
  17. package/declarations/instructions/setHalted.d.ts +1 -1
  18. package/declarations/instructions/updateVaultType.d.ts +4 -1
  19. package/declarations/instructions/withdrawStakingPool.d.ts +1 -1
  20. package/declarations/instructions/withdrawVault.d.ts +1 -1
  21. package/declarations/state/VaultAccount.d.ts +4 -3
  22. package/declarations/utils/getLinkedListAccounts.d.ts +1 -1
  23. package/lib/Constants.js +3 -2
  24. package/lib/idl/vault.js +109 -47
  25. package/lib/instructions/claimLiquidationPoolPosition.js +5 -1
  26. package/lib/instructions/claimStakingPoolPosition.js +5 -1
  27. package/lib/instructions/closeLiquidationPoolPosition.js +5 -1
  28. package/lib/instructions/createStakingPool.js +5 -2
  29. package/lib/instructions/createVault.js +5 -1
  30. package/lib/instructions/depositLiquidationPool.js +5 -1
  31. package/lib/instructions/depositStakingPool.js +5 -1
  32. package/lib/instructions/depositVault.js +5 -1
  33. package/lib/instructions/initHedgeFoundation.js +5 -1
  34. package/lib/instructions/initHedgeFoundationTokens.js +5 -1
  35. package/lib/instructions/liquidateVault.js +5 -1
  36. package/lib/instructions/loanVault.js +5 -3
  37. package/lib/instructions/redeemVault.js +5 -1
  38. package/lib/instructions/refreshOraclePrice.js +6 -1
  39. package/lib/instructions/repayVault.js +5 -1
  40. package/lib/instructions/setHalted.js +5 -1
  41. package/lib/instructions/updateVaultType.js +9 -2
  42. package/lib/instructions/withdrawStakingPool.js +5 -1
  43. package/lib/instructions/withdrawVault.js +5 -1
  44. package/lib/state/VaultAccount.js +11 -9
  45. package/lib/utils/getLinkedListAccounts.js +48 -48
  46. package/package.json +1 -1
  47. package/src/Constants.ts +2 -1
  48. package/src/idl/vault.ts +218 -94
  49. package/src/instructions/claimLiquidationPoolPosition.ts +3 -2
  50. package/src/instructions/claimStakingPoolPosition.ts +3 -2
  51. package/src/instructions/closeLiquidationPoolPosition.ts +3 -2
  52. package/src/instructions/createStakingPool.ts +3 -3
  53. package/src/instructions/createVault.ts +3 -2
  54. package/src/instructions/depositLiquidationPool.ts +3 -2
  55. package/src/instructions/depositStakingPool.ts +3 -2
  56. package/src/instructions/depositVault.ts +3 -3
  57. package/src/instructions/initHedgeFoundation.ts +3 -2
  58. package/src/instructions/initHedgeFoundationTokens.ts +2 -1
  59. package/src/instructions/liquidateVault.ts +5 -3
  60. package/src/instructions/loanVault.ts +3 -4
  61. package/src/instructions/redeemVault.ts +3 -2
  62. package/src/instructions/refreshOraclePrice.ts +7 -4
  63. package/src/instructions/repayVault.ts +3 -2
  64. package/src/instructions/setHalted.ts +3 -2
  65. package/src/instructions/updateVaultType.ts +10 -2
  66. package/src/instructions/withdrawStakingPool.ts +3 -2
  67. package/src/instructions/withdrawVault.ts +3 -2
  68. package/src/state/VaultAccount.ts +17 -12
  69. package/src/state/VaultType.ts +62 -0
  70. package/src/utils/getLinkedListAccounts.ts +54 -49
  71. package/src/utils/sendAndConfirmWithDebug.ts +27 -0
package/lib/idl/vault.js CHANGED
@@ -1180,6 +1180,11 @@ exports.IDL = {
1180
1180
  "name": "systemProgram",
1181
1181
  "isMut": false,
1182
1182
  "isSigner": false
1183
+ },
1184
+ {
1185
+ "name": "chainlinkProgram",
1186
+ "isMut": false,
1187
+ "isSigner": false
1183
1188
  }
1184
1189
  ],
1185
1190
  "args": [
@@ -1772,7 +1777,7 @@ exports.IDL = {
1772
1777
  "type": {
1773
1778
  "array": [
1774
1779
  "u128",
1775
- 32
1780
+ 128
1776
1781
  ]
1777
1782
  }
1778
1783
  },
@@ -1832,10 +1837,6 @@ exports.IDL = {
1832
1837
  "type": {
1833
1838
  "kind": "struct",
1834
1839
  "fields": [
1835
- {
1836
- "name": "state",
1837
- "type": "u64"
1838
- },
1839
1840
  {
1840
1841
  "name": "era",
1841
1842
  "type": "publicKey"
@@ -1844,14 +1845,6 @@ exports.IDL = {
1844
1845
  "name": "ownerAccount",
1845
1846
  "type": "publicKey"
1846
1847
  },
1847
- {
1848
- "name": "deposit",
1849
- "type": "u64"
1850
- },
1851
- {
1852
- "name": "closedUsh",
1853
- "type": "u64"
1854
- },
1855
1848
  {
1856
1849
  "name": "productSnapshotEntry",
1857
1850
  "type": "u128"
@@ -1865,7 +1858,7 @@ exports.IDL = {
1865
1858
  "type": {
1866
1859
  "array": [
1867
1860
  "u128",
1868
- 32
1861
+ 128
1869
1862
  ]
1870
1863
  }
1871
1864
  },
@@ -1874,7 +1867,7 @@ exports.IDL = {
1874
1867
  "type": {
1875
1868
  "array": [
1876
1869
  "u128",
1877
- 32
1870
+ 128
1878
1871
  ]
1879
1872
  }
1880
1873
  },
@@ -1882,6 +1875,14 @@ exports.IDL = {
1882
1875
  "name": "hedgeRewardsSnapshotAccum",
1883
1876
  "type": "u128"
1884
1877
  },
1878
+ {
1879
+ "name": "deposit",
1880
+ "type": "u64"
1881
+ },
1882
+ {
1883
+ "name": "closedUsh",
1884
+ "type": "u64"
1885
+ },
1885
1886
  {
1886
1887
  "name": "timestampOpened",
1887
1888
  "type": "u64"
@@ -1889,6 +1890,12 @@ exports.IDL = {
1889
1890
  {
1890
1891
  "name": "timestampClosed",
1891
1892
  "type": "u64"
1893
+ },
1894
+ {
1895
+ "name": "state",
1896
+ "type": {
1897
+ "defined": "PositionState"
1898
+ }
1892
1899
  }
1893
1900
  ]
1894
1901
  }
@@ -1899,8 +1906,8 @@ exports.IDL = {
1899
1906
  "kind": "struct",
1900
1907
  "fields": [
1901
1908
  {
1902
- "name": "vaultTypeName",
1903
- "type": "string"
1909
+ "name": "vaultType",
1910
+ "type": "publicKey"
1904
1911
  },
1905
1912
  {
1906
1913
  "name": "oraclePyth",
@@ -1915,8 +1922,20 @@ exports.IDL = {
1915
1922
  "type": "publicKey"
1916
1923
  },
1917
1924
  {
1918
- "name": "vaultType",
1919
- "type": "publicKey"
1925
+ "name": "priorityPyth",
1926
+ "type": "i8"
1927
+ },
1928
+ {
1929
+ "name": "priorityChainlink",
1930
+ "type": "i8"
1931
+ },
1932
+ {
1933
+ "name": "prioritySwitchboard",
1934
+ "type": "i8"
1935
+ },
1936
+ {
1937
+ "name": "vaultTypeName",
1938
+ "type": "string"
1920
1939
  }
1921
1940
  ]
1922
1941
  }
@@ -1939,7 +1958,7 @@ exports.IDL = {
1939
1958
  "type": {
1940
1959
  "array": [
1941
1960
  "u128",
1942
- 32
1961
+ 128
1943
1962
  ]
1944
1963
  }
1945
1964
  },
@@ -1948,7 +1967,7 @@ exports.IDL = {
1948
1967
  "type": {
1949
1968
  "array": [
1950
1969
  "u128",
1951
- 32
1970
+ 128
1952
1971
  ]
1953
1972
  }
1954
1973
  },
@@ -2036,7 +2055,7 @@ exports.IDL = {
2036
2055
  "type": {
2037
2056
  "array": [
2038
2057
  "u128",
2039
- 32
2058
+ 128
2040
2059
  ]
2041
2060
  }
2042
2061
  },
@@ -2120,7 +2139,7 @@ exports.IDL = {
2120
2139
  },
2121
2140
  {
2122
2141
  "name": "totalUshSupply",
2123
- "type": "u64"
2142
+ "type": "u128"
2124
2143
  },
2125
2144
  {
2126
2145
  "name": "totalVaults",
@@ -2160,10 +2179,6 @@ exports.IDL = {
2160
2179
  "type": {
2161
2180
  "kind": "struct",
2162
2181
  "fields": [
2163
- {
2164
- "name": "vaultTypeName",
2165
- "type": "string"
2166
- },
2167
2182
  {
2168
2183
  "name": "collateralMint",
2169
2184
  "type": "publicKey"
@@ -2236,12 +2251,6 @@ exports.IDL = {
2236
2251
  "name": "interestRatePerSecond",
2237
2252
  "type": "u128"
2238
2253
  },
2239
- {
2240
- "name": "firstVaultToRedeem",
2241
- "type": {
2242
- "option": "publicKey"
2243
- }
2244
- },
2245
2254
  {
2246
2255
  "name": "deprecated",
2247
2256
  "type": "bool"
@@ -2253,6 +2262,16 @@ exports.IDL = {
2253
2262
  {
2254
2263
  "name": "totalFeesAccumulatedCollateral",
2255
2264
  "type": "u128"
2265
+ },
2266
+ {
2267
+ "name": "vaultTypeName",
2268
+ "type": "string"
2269
+ },
2270
+ {
2271
+ "name": "firstVaultToRedeem",
2272
+ "type": {
2273
+ "option": "publicKey"
2274
+ }
2256
2275
  }
2257
2276
  ]
2258
2277
  }
@@ -2279,12 +2298,14 @@ exports.IDL = {
2279
2298
  "type": "u64"
2280
2299
  },
2281
2300
  {
2282
- "name": "vaultTypeName",
2283
- "type": "string"
2301
+ "name": "vaultStatus",
2302
+ "type": {
2303
+ "defined": "VaultStatus"
2304
+ }
2284
2305
  },
2285
2306
  {
2286
- "name": "pdaSalt",
2287
- "type": "string"
2307
+ "name": "vaultType",
2308
+ "type": "publicKey"
2288
2309
  },
2289
2310
  {
2290
2311
  "name": "bump",
@@ -2308,12 +2329,6 @@ exports.IDL = {
2308
2329
  "defined": "CurrencyType"
2309
2330
  }
2310
2331
  },
2311
- {
2312
- "name": "vaultStatus",
2313
- "type": {
2314
- "defined": "VaultStatus"
2315
- }
2316
- },
2317
2332
  {
2318
2333
  "name": "timeCreated",
2319
2334
  "type": "u64"
@@ -2322,15 +2337,19 @@ exports.IDL = {
2322
2337
  "name": "timeLastInteraction",
2323
2338
  "type": "u64"
2324
2339
  },
2340
+ {
2341
+ "name": "vaultTypeName",
2342
+ "type": "string"
2343
+ },
2344
+ {
2345
+ "name": "pdaSalt",
2346
+ "type": "string"
2347
+ },
2325
2348
  {
2326
2349
  "name": "nextVaultToRedeem",
2327
2350
  "type": {
2328
2351
  "option": "publicKey"
2329
2352
  }
2330
- },
2331
- {
2332
- "name": "vaultType",
2333
- "type": "publicKey"
2334
2353
  }
2335
2354
  ]
2336
2355
  }
@@ -2420,6 +2439,24 @@ exports.IDL = {
2420
2439
  "option": "publicKey"
2421
2440
  }
2422
2441
  },
2442
+ {
2443
+ "name": "priorityChainlink",
2444
+ "type": {
2445
+ "option": "i8"
2446
+ }
2447
+ },
2448
+ {
2449
+ "name": "priorityPyth",
2450
+ "type": {
2451
+ "option": "i8"
2452
+ }
2453
+ },
2454
+ {
2455
+ "name": "prioritySwitchboard",
2456
+ "type": {
2457
+ "option": "i8"
2458
+ }
2459
+ },
2423
2460
  {
2424
2461
  "name": "deprecated",
2425
2462
  "type": {
@@ -2764,8 +2801,33 @@ exports.IDL = {
2764
2801
  },
2765
2802
  {
2766
2803
  "code": 6024,
2804
+ "name": "InvalidNameLength",
2805
+ "msg": "Name for new vault type must be length 16"
2806
+ },
2807
+ {
2808
+ "code": 6025,
2767
2809
  "name": "UpdateVaultTypeBadMaxDebtExtended",
2768
2810
  "msg": "New Max debt extended value is less than the current debt!"
2811
+ },
2812
+ {
2813
+ "code": 6026,
2814
+ "name": "UpdateVaultTypeNoEnabledOracles",
2815
+ "msg": "No Enabled Oracles!"
2816
+ },
2817
+ {
2818
+ "code": 6027,
2819
+ "name": "UpdateVaultTypeDuplicateOraclePriorities",
2820
+ "msg": "Duplicate Oracle Priorities"
2821
+ },
2822
+ {
2823
+ "code": 6028,
2824
+ "name": "UpdateVaultTypeInvalidOraclePriority",
2825
+ "msg": "Invalid Oracle Priority"
2826
+ },
2827
+ {
2828
+ "code": 6029,
2829
+ "name": "OracleUpdateFailed",
2830
+ "msg": "OracleUpdateFailed"
2769
2831
  }
2770
2832
  ]
2771
2833
  };
@@ -8,12 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.claimLiquidationPoolPositionInstruction = exports.claimLiquidationPoolPosition = void 0;
13
16
  const spl_token_1 = require("@solana/spl-token");
14
17
  const web3_js_1 = require("@solana/web3.js");
15
18
  const Errors_1 = require("../utils/Errors");
16
19
  const Constants_1 = require("../Constants");
20
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
17
21
  function claimLiquidationPoolPosition(program, provider, poolPosition, payer, collateralType, overrideStartTime) {
18
22
  return __awaiter(this, void 0, void 0, function* () {
19
23
  const vaultTypeAccountPublicKey = yield (0, Constants_1.getVaultTypeAccountPublicKey)(collateralType);
@@ -21,7 +25,7 @@ function claimLiquidationPoolPosition(program, provider, poolPosition, payer, co
21
25
  const collateralMintPublicKey = vaultTypeAccountInfo.collateralMint;
22
26
  const payerAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, collateralMintPublicKey, payer.publicKey);
23
27
  const transaction = new web3_js_1.Transaction().add(yield claimLiquidationPoolPositionInstruction(program, vaultTypeAccountPublicKey, collateralMintPublicKey, poolPosition, payer.publicKey, payerAssociatedTokenAccount.address, overrideStartTime));
24
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
28
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
25
29
  return payerAssociatedTokenAccount.address;
26
30
  });
27
31
  }
@@ -8,12 +8,16 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.claimStakingPoolPositionInstruction = exports.claimStakingPoolPosition = void 0;
13
16
  const spl_token_1 = require("@solana/spl-token");
14
17
  const web3_js_1 = require("@solana/web3.js");
15
18
  const Errors_1 = require("../utils/Errors");
16
19
  const Constants_1 = require("../Constants");
20
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
17
21
  function claimStakingPoolPosition(program, provider, poolPosition, payer, collateralType) {
18
22
  return __awaiter(this, void 0, void 0, function* () {
19
23
  const vaultTypeAccount = yield (0, Constants_1.getVaultTypeAccountPublicKey)(collateralType);
@@ -24,7 +28,7 @@ function claimStakingPoolPosition(program, provider, poolPosition, payer, collat
24
28
  const feePoolAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, collateralMint, feePool, true);
25
29
  const payerAssociatedTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, collateralMint, payer.publicKey);
26
30
  const transaction = new web3_js_1.Transaction().add(yield claimStakingPoolPositionInstruction(program, feePool, feePoolAssociatedTokenAccount.address, stakedTokenMint, vaultTypeAccount, collateralMint, poolPosition, payer.publicKey, payerAssociatedTokenAccount.address));
27
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
31
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
28
32
  return payerAssociatedTokenAccount.address;
29
33
  });
30
34
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.closeLiquidationPoolPositionInstruction = exports.closeLiquidationPoolPosition = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,6 +18,7 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const Errors_1 = require("../utils/Errors");
17
20
  const Constants_1 = require("../Constants");
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
18
22
  function closeLiquidationPoolPosition(program, provider, poolPosition, payer, overrideStartTime) {
19
23
  return __awaiter(this, void 0, void 0, function* () {
20
24
  const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
@@ -26,7 +30,7 @@ function closeLiquidationPoolPosition(program, provider, poolPosition, payer, ov
26
30
  const payerAssociatedHedgeAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, hedgeMint, payer.publicKey);
27
31
  const communityAssociatedHedgeTokenAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, hedgeMint, vaultSystemStatePublicKey, true);
28
32
  const transaction = new web3_js_1.Transaction().add(yield closeLiquidationPoolPositionInstruction(program, poolEra, poolPosition, payer.publicKey, payerUshAccount.address, payerAssociatedHedgeAccount.address, communityAssociatedHedgeTokenAccount.address, overrideStartTime));
29
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
33
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
30
34
  return poolPosition;
31
35
  });
32
36
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.createStakingPoolInstruction = exports.createStakingPool = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,10 +18,11 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const Errors_1 = require("../utils/Errors");
17
20
  const Constants_1 = require("../Constants");
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
18
22
  function createStakingPool(program, provider, payer, mintPublicKey, hedgeTokensToBeMinted, overrideStartTime) {
19
23
  return __awaiter(this, void 0, void 0, function* () {
20
24
  const transaction = new web3_js_1.Transaction().add(yield createStakingPoolInstruction(program, payer.publicKey, mintPublicKey, hedgeTokensToBeMinted, overrideStartTime));
21
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
25
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
22
26
  const [poolPublickey] = yield (0, Constants_1.getPoolPublicKeyForMint)(mintPublicKey);
23
27
  return poolPublickey;
24
28
  });
@@ -26,7 +30,6 @@ function createStakingPool(program, provider, payer, mintPublicKey, hedgeTokensT
26
30
  exports.createStakingPool = createStakingPool;
27
31
  function createStakingPoolInstruction(program, payerPublicKey, mintPublicKey, hedgeTokensToBeMinted, overrideStartTime) {
28
32
  return __awaiter(this, void 0, void 0, function* () {
29
- console.log("new createStakingPoolInstruction");
30
33
  const vaultSystemStatePublicKey = yield (0, Constants_1.getVaultSystemStatePublicKey)();
31
34
  const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
32
35
  const [poolPublickey, poolBump] = yield (0, Constants_1.getPoolPublicKeyForMint)(mintPublicKey);
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.createVaultInstruction = exports.buildCreateVaultTransaction = exports.createVault = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -17,6 +20,7 @@ const web3_js_1 = require("@solana/web3.js");
17
20
  const Constants_1 = require("../Constants");
18
21
  const uuid_1 = require("uuid");
19
22
  const Errors_1 = require("../utils/Errors");
23
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
20
24
  function createVault(program, provider, payer, collateralType, depositAmount, overrideTime) {
21
25
  return __awaiter(this, void 0, void 0, function* () {
22
26
  const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
@@ -57,7 +61,7 @@ function createVault(program, provider, payer, collateralType, depositAmount, ov
57
61
  owner: payer.publicKey,
58
62
  }));
59
63
  }
60
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, signers).catch(Errors_1.parseAnchorErrors);
64
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, signers).catch(Errors_1.parseAnchorErrors);
61
65
  return newVaultPublicKey;
62
66
  });
63
67
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.depositLiquidationPoolInstruction = exports.depositLiquidationPool = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,13 +18,14 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const Errors_1 = require("../utils/Errors");
17
20
  const Constants_1 = require("../Constants");
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
18
22
  function depositLiquidationPool(program, provider, payer, depositAmount, overrideStartTime) {
19
23
  return __awaiter(this, void 0, void 0, function* () {
20
24
  const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
21
25
  const payerUshAccount = yield (0, spl_token_1.getOrCreateAssociatedTokenAccount)(provider.connection, payer, ushMintPublickey, payer.publicKey);
22
26
  const poolPosition = web3_js_1.Keypair.generate();
23
27
  const transaction = new web3_js_1.Transaction().add(yield depositLiquidationPoolInstruction(program, payer.publicKey, payerUshAccount.address, poolPosition.publicKey, depositAmount, overrideStartTime));
24
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, poolPosition]).catch(Errors_1.parseAnchorErrors);
28
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer, poolPosition]).catch(Errors_1.parseAnchorErrors);
25
29
  return poolPosition.publicKey;
26
30
  });
27
31
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.depositStakingPoolInstruction = exports.depositStakingPool = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,11 +18,12 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const Errors_1 = require("../utils/Errors");
17
20
  const Constants_1 = require("../Constants");
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
18
22
  function depositStakingPool(program, provider, payer, mintPublicKey, depositAmount, overrideStartTime) {
19
23
  return __awaiter(this, void 0, void 0, function* () {
20
24
  const poolPosition = web3_js_1.Keypair.generate();
21
25
  const transaction = new web3_js_1.Transaction().add(yield depositStakingPoolInstruction(program, payer.publicKey, poolPosition.publicKey, mintPublicKey, depositAmount, overrideStartTime));
22
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, poolPosition]).catch(Errors_1.parseAnchorErrors);
26
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer, poolPosition]).catch(Errors_1.parseAnchorErrors);
23
27
  return poolPosition.publicKey;
24
28
  });
25
29
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.depositVaultInstruction = exports.depositVault = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -16,6 +19,7 @@ const spl_token_1 = require("@solana/spl-token");
16
19
  const web3_js_1 = require("@solana/web3.js");
17
20
  const getLinkedListAccounts_1 = require("../utils/getLinkedListAccounts");
18
21
  const Constants_1 = require("../Constants");
22
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
19
23
  const token_instructions_1 = require("@project-serum/serum/lib/token-instructions");
20
24
  function depositVault(program, provider, payer, vaultPublicKey, depositAmount, overrideTime) {
21
25
  return __awaiter(this, void 0, void 0, function* () {
@@ -57,7 +61,7 @@ function depositVault(program, provider, payer, vaultPublicKey, depositAmount, o
57
61
  owner: payer.publicKey,
58
62
  }));
59
63
  }
60
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, signers);
64
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, signers);
61
65
  return vaultPublicKey;
62
66
  });
63
67
  }
@@ -8,17 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.initHedgeFoundationInstruction = exports.initHedgeFoundation = void 0;
13
16
  const spl_token_1 = require("@solana/spl-token");
14
17
  const web3_js_1 = require("@solana/web3.js");
15
18
  const Errors_1 = require("../utils/Errors");
16
19
  const Constants_1 = require("../Constants");
20
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
17
21
  function initHedgeFoundation(program, provider, payer) {
18
22
  return __awaiter(this, void 0, void 0, function* () {
19
23
  const poolEra = web3_js_1.Keypair.generate();
20
24
  const transaction = new web3_js_1.Transaction().add(yield initHedgeFoundationInstruction(program, poolEra.publicKey, payer.publicKey));
21
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, poolEra]).catch(Errors_1.parseAnchorErrors);
25
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer, poolEra]).catch(Errors_1.parseAnchorErrors);
22
26
  return payer.publicKey;
23
27
  });
24
28
  }
@@ -8,17 +8,21 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.initHedgeFoundationTokensInstruction = exports.initHedgeFoundationTokens = void 0;
13
16
  const spl_token_1 = require("@solana/spl-token");
14
17
  const web3_js_1 = require("@solana/web3.js");
15
18
  const Errors_1 = require("../utils/Errors");
16
19
  const Constants_1 = require("../Constants");
20
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
17
21
  function initHedgeFoundationTokens(program, provider, payer) {
18
22
  return __awaiter(this, void 0, void 0, function* () {
19
23
  const poolEra = web3_js_1.Keypair.generate();
20
24
  const transaction = new web3_js_1.Transaction().add(yield initHedgeFoundationTokensInstruction(program, payer.publicKey));
21
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
25
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
22
26
  return payer.publicKey;
23
27
  });
24
28
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.liquidateVaultInstruction = exports.liquidateVault = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,6 +18,7 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const getLinkedListAccounts_1 = require("../utils/getLinkedListAccounts");
17
20
  const Constants_1 = require("../Constants");
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
18
22
  function liquidateVault(program, provider, payer, vaultPublicKey, overrideTime) {
19
23
  return __awaiter(this, void 0, void 0, function* () {
20
24
  const vaultAccount = yield program.account.vault.fetch(vaultPublicKey);
@@ -36,7 +40,7 @@ function liquidateVault(program, provider, payer, vaultPublicKey, overrideTime)
36
40
  const newEra = web3_js_1.Keypair.generate();
37
41
  const transaction = new web3_js_1.Transaction();
38
42
  transaction.add(yield liquidateVaultInstruction(program, payer.publicKey, payerAssociatedTokenAccount.address, vaultPublicKey, vaultAssociatedTokenAccount.address, liquidationPoolStatePublicKey, poolStateInfo.currentEra, poolAssociatedTokenAccount.address, history.publicKey, newEra.publicKey, hedgeStakingPoolPublicKey, feePoolAssociatedTokenAccount.address, hedgeStakingPoolAssociatedUshTokenAccount.address, collateralMint, vaultTypeAssociatedTokenAccount.address, oldSmallerPublicKey, newSmallerPublicKey, newLargerPublicKey, vaultAccount.vaultType, overrideTime));
39
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, history, newEra]);
43
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer, history, newEra]);
40
44
  return vaultPublicKey;
41
45
  });
42
46
  }
@@ -8,6 +8,9 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
8
8
  step((generator = generator.apply(thisArg, _arguments || [])).next());
9
9
  });
10
10
  };
11
+ var __importDefault = (this && this.__importDefault) || function (mod) {
12
+ return (mod && mod.__esModule) ? mod : { "default": mod };
13
+ };
11
14
  Object.defineProperty(exports, "__esModule", { value: true });
12
15
  exports.loanVaultInstruction = exports.loanVault = void 0;
13
16
  const anchor_1 = require("@project-serum/anchor");
@@ -15,8 +18,7 @@ const spl_token_1 = require("@solana/spl-token");
15
18
  const web3_js_1 = require("@solana/web3.js");
16
19
  const getLinkedListAccounts_1 = require("../utils/getLinkedListAccounts");
17
20
  const Constants_1 = require("../Constants");
18
- const Errors_1 = require("../utils/Errors");
19
- const fs = require('fs');
21
+ const sendAndConfirmWithDebug_1 = __importDefault(require("../utils/sendAndConfirmWithDebug"));
20
22
  function loanVault(program, provider, payer, vaultPublicKey, loanAmount, overrideTime) {
21
23
  return __awaiter(this, void 0, void 0, function* () {
22
24
  const ushMintPublickey = yield (0, Constants_1.getUshMintPublicKey)();
@@ -28,7 +30,7 @@ function loanVault(program, provider, payer, vaultPublicKey, loanAmount, overrid
28
30
  const [oldSmallerPublicKey, newSmallerPublicKey, newLargerPublicKey] = yield (0, getLinkedListAccounts_1.getLinkedListAccounts)(program, provider, vaultAccount.vaultType, vaultPublicKey, 0, loanAmount, false, false);
29
31
  const history = web3_js_1.Keypair.generate();
30
32
  const transaction = new web3_js_1.Transaction().add(yield loanVaultInstruction(program, payer.publicKey, payerUshAccount.address, vaultPublicKey, vaultAssociatedTokenAccount.address, history.publicKey, vaultAccount.vaultType, vaultTypeAssociatedTokenAccount.address, oldSmallerPublicKey, newSmallerPublicKey, newLargerPublicKey, loanAmount, overrideTime));
31
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer, history]).catch(Errors_1.parseAnchorErrors);
33
+ yield (0, sendAndConfirmWithDebug_1.default)(provider.connection, transaction, [payer, history]);
32
34
  return vaultPublicKey;
33
35
  });
34
36
  }