@atomiqlabs/chain-solana 12.0.12 → 12.0.14
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/LICENSE +201 -201
- package/dist/index.d.ts +29 -29
- package/dist/index.js +45 -45
- package/dist/solana/SolanaChainType.d.ts +11 -11
- package/dist/solana/SolanaChainType.js +2 -2
- package/dist/solana/SolanaChains.d.ts +20 -20
- package/dist/solana/SolanaChains.js +25 -25
- package/dist/solana/SolanaInitializer.d.ts +18 -18
- package/dist/solana/SolanaInitializer.js +63 -63
- package/dist/solana/btcrelay/SolanaBtcRelay.d.ts +228 -228
- package/dist/solana/btcrelay/SolanaBtcRelay.js +441 -441
- package/dist/solana/btcrelay/headers/SolanaBtcHeader.d.ts +29 -29
- package/dist/solana/btcrelay/headers/SolanaBtcHeader.js +34 -34
- package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.d.ts +46 -46
- package/dist/solana/btcrelay/headers/SolanaBtcStoredHeader.js +78 -78
- package/dist/solana/btcrelay/program/programIdl.json +671 -671
- package/dist/solana/chain/SolanaAction.d.ts +26 -26
- package/dist/solana/chain/SolanaAction.js +86 -86
- package/dist/solana/chain/SolanaChainInterface.d.ts +65 -65
- package/dist/solana/chain/SolanaChainInterface.js +125 -125
- package/dist/solana/chain/SolanaModule.d.ts +14 -14
- package/dist/solana/chain/SolanaModule.js +13 -13
- package/dist/solana/chain/modules/SolanaAddresses.d.ts +8 -8
- package/dist/solana/chain/modules/SolanaAddresses.js +22 -22
- package/dist/solana/chain/modules/SolanaBlocks.d.ts +28 -28
- package/dist/solana/chain/modules/SolanaBlocks.js +72 -72
- package/dist/solana/chain/modules/SolanaEvents.d.ts +68 -68
- package/dist/solana/chain/modules/SolanaEvents.js +238 -225
- package/dist/solana/chain/modules/SolanaFees.d.ts +121 -121
- package/dist/solana/chain/modules/SolanaFees.js +379 -379
- package/dist/solana/chain/modules/SolanaSignatures.d.ts +23 -23
- package/dist/solana/chain/modules/SolanaSignatures.js +39 -39
- package/dist/solana/chain/modules/SolanaSlots.d.ts +31 -31
- package/dist/solana/chain/modules/SolanaSlots.js +68 -68
- package/dist/solana/chain/modules/SolanaTokens.d.ts +136 -136
- package/dist/solana/chain/modules/SolanaTokens.js +248 -248
- package/dist/solana/chain/modules/SolanaTransactions.d.ts +124 -124
- package/dist/solana/chain/modules/SolanaTransactions.js +323 -323
- package/dist/solana/events/SolanaChainEvents.d.ts +88 -88
- package/dist/solana/events/SolanaChainEvents.js +256 -256
- package/dist/solana/events/SolanaChainEventsBrowser.d.ts +75 -75
- package/dist/solana/events/SolanaChainEventsBrowser.js +172 -172
- package/dist/solana/program/SolanaProgramBase.d.ts +40 -40
- package/dist/solana/program/SolanaProgramBase.js +43 -43
- package/dist/solana/program/SolanaProgramModule.d.ts +8 -8
- package/dist/solana/program/SolanaProgramModule.js +11 -11
- package/dist/solana/program/modules/SolanaProgramEvents.d.ts +53 -53
- package/dist/solana/program/modules/SolanaProgramEvents.js +114 -114
- package/dist/solana/swaps/SolanaSwapData.d.ts +71 -71
- package/dist/solana/swaps/SolanaSwapData.js +292 -292
- package/dist/solana/swaps/SolanaSwapModule.d.ts +10 -10
- package/dist/solana/swaps/SolanaSwapModule.js +11 -11
- package/dist/solana/swaps/SolanaSwapProgram.d.ts +224 -224
- package/dist/solana/swaps/SolanaSwapProgram.js +570 -570
- package/dist/solana/swaps/SwapTypeEnum.d.ts +11 -11
- package/dist/solana/swaps/SwapTypeEnum.js +42 -42
- package/dist/solana/swaps/modules/SolanaDataAccount.d.ts +94 -94
- package/dist/solana/swaps/modules/SolanaDataAccount.js +231 -231
- package/dist/solana/swaps/modules/SolanaLpVault.d.ts +71 -71
- package/dist/solana/swaps/modules/SolanaLpVault.js +173 -173
- package/dist/solana/swaps/modules/SwapClaim.d.ts +129 -129
- package/dist/solana/swaps/modules/SwapClaim.js +291 -291
- package/dist/solana/swaps/modules/SwapInit.d.ts +217 -217
- package/dist/solana/swaps/modules/SwapInit.js +519 -519
- package/dist/solana/swaps/modules/SwapRefund.d.ts +82 -82
- package/dist/solana/swaps/modules/SwapRefund.js +262 -262
- package/dist/solana/swaps/programIdl.json +945 -945
- package/dist/solana/swaps/programTypes.d.ts +943 -943
- package/dist/solana/swaps/programTypes.js +945 -945
- package/dist/solana/wallet/SolanaKeypairWallet.d.ts +9 -9
- package/dist/solana/wallet/SolanaKeypairWallet.js +33 -33
- package/dist/solana/wallet/SolanaSigner.d.ts +11 -11
- package/dist/solana/wallet/SolanaSigner.js +17 -17
- package/dist/utils/Utils.d.ts +53 -53
- package/dist/utils/Utils.js +170 -170
- package/package.json +41 -41
- package/src/index.ts +36 -36
- package/src/solana/SolanaChainType.ts +27 -27
- package/src/solana/SolanaChains.ts +23 -23
- package/src/solana/SolanaInitializer.ts +102 -102
- package/src/solana/btcrelay/SolanaBtcRelay.ts +589 -589
- package/src/solana/btcrelay/headers/SolanaBtcHeader.ts +57 -57
- package/src/solana/btcrelay/headers/SolanaBtcStoredHeader.ts +102 -102
- package/src/solana/btcrelay/program/programIdl.json +670 -670
- package/src/solana/chain/SolanaAction.ts +108 -108
- package/src/solana/chain/SolanaChainInterface.ts +192 -192
- package/src/solana/chain/SolanaModule.ts +20 -20
- package/src/solana/chain/modules/SolanaAddresses.ts +20 -20
- package/src/solana/chain/modules/SolanaBlocks.ts +78 -78
- package/src/solana/chain/modules/SolanaEvents.ts +270 -256
- package/src/solana/chain/modules/SolanaFees.ts +450 -450
- package/src/solana/chain/modules/SolanaSignatures.ts +39 -39
- package/src/solana/chain/modules/SolanaSlots.ts +82 -82
- package/src/solana/chain/modules/SolanaTokens.ts +307 -307
- package/src/solana/chain/modules/SolanaTransactions.ts +365 -365
- package/src/solana/events/SolanaChainEvents.ts +299 -299
- package/src/solana/events/SolanaChainEventsBrowser.ts +209 -209
- package/src/solana/program/SolanaProgramBase.ts +79 -79
- package/src/solana/program/SolanaProgramModule.ts +15 -15
- package/src/solana/program/modules/SolanaProgramEvents.ts +155 -155
- package/src/solana/swaps/SolanaSwapData.ts +430 -430
- package/src/solana/swaps/SolanaSwapModule.ts +16 -16
- package/src/solana/swaps/SolanaSwapProgram.ts +854 -854
- package/src/solana/swaps/SwapTypeEnum.ts +29 -29
- package/src/solana/swaps/modules/SolanaDataAccount.ts +307 -307
- package/src/solana/swaps/modules/SolanaLpVault.ts +215 -215
- package/src/solana/swaps/modules/SwapClaim.ts +389 -389
- package/src/solana/swaps/modules/SwapInit.ts +663 -663
- package/src/solana/swaps/modules/SwapRefund.ts +323 -323
- package/src/solana/swaps/programIdl.json +944 -944
- package/src/solana/swaps/programTypes.ts +1885 -1885
- package/src/solana/wallet/SolanaKeypairWallet.ts +36 -36
- package/src/solana/wallet/SolanaSigner.ts +24 -24
- package/src/utils/Utils.ts +180 -180
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolanaModule = void 0;
|
|
4
|
-
const Utils_1 = require("../../utils/Utils");
|
|
5
|
-
class SolanaModule {
|
|
6
|
-
constructor(root) {
|
|
7
|
-
this.logger = (0, Utils_1.getLogger)(this.constructor.name + ": ");
|
|
8
|
-
this.connection = root.connection;
|
|
9
|
-
this.retryPolicy = root.retryPolicy;
|
|
10
|
-
this.root = root;
|
|
11
|
-
}
|
|
12
|
-
}
|
|
13
|
-
exports.SolanaModule = SolanaModule;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaModule = void 0;
|
|
4
|
+
const Utils_1 = require("../../utils/Utils");
|
|
5
|
+
class SolanaModule {
|
|
6
|
+
constructor(root) {
|
|
7
|
+
this.logger = (0, Utils_1.getLogger)(this.constructor.name + ": ");
|
|
8
|
+
this.connection = root.connection;
|
|
9
|
+
this.retryPolicy = root.retryPolicy;
|
|
10
|
+
this.root = root;
|
|
11
|
+
}
|
|
12
|
+
}
|
|
13
|
+
exports.SolanaModule = SolanaModule;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
export declare class SolanaAddresses {
|
|
2
|
-
/**
|
|
3
|
-
* Checks whether an address is a valid Solana address (base58 encoded ed25519 public key)
|
|
4
|
-
*
|
|
5
|
-
* @param address
|
|
6
|
-
*/
|
|
7
|
-
static isValidAddress(address: string): boolean;
|
|
8
|
-
}
|
|
1
|
+
export declare class SolanaAddresses {
|
|
2
|
+
/**
|
|
3
|
+
* Checks whether an address is a valid Solana address (base58 encoded ed25519 public key)
|
|
4
|
+
*
|
|
5
|
+
* @param address
|
|
6
|
+
*/
|
|
7
|
+
static isValidAddress(address: string): boolean;
|
|
8
|
+
}
|
|
@@ -1,22 +1,22 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolanaAddresses = void 0;
|
|
4
|
-
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
-
class SolanaAddresses {
|
|
6
|
-
///////////////////
|
|
7
|
-
//// Address utils
|
|
8
|
-
/**
|
|
9
|
-
* Checks whether an address is a valid Solana address (base58 encoded ed25519 public key)
|
|
10
|
-
*
|
|
11
|
-
* @param address
|
|
12
|
-
*/
|
|
13
|
-
static isValidAddress(address) {
|
|
14
|
-
try {
|
|
15
|
-
return web3_js_1.PublicKey.isOnCurve(address);
|
|
16
|
-
}
|
|
17
|
-
catch (e) {
|
|
18
|
-
return false;
|
|
19
|
-
}
|
|
20
|
-
}
|
|
21
|
-
}
|
|
22
|
-
exports.SolanaAddresses = SolanaAddresses;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaAddresses = void 0;
|
|
4
|
+
const web3_js_1 = require("@solana/web3.js");
|
|
5
|
+
class SolanaAddresses {
|
|
6
|
+
///////////////////
|
|
7
|
+
//// Address utils
|
|
8
|
+
/**
|
|
9
|
+
* Checks whether an address is a valid Solana address (base58 encoded ed25519 public key)
|
|
10
|
+
*
|
|
11
|
+
* @param address
|
|
12
|
+
*/
|
|
13
|
+
static isValidAddress(address) {
|
|
14
|
+
try {
|
|
15
|
+
return web3_js_1.PublicKey.isOnCurve(address);
|
|
16
|
+
}
|
|
17
|
+
catch (e) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
exports.SolanaAddresses = SolanaAddresses;
|
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
import { SolanaModule } from "../SolanaModule";
|
|
2
|
-
import { Commitment, ParsedAccountsModeBlockResponse } from "@solana/web3.js";
|
|
3
|
-
export declare class SolanaBlocks extends SolanaModule {
|
|
4
|
-
private blockCache;
|
|
5
|
-
/**
|
|
6
|
-
* Initiates a fetch of the block at specified slot & saves the fetch promise into a block cache
|
|
7
|
-
*
|
|
8
|
-
* @param slot
|
|
9
|
-
* @private
|
|
10
|
-
*/
|
|
11
|
-
private fetchAndSaveParsedBlock;
|
|
12
|
-
/**
|
|
13
|
-
* Tries to find the latest existing block for a given commitment, skipping blocks that are not available, runs a
|
|
14
|
-
* search backwards from the latest slot for the given commitment and fails after 10 tries
|
|
15
|
-
*
|
|
16
|
-
* @param commitment
|
|
17
|
-
*/
|
|
18
|
-
findLatestParsedBlock(commitment: Commitment): Promise<{
|
|
19
|
-
block: ParsedAccountsModeBlockResponse;
|
|
20
|
-
slot: number;
|
|
21
|
-
}>;
|
|
22
|
-
/**
|
|
23
|
-
* Gets parsed block for a given slot, uses block cache if the block was already fetched before
|
|
24
|
-
*
|
|
25
|
-
* @param slot
|
|
26
|
-
*/
|
|
27
|
-
getParsedBlock(slot: number): Promise<ParsedAccountsModeBlockResponse>;
|
|
28
|
-
}
|
|
1
|
+
import { SolanaModule } from "../SolanaModule";
|
|
2
|
+
import { Commitment, ParsedAccountsModeBlockResponse } from "@solana/web3.js";
|
|
3
|
+
export declare class SolanaBlocks extends SolanaModule {
|
|
4
|
+
private blockCache;
|
|
5
|
+
/**
|
|
6
|
+
* Initiates a fetch of the block at specified slot & saves the fetch promise into a block cache
|
|
7
|
+
*
|
|
8
|
+
* @param slot
|
|
9
|
+
* @private
|
|
10
|
+
*/
|
|
11
|
+
private fetchAndSaveParsedBlock;
|
|
12
|
+
/**
|
|
13
|
+
* Tries to find the latest existing block for a given commitment, skipping blocks that are not available, runs a
|
|
14
|
+
* search backwards from the latest slot for the given commitment and fails after 10 tries
|
|
15
|
+
*
|
|
16
|
+
* @param commitment
|
|
17
|
+
*/
|
|
18
|
+
findLatestParsedBlock(commitment: Commitment): Promise<{
|
|
19
|
+
block: ParsedAccountsModeBlockResponse;
|
|
20
|
+
slot: number;
|
|
21
|
+
}>;
|
|
22
|
+
/**
|
|
23
|
+
* Gets parsed block for a given slot, uses block cache if the block was already fetched before
|
|
24
|
+
*
|
|
25
|
+
* @param slot
|
|
26
|
+
*/
|
|
27
|
+
getParsedBlock(slot: number): Promise<ParsedAccountsModeBlockResponse>;
|
|
28
|
+
}
|
|
@@ -1,72 +1,72 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.SolanaBlocks = void 0;
|
|
4
|
-
const SolanaModule_1 = require("../SolanaModule");
|
|
5
|
-
class SolanaBlocks extends SolanaModule_1.SolanaModule {
|
|
6
|
-
constructor() {
|
|
7
|
-
super(...arguments);
|
|
8
|
-
this.blockCache = new Map();
|
|
9
|
-
}
|
|
10
|
-
/**
|
|
11
|
-
* Initiates a fetch of the block at specified slot & saves the fetch promise into a block cache
|
|
12
|
-
*
|
|
13
|
-
* @param slot
|
|
14
|
-
* @private
|
|
15
|
-
*/
|
|
16
|
-
fetchAndSaveParsedBlock(slot) {
|
|
17
|
-
const blockCacheData = this.connection.getParsedBlock(slot, {
|
|
18
|
-
transactionDetails: "none",
|
|
19
|
-
commitment: "confirmed",
|
|
20
|
-
rewards: false
|
|
21
|
-
});
|
|
22
|
-
this.blockCache.set(slot, blockCacheData);
|
|
23
|
-
blockCacheData.catch(e => {
|
|
24
|
-
if (this.blockCache.get(slot) == blockCacheData)
|
|
25
|
-
this.blockCache.delete(slot);
|
|
26
|
-
throw e;
|
|
27
|
-
});
|
|
28
|
-
return blockCacheData;
|
|
29
|
-
}
|
|
30
|
-
///////////////////
|
|
31
|
-
//// Blocks
|
|
32
|
-
/**
|
|
33
|
-
* Tries to find the latest existing block for a given commitment, skipping blocks that are not available, runs a
|
|
34
|
-
* search backwards from the latest slot for the given commitment and fails after 10 tries
|
|
35
|
-
*
|
|
36
|
-
* @param commitment
|
|
37
|
-
*/
|
|
38
|
-
async findLatestParsedBlock(commitment) {
|
|
39
|
-
let slot = await this.root.Slots.getSlot(commitment);
|
|
40
|
-
for (let i = 0; i < 10; i++) {
|
|
41
|
-
const block = await this.getParsedBlock(slot).catch(e => {
|
|
42
|
-
if (e.toString().startsWith("SolanaJSONRPCError: failed to get block: Block not available for slot")) {
|
|
43
|
-
return null;
|
|
44
|
-
}
|
|
45
|
-
throw e;
|
|
46
|
-
});
|
|
47
|
-
if (block != null) {
|
|
48
|
-
this.logger.debug("findLatestParsedBlock(): Found valid block, slot: " + slot +
|
|
49
|
-
" blockhash: " + block.blockhash + " tries: " + i);
|
|
50
|
-
return {
|
|
51
|
-
block,
|
|
52
|
-
slot
|
|
53
|
-
};
|
|
54
|
-
}
|
|
55
|
-
slot--;
|
|
56
|
-
}
|
|
57
|
-
throw new Error("Ran out of tries trying to find a parsedBlock");
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Gets parsed block for a given slot, uses block cache if the block was already fetched before
|
|
61
|
-
*
|
|
62
|
-
* @param slot
|
|
63
|
-
*/
|
|
64
|
-
getParsedBlock(slot) {
|
|
65
|
-
let blockCacheData = this.blockCache.get(slot);
|
|
66
|
-
if (blockCacheData == null) {
|
|
67
|
-
blockCacheData = this.fetchAndSaveParsedBlock(slot);
|
|
68
|
-
}
|
|
69
|
-
return blockCacheData;
|
|
70
|
-
}
|
|
71
|
-
}
|
|
72
|
-
exports.SolanaBlocks = SolanaBlocks;
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SolanaBlocks = void 0;
|
|
4
|
+
const SolanaModule_1 = require("../SolanaModule");
|
|
5
|
+
class SolanaBlocks extends SolanaModule_1.SolanaModule {
|
|
6
|
+
constructor() {
|
|
7
|
+
super(...arguments);
|
|
8
|
+
this.blockCache = new Map();
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Initiates a fetch of the block at specified slot & saves the fetch promise into a block cache
|
|
12
|
+
*
|
|
13
|
+
* @param slot
|
|
14
|
+
* @private
|
|
15
|
+
*/
|
|
16
|
+
fetchAndSaveParsedBlock(slot) {
|
|
17
|
+
const blockCacheData = this.connection.getParsedBlock(slot, {
|
|
18
|
+
transactionDetails: "none",
|
|
19
|
+
commitment: "confirmed",
|
|
20
|
+
rewards: false
|
|
21
|
+
});
|
|
22
|
+
this.blockCache.set(slot, blockCacheData);
|
|
23
|
+
blockCacheData.catch(e => {
|
|
24
|
+
if (this.blockCache.get(slot) == blockCacheData)
|
|
25
|
+
this.blockCache.delete(slot);
|
|
26
|
+
throw e;
|
|
27
|
+
});
|
|
28
|
+
return blockCacheData;
|
|
29
|
+
}
|
|
30
|
+
///////////////////
|
|
31
|
+
//// Blocks
|
|
32
|
+
/**
|
|
33
|
+
* Tries to find the latest existing block for a given commitment, skipping blocks that are not available, runs a
|
|
34
|
+
* search backwards from the latest slot for the given commitment and fails after 10 tries
|
|
35
|
+
*
|
|
36
|
+
* @param commitment
|
|
37
|
+
*/
|
|
38
|
+
async findLatestParsedBlock(commitment) {
|
|
39
|
+
let slot = await this.root.Slots.getSlot(commitment);
|
|
40
|
+
for (let i = 0; i < 10; i++) {
|
|
41
|
+
const block = await this.getParsedBlock(slot).catch(e => {
|
|
42
|
+
if (e.toString().startsWith("SolanaJSONRPCError: failed to get block: Block not available for slot")) {
|
|
43
|
+
return null;
|
|
44
|
+
}
|
|
45
|
+
throw e;
|
|
46
|
+
});
|
|
47
|
+
if (block != null) {
|
|
48
|
+
this.logger.debug("findLatestParsedBlock(): Found valid block, slot: " + slot +
|
|
49
|
+
" blockhash: " + block.blockhash + " tries: " + i);
|
|
50
|
+
return {
|
|
51
|
+
block,
|
|
52
|
+
slot
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
slot--;
|
|
56
|
+
}
|
|
57
|
+
throw new Error("Ran out of tries trying to find a parsedBlock");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Gets parsed block for a given slot, uses block cache if the block was already fetched before
|
|
61
|
+
*
|
|
62
|
+
* @param slot
|
|
63
|
+
*/
|
|
64
|
+
getParsedBlock(slot) {
|
|
65
|
+
let blockCacheData = this.blockCache.get(slot);
|
|
66
|
+
if (blockCacheData == null) {
|
|
67
|
+
blockCacheData = this.fetchAndSaveParsedBlock(slot);
|
|
68
|
+
}
|
|
69
|
+
return blockCacheData;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
exports.SolanaBlocks = SolanaBlocks;
|
|
@@ -1,68 +1,68 @@
|
|
|
1
|
-
import { SolanaModule } from "../SolanaModule";
|
|
2
|
-
import { ConfirmedSignatureInfo, ParsedTransactionWithMeta, PublicKey } from "@solana/web3.js";
|
|
3
|
-
export declare class SolanaEvents extends SolanaModule {
|
|
4
|
-
readonly LOG_FETCH_LIMIT = 500;
|
|
5
|
-
private usingHeliusTFA;
|
|
6
|
-
/**
|
|
7
|
-
* Gets the signatures for a given topicKey public key, if lastProcessedSignature is specified, it fetches only
|
|
8
|
-
* the signatures before this signature
|
|
9
|
-
*
|
|
10
|
-
* @param topicKey
|
|
11
|
-
* @param logFetchLimit
|
|
12
|
-
* @param lastProcessedSignature
|
|
13
|
-
* @private
|
|
14
|
-
*/
|
|
15
|
-
private getSignatures;
|
|
16
|
-
/**
|
|
17
|
-
* Implements Helius getTransactionsForAddress RPC API
|
|
18
|
-
*
|
|
19
|
-
* @param account
|
|
20
|
-
* @param options
|
|
21
|
-
* @param commitment
|
|
22
|
-
*/
|
|
23
|
-
getTransactionsForAddress(account: PublicKey, options?: {
|
|
24
|
-
paginationToken?: string;
|
|
25
|
-
filters?: {
|
|
26
|
-
slot?: {
|
|
27
|
-
gte?: number;
|
|
28
|
-
lte?: number;
|
|
29
|
-
gt?: number;
|
|
30
|
-
lt?: number;
|
|
31
|
-
};
|
|
32
|
-
blockTime?: {
|
|
33
|
-
gte?: number;
|
|
34
|
-
lte?: number;
|
|
35
|
-
gt?: number;
|
|
36
|
-
lt?: number;
|
|
37
|
-
eq?: number;
|
|
38
|
-
};
|
|
39
|
-
signature?: {
|
|
40
|
-
gte?: number;
|
|
41
|
-
lte?: number;
|
|
42
|
-
gt?: number;
|
|
43
|
-
lt?: number;
|
|
44
|
-
eq?: number;
|
|
45
|
-
};
|
|
46
|
-
status?: "succeeded" | "failed" | "any";
|
|
47
|
-
};
|
|
48
|
-
}, commitment?: "finalized" | "confirmed" | "processed"): Promise<{
|
|
49
|
-
data: ParsedTransactionWithMeta[];
|
|
50
|
-
paginationToken?: string;
|
|
51
|
-
}>;
|
|
52
|
-
private _findInTxsTFA;
|
|
53
|
-
/**
|
|
54
|
-
* Runs a search backwards in time, processing transaction signatures for a specific topic public key
|
|
55
|
-
*
|
|
56
|
-
* @param topicKey
|
|
57
|
-
* @param processor called for every batch of returned signatures, should return a value if the correct signature
|
|
58
|
-
* was found, or null if the search should continue
|
|
59
|
-
* @param abortSignal
|
|
60
|
-
* @param logFetchLimit
|
|
61
|
-
* @param startBlockheight
|
|
62
|
-
*/
|
|
63
|
-
private _findInSignatures;
|
|
64
|
-
findInSignatures<T>(topicKey: PublicKey, processor: (data: {
|
|
65
|
-
signatures?: ConfirmedSignatureInfo[];
|
|
66
|
-
txs?: ParsedTransactionWithMeta[];
|
|
67
|
-
}) => Promise<T>, abortSignal?: AbortSignal, logFetchLimit?: number, startBlockheight?: number): Promise<T>;
|
|
68
|
-
}
|
|
1
|
+
import { SolanaModule } from "../SolanaModule";
|
|
2
|
+
import { ConfirmedSignatureInfo, ParsedTransactionWithMeta, PublicKey } from "@solana/web3.js";
|
|
3
|
+
export declare class SolanaEvents extends SolanaModule {
|
|
4
|
+
readonly LOG_FETCH_LIMIT = 500;
|
|
5
|
+
private usingHeliusTFA;
|
|
6
|
+
/**
|
|
7
|
+
* Gets the signatures for a given topicKey public key, if lastProcessedSignature is specified, it fetches only
|
|
8
|
+
* the signatures before this signature
|
|
9
|
+
*
|
|
10
|
+
* @param topicKey
|
|
11
|
+
* @param logFetchLimit
|
|
12
|
+
* @param lastProcessedSignature
|
|
13
|
+
* @private
|
|
14
|
+
*/
|
|
15
|
+
private getSignatures;
|
|
16
|
+
/**
|
|
17
|
+
* Implements Helius getTransactionsForAddress RPC API
|
|
18
|
+
*
|
|
19
|
+
* @param account
|
|
20
|
+
* @param options
|
|
21
|
+
* @param commitment
|
|
22
|
+
*/
|
|
23
|
+
getTransactionsForAddress(account: PublicKey, options?: {
|
|
24
|
+
paginationToken?: string;
|
|
25
|
+
filters?: {
|
|
26
|
+
slot?: {
|
|
27
|
+
gte?: number;
|
|
28
|
+
lte?: number;
|
|
29
|
+
gt?: number;
|
|
30
|
+
lt?: number;
|
|
31
|
+
};
|
|
32
|
+
blockTime?: {
|
|
33
|
+
gte?: number;
|
|
34
|
+
lte?: number;
|
|
35
|
+
gt?: number;
|
|
36
|
+
lt?: number;
|
|
37
|
+
eq?: number;
|
|
38
|
+
};
|
|
39
|
+
signature?: {
|
|
40
|
+
gte?: number;
|
|
41
|
+
lte?: number;
|
|
42
|
+
gt?: number;
|
|
43
|
+
lt?: number;
|
|
44
|
+
eq?: number;
|
|
45
|
+
};
|
|
46
|
+
status?: "succeeded" | "failed" | "any";
|
|
47
|
+
};
|
|
48
|
+
}, commitment?: "finalized" | "confirmed" | "processed"): Promise<{
|
|
49
|
+
data: ParsedTransactionWithMeta[];
|
|
50
|
+
paginationToken?: string;
|
|
51
|
+
}>;
|
|
52
|
+
private _findInTxsTFA;
|
|
53
|
+
/**
|
|
54
|
+
* Runs a search backwards in time, processing transaction signatures for a specific topic public key
|
|
55
|
+
*
|
|
56
|
+
* @param topicKey
|
|
57
|
+
* @param processor called for every batch of returned signatures, should return a value if the correct signature
|
|
58
|
+
* was found, or null if the search should continue
|
|
59
|
+
* @param abortSignal
|
|
60
|
+
* @param logFetchLimit
|
|
61
|
+
* @param startBlockheight
|
|
62
|
+
*/
|
|
63
|
+
private _findInSignatures;
|
|
64
|
+
findInSignatures<T>(topicKey: PublicKey, processor: (data: {
|
|
65
|
+
signatures?: ConfirmedSignatureInfo[];
|
|
66
|
+
txs?: ParsedTransactionWithMeta[];
|
|
67
|
+
}) => Promise<T>, abortSignal?: AbortSignal, logFetchLimit?: number, startBlockheight?: number): Promise<T>;
|
|
68
|
+
}
|