stellar / quickstart

Home of the stellar/quickstart docker image for development and testing
Apache License 2.0
195 stars 206 forks source link

Add support for ENABLE_DIAGNOSTICS_FOR_TX_SUBMISSION #562

Closed leighmcculloch closed 9 months ago

leighmcculloch commented 9 months ago

In the following PR we added support for the new stellar-core that supports ENABLE_DIAGNOSTICS_FOR_TX_SUBMISSION. We should enable it whenever the existing soroban diagnostics flag is enabled.

leighmcculloch commented 9 months ago

@2opremio @dmkozh Which stellar-core cfg files is this new flag supposed to be enabled on?

It needs to be enabled on the nodes that accept submissions. In quickstart, correct me if I'm wrong but I think two nodes accept submissions:

Is that correct?

leighmcculloch commented 9 months ago

I tried enabling it on the validator node and submitting directly to it with a transaction that errors. This is what I see, no diagnostic logs:

❯ http -v :11626/tx blob=="$(pbpaste)"
GET /tx?blob=AAAAAgAAAABZdSg0qamqOPiSLDnYTfC%2FhMQrB3gwDHNIS86Hd6i1WgANwx8AAABDAAAAAwAAAAEAAAAAAAAAAAAAAABlw4MsAAAAAAAAAAEAAAAAAAAAGAAAAAAAAAAB2LKxTGD%2By2X7KqgcvqedCDXK%2FA4NhR%2BGESV8HltB4cIAAAAIdHJhbnNmZXIAAAADAAAAEgAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAABIAAAAAAAAAAFl1KDSpqao4%2BJIsOdhN8L%2BExCsHeDAMc0hLzod3qLVaAAAACgAAAAAAAAAAAAAAADuaygAAAAABAAAAAQAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAAY2Dt%2BtVAAAArwAAABEAAAABAAAAAwAAAA8AAAASYXV0aGVudGljYXRvcl9kYXRhAAAAAAANAAAAJUmWDeWIDoxodDQXD2R2YFuP5K65ooYyx5lc87qDHZdjBQAAAAAAAAAAAAAPAAAAEGNsaWVudF9kYXRhX2pzb24AAAANAAAAhnsidHlwZSI6IndlYmF1dGhuLmdldCIsImNoYWxsZW5nZSI6InlWWFVPY1YyY2lTbmM3ZFk1NjBTQjliRWdYWElqX3FYRlpYa3ZtV18zZFkiLCJvcmlnaW4iOiJodHRwOi8vbG9jYWxob3N0OjQ1MDciLCJjcm9zc09yaWdpbiI6ZmFsc2V9AAAAAAAPAAAACXNpZ25hdHVyZQAAAAAAAA0AAABAlMFZSo0I190mfh8%2FztdVjpXZSZ4s8Vvt6T89UxnPyDqkDJrBSZKvo%2BgRVJFfput9IKXecDn0BkMUG36ujl4dLgAAAAAAAAAB2LKxTGD%2By2X7KqgcvqedCDXK%2FA4NhR%2BGESV8HltB4cIAAAAIdHJhbnNmZXIAAAADAAAAEgAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAABIAAAAAAAAAAFl1KDSpqao4%2BJIsOdhN8L%2BExCsHeDAMc0hLzod3qLVaAAAACgAAAAAAAAAAAAAAADuaygAAAAAAAAAAAQAAAAAAAAADAAAABgAAAAHYsrFMYP7LZfsqqBy%2Bp50INcr8Dg2FH4YRJXweW0HhwgAAABQAAAABAAAABgAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAABQAAAABAAAAB5k3n%2BAOCayV3Y4yKxup%2FuPjMXeexQx%2B2Q7sXcT56n0XAAAAAwAAAAYAAAAB2LKxTGD%2By2X7KqgcvqedCDXK%2FA4NhR%2BGESV8HltB4cIAAAAQAAAAAQAAAAIAAAAPAAAAB0JhbGFuY2UAAAAAEgAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAAAEAAAAAAAAAAFl1KDSpqao4%2BJIsOdhN8L%2BExCsHeDAMc0hLzod3qLVaAAAABgAAAAF43D30NVPGMtwv75pepPdL87f7oQfemIv6NTycYxgq%2FQAAABUAAAGNg7frVQAAAAAQ30chAAB2yAAAAbgAAAAAACwVwAAAAAF3qLVaAAAAQPM32CrbgY%2FQO65QVpW84jaoxl5RNVd9WegM5%2FHYYxvbKeKq6BjaQSKGfJv%2FbPRBcaz5RMDu1qG7NdCSfaPxKAA%3D HTTP/1.1
Accept: */*
Accept-Encoding: gzip, deflate
Connection: keep-alive
Host: localhost:11626
User-Agent: HTTPie/3.2.2

HTTP/1.0 200 OK
Content-Length: 54
Content-Type: application/json

{
    "error": "AAAAAAAAAAD////wAAAAAA==",
    "status": "ERROR"
}
dmkozh commented 9 months ago

ENABLE_DIAGNOSTICS_FOR_TX_SUBMISSION has to be enabled on the core nodes that accept transactions (via tx endpoint). So I guess for quickstart that would be validator node. Also keep in mind that only a limited set of errors will have diagnostics attach (most of the txSOROBAN_INVALID errors and maybe a couple more Soroban-related cases).

leighmcculloch commented 9 months ago

Adding support for ENABLE_DIAGNOSTICS_FOR_TX_SUBMISSION in:

Also, sort of related change and tidy up as part of this work: