hedge-web3 0.2.3 → 0.2.7

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.
@@ -1,5 +1,4 @@
1
1
  import { Program, Provider } from '@project-serum/anchor';
2
2
  import { PublicKey, Signer, TransactionInstruction } from '@solana/web3.js';
3
- import { Vault } from 'idl/vault';
4
- export declare function setVaultTypeStatus(program: Program<Vault>, provider: Provider, payer: Signer, vaultTypeAccount: PublicKey, deprecated: boolean): Promise<PublicKey>;
5
- export declare function setVaultTypeStatusInstruction(program: Program<Vault>, vaultSystemStatePublicKey: PublicKey, payerPublicKey: PublicKey, vaultTypeAccount: PublicKey, deprecated: boolean): Promise<TransactionInstruction>;
3
+ export declare function setVaultTypeStatus(program: Program, provider: Provider, payer: Signer, vaultTypeAccount: PublicKey, deprecated: boolean): Promise<PublicKey>;
4
+ export declare function setVaultTypeStatusInstruction(program: Program, vaultSystemStatePublicKey: PublicKey, payerPublicKey: PublicKey, vaultTypeAccount: PublicKey, deprecated: boolean): Promise<TransactionInstruction>;
@@ -17,21 +17,22 @@ function setVaultTypeStatus(program, provider, payer, vaultTypeAccount, deprecat
17
17
  return __awaiter(this, void 0, void 0, function* () {
18
18
  const vaultSystemStatePublicKey = yield (0, Constants_1.getVaultSystemStatePublicKey)();
19
19
  const transaction = new web3_js_1.Transaction().add(yield setVaultTypeStatusInstruction(program, vaultSystemStatePublicKey, payer.publicKey, vaultTypeAccount, deprecated));
20
- yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer]).catch(Errors_1.parseAnchorErrors);
20
+ yield (0, web3_js_1.sendAndConfirmTransaction)(provider.connection, transaction, [payer], provider === null || provider === void 0 ? void 0 : provider.opts).catch(Errors_1.parseAnchorErrors);
21
21
  return vaultSystemStatePublicKey;
22
22
  });
23
23
  }
24
24
  exports.setVaultTypeStatus = setVaultTypeStatus;
25
25
  function setVaultTypeStatusInstruction(program, vaultSystemStatePublicKey, payerPublicKey, vaultTypeAccount, deprecated) {
26
26
  return __awaiter(this, void 0, void 0, function* () {
27
- return yield program.methods
28
- .setVaultTypeStatus(deprecated)
29
- .accounts({
30
- payer: payerPublicKey,
31
- vaultSystemState: vaultSystemStatePublicKey,
32
- vaultType: vaultTypeAccount,
33
- })
34
- .instruction();
27
+ const ix = program.instruction.setVaultTypeStatus(deprecated, {
28
+ accounts: {
29
+ payer: payerPublicKey,
30
+ vaultSystemState: vaultSystemStatePublicKey,
31
+ vaultType: vaultTypeAccount,
32
+ },
33
+ signers: []
34
+ });
35
+ return ix;
35
36
  });
36
37
  }
37
38
  exports.setVaultTypeStatusInstruction = setVaultTypeStatusInstruction;
@@ -32,7 +32,9 @@ const borsh = __importStar(require("@project-serum/borsh"));
32
32
  */
