[Transaction] klay_createAccessList
This method creates an accessList based on a given Transaction. The accessList contains all storage slots and addresses read and written by the transaction, except for the sender account and the precompiles. This method uses the same transaction call object and blockNumberOrTag object as caver.rpc.klay.call. An accessList can be used to release stuck contracts that became inaccessible due to gas cost increases. Adding an accessList to your transaction does not necessary result in lower gas usage compared to a transaction without an access list.
JSONRPC: klay_createAccessList
Request
- application/json
Body
Array [
- IntegerBlockNumber
- HexadecimalBlockNumber
- BlockTag
- BlockHash
]
params
undefined[]
required
CallObject
object
The transaction call object. See the next table for the object's properties.
(optional) The address the transaction is sent from.
(optional when testing the deployment of a new contract) The address the transaction is directed to.
(optional) Integer of the gas provided for the transaction execution. klay_call consumes zero gas, but this parameter may be needed by some executions.
(optional) Integer of the gasPrice used for each paid gas.
(optional) Integer of the value sent with this transaction.
(optional) Hash of the method signature and encoded parameters. It replaces data field, but 'data` field is still supported for backward compatibility.
BlockParameter
object
(optional) A block number, blockhash or the block tag string (latest or earliest). If omitted, latest will be used.
oneOf
the block number with type integer
number
the block number with type hexadecimal
string
the block tag [latest, pending, earliest]
string
the block hash
string
Responses
- 200
returns an object includes an access list
- application/json
- Schema
- Example (from schema)
Schema
Array [
]
error
object
A Number that indicates the error type that occurred. This MUST be an integer.
code | message | description |
---|---|---|
-32700 | Parse error | invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. |
-32602 | Invalid params | Invalid method parameter(s). |
A String providing a short description of the error. The message SHOULD be limited to a concise single sentence.
A Primitive or Structured value that contains additional information about the error. This may be omitted. The value of this member is defined by the Server (e.g. detailed error information, nested errors etc.).
result
object
accessList
object[]
required
Lowest number block of returned range.
A two-dimensional array of effective priority fees per gas at the requested block percentiles.
An array of block base fees per gas. This includes the next block after the newest of the returned range, because this value can be derived from the newest block. Zeroes are returned for pre-EIP-1559 blocks.
An array of gasUsed/gasLimit in the block.
{
"jsonrpc": "2.0",
"id": 0,
"error": {
"code": -32700,
"message": "Parse error",
"data": "string"
},
"result": {
"accessList": [],
"gasUsed": "0x0"
}
}