@solana/web3.js 1.4.1 → 1.5.1
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/index.browser.esm.js +40 -14
- package/lib/index.browser.esm.js.map +1 -1
- package/lib/index.cjs.js +40 -14
- package/lib/index.cjs.js.map +1 -1
- package/lib/index.d.ts +17 -1
- package/lib/index.esm.js +40 -14
- package/lib/index.esm.js.map +1 -1
- package/lib/index.iife.js +40 -14
- package/lib/index.iife.js.map +1 -1
- package/lib/index.iife.min.js +1 -1
- package/lib/index.iife.min.js.map +1 -1
- package/module.flow.js +23 -6
- package/package.json +3 -3
- package/src/connection.ts +74 -15
package/module.flow.js
CHANGED
|
@@ -594,6 +594,15 @@ declare module "@solana/web3.js" {
|
|
|
594
594
|
| "root"
|
|
595
595
|
| "max";
|
|
596
596
|
|
|
597
|
+
/**
|
|
598
|
+
* A subset of Commitment levels, which are at least optimistically confirmed
|
|
599
|
+
* <pre>
|
|
600
|
+
* 'confirmed': Query the most recent block which has reached 1 confirmation by the cluster
|
|
601
|
+
* 'finalized': Query the most recent block which has been finalized by the cluster
|
|
602
|
+
* </pre>
|
|
603
|
+
*/
|
|
604
|
+
declare export type Finality = "confirmed" | "finalized";
|
|
605
|
+
|
|
597
606
|
/**
|
|
598
607
|
* Filter for largest accounts query
|
|
599
608
|
* <pre>
|
|
@@ -1947,34 +1956,41 @@ feeCalculator: FeeCalculator,...
|
|
|
1947
1956
|
* Fetch a list of Transactions and transaction statuses from the cluster
|
|
1948
1957
|
* for a confirmed block
|
|
1949
1958
|
*/
|
|
1950
|
-
getConfirmedBlock(
|
|
1959
|
+
getConfirmedBlock(
|
|
1960
|
+
slot: number,
|
|
1961
|
+
commitment?: Finality
|
|
1962
|
+
): Promise<ConfirmedBlock>;
|
|
1951
1963
|
|
|
1952
1964
|
/**
|
|
1953
1965
|
* Fetch a list of Signatures from the cluster for a confirmed block, excluding rewards
|
|
1954
1966
|
*/
|
|
1955
1967
|
getConfirmedBlockSignatures(
|
|
1956
|
-
slot: number
|
|
1968
|
+
slot: number,
|
|
1969
|
+
commitment?: Finality
|
|
1957
1970
|
): Promise<ConfirmedBlockSignatures>;
|
|
1958
1971
|
|
|
1959
1972
|
/**
|
|
1960
1973
|
* Fetch a transaction details for a confirmed transaction
|
|
1961
1974
|
*/
|
|
1962
1975
|
getConfirmedTransaction(
|
|
1963
|
-
signature: TransactionSignature
|
|
1976
|
+
signature: TransactionSignature,
|
|
1977
|
+
commitment?: Finality
|
|
1964
1978
|
): Promise<ConfirmedTransaction | null>;
|
|
1965
1979
|
|
|
1966
1980
|
/**
|
|
1967
1981
|
* Fetch parsed transaction details for a confirmed transaction
|
|
1968
1982
|
*/
|
|
1969
1983
|
getParsedConfirmedTransaction(
|
|
1970
|
-
signature: TransactionSignature
|
|
1984
|
+
signature: TransactionSignature,
|
|
1985
|
+
commitment?: Finality
|
|
1971
1986
|
): Promise<ParsedConfirmedTransaction | null>;
|
|
1972
1987
|
|
|
1973
1988
|
/**
|
|
1974
1989
|
* Fetch parsed transaction details for a batch of confirmed transactions
|
|
1975
1990
|
*/
|
|
1976
1991
|
getParsedConfirmedTransactions(
|
|
1977
|
-
signatures: TransactionSignature[]
|
|
1992
|
+
signatures: TransactionSignature[],
|
|
1993
|
+
commitment?: Finality
|
|
1978
1994
|
): Promise<(ParsedConfirmedTransaction | null)[]>;
|
|
1979
1995
|
|
|
1980
1996
|
/**
|
|
@@ -1999,7 +2015,8 @@ feeCalculator: FeeCalculator,...
|
|
|
1999
2015
|
*/
|
|
2000
2016
|
getConfirmedSignaturesForAddress2(
|
|
2001
2017
|
address: PublicKey,
|
|
2002
|
-
options?: ConfirmedSignaturesForAddress2Options
|
|
2018
|
+
options?: ConfirmedSignaturesForAddress2Options,
|
|
2019
|
+
commitment?: Finality
|
|
2003
2020
|
): Promise<Array<ConfirmedSignatureInfo>>;
|
|
2004
2021
|
|
|
2005
2022
|
/**
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@solana/web3.js",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.5.1",
|
|
4
4
|
"description": "Solana Javascript API",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"api",
|
|
@@ -77,7 +77,7 @@
|
|
|
77
77
|
"@types/node": "^14.14.26",
|
|
78
78
|
"@types/node-fetch": "^2.5.8",
|
|
79
79
|
"@types/secp256k1": "^4.0.1",
|
|
80
|
-
"@types/sinon": "^
|
|
80
|
+
"@types/sinon": "^10.0.0",
|
|
81
81
|
"@typescript-eslint/eslint-plugin": "^4.14.2",
|
|
82
82
|
"@typescript-eslint/parser": "^4.14.2",
|
|
83
83
|
"chai": "^4.3.0",
|
|
@@ -100,7 +100,7 @@
|
|
|
100
100
|
"nyc": "^15.1.0",
|
|
101
101
|
"prettier": "^2.0.0",
|
|
102
102
|
"rimraf": "3.0.2",
|
|
103
|
-
"rollup": "2.
|
|
103
|
+
"rollup": "2.45.2",
|
|
104
104
|
"rollup-plugin-dts": "^3.0.1",
|
|
105
105
|
"rollup-plugin-node-polyfills": "^0.2.1",
|
|
106
106
|
"rollup-plugin-terser": "^7.0.2",
|
package/src/connection.ts
CHANGED
|
@@ -219,6 +219,15 @@ export type Commitment =
|
|
|
219
219
|
| 'root' // Deprecated as of v1.5.5
|
|
220
220
|
| 'max'; // Deprecated as of v1.5.5
|
|
221
221
|
|
|
222
|
+
/**
|
|
223
|
+
* A subset of Commitment levels, which are at least optimistically confirmed
|
|
224
|
+
* <pre>
|
|
225
|
+
* 'confirmed': Query the most recent block which has reached 1 confirmation by the cluster
|
|
226
|
+
* 'finalized': Query the most recent block which has been finalized by the cluster
|
|
227
|
+
* </pre>
|
|
228
|
+
*/
|
|
229
|
+
export type Finality = 'confirmed' | 'finalized';
|
|
230
|
+
|
|
222
231
|
/**
|
|
223
232
|
* Filter for largest accounts query
|
|
224
233
|
* <pre>
|
|
@@ -2587,8 +2596,12 @@ export class Connection {
|
|
|
2587
2596
|
* Fetch a list of Transactions and transaction statuses from the cluster
|
|
2588
2597
|
* for a confirmed block
|
|
2589
2598
|
*/
|
|
2590
|
-
async getConfirmedBlock(
|
|
2591
|
-
|
|
2599
|
+
async getConfirmedBlock(
|
|
2600
|
+
slot: number,
|
|
2601
|
+
commitment?: Finality,
|
|
2602
|
+
): Promise<ConfirmedBlock> {
|
|
2603
|
+
const args = this._buildArgsAtLeastConfirmed([slot], commitment);
|
|
2604
|
+
const unsafeRes = await this._rpcRequest('getConfirmedBlock', args);
|
|
2592
2605
|
const res = create(unsafeRes, GetConfirmedBlockRpcResult);
|
|
2593
2606
|
if ('error' in res) {
|
|
2594
2607
|
throw new Error('failed to get confirmed block: ' + res.error.message);
|
|
@@ -2605,11 +2618,18 @@ export class Connection {
|
|
|
2605
2618
|
*/
|
|
2606
2619
|
async getConfirmedBlockSignatures(
|
|
2607
2620
|
slot: number,
|
|
2621
|
+
commitment?: Finality,
|
|
2608
2622
|
): Promise<ConfirmedBlockSignatures> {
|
|
2609
|
-
const
|
|
2610
|
-
slot,
|
|
2611
|
-
|
|
2612
|
-
|
|
2623
|
+
const args = this._buildArgsAtLeastConfirmed(
|
|
2624
|
+
[slot],
|
|
2625
|
+
commitment,
|
|
2626
|
+
undefined,
|
|
2627
|
+
{
|
|
2628
|
+
transactionDetails: 'signatures',
|
|
2629
|
+
rewards: false,
|
|
2630
|
+
},
|
|
2631
|
+
);
|
|
2632
|
+
const unsafeRes = await this._rpcRequest('getConfirmedBlock', args);
|
|
2613
2633
|
const res = create(unsafeRes, GetConfirmedBlockSignaturesRpcResult);
|
|
2614
2634
|
if ('error' in res) {
|
|
2615
2635
|
throw new Error('failed to get confirmed block: ' + res.error.message);
|
|
@@ -2626,10 +2646,10 @@ export class Connection {
|
|
|
2626
2646
|
*/
|
|
2627
2647
|
async getConfirmedTransaction(
|
|
2628
2648
|
signature: TransactionSignature,
|
|
2649
|
+
commitment?: Finality,
|
|
2629
2650
|
): Promise<ConfirmedTransaction | null> {
|
|
2630
|
-
const
|
|
2631
|
-
|
|
2632
|
-
]);
|
|
2651
|
+
const args = this._buildArgsAtLeastConfirmed([signature], commitment);
|
|
2652
|
+
const unsafeRes = await this._rpcRequest('getConfirmedTransaction', args);
|
|
2633
2653
|
const res = create(unsafeRes, GetConfirmedTransactionRpcResult);
|
|
2634
2654
|
if ('error' in res) {
|
|
2635
2655
|
throw new Error(
|
|
@@ -2644,11 +2664,14 @@ export class Connection {
|
|
|
2644
2664
|
*/
|
|
2645
2665
|
async getParsedConfirmedTransaction(
|
|
2646
2666
|
signature: TransactionSignature,
|
|
2667
|
+
commitment?: Finality,
|
|
2647
2668
|
): Promise<ParsedConfirmedTransaction | null> {
|
|
2648
|
-
const
|
|
2649
|
-
signature,
|
|
2669
|
+
const args = this._buildArgsAtLeastConfirmed(
|
|
2670
|
+
[signature],
|
|
2671
|
+
commitment,
|
|
2650
2672
|
'jsonParsed',
|
|
2651
|
-
|
|
2673
|
+
);
|
|
2674
|
+
const unsafeRes = await this._rpcRequest('getConfirmedTransaction', args);
|
|
2652
2675
|
const res = create(unsafeRes, GetParsedConfirmedTransactionRpcResult);
|
|
2653
2676
|
if ('error' in res) {
|
|
2654
2677
|
throw new Error(
|
|
@@ -2663,11 +2686,17 @@ export class Connection {
|
|
|
2663
2686
|
*/
|
|
2664
2687
|
async getParsedConfirmedTransactions(
|
|
2665
2688
|
signatures: TransactionSignature[],
|
|
2689
|
+
commitment?: Finality,
|
|
2666
2690
|
): Promise<(ParsedConfirmedTransaction | null)[]> {
|
|
2667
2691
|
const batch = signatures.map(signature => {
|
|
2692
|
+
const args = this._buildArgsAtLeastConfirmed(
|
|
2693
|
+
[signature],
|
|
2694
|
+
commitment,
|
|
2695
|
+
'jsonParsed',
|
|
2696
|
+
);
|
|
2668
2697
|
return {
|
|
2669
2698
|
methodName: 'getConfirmedTransaction',
|
|
2670
|
-
args
|
|
2699
|
+
args,
|
|
2671
2700
|
};
|
|
2672
2701
|
});
|
|
2673
2702
|
|
|
@@ -2709,7 +2738,10 @@ export class Connection {
|
|
|
2709
2738
|
}
|
|
2710
2739
|
|
|
2711
2740
|
try {
|
|
2712
|
-
const block = await this.getConfirmedBlockSignatures(
|
|
2741
|
+
const block = await this.getConfirmedBlockSignatures(
|
|
2742
|
+
startSlot,
|
|
2743
|
+
'finalized',
|
|
2744
|
+
);
|
|
2713
2745
|
if (block.signatures.length > 0) {
|
|
2714
2746
|
options.until = block.signatures[
|
|
2715
2747
|
block.signatures.length - 1
|
|
@@ -2765,10 +2797,17 @@ export class Connection {
|
|
|
2765
2797
|
async getConfirmedSignaturesForAddress2(
|
|
2766
2798
|
address: PublicKey,
|
|
2767
2799
|
options?: ConfirmedSignaturesForAddress2Options,
|
|
2800
|
+
commitment?: Finality,
|
|
2768
2801
|
): Promise<Array<ConfirmedSignatureInfo>> {
|
|
2802
|
+
const args = this._buildArgsAtLeastConfirmed(
|
|
2803
|
+
[address.toBase58()],
|
|
2804
|
+
commitment,
|
|
2805
|
+
undefined,
|
|
2806
|
+
options,
|
|
2807
|
+
);
|
|
2769
2808
|
const unsafeRes = await this._rpcRequest(
|
|
2770
2809
|
'getConfirmedSignaturesForAddress2',
|
|
2771
|
-
|
|
2810
|
+
args,
|
|
2772
2811
|
);
|
|
2773
2812
|
const res = create(unsafeRes, GetConfirmedSignaturesForAddress2RpcResult);
|
|
2774
2813
|
if ('error' in res) {
|
|
@@ -3476,6 +3515,26 @@ export class Connection {
|
|
|
3476
3515
|
return args;
|
|
3477
3516
|
}
|
|
3478
3517
|
|
|
3518
|
+
/**
|
|
3519
|
+
* @internal
|
|
3520
|
+
*/
|
|
3521
|
+
_buildArgsAtLeastConfirmed(
|
|
3522
|
+
args: Array<any>,
|
|
3523
|
+
override?: Finality,
|
|
3524
|
+
encoding?: 'jsonParsed' | 'base64',
|
|
3525
|
+
extra?: any,
|
|
3526
|
+
): Array<any> {
|
|
3527
|
+
const commitment = override || this._commitment;
|
|
3528
|
+
if (commitment && !['confirmed', 'finalized'].includes(commitment)) {
|
|
3529
|
+
throw new Error(
|
|
3530
|
+
'Using Connection with default commitment: `' +
|
|
3531
|
+
this._commitment +
|
|
3532
|
+
'`, but method requires at least `confirmed`',
|
|
3533
|
+
);
|
|
3534
|
+
}
|
|
3535
|
+
return this._buildArgs(args, override, encoding, extra);
|
|
3536
|
+
}
|
|
3537
|
+
|
|
3479
3538
|
/**
|
|
3480
3539
|
* @internal
|
|
3481
3540
|
*/
|