@hawksightco/hawk-sdk 1.3.263 → 1.3.265

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 (181) hide show
  1. package/package.json +1 -1
  2. package/dist/src/addresses.d.ts +0 -37
  3. package/dist/src/addresses.d.ts.map +0 -1
  4. package/dist/src/addresses.js +0 -84
  5. package/dist/src/anchor.d.ts +0 -22
  6. package/dist/src/anchor.d.ts.map +0 -1
  7. package/dist/src/anchor.js +0 -121
  8. package/dist/src/classes/AltStorage.d.ts +0 -29
  9. package/dist/src/classes/AltStorage.d.ts.map +0 -1
  10. package/dist/src/classes/AltStorage.js +0 -58
  11. package/dist/src/classes/Atomicity.d.ts +0 -34
  12. package/dist/src/classes/Atomicity.d.ts.map +0 -1
  13. package/dist/src/classes/Atomicity.js +0 -110
  14. package/dist/src/classes/Client.d.ts +0 -35
  15. package/dist/src/classes/Client.d.ts.map +0 -1
  16. package/dist/src/classes/Client.js +0 -66
  17. package/dist/src/classes/CombineTransactions.d.ts +0 -11
  18. package/dist/src/classes/CombineTransactions.d.ts.map +0 -1
  19. package/dist/src/classes/CombineTransactions.js +0 -58
  20. package/dist/src/classes/CreateTxMetadata.d.ts +0 -100
  21. package/dist/src/classes/CreateTxMetadata.d.ts.map +0 -1
  22. package/dist/src/classes/CreateTxMetadata.js +0 -415
  23. package/dist/src/classes/General.d.ts +0 -87
  24. package/dist/src/classes/General.d.ts.map +0 -1
  25. package/dist/src/classes/General.js +0 -176
  26. package/dist/src/classes/GeneralUtility.d.ts +0 -79
  27. package/dist/src/classes/GeneralUtility.d.ts.map +0 -1
  28. package/dist/src/classes/GeneralUtility.js +0 -121
  29. package/dist/src/classes/HawkAPI.d.ts +0 -122
  30. package/dist/src/classes/HawkAPI.d.ts.map +0 -1
  31. package/dist/src/classes/HawkAPI.js +0 -169
  32. package/dist/src/classes/Health.d.ts +0 -29
  33. package/dist/src/classes/Health.d.ts.map +0 -1
  34. package/dist/src/classes/Health.js +0 -48
  35. package/dist/src/classes/JupiterAlts.d.ts +0 -37
  36. package/dist/src/classes/JupiterAlts.d.ts.map +0 -1
  37. package/dist/src/classes/JupiterAlts.js +0 -114
  38. package/dist/src/classes/JupiterSwap.d.ts +0 -21
  39. package/dist/src/classes/JupiterSwap.d.ts.map +0 -1
  40. package/dist/src/classes/JupiterSwap.js +0 -40
  41. package/dist/src/classes/Logging.d.ts +0 -13
  42. package/dist/src/classes/Logging.d.ts.map +0 -1
  43. package/dist/src/classes/Logging.js +0 -50
  44. package/dist/src/classes/MultiTransaction.d.ts +0 -75
  45. package/dist/src/classes/MultiTransaction.d.ts.map +0 -1
  46. package/dist/src/classes/MultiTransaction.js +0 -296
  47. package/dist/src/classes/RaydiumSDK.d.ts +0 -67
  48. package/dist/src/classes/RaydiumSDK.d.ts.map +0 -1
  49. package/dist/src/classes/RaydiumSDK.js +0 -206
  50. package/dist/src/classes/Search.d.ts +0 -100
  51. package/dist/src/classes/Search.d.ts.map +0 -1
  52. package/dist/src/classes/Search.js +0 -216
  53. package/dist/src/classes/SimpleIxGenerator.d.ts +0 -57
  54. package/dist/src/classes/SimpleIxGenerator.d.ts.map +0 -1
  55. package/dist/src/classes/SimpleIxGenerator.js +0 -62
  56. package/dist/src/classes/SimplePdaGenerator.d.ts +0 -28
  57. package/dist/src/classes/SimplePdaGenerator.d.ts.map +0 -1
  58. package/dist/src/classes/SimplePdaGenerator.js +0 -33
  59. package/dist/src/classes/Transaction.d.ts +0 -229
  60. package/dist/src/classes/Transaction.d.ts.map +0 -1
  61. package/dist/src/classes/Transaction.js +0 -643
  62. package/dist/src/classes/Transaction2.d.ts +0 -107
  63. package/dist/src/classes/Transaction2.d.ts.map +0 -1
  64. package/dist/src/classes/Transaction2.js +0 -249
  65. package/dist/src/classes/Transaction3.d.ts +0 -165
  66. package/dist/src/classes/Transaction3.d.ts.map +0 -1
  67. package/dist/src/classes/Transaction3.js +0 -416
  68. package/dist/src/classes/TransactionBatchExecute.d.ts +0 -163
  69. package/dist/src/classes/TransactionBatchExecute.d.ts.map +0 -1
  70. package/dist/src/classes/TransactionBatchExecute.js +0 -466
  71. package/dist/src/classes/TransactionBatchExecute2.d.ts +0 -99
  72. package/dist/src/classes/TransactionBatchExecute2.d.ts.map +0 -1
  73. package/dist/src/classes/TransactionBatchExecute2.js +0 -357
  74. package/dist/src/classes/Transactions.d.ts +0 -586
  75. package/dist/src/classes/Transactions.d.ts.map +0 -1
  76. package/dist/src/classes/Transactions.js +0 -7656
  77. package/dist/src/classes/TxGenerator.d.ts +0 -350
  78. package/dist/src/classes/TxGenerator.d.ts.map +0 -1
  79. package/dist/src/classes/TxGenerator.js +0 -1957
  80. package/dist/src/classes/TxGeneratorAutomations.d.ts +0 -186
  81. package/dist/src/classes/TxGeneratorAutomations.d.ts.map +0 -1
  82. package/dist/src/classes/TxGeneratorAutomations.js +0 -897
  83. package/dist/src/classes/Util.d.ts +0 -87
  84. package/dist/src/classes/Util.d.ts.map +0 -1
  85. package/dist/src/classes/Util.js +0 -148
  86. package/dist/src/classes/account-cache/AccountCache.d.ts +0 -54
  87. package/dist/src/classes/account-cache/AccountCache.d.ts.map +0 -1
  88. package/dist/src/classes/account-cache/AccountCache.js +0 -143
  89. package/dist/src/classes/account-cache/MintCache.d.ts +0 -33
  90. package/dist/src/classes/account-cache/MintCache.d.ts.map +0 -1
  91. package/dist/src/classes/account-cache/MintCache.js +0 -47
  92. package/dist/src/classes/account-cache/TokenCache.d.ts +0 -33
  93. package/dist/src/classes/account-cache/TokenCache.d.ts.map +0 -1
  94. package/dist/src/classes/account-cache/TokenCache.js +0 -47
  95. package/dist/src/errors.d.ts +0 -13
  96. package/dist/src/errors.d.ts.map +0 -1
  97. package/dist/src/errors.js +0 -96
  98. package/dist/src/functions.d.ts +0 -514
  99. package/dist/src/functions.d.ts.map +0 -1
  100. package/dist/src/functions.js +0 -1636
  101. package/dist/src/hawksight.d.ts +0 -53
  102. package/dist/src/hawksight.d.ts.map +0 -1
  103. package/dist/src/hawksight.js +0 -328
  104. package/dist/src/hsToMeteora.d.ts +0 -31
  105. package/dist/src/hsToMeteora.d.ts.map +0 -1
  106. package/dist/src/hsToMeteora.js +0 -3175
  107. package/dist/src/idl/iyf-extension-idl.d.ts +0 -14583
  108. package/dist/src/idl/iyf-extension-idl.d.ts.map +0 -1
  109. package/dist/src/idl/iyf-extension-idl.js +0 -14578
  110. package/dist/src/idl/iyf-extension-wrapper.d.ts +0 -112
  111. package/dist/src/idl/iyf-extension-wrapper.d.ts.map +0 -1
  112. package/dist/src/idl/iyf-extension-wrapper.js +0 -2
  113. package/dist/src/idl/iyf-main-idl.d.ts +0 -11329
  114. package/dist/src/idl/iyf-main-idl.d.ts.map +0 -1
  115. package/dist/src/idl/iyf-main-idl.js +0 -11324
  116. package/dist/src/idl/iyf-main-wrapper.d.ts +0 -112
  117. package/dist/src/idl/iyf-main-wrapper.d.ts.map +0 -1
  118. package/dist/src/idl/iyf-main-wrapper.js +0 -2
  119. package/dist/src/idl/jupiter-idl.d.ts +0 -3063
  120. package/dist/src/idl/jupiter-idl.d.ts.map +0 -1
  121. package/dist/src/idl/jupiter-idl.js +0 -3061
  122. package/dist/src/idl/meteora-idl.d.ts +0 -7371
  123. package/dist/src/idl/meteora-idl.d.ts.map +0 -1
  124. package/dist/src/idl/meteora-idl.js +0 -7372
  125. package/dist/src/idl/orca-idl.d.ts +0 -3833
  126. package/dist/src/idl/orca-idl.d.ts.map +0 -1
  127. package/dist/src/idl/orca-idl.js +0 -3834
  128. package/dist/src/idl/raydium-idl.d.ts +0 -3054
  129. package/dist/src/idl/raydium-idl.d.ts.map +0 -1
  130. package/dist/src/idl/raydium-idl.js +0 -3055
  131. package/dist/src/index.d.ts +0 -9
  132. package/dist/src/index.d.ts.map +0 -1
  133. package/dist/src/index.js +0 -31
  134. package/dist/src/ixGenerator/IyfExtensionIxGenerator.d.ts +0 -126
  135. package/dist/src/ixGenerator/IyfExtensionIxGenerator.d.ts.map +0 -1
  136. package/dist/src/ixGenerator/IyfExtensionIxGenerator.js +0 -467
  137. package/dist/src/ixGenerator/IyfMainIxGenerator.d.ts +0 -330
  138. package/dist/src/ixGenerator/IyfMainIxGenerator.d.ts.map +0 -1
  139. package/dist/src/ixGenerator/IyfMainIxGenerator.js +0 -1239
  140. package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts +0 -685
  141. package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.d.ts.map +0 -1
  142. package/dist/src/ixGenerator/MeteoraDlmmIxGenerator.js +0 -3005
  143. package/dist/src/ixGenerator/OrcaIxGenerator.d.ts +0 -119
  144. package/dist/src/ixGenerator/OrcaIxGenerator.d.ts.map +0 -1
  145. package/dist/src/ixGenerator/OrcaIxGenerator.js +0 -438
  146. package/dist/src/ixGenerator/RaydiumIxGenerator.d.ts +0 -99
  147. package/dist/src/ixGenerator/RaydiumIxGenerator.d.ts.map +0 -1
  148. package/dist/src/ixGenerator/RaydiumIxGenerator.js +0 -558
  149. package/dist/src/ixGenerator/UtilIxGenerator.d.ts +0 -20
  150. package/dist/src/ixGenerator/UtilIxGenerator.d.ts.map +0 -1
  151. package/dist/src/ixGenerator/UtilIxGenerator.js +0 -25
  152. package/dist/src/meteora/index.d.ts +0 -2
  153. package/dist/src/meteora/index.d.ts.map +0 -1
  154. package/dist/src/meteora/index.js +0 -17
  155. package/dist/src/meteora/liquidityStrategy.d.ts +0 -408
  156. package/dist/src/meteora/liquidityStrategy.d.ts.map +0 -1
  157. package/dist/src/meteora/liquidityStrategy.js +0 -1325
  158. package/dist/src/meteora.d.ts +0 -669
  159. package/dist/src/meteora.d.ts.map +0 -1
  160. package/dist/src/meteora.js +0 -1932
  161. package/dist/src/orca.d.ts +0 -57
  162. package/dist/src/orca.d.ts.map +0 -1
  163. package/dist/src/orca.js +0 -123
  164. package/dist/src/pdaGenerator/HawksightPdaGenerator.d.ts +0 -29
  165. package/dist/src/pdaGenerator/HawksightPdaGenerator.d.ts.map +0 -1
  166. package/dist/src/pdaGenerator/HawksightPdaGenerator.js +0 -75
  167. package/dist/src/pdaGenerator/MeteoraPdaGenerator.d.ts +0 -76
  168. package/dist/src/pdaGenerator/MeteoraPdaGenerator.d.ts.map +0 -1
  169. package/dist/src/pdaGenerator/MeteoraPdaGenerator.js +0 -166
  170. package/dist/src/pdaGenerator/OrcaPdaGenerator.d.ts +0 -23
  171. package/dist/src/pdaGenerator/OrcaPdaGenerator.d.ts.map +0 -1
  172. package/dist/src/pdaGenerator/OrcaPdaGenerator.js +0 -68
  173. package/dist/src/pdaGenerator/RaydiumPdaGenerator.d.ts +0 -49
  174. package/dist/src/pdaGenerator/RaydiumPdaGenerator.d.ts.map +0 -1
  175. package/dist/src/pdaGenerator/RaydiumPdaGenerator.js +0 -114
  176. package/dist/src/pdaGenerator/UtilPdaGenerator.d.ts +0 -8
  177. package/dist/src/pdaGenerator/UtilPdaGenerator.d.ts.map +0 -1
  178. package/dist/src/pdaGenerator/UtilPdaGenerator.js +0 -51
  179. package/dist/src/types.d.ts +0 -1100
  180. package/dist/src/types.d.ts.map +0 -1
  181. package/dist/src/types.js +0 -95
