Skip to content

Commit

Permalink
fix types.
Browse files Browse the repository at this point in the history
  • Loading branch information
avkos committed Oct 23, 2023
1 parent 5a0da12 commit bf66cc0
Show file tree
Hide file tree
Showing 2 changed files with 91 additions and 8 deletions.
85 changes: 85 additions & 0 deletions packages/web3-eth/test/integration/rpc.test.ts
Original file line number Diff line number Diff line change
Expand Up @@ -264,6 +264,91 @@ describe('rpc', () => {
validateTransaction(res as TransactionInfo);
expect(res?.hash).toBe(receipt.transactionHash);
});
it('check get transaction fields', async () => {
const receipt0 = await web3Eth.sendTransaction({
from: tempAcc.address,
value: '0x1',
to: tempAcc2.address,
type: BigInt(0),
});
const res0 = await web3Eth.getTransaction(receipt0.transactionHash);

expect(res0.type).toBeDefined();
expect(res0.hash).toBeDefined();
expect(res0.nonce).toBeDefined();
expect(res0.blockHash).toBeDefined();
expect(res0.blockNumber).toBeDefined();
expect(res0.transactionIndex).toBeDefined();
expect(res0.from).toBeDefined();
expect(res0.to).toBeDefined();
expect(res0.value).toBeDefined();
expect(res0.gas).toBeDefined();
expect(res0.input).toBeDefined();
expect(res0.r).toBeDefined();
expect(res0.s).toBeDefined();
expect(res0.v).toBeDefined();
expect(res0.data).toBeDefined();
expect(res0?.hash).toBe(receipt0.transactionHash);
expect(res0.gasPrice).toBeDefined();

const receipt1 = await web3Eth.sendTransaction({
from: tempAcc.address,
value: '0x1',
maxPriorityFeePerGas: BigInt(50000),
maxFeePerGas: BigInt(50000),
to: tempAcc2.address,
type: BigInt(1),
});
const res1 = await web3Eth.getTransaction(receipt1.transactionHash);
expect(res1.type).toBeDefined();
expect(res1.hash).toBeDefined();
expect(res1.nonce).toBeDefined();
expect(res1.blockHash).toBeDefined();
expect(res1.blockNumber).toBeDefined();
expect(res1.transactionIndex).toBeDefined();
expect(res1.from).toBeDefined();
expect(res1.to).toBeDefined();
expect(res1.value).toBeDefined();
expect(res1.gas).toBeDefined();
expect(res1.input).toBeDefined();
expect(res1.r).toBeDefined();
expect(res1.s).toBeDefined();
expect(res1.v).toBeDefined();
expect(res1.data).toBeDefined();
expect(res1?.hash).toBe(receipt1.transactionHash);
expect(res1.gasPrice).toBeDefined();
expect(res1.maxPriorityFeePerGas).toBeDefined();
expect(res1.maxFeePerGas).toBeDefined();
expect(res1.accessList).toBeDefined();

const receipt2 = await web3Eth.sendTransaction({
from: tempAcc.address,
value: '0x1',
to: tempAcc2.address,
type: BigInt(2),
});
const res2 = await web3Eth.getTransaction(receipt2.transactionHash);
expect(res2.type).toBeDefined();
expect(res2.hash).toBeDefined();
expect(res2.nonce).toBeDefined();
expect(res2.blockHash).toBeDefined();
expect(res2.blockNumber).toBeDefined();
expect(res2.transactionIndex).toBeDefined();
expect(res2.from).toBeDefined();
expect(res2.to).toBeDefined();
expect(res2.value).toBeDefined();
expect(res2.gas).toBeDefined();
expect(res2.input).toBeDefined();
expect(res2.r).toBeDefined();
expect(res2.s).toBeDefined();
expect(res2.v).toBeDefined();
expect(res2.data).toBeDefined();
expect(res2?.hash).toBe(receipt2.transactionHash);
expect(res2.gasPrice).toBeDefined();
expect(res2.maxPriorityFeePerGas).toBeDefined();
expect(res2.maxFeePerGas).toBeDefined();
expect(res2.accessList).toBeDefined();
});

itIf(getSystemTestBackend() !== 'ganache')('getPendingTransactions', async () => {
const tx = web3Eth.sendTransaction({
Expand Down
14 changes: 6 additions & 8 deletions packages/web3-types/src/apis/eth_execution_api.ts
Original file line number Diff line number Diff line change
Expand Up @@ -98,16 +98,14 @@ export interface TransactionLegacySignedAPI extends TransactionLegacyUnsignedAPI
}

// https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L144
export type TransactionUnsignedAPI =
| Transaction1559UnsignedAPI
| Transaction2930UnsignedAPI
| TransactionLegacyUnsignedAPI;
export type TransactionUnsignedAPI = Transaction1559UnsignedAPI &
Transaction2930UnsignedAPI &
TransactionLegacyUnsignedAPI;

// https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L211
export type TransactionSignedAPI =
| Transaction1559SignedAPI
| Transaction2930SignedAPI
| TransactionLegacySignedAPI;
export type TransactionSignedAPI = Transaction1559SignedAPI &
Transaction2930SignedAPI &
TransactionLegacySignedAPI;

// https://github.com/ethereum/execution-apis/blob/main/src/schemas/transaction.yaml#L216
export type TransactionInfoAPI = TransactionSignedAPI & {
Expand Down

0 comments on commit bf66cc0

Please sign in to comment.