flashbots / flashbots/ethers-provider-flashbots-bundle

How to serialize a transaction from mempool and sign it into a bundle

Open
#83 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
TypeScript
Stars
566
Forks
211
PR merge metrics
No merged PRs in 30d

Description

i just test signBundle via flashbots, i feel confused. there is the code

```javascript

// the transaction is get from geth mempool
const transaction = {
"blockHash": null,
"blockNumber": null,
"from": "0x0160ea15d2125dd9c211f23169c4e4f4fb7957a8",
"gas": "0x4c4b40",
"gasPrice": "0x1ca10",
"hash": "0x696968e15c7174609adca25769c4e7c0e2c18d1eedbca8e4b71e3a0f59c52797",
"input": "0xc652885f0000000000000000000000009bd2aa38429c356be17c8c7bb07dab299200eeb84178ca8820c1a8dae966f1fdd132a2a874394233000000000000000000000054000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000010000000000000000000000004178ca8820c1a8dae966f1fdd132a2a8743942330000000000000000000000000000000000000000000000000000000000000320",
"nonce": "0x163",
"to": "0x7ede79ed0d3acf3d4843c919975fb7bd97ecccba",
"transactionIndex": null,
"value": "0x0",
"type": "0x0",
"chainId": "0x5",
"v": "0x2e",
"r": "0xf4556687cb3df0f345ab903a2c9c46bb1a9fb413a0f498e8dba3b74253caa313",
"s": "0x281adb2e3f2b73c685aaaec10120b9ade46d6c2cd069d1106ae5093833d0bbf1"
};

const signedBundle = await flashbotsProvider.signBundle([
{
signer: transactionFromSigner.connect(provider),
transaction: {
...baseTransaction,
gasPrice: '',
data: '0x'
},
},
{
// there, i don't know how to serialize transaction from mempool
signedTransaction: ethers.utils.serializeTransaction(transaction)
}
]);
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the ethers.utils.serializeTransaction call and the signBundle usage shown in the issue, then compare them with the repository's bundle examples and serialization requirements. Done means there is a documented, reproducible answer for handling the supplied mempool transaction, including the required fields and signing constraints.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript, typescript
Domain
backend-api-design, blockchain
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
15/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.