The submit transaction result only accounts for "error" or "success", and mis-handles "unknown" as "success"
|
export class SubmitTransactionResult { |
this causes the issue where if Agora or blockchain has a problem (e.g. runs out of SOL, the blockchain has some delay), then Agora will return "unknown" instead of "error" or "success". Here's the problem:
- ios/android SDKs handle "unknown", and gracefully retry
- node SDK does NOT handle it properly, and returns "success"
this leads to the problem where:
- when Agora/Solana blockchain has a hiccup, it returns txn IDs to node SDK clients as "successful" txns, however those txns do not exist on the blockchain
- clients don't know any better, and thus cannot retry properly ==> missing Earns for app users
see discussion in this Discord thread.
The submit transaction result only accounts for "error" or "success", and mis-handles "unknown" as "success"
kin-node/src/client/internal.ts
Line 49 in 4295b4f
this causes the issue where if Agora or blockchain has a problem (e.g. runs out of SOL, the blockchain has some delay), then Agora will return "unknown" instead of "error" or "success". Here's the problem:
this leads to the problem where:
see discussion in this Discord thread.