JSON-RPC eth_getcode behaviour is different from go-ethereum during contract deployment

Description

Problem

The issue is that when `go-thereum` package is used to communicate with Pantheon through JSON-RPC the `eth_getCode` (https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_getcode) is executed with parameter "pending" and Pantheon's JSON-RPC return a response with a value "null" instead of containing contract's code.

Expected behaviour

`go-ethereum` backend (and JSON-RPC) returns contract code bytes no matter what "BLOCK PARAMETER" was passed as the second parameter (`pending` or `latest`) to `eth_getCode` method.

Example of one of the contract codes retrieved through infura.io from mainnet. As you can see both `latest` and `pending` returns contract's byte code.

Current behaviour

In our case if there is no pending transaction for the contract's code and we call the Pantheon JSON-RPC `eth_getCode` method with parameter "pending" we receive different responses than what we expect per infura.io example.

Call with parameter "pending":

Call with parameter "latest":

Environment

None

Status

Assignee

Danno Ferrin

Reporter

Viaceslav Ruckis

Labels

None

Scrum Team

None

Refinement State

Not Started

Sprint

None

Priority

P2
Configure