@@ -1,107 +0,0 @@
1
- import * as client from "@hawksightco/swagger-client";
2
- import * as web3 from "@solana/web3.js";
3
- import { GeneralUtility } from "./GeneralUtility";
4
- import { Transaction3, TransactionMetadataResponse } from "./Transaction3";
5
- export declare const DummyTransactionMetadataResponse: TransactionMetadataResponse;
6
- /**
7
- * Represents a transaction object in Solana using the web3.js library.
8
- * This class encapsulates the logic for creating, signing, and verifying signatures of transactions.
9
- */
10
- export declare class Transaction2 extends Transaction3 {
11
- readonly txMetadataResponse: TransactionMetadataResponse;
12
- readonly payerKey: web3.PublicKey;
13
- protected latestBlockhash: {
14
- blockhash: string;
15
- lastValidBlockHeight: number;
16
- };
17
- readonly alts: web3.AddressLookupTableAccount[];
18
- protected generalUtility: GeneralUtility;
19
- /**
20
- * Whether transaction has nonce advance instruction
21
- */
22
- readonly hasNonceAdvanceIx: boolean;
23
- /**
24
- * Fee estimate that can be overwritten
25
- */
26
- feeEstimate: number;
27
- /**
28
- * Constructs a new Transaction object.
29
- *
30
- * @param payerKey PublicKey of the transaction payer
31
- * @param instructions Array of TransactionInstruction to be executed in this transaction
32
- * @param recentBlockhash The blockhash of a recent ledger entry
33
- * @param alts Address lookup tables that optimize account address storage
34
- */
35
- private constructor();
36
- static new(payerKey: web3.PublicKey, alts: web3.AddressLookupTableAccount[], generalUtility: GeneralUtility, _mainIxs?: web3.TransactionInstruction[], latestBlockhash?: {
37
- blockhash: string;
38
- lastValidBlockHeight: number;
39
- }): Transaction2;
40
- /**
41
- * Generate nonde advance instruction (dummy instruction)
42
- */
43
- private nonceAdvanceIx;
44
- /**
45
- * Get nonce index
46
- *
47
- * @returns
48
- */
49
- private getNonceIndex;
50
- /**
51
- * Signs the transaction with provided signers.
52
- *
53
- * @param signers Array of Signer objects whose private keys will be used to sign the transaction.
54
- * @param idempotent Boolean indicating whether signing should be idempotent (default is false).
55
- * @throws Error if a signer is not required or has already signed the transaction when not idempotent.
56
- */
57
- sign(signers: web3.Signer[], idempotent?: boolean): void;
58
- /**
59
- * Add a signature on the transaction with provided signature.
60
- *
61
- * @param publicKey The public key of the signer
62
- * @param signature A signature of the signed transaction
63
- * @throws Error if a signer is not required or has already signed the transaction.
64
- */
65
- addSignature(publicKey: web3.PublicKey, signature: Uint8Array): void;
66
- /**
67
- * Checks if all required signers have signed the transaction.
68
- *
69
- * @returns Boolean indicating whether all required signers have signed.
70
- */
71
- isSignedByRequiredSigners(): boolean;
72
- /**
73
- * Add priority fee instructions (compute budget) with a fixed priority fee.
74
- *
75
- * This method adds priority fee instructions to the transaction based on a fixed priority fee.
76
- *
77
- * @param connection - The connection to the Solana cluster.
78
- * @param computeUnitLimit - The limit on the number of compute units.
79
- * @param fixedPriority - Set to true to indicate a fixed priority fee.
80
- * @param fixedPriorityFee - The fixed priority fee in lamports.
81
- * @returns An array of transaction instructions.
82
- */
83
- addPriorityFeeIx(connection: web3.Connection, computeUnitLimit: number, fixedPriority: true, fixedPriorityFee: number): Promise<web3.TransactionInstruction[]>;
84
- /**
85
- * Add priority fee instructions (compute budget) with a variable priority defined by Helius.
86
- *
87
- * This method adds priority fee instructions to the transaction based on the specified
88
- * priority level and compute unit limit. It ensures that the total fee does not exceed
89
- * the specified maximum priority fee (in SOL) if provided.
90
- *
91
- * @param connection - The connection to the Solana cluster.
92
- * @param computeUnitLimit - The limit on the number of compute units.
93
- * @param fixedPriority - Set to false to indicate a variable priority fee.
94
- * @param priorityLevel - The priority level for the fee estimation.
95
- * @param maxPriorityFee - The maximum priority fee in SOL (optional).
96
- * @returns An array of transaction instructions.
97
- */
98
- addPriorityFeeIx(connection: web3.Connection, computeUnitLimit: number, fixedPriority: false, priorityLevel: client.PriorityLevel, maxPriorityFee?: number): Promise<web3.TransactionInstruction[]>;
99
- /**
100
- * Overwrite blockhash and rebuild transaction
101
- *
102
- * @param blockhash
103
- * @param lastValidBlockHeight
104
- */
105
- setBlockhash(blockhash: string | null, lastValidBlockHeight: number | null): void;
106
- }
107
- //# sourceMappingURL=Transaction2.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Transaction2.d.ts","sourceRoot":"","sources":["../../../src/classes/Transaction2.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,6BAA6B,CAAC;AACtD,OAAO,KAAK,IAAI,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,2BAA2B,EAAE,MAAM,gBAAgB,CAAC;AAG3E,eAAO,MAAM,gCAAgC,EAAE,2BAQ9C,CAAC;AAEF;;;GAGG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAqB1C,QAAQ,CAAC,kBAAkB,EAAE,2BAA2B;IACxD,QAAQ,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS;IACjC,SAAS,CAAC,eAAe,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAAE;IAC9E,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE;IAC/C,SAAS,CAAC,cAAc,EAAE,cAAc;IAvB1C;;OAEG;IACH,QAAQ,CAAC,iBAAiB,EAAE,OAAO,CAAC;IAEpC;;OAEG;IACH,WAAW,EAAE,MAAM,CAAK;IAExB;;;;;;;OAOG;IACH,OAAO;IAoBP,MAAM,CAAC,GAAG,CACR,QAAQ,EAAE,IAAI,CAAC,SAAS,EACxB,IAAI,EAAE,IAAI,CAAC,yBAAyB,EAAE,EACtC,cAAc,EAAE,cAAc,EAC9B,QAAQ,GAAE,IAAI,CAAC,sBAAsB,EAAO,EAC5C,eAAe,GAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,oBAAoB,EAAE,MAAM,CAAA;KAA+C;IAanH;;OAEG;IACH,OAAO,CAAC,cAAc;IAUtB;;;;OAIG;IACH,OAAO,CAAC,aAAa;IAWrB;;;;;;OAMG;IACH,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,EAAE,EAAE,UAAU,GAAE,OAAe,GAAG,IAAI;IAuB/D;;;;;;OAMG;IACH,YAAY,CAAC,SAAS,EAAE,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,GAAG,IAAI;IAcpE;;;;OAIG;IACH,yBAAyB,IAAI,OAAO;IAIpC;;;;;;;;;;OAUG;IACG,gBAAgB,CACpB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,IAAI,EACnB,gBAAgB,EAAE,MAAM,GACvB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IAEzC;;;;;;;;;;;;;OAaG;IACG,gBAAgB,CACpB,UAAU,EAAE,IAAI,CAAC,UAAU,EAC3B,gBAAgB,EAAE,MAAM,EACxB,aAAa,EAAE,KAAK,EACpB,aAAa,EAAE,MAAM,CAAC,aAAa,EACnC,cAAc,CAAC,EAAE,MAAM,GACtB,OAAO,CAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC;IA4EzC;;;;;OAKG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,EAAE,oBAAoB,EAAE,MAAM,GAAG,IAAI;CAY3E"}
@@ -1,249 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || (function () {
19
- var ownKeys = function(o) {
20
- ownKeys = Object.getOwnPropertyNames || function (o) {
21
- var ar = [];
22
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
- return ar;
24
- };
25
- return ownKeys(o);
26
- };
27
- return function (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
- __setModuleDefault(result, mod);
32
- return result;
33
- };
34
- })();
35
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
36
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
37
- return new (P || (P = Promise))(function (resolve, reject) {
38
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
39
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
40
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
41
- step((generator = generator.apply(thisArg, _arguments || [])).next());
42
- });
43
- };
44
- Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.Transaction2 = exports.DummyTransactionMetadataResponse = void 0;
46
- const client = __importStar(require("@hawksightco/swagger-client"));
47
- const web3 = __importStar(require("@solana/web3.js"));
48
- const bn_js_1 = require("bn.js");
49
- const Transaction3_1 = require("./Transaction3");
50
- const Logging_1 = require("./Logging");
51
- exports.DummyTransactionMetadataResponse = {
52
- description: '',
53
- estimatedFeeInSOL: '',
54
- addressLookupTableAddresses: [], // "alts" is confusing, copied jup's naming
55
- computeBudgetInstructions: [], // this enables for ease of access while also making them optional
56
- mainInstructions: [],
57
- payer: '',
58
- signature: '',
59
- };
60
- /**
61
- * Represents a transaction object in Solana using the web3.js library.
62
- * This class encapsulates the logic for creating, signing, and verifying signatures of transactions.
63
- */
64
- class Transaction2 extends Transaction3_1.Transaction3 {
65
- /**
66
- * Constructs a new Transaction object.
67
- *
68
- * @param payerKey PublicKey of the transaction payer
69
- * @param instructions Array of TransactionInstruction to be executed in this transaction
70
- * @param recentBlockhash The blockhash of a recent ledger entry
71
- * @param alts Address lookup tables that optimize account address storage
72
- */
73
- constructor(txMetadataResponse, payerKey, latestBlockhash, alts, generalUtility, _mainIxs = []) {
74
- super(txMetadataResponse, payerKey, latestBlockhash, alts, generalUtility, _mainIxs);
75
- this.txMetadataResponse = txMetadataResponse;
76
- this.payerKey = payerKey;
77
- this.latestBlockhash = latestBlockhash;
78
- this.alts = alts;
79
- this.generalUtility = generalUtility;
80
- /**
81
- * Fee estimate that can be overwritten
82
- */
83
- this.feeEstimate = 0;
84
- const index = this.getNonceIndex();
85
- this.hasNonceAdvanceIx = index > -1;
86
- }
87
- ;
88
- static new(payerKey, alts, generalUtility, _mainIxs = [], latestBlockhash = { blockhash: '', lastValidBlockHeight: 0 }) {
89
- const instance = new Transaction2(exports.DummyTransactionMetadataResponse, payerKey, latestBlockhash, alts, generalUtility, _mainIxs);
90
- return instance;
91
- }
92
- /**
93
- * Generate nonde advance instruction (dummy instruction)
94
- */
95
- nonceAdvanceIx(noncePubkey) {
96
- // Generate dummy nonce ix
97
- return web3.SystemProgram.nonceAdvance({
98
- /** Nonce account */
99
- noncePubkey,
100
- /** Public key of the nonce authority */
101
- authorizedPubkey: this.payerKey,
102
- });
103
- }
104
- /**
105
- * Get nonce index
106
- *
107
- * @returns
108
- */
109
- getNonceIndex() {
110
- const referenceIx = this.nonceAdvanceIx(web3.Keypair.generate().publicKey);
111
- const index = this._instructions.findIndex(ix => {
112
- const isNonceAdvanceIx = ix.data.toString("base64") == referenceIx.data.toString("base64") &&
113
- ix.programId.toString() == referenceIx.programId.toString();
114
- return isNonceAdvanceIx;
115
- });
116
- return index;
117
- }
118
- /**
119
- * Signs the transaction with provided signers.
120
- *
121
- * @param signers Array of Signer objects whose private keys will be used to sign the transaction.
122
- * @param idempotent Boolean indicating whether signing should be idempotent (default is false).
123
- * @throws Error if a signer is not required or has already signed the transaction when not idempotent.
124
- */
125
- sign(signers, idempotent = false) {
126
- // First validate all signers
127
- signers.forEach((signer) => {
128
- const key = signer.publicKey.toString();
129
- if (typeof this.requiredSigners[key] !== "boolean") {
130
- throw new Error(`Key ${key} is not a required signer!`);
131
- }
132
- if (!idempotent && this.requiredSigners[key]) {
133
- throw new Error(`Key ${key} has already been signed by required signer!`);
134
- }
135
- });
136
- // If all signers are valid and the process is idempotent or they haven't signed yet, update and sign
137
- signers.forEach((signer) => {
138
- const key = signer.publicKey.toString();
139
- this.requiredSigners[key] = true;
140
- });
141
- this.versionedTransaction.sign(signers);
142
- }
143
- /**
144
- * Add a signature on the transaction with provided signature.
145
- *
146
- * @param publicKey The public key of the signer
147
- * @param signature A signature of the signed transaction
148
- * @throws Error if a signer is not required or has already signed the transaction.
149
- */
150
- addSignature(publicKey, signature) {
151
- const key = publicKey.toBase58();
152
- if (typeof this.requiredSigners[key] !== "boolean") {
153
- throw new Error(`Key ${key} is not a required signer!`);
154
- }
155
- if (this.requiredSigners[key]) {
156
- throw new Error(`Key ${key} has already been signed by required signer!`);
157
- }
158
- this.requiredSigners[key] = true;
159
- this.versionedTransaction.addSignature(publicKey, signature);
160
- }
161
- /**
162
- * Checks if all required signers have signed the transaction.
163
- *
164
- * @returns Boolean indicating whether all required signers have signed.
165
- */
166
- isSignedByRequiredSigners() {
167
- return Object.values(this.requiredSigners).every((isSigned) => isSigned);
168
- }
169
- /**
170
- * Add priority fee instructions (compute budget)
171
- *
172
- * This method adds priority fee instructions to the transaction based on the specified
173
- * priority level and compute unit limit. It ensures that the total fee does not exceed
174
- * the specified maximum priority fee (in SOL) if provided.
175
- *
176
- * @param connection - The connection to the Solana cluster.
177
- * @param computeUnitLimit - The limit on the number of compute units.
178
- * @param fixedPriority - If true, a fixed priority fee is used; if false, the fee is based on priority level.
179
- * @param priorityLevelOrPriorityFee - The priority level for the fee estimation or the fixed priority fee.
180
- * @param maxPriorityFee - The maximum priority fee in SOL (optional, only applicable when fixedPriority is false).
181
- * @returns An array of transaction instructions.
182
- */
183
- addPriorityFeeIx(connection_1, computeUnitLimit_1) {
184
- return __awaiter(this, arguments, void 0, function* (connection, computeUnitLimit, fixedPriority = false, priorityLevelOrPriorityFee, maxPriorityFee) {
185
- (0, Logging_1.Log)(`addPriorityFeeIx`);
186
- // First, remove any existing priority fee instructions
187
- this.removePriorityFeeIxs();
188
- let totalPriorityFeeLamports;
189
- if (fixedPriority && typeof priorityLevelOrPriorityFee === 'number') {
190
- // For fixed priority, directly use the provided fixed priority fee
191
- totalPriorityFeeLamports = priorityLevelOrPriorityFee - 5000;
192
- }
193
- else if (typeof priorityLevelOrPriorityFee === 'string') {
194
- // Convert maxPriorityFee from SOL to lamports (1 SOL = 1_000_000_000 lamports)
195
- const maxPriorityFeeLamports = maxPriorityFee !== undefined ? maxPriorityFee * 1000000000 : undefined;
196
- // Get fee estimate by simulating the transaction
197
- let estimate = this.feeEstimate;
198
- // If priority is set to default or medium, we multiply estimate by 2 to increase its chance on blockchain.
199
- if (priorityLevelOrPriorityFee === client.PriorityLevel.Default || priorityLevelOrPriorityFee === client.PriorityLevel.Medium) {
200
- estimate = estimate * 2;
201
- }
202
- // Calculate the total fee in lamports
203
- totalPriorityFeeLamports = new bn_js_1.BN(estimate).mul(new bn_js_1.BN(computeUnitLimit)).div(new bn_js_1.BN(1000000)).toNumber();
204
- // If maxPriorityFee is defined and it is less than the total calculated fee, cap it
205
- if (maxPriorityFeeLamports !== undefined && totalPriorityFeeLamports > maxPriorityFeeLamports) {
206
- totalPriorityFeeLamports = maxPriorityFeeLamports - 5000;
207
- }
208
- }
209
- else {
210
- throw new Error('Invalid parameters');
211
- }
212
- // Convert the total priority fee back to microLamports per compute unit
213
- const priorityFeePerUnitMicroLamports = new bn_js_1.BN(totalPriorityFeeLamports).mul(new bn_js_1.BN(1000000)).div(new bn_js_1.BN(computeUnitLimit)).toNumber();
214
- // Create priority fee instructions for the transaction
215
- const priorityFeeIxs = [
216
- web3.ComputeBudgetProgram.setComputeUnitLimit({
217
- units: computeUnitLimit,
218
- }),
219
- web3.ComputeBudgetProgram.setComputeUnitPrice({
220
- microLamports: priorityFeePerUnitMicroLamports,
221
- }),
222
- ];
223
- // Store the total priority fee in lamports
224
- this._priorityFeeEstimate = totalPriorityFeeLamports.toString();
225
- // Append priority fee instructions at the beginning
226
- this._instructions.unshift(...priorityFeeIxs);
227
- return priorityFeeIxs;
228
- });
229
- }
230
- /**
231
- * Overwrite blockhash and rebuild transaction
232
- *
233
- * @param blockhash
234
- * @param lastValidBlockHeight
235
- */
236
- setBlockhash(blockhash, lastValidBlockHeight) {
237
- if (blockhash !== null) {
238
- this.latestBlockhash.blockhash = blockhash;
239
- }
240
- if (lastValidBlockHeight !== null) {
241
- this.latestBlockhash.lastValidBlockHeight = lastValidBlockHeight;
242
- }
243
- this.buildTransaction({
244
- blockhash: this.latestBlockhash.blockhash,
245
- lastValidBlockHeight: this.latestBlockhash.lastValidBlockHeight
246
- });
247
- }
248
- }
249
- exports.Transaction2 = Transaction2;
@@ -1,165 +0,0 @@
1
- import * as client from "@hawksightco/swagger-client";
2
- import * as web3 from "@solana/web3.js";
3
- import { GeneralUtility } from "./GeneralUtility";
4
- export type SimulatedTransactionResponse = {
5
- err: web3.TransactionError | string | null;
6
- logs: Array<string> | null;
7
- accounts?: (web3.SimulatedTransactionAccountInfo | null)[] | null;
8
- unitsConsumed: number;
9
- returnData?: web3.TransactionReturnData | null;
10
- };
11
- export type TransactionMetadataResponse = {
12
- description: string;
13
- estimatedFeeInSOL: string;
14
- addressLookupTableAddresses: string[];
15
- computeBudgetInstructions: Instruction[];
16
- mainInstructions: Instruction[];
17
- payer: string;
18
- signature: string;
19
- };
20
- export type Instruction = {
21
- accounts: {
22
- isSigner: boolean;
23
- isWritable: boolean;
24
- pubkey: string;
25
- }[];
26
- data: string;
27
- programId: string;
28
- };
29
- /**
30
- * Represents a transaction object in Solana using the web3.js library.
31
- * This class encapsulates the logic for creating, signing, and verifying signatures of transactions.
32
- */
33
- export declare class Transaction3 {
34
- readonly txMetadataResponse: TransactionMetadataResponse;
35
- readonly payerKey: web3.PublicKey;
36
- protected latestBlockhash: {
37
- blockhash: string;
38
- lastValidBlockHeight: number;
39
- };
40
- readonly alts: web3.AddressLookupTableAccount[];
41
- protected generalUtility: GeneralUtility;
42
- /** Compiled TransactionMessage which includes payer, instructions, and recent blockhash */
43
- protected _txMessage: web3.TransactionMessage;
44
- get txMessage(): web3.TransactionMessage;
45
- /** Versioned transaction built from the transaction message */
46
- protected _versionedTransaction: web3.VersionedTransaction;
47
- get versionedTransaction(): web3.VersionedTransaction;
48
- /** A map indicating whether each required signer has signed the transaction */
49
- readonly requiredSigners: Record<string, boolean>;
50
- /** Estimated fee in SOL for priority fee when addPriorityFee() method is called. */
51
- protected _priorityFeeEstimate: string;
52
- get priorityFeeEstimate(): string;
53
- /** The blockhash of a recent ledger entry */
54
- get recentBlockhash(): string;
55
- /** Array of TransactionInstruction to be executed in this transaction */
56
- protected _instructions: web3.TransactionInstruction[];
57
- get instructions(): web3.TransactionInstruction[];
58
- /** last valid block height */
59
- get lastValidBlockHeight(): number;
60
- /**
61
- * Constructs a new Transaction object.
62
- *
63
- * @param payerKey PublicKey of the transaction payer
64
- * @param instructions Array of TransactionInstruction to be executed in this transaction
65
- * @param recentBlockhash The blockhash of a recent ledger entry
66
- * @param alts Address lookup tables that optimize account address storage
67
- */
68
- constructor(txMetadataResponse: TransactionMetadataResponse, payerKey: web3.PublicKey, latestBlockhash: {
69
- blockhash: string;
70
- lastValidBlockHeight: number;
71
- }, alts: web3.AddressLookupTableAccount[], generalUtility: GeneralUtility, _mainIxs?: web3.TransactionInstruction[]);
72
- /**
73
- * Signs the transaction with provided signers.
74
- *
75
- * @param signers Array of Signer objects whose private keys will be used to sign the transaction.
76
- * @param idempotent Boolean indicating whether signing should be idempotent (default is false).
77
- * @throws Error if a signer is not required or has already signed the transaction when not idempotent.
78
- */
79
- sign(signers: web3.Signer[], idempotent?: boolean): void;
80
- /**
81
- * Add a signature on the transaction with provided signature.
82
- *
83
- * @param publicKey The public key of the signer
84
- * @param signature A signature of the signed transaction
85
- * @throws Error if a signer is not required or has already signed the transaction.
86
- */
87
- addSignature(publicKey: web3.PublicKey, signature: Uint8Array): void;
88
- /**
89
- * Checks if all required signers have signed the transaction.
90
- *
91
- * @returns Boolean indicating whether all required signers have signed.
92
- */
93
- isSignedByRequiredSigners(): boolean;
94
- /**
95
- * Add priority fee instructions (compute budget) with a fixed priority fee.
96
- *
97
- * This method adds priority fee instructions to the transaction based on a fixed priority fee.
98
- *
99
- * @param connection - The connection to the Solana cluster.
100
- * @param computeUnitLimit - The limit on the number of compute units.
101
- * @param fixedPriority - Set to true to indicate a fixed priority fee.
102
- * @param fixedPriorityFee - The fixed priority fee in lamports.
103
- * @returns An array of transaction instructions.
104
- */
105
- addPriorityFeeIx(connection: web3.Connection, computeUnitLimit: number, fixedPriority: true, fixedPriorityFee: number): Promise<web3.TransactionInstruction[]>;
106
- /**
107
- * Add priority fee instructions (compute budget) with a variable priority defined by Helius.
108
- *
109
- * This method adds priority fee instructions to the transaction based on the specified
110
- * priority level and compute unit limit. It ensures that the total fee does not exceed
111
- * the specified maximum priority fee (in SOL) if provided.
112
- *
113
- * @param connection - The connection to the Solana cluster.
114
- * @param computeUnitLimit - The limit on the number of compute units.
115
- * @param fixedPriority - Set to false to indicate a variable priority fee.
116
- * @param priorityLevel - The priority level for the fee estimation.
117
- * @param maxPriorityFee - The maximum priority fee in SOL (optional).
118
- * @returns An array of transaction instructions.
119
- */
120
- addPriorityFeeIx(connection: web3.Connection, computeUnitLimit: number, fixedPriority: false, priorityLevel: client.PriorityLevel, maxPriorityFee?: number): Promise<web3.TransactionInstruction[]>;
121
- /**
122
- * Gets the compute unit limit from a transaction simulation.
123
- *
124
- * This function simulates a transaction and calculates the compute unit limit
125
- * based on the simulation results. If an additional compute limit is provided,
126
- * it is added to the units consumed in the simulation. Otherwise, the units
127
- * consumed are increased by 10%.
128
- *
129
- * @param {web3.Connection} connection - The connection object to the Solana cluster.
130
- * @param {number} [additionalComputeLimit] - Optional additional compute limit to add to the units consumed.
131
- * @returns {Promise<number>} - A promise that resolves to the total compute unit limit.
132
- * @throws {Error} - Throws an error if the transaction simulation fails.
133
- */
134
- getComputeUnitLimit(connection: web3.Connection, additionalComputeLimit?: number): Promise<number>;
135
- /**
136
- * Simulate transaction
137
- *
138
- * @param connection
139
- * @returns
140
- */
141
- simulateTransaction(connection: web3.Connection, signers?: web3.Keypair[]): Promise<SimulatedTransactionResponse>;
142
- /**
143
- * Builds transaction object
144
- */
145
- buildTransaction(latestBlockhash: web3.BlockhashWithExpiryBlockHeight): [web3.TransactionMessage, web3.VersionedTransaction];
146
- /**
147
- * Gathers the public keys of all parties required to sign the transaction.
148
- *
149
- * @returns A record of signer public keys mapped to a boolean indicating whether they have signed.
150
- */
151
- protected getRequiredSigners(): Record<string, boolean>;
152
- /**
153
- * Find setComputeUnitLimit index within the instructions
154
- */
155
- protected findSetComputeUnitLimitIndex(instructions?: web3.TransactionInstruction[]): number;
156
- /**
157
- * Find setComputeUnitPrice index within the instructions
158
- */
159
- protected findSetComputeUnitPriceIndex(instructions?: web3.TransactionInstruction[]): number;
160
- /**
161
- * Remove priority fee instructions
162
- */
163
- protected removePriorityFeeIxs(): void;
164
- }
165
- //# sourceMappingURL=Transaction3.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Transaction3.d.ts","sourceRoot":"","sources":["../../../src/classes/Transaction3.ts"],"names":[],"mappings":"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"}