feat: remove commitment option from requestAirdrop
This commit is contained in:
		
				
					committed by
					
						 Michael Vines
						Michael Vines
					
				
			
			
				
	
			
			
			
						parent
						
							a9a19e2363
						
					
				
				
					commit
					24bb060292
				
			
							
								
								
									
										1
									
								
								web3.js/module.d.ts
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										1
									
								
								web3.js/module.d.ts
									
									
									
									
										vendored
									
									
								
							| @@ -281,7 +281,6 @@ declare module '@solana/web3.js' { | |||||||
|     requestAirdrop( |     requestAirdrop( | ||||||
|       to: PublicKey, |       to: PublicKey, | ||||||
|       amount: number, |       amount: number, | ||||||
|       commitment?: Commitment, |  | ||||||
|     ): Promise<TransactionSignature>; |     ): Promise<TransactionSignature>; | ||||||
|     sendTransaction( |     sendTransaction( | ||||||
|       transaction: Transaction, |       transaction: Transaction, | ||||||
|   | |||||||
| @@ -294,7 +294,6 @@ declare module '@solana/web3.js' { | |||||||
|     requestAirdrop( |     requestAirdrop( | ||||||
|       to: PublicKey, |       to: PublicKey, | ||||||
|       amount: number, |       amount: number, | ||||||
|       commitment: ?Commitment, |  | ||||||
|     ): Promise<TransactionSignature>; |     ): Promise<TransactionSignature>; | ||||||
|     sendTransaction( |     sendTransaction( | ||||||
|       transaction: Transaction, |       transaction: Transaction, | ||||||
|   | |||||||
| @@ -1703,10 +1703,11 @@ export class Connection { | |||||||
|   async requestAirdrop( |   async requestAirdrop( | ||||||
|     to: PublicKey, |     to: PublicKey, | ||||||
|     amount: number, |     amount: number, | ||||||
|     commitment: ?Commitment, |  | ||||||
|   ): Promise<TransactionSignature> { |   ): Promise<TransactionSignature> { | ||||||
|     const args = this._argsWithCommitment([to.toBase58(), amount], commitment); |     const unsafeRes = await this._rpcRequest('requestAirdrop', [ | ||||||
|     const unsafeRes = await this._rpcRequest('requestAirdrop', args); |       to.toBase58(), | ||||||
|  |       amount, | ||||||
|  |     ]); | ||||||
|     const res = RequestAirdropRpcResult(unsafeRes); |     const res = RequestAirdropRpcResult(unsafeRes); | ||||||
|     if (res.error) { |     if (res.error) { | ||||||
|       throw new Error( |       throw new Error( | ||||||
|   | |||||||
| @@ -86,11 +86,7 @@ test('get program accounts', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [account0.publicKey.toBase58(), LAMPORTS_PER_SOL], | ||||||
|         account0.publicKey.toBase58(), |  | ||||||
|         LAMPORTS_PER_SOL, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -102,11 +98,7 @@ test('get program accounts', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [account1.publicKey.toBase58(), 0.5 * LAMPORTS_PER_SOL], | ||||||
|         account1.publicKey.toBase58(), |  | ||||||
|         0.5 * LAMPORTS_PER_SOL, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -929,7 +921,7 @@ test('get confirmed transaction', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [newAddress.toBase58(), 1, {commitment: 'recent'}], |       params: [newAddress.toBase58(), 1], | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -938,11 +930,7 @@ test('get confirmed transaction', async () => { | |||||||
|     }, |     }, | ||||||
|   ]); |   ]); | ||||||
|  |  | ||||||
|   const recentSignature = await connection.requestAirdrop( |   const recentSignature = await connection.requestAirdrop(newAddress, 1); | ||||||
|     newAddress, |  | ||||||
|     1, |  | ||||||
|     'recent', |  | ||||||
|   ); |  | ||||||
|   mockRpc.push([ |   mockRpc.push([ | ||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
| @@ -1311,11 +1299,7 @@ test('request airdrop', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [account.publicKey.toBase58(), minimumAmount + 42], | ||||||
|         account.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 40, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -1323,18 +1307,42 @@ test('request airdrop', async () => { | |||||||
|         '1WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', |         '1WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', | ||||||
|     }, |     }, | ||||||
|   ]); |   ]); | ||||||
|  |  | ||||||
|  |   const signature = await connection.requestAirdrop( | ||||||
|  |     account.publicKey, | ||||||
|  |     minimumAmount + 42, | ||||||
|  |   ); | ||||||
|  |  | ||||||
|   mockRpc.push([ |   mockRpc.push([ | ||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'getSignatureStatuses', | ||||||
|       params: [account.publicKey.toBase58(), 2, {commitment: 'recent'}], |       params: [ | ||||||
|  |         [ | ||||||
|  |           '1WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', | ||||||
|  |         ], | ||||||
|  |       ], | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
|       result: |       result: { | ||||||
|         '2WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', |         context: { | ||||||
|  |           slot: 11, | ||||||
|  |         }, | ||||||
|  |         value: [ | ||||||
|  |           { | ||||||
|  |             slot: 0, | ||||||
|  |             confirmations: null, | ||||||
|  |             status: {Ok: null}, | ||||||
|  |             err: null, | ||||||
|  |           }, | ||||||
|  |         ], | ||||||
|  |       }, | ||||||
|     }, |     }, | ||||||
|   ]); |   ]); | ||||||
|  |  | ||||||
|  |   await connection.confirmTransaction(signature, 0); | ||||||
|  |  | ||||||
|   mockRpc.push([ |   mockRpc.push([ | ||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
| @@ -1352,9 +1360,6 @@ test('request airdrop', async () => { | |||||||
|     }, |     }, | ||||||
|   ]); |   ]); | ||||||
|  |  | ||||||
|   await connection.requestAirdrop(account.publicKey, minimumAmount + 40); |  | ||||||
|   await connection.requestAirdrop(account.publicKey, 2); |  | ||||||
|  |  | ||||||
|   const balance = await connection.getBalance(account.publicKey); |   const balance = await connection.getBalance(account.publicKey); | ||||||
|   expect(balance).toBe(minimumAmount + 42); |   expect(balance).toBe(minimumAmount + 42); | ||||||
|  |  | ||||||
| @@ -1390,109 +1395,6 @@ test('request airdrop', async () => { | |||||||
|   expect(accountInfo.owner).toEqual(SystemProgram.programId); |   expect(accountInfo.owner).toEqual(SystemProgram.programId); | ||||||
| }); | }); | ||||||
|  |  | ||||||
| // expected to take around 20s |  | ||||||
| test('request airdrop - max commitment', async () => { |  | ||||||
|   const account = new Account(); |  | ||||||
|   const connection = new Connection(url, 'max'); |  | ||||||
|  |  | ||||||
|   mockRpc.push([ |  | ||||||
|     url, |  | ||||||
|     { |  | ||||||
|       method: 'getMinimumBalanceForRentExemption', |  | ||||||
|       params: [0, {commitment: 'recent'}], |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       error: null, |  | ||||||
|       result: 50, |  | ||||||
|     }, |  | ||||||
|   ]); |  | ||||||
|  |  | ||||||
|   const minimumAmount = await connection.getMinimumBalanceForRentExemption( |  | ||||||
|     0, |  | ||||||
|     'recent', |  | ||||||
|   ); |  | ||||||
|  |  | ||||||
|   mockRpc.push([ |  | ||||||
|     url, |  | ||||||
|     { |  | ||||||
|       method: 'requestAirdrop', |  | ||||||
|       params: [ |  | ||||||
|         account.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 40, |  | ||||||
|         {commitment: 'max'}, |  | ||||||
|       ], |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       error: null, |  | ||||||
|       result: |  | ||||||
|         '1WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', |  | ||||||
|     }, |  | ||||||
|   ]); |  | ||||||
|   mockRpc.push([ |  | ||||||
|     url, |  | ||||||
|     { |  | ||||||
|       method: 'getBalance', |  | ||||||
|       params: [account.publicKey.toBase58(), {commitment: 'max'}], |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       error: null, |  | ||||||
|       result: { |  | ||||||
|         context: { |  | ||||||
|           slot: 11, |  | ||||||
|         }, |  | ||||||
|         value: minimumAmount + 40, |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   ]); |  | ||||||
|  |  | ||||||
|   const signature = await connection.requestAirdrop( |  | ||||||
|     account.publicKey, |  | ||||||
|     minimumAmount + 40, |  | ||||||
|   ); |  | ||||||
|   const balance = await connection.getBalance(account.publicKey); |  | ||||||
|   expect(balance).toBe(minimumAmount + 40); |  | ||||||
|  |  | ||||||
|   mockRpc.push([ |  | ||||||
|     url, |  | ||||||
|     { |  | ||||||
|       method: 'getSignatureStatuses', |  | ||||||
|       params: [ |  | ||||||
|         [ |  | ||||||
|           '1WE5w4B7v59x6qjyC4FbG2FEKYKQfvsJwqSxNVmtMjT8TQ31hsZieDHcSgqzxiAoTL56n2w5TncjqEKjLhtF4Vk', |  | ||||||
|         ], |  | ||||||
|       ], |  | ||||||
|     }, |  | ||||||
|     { |  | ||||||
|       error: null, |  | ||||||
|       result: { |  | ||||||
|         context: { |  | ||||||
|           slot: 11, |  | ||||||
|         }, |  | ||||||
|         value: [ |  | ||||||
|           { |  | ||||||
|             slot: 0, |  | ||||||
|             confirmations: null, |  | ||||||
|             status: {Ok: null}, |  | ||||||
|             err: null, |  | ||||||
|           }, |  | ||||||
|         ], |  | ||||||
|       }, |  | ||||||
|     }, |  | ||||||
|   ]); |  | ||||||
|  |  | ||||||
|   const {value} = await connection.getSignatureStatus(signature); |  | ||||||
|   if (value === null) { |  | ||||||
|     expect(value).not.toBeNull(); |  | ||||||
|     return; |  | ||||||
|   } |  | ||||||
|  |  | ||||||
|   // Signature should be finalized and therefore confirmations should be null |  | ||||||
|   if (value.confirmations !== null) { |  | ||||||
|     expect(value.confirmations).toBeNull(); |  | ||||||
|     return; |  | ||||||
|   } |  | ||||||
| }); |  | ||||||
|  |  | ||||||
| test('transaction failure', async () => { | test('transaction failure', async () => { | ||||||
|   const account = new Account(); |   const account = new Account(); | ||||||
|   const connection = new Connection(url, 'recent'); |   const connection = new Connection(url, 'recent'); | ||||||
| @@ -1518,11 +1420,7 @@ test('transaction failure', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [account.publicKey.toBase58(), minimumAmount + 100010], | ||||||
|         account.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 100010, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -1724,11 +1622,7 @@ test('transaction', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [accountFrom.publicKey.toBase58(), minimumAmount + 100010], | ||||||
|         accountFrom.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 100010, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -1764,11 +1658,7 @@ test('transaction', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [accountTo.publicKey.toBase58(), minimumAmount + 21], | ||||||
|         accountTo.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 21, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
|   | |||||||
| @@ -49,11 +49,7 @@ test('create and query nonce account', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [from.publicKey.toBase58(), minimumAmount * 2], | ||||||
|         from.publicKey.toBase58(), |  | ||||||
|         minimumAmount * 2, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -168,11 +164,7 @@ test('create and query nonce account with seed', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [from.publicKey.toBase58(), minimumAmount * 2], | ||||||
|         from.publicKey.toBase58(), |  | ||||||
|         minimumAmount * 2, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
|   | |||||||
| @@ -36,11 +36,7 @@ test('transaction-payer', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [accountPayer.publicKey.toBase58(), LAMPORTS_PER_SOL], | ||||||
|         accountPayer.publicKey.toBase58(), |  | ||||||
|         LAMPORTS_PER_SOL, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -54,11 +50,7 @@ test('transaction-payer', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [accountFrom.publicKey.toBase58(), minimumAmount + 12], | ||||||
|         accountFrom.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 12, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
| @@ -72,11 +64,7 @@ test('transaction-payer', async () => { | |||||||
|     url, |     url, | ||||||
|     { |     { | ||||||
|       method: 'requestAirdrop', |       method: 'requestAirdrop', | ||||||
|       params: [ |       params: [accountTo.publicKey.toBase58(), minimumAmount + 21], | ||||||
|         accountTo.publicKey.toBase58(), |  | ||||||
|         minimumAmount + 21, |  | ||||||
|         {commitment: 'recent'}, |  | ||||||
|       ], |  | ||||||
|     }, |     }, | ||||||
|     { |     { | ||||||
|       error: null, |       error: null, | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user