neo-project / neo-modules

MIT License
60 stars 100 forks source link

ApplicationLog Output LogEventArgs #841

Open cschuchardt88 opened 10 months ago

cschuchardt88 commented 10 months ago

Summary or problem description ApplicationLog needs to output the application engine logs LogEventArgs. Reason is for neo-express to give more debug information. Of course we don't have to have it. But it's a quality of life feature. It would be A LOT easier to do it this way.

{
  "transaction": {
    "hash": "0xb9203e4f28c5e07eef0bc5e225a2603cc7f4ba0bba8ba04f048750ac7f8ba590",
    "size": 205,
    "version": 0,
    "nonce": 640966548,
    "sender": "NbGJ2PMcd7DeVYCnAf3neEuEqgLdaGX6rP",
    "sysfee": "2645280",
    "netfee": "1188520",
    "validuntilblock": 5876,
    "signers": [
      {
        "account": "0xf114fa11a19cb02299010fe5a5a0518179ee61a8",
        "scopes": "CalledByEntry"
      }
    ],
    "attributes": [],
    "script": "DAVDaHJpcxHAHwwIc2F5SGVsbG8MFAIXhEkqUKHxhCwG7sF2B8byqmlBQWJ9W1I=",
    "witnesses": [
      {
        "invocation": "DEDejoY2ixnHQmejF6Yc6NsnIrHOHRMGk4l5mDvO/FYKhSMcYR/KeU51nTncemMJEPAm98UI9cVptQldeVvqikew",
        "verification": "DCECJJjt3o9js9i1pEOyfB7alrHtZ+v7Pu1Xx736tD2VS3dBVuezJw=="
      }
    ]
  },
  "application-log": {
    "txid": "0xb9203e4f28c5e07eef0bc5e225a2603cc7f4ba0bba8ba04f048750ac7f8ba590",
    "executions": [
      {
        "trigger": "Application",
        "vmstate": "HALT",
        "exception": null,
        "gasconsumed": "2645280",
        "stack": [
          {
            "type": "ByteString",
            "value": "SGVsbG8sIENocmlz"
          }
        ],
        "notifications": [],
        "logs": [ // this line here
          {
            "contract": "0x4169aaf2c60776c1ee062c84f1a1502a49841702",
            "message": "Hello, Chris"
          }
        ]
      }
    ]
  }
}

Do you have any solution you want to propose? Add LogEventArgs output to ApplicationLog plugin and to RCPClient.

Where in the software does this update applies to?