@helium/distributor-oracle 0.6.41 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/cjs/client.js CHANGED
@@ -16,7 +16,6 @@ exports.formTransaction = exports.formBulkTransactions = exports.getPendingRewar
16
16
  const anchor_1 = require("@coral-xyz/anchor");
17
17
  const account_fetch_cache_1 = require("@helium/account-fetch-cache");
18
18
  const helium_entity_manager_sdk_1 = require("@helium/helium-entity-manager-sdk");
19
- const helium_sub_daos_sdk_1 = require("@helium/helium-sub-daos-sdk");
20
19
  const lazy_distributor_sdk_1 = require("@helium/lazy-distributor-sdk");
21
20
  const rewards_oracle_sdk_1 = require("@helium/rewards-oracle-sdk");
22
21
  const spl_utils_1 = require("@helium/spl-utils");
@@ -26,7 +25,8 @@ const axios_1 = __importDefault(require("axios"));
26
25
  const HNT = process.env.HNT_MINT
27
26
  ? new web3_js_1.PublicKey(process.env.HNT_MINT)
28
27
  : spl_utils_1.HNT_MINT;
29
- const DAO = (0, helium_sub_daos_sdk_1.daoKey)(HNT)[0];
28
+ const RECIPIENT_EXISTS_CU = 200000;
29
+ const MISSING_RECIPIENT_CU = 400000;
30
30
  function getCurrentRewards(program, lazyDistributor, assetId) {
31
31
  return __awaiter(this, void 0, void 0, function* () {
32
32
  const lazyDistributorAcc = yield program.account.lazyDistributorV0.fetch(lazyDistributor);
@@ -101,12 +101,15 @@ function getPendingRewards(program, lazyDistributor, dao, entityKeys, encoding =
101
101
  });
102
102
  }
103
103
  exports.getPendingRewards = getPendingRewards;
104
- function formBulkTransactions({ program: lazyDistributorProgram, rewardsOracleProgram, heliumEntityManagerProgram, skipOracleSign = false, rewards, assets, compressionAssetAccs, lazyDistributor, lazyDistributorAcc, wallet = lazyDistributorProgram.provider.wallet.publicKey, payer = lazyDistributorProgram.provider.wallet.publicKey, assetEndpoint, getAssetBatchFn = spl_utils_1.getAssetBatch, getAssetProofBatchFn = spl_utils_1.getAssetProofBatch, basePriorityFee, }) {
104
+ function formBulkTransactions({ program: lazyDistributorProgram, rewardsOracleProgram, heliumEntityManagerProgram, skipOracleSign = false, rewards, assets, compressionAssetAccs, lazyDistributor, lazyDistributorAcc, wallet = lazyDistributorProgram.provider.wallet.publicKey, payer = lazyDistributorProgram.provider.wallet.publicKey, assetEndpoint, getAssetBatchFn = spl_utils_1.getAssetBatch, getAssetProofBatchFn = spl_utils_1.getAssetProofBatch, basePriorityFee, isDevnet: isDevnetIn, }) {
105
105
  return __awaiter(this, void 0, void 0, function* () {
106
106
  if (assets.length > 100) {
107
107
  throw new Error("Too many assets, max 100");
108
108
  }
109
109
  const provider = lazyDistributorProgram.provider;
110
+ const isDevnet = isDevnetIn ||
111
+ provider.connection.rpcEndpoint.includes("test") ||
112
+ provider.connection.rpcEndpoint.includes("devnet");
110
113
  if (!rewardsOracleProgram) {
111
114
  rewardsOracleProgram = yield (0, rewards_oracle_sdk_1.init)(provider);
112
115
  }
@@ -159,13 +162,14 @@ function formBulkTransactions({ program: lazyDistributorProgram, rewardsOraclePr
159
162
  info: heliumEntityManagerProgram.coder.accounts.decode("KeyToAssetV0", account.data),
160
163
  }), true, false);
161
164
  // construct the set and distribute ixs
162
- let setAndDistributeIxs = yield Promise.all(compressionAssetAccs.map((assetAcc, idx) => __awaiter(this, void 0, void 0, function* () {
165
+ const setAndDistributeIxs = (yield Promise.all(compressionAssetAccs.map((assetAcc, idx) => __awaiter(this, void 0, void 0, function* () {
163
166
  var _a, _b;
164
167
  const keyToAssetK = (_a = keyToAssets[idx]) === null || _a === void 0 ? void 0 : _a.pubkey;
165
168
  const keyToAsset = (_b = keyToAssets[idx]) === null || _b === void 0 ? void 0 : _b.info;
166
169
  if (!keyToAsset || !keyToAssetK) {
167
170
  return [];
168
171
  }
172
+ const inits = ixsPerAsset[idx];
169
173
  const entityKey = (0, helium_entity_manager_sdk_1.decodeEntityKey)(keyToAsset.entityKey, keyToAsset.keySerialization);
170
174
  const setRewardIxs = (yield Promise.all(rewards.map((bulkRewards, oracleIdx) => __awaiter(this, void 0, void 0, function* () {
171
175
  if (!(entityKey in bulkRewards.currentRewards)) {
@@ -198,50 +202,39 @@ function formBulkTransactions({ program: lazyDistributorProgram, rewardsOraclePr
198
202
  : undefined,
199
203
  assetEndpoint,
200
204
  })).instruction();
201
- return yield (0, spl_utils_1.withPriorityFees)({
202
- connection: provider.connection,
203
- instructions: [...setRewardIxs, distributeIx],
204
- computeUnits: 300000,
205
- basePriorityFee,
206
- });
207
- })));
208
- for (let i = 0; i < setAndDistributeIxs.length; i++) {
209
- if (setAndDistributeIxs[i].length == 0) {
210
- continue;
205
+ const ret = [...inits, ...setRewardIxs, distributeIx];
206
+ // filter arrays where init recipient is the only ix
207
+ if (ret.length > 1) {
208
+ return ret;
211
209
  }
212
- ixsPerAsset[i].push(...setAndDistributeIxs[i]);
213
- }
214
- // filter arrays where init recipient is the only ix
215
- ixsPerAsset = ixsPerAsset.filter((x) => x.length > 1);
216
- let blockhash = (yield provider.connection.getLatestBlockhash()).blockhash;
210
+ return [];
211
+ }))));
217
212
  // unsigned txs
218
- let initialTxs = ixsPerAsset.map((ixs) => {
219
- const tx = new web3_js_1.Transaction();
220
- tx.recentBlockhash = blockhash;
221
- tx.feePayer = payer;
222
- tx.add(...ixs);
223
- return tx;
213
+ const initialTxDrafts = yield (0, spl_utils_1.batchInstructionsToTxsWithPriorityFee)(provider, setAndDistributeIxs, {
214
+ basePriorityFee,
215
+ addressLookupTableAddresses: [
216
+ isDevnet ? spl_utils_1.HELIUM_COMMON_LUT_DEVNET : spl_utils_1.HELIUM_COMMON_LUT,
217
+ ],
224
218
  });
219
+ const initialTxs = initialTxDrafts.map(spl_utils_1.toVersionedTx);
225
220
  // @ts-ignore
226
221
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
227
222
  let serTxs = initialTxs.map((tx) => {
228
- return tx.serialize({
229
- requireAllSignatures: false,
230
- verifySignatures: false,
231
- });
223
+ return tx.serialize();
232
224
  });
233
225
  if (!skipOracleSign) {
234
226
  for (const oracle of oracleUrls) {
235
227
  const res = yield axios_1.default.post(`${oracle}/bulk-sign`, {
236
- transactions: serTxs.map((tx) => tx.toJSON().data),
228
+ transactions: serTxs.map((tx) => Buffer.from(tx).toJSON().data),
237
229
  });
238
230
  serTxs = res.data.transactions.map((x) => Buffer.from(x));
239
231
  }
240
232
  }
241
- const finalTxs = serTxs.map((tx) => web3_js_1.Transaction.from(tx));
233
+ const finalTxs = serTxs.map((tx) => web3_js_1.VersionedTransaction.deserialize(tx));
242
234
  // Check instructions are the same
243
235
  finalTxs.forEach((finalTx, idx) => {
244
- assertSameIxns(finalTx.instructions, initialTxs[idx].instructions);
236
+ var _a;
237
+ assertSameTx(finalTx, initialTxs[idx], (_a = initialTxDrafts[0]) === null || _a === void 0 ? void 0 : _a.addressLookupTables);
245
238
  });
246
239
  return finalTxs;
247
240
  });
@@ -266,9 +259,10 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
266
259
  const recipient = (0, lazy_distributor_sdk_1.recipientKey)(lazyDistributor, asset)[0];
267
260
  const lazyDistributorAcc = (yield lazyDistributorProgram.account.lazyDistributorV0.fetch(lazyDistributor));
268
261
  const rewardsMint = lazyDistributorAcc.rewardsMint;
269
- let tx = new web3_js_1.Transaction();
270
262
  const destinationAccount = yield (0, spl_token_1.getAssociatedTokenAddress)(rewardsMint, assetAcc.ownership.owner, true);
271
- if (!(yield provider.connection.getAccountInfo(recipient))) {
263
+ const instructions = [];
264
+ const recipientExists = yield provider.connection.getAccountInfo(recipient);
265
+ if (!recipientExists) {
272
266
  let initRecipientIx;
273
267
  if (assetAcc.compression.compressed) {
274
268
  initRecipientIx = yield (yield (0, lazy_distributor_sdk_1.initializeCompressionRecipient)({
@@ -291,7 +285,7 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
291
285
  })
292
286
  .instruction();
293
287
  }
294
- tx.add(initRecipientIx);
288
+ instructions.push(initRecipientIx);
295
289
  }
296
290
  const ixPromises = rewards.map((x, idx) => {
297
291
  return rewardsOracleProgram.methods
@@ -308,14 +302,12 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
308
302
  .instruction();
309
303
  });
310
304
  const ixs = yield Promise.all(ixPromises);
311
- tx.add(...(yield (0, spl_utils_1.withPriorityFees)({
305
+ instructions.push(...(yield (0, spl_utils_1.withPriorityFees)({
312
306
  connection: provider.connection,
313
- computeUnits: 300000,
307
+ computeUnits: recipientExists ? RECIPIENT_EXISTS_CU : MISSING_RECIPIENT_CU,
314
308
  instructions: ixs,
315
309
  basePriorityFee,
316
310
  })));
317
- tx.recentBlockhash = (yield provider.connection.getLatestBlockhash()).blockhash;
318
- tx.feePayer = payer ? payer : provider.wallet.publicKey;
319
311
  if (assetAcc.compression.compressed) {
320
312
  const distributeIx = yield (yield (0, lazy_distributor_sdk_1.distributeCompressionRewards)({
321
313
  program: lazyDistributorProgram,
@@ -326,7 +318,7 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
326
318
  assetEndpoint,
327
319
  payer,
328
320
  })).instruction();
329
- tx.add(distributeIx);
321
+ instructions.push(distributeIx);
330
322
  }
331
323
  else {
332
324
  const distributeIx = yield lazyDistributorProgram.methods
@@ -343,14 +335,15 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
343
335
  },
344
336
  })
345
337
  .instruction();
346
- tx.add(distributeIx);
338
+ instructions.push(distributeIx);
347
339
  }
340
+ const tx = (0, spl_utils_1.toVersionedTx)(yield (0, spl_utils_1.populateMissingDraftInfo)(provider.connection, {
341
+ instructions,
342
+ feePayer: payer ? payer : provider.wallet.publicKey,
343
+ }));
348
344
  // @ts-ignore
349
345
  const oracleUrls = lazyDistributorAcc.oracles.map((x) => x.url);
350
- let serTx = tx.serialize({
351
- requireAllSignatures: false,
352
- verifySignatures: false,
353
- });
346
+ let serTx = tx.serialize();
354
347
  if (!skipOracleSign) {
355
348
  for (const oracle of oracleUrls) {
356
349
  const res = yield axios_1.default.post(`${oracle}`, {
@@ -359,34 +352,53 @@ function formTransaction({ program: lazyDistributorProgram, rewardsOracleProgram
359
352
  serTx = Buffer.from(res.data.transaction);
360
353
  }
361
354
  }
362
- const finalTx = web3_js_1.Transaction.from(serTx);
355
+ const finalTx = web3_js_1.VersionedTransaction.deserialize(serTx);
363
356
  // Ensure the oracle didn't pull a fast one
364
- assertSameIxns(finalTx.instructions, tx.instructions);
357
+ assertSameTx(finalTx, tx);
365
358
  return finalTx;
366
359
  });
367
360
  }
368
361
  exports.formTransaction = formTransaction;
369
- function assertSameIxns(instructions, instructions1) {
370
- if (instructions.length !== instructions1.length) {
362
+ function assertSameTx(tx, tx1, luts = []) {
363
+ if (tx.message.compiledInstructions.length !== tx1.message.compiledInstructions.length) {
371
364
  throw new Error("Extra instructions added by oracle");
372
365
  }
373
- instructions.forEach((instruction, idx) => {
374
- const instruction1 = instructions1[idx];
375
- if (instruction.programId.toBase58() !== instruction1.programId.toBase58()) {
366
+ tx.message.compiledInstructions.forEach((instruction, idx) => {
367
+ const instruction1 = tx1.message.compiledInstructions[idx];
368
+ if (instruction.programIdIndex !== instruction1.programIdIndex) {
376
369
  throw new Error("Program id mismatch");
377
370
  }
378
- if (!instruction.data.equals(instruction1.data)) {
371
+ if (!Buffer.from(instruction.data).equals(Buffer.from(instruction1.data))) {
379
372
  throw new Error("Instruction data mismatch");
380
373
  }
381
- if (instruction.keys.length !== instruction1.keys.length) {
374
+ if (instruction.accountKeyIndexes.length !== instruction1.accountKeyIndexes.length) {
382
375
  throw new Error("Key length mismatch");
383
376
  }
384
- instruction.keys.forEach((key, idx) => {
385
- const key1 = instruction1.keys[idx];
386
- if (key.pubkey.toBase58() !== key1.pubkey.toBase58()) {
377
+ instruction.accountKeyIndexes.forEach((key, idx) => {
378
+ const key1 = instruction1.accountKeyIndexes[idx];
379
+ if (key !== key1) {
387
380
  throw new Error("Key mismatch");
388
381
  }
389
382
  });
390
383
  });
384
+ const keys = tx.message
385
+ .getAccountKeys({ addressLookupTableAccounts: luts })
386
+ .keySegments()
387
+ .reduce((acc, cur) => acc.concat(cur), []);
388
+ const keys1 = tx1.message
389
+ .getAccountKeys({
390
+ addressLookupTableAccounts: luts,
391
+ })
392
+ .keySegments()
393
+ .reduce((acc, cur) => acc.concat(cur), []);
394
+ ;
395
+ if (keys1.length !== keys.length) {
396
+ throw new Error("Account keys do not match");
397
+ }
398
+ for (let i = 0; i < keys.length; i++) {
399
+ if (!keys[i].equals(keys1[i])) {
400
+ throw new Error("Account key mismatch");
401
+ }
402
+ }
391
403
  }
392
404
  //# sourceMappingURL=client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
package/lib/cjs/server.js CHANGED
@@ -240,7 +240,15 @@ class OracleServer {
240
240
  signTransaction(data) {
241
241
  var _a;
242
242
  return __awaiter(this, void 0, void 0, function* () {
243
- const tx = web3_js_1.Transaction.from(data);
243
+ const conn = this.ldProgram.provider.connection;
244
+ const tx = web3_js_1.VersionedTransaction.deserialize(new Uint8Array(data));
245
+ const LUTs = (yield Promise.all(tx.message.addressTableLookups.map((acc) => conn.getAddressLookupTable(acc.accountKey))))
246
+ .map((lut) => lut.value)
247
+ .filter((val) => val !== null);
248
+ const allAccs = tx.message
249
+ .getAccountKeys({ addressLookupTableAccounts: LUTs })
250
+ .keySegments()
251
+ .reduce((acc, cur) => acc.concat(cur), []);
244
252
  // validate only interacts with LD and RO programs and only calls setCurrentRewards, distributeRewards
245
253
  const setRewardIxs = [];
246
254
  let recipientToLazyDistToMint = {};
@@ -252,22 +260,24 @@ class OracleServer {
252
260
  const merkleTreeIdxInitCompressionRecipient = initCompressionRecipientTx.accounts.findIndex((x) => x.name === "merkleTree");
253
261
  const recipientIdxInitRecipient = initRecipientTx.accounts.findIndex((x) => x.name === "recipient");
254
262
  const recipientIdxInitCompressionRecipient = initCompressionRecipientTx.accounts.findIndex((x) => x.name === "recipient");
255
- for (const ix of tx.instructions) {
256
- if (ix.programId.equals(web3_js_1.ComputeBudgetProgram.programId)) {
263
+ for (const ix of tx.message.compiledInstructions) {
264
+ const programId = allAccs[ix.programIdIndex];
265
+ if (programId.equals(web3_js_1.ComputeBudgetProgram.programId)) {
257
266
  continue;
258
267
  }
259
- if (!(ix.programId.equals(lazy_distributor_sdk_1.PROGRAM_ID) || ix.programId.equals(rewards_oracle_sdk_1.PROGRAM_ID))) {
268
+ if (!(programId.equals(lazy_distributor_sdk_1.PROGRAM_ID) || programId.equals(rewards_oracle_sdk_1.PROGRAM_ID))) {
260
269
  return {
261
270
  success: false,
262
271
  message: "Invalid instructions in transaction",
263
272
  };
264
273
  }
274
+ const data = Buffer.from(ix.data);
265
275
  let decoded;
266
- if (ix.programId.equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
267
- decoded = this.ldProgram.coder.instruction.decode(ix.data);
276
+ if (programId.equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
277
+ decoded = this.ldProgram.coder.instruction.decode(data);
268
278
  }
269
279
  else {
270
- decoded = this.roProgram.coder.instruction.decode(ix.data);
280
+ decoded = this.roProgram.coder.instruction.decode(data);
271
281
  }
272
282
  if (!decoded ||
273
283
  (decoded.name !== "setCurrentRewardsV0" &&
@@ -289,18 +299,18 @@ class OracleServer {
289
299
  setRewardIxs.push(ix);
290
300
  // Since recipient wont exist to fetch to get the mint id, grab it from the init recipient ix
291
301
  if (decoded.name === "initializeRecipientV0") {
292
- const recipient = ix.keys[recipientIdxInitRecipient].pubkey.toBase58();
302
+ const recipient = allAccs[ix.accountKeyIndexes[recipientIdxInitRecipient]].toBase58();
293
303
  recipientToLazyDistToMint[recipient] || (recipientToLazyDistToMint[recipient] = {});
294
- const lazyDist = ix.keys[lazyDistributorIdxInitRecipient].pubkey.toBase58();
304
+ const lazyDist = allAccs[ix.accountKeyIndexes[lazyDistributorIdxInitRecipient]].toBase58();
295
305
  recipientToLazyDistToMint[recipient][lazyDist] =
296
- ix.keys[mintIdx].pubkey;
306
+ allAccs[ix.accountKeyIndexes[mintIdx]];
297
307
  }
298
308
  // Since recipient wont exist to fetch to get the asset id, grab it from the init recipient ix
299
309
  if (decoded.name === "initializeCompressionRecipientV0") {
300
- const recipient = ix.keys[recipientIdxInitCompressionRecipient].pubkey.toBase58();
310
+ const recipient = allAccs[ix.accountKeyIndexes[recipientIdxInitCompressionRecipient]].toBase58();
301
311
  recipientToLazyDistToMint[recipient] || (recipientToLazyDistToMint[recipient] = {});
302
- const lazyDist = ix.keys[lazyDistributorIdxInitCompressionRecipient].pubkey.toBase58();
303
- const merkleTree = ix.keys[merkleTreeIdxInitCompressionRecipient].pubkey;
312
+ const lazyDist = allAccs[ix.accountKeyIndexes[lazyDistributorIdxInitCompressionRecipient]].toBase58();
313
+ const merkleTree = allAccs[ix.accountKeyIndexes[merkleTreeIdxInitCompressionRecipient]];
304
314
  const index = decoded.data.args.index;
305
315
  recipientToLazyDistToMint[recipient][lazyDist] = yield (0, mpl_bubblegum_1.getLeafAssetId)(merkleTree, new anchor_1.BN(index));
306
316
  }
@@ -321,12 +331,12 @@ class OracleServer {
321
331
  let recipient, lazyDist, proposedCurrentRewards;
322
332
  let entityKey;
323
333
  let keyToAssetK = undefined;
324
- if (ix.keys[wrapperOracleKeyIdx].pubkey.equals(this.oracle.publicKey) &&
325
- ix.programId.equals(rewards_oracle_sdk_1.PROGRAM_ID)) {
326
- let decoded = this.roProgram.coder.instruction.decode(ix.data);
327
- recipient = ix.keys[wrapperRecipientIdx].pubkey;
328
- lazyDist = ix.keys[wrapperLazyDistIdx].pubkey;
329
- keyToAssetK = ix.keys[wrapperKeyToAssetIdx].pubkey;
334
+ if (allAccs[ix.accountKeyIndexes[wrapperOracleKeyIdx]].equals(this.oracle.publicKey) &&
335
+ allAccs[ix.programIdIndex].equals(rewards_oracle_sdk_1.PROGRAM_ID)) {
336
+ let decoded = this.roProgram.coder.instruction.decode(Buffer.from(ix.data));
337
+ recipient = allAccs[ix.accountKeyIndexes[wrapperRecipientIdx]];
338
+ lazyDist = allAccs[ix.accountKeyIndexes[wrapperLazyDistIdx]];
339
+ keyToAssetK = allAccs[ix.accountKeyIndexes[wrapperKeyToAssetIdx]];
330
340
  //@ts-ignore
331
341
  proposedCurrentRewards = decoded.data.args.currentRewards;
332
342
  entityKey = (yield this.hemProgram.account.keyToAssetV0.fetch(keyToAssetK)).entityKey;
@@ -338,11 +348,11 @@ class OracleServer {
338
348
  };
339
349
  }
340
350
  }
341
- else if (ix.keys[oracleKeyIdx].pubkey.equals(this.oracle.publicKey) &&
342
- ix.programId.equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
343
- let decoded = this.ldProgram.coder.instruction.decode(ix.data);
344
- recipient = ix.keys[recipientIdx].pubkey;
345
- lazyDist = ix.keys[lazyDistIdx].pubkey;
351
+ else if (allAccs[ix.accountKeyIndexes[oracleKeyIdx]].equals(this.oracle.publicKey) &&
352
+ allAccs[ix.programIdIndex].equals(lazy_distributor_sdk_1.PROGRAM_ID)) {
353
+ let decoded = this.ldProgram.coder.instruction.decode(Buffer.from(ix.data));
354
+ recipient = allAccs[ix.accountKeyIndexes[recipientIdx]];
355
+ lazyDist = allAccs[ix.accountKeyIndexes[lazyDistIdx]];
346
356
  //@ts-ignore
347
357
  proposedCurrentRewards = decoded.data.args.currentRewards;
348
358
  }
@@ -375,18 +385,24 @@ class OracleServer {
375
385
  }
376
386
  }
377
387
  // validate that this oracle is not the fee payer
378
- if ((_a = tx.feePayer) === null || _a === void 0 ? void 0 : _a.equals(this.oracle.publicKey)) {
388
+ if ((_a = allAccs[0]) === null || _a === void 0 ? void 0 : _a.equals(this.oracle.publicKey)) {
379
389
  return {
380
390
  success: false,
381
391
  message: "Cannot set this oracle as the fee payer",
382
392
  };
383
393
  }
384
- tx.partialSign(this.oracle);
385
- const serialized = tx.serialize({
386
- requireAllSignatures: false,
387
- verifySignatures: false,
388
- });
389
- return { success: true, transaction: serialized };
394
+ try {
395
+ // It's valid to send txs that don't actually need to be signed by us. Happens sometimes with
396
+ // tx packing.
397
+ tx.sign([this.oracle]);
398
+ }
399
+ catch (e) {
400
+ if (!e.message.toString().includes("Cannot sign with non signer key")) {
401
+ throw e;
402
+ }
403
+ }
404
+ const serialized = tx.serialize();
405
+ return { success: true, transaction: Buffer.from(serialized) };
390
406
  });
391
407
  }
392
408
  signBulkTransactionsHandler(req, res) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}