Missing transaction in Devnet
- Dominant language
- Rust
- Stars
- 56.8k
- Forks
- 2.9k
- Avg merge
- 2d 9h
- Merged PRs (30d)
- 5
Description
Devnet: there must be some sort of desync / lag inside fuel-core processes when a transaction is sent. This is not happening in testnet, so I think there could be regression or new bug somewhere.
```
const tx = await relayCommonMessage({
relayer,
message,
coins,
});
while (true) {
const response = await tx
.waitForResult()
.then((result) => {
console.log("waitForResult() success");
console.dir(result, { depth: null });
})
.catch((error) => {
console.log("error...");
return null;
});
if (!!response) {
break;
}
}
```
The transaction is succeeding but when fetching the result (waitForResult()), it looks like the transaction does not exist at first, and it nets the error below, which I "fixed" by putting the while(true) block which eventually resolves.
```
FuelError: Asset not found for given asset id.
at mapGqlErrorMessage (/Users/mad/fuel/auto-relayer/node_modules/.pnpm/@fuel-ts+account@0.103.0_vitest@3.0.8_@types+node@16.18.126_yaml@2.7.0_/node_modules/@fuel-ts/account/src/providers/utils/handle-gql-error-message.ts:100:12)
at Array.map ()
at assertGqlResponseHasNoErrors (/Users/mad/fuel/auto-relayer/node_modules/.pnpm/@fuel-ts+account@0.103.0_vitest@3.0.8_@types+node@16.18.126_yaml@2.7.0_/node_modules/@fuel-ts/account/src/providers/utils/handle-gql-error-message.ts:144:31)
at _FuelGraphqlSubscriber.next (/Users/mad/fuel/auto-relayer/node_modules/.pnpm/@fuel-ts+account@0.103.0_vitest@3.0.8_@types+node@16.18.126_yaml@2.7.0_/node_modules/@fuel-ts/account/src/providers/fuel-graphql-subscriber.ts:146:9)
at process.sub (node:internal/process/task_queues:105:5)
at async _TransactionResponse.waitForStatusChange (/Users/mad/fuel/auto-relayer/node_modules/.pnpm/@fuel-ts+account@0.103.0_vitest@3.0.8_@types+node@16.18.126_yaml@2.7.0_/node_modules/@fuel-ts/account/src/providers/transaction-response/transaction-response.ts:464:22) {
VERSIONS: { FUEL_CORE: '0.47.1', FORC: '0.68.7', FUELS: '0.103.0' },
metadata: {},
rawError: {
message: 'resource was not found in table `fuel_core_storage::tables::Transactions` at the: crates/fuel-core/src/graphql_api/database.rs:234',
locations: [ [Object] ],
path: [ 'submitAndAwaitStatus', 'transaction' ]
},
code: 'asset-not-found'
}
```
Fuels TS-SDK version: 0.103 (latest) (
Contributor guide
Research direction
Reproduce the Devnet failure from the relayCommonMessage and waitForResult() flow, then inspect crates/fuel-core/src/graphql_api/database.rs around line 234 and the transaction-status path. Compare Devnet with testnet and verify that a successfully submitted transaction can be fetched without the temporary retry loop or the Transactions-table error.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, typescript
- Domain
- blockchain, distributed-systems
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100