graphprotocol / graphprotocol/graph-node

[Bug] Decode the input data of tx

オープン
#5,643 コメント 2 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

bug Stale
主要言語
Rust
スター
3.2k
フォーク
1.1k
平均マージ
4日 1時間
マージ済み PR(30日)
1

説明

Bug report

I am trying to debug the input data from tx https://arbiscan.io/tx/0x005bc2cc2715a77d8ac20524789a99bc05ca4048a3c9d78c5ad525c7139df9cf

This is my input data which I am using to decode
00000000000000000000000000000000000000000000000000000000000065f40000000000000000000000000000000000000000000000000000000000000276000000000000000000000000000000000000000000000000000000000000010016e3850080805d39bdb096fc08bf0041480292473fadfb4c72009291f11eb15f00000000000000000000000000000000000000000000000000000000000001202beda7a630edebbcad1bc24cd1f90a077ec6cda82c3771a387de0a7d903198da0000000000000000000000000000000000000000000000000000000066e0863d00000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000603d4f93a04a08ef38ccafd24c35084ecd0007810c986f677c6631b39c871ff0284c3ce5c5e58d837242f1bac4ad70fc63a378a98b69d24aadf3f44b4fc3dabcfd1b00000000000000000000000000000000000000000000000000000000000000

let decoded = ethereum.decode(
        "(uint256,uint256,uint256[],bytes32,address[],bytes32,uint64,bytes)",
        tx.input
      );

And here is the abi of function

{
    "inputs": [
      { "internalType": "uint256", "name": "remoteChainId", "type": "uint256" },
      { "internalType": "uint256", "name": "blockNonce", "type": "uint256" },
      {
        "internalType": "uint256[]",
        "name": "invalidBlockNonces",
        "type": "uint256[]"
      },
      {
        "internalType": "bytes32",
        "name": "finalizersHash",
        "type": "bytes32"
      },
      {
        "internalType": "address[]",
        "name": "finalizers",
        "type": "address[]"
      },
      { "internalType": "bytes32", "name": "salt", "type": "bytes32" },
      { "internalType": "uint64", "name": "expiry", "type": "uint64" },
      { "internalType": "bytes", "name": "multiSignature", "type": "bytes" }
    ],
    "name": "finalize",
    "outputs": [],
    "stateMutability": "nonpayable",
    "type": "function"
  }

It seems decoding is not working.

Relevant log output

No response

IPFS hash

0x005bc2cc2715a77d8ac20524789a99bc05ca4048a3c9d78c5ad525c7139df9cf

Subgraph name or link to explorer

https://api.studio.thegraph.com/query/79955/test/v0.0.61

Some information to help us out
  • Tick this box if this bug is caused by a regression found in the latest release.
  • Tick this box if this bug is specific to the hosted service.
  • I have searched the issue tracker to make sure this issue is not a duplicate.
OS information

macOS

### Tasks

コントリビューションガイド

コントリビューションガイドを開く

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

調査の方向性

まず、issue で提供されているトランザクション入力と ABI を使って ethereum.decode の呼び出しを再現し、正確なエラーまたは出力を記録します。提供されたトランザクションデータを finalize ABI と比較し、ホストされたサービスの動作を調査します。デコードの問題が説明され、検証済みの修正または明確な制限事項が文書化されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
blockchain
領域
api, blockchain
issue の種類
バグ
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
説明が足りない
初心者へのやさしさ
25/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。