@streamflow/common 8.0.0-alpha.p287.84ff30f → 8.0.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.
@@ -4,7 +4,6 @@ var splToken = require('@solana/spl-token');
4
4
  var web3_js = require('@solana/web3.js');
5
5
  var bs58 = require('bs58');
6
6
  require('bn.js');
7
- var buffer = require('buffer');
8
7
 
9
8
  function _interopDefault (e) { return e && e.__esModule ? e : { default: e }; }
10
9
 
@@ -58,12 +57,12 @@ var __privateWrapper = (obj, member, setter, getter) => ({
58
57
  var require_eventemitter3 = __commonJS({
59
58
  "../../node_modules/.pnpm/eventemitter3@5.0.1/node_modules/eventemitter3/index.js"(exports, module) {
60
59
  var has = Object.prototype.hasOwnProperty;
61
- var prefix2 = "~";
60
+ var prefix = "~";
62
61
  function Events() {
63
62
  }
64
63
  if (Object.create) {
65
64
  Events.prototype = /* @__PURE__ */ Object.create(null);
66
- if (!new Events().__proto__) prefix2 = false;
65
+ if (!new Events().__proto__) prefix = false;
67
66
  }
68
67
  function EE(fn, context, once) {
69
68
  this.fn = fn;
@@ -74,7 +73,7 @@ var require_eventemitter3 = __commonJS({
74
73
  if (typeof fn !== "function") {
75
74
  throw new TypeError("The listener must be a function");
76
75
  }
77
- var listener = new EE(fn, context || emitter, once), evt = prefix2 ? prefix2 + event : event;
76
+ var listener = new EE(fn, context || emitter, once), evt = prefix ? prefix + event : event;
78
77
  if (!emitter._events[evt]) emitter._events[evt] = listener, emitter._eventsCount++;
79
78
  else if (!emitter._events[evt].fn) emitter._events[evt].push(listener);
80
79
  else emitter._events[evt] = [emitter._events[evt], listener];
@@ -92,7 +91,7 @@ var require_eventemitter3 = __commonJS({
92
91
  var names = [], events, name;
93
92
  if (this._eventsCount === 0) return names;
94
93
  for (name in events = this._events) {
95
- if (has.call(events, name)) names.push(prefix2 ? name.slice(1) : name);
94
+ if (has.call(events, name)) names.push(prefix ? name.slice(1) : name);
96
95
  }
97
96
  if (Object.getOwnPropertySymbols) {
98
97
  return names.concat(Object.getOwnPropertySymbols(events));
@@ -100,7 +99,7 @@ var require_eventemitter3 = __commonJS({
100
99
  return names;
101
100
  };
102
101
  EventEmitter2.prototype.listeners = function listeners(event) {
103
- var evt = prefix2 ? prefix2 + event : event, handlers = this._events[evt];
102
+ var evt = prefix ? prefix + event : event, handlers = this._events[evt];
104
103
  if (!handlers) return [];
105
104
  if (handlers.fn) return [handlers.fn];
106
105
  for (var i = 0, l = handlers.length, ee = new Array(l); i < l; i++) {
@@ -109,13 +108,13 @@ var require_eventemitter3 = __commonJS({
109
108
  return ee;
110
109
  };
111
110
  EventEmitter2.prototype.listenerCount = function listenerCount(event) {
112
- var evt = prefix2 ? prefix2 + event : event, listeners = this._events[evt];
111
+ var evt = prefix ? prefix + event : event, listeners = this._events[evt];
113
112
  if (!listeners) return 0;
114
113
  if (listeners.fn) return 1;
115
114
  return listeners.length;
116
115
  };
117
116
  EventEmitter2.prototype.emit = function emit(event, a1, a2, a3, a4, a5) {
118
- var evt = prefix2 ? prefix2 + event : event;
117
+ var evt = prefix ? prefix + event : event;
119
118
  if (!this._events[evt]) return false;
120
119
  var listeners = this._events[evt], len = arguments.length, args, i;
121
120
  if (listeners.fn) {
@@ -172,7 +171,7 @@ var require_eventemitter3 = __commonJS({
172
171
  return addListener(this, event, fn, context, true);
173
172
  };
174
173
  EventEmitter2.prototype.removeListener = function removeListener(event, fn, context, once) {
175
- var evt = prefix2 ? prefix2 + event : event;
174
+ var evt = prefix ? prefix + event : event;
176
175
  if (!this._events[evt]) return this;
177
176
  if (!fn) {
178
177
  clearEvent(this, evt);
@@ -197,7 +196,7 @@ var require_eventemitter3 = __commonJS({
197
196
  EventEmitter2.prototype.removeAllListeners = function removeAllListeners(event) {
198
197
  var evt;
199
198
  if (event) {
200
- evt = prefix2 ? prefix2 + event : event;
199
+ evt = prefix ? prefix + event : event;
201
200
  if (this._events[evt]) clearEvent(this, evt);
202
201
  } else {
203
202
  this._events = new Events();
@@ -207,7 +206,7 @@ var require_eventemitter3 = __commonJS({
207
206
  };
208
207
  EventEmitter2.prototype.off = EventEmitter2.prototype.removeListener;
209
208
  EventEmitter2.prototype.addListener = EventEmitter2.prototype.on;
210
- EventEmitter2.prefixed = prefix2;
209
+ EventEmitter2.prefixed = prefix;
211
210
  EventEmitter2.EventEmitter = EventEmitter2;
212
211
  if ("undefined" !== typeof module) {
213
212
  module.exports = EventEmitter2;
@@ -712,17 +711,6 @@ function sleep(ms) {
712
711
  return new Promise((resolve) => setTimeout(resolve, ms));
713
712
  }
714
713
 
715
- // lib/assertions.ts
716
- var prefix = "Assertion failed";
717
- var invariant = (condition, message) => {
718
- if (condition) {
719
- return;
720
- }
721
- const provided = typeof message === "function" ? message() : message;
722
- const value = provided ? `${prefix}: ${provided}` : prefix;
723
- throw new Error(value);
724
- };
725
-
726
714
  // solana/utils.ts
727
715
  var SIMULATE_TRIES = 3;
728
716
  var buildSendThrottler = (sendRate, sendInterval = 1e3) => {
@@ -750,30 +738,20 @@ function isSignerKeypair(walletOrKeypair) {
750
738
  function isTransactionVersioned(tx) {
751
739
  return "message" in tx;
752
740
  }
753
- async function prepareTransaction(connection, ixs, payer, commitment, partialSigners) {
741
+ async function prepareTransaction(connection, ixs, payer, commitment, ...partialSigners) {
754
742
  if (!payer) {
755
743
  throw new Error("Payer public key is not provided!");
756
744
  }
757
745
  const { value: hash, context } = await connection.getLatestBlockhashAndContext(commitment);
758
- return {
759
- tx: createVersionedTransaction(ixs, payer, hash.blockhash, partialSigners),
760
- hash,
761
- context
762
- };
763
- }
764
- function createVersionedTransaction(ixs, payer, recentBlockhash, partialSigners) {
765
- invariant(payer, "Payer public key is not provided!");
766
746
  const messageV0 = new web3_js.TransactionMessage({
767
747
  payerKey: payer,
768
- recentBlockhash,
748
+ recentBlockhash: hash.blockhash,
769
749
  instructions: ixs
770
750
  }).compileToV0Message();
771
751
  const tx = new web3_js.VersionedTransaction(messageV0);
772
- const signers = partialSigners?.filter((item) => !!item) ?? void 0;
773
- if (signers) {
774
- tx.sign(signers);
775
- }
776
- return tx;
752
+ const signers = partialSigners.filter((item) => !!item);
753
+ tx.sign(signers);
754
+ return { tx, context, hash };
777
755
  }
778
756
  async function signTransaction(invoker, tx) {
779
757
  let signedTx;
@@ -965,7 +943,13 @@ async function generateCreateAtaBatchTx(connection, payer, paramsBatch, commitme
965
943
  })
966
944
  );
967
945
  const { value: hash, context } = await connection.getLatestBlockhashAndContext({ commitment });
968
- return { tx: createVersionedTransaction(ixs, payer, hash.blockhash), hash, context };
946
+ const messageV0 = new web3_js.TransactionMessage({
947
+ payerKey: payer,
948
+ recentBlockhash: hash.blockhash,
949
+ instructions: ixs
950
+ }).compileToV0Message();
951
+ const tx = new web3_js.VersionedTransaction(messageV0);
952
+ return { tx, hash, context };
969
953
  }
970
954
  async function createAtaBatch(connection, invoker, paramsBatch, commitment, rate) {
971
955
  const { tx, hash, context } = await generateCreateAtaBatchTx(
@@ -995,7 +979,7 @@ async function checkOrCreateAtaBatch(connection, owners, mint, invoker, programI
995
979
  }
996
980
  function prepareBaseInstructions(connection, { computePrice, computeLimit }) {
997
981
  const ixs = [];
998
- if (computePrice && typeof computePrice === "number") {
982
+ if (computePrice) {
999
983
  ixs.push(web3_js.ComputeBudgetProgram.setComputeUnitPrice({ microLamports: computePrice }));
1000
984
  }
1001
985
  if (computeLimit) {
@@ -1025,80 +1009,14 @@ async function getMultipleAccountsInfoBatched(connection, pubKeys, commitment) {
1025
1009
  return results.flat();
1026
1010
  }
1027
1011
 
1028
- // solana/lib/estimate.ts
1029
- async function estimateComputeUnitPrice(estimate, ixs, payer, recentBlockhash, partialSigners) {
1030
- const tx = createVersionedTransaction(
1031
- ixs,
1032
- payer,
1033
- recentBlockhash ?? "11111111111111111111111111111111",
1034
- partialSigners
1035
- );
1036
- return estimate(Buffer.from(tx.serialize()).toString("base64"));
1037
- }
1038
- async function createAndEstimateTransaction(createFn, extParams, select) {
1039
- select = select ?? ((value) => value);
1040
- const createResult = await createFn(extParams);
1041
- const prepareIxs = select(createResult);
1042
- const priorityFee = extParams.computePrice;
1043
- if (priorityFee === void 0 || typeof priorityFee === "number") {
1044
- return createResult;
1045
- }
1046
- const invoker = extParams.invoker.publicKey;
1047
- invariant(invoker, "Invoker's PublicKey is not available, check passed wallet adapter!");
1048
- const estimatedComputeUnitPrice = typeof priorityFee === "function" ? await estimateComputeUnitPrice(priorityFee, prepareIxs, pk(invoker)) : (
1049
- // unachievable because we don't execute estimation for constant or undefined priority fee
1050
- priorityFee
1051
- );
1052
- return createFn({
1053
- ...extParams,
1054
- computePrice: estimatedComputeUnitPrice
1055
- });
1056
- }
1057
- function deserializeRawTransaction(serializedTx) {
1058
- const txBuffer = buffer.Buffer.from(serializedTx, "base64");
1059
- try {
1060
- const tx = web3_js.Transaction.from(txBuffer);
1061
- const message = tx.compileMessage();
1062
- const accounts = message.accountKeys;
1063
- const writableAccounts = accounts.filter((_, idx) => message.isAccountWritable(idx));
1064
- return {
1065
- type: "legacy",
1066
- transaction: tx,
1067
- accounts,
1068
- writableAccounts
1069
- };
1070
- } catch (error) {
1071
- try {
1072
- const vtx = web3_js.VersionedTransaction.deserialize(txBuffer);
1073
- const message = vtx.message;
1074
- const accounts = "staticAccountKeys" in message ? message.staticAccountKeys : message.accountKeys;
1075
- const writableAccounts = accounts.filter((_, idx) => message.isAccountWritable(idx));
1076
- return {
1077
- type: "versioned",
1078
- transaction: vtx,
1079
- accounts,
1080
- writableAccounts
1081
- };
1082
- } catch (vError) {
1083
- throw new Error("Failed to deserialize transaction: " + (vError instanceof Error ? vError.message : vError), {
1084
- cause: vError
1085
- });
1086
- }
1087
- }
1088
- }
1089
-
1090
1012
  exports.TransactionFailedError = TransactionFailedError;
1091
1013
  exports.ata = ata;
1092
1014
  exports.ataBatchExist = ataBatchExist;
1093
1015
  exports.buildSendThrottler = buildSendThrottler;
1094
1016
  exports.checkOrCreateAtaBatch = checkOrCreateAtaBatch;
1095
1017
  exports.confirmAndEnsureTransaction = confirmAndEnsureTransaction;
1096
- exports.createAndEstimateTransaction = createAndEstimateTransaction;
1097
1018
  exports.createAtaBatch = createAtaBatch;
1098
- exports.createVersionedTransaction = createVersionedTransaction;
1099
- exports.deserializeRawTransaction = deserializeRawTransaction;
1100
1019
  exports.enrichAtaParams = enrichAtaParams;
1101
- exports.estimateComputeUnitPrice = estimateComputeUnitPrice;
1102
1020
  exports.executeMultipleTransactions = executeMultipleTransactions;
1103
1021
  exports.executeTransaction = executeTransaction;
1104
1022
  exports.generateCreateAtaBatchTx = generateCreateAtaBatchTx;