33
33
  class VaultAccount {
34
34
  constructor(vault, publicKey) {
35
- var _a, _b, _c;
35
+ var _a, _b;
36
+ /** The ordered number of when this vault was created. */
37
+ this.vaultNumber = 0;
36
38
  /** Debt redistribution snapshot */
37
39
  this.debtProductSnapshotBytes = new decimal_js_1.default(0);
38
40
  /** Collateral redistribution snapshot' */
@@ -41,10 +43,12 @@ class VaultAccount {
41
43
  this.vaultStatus = '';
42
44
  this.publicKey = publicKey;
43
45
  this.vaultOwner = vault.vaultOwner;
44
- this.vaultNumber = (_a = vault.vaultNumber) === null || _a === void 0 ? void 0 : _a.toNumber();
45
46
  this.pdaSalt = vault.pdaSalt;
46
- this.deposited = (_b = vault.deposited) === null || _b === void 0 ? void 0 : _b.toNumber();
47
- this.denormalizedDebt = (_c = vault.denormalizedDebt) === null || _c === void 0 ? void 0 : _c.toNumber();
47
+ this.deposited = (_a = vault.deposited) === null || _a === void 0 ? void 0 : _a.toNumber();
48
+ this.denormalizedDebt = (_b = vault.denormalizedDebt) === null || _b === void 0 ? void 0 : _b.toNumber();
49
+ if (vault.vaultNumber) {
50
+ this.vaultNumber = vault.vaultNumber.toNumber();
51
+ }
48
52
  if (vault.debtProductSnapshotBytes) {
49
53
  this.debtProductSnapshotBytes = (0, HedgeDecimal_1.DecimalFromU128)(vault.debtProductSnapshotBytes.toString());
50
54
  }
@@ -138,7 +142,7 @@ class VaultAccount {
138
142
  if (this.nextVaultToRedeem) {
139
143
  nextVault = this.nextVaultToRedeem.toString().substring(0, 6);
140
144
  }
141
- return `Vault(${this.vaultNumber}): ${this.publicKey.toString().substring(0, 6)}. Debt: ${this.denormalizedDebt} Collat: ${this.deposited} Ratio: ${collateralRatio} ${arrow} `;
145
+ return `${this.publicKey.toString().substring(0, 6)}. Debt: ${this.denormalizedDebt} Collat: ${this.deposited} Ratio: ${collateralRatio} ${arrow} `;
142
146
  }
143
147
  /**
144
148
  * Creates a VaultAccount from a slice of data
@@ -153,7 +157,7 @@ class VaultAccount {
153
157
  * @returns a new VaultAccount
154
158
  */
155
159
  static FromMiniSlice(data, pubkey) {
156
- const props = [borsh.u64('vaultNumber'), borsh.u64('deposited'), borsh.u64('denormalizedDebt')];
160
+ const props = [borsh.u64('deposited'), borsh.u64('denormalizedDebt')];
157
161
  const miniVaultLayout = borsh.struct(props, 'minVaultLayout');
158
162
  const decodedData = miniVaultLayout.decode(data);
159
163
  return new VaultAccount(decodedData, pubkey);
@@ -157,7 +157,7 @@ function sortVaults(a, b) {
157
157
  const aRatio = a.deposited / a.denormalizedDebt;
158
158
  const bRatio = b.deposited / b.denormalizedDebt;
159
159
  if (aRatio === bRatio) {
160
- return b.vaultNumber - a.vaultNumber;
160
+ return a.publicKey.toString() > b.publicKey.toString() ? 1 : -1;
161
161
  }
162
162
  return aRatio - bRatio;
163
163
  }
@@ -189,8 +189,8 @@ function getMiniVaults(program, vaultTypePublicKey) {
189
189
  // Slice the data only to grab the 3 u64's of size 8 bytes each
190
190
  dataSlice: {
191
191
  // See programs/hedge-vault/src/account_data/vault.rs for struct layout
192
- offset: 8 + 32,
193
- length: 24,
192
+ offset: 8 + 32 + 8,
193
+ length: 16,
194
194
  },
195
195
  });
196
196
  return allAccounts.map((vaultData) => {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "hedge-web3",
3
- "version": "0.2.3",
3
+ "version": "0.2.7",
4
4
  "description": "Hedge Javascript Web3 API",
5
5
  "main": "lib/index.js",
6
6
  "types": "declarations/index.d.ts",
@@ -26,7 +26,7 @@ export class VaultAccount {
26
26
  denormalizedDebt: number
27
27
 
28
28
  /** The ordered number of when this vault was created. */
29
- vaultNumber: number
29
+ vaultNumber = 0
30
30
 
31
31
  /** Debt redistribution snapshot */
32
32
  debtProductSnapshotBytes = new Decimal(0)
@@ -49,10 +49,12 @@ export class VaultAccount {
49
49
  constructor(vault: any, publicKey: PublicKey) {
50
50
  this.publicKey = publicKey
51
51
  this.vaultOwner = vault.vaultOwner
52
- this.vaultNumber = vault.vaultNumber?.toNumber()
53
52
  this.pdaSalt = vault.pdaSalt
54
53
  this.deposited = vault.deposited?.toNumber()
55
54
  this.denormalizedDebt = vault.denormalizedDebt?.toNumber()
55
+ if (vault.vaultNumber) {
56
+ this.vaultNumber = vault.vaultNumber.toNumber()
57
+ }
56
58
  if (vault.debtProductSnapshotBytes) {
57
59
  this.debtProductSnapshotBytes = DecimalFromU128(vault.debtProductSnapshotBytes.toString())
58
60
  }
@@ -163,7 +165,7 @@ export class VaultAccount {
163
165
  nextVault = this.nextVaultToRedeem.toString().substring(0, 6)
164
166
  }
165
167
 
166
- return `Vault(${this.vaultNumber}): ${this.publicKey.toString().substring(0, 6)}. Debt: ${
168
+ return `${this.publicKey.toString().substring(0, 6)}. Debt: ${
167
169
  this.denormalizedDebt
168
170
  } Collat: ${this.deposited} Ratio: ${collateralRatio} ${arrow} `
169
171
  }
@@ -180,7 +182,7 @@ export class VaultAccount {
180
182
  * @returns a new VaultAccount
181
183
  */
182
184
  static FromMiniSlice(data: Buffer, pubkey: PublicKey) {
183
- const props = [borsh.u64('vaultNumber'), borsh.u64('deposited'), borsh.u64('denormalizedDebt')]
185
+ const props = [borsh.u64('deposited'), borsh.u64('denormalizedDebt')]
184
186
  const miniVaultLayout = borsh.struct(props, 'minVaultLayout')
185
187
  const decodedData: any = miniVaultLayout.decode(data)
186
188
 
@@ -183,7 +183,7 @@ function sortVaults(a: VaultAccount, b: VaultAccount) {
183
183
  const aRatio = a.deposited / a.denormalizedDebt
184
184
  const bRatio = b.deposited / b.denormalizedDebt
185
185
  if (aRatio === bRatio) {
186
- return b.vaultNumber - a.vaultNumber
186
+ return a.publicKey.toString() > b.publicKey.toString() ? 1 : -1
187
187
  }
188
188
  return aRatio - bRatio
189
189
  }
@@ -215,8 +215,8 @@ async function getMiniVaults(program: Program<Vault>, vaultTypePublicKey: Public
215
215
  // Slice the data only to grab the 3 u64's of size 8 bytes each
216
216
  dataSlice: {
217
217
  // See programs/hedge-vault/src/account_data/vault.rs for struct layout
218
- offset: 8 + 32,
219
- length: 24,
218
+ offset: 8 + 32 + 8,
219
+ length: 16,
220
220
  },
221
221
  })
222
222