Commit 1bdd60d1 authored by Adrian Sutton's avatar Adrian Sutton

Merge remote-tracking branch 'origin/develop' into aj/split-providers

parents 2e4de94b c3b17448
...@@ -192,9 +192,13 @@ jobs: ...@@ -192,9 +192,13 @@ jobs:
description: Run the release script description: Run the release script
type: boolean type: boolean
default: false default: false
resource_class:
description: Docker resoruce class
type: string
default: medium
machine: machine:
image: ubuntu-2204:2022.07.1 image: ubuntu-2204:2022.07.1
resource_class: medium resource_class: "<<parameters.resource_class>>"
docker_layer_caching: true # we rely on this for faster builds, and actively warm it up for builds with common stages docker_layer_caching: true # we rely on this for faster builds, and actively warm it up for builds with common stages
steps: steps:
- checkout - checkout
...@@ -1668,6 +1672,7 @@ workflows: ...@@ -1668,6 +1672,7 @@ workflows:
docker_tags: <<pipeline.git.revision>>,latest docker_tags: <<pipeline.git.revision>>,latest
publish: true publish: true
release: true release: true
resource_class: xlarge
context: context:
- oplabs-gcr - oplabs-gcr
requires: requires:
......
...@@ -7,7 +7,7 @@ toolchain go1.21.1 ...@@ -7,7 +7,7 @@ toolchain go1.21.1
require github.com/ethereum-optimism/optimism v0.0.0 require github.com/ethereum-optimism/optimism v0.0.0
require ( require (
golang.org/x/crypto v0.14.0 // indirect golang.org/x/crypto v0.15.0 // indirect
golang.org/x/sys v0.14.0 // indirect golang.org/x/sys v0.14.0 // indirect
) )
......
...@@ -4,8 +4,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb ...@@ -4,8 +4,8 @@ github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZb
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q= golang.org/x/sys v0.14.0 h1:Vz7Qs629MkJkGyHxUlRHizWJRG2j8fbQKjELVSNhy7Q=
golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= golang.org/x/sys v0.14.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA= gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
......
...@@ -33,7 +33,7 @@ flag_management: ...@@ -33,7 +33,7 @@ flag_management:
individual_flags: individual_flags:
- name: contracts-bedrock-tests - name: contracts-bedrock-tests
paths: paths:
- packages/contracts-bedrock - packages/contracts-bedrock/src
statuses: statuses:
- type: patch - type: patch
target: 100% target: 100%
......
...@@ -33,13 +33,13 @@ require ( ...@@ -33,13 +33,13 @@ require (
github.com/multiformats/go-multiaddr v0.12.0 github.com/multiformats/go-multiaddr v0.12.0
github.com/multiformats/go-multiaddr-dns v0.3.1 github.com/multiformats/go-multiaddr-dns v0.3.1
github.com/olekukonko/tablewriter v0.0.5 github.com/olekukonko/tablewriter v0.0.5
github.com/onsi/gomega v1.29.0 github.com/onsi/gomega v1.30.0
github.com/pkg/errors v0.9.1 github.com/pkg/errors v0.9.1
github.com/pkg/profile v1.7.0 github.com/pkg/profile v1.7.0
github.com/prometheus/client_golang v1.17.0 github.com/prometheus/client_golang v1.17.0
github.com/stretchr/testify v1.8.4 github.com/stretchr/testify v1.8.4
github.com/urfave/cli/v2 v2.25.7 github.com/urfave/cli/v2 v2.25.7
golang.org/x/crypto v0.14.0 golang.org/x/crypto v0.15.0
golang.org/x/exp v0.0.0-20231006140011-7918f672742d golang.org/x/exp v0.0.0-20231006140011-7918f672742d
golang.org/x/sync v0.5.0 golang.org/x/sync v0.5.0
golang.org/x/term v0.14.0 golang.org/x/term v0.14.0
...@@ -200,7 +200,7 @@ require ( ...@@ -200,7 +200,7 @@ require (
golang.org/x/mod v0.13.0 // indirect golang.org/x/mod v0.13.0 // indirect
golang.org/x/net v0.17.0 // indirect golang.org/x/net v0.17.0 // indirect
golang.org/x/sys v0.14.0 // indirect golang.org/x/sys v0.14.0 // indirect
golang.org/x/text v0.13.0 // indirect golang.org/x/text v0.14.0 // indirect
golang.org/x/tools v0.14.0 // indirect golang.org/x/tools v0.14.0 // indirect
google.golang.org/protobuf v1.31.0 // indirect google.golang.org/protobuf v1.31.0 // indirect
gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect gopkg.in/natefinch/lumberjack.v2 v2.0.0 // indirect
......
...@@ -569,8 +569,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J ...@@ -569,8 +569,8 @@ github.com/onsi/gomega v1.7.1/go.mod h1:XdKZgCCFLUoM/7CFJVPcG8C1xQ1AJ0vpAezJrB7J
github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo= github.com/onsi/gomega v1.10.1/go.mod h1:iN09h71vgCQne3DLsj+A5owkum+a2tYe+TOCB1ybHNo=
github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY= github.com/onsi/gomega v1.17.0/go.mod h1:HnhC7FXeEQY45zxNK3PPoIUhzk/80Xly9PcubAlGdZY=
github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro= github.com/onsi/gomega v1.19.0/go.mod h1:LY+I3pBVzYsTBU1AnDwOSxaYi9WoWiqgwooUqq9yPro=
github.com/onsi/gomega v1.29.0 h1:KIA/t2t5UBzoirT4H9tsML45GEbo3ouUnBHsCfD2tVg= github.com/onsi/gomega v1.30.0 h1:hvMK7xYz4D3HapigLTeGdId/NcfQx1VHMJc60ew99+8=
github.com/onsi/gomega v1.29.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ= github.com/onsi/gomega v1.30.0/go.mod h1:9sxs+SwGrKI0+PWe4Fxa9tFQQBG5xSsSbMXOI8PPpoQ=
github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.2/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg= github.com/opencontainers/runtime-spec v1.1.0 h1:HHUyrt9mwHUjtasSbXSMvs4cyFxh+Bll4AjJ9odEGpg=
github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.1.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0=
...@@ -769,8 +769,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm ...@@ -769,8 +769,8 @@ golang.org/x/crypto v0.0.0-20210322153248-0c34fe9e7dc2/go.mod h1:T9bdIzuCu7OtxOm
golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
golang.org/x/crypto v0.14.0 h1:wBqGXzWJW6m1XrIKlAH0Hs1JJ7+9KBwnIO8v66Q9cHc= golang.org/x/crypto v0.15.0 h1:frVn1TEaCEaZcn3Tmd7Y2b5KKPaZ+I32Q2OA3kYp5TA=
golang.org/x/crypto v0.14.0/go.mod h1:MVFd36DqK4CsrnJYDkBA3VC4m2GkXAM0PvzMCn4JQf4= golang.org/x/crypto v0.15.0/go.mod h1:4ChreQoLWfG3xLDer1WdlH5NdlQ3+mwnQq1YTKY+72g=
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI= golang.org/x/exp v0.0.0-20231006140011-7918f672742d h1:jtJma62tbqLibJ5sFQz8bKtEM8rJBtfilJ2qTU199MI=
golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo= golang.org/x/exp v0.0.0-20231006140011-7918f672742d/go.mod h1:ldy0pHrwJyGW56pPQzzkH36rKxoZW1tw7ZJpeKx+hdo=
...@@ -895,8 +895,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= ...@@ -895,8 +895,8 @@ golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ=
golang.org/x/text v0.13.0 h1:ablQoSUd0tRdKxZewP80B+BaqeKJuVhuRxj/dkrun3k= golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
golang.org/x/text v0.13.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20180412165947-fbb02b2291d2/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20201208040808-7e3f01d25324/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=
......
...@@ -15,7 +15,7 @@ var MIPSStorageLayout = new(solc.StorageLayout) ...@@ -15,7 +15,7 @@ var MIPSStorageLayout = new(solc.StorageLayout)
var MIPSDeployedBin = "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063836e7b32146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611d2e565b6100d0565b604051908152602001610062565b60006100da611c5b565b608081146100e757600080fd5b604051610600146100f757600080fd5b6084871461010457600080fd5b6101a4851461011257600080fd5b8635608052602087013560a052604087013560e090811c60c09081526044890135821c82526048890135821c61010052604c890135821c610120526050890135821c61014052605489013590911c61016052605888013560f890811c610180526059890135901c6101a052605a880135901c6101c0526102006101e0819052606288019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d361061b565b915050610612565b6101408101805160010167ffffffffffffffff16905260608101516000906102039082610737565b9050603f601a82901c16600281148061022257508063ffffffff166003145b156102775760006002836303ffffff1663ffffffff16901b846080015163f00000001617905061026c8263ffffffff1660021461026057601f610263565b60005b60ff16826107f3565b945050505050610612565b6101608301516000908190601f601086901c81169190601587901c16602081106102a3576102a3611da2565b602002015192508063ffffffff851615806102c457508463ffffffff16601c145b156102fb578661016001518263ffffffff16602081106102e6576102e6611da2565b6020020151925050601f600b86901c166103b7565b60208563ffffffff16101561035d578463ffffffff16600c148061032557508463ffffffff16600d145b8061033657508463ffffffff16600e145b15610347578561ffff1692506103b7565b6103568661ffff1660106108e4565b92506103b7565b60288563ffffffff1610158061037957508463ffffffff166022145b8061038a57508463ffffffff166026145b156103b7578661016001518263ffffffff16602081106103ac576103ac611da2565b602002015192508190505b60048563ffffffff16101580156103d4575060088563ffffffff16105b806103e557508463ffffffff166001145b15610404576103f685878487610957565b975050505050505050610612565b63ffffffff6000602087831610610469576104248861ffff1660106108e4565b9095019463fffffffc861661043a816001610737565b915060288863ffffffff161015801561045a57508763ffffffff16603014155b1561046757809250600093505b505b600061047789888885610b67565b63ffffffff9081169150603f8a1690891615801561049c575060088163ffffffff1610155b80156104ae5750601c8163ffffffff16105b1561058b578063ffffffff16600814806104ce57508063ffffffff166009145b15610505576104f38163ffffffff166008146104ea57856104ed565b60005b896107f3565b9b505050505050505050505050610612565b8063ffffffff16600a03610525576104f3858963ffffffff8a16156112f7565b8063ffffffff16600b03610546576104f3858963ffffffff8a1615156112f7565b8063ffffffff16600c0361055d576104f38d6113dd565b60108163ffffffff161015801561057a5750601c8163ffffffff16105b1561058b576104f381898988611914565b8863ffffffff1660381480156105a6575063ffffffff861615155b156105db5760018b61016001518763ffffffff16602081106105ca576105ca611da2565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105f8576105f884600184611b0e565b610604858360016112f7565b9b5050505050505050505050505b95945050505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c5160548201526101805161019f5160588301526101a0516101bf5160598401526101d851605a840152600092610200929091606283019190855b60208110156106ba57601c8601518452602090950194600490930192600101610696565b506000835283830384a06000945080600181146106da5760039550610702565b8280156106f257600181146106fb5760029650610700565b60009650610700565b600196505b505b50505081900390207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f89190911b17919050565b60008061074383611bb2565b9050600384161561075357600080fd5b6020810190358460051c8160005b601b8110156107b95760208501943583821c6001168015610789576001811461079e576107af565b600084815260208390526040902093506107af565b600082815260208590526040902093505b5050600101610761565b5060805191508181146107d457630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b60006107fd611c5b565b60809050806060015160040163ffffffff16816080015163ffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff9081169093528583169052908516156108dc57806008018261016001518663ffffffff16602081106108cb576108cb611da2565b63ffffffff90921660209290920201525b61061261061b565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b0182610941576000610943565b815b90861663ffffffff16179250505092915050565b6000610961611c5b565b608090506000816060015160040163ffffffff16826080015163ffffffff16146109e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f74000000000000000000000000604482015260640161087d565b8663ffffffff1660041480610a0257508663ffffffff166005145b15610a7e5760008261016001518663ffffffff1660208110610a2657610a26611da2565b602002015190508063ffffffff168563ffffffff16148015610a4e57508763ffffffff166004145b80610a7657508063ffffffff168563ffffffff1614158015610a7657508763ffffffff166005145b915050610afb565b8663ffffffff16600603610a9b5760008460030b13159050610afb565b8663ffffffff16600703610ab75760008460030b139050610afb565b8663ffffffff16600103610afb57601f601087901c166000819003610ae05760008560030b1291505b8063ffffffff16600103610af95760008560030b121591505b505b606082018051608084015163ffffffff169091528115610b41576002610b268861ffff1660106108e4565b63ffffffff90811690911b8201600401166080840152610b53565b60808301805160040163ffffffff1690525b610b5b61061b565b98975050505050505050565b6000603f601a86901c16801580610b96575060088163ffffffff1610158015610b965750600f8163ffffffff16105b15610fec57603f86168160088114610bdd5760098114610be657600a8114610bef57600b8114610bf857600c8114610c0157600d8114610c0a57600e8114610c1357610c18565b60209150610c18565b60219150610c18565b602a9150610c18565b602b9150610c18565b60249150610c18565b60259150610c18565b602691505b508063ffffffff16600003610c3f5750505063ffffffff8216601f600686901c161b6112ef565b8063ffffffff16600203610c655750505063ffffffff8216601f600686901c161c6112ef565b8063ffffffff16600303610c9b57601f600688901c16610c9163ffffffff8716821c60208390036108e4565b93505050506112ef565b8063ffffffff16600403610cbd5750505063ffffffff8216601f84161b6112ef565b8063ffffffff16600603610cdf5750505063ffffffff8216601f84161c6112ef565b8063ffffffff16600703610d1257610d098663ffffffff168663ffffffff16901c876020036108e4565b925050506112ef565b8063ffffffff16600803610d2a5785925050506112ef565b8063ffffffff16600903610d425785925050506112ef565b8063ffffffff16600a03610d5a5785925050506112ef565b8063ffffffff16600b03610d725785925050506112ef565b8063ffffffff16600c03610d8a5785925050506112ef565b8063ffffffff16600f03610da25785925050506112ef565b8063ffffffff16601003610dba5785925050506112ef565b8063ffffffff16601103610dd25785925050506112ef565b8063ffffffff16601203610dea5785925050506112ef565b8063ffffffff16601303610e025785925050506112ef565b8063ffffffff16601803610e1a5785925050506112ef565b8063ffffffff16601903610e325785925050506112ef565b8063ffffffff16601a03610e4a5785925050506112ef565b8063ffffffff16601b03610e625785925050506112ef565b8063ffffffff16602003610e7b575050508282016112ef565b8063ffffffff16602103610e94575050508282016112ef565b8063ffffffff16602203610ead575050508183036112ef565b8063ffffffff16602303610ec6575050508183036112ef565b8063ffffffff16602403610edf575050508282166112ef565b8063ffffffff16602503610ef8575050508282176112ef565b8063ffffffff16602603610f11575050508282186112ef565b8063ffffffff16602703610f2b57505050828217196112ef565b8063ffffffff16602a03610f5c578460030b8660030b12610f4d576000610f50565b60015b60ff16925050506112ef565b8063ffffffff16602b03610f84578463ffffffff168663ffffffff1610610f4d576000610f50565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e00000000000000000000000000604482015260640161087d565b50610f84565b8063ffffffff16601c0361107057603f86166002819003611012575050508282026112ef565b8063ffffffff166020148061102d57508063ffffffff166021145b15610fe6578063ffffffff16602003611044579419945b60005b6380000000871615611066576401fffffffe600197881b169601611047565b92506112ef915050565b8063ffffffff16600f0361109257505065ffffffff0000601083901b166112ef565b8063ffffffff166020036110ce576110c68560031660080260180363ffffffff168463ffffffff16901c60ff1660086108e4565b9150506112ef565b8063ffffffff16602103611103576110c68560021660080260100363ffffffff168463ffffffff16901c61ffff1660106108e4565b8063ffffffff1660220361113257505063ffffffff60086003851602811681811b198416918316901b176112ef565b8063ffffffff1660230361114957829150506112ef565b8063ffffffff1660240361117b578460031660080260180363ffffffff168363ffffffff16901c60ff169150506112ef565b8063ffffffff166025036111ae578460021660080260100363ffffffff168363ffffffff16901c61ffff169150506112ef565b8063ffffffff166026036111e057505063ffffffff60086003851602601803811681811c198416918316901c176112ef565b8063ffffffff1660280361121657505060ff63ffffffff60086003861602601803811682811b9091188316918416901b176112ef565b8063ffffffff1660290361124d57505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b176112ef565b8063ffffffff16602a0361127c57505063ffffffff60086003851602811681811c198316918416901c176112ef565b8063ffffffff16602b0361129357839150506112ef565b8063ffffffff16602e036112c557505063ffffffff60086003851602601803811681811b198316918416901b176112ef565b8063ffffffff166030036112dc57829150506112ef565b8063ffffffff16603803610f8457839150505b949350505050565b6000611301611c5b565b506080602063ffffffff861610611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c6964207265676973746572000000000000000000000000000000000000604482015260640161087d565b63ffffffff8516158015906113865750825b156113ba57838161016001518663ffffffff16602081106113a9576113a9611da2565b63ffffffff90921660209290920201525b60808101805163ffffffff8082166060850152600490910116905261061261061b565b60006113e7611c5b565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036114615781610fff81161561143057610fff811661100003015b8363ffffffff166000036114575760e08801805163ffffffff83820116909152955061145b565b8395505b506118d3565b8563ffffffff16610fcd0361147c57634000000094506118d3565b8563ffffffff166110180361149457600194506118d3565b8563ffffffff16611096036114ca57600161012088015260ff83166101008801526114bd61061b565b9998505050505050505050565b8563ffffffff16610fa3036117365763ffffffff8316156118d3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff8416016116f05760006115258363fffffffc166001610737565b60208901519091508060001a60010361159457604080516000838152336020528d83526060902091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116599190611dd1565b91509150600386168060040382811015611671578092505b508186101561167e578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506116d58663fffffffc16600186611b0e565b60408b018051820163ffffffff169052975061173192505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff841601611725578094506118d3565b63ffffffff9450600993505b6118d3565b8563ffffffff16610fa4036118275763ffffffff831660011480611760575063ffffffff83166002145b80611771575063ffffffff83166004145b1561177e578094506118d3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016117255760006117be8363fffffffc166001610737565b602089015190915060038416600403838110156117d9578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b176020880152600060408801529350836118d3565b8563ffffffff16610fd7036118d3578163ffffffff166003036118c75763ffffffff8316158061185d575063ffffffff83166005145b8061186e575063ffffffff83166003145b1561187c57600094506118d3565b63ffffffff831660011480611897575063ffffffff83166002145b806118a8575063ffffffff83166006145b806118b9575063ffffffff83166004145b1561172557600194506118d3565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b015260040190911690526114bd61061b565b600061191e611c5b565b506080600063ffffffff871660100361193c575060c0810151611aa5565b8663ffffffff1660110361195b5763ffffffff861660c0830152611aa5565b8663ffffffff16601203611974575060a0810151611aa5565b8663ffffffff166013036119935763ffffffff861660a0830152611aa5565b8663ffffffff166018036119c75763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611aa5565b8663ffffffff166019036119f85763ffffffff86811681871602602081901c821660c08501521660a0830152611aa5565b8663ffffffff16601a03611a4e578460030b8660030b81611a1b57611a1b611df5565b0763ffffffff1660c0830152600385810b9087900b81611a3d57611a3d611df5565b0563ffffffff1660a0830152611aa5565b8663ffffffff16601b03611aa5578463ffffffff168663ffffffff1681611a7757611a77611df5565b0663ffffffff90811660c084015285811690871681611a9857611a98611df5565b0463ffffffff1660a08301525b63ffffffff841615611ae057808261016001518563ffffffff1660208110611acf57611acf611da2565b63ffffffff90921660209290920201525b60808201805163ffffffff80821660608601526004909101169052611b0361061b565b979650505050505050565b6000611b1983611bb2565b90506003841615611b2957600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611ba75760208401933582821c6001168015611b775760018114611b8c57611b9d565b60008581526020839052604090209450611b9d565b600082815260208690526040902094505b5050600101611b4f565b505060805250505050565b60ff8116610380026101a4810190369061052401811015611c55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f6174610000000000000000000000000000000000000000000000000000000000606482015260840161087d565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611cc1611cc6565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611cf757600080fd5b50813567ffffffffffffffff811115611d0f57600080fd5b602083019150836020828501011115611d2757600080fd5b9250929050565b600080600080600060608688031215611d4657600080fd5b853567ffffffffffffffff80821115611d5e57600080fd5b611d6a89838a01611ce5565b90975095506020880135915080821115611d8357600080fd5b50611d9088828901611ce5565b96999598509660400135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611de457600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a" var MIPSDeployedBin = "0x608060405234801561001057600080fd5b50600436106100415760003560e01c8063155633fe146100465780637dc0d1d01461006b578063836e7b32146100af575b600080fd5b610051634000000081565b60405163ffffffff90911681526020015b60405180910390f35b60405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152602001610062565b6100c26100bd366004611d2e565b6100d0565b604051908152602001610062565b60006100da611c5b565b608081146100e757600080fd5b604051610600146100f757600080fd5b6084871461010457600080fd5b6101a4851461011257600080fd5b8635608052602087013560a052604087013560e090811c60c09081526044890135821c82526048890135821c61010052604c890135821c610120526050890135821c61014052605489013590911c61016052605888013560f890811c610180526059890135901c6101a052605a880135901c6101c0526102006101e0819052606288019060005b60208110156101bd57823560e01c8252600490920191602090910190600101610199565b505050806101200151156101db576101d361061b565b915050610612565b6101408101805160010167ffffffffffffffff16905260608101516000906102039082610737565b9050603f601a82901c16600281148061022257508063ffffffff166003145b156102775760006002836303ffffff1663ffffffff16901b846080015163f00000001617905061026c8263ffffffff1660021461026057601f610263565b60005b60ff16826107f3565b945050505050610612565b6101608301516000908190601f601086901c81169190601587901c16602081106102a3576102a3611da2565b602002015192508063ffffffff851615806102c457508463ffffffff16601c145b156102fb578661016001518263ffffffff16602081106102e6576102e6611da2565b6020020151925050601f600b86901c166103b7565b60208563ffffffff16101561035d578463ffffffff16600c148061032557508463ffffffff16600d145b8061033657508463ffffffff16600e145b15610347578561ffff1692506103b7565b6103568661ffff1660106108e4565b92506103b7565b60288563ffffffff1610158061037957508463ffffffff166022145b8061038a57508463ffffffff166026145b156103b7578661016001518263ffffffff16602081106103ac576103ac611da2565b602002015192508190505b60048563ffffffff16101580156103d4575060088563ffffffff16105b806103e557508463ffffffff166001145b15610404576103f685878487610957565b975050505050505050610612565b63ffffffff6000602087831610610469576104248861ffff1660106108e4565b9095019463fffffffc861661043a816001610737565b915060288863ffffffff161015801561045a57508763ffffffff16603014155b1561046757809250600093505b505b600061047789888885610b67565b63ffffffff9081169150603f8a1690891615801561049c575060088163ffffffff1610155b80156104ae5750601c8163ffffffff16105b1561058b578063ffffffff16600814806104ce57508063ffffffff166009145b15610505576104f38163ffffffff166008146104ea57856104ed565b60005b896107f3565b9b505050505050505050505050610612565b8063ffffffff16600a03610525576104f3858963ffffffff8a16156112f7565b8063ffffffff16600b03610546576104f3858963ffffffff8a1615156112f7565b8063ffffffff16600c0361055d576104f38d6113dd565b60108163ffffffff161015801561057a5750601c8163ffffffff16105b1561058b576104f381898988611914565b8863ffffffff1660381480156105a6575063ffffffff861615155b156105db5760018b61016001518763ffffffff16602081106105ca576105ca611da2565b63ffffffff90921660209290920201525b8363ffffffff1663ffffffff146105f8576105f884600184611b0e565b610604858360016112f7565b9b5050505050505050505050505b95945050505050565b60408051608051815260a051602082015260dc519181019190915260fc51604482015261011c51604882015261013c51604c82015261015c51605082015261017c5160548201526101805161019f5160588301526101a0516101bf5160598401526101d851605a840152600092610200929091606283019190855b60208110156106ba57601c8601518452602090950194600490930192600101610696565b506000835283830384a06000945080600181146106da5760039550610702565b8280156106f257600181146106fb5760029650610700565b60009650610700565b600196505b505b50505081900390207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1660f89190911b17919050565b60008061074383611bb2565b9050600384161561075357600080fd5b6020810190358460051c8160005b601b8110156107b95760208501943583821c6001168015610789576001811461079e576107af565b600084815260208390526040902093506107af565b600082815260208590526040902093505b5050600101610761565b5060805191508181146107d457630badf00d60005260206000fd5b5050601f94909416601c0360031b9390931c63ffffffff169392505050565b60006107fd611c5b565b60809050806060015160040163ffffffff16816080015163ffffffff1614610886576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601260248201527f6a756d7020696e2064656c617920736c6f74000000000000000000000000000060448201526064015b60405180910390fd5b60608101805160808301805163ffffffff9081169093528583169052908516156108dc57806008018261016001518663ffffffff16602081106108cb576108cb611da2565b63ffffffff90921660209290920201525b61061261061b565b600063ffffffff8381167fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80850183169190911c821615159160016020869003821681901b830191861691821b92911b0182610941576000610943565b815b90861663ffffffff16179250505092915050565b6000610961611c5b565b608090506000816060015160040163ffffffff16826080015163ffffffff16146109e7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f6272616e636820696e2064656c617920736c6f74000000000000000000000000604482015260640161087d565b8663ffffffff1660041480610a0257508663ffffffff166005145b15610a7e5760008261016001518663ffffffff1660208110610a2657610a26611da2565b602002015190508063ffffffff168563ffffffff16148015610a4e57508763ffffffff166004145b80610a7657508063ffffffff168563ffffffff1614158015610a7657508763ffffffff166005145b915050610afb565b8663ffffffff16600603610a9b5760008460030b13159050610afb565b8663ffffffff16600703610ab75760008460030b139050610afb565b8663ffffffff16600103610afb57601f601087901c166000819003610ae05760008560030b1291505b8063ffffffff16600103610af95760008560030b121591505b505b606082018051608084015163ffffffff169091528115610b41576002610b268861ffff1660106108e4565b63ffffffff90811690911b8201600401166080840152610b53565b60808301805160040163ffffffff1690525b610b5b61061b565b98975050505050505050565b6000603f601a86901c16801580610b96575060088163ffffffff1610158015610b965750600f8163ffffffff16105b15610fec57603f86168160088114610bdd5760098114610be657600a8114610bef57600b8114610bf857600c8114610c0157600d8114610c0a57600e8114610c1357610c18565b60209150610c18565b60219150610c18565b602a9150610c18565b602b9150610c18565b60249150610c18565b60259150610c18565b602691505b508063ffffffff16600003610c3f5750505063ffffffff8216601f600686901c161b6112ef565b8063ffffffff16600203610c655750505063ffffffff8216601f600686901c161c6112ef565b8063ffffffff16600303610c9b57601f600688901c16610c9163ffffffff8716821c60208390036108e4565b93505050506112ef565b8063ffffffff16600403610cbd5750505063ffffffff8216601f84161b6112ef565b8063ffffffff16600603610cdf5750505063ffffffff8216601f84161c6112ef565b8063ffffffff16600703610d1257610d098663ffffffff168663ffffffff16901c876020036108e4565b925050506112ef565b8063ffffffff16600803610d2a5785925050506112ef565b8063ffffffff16600903610d425785925050506112ef565b8063ffffffff16600a03610d5a5785925050506112ef565b8063ffffffff16600b03610d725785925050506112ef565b8063ffffffff16600c03610d8a5785925050506112ef565b8063ffffffff16600f03610da25785925050506112ef565b8063ffffffff16601003610dba5785925050506112ef565b8063ffffffff16601103610dd25785925050506112ef565b8063ffffffff16601203610dea5785925050506112ef565b8063ffffffff16601303610e025785925050506112ef565b8063ffffffff16601803610e1a5785925050506112ef565b8063ffffffff16601903610e325785925050506112ef565b8063ffffffff16601a03610e4a5785925050506112ef565b8063ffffffff16601b03610e625785925050506112ef565b8063ffffffff16602003610e7b575050508282016112ef565b8063ffffffff16602103610e94575050508282016112ef565b8063ffffffff16602203610ead575050508183036112ef565b8063ffffffff16602303610ec6575050508183036112ef565b8063ffffffff16602403610edf575050508282166112ef565b8063ffffffff16602503610ef8575050508282176112ef565b8063ffffffff16602603610f11575050508282186112ef565b8063ffffffff16602703610f2b57505050828217196112ef565b8063ffffffff16602a03610f5c578460030b8660030b12610f4d576000610f50565b60015b60ff16925050506112ef565b8063ffffffff16602b03610f84578463ffffffff168663ffffffff1610610f4d576000610f50565b6040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601360248201527f696e76616c696420696e737472756374696f6e00000000000000000000000000604482015260640161087d565b50610f84565b8063ffffffff16601c0361107057603f86166002819003611012575050508282026112ef565b8063ffffffff166020148061102d57508063ffffffff166021145b15610fe6578063ffffffff16602003611044579419945b60005b6380000000871615611066576401fffffffe600197881b169601611047565b92506112ef915050565b8063ffffffff16600f0361109257505065ffffffff0000601083901b166112ef565b8063ffffffff166020036110ce576110c68560031660080260180363ffffffff168463ffffffff16901c60ff1660086108e4565b9150506112ef565b8063ffffffff16602103611103576110c68560021660080260100363ffffffff168463ffffffff16901c61ffff1660106108e4565b8063ffffffff1660220361113257505063ffffffff60086003851602811681811b198416918316901b176112ef565b8063ffffffff1660230361114957829150506112ef565b8063ffffffff1660240361117b578460031660080260180363ffffffff168363ffffffff16901c60ff169150506112ef565b8063ffffffff166025036111ae578460021660080260100363ffffffff168363ffffffff16901c61ffff169150506112ef565b8063ffffffff166026036111e057505063ffffffff60086003851602601803811681811c198416918316901c176112ef565b8063ffffffff1660280361121657505060ff63ffffffff60086003861602601803811682811b9091188316918416901b176112ef565b8063ffffffff1660290361124d57505061ffff63ffffffff60086002861602601003811682811b9091188316918416901b176112ef565b8063ffffffff16602a0361127c57505063ffffffff60086003851602811681811c198316918416901c176112ef565b8063ffffffff16602b0361129357839150506112ef565b8063ffffffff16602e036112c557505063ffffffff60086003851602601803811681811b198316918416901b176112ef565b8063ffffffff166030036112dc57829150506112ef565b8063ffffffff16603803610f8457839150505b949350505050565b6000611301611c5b565b506080602063ffffffff861610611374576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600e60248201527f76616c6964207265676973746572000000000000000000000000000000000000604482015260640161087d565b63ffffffff8516158015906113865750825b156113ba57838161016001518663ffffffff16602081106113a9576113a9611da2565b63ffffffff90921660209290920201525b60808101805163ffffffff8082166060850152600490910116905261061261061b565b60006113e7611c5b565b506101e051604081015160808083015160a084015160c09094015191936000928392919063ffffffff8616610ffa036114615781610fff81161561143057610fff811661100003015b8363ffffffff166000036114575760e08801805163ffffffff83820116909152955061145b565b8395505b506118d3565b8563ffffffff16610fcd0361147c57634000000094506118d3565b8563ffffffff166110180361149457600194506118d3565b8563ffffffff16611096036114ca57600161012088015260ff83166101008801526114bd61061b565b9998505050505050505050565b8563ffffffff16610fa3036117365763ffffffff8316156118d3577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb63ffffffff8416016116f05760006115258363fffffffc166001610737565b60208901519091508060001a60010361159457604080516000838152336020528d83526060902091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790505b6040808a015190517fe03110e10000000000000000000000000000000000000000000000000000000081526004810183905263ffffffff9091166024820152600090819073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000169063e03110e1906044016040805180830381865afa158015611635573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116599190611dd1565b91509150600386168060040382811015611671578092505b508186101561167e578591505b8260088302610100031c9250826008828460040303021b9250600180600883600403021b036001806008858560040303021b039150811981169050838119871617955050506116d58663fffffffc16600186611b0e565b60408b018051820163ffffffff169052975061173192505050565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd63ffffffff841601611725578094506118d3565b63ffffffff9450600993505b6118d3565b8563ffffffff16610fa4036118275763ffffffff831660011480611760575063ffffffff83166002145b80611771575063ffffffff83166004145b1561177e578094506118d3565b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa63ffffffff8416016117255760006117be8363fffffffc166001610737565b602089015190915060038416600403838110156117d9578093505b83900360089081029290921c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600193850293841b0116911b176020880152600060408801529350836118d3565b8563ffffffff16610fd7036118d3578163ffffffff166003036118c75763ffffffff8316158061185d575063ffffffff83166005145b8061186e575063ffffffff83166003145b1561187c57600094506118d3565b63ffffffff831660011480611897575063ffffffff83166002145b806118a8575063ffffffff83166006145b806118b9575063ffffffff83166004145b1561172557600194506118d3565b63ffffffff9450601693505b6101608701805163ffffffff808816604090920191909152905185821660e09091015260808801805180831660608b015260040190911690526114bd61061b565b600061191e611c5b565b506080600063ffffffff871660100361193c575060c0810151611aa5565b8663ffffffff1660110361195b5763ffffffff861660c0830152611aa5565b8663ffffffff16601203611974575060a0810151611aa5565b8663ffffffff166013036119935763ffffffff861660a0830152611aa5565b8663ffffffff166018036119c75763ffffffff600387810b9087900b02602081901c821660c08501521660a0830152611aa5565b8663ffffffff166019036119f85763ffffffff86811681871602602081901c821660c08501521660a0830152611aa5565b8663ffffffff16601a03611a4e578460030b8660030b81611a1b57611a1b611df5565b0763ffffffff1660c0830152600385810b9087900b81611a3d57611a3d611df5565b0563ffffffff1660a0830152611aa5565b8663ffffffff16601b03611aa5578463ffffffff168663ffffffff1681611a7757611a77611df5565b0663ffffffff90811660c084015285811690871681611a9857611a98611df5565b0463ffffffff1660a08301525b63ffffffff841615611ae057808261016001518563ffffffff1660208110611acf57611acf611da2565b63ffffffff90921660209290920201525b60808201805163ffffffff80821660608601526004909101169052611b0361061b565b979650505050505050565b6000611b1983611bb2565b90506003841615611b2957600080fd5b6020810190601f8516601c0360031b83811b913563ffffffff90911b1916178460051c60005b601b811015611ba75760208401933582821c6001168015611b775760018114611b8c57611b9d565b60008581526020839052604090209450611b9d565b600082815260208690526040902094505b5050600101611b4f565b505060805250505050565b60ff8116610380026101a4810190369061052401811015611c55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f636865636b207468617420746865726520697320656e6f7567682063616c6c6460448201527f6174610000000000000000000000000000000000000000000000000000000000606482015260840161087d565b50919050565b6040805161018081018252600080825260208201819052918101829052606081018290526080810182905260a0810182905260c0810182905260e08101829052610100810182905261012081018290526101408101919091526101608101611cc1611cc6565b905290565b6040518061040001604052806020906020820280368337509192915050565b60008083601f840112611cf757600080fd5b50813567ffffffffffffffff811115611d0f57600080fd5b602083019150836020828501011115611d2757600080fd5b9250929050565b600080600080600060608688031215611d4657600080fd5b853567ffffffffffffffff80821115611d5e57600080fd5b611d6a89838a01611ce5565b90975095506020880135915080821115611d8357600080fd5b50611d9088828901611ce5565b96999598509660400135949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008060408385031215611de457600080fd5b505080516020909101519092909150565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fdfea164736f6c634300080f000a"
var MIPSDeployedSourceMap = "1131:40054:135:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:45;;1745:10;1710:45;;;;;188:10:308;176:23;;;158:42;;146:2;131:18;1710:45:135;;;;;;;;2448:99;;;412:42:308;2534:6:135;400:55:308;382:74;;370:2;355:18;2448:99:135;211:251:308;26025:6379:135;;;;;;:::i;:::-;;:::i;:::-;;;1755:25:308;;;1743:2;1728:18;26025:6379:135;1609:177:308;26025:6379:135;26128:7;26171:18;;:::i;:::-;26318:4;26311:5;26308:15;26298:134;;26412:1;26409;26402:12;26298:134;26468:4;26462:11;26475:10;26459:27;26449:136;;26565:1;26562;26555:12;26449:136;26634:3;26615:17;26612:26;26602:151;;26733:1;26730;26723:12;26602:151;26798:3;26783:13;26780:22;26770:146;;26896:1;26893;26886:12;26770:146;27176:24;;27521:4;27222:20;27579:2;27280:21;;27176:24;27338:18;27222:20;27280:21;;;27176:24;27153:21;27149:52;;;27338:18;27222:20;;;27280:21;;;27176:24;27149:52;;27222:20;;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;;27338:18;27222:20;27280:21;;;27176:24;27153:21;27149:52;;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;28197:10;27338:18;28187:21;;;27280;;;;28295:1;28280:77;28305:2;28302:1;28299:9;28280:77;;;27176:24;;27153:21;27149:52;27222:20;;28353:1;27280:21;;;;27164:2;27338:18;;;;28323:1;28316:9;28280:77;;;28284:14;;;28435:5;:12;;;28431:71;;;28474:13;:11;:13::i;:::-;28467:20;;;;;28431:71;28516:10;;;:15;;28530:1;28516:15;;;;;28601:8;;;;-1:-1:-1;;28593:20:135;;-1:-1:-1;28593:7:135;:20::i;:::-;28579:34;-1:-1:-1;28643:10:135;28651:2;28643:10;;;;28720:1;28710:11;;;:26;;;28725:6;:11;;28735:1;28725:11;28710:26;28706:310;;;28866:13;28935:1;28913:4;28920:10;28913:17;28912:24;;;;28883:5;:12;;;28898:10;28883:25;28882:54;28866:70;;28961:40;28972:6;:11;;28982:1;28972:11;:20;;28990:2;28972:20;;;28986:1;28972:20;28961:40;;28994:6;28961:10;:40::i;:::-;28954:47;;;;;;;;28706:310;29265:15;;;;29060:9;;;;29197:4;29191:2;29183:10;;;29182:19;;;29265:15;29290:2;29282:10;;;29281:19;29265:36;;;;;;;:::i;:::-;;;;;;-1:-1:-1;29330:5:135;29354:11;;;;;:29;;;29369:6;:14;;29379:4;29369:14;29354:29;29350:832;;;29446:5;:15;;;29462:5;29446:22;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;29509:4:135;29503:2;29495:10;;;29494:19;29350:832;;;29547:4;29538:6;:13;;;29534:648;;;29668:6;:13;;29678:3;29668:13;:30;;;;29685:6;:13;;29695:3;29685:13;29668:30;:47;;;;29702:6;:13;;29712:3;29702:13;29668:47;29664:253;;;29778:4;29785:6;29778:13;29773:18;;29534:648;;29664:253;29877:21;29880:4;29887:6;29880:13;29895:2;29877;:21::i;:::-;29872:26;;29534:648;;;29951:4;29941:6;:14;;;;:32;;;;29959:6;:14;;29969:4;29959:14;29941:32;:50;;;;29977:6;:14;;29987:4;29977:14;29941:50;29937:245;;;30061:5;:15;;;30077:5;30061:22;;;;;;;;;:::i;:::-;;;;;30056:27;;30162:5;30154:13;;29937:245;30211:1;30201:6;:11;;;;:25;;;;;30225:1;30216:6;:10;;;30201:25;30200:42;;;;30231:6;:11;;30241:1;30231:11;30200:42;30196:125;;;30269:37;30282:6;30290:4;30296:5;30303:2;30269:12;:37::i;:::-;30262:44;;;;;;;;;;;30196:125;30354:13;30335:16;30506:4;30496:14;;;;30492:446;;30575:21;30578:4;30585:6;30578:13;30593:2;30575;:21::i;:::-;30569:27;;;;30633:10;30628:15;;30667:16;30628:15;30681:1;30667:7;:16::i;:::-;30661:22;;30715:4;30705:6;:14;;;;:32;;;;;30723:6;:14;;30733:4;30723:14;;30705:32;30701:223;;;30802:4;30790:16;;30904:1;30896:9;;30701:223;30512:426;30492:446;30971:10;30984:26;30992:4;30998:2;31002;31006:3;30984:7;:26::i;:::-;31013:10;30984:39;;;;-1:-1:-1;31109:4:135;31102:11;;;31141;;;:24;;;;;31164:1;31156:4;:9;;;;31141:24;:39;;;;;31176:4;31169;:11;;;31141:39;31137:860;;;31204:4;:9;;31212:1;31204:9;:22;;;;31217:4;:9;;31225:1;31217:9;31204:22;31200:144;;;31288:37;31299:4;:9;;31307:1;31299:9;:21;;31315:5;31299:21;;;31311:1;31299:21;31322:2;31288:10;:37::i;:::-;31281:44;;;;;;;;;;;;;;;31200:144;31366:4;:11;;31374:3;31366:11;31362:121;;31436:28;31445:5;31452:2;31456:7;;;;31436:8;:28::i;31362:121::-;31504:4;:11;;31512:3;31504:11;31500:121;;31574:28;31583:5;31590:2;31594:7;;;;;31574:8;:28::i;31500:121::-;31691:4;:11;;31699:3;31691:11;31687:93;;31733:28;31747:13;31733;:28::i;31687:93::-;31883:4;31875;:12;;;;:27;;;;;31898:4;31891;:11;;;31875:27;31871:112;;;31933:31;31944:4;31950:2;31954;31958:5;31933:10;:31::i;31871:112::-;32057:6;:14;;32067:4;32057:14;:28;;;;-1:-1:-1;32075:10:135;;;;;32057:28;32053:93;;;32130:1;32105:5;:15;;;32121:5;32105:22;;;;;;;;;:::i;:::-;:26;;;;:22;;;;;;:26;32053:93;32192:9;:26;;32205:13;32192:26;32188:92;;32238:27;32247:9;32258:1;32261:3;32238:8;:27::i;:::-;32361:26;32370:5;32377:3;32382:4;32361:8;:26::i;:::-;32354:33;;;;;;;;;;;;;26025:6379;;;;;;;;:::o;3087:2334::-;3634:4;3628:11;;3550:4;3353:31;3342:43;;3413:13;3353:31;3752:2;3452:13;;3342:43;3359:24;3353:31;3452:13;;;3342:43;;;;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3413:13;4180:11;3359:24;3353:31;3452:13;;;3342:43;3413:13;4275:11;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3128:12;;4415:13;;3628:11;;3452:13;;;;4180:11;3128:12;4495:84;4520:2;4517:1;4514:9;4495:84;;;3369:13;3359:24;;3353:31;3342:43;;3373:2;3413:13;;;;4575:1;3452:13;;;;4538:1;4531:9;4495:84;;;4499:14;4642:1;4638:2;4631:13;4737:5;4733:2;4729:14;4722:5;4717:27;4811:1;4797:15;;4832:6;4856:1;4851:273;;;;5191:1;5181:11;;4825:369;;4851:273;4883:8;4941:22;;;;5020:1;5015:22;;;;5107:1;5097:11;;4876:234;;4941:22;4960:1;4950:11;;4941:22;;5015;5034:1;5024:11;;4876:234;;4825:369;-1:-1:-1;;;5317:14:135;;;5300:32;;5360:19;5356:30;5392:3;5388:16;;;;5353:52;;3087:2334;-1:-1:-1;3087:2334:135:o;21746:1831::-;21819:11;21930:14;21947:24;21959:11;21947;:24::i;:::-;21930:41;;22079:1;22072:5;22068:13;22065:33;;;22094:1;22091;22084:12;22065:33;22227:2;22215:15;;;22168:20;22657:5;22654:1;22650:13;22692:4;22728:1;22713:343;22738:2;22735:1;22732:9;22713:343;;;22861:2;22849:15;;;22798:20;22896:12;;;22910:1;22892:20;22933:42;;;;23001:1;22996:42;;;;22885:153;;22933:42;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;22942:31;;22933:42;;22996;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;23005:31;;22885:153;-1:-1:-1;;22756:1:135;22749:9;22713:343;;;22717:14;23166:4;23160:11;23145:26;;23252:7;23246:4;23243:17;23233:124;;23294:10;23291:1;23284:21;23336:2;23333:1;23326:13;23233:124;-1:-1:-1;;23484:2:135;23473:14;;;;23461:10;23457:31;23454:1;23450:39;23518:16;;;;23536:10;23514:33;;21746:1831;-1:-1:-1;;;21746:1831:135:o;18856:823::-;18925:12;19012:18;;:::i;:::-;19080:4;19071:13;;19132:5;:8;;;19143:1;19132:12;19116:28;;:5;:12;;;:28;;;19112:95;;19164:28;;;;;2182:2:308;19164:28:135;;;2164:21:308;2221:2;2201:18;;;2194:30;2260:20;2240:18;;;2233:48;2298:18;;19164:28:135;;;;;;;;19112:95;19296:8;;;;;19329:12;;;;;19318:23;;;;;;;19355:20;;;;;19296:8;19487:13;;;19483:90;;19548:6;19557:1;19548:10;19520:5;:15;;;19536:8;19520:25;;;;;;;;;:::i;:::-;:38;;;;:25;;;;;;:38;19483:90;19649:13;:11;:13::i;2645:339::-;2706:11;2770:18;;;;2779:8;;;;2770:18;;;;;;2769:25;;;;;2786:1;2833:2;:9;;;2827:16;;;;;2826:22;;2825:32;;;;;;;2887:9;;2886:15;2769:25;2944:21;;2964:1;2944:21;;;2955:6;2944:21;2929:11;;;;;:37;;-1:-1:-1;;;2645:339:135;;;;:::o;13732:2026::-;13829:12;13915:18;;:::i;:::-;13983:4;13974:13;;14015:17;14075:5;:8;;;14086:1;14075:12;14059:28;;:5;:12;;;:28;;;14055:97;;14107:30;;;;;2529:2:308;14107:30:135;;;2511:21:308;2568:2;2548:18;;;2541:30;2607:22;2587:18;;;2580:50;2647:18;;14107:30:135;2327:344:308;14055:97:135;14222:7;:12;;14233:1;14222:12;:28;;;;14238:7;:12;;14249:1;14238:12;14222:28;14218:947;;;14270:9;14282:5;:15;;;14298:6;14282:23;;;;;;;;;:::i;:::-;;;;;14270:35;;14346:2;14339:9;;:3;:9;;;:25;;;;;14352:7;:12;;14363:1;14352:12;14339:25;14338:58;;;;14377:2;14370:9;;:3;:9;;;;:25;;;;;14383:7;:12;;14394:1;14383:12;14370:25;14323:73;;14252:159;14218:947;;;14508:7;:12;;14519:1;14508:12;14504:661;;14569:1;14561:3;14555:15;;;;14540:30;;14504:661;;;14673:7;:12;;14684:1;14673:12;14669:496;;14733:1;14726:3;14720:14;;;14705:29;;14669:496;;;14854:7;:12;;14865:1;14854:12;14850:315;;14942:4;14936:2;14927:11;;;14926:20;14912:10;14969:8;;;14965:84;;15029:1;15022:3;15016:14;;;15001:29;;14965:84;15070:3;:8;;15077:1;15070:8;15066:85;;15131:1;15123:3;15117:15;;;;15102:30;;15066:85;14868:297;14850:315;15241:8;;;;;15319:12;;;;15308:23;;;;;15475:178;;;;15566:1;15540:22;15543:5;15551:6;15543:14;15559:2;15540;:22::i;:::-;:27;;;;;;;15526:42;;15535:1;15526:42;15511:57;:12;;;:57;15475:178;;;15622:12;;;;;15637:1;15622:16;15607:31;;;;15475:178;15728:13;:11;:13::i;:::-;15721:20;13732:2026;-1:-1:-1;;;;;;;;13732:2026:135:o;32450:8733::-;32537:10;32599;32607:2;32599:10;;;;32638:11;;;:44;;;32664:1;32654:6;:11;;;;:27;;;;;32678:3;32669:6;:12;;;32654:27;32634:8490;;;32723:4;32716:11;;32847:6;32907:3;32902:25;;;;32982:3;32977:25;;;;33056:3;33051:25;;;;33131:3;33126:25;;;;33205:3;33200:25;;;;33278:3;33273:25;;;;33352:3;33347:25;;;;32840:532;;32902:25;32921:4;32913:12;;32902:25;;32977;32996:4;32988:12;;32977:25;;33051;33070:4;33062:12;;33051:25;;33126;33145:4;33137:12;;33126:25;;33200;33219:4;33211:12;;33200:25;;33273;33292:4;33284:12;;33273:25;;33347;33366:4;33358:12;;32840:532;;33435:4;:12;;33443:4;33435:12;33431:4023;;-1:-1:-1;;;33486:9:135;33478:26;;33499:4;33494:1;33486:9;;;33485:18;33478:26;33471:33;;33431:4023;33572:4;:12;;33580:4;33572:12;33568:3886;;-1:-1:-1;;;33623:9:135;33615:26;;33636:4;33631:1;33623:9;;;33622:18;33615:26;33608:33;;33568:3886;33709:4;:12;;33717:4;33709:12;33705:3749;;33774:4;33769:1;33761:9;;;33760:18;33807:27;33761:9;33810:11;;;;33823:2;:10;;;33807:2;:27::i;:::-;33800:34;;;;;;;33705:3749;33903:4;:12;;33911:4;33903:12;33899:3555;;-1:-1:-1;;;33946:17:135;;;33958:4;33953:9;;33946:17;33939:24;;33899:3555;34032:4;:11;;34040:3;34032:11;34028:3426;;-1:-1:-1;;;34074:17:135;;;34086:4;34081:9;;34074:17;34067:24;;34028:3426;34160:4;:12;;34168:4;34160:12;34156:3298;;34203:21;34212:2;34206:8;;:2;:8;;;;34221:2;34216;:7;34203:2;:21::i;:::-;34196:28;;;;;;34156:3298;34473:4;:12;;34481:4;34473:12;34469:2985;;34516:2;34509:9;;;;;;34469:2985;34587:4;:12;;34595:4;34587:12;34583:2871;;34630:2;34623:9;;;;;;34583:2871;34701:4;:12;;34709:4;34701:12;34697:2757;;34744:2;34737:9;;;;;;34697:2757;34815:4;:12;;34823:4;34815:12;34811:2643;;34858:2;34851:9;;;;;;34811:2643;34932:4;:12;;34940:4;34932:12;34928:2526;;34975:2;34968:9;;;;;;34928:2526;35092:4;:12;;35100:4;35092:12;35088:2366;;35135:2;35128:9;;;;;;35088:2366;35206:4;:12;;35214:4;35206:12;35202:2252;;35249:2;35242:9;;;;;;35202:2252;35320:4;:12;;35328:4;35320:12;35316:2138;;35363:2;35356:9;;;;;;35316:2138;35434:4;:12;;35442:4;35434:12;35430:2024;;35477:2;35470:9;;;;;;35430:2024;35548:4;:12;;35556:4;35548:12;35544:1910;;35591:2;35584:9;;;;;;35544:1910;35662:4;:12;;35670:4;35662:12;35658:1796;;35705:2;35698:9;;;;;;35658:1796;35777:4;:12;;35785:4;35777:12;35773:1681;;35820:2;35813:9;;;;;;35773:1681;35890:4;:12;;35898:4;35890:12;35886:1568;;35933:2;35926:9;;;;;;35886:1568;36004:4;:12;;36012:4;36004:12;36000:1454;;36047:2;36040:9;;;;;;36000:1454;36196:4;:12;;36204:4;36196:12;36192:1262;;-1:-1:-1;;;36240:7:135;;;36232:16;;36192:1262;36317:4;:12;;36325:4;36317:12;36313:1141;;-1:-1:-1;;;36361:7:135;;;36353:16;;36313:1141;36437:4;:12;;36445:4;36437:12;36433:1021;;-1:-1:-1;;;36481:7:135;;;36473:16;;36433:1021;36558:4;:12;;36566:4;36558:12;36554:900;;-1:-1:-1;;;36602:7:135;;;36594:16;;36554:900;36678:4;:12;;36686:4;36678:12;36674:780;;-1:-1:-1;;;36722:7:135;;;36714:16;;36674:780;36797:4;:12;;36805:4;36797:12;36793:661;;-1:-1:-1;;;36841:7:135;;;36833:16;;36793:661;36917:4;:12;;36925:4;36917:12;36913:541;;-1:-1:-1;;;36961:7:135;;;36953:16;;36913:541;37037:4;:12;;37045:4;37037:12;37033:421;;-1:-1:-1;;;37082:7:135;;;37080:10;37073:17;;37033:421;37159:4;:12;;37167:4;37159:12;37155:299;;37220:2;37202:21;;37208:2;37202:21;;;:29;;37230:1;37202:29;;;37226:1;37202:29;37195:36;;;;;;;;37155:299;37301:4;:12;;37309:4;37301:12;37297:157;;37349:2;37344:7;;:2;:7;;;:15;;37358:1;37344:15;;37297:157;37406:29;;;;;2878:2:308;37406:29:135;;;2860:21:308;2917:2;2897:18;;;2890:30;2956:21;2936:18;;;2929:49;2995:18;;37406:29:135;2676:343:308;37297:157:135;32684:4784;32634:8490;;;37524:6;:14;;37534:4;37524:14;37520:3590;;37583:4;37576:11;;37658:3;37650:11;;;37646:549;;-1:-1:-1;;;37703:21:135;;;37689:36;;37646:549;37810:4;:12;;37818:4;37810:12;:28;;;;37826:4;:12;;37834:4;37826:12;37810:28;37806:389;;;37870:4;:12;;37878:4;37870:12;37866:83;;37919:3;;;37866:83;37974:8;38012:127;38024:10;38019:15;;:20;38012:127;;38104:8;38071:3;38104:8;;;;;38071:3;38012:127;;;38171:1;-1:-1:-1;38164:8:135;;-1:-1:-1;;38164:8:135;37520:3590;38262:6;:14;;38272:4;38262:14;38258:2852;;-1:-1:-1;;38307:8:135;38313:2;38307:8;;;;38300:15;;38258:2852;38382:6;:14;;38392:4;38382:14;38378:2732;;38427:42;38445:2;38450:1;38445:6;38455:1;38444:12;38439:2;:17;38431:26;;:3;:26;;;;38461:4;38430:35;38467:1;38427:2;:42::i;:::-;38420:49;;;;;38378:2732;38536:6;:14;;38546:4;38536:14;38532:2578;;38581:45;38599:2;38604:1;38599:6;38609:1;38598:12;38593:2;:17;38585:26;;:3;:26;;;;38615:6;38584:37;38623:2;38581;:45::i;38532:2578::-;38694:6;:14;;38704:4;38694:14;38690:2420;;-1:-1:-1;;38745:21:135;38764:1;38759;38754:6;;38753:12;38745:21;;38802:36;;;38873:5;38868:10;;38745:21;;;;;38867:18;38860:25;;38690:2420;38952:6;:14;;38962:4;38952:14;38948:2162;;38997:3;38990:10;;;;;38948:2162;39068:6;:14;;39078:4;39068:14;39064:2046;;39128:2;39133:1;39128:6;39138:1;39127:12;39122:2;:17;39114:26;;:3;:26;;;;39144:4;39113:35;39106:42;;;;;39064:2046;39217:6;:14;;39227:4;39217:14;39213:1897;;39277:2;39282:1;39277:6;39287:1;39276:12;39271:2;:17;39263:26;;:3;:26;;;;39293:6;39262:37;39255:44;;;;;39213:1897;39368:6;:14;;39378:4;39368:14;39364:1746;;-1:-1:-1;;39419:26:135;39443:1;39438;39433:6;;39432:12;39427:2;:17;39419:26;;39481:41;;;39557:5;39552:10;;39419:26;;;;;39551:18;39544:25;;39364:1746;39637:6;:14;;39647:4;39637:14;39633:1477;;-1:-1:-1;;39694:4:135;39688:34;39720:1;39715;39710:6;;39709:12;39704:2;:17;39688:34;;39778:27;;;39758:48;;;39836:10;;39689:9;;;39688:34;;39835:18;39828:25;;39633:1477;39921:6;:14;;39931:4;39921:14;39917:1193;;-1:-1:-1;;39978:6:135;39972:36;40006:1;40001;39996:6;;39995:12;39990:2;:17;39972:36;;40064:29;;;40044:50;;;40124:10;;39973:11;;;39972:36;;40123:18;40116:25;;39917:1193;40210:6;:14;;40220:4;40210:14;40206:904;;-1:-1:-1;;40261:20:135;40279:1;40274;40269:6;;40268:12;40261:20;;40317:36;;;40389:5;40383:11;;40261:20;;;;;40382:19;40375:26;;40206:904;40469:6;:14;;40479:4;40469:14;40465:645;;40514:2;40507:9;;;;;40465:645;40585:6;:14;;40595:4;40585:14;40581:529;;-1:-1:-1;;40636:25:135;40659:1;40654;40649:6;;40648:12;40643:2;:17;40636:25;;40697:41;;;40774:5;40768:11;;40636:25;;;;;40767:19;40760:26;;40581:529;40853:6;:14;;40863:4;40853:14;40849:261;;40898:3;40891:10;;;;;40849:261;40968:6;:14;;40978:4;40968:14;40964:146;;41013:2;41006:9;;;32450:8733;;;;;;;:::o;19960:782::-;20046:12;20133:18;;:::i;:::-;-1:-1:-1;20201:4:135;20308:2;20296:14;;;;20288:41;;;;;;;3226:2:308;20288:41:135;;;3208:21:308;3265:2;3245:18;;;3238:30;3304:16;3284:18;;;3277:44;3338:18;;20288:41:135;3024:338:308;20288:41:135;20425:14;;;;;;;:30;;;20443:12;20425:30;20421:102;;;20504:4;20475:5;:15;;;20491:9;20475:26;;;;;;;;;:::i;:::-;:33;;;;:26;;;;;;:33;20421:102;20578:12;;;;;20567:23;;;;:8;;;:23;20634:1;20619:16;;;20604:31;;;20712:13;:11;:13::i;5582:7764::-;5646:12;5732:18;;:::i;:::-;-1:-1:-1;5910:15:135;;:18;;;;5800:4;6070:18;;;;6114;;;;6158;;;;;5800:4;;5890:17;;;;6070:18;6114;6248;;;6262:4;6248:18;6244:6792;;6298:2;6327:4;6322:9;;:14;6318:144;;6438:4;6433:9;;6425:4;:18;6419:24;6318:144;6483:2;:7;;6489:1;6483:7;6479:161;;6519:10;;;;;6551:16;;;;;;;;6519:10;-1:-1:-1;6479:161:135;;;6619:2;6614:7;;6479:161;6268:386;6244:6792;;;6756:10;:18;;6770:4;6756:18;6752:6284;;1745:10;6794:14;;6752:6284;;;6892:10;:18;;6906:4;6892:18;6888:6148;;6935:1;6930:6;;6888:6148;;;7060:10;:18;;7074:4;7060:18;7056:5980;;7113:4;7098:12;;;:19;7135:26;;;:14;;;:26;7186:13;:11;:13::i;:::-;7179:20;5582:7764;-1:-1:-1;;;;;;;;;5582:7764:135:o;7056:5980::-;7325:10;:18;;7339:4;7325:18;7321:5715;;7476:14;;;7472:2723;7321:5715;7472:2723;7646:22;;;;;7642:2553;;7771:10;7784:27;7792:2;7797:10;7792:15;7809:1;7784:7;:27::i;:::-;7895:17;;;;7771:40;;-1:-1:-1;7895:17:135;7873:19;8045:14;8064:1;8039:26;8035:146;;1676:4:136;1670:11;;1533:21;1787:15;;;1828:8;1822:4;1815:22;1850:27;;;1996:4;1983:18;;2098:17;;2003:19;1979:44;2025:11;1976:61;8093:65:135;;8035:146;8267:20;;;;;8234:54;;;;;;;;3540:25:308;;;8234:54:135;3601:23:308;;;3581:18;;;3574:51;8203:11:135;;;;8234:19;:6;:19;;;;3513:18:308;;8234:54:135;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8202:86;;;;8515:1;8511:2;8507:10;8612:9;8609:1;8605:17;8694:6;8687:5;8684:17;8681:40;;;8714:5;8704:15;;8681:40;;8797:6;8793:2;8790:14;8787:34;;;8817:2;8807:12;;8787:34;8923:3;8918:1;8910:6;8906:14;8901:3;8897:24;8893:34;8886:41;;9023:3;9019:1;9007:9;8998:6;8995:1;8991:14;8987:30;8983:38;8979:48;8972:55;;9178:1;9174;9170;9158:9;9155:1;9151:17;9147:25;9143:33;9139:41;9305:1;9301;9297;9288:6;9276:9;9273:1;9269:17;9265:30;9261:38;9257:46;9253:54;9235:72;;9436:10;9432:15;9426:4;9422:26;9414:34;;9552:3;9544:4;9540:9;9535:3;9531:19;9528:28;9521:35;;;;9698:33;9707:2;9712:10;9707:15;9724:1;9727:3;9698:8;:33::i;:::-;9753:20;;;:38;;;;;;;;;-1:-1:-1;7642:2553:135;;-1:-1:-1;;;7642:2553:135;;9910:18;;;;;9906:289;;10080:2;10075:7;;7321:5715;;9906:289;10134:10;10129:15;;2053:3;10166:10;;9906:289;7321:5715;;;10324:10;:18;;10338:4;10324:18;10320:2716;;10478:15;;;1824:1;10478:15;;:34;;-1:-1:-1;10497:15:135;;;1859:1;10497:15;10478:34;:57;;;-1:-1:-1;10516:19:135;;;1936:1;10516:19;10478:57;10474:1593;;;10564:2;10559:7;;10320:2716;;10474:1593;10690:23;;;;;10686:1381;;10737:10;10750:27;10758:2;10763:10;10758:15;10775:1;10750:7;:27::i;:::-;10853:17;;;;10737:40;;-1:-1:-1;11096:1:135;11088:10;;11190:1;11186:17;11265:13;;;11262:32;;;11287:5;11281:11;;11262:32;11573:14;;;11379:1;11569:22;;;11565:32;;;;11462:26;11486:1;11371:10;;;11466:18;;;11462:26;11561:43;11367:20;;11669:12;11797:17;;;:23;11865:1;11842:20;;;:24;11375:2;-1:-1:-1;11375:2:135;7321:5715;;10320:2716;12269:10;:18;;12283:4;12269:18;12265:771;;12379:2;:7;;12385:1;12379:7;12375:647;;12472:14;;;;;:40;;-1:-1:-1;12490:22:135;;;1978:1;12490:22;12472:40;:62;;;-1:-1:-1;12516:18:135;;;1897:1;12516:18;12472:62;12468:404;;;12567:1;12562:6;;12375:647;;12468:404;12613:15;;;1824:1;12613:15;;:34;;-1:-1:-1;12632:15:135;;;1859:1;12632:15;12613:34;:61;;;-1:-1:-1;12651:23:135;;;2021:1;12651:23;12613:61;:84;;;-1:-1:-1;12678:19:135;;;1936:1;12678:19;12613:84;12609:263;;;12730:1;12725:6;;7321:5715;;12375:647;12923:10;12918:15;;2087:4;12955:11;;12375:647;13111:15;;;;;:23;;;;:18;;;;:23;;;;13148:15;;:23;;;:18;;;;:23;-1:-1:-1;13237:12:135;;;;13226:23;;;:8;;;:23;13293:1;13278:16;13263:31;;;;;13316:13;:11;:13::i;16084:2480::-;16178:12;16264:18;;:::i;:::-;-1:-1:-1;16332:4:135;16364:10;16472:13;;;16481:4;16472:13;16468:1705;;-1:-1:-1;16511:8:135;;;;16468:1705;;;16630:5;:13;;16639:4;16630:13;16626:1547;;16663:14;;;:8;;;:14;16626:1547;;;16793:5;:13;;16802:4;16793:13;16789:1384;;-1:-1:-1;16832:8:135;;;;16789:1384;;;16951:5;:13;;16960:4;16951:13;16947:1226;;16984:14;;;:8;;;:14;16947:1226;;;17125:5;:13;;17134:4;17125:13;17121:1052;;17252:9;17198:17;17178;;;17198;;;;17178:37;17259:2;17252:9;;;;;17234:8;;;:28;17280:22;:8;;;:22;17121:1052;;;17439:5;:13;;17448:4;17439:13;17435:738;;17506:11;17492;;;17506;;;17492:25;17561:2;17554:9;;;;;17536:8;;;:28;17582:22;:8;;;:22;17435:738;;;17763:5;:13;;17772:4;17763:13;17759:414;;17833:3;17814:23;;17820:3;17814:23;;;;;;;:::i;:::-;;17796:42;;:8;;;:42;17874:23;;;;;;;;;;;;;:::i;:::-;;17856:42;;:8;;;:42;17759:414;;;18067:5;:13;;18076:4;18067:13;18063:110;;18117:3;18111:9;;:3;:9;;;;;;;:::i;:::-;;18100:20;;;;:8;;;:20;18149:9;;;;;;;;;;;:::i;:::-;;18138:20;;:8;;;:20;18063:110;18266:14;;;;18262:85;;18329:3;18300:5;:15;;;18316:9;18300:26;;;;;;;;;:::i;:::-;:32;;;;:26;;;;;;:32;18262:85;18401:12;;;;;18390:23;;;;:8;;;:23;18457:1;18442:16;;;18427:31;;;18534:13;:11;:13::i;:::-;18527:20;16084:2480;-1:-1:-1;;;;;;;16084:2480:135:o;23913:1654::-;24089:14;24106:24;24118:11;24106;:24::i;:::-;24089:41;;24238:1;24231:5;24227:13;24224:33;;;24253:1;24250;24243:12;24224:33;24392:2;24586:15;;;24411:2;24400:14;;24388:10;24384:31;24381:1;24377:39;24542:16;;;24327:20;;24527:10;24516:22;;;24512:27;24502:38;24499:60;25028:5;25025:1;25021:13;25099:1;25084:343;25109:2;25106:1;25103:9;25084:343;;;25232:2;25220:15;;;25169:20;25267:12;;;25281:1;25263:20;25304:42;;;;25372:1;25367:42;;;;25256:153;;25304:42;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;25313:31;;25304:42;;25367;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;25376:31;;25256:153;-1:-1:-1;;25127:1:135;25120:9;25084:343;;;-1:-1:-1;;25526:4:135;25519:18;-1:-1:-1;;;;23913:1654:135:o;20946:586::-;21268:20;;;21292:7;21268:32;21261:3;:40;;;21374:14;;21429:17;;21423:24;;;21415:72;;;;;;;4277:2:308;21415:72:135;;;4259:21:308;4316:2;4296:18;;;4289:30;4355:34;4335:18;;;4328:62;4426:5;4406:18;;;4399:33;4449:19;;21415:72:135;4075:399:308;21415:72:135;21501:14;20946:586;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;467:347:308:-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:308;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;787:3;780:4;771:6;763;759:19;755:30;752:39;749:59;;;804:1;801;794:12;749:59;467:347;;;;;:::o;819:785::-;918:6;926;934;942;950;1003:2;991:9;982:7;978:23;974:32;971:52;;;1019:1;1016;1009:12;971:52;1059:9;1046:23;1088:18;1129:2;1121:6;1118:14;1115:34;;;1145:1;1142;1135:12;1115:34;1184:58;1234:7;1225:6;1214:9;1210:22;1184:58;:::i;:::-;1261:8;;-1:-1:-1;1158:84:308;-1:-1:-1;1349:2:308;1334:18;;1321:32;;-1:-1:-1;1365:16:308;;;1362:36;;;1394:1;1391;1384:12;1362:36;;1433:60;1485:7;1474:8;1463:9;1459:24;1433:60;:::i;:::-;819:785;;;;-1:-1:-1;1512:8:308;1594:2;1579:18;1566:32;;819:785;-1:-1:-1;;;;819:785:308:o;1791:184::-;1843:77;1840:1;1833:88;1940:4;1937:1;1930:15;1964:4;1961:1;1954:15;3636:245;3715:6;3723;3776:2;3764:9;3755:7;3751:23;3747:32;3744:52;;;3792:1;3789;3782:12;3744:52;-1:-1:-1;;3815:16:308;;3871:2;3856:18;;;3850:25;3815:16;;3850:25;;-1:-1:-1;3636:245:308:o;3886:184::-;3938:77;3935:1;3928:88;4035:4;4032:1;4025:15;4059:4;4056:1;4049:15" var MIPSDeployedSourceMap = "1131:40054:138:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1710:45;;1745:10;1710:45;;;;;188:10:311;176:23;;;158:42;;146:2;131:18;1710:45:138;;;;;;;;2448:99;;;412:42:311;2534:6:138;400:55:311;382:74;;370:2;355:18;2448:99:138;211:251:311;26025:6379:138;;;;;;:::i;:::-;;:::i;:::-;;;1755:25:311;;;1743:2;1728:18;26025:6379:138;1609:177:311;26025:6379:138;26128:7;26171:18;;:::i;:::-;26318:4;26311:5;26308:15;26298:134;;26412:1;26409;26402:12;26298:134;26468:4;26462:11;26475:10;26459:27;26449:136;;26565:1;26562;26555:12;26449:136;26634:3;26615:17;26612:26;26602:151;;26733:1;26730;26723:12;26602:151;26798:3;26783:13;26780:22;26770:146;;26896:1;26893;26886:12;26770:146;27176:24;;27521:4;27222:20;27579:2;27280:21;;27176:24;27338:18;27222:20;27280:21;;;27176:24;27153:21;27149:52;;;27338:18;27222:20;;;27280:21;;;27176:24;27149:52;;27222:20;;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;;27338:18;27222:20;27280:21;;;27176:24;27153:21;27149:52;;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;27280:21;;;27176:24;27149:52;;27338:18;27222:20;28197:10;27338:18;28187:21;;;27280;;;;28295:1;28280:77;28305:2;28302:1;28299:9;28280:77;;;27176:24;;27153:21;27149:52;27222:20;;28353:1;27280:21;;;;27164:2;27338:18;;;;28323:1;28316:9;28280:77;;;28284:14;;;28435:5;:12;;;28431:71;;;28474:13;:11;:13::i;:::-;28467:20;;;;;28431:71;28516:10;;;:15;;28530:1;28516:15;;;;;28601:8;;;;-1:-1:-1;;28593:20:138;;-1:-1:-1;28593:7:138;:20::i;:::-;28579:34;-1:-1:-1;28643:10:138;28651:2;28643:10;;;;28720:1;28710:11;;;:26;;;28725:6;:11;;28735:1;28725:11;28710:26;28706:310;;;28866:13;28935:1;28913:4;28920:10;28913:17;28912:24;;;;28883:5;:12;;;28898:10;28883:25;28882:54;28866:70;;28961:40;28972:6;:11;;28982:1;28972:11;:20;;28990:2;28972:20;;;28986:1;28972:20;28961:40;;28994:6;28961:10;:40::i;:::-;28954:47;;;;;;;;28706:310;29265:15;;;;29060:9;;;;29197:4;29191:2;29183:10;;;29182:19;;;29265:15;29290:2;29282:10;;;29281:19;29265:36;;;;;;;:::i;:::-;;;;;;-1:-1:-1;29330:5:138;29354:11;;;;;:29;;;29369:6;:14;;29379:4;29369:14;29354:29;29350:832;;;29446:5;:15;;;29462:5;29446:22;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;29509:4:138;29503:2;29495:10;;;29494:19;29350:832;;;29547:4;29538:6;:13;;;29534:648;;;29668:6;:13;;29678:3;29668:13;:30;;;;29685:6;:13;;29695:3;29685:13;29668:30;:47;;;;29702:6;:13;;29712:3;29702:13;29668:47;29664:253;;;29778:4;29785:6;29778:13;29773:18;;29534:648;;29664:253;29877:21;29880:4;29887:6;29880:13;29895:2;29877;:21::i;:::-;29872:26;;29534:648;;;29951:4;29941:6;:14;;;;:32;;;;29959:6;:14;;29969:4;29959:14;29941:32;:50;;;;29977:6;:14;;29987:4;29977:14;29941:50;29937:245;;;30061:5;:15;;;30077:5;30061:22;;;;;;;;;:::i;:::-;;;;;30056:27;;30162:5;30154:13;;29937:245;30211:1;30201:6;:11;;;;:25;;;;;30225:1;30216:6;:10;;;30201:25;30200:42;;;;30231:6;:11;;30241:1;30231:11;30200:42;30196:125;;;30269:37;30282:6;30290:4;30296:5;30303:2;30269:12;:37::i;:::-;30262:44;;;;;;;;;;;30196:125;30354:13;30335:16;30506:4;30496:14;;;;30492:446;;30575:21;30578:4;30585:6;30578:13;30593:2;30575;:21::i;:::-;30569:27;;;;30633:10;30628:15;;30667:16;30628:15;30681:1;30667:7;:16::i;:::-;30661:22;;30715:4;30705:6;:14;;;;:32;;;;;30723:6;:14;;30733:4;30723:14;;30705:32;30701:223;;;30802:4;30790:16;;30904:1;30896:9;;30701:223;30512:426;30492:446;30971:10;30984:26;30992:4;30998:2;31002;31006:3;30984:7;:26::i;:::-;31013:10;30984:39;;;;-1:-1:-1;31109:4:138;31102:11;;;31141;;;:24;;;;;31164:1;31156:4;:9;;;;31141:24;:39;;;;;31176:4;31169;:11;;;31141:39;31137:860;;;31204:4;:9;;31212:1;31204:9;:22;;;;31217:4;:9;;31225:1;31217:9;31204:22;31200:144;;;31288:37;31299:4;:9;;31307:1;31299:9;:21;;31315:5;31299:21;;;31311:1;31299:21;31322:2;31288:10;:37::i;:::-;31281:44;;;;;;;;;;;;;;;31200:144;31366:4;:11;;31374:3;31366:11;31362:121;;31436:28;31445:5;31452:2;31456:7;;;;31436:8;:28::i;31362:121::-;31504:4;:11;;31512:3;31504:11;31500:121;;31574:28;31583:5;31590:2;31594:7;;;;;31574:8;:28::i;31500:121::-;31691:4;:11;;31699:3;31691:11;31687:93;;31733:28;31747:13;31733;:28::i;31687:93::-;31883:4;31875;:12;;;;:27;;;;;31898:4;31891;:11;;;31875:27;31871:112;;;31933:31;31944:4;31950:2;31954;31958:5;31933:10;:31::i;31871:112::-;32057:6;:14;;32067:4;32057:14;:28;;;;-1:-1:-1;32075:10:138;;;;;32057:28;32053:93;;;32130:1;32105:5;:15;;;32121:5;32105:22;;;;;;;;;:::i;:::-;:26;;;;:22;;;;;;:26;32053:93;32192:9;:26;;32205:13;32192:26;32188:92;;32238:27;32247:9;32258:1;32261:3;32238:8;:27::i;:::-;32361:26;32370:5;32377:3;32382:4;32361:8;:26::i;:::-;32354:33;;;;;;;;;;;;;26025:6379;;;;;;;;:::o;3087:2334::-;3634:4;3628:11;;3550:4;3353:31;3342:43;;3413:13;3353:31;3752:2;3452:13;;3342:43;3359:24;3353:31;3452:13;;;3342:43;;;;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3413:13;4180:11;3359:24;3353:31;3452:13;;;3342:43;3413:13;4275:11;3359:24;3353:31;3452:13;;;3342:43;3359:24;3353:31;3452:13;;;3342:43;3128:12;;4415:13;;3628:11;;3452:13;;;;4180:11;3128:12;4495:84;4520:2;4517:1;4514:9;4495:84;;;3369:13;3359:24;;3353:31;3342:43;;3373:2;3413:13;;;;4575:1;3452:13;;;;4538:1;4531:9;4495:84;;;4499:14;4642:1;4638:2;4631:13;4737:5;4733:2;4729:14;4722:5;4717:27;4811:1;4797:15;;4832:6;4856:1;4851:273;;;;5191:1;5181:11;;4825:369;;4851:273;4883:8;4941:22;;;;5020:1;5015:22;;;;5107:1;5097:11;;4876:234;;4941:22;4960:1;4950:11;;4941:22;;5015;5034:1;5024:11;;4876:234;;4825:369;-1:-1:-1;;;5317:14:138;;;5300:32;;5360:19;5356:30;5392:3;5388:16;;;;5353:52;;3087:2334;-1:-1:-1;3087:2334:138:o;21746:1831::-;21819:11;21930:14;21947:24;21959:11;21947;:24::i;:::-;21930:41;;22079:1;22072:5;22068:13;22065:33;;;22094:1;22091;22084:12;22065:33;22227:2;22215:15;;;22168:20;22657:5;22654:1;22650:13;22692:4;22728:1;22713:343;22738:2;22735:1;22732:9;22713:343;;;22861:2;22849:15;;;22798:20;22896:12;;;22910:1;22892:20;22933:42;;;;23001:1;22996:42;;;;22885:153;;22933:42;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;22942:31;;22933:42;;22996;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;23005:31;;22885:153;-1:-1:-1;;22756:1:138;22749:9;22713:343;;;22717:14;23166:4;23160:11;23145:26;;23252:7;23246:4;23243:17;23233:124;;23294:10;23291:1;23284:21;23336:2;23333:1;23326:13;23233:124;-1:-1:-1;;23484:2:138;23473:14;;;;23461:10;23457:31;23454:1;23450:39;23518:16;;;;23536:10;23514:33;;21746:1831;-1:-1:-1;;;21746:1831:138:o;18856:823::-;18925:12;19012:18;;:::i;:::-;19080:4;19071:13;;19132:5;:8;;;19143:1;19132:12;19116:28;;:5;:12;;;:28;;;19112:95;;19164:28;;;;;2182:2:311;19164:28:138;;;2164:21:311;2221:2;2201:18;;;2194:30;2260:20;2240:18;;;2233:48;2298:18;;19164:28:138;;;;;;;;19112:95;19296:8;;;;;19329:12;;;;;19318:23;;;;;;;19355:20;;;;;19296:8;19487:13;;;19483:90;;19548:6;19557:1;19548:10;19520:5;:15;;;19536:8;19520:25;;;;;;;;;:::i;:::-;:38;;;;:25;;;;;;:38;19483:90;19649:13;:11;:13::i;2645:339::-;2706:11;2770:18;;;;2779:8;;;;2770:18;;;;;;2769:25;;;;;2786:1;2833:2;:9;;;2827:16;;;;;2826:22;;2825:32;;;;;;;2887:9;;2886:15;2769:25;2944:21;;2964:1;2944:21;;;2955:6;2944:21;2929:11;;;;;:37;;-1:-1:-1;;;2645:339:138;;;;:::o;13732:2026::-;13829:12;13915:18;;:::i;:::-;13983:4;13974:13;;14015:17;14075:5;:8;;;14086:1;14075:12;14059:28;;:5;:12;;;:28;;;14055:97;;14107:30;;;;;2529:2:311;14107:30:138;;;2511:21:311;2568:2;2548:18;;;2541:30;2607:22;2587:18;;;2580:50;2647:18;;14107:30:138;2327:344:311;14055:97:138;14222:7;:12;;14233:1;14222:12;:28;;;;14238:7;:12;;14249:1;14238:12;14222:28;14218:947;;;14270:9;14282:5;:15;;;14298:6;14282:23;;;;;;;;;:::i;:::-;;;;;14270:35;;14346:2;14339:9;;:3;:9;;;:25;;;;;14352:7;:12;;14363:1;14352:12;14339:25;14338:58;;;;14377:2;14370:9;;:3;:9;;;;:25;;;;;14383:7;:12;;14394:1;14383:12;14370:25;14323:73;;14252:159;14218:947;;;14508:7;:12;;14519:1;14508:12;14504:661;;14569:1;14561:3;14555:15;;;;14540:30;;14504:661;;;14673:7;:12;;14684:1;14673:12;14669:496;;14733:1;14726:3;14720:14;;;14705:29;;14669:496;;;14854:7;:12;;14865:1;14854:12;14850:315;;14942:4;14936:2;14927:11;;;14926:20;14912:10;14969:8;;;14965:84;;15029:1;15022:3;15016:14;;;15001:29;;14965:84;15070:3;:8;;15077:1;15070:8;15066:85;;15131:1;15123:3;15117:15;;;;15102:30;;15066:85;14868:297;14850:315;15241:8;;;;;15319:12;;;;15308:23;;;;;15475:178;;;;15566:1;15540:22;15543:5;15551:6;15543:14;15559:2;15540;:22::i;:::-;:27;;;;;;;15526:42;;15535:1;15526:42;15511:57;:12;;;:57;15475:178;;;15622:12;;;;;15637:1;15622:16;15607:31;;;;15475:178;15728:13;:11;:13::i;:::-;15721:20;13732:2026;-1:-1:-1;;;;;;;;13732:2026:138:o;32450:8733::-;32537:10;32599;32607:2;32599:10;;;;32638:11;;;:44;;;32664:1;32654:6;:11;;;;:27;;;;;32678:3;32669:6;:12;;;32654:27;32634:8490;;;32723:4;32716:11;;32847:6;32907:3;32902:25;;;;32982:3;32977:25;;;;33056:3;33051:25;;;;33131:3;33126:25;;;;33205:3;33200:25;;;;33278:3;33273:25;;;;33352:3;33347:25;;;;32840:532;;32902:25;32921:4;32913:12;;32902:25;;32977;32996:4;32988:12;;32977:25;;33051;33070:4;33062:12;;33051:25;;33126;33145:4;33137:12;;33126:25;;33200;33219:4;33211:12;;33200:25;;33273;33292:4;33284:12;;33273:25;;33347;33366:4;33358:12;;32840:532;;33435:4;:12;;33443:4;33435:12;33431:4023;;-1:-1:-1;;;33486:9:138;33478:26;;33499:4;33494:1;33486:9;;;33485:18;33478:26;33471:33;;33431:4023;33572:4;:12;;33580:4;33572:12;33568:3886;;-1:-1:-1;;;33623:9:138;33615:26;;33636:4;33631:1;33623:9;;;33622:18;33615:26;33608:33;;33568:3886;33709:4;:12;;33717:4;33709:12;33705:3749;;33774:4;33769:1;33761:9;;;33760:18;33807:27;33761:9;33810:11;;;;33823:2;:10;;;33807:2;:27::i;:::-;33800:34;;;;;;;33705:3749;33903:4;:12;;33911:4;33903:12;33899:3555;;-1:-1:-1;;;33946:17:138;;;33958:4;33953:9;;33946:17;33939:24;;33899:3555;34032:4;:11;;34040:3;34032:11;34028:3426;;-1:-1:-1;;;34074:17:138;;;34086:4;34081:9;;34074:17;34067:24;;34028:3426;34160:4;:12;;34168:4;34160:12;34156:3298;;34203:21;34212:2;34206:8;;:2;:8;;;;34221:2;34216;:7;34203:2;:21::i;:::-;34196:28;;;;;;34156:3298;34473:4;:12;;34481:4;34473:12;34469:2985;;34516:2;34509:9;;;;;;34469:2985;34587:4;:12;;34595:4;34587:12;34583:2871;;34630:2;34623:9;;;;;;34583:2871;34701:4;:12;;34709:4;34701:12;34697:2757;;34744:2;34737:9;;;;;;34697:2757;34815:4;:12;;34823:4;34815:12;34811:2643;;34858:2;34851:9;;;;;;34811:2643;34932:4;:12;;34940:4;34932:12;34928:2526;;34975:2;34968:9;;;;;;34928:2526;35092:4;:12;;35100:4;35092:12;35088:2366;;35135:2;35128:9;;;;;;35088:2366;35206:4;:12;;35214:4;35206:12;35202:2252;;35249:2;35242:9;;;;;;35202:2252;35320:4;:12;;35328:4;35320:12;35316:2138;;35363:2;35356:9;;;;;;35316:2138;35434:4;:12;;35442:4;35434:12;35430:2024;;35477:2;35470:9;;;;;;35430:2024;35548:4;:12;;35556:4;35548:12;35544:1910;;35591:2;35584:9;;;;;;35544:1910;35662:4;:12;;35670:4;35662:12;35658:1796;;35705:2;35698:9;;;;;;35658:1796;35777:4;:12;;35785:4;35777:12;35773:1681;;35820:2;35813:9;;;;;;35773:1681;35890:4;:12;;35898:4;35890:12;35886:1568;;35933:2;35926:9;;;;;;35886:1568;36004:4;:12;;36012:4;36004:12;36000:1454;;36047:2;36040:9;;;;;;36000:1454;36196:4;:12;;36204:4;36196:12;36192:1262;;-1:-1:-1;;;36240:7:138;;;36232:16;;36192:1262;36317:4;:12;;36325:4;36317:12;36313:1141;;-1:-1:-1;;;36361:7:138;;;36353:16;;36313:1141;36437:4;:12;;36445:4;36437:12;36433:1021;;-1:-1:-1;;;36481:7:138;;;36473:16;;36433:1021;36558:4;:12;;36566:4;36558:12;36554:900;;-1:-1:-1;;;36602:7:138;;;36594:16;;36554:900;36678:4;:12;;36686:4;36678:12;36674:780;;-1:-1:-1;;;36722:7:138;;;36714:16;;36674:780;36797:4;:12;;36805:4;36797:12;36793:661;;-1:-1:-1;;;36841:7:138;;;36833:16;;36793:661;36917:4;:12;;36925:4;36917:12;36913:541;;-1:-1:-1;;;36961:7:138;;;36953:16;;36913:541;37037:4;:12;;37045:4;37037:12;37033:421;;-1:-1:-1;;;37082:7:138;;;37080:10;37073:17;;37033:421;37159:4;:12;;37167:4;37159:12;37155:299;;37220:2;37202:21;;37208:2;37202:21;;;:29;;37230:1;37202:29;;;37226:1;37202:29;37195:36;;;;;;;;37155:299;37301:4;:12;;37309:4;37301:12;37297:157;;37349:2;37344:7;;:2;:7;;;:15;;37358:1;37344:15;;37297:157;37406:29;;;;;2878:2:311;37406:29:138;;;2860:21:311;2917:2;2897:18;;;2890:30;2956:21;2936:18;;;2929:49;2995:18;;37406:29:138;2676:343:311;37297:157:138;32684:4784;32634:8490;;;37524:6;:14;;37534:4;37524:14;37520:3590;;37583:4;37576:11;;37658:3;37650:11;;;37646:549;;-1:-1:-1;;;37703:21:138;;;37689:36;;37646:549;37810:4;:12;;37818:4;37810:12;:28;;;;37826:4;:12;;37834:4;37826:12;37810:28;37806:389;;;37870:4;:12;;37878:4;37870:12;37866:83;;37919:3;;;37866:83;37974:8;38012:127;38024:10;38019:15;;:20;38012:127;;38104:8;38071:3;38104:8;;;;;38071:3;38012:127;;;38171:1;-1:-1:-1;38164:8:138;;-1:-1:-1;;38164:8:138;37520:3590;38262:6;:14;;38272:4;38262:14;38258:2852;;-1:-1:-1;;38307:8:138;38313:2;38307:8;;;;38300:15;;38258:2852;38382:6;:14;;38392:4;38382:14;38378:2732;;38427:42;38445:2;38450:1;38445:6;38455:1;38444:12;38439:2;:17;38431:26;;:3;:26;;;;38461:4;38430:35;38467:1;38427:2;:42::i;:::-;38420:49;;;;;38378:2732;38536:6;:14;;38546:4;38536:14;38532:2578;;38581:45;38599:2;38604:1;38599:6;38609:1;38598:12;38593:2;:17;38585:26;;:3;:26;;;;38615:6;38584:37;38623:2;38581;:45::i;38532:2578::-;38694:6;:14;;38704:4;38694:14;38690:2420;;-1:-1:-1;;38745:21:138;38764:1;38759;38754:6;;38753:12;38745:21;;38802:36;;;38873:5;38868:10;;38745:21;;;;;38867:18;38860:25;;38690:2420;38952:6;:14;;38962:4;38952:14;38948:2162;;38997:3;38990:10;;;;;38948:2162;39068:6;:14;;39078:4;39068:14;39064:2046;;39128:2;39133:1;39128:6;39138:1;39127:12;39122:2;:17;39114:26;;:3;:26;;;;39144:4;39113:35;39106:42;;;;;39064:2046;39217:6;:14;;39227:4;39217:14;39213:1897;;39277:2;39282:1;39277:6;39287:1;39276:12;39271:2;:17;39263:26;;:3;:26;;;;39293:6;39262:37;39255:44;;;;;39213:1897;39368:6;:14;;39378:4;39368:14;39364:1746;;-1:-1:-1;;39419:26:138;39443:1;39438;39433:6;;39432:12;39427:2;:17;39419:26;;39481:41;;;39557:5;39552:10;;39419:26;;;;;39551:18;39544:25;;39364:1746;39637:6;:14;;39647:4;39637:14;39633:1477;;-1:-1:-1;;39694:4:138;39688:34;39720:1;39715;39710:6;;39709:12;39704:2;:17;39688:34;;39778:27;;;39758:48;;;39836:10;;39689:9;;;39688:34;;39835:18;39828:25;;39633:1477;39921:6;:14;;39931:4;39921:14;39917:1193;;-1:-1:-1;;39978:6:138;39972:36;40006:1;40001;39996:6;;39995:12;39990:2;:17;39972:36;;40064:29;;;40044:50;;;40124:10;;39973:11;;;39972:36;;40123:18;40116:25;;39917:1193;40210:6;:14;;40220:4;40210:14;40206:904;;-1:-1:-1;;40261:20:138;40279:1;40274;40269:6;;40268:12;40261:20;;40317:36;;;40389:5;40383:11;;40261:20;;;;;40382:19;40375:26;;40206:904;40469:6;:14;;40479:4;40469:14;40465:645;;40514:2;40507:9;;;;;40465:645;40585:6;:14;;40595:4;40585:14;40581:529;;-1:-1:-1;;40636:25:138;40659:1;40654;40649:6;;40648:12;40643:2;:17;40636:25;;40697:41;;;40774:5;40768:11;;40636:25;;;;;40767:19;40760:26;;40581:529;40853:6;:14;;40863:4;40853:14;40849:261;;40898:3;40891:10;;;;;40849:261;40968:6;:14;;40978:4;40968:14;40964:146;;41013:2;41006:9;;;32450:8733;;;;;;;:::o;19960:782::-;20046:12;20133:18;;:::i;:::-;-1:-1:-1;20201:4:138;20308:2;20296:14;;;;20288:41;;;;;;;3226:2:311;20288:41:138;;;3208:21:311;3265:2;3245:18;;;3238:30;3304:16;3284:18;;;3277:44;3338:18;;20288:41:138;3024:338:311;20288:41:138;20425:14;;;;;;;:30;;;20443:12;20425:30;20421:102;;;20504:4;20475:5;:15;;;20491:9;20475:26;;;;;;;;;:::i;:::-;:33;;;;:26;;;;;;:33;20421:102;20578:12;;;;;20567:23;;;;:8;;;:23;20634:1;20619:16;;;20604:31;;;20712:13;:11;:13::i;5582:7764::-;5646:12;5732:18;;:::i;:::-;-1:-1:-1;5910:15:138;;:18;;;;5800:4;6070:18;;;;6114;;;;6158;;;;;5800:4;;5890:17;;;;6070:18;6114;6248;;;6262:4;6248:18;6244:6792;;6298:2;6327:4;6322:9;;:14;6318:144;;6438:4;6433:9;;6425:4;:18;6419:24;6318:144;6483:2;:7;;6489:1;6483:7;6479:161;;6519:10;;;;;6551:16;;;;;;;;6519:10;-1:-1:-1;6479:161:138;;;6619:2;6614:7;;6479:161;6268:386;6244:6792;;;6756:10;:18;;6770:4;6756:18;6752:6284;;1745:10;6794:14;;6752:6284;;;6892:10;:18;;6906:4;6892:18;6888:6148;;6935:1;6930:6;;6888:6148;;;7060:10;:18;;7074:4;7060:18;7056:5980;;7113:4;7098:12;;;:19;7135:26;;;:14;;;:26;7186:13;:11;:13::i;:::-;7179:20;5582:7764;-1:-1:-1;;;;;;;;;5582:7764:138:o;7056:5980::-;7325:10;:18;;7339:4;7325:18;7321:5715;;7476:14;;;7472:2723;7321:5715;7472:2723;7646:22;;;;;7642:2553;;7771:10;7784:27;7792:2;7797:10;7792:15;7809:1;7784:7;:27::i;:::-;7895:17;;;;7771:40;;-1:-1:-1;7895:17:138;7873:19;8045:14;8064:1;8039:26;8035:146;;1676:4:139;1670:11;;1533:21;1787:15;;;1828:8;1822:4;1815:22;1850:27;;;1996:4;1983:18;;2098:17;;2003:19;1979:44;2025:11;1976:61;8093:65:138;;8035:146;8267:20;;;;;8234:54;;;;;;;;3540:25:311;;;8234:54:138;3601:23:311;;;3581:18;;;3574:51;8203:11:138;;;;8234:19;:6;:19;;;;3513:18:311;;8234:54:138;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8202:86;;;;8515:1;8511:2;8507:10;8612:9;8609:1;8605:17;8694:6;8687:5;8684:17;8681:40;;;8714:5;8704:15;;8681:40;;8797:6;8793:2;8790:14;8787:34;;;8817:2;8807:12;;8787:34;8923:3;8918:1;8910:6;8906:14;8901:3;8897:24;8893:34;8886:41;;9023:3;9019:1;9007:9;8998:6;8995:1;8991:14;8987:30;8983:38;8979:48;8972:55;;9178:1;9174;9170;9158:9;9155:1;9151:17;9147:25;9143:33;9139:41;9305:1;9301;9297;9288:6;9276:9;9273:1;9269:17;9265:30;9261:38;9257:46;9253:54;9235:72;;9436:10;9432:15;9426:4;9422:26;9414:34;;9552:3;9544:4;9540:9;9535:3;9531:19;9528:28;9521:35;;;;9698:33;9707:2;9712:10;9707:15;9724:1;9727:3;9698:8;:33::i;:::-;9753:20;;;:38;;;;;;;;;-1:-1:-1;7642:2553:138;;-1:-1:-1;;;7642:2553:138;;9910:18;;;;;9906:289;;10080:2;10075:7;;7321:5715;;9906:289;10134:10;10129:15;;2053:3;10166:10;;9906:289;7321:5715;;;10324:10;:18;;10338:4;10324:18;10320:2716;;10478:15;;;1824:1;10478:15;;:34;;-1:-1:-1;10497:15:138;;;1859:1;10497:15;10478:34;:57;;;-1:-1:-1;10516:19:138;;;1936:1;10516:19;10478:57;10474:1593;;;10564:2;10559:7;;10320:2716;;10474:1593;10690:23;;;;;10686:1381;;10737:10;10750:27;10758:2;10763:10;10758:15;10775:1;10750:7;:27::i;:::-;10853:17;;;;10737:40;;-1:-1:-1;11096:1:138;11088:10;;11190:1;11186:17;11265:13;;;11262:32;;;11287:5;11281:11;;11262:32;11573:14;;;11379:1;11569:22;;;11565:32;;;;11462:26;11486:1;11371:10;;;11466:18;;;11462:26;11561:43;11367:20;;11669:12;11797:17;;;:23;11865:1;11842:20;;;:24;11375:2;-1:-1:-1;11375:2:138;7321:5715;;10320:2716;12269:10;:18;;12283:4;12269:18;12265:771;;12379:2;:7;;12385:1;12379:7;12375:647;;12472:14;;;;;:40;;-1:-1:-1;12490:22:138;;;1978:1;12490:22;12472:40;:62;;;-1:-1:-1;12516:18:138;;;1897:1;12516:18;12472:62;12468:404;;;12567:1;12562:6;;12375:647;;12468:404;12613:15;;;1824:1;12613:15;;:34;;-1:-1:-1;12632:15:138;;;1859:1;12632:15;12613:34;:61;;;-1:-1:-1;12651:23:138;;;2021:1;12651:23;12613:61;:84;;;-1:-1:-1;12678:19:138;;;1936:1;12678:19;12613:84;12609:263;;;12730:1;12725:6;;7321:5715;;12375:647;12923:10;12918:15;;2087:4;12955:11;;12375:647;13111:15;;;;;:23;;;;:18;;;;:23;;;;13148:15;;:23;;;:18;;;;:23;-1:-1:-1;13237:12:138;;;;13226:23;;;:8;;;:23;13293:1;13278:16;13263:31;;;;;13316:13;:11;:13::i;16084:2480::-;16178:12;16264:18;;:::i;:::-;-1:-1:-1;16332:4:138;16364:10;16472:13;;;16481:4;16472:13;16468:1705;;-1:-1:-1;16511:8:138;;;;16468:1705;;;16630:5;:13;;16639:4;16630:13;16626:1547;;16663:14;;;:8;;;:14;16626:1547;;;16793:5;:13;;16802:4;16793:13;16789:1384;;-1:-1:-1;16832:8:138;;;;16789:1384;;;16951:5;:13;;16960:4;16951:13;16947:1226;;16984:14;;;:8;;;:14;16947:1226;;;17125:5;:13;;17134:4;17125:13;17121:1052;;17252:9;17198:17;17178;;;17198;;;;17178:37;17259:2;17252:9;;;;;17234:8;;;:28;17280:22;:8;;;:22;17121:1052;;;17439:5;:13;;17448:4;17439:13;17435:738;;17506:11;17492;;;17506;;;17492:25;17561:2;17554:9;;;;;17536:8;;;:28;17582:22;:8;;;:22;17435:738;;;17763:5;:13;;17772:4;17763:13;17759:414;;17833:3;17814:23;;17820:3;17814:23;;;;;;;:::i;:::-;;17796:42;;:8;;;:42;17874:23;;;;;;;;;;;;;:::i;:::-;;17856:42;;:8;;;:42;17759:414;;;18067:5;:13;;18076:4;18067:13;18063:110;;18117:3;18111:9;;:3;:9;;;;;;;:::i;:::-;;18100:20;;;;:8;;;:20;18149:9;;;;;;;;;;;:::i;:::-;;18138:20;;:8;;;:20;18063:110;18266:14;;;;18262:85;;18329:3;18300:5;:15;;;18316:9;18300:26;;;;;;;;;:::i;:::-;:32;;;;:26;;;;;;:32;18262:85;18401:12;;;;;18390:23;;;;:8;;;:23;18457:1;18442:16;;;18427:31;;;18534:13;:11;:13::i;:::-;18527:20;16084:2480;-1:-1:-1;;;;;;;16084:2480:138:o;23913:1654::-;24089:14;24106:24;24118:11;24106;:24::i;:::-;24089:41;;24238:1;24231:5;24227:13;24224:33;;;24253:1;24250;24243:12;24224:33;24392:2;24586:15;;;24411:2;24400:14;;24388:10;24384:31;24381:1;24377:39;24542:16;;;24327:20;;24527:10;24516:22;;;24512:27;24502:38;24499:60;25028:5;25025:1;25021:13;25099:1;25084:343;25109:2;25106:1;25103:9;25084:343;;;25232:2;25220:15;;;25169:20;25267:12;;;25281:1;25263:20;25304:42;;;;25372:1;25367:42;;;;25256:153;;25304:42;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;25313:31;;25304:42;;25367;22391:1;22384:12;;;22424:2;22417:13;;;22469:2;22456:16;;25376:31;;25256:153;-1:-1:-1;;25127:1:138;25120:9;25084:343;;;-1:-1:-1;;25526:4:138;25519:18;-1:-1:-1;;;;23913:1654:138:o;20946:586::-;21268:20;;;21292:7;21268:32;21261:3;:40;;;21374:14;;21429:17;;21423:24;;;21415:72;;;;;;;4277:2:311;21415:72:138;;;4259:21:311;4316:2;4296:18;;;4289:30;4355:34;4335:18;;;4328:62;4426:5;4406:18;;;4399:33;4449:19;;21415:72:138;4075:399:311;21415:72:138;21501:14;20946:586;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;:::o;467:347:311:-;518:8;528:6;582:3;575:4;567:6;563:17;559:27;549:55;;600:1;597;590:12;549:55;-1:-1:-1;623:20:311;;666:18;655:30;;652:50;;;698:1;695;688:12;652:50;735:4;727:6;723:17;711:29;;787:3;780:4;771:6;763;759:19;755:30;752:39;749:59;;;804:1;801;794:12;749:59;467:347;;;;;:::o;819:785::-;918:6;926;934;942;950;1003:2;991:9;982:7;978:23;974:32;971:52;;;1019:1;1016;1009:12;971:52;1059:9;1046:23;1088:18;1129:2;1121:6;1118:14;1115:34;;;1145:1;1142;1135:12;1115:34;1184:58;1234:7;1225:6;1214:9;1210:22;1184:58;:::i;:::-;1261:8;;-1:-1:-1;1158:84:311;-1:-1:-1;1349:2:311;1334:18;;1321:32;;-1:-1:-1;1365:16:311;;;1362:36;;;1394:1;1391;1384:12;1362:36;;1433:60;1485:7;1474:8;1463:9;1459:24;1433:60;:::i;:::-;819:785;;;;-1:-1:-1;1512:8:311;1594:2;1579:18;1566:32;;819:785;-1:-1:-1;;;;819:785:311:o;1791:184::-;1843:77;1840:1;1833:88;1940:4;1937:1;1930:15;1964:4;1961:1;1954:15;3636:245;3715:6;3723;3776:2;3764:9;3755:7;3751:23;3747:32;3744:52;;;3792:1;3789;3782:12;3744:52;-1:-1:-1;;3815:16:311;;3871:2;3856:18;;;3850:25;3815:16;;3850:25;;-1:-1:-1;3636:245:311:o;3886:184::-;3938:77;3935:1;3928:88;4035:4;4032:1;4025:15;4059:4;4056:1;4049:15"
func init() { func init() {
if err := json.Unmarshal([]byte(MIPSStorageLayoutJSON), MIPSStorageLayout); err != nil { if err := json.Unmarshal([]byte(MIPSStorageLayoutJSON), MIPSStorageLayout); err != nil {
......
...@@ -15,7 +15,7 @@ var PreimageOracleStorageLayout = new(solc.StorageLayout) ...@@ -15,7 +15,7 @@ var PreimageOracleStorageLayout = new(solc.StorageLayout)
var PreimageOracleDeployedBin = "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063e03110e111610050578063e03110e114610106578063e15926111461012e578063fef2b4ed1461014357600080fd5b806361238bde146100775780638542cf50146100b5578063c0c220c9146100f3575b600080fd5b6100a26100853660046104df565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6100e36100c33660046104df565b600260209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016100ac565b6100a2610101366004610501565b610163565b6101196101143660046104df565b610238565b604080519283526020830191909152016100ac565b61014161013c36600461053c565b610329565b005b6100a26101513660046105b8565b60006020819052908152604090205481565b600061016f8686610432565b905061017c836008610600565b8211806101895750602083115b156101c0576040517ffe25498700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602081815260c085901b82526008959095528251828252600286526040808320858452875280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091558484528752808320948352938652838220558181529384905292205592915050565b6000828152600260209081526040808320848452909152812054819060ff166102c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f7072652d696d616765206d757374206578697374000000000000000000000000604482015260640160405180910390fd5b50600083815260208181526040909120546102dd816008610600565b6102e8856020610600565b1061030657836102f9826008610600565b6103039190610618565b91505b506000938452600160209081526040808620948652939052919092205492909150565b604435600080600883018611156103485763fe2549876000526004601cfd5b60c083901b6080526088838682378087017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80151908490207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f02000000000000000000000000000000000000000000000000000000000000001760008181526002602090815260408083208b8452825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915584845282528083209a83529981528982209390935590815290819052959095209190915550505050565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8316176104d8818360408051600093845233602052918152606090922091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b9392505050565b600080604083850312156104f257600080fd5b50508035926020909101359150565b600080600080600060a0868803121561051957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060006040848603121561055157600080fd5b83359250602084013567ffffffffffffffff8082111561057057600080fd5b818601915086601f83011261058457600080fd5b81358181111561059357600080fd5b8760208285010111156105a557600080fd5b6020830194508093505050509250925092565b6000602082840312156105ca57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610613576106136105d1565b500190565b60008282101561062a5761062a6105d1565b50039056fea164736f6c634300080f000a" var PreimageOracleDeployedBin = "0x608060405234801561001057600080fd5b50600436106100725760003560e01c8063e03110e111610050578063e03110e114610106578063e15926111461012e578063fef2b4ed1461014357600080fd5b806361238bde146100775780638542cf50146100b5578063c0c220c9146100f3575b600080fd5b6100a26100853660046104df565b600160209081526000928352604080842090915290825290205481565b6040519081526020015b60405180910390f35b6100e36100c33660046104df565b600260209081526000928352604080842090915290825290205460ff1681565b60405190151581526020016100ac565b6100a2610101366004610501565b610163565b6101196101143660046104df565b610238565b604080519283526020830191909152016100ac565b61014161013c36600461053c565b610329565b005b6100a26101513660046105b8565b60006020819052908152604090205481565b600061016f8686610432565b905061017c836008610600565b8211806101895750602083115b156101c0576040517ffe25498700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6000602081815260c085901b82526008959095528251828252600286526040808320858452875280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660019081179091558484528752808320948352938652838220558181529384905292205592915050565b6000828152600260209081526040808320848452909152812054819060ff166102c1576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f7072652d696d616765206d757374206578697374000000000000000000000000604482015260640160405180910390fd5b50600083815260208181526040909120546102dd816008610600565b6102e8856020610600565b1061030657836102f9826008610600565b6103039190610618565b91505b506000938452600160209081526040808620948652939052919092205492909150565b604435600080600883018611156103485763fe2549876000526004601cfd5b60c083901b6080526088838682378087017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff80151908490207effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f02000000000000000000000000000000000000000000000000000000000000001760008181526002602090815260408083208b8452825280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016600190811790915584845282528083209a83529981528982209390935590815290819052959095209190915550505050565b7f01000000000000000000000000000000000000000000000000000000000000007effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8316176104d8818360408051600093845233602052918152606090922091527effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f01000000000000000000000000000000000000000000000000000000000000001790565b9392505050565b600080604083850312156104f257600080fd5b50508035926020909101359150565b600080600080600060a0868803121561051957600080fd5b505083359560208501359550604085013594606081013594506080013592509050565b60008060006040848603121561055157600080fd5b83359250602084013567ffffffffffffffff8082111561057057600080fd5b818601915086601f83011261058457600080fd5b81358181111561059357600080fd5b8760208285010111156105a557600080fd5b6020830194508093505050509250925092565b6000602082840312156105ca57600080fd5b5035919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008219821115610613576106136105d1565b500190565b60008282101561062a5761062a6105d1565b50039056fea164736f6c634300080f000a"
var PreimageOracleDeployedSourceMap = "306:3911:137:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:25:308;;;401:2;386:18;537:68:137;;;;;;;;680:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;614:14:308;;607:22;589:41;;577:2;562:18;680:66:137;449:187:308;1367:1211:137;;;;;;:::i;:::-;;:::i;789:536::-;;;;;;:::i;:::-;;:::i;:::-;;;;1274:25:308;;;1330:2;1315:18;;1308:34;;;;1247:18;789:536:137;1100:248:308;2620:1595:137;;;;;;:::i;:::-;;:::i;:::-;;419:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;1367:1211;1560:12;1665:51;1694:6;1702:13;1665:28;:51::i;:::-;1658:58;-1:-1:-1;1810:9:137;:5;1818:1;1810:9;:::i;:::-;1796:11;:23;:37;;;;1831:2;1823:5;:10;1796:37;1792:90;;;1856:15;;;;;;;;;;;;;;1792:90;1951:12;2051:4;2044:18;;;2152:3;2148:15;;;2135:29;;2184:4;2177:19;;;;2286:18;;2376:20;;;:14;:20;;;;;;:33;;;;;;;;:40;;;;2412:4;2376:40;;;;;;2426:19;;;;;;;;:32;;;;;;;;;:39;2542:21;;;;;;;;;:29;2391:4;1367:1211;-1:-1:-1;;1367:1211:137:o;789:536::-;865:12;914:20;;;:14;:20;;;;;;;;:29;;;;;;;;;865:12;;914:29;;906:62;;;;;;;2908:2:308;906:62:137;;;2890:21:308;2947:2;2927:18;;;2920:30;2986:22;2966:18;;;2959:50;3026:18;;906:62:137;;;;;;;;-1:-1:-1;1099:14:137;1116:21;;;1087:2;1116:21;;;;;;;;1167:10;1116:21;1176:1;1167:10;:::i;:::-;1151:12;:7;1161:2;1151:12;:::i;:::-;:26;1147:87;;1216:7;1203:10;:6;1212:1;1203:10;:::i;:::-;:20;;;;:::i;:::-;1193:30;;1147:87;-1:-1:-1;1290:19:137;;;;:13;:19;;;;;;;;:28;;;;;;;;;;;;789:536;;-1:-1:-1;789:536:137:o;2620:1595::-;2916:4;2903:18;2721:12;;3045:1;3035:12;;3019:29;;3016:210;;;3120:10;3117:1;3110:21;3210:1;3204:4;3197:15;3016:210;3469:3;3465:14;;;3369:4;3453:27;3500:11;3474:4;3619:16;3500:11;3601:41;3832:29;;;3836:11;3832:29;3826:36;3884:20;;;;4031:19;4024:27;4053:11;4021:44;4084:19;;;;4062:1;4084:19;;;;;;;;:32;;;;;;;;:39;;;;4119:4;4084:39;;;;;;4133:18;;;;;;;;:31;;;;;;;;;:38;;;;4181:20;;;;;;;;;;;:27;;;;-1:-1:-1;;;;2620:1595:137:o;552:449:136:-;835:11;860:19;848:32;;832:49;965:29;832:49;980:13;1676:4;1670:11;;1533:21;1787:15;;;1828:8;1822:4;1815:22;1850:27;;;1996:4;1983:18;;;2098:17;;2003:19;1979:44;2025:11;1976:61;;1455:676;965:29;958:36;552:449;-1:-1:-1;;;552:449:136:o;14:248:308:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:308;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:308:o;641:454::-;736:6;744;752;760;768;821:3;809:9;800:7;796:23;792:33;789:53;;;838:1;835;828:12;789:53;-1:-1:-1;;861:23:308;;;931:2;916:18;;903:32;;-1:-1:-1;982:2:308;967:18;;954:32;;1033:2;1018:18;;1005:32;;-1:-1:-1;1084:3:308;1069:19;1056:33;;-1:-1:-1;641:454:308;-1:-1:-1;641:454:308:o;1353:659::-;1432:6;1440;1448;1501:2;1489:9;1480:7;1476:23;1472:32;1469:52;;;1517:1;1514;1507:12;1469:52;1553:9;1540:23;1530:33;;1614:2;1603:9;1599:18;1586:32;1637:18;1678:2;1670:6;1667:14;1664:34;;;1694:1;1691;1684:12;1664:34;1732:6;1721:9;1717:22;1707:32;;1777:7;1770:4;1766:2;1762:13;1758:27;1748:55;;1799:1;1796;1789:12;1748:55;1839:2;1826:16;1865:2;1857:6;1854:14;1851:34;;;1881:1;1878;1871:12;1851:34;1926:7;1921:2;1912:6;1908:2;1904:15;1900:24;1897:37;1894:57;;;1947:1;1944;1937:12;1894:57;1978:2;1974;1970:11;1960:21;;2000:6;1990:16;;;;;1353:659;;;;;:::o;2017:180::-;2076:6;2129:2;2117:9;2108:7;2104:23;2100:32;2097:52;;;2145:1;2142;2135:12;2097:52;-1:-1:-1;2168:23:308;;2017:180;-1:-1:-1;2017:180:308:o;2384:184::-;2436:77;2433:1;2426:88;2533:4;2530:1;2523:15;2557:4;2554:1;2547:15;2573:128;2613:3;2644:1;2640:6;2637:1;2634:13;2631:39;;;2650:18;;:::i;:::-;-1:-1:-1;2686:9:308;;2573:128::o;3055:125::-;3095:4;3123:1;3120;3117:8;3114:34;;;3128:18;;:::i;:::-;-1:-1:-1;3165:9:308;;3055:125::o" var PreimageOracleDeployedSourceMap = "306:3911:140:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;537:68;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;413:25:311;;;401:2;386:18;537:68:140;;;;;;;;680:66;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;614:14:311;;607:22;589:41;;577:2;562:18;680:66:140;449:187:311;1367:1211:140;;;;;;:::i;:::-;;:::i;789:536::-;;;;;;:::i;:::-;;:::i;:::-;;;;1274:25:311;;;1330:2;1315:18;;1308:34;;;;1247:18;789:536:140;1100:248:311;2620:1595:140;;;;;;:::i;:::-;;:::i;:::-;;419:50;;;;;;:::i;:::-;;;;;;;;;;;;;;;1367:1211;1560:12;1665:51;1694:6;1702:13;1665:28;:51::i;:::-;1658:58;-1:-1:-1;1810:9:140;:5;1818:1;1810:9;:::i;:::-;1796:11;:23;:37;;;;1831:2;1823:5;:10;1796:37;1792:90;;;1856:15;;;;;;;;;;;;;;1792:90;1951:12;2051:4;2044:18;;;2152:3;2148:15;;;2135:29;;2184:4;2177:19;;;;2286:18;;2376:20;;;:14;:20;;;;;;:33;;;;;;;;:40;;;;2412:4;2376:40;;;;;;2426:19;;;;;;;;:32;;;;;;;;;:39;2542:21;;;;;;;;;:29;2391:4;1367:1211;-1:-1:-1;;1367:1211:140:o;789:536::-;865:12;914:20;;;:14;:20;;;;;;;;:29;;;;;;;;;865:12;;914:29;;906:62;;;;;;;2908:2:311;906:62:140;;;2890:21:311;2947:2;2927:18;;;2920:30;2986:22;2966:18;;;2959:50;3026:18;;906:62:140;;;;;;;;-1:-1:-1;1099:14:140;1116:21;;;1087:2;1116:21;;;;;;;;1167:10;1116:21;1176:1;1167:10;:::i;:::-;1151:12;:7;1161:2;1151:12;:::i;:::-;:26;1147:87;;1216:7;1203:10;:6;1212:1;1203:10;:::i;:::-;:20;;;;:::i;:::-;1193:30;;1147:87;-1:-1:-1;1290:19:140;;;;:13;:19;;;;;;;;:28;;;;;;;;;;;;789:536;;-1:-1:-1;789:536:140:o;2620:1595::-;2916:4;2903:18;2721:12;;3045:1;3035:12;;3019:29;;3016:210;;;3120:10;3117:1;3110:21;3210:1;3204:4;3197:15;3016:210;3469:3;3465:14;;;3369:4;3453:27;3500:11;3474:4;3619:16;3500:11;3601:41;3832:29;;;3836:11;3832:29;3826:36;3884:20;;;;4031:19;4024:27;4053:11;4021:44;4084:19;;;;4062:1;4084:19;;;;;;;;:32;;;;;;;;:39;;;;4119:4;4084:39;;;;;;4133:18;;;;;;;;:31;;;;;;;;;:38;;;;4181:20;;;;;;;;;;;:27;;;;-1:-1:-1;;;;2620:1595:140:o;552:449:139:-;835:11;860:19;848:32;;832:49;965:29;832:49;980:13;1676:4;1670:11;;1533:21;1787:15;;;1828:8;1822:4;1815:22;1850:27;;;1996:4;1983:18;;;2098:17;;2003:19;1979:44;2025:11;1976:61;;1455:676;965:29;958:36;552:449;-1:-1:-1;;;552:449:139:o;14:248:311:-;82:6;90;143:2;131:9;122:7;118:23;114:32;111:52;;;159:1;156;149:12;111:52;-1:-1:-1;;182:23:311;;;252:2;237:18;;;224:32;;-1:-1:-1;14:248:311:o;641:454::-;736:6;744;752;760;768;821:3;809:9;800:7;796:23;792:33;789:53;;;838:1;835;828:12;789:53;-1:-1:-1;;861:23:311;;;931:2;916:18;;903:32;;-1:-1:-1;982:2:311;967:18;;954:32;;1033:2;1018:18;;1005:32;;-1:-1:-1;1084:3:311;1069:19;1056:33;;-1:-1:-1;641:454:311;-1:-1:-1;641:454:311:o;1353:659::-;1432:6;1440;1448;1501:2;1489:9;1480:7;1476:23;1472:32;1469:52;;;1517:1;1514;1507:12;1469:52;1553:9;1540:23;1530:33;;1614:2;1603:9;1599:18;1586:32;1637:18;1678:2;1670:6;1667:14;1664:34;;;1694:1;1691;1684:12;1664:34;1732:6;1721:9;1717:22;1707:32;;1777:7;1770:4;1766:2;1762:13;1758:27;1748:55;;1799:1;1796;1789:12;1748:55;1839:2;1826:16;1865:2;1857:6;1854:14;1851:34;;;1881:1;1878;1871:12;1851:34;1926:7;1921:2;1912:6;1908:2;1904:15;1900:24;1897:37;1894:57;;;1947:1;1944;1937:12;1894:57;1978:2;1974;1970:11;1960:21;;2000:6;1990:16;;;;;1353:659;;;;;:::o;2017:180::-;2076:6;2129:2;2117:9;2108:7;2104:23;2100:32;2097:52;;;2145:1;2142;2135:12;2097:52;-1:-1:-1;2168:23:311;;2017:180;-1:-1:-1;2017:180:311:o;2384:184::-;2436:77;2433:1;2426:88;2533:4;2530:1;2523:15;2557:4;2554:1;2547:15;2573:128;2613:3;2644:1;2640:6;2637:1;2634:13;2631:39;;;2650:18;;:::i;:::-;-1:-1:-1;2686:9:311;;2573:128::o;3055:125::-;3095:4;3123:1;3120;3117:8;3114:34;;;3128:18;;:::i;:::-;-1:-1:-1;3165:9:311;;3055:125::o"
func init() { func init() {
if err := json.Unmarshal([]byte(PreimageOracleStorageLayoutJSON), PreimageOracleStorageLayout); err != nil { if err := json.Unmarshal([]byte(PreimageOracleStorageLayoutJSON), PreimageOracleStorageLayout); err != nil {
......
...@@ -28,10 +28,16 @@ var ( ...@@ -28,10 +28,16 @@ var (
_ = event.NewSubscription _ = event.NewSubscription
) )
// StorageSetterSlot is an auto generated low-level Go binding around an user-defined struct.
type StorageSetterSlot struct {
Key [32]byte
Value [32]byte
}
// StorageSetterMetaData contains all meta data concerning the StorageSetter contract. // StorageSetterMetaData contains all meta data concerning the StorageSetter contract.
var StorageSetterMetaData = &bind.MetaData{ var StorageSetterMetaData = &bind.MetaData{
ABI: "[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"setAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_value\",\"type\":\"bytes32\"}],\"name\":\"setBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]", ABI: "[{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getBytes32\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"}],\"name\":\"getUint\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"_address\",\"type\":\"address\"}],\"name\":\"setAddress\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"key\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"value\",\"type\":\"bytes32\"}],\"internalType\":\"structStorageSetter.Slot[]\",\"name\":\"slots\",\"type\":\"tuple[]\"}],\"name\":\"setBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"_value\",\"type\":\"bytes32\"}],\"name\":\"setBytes32\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"_slot\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"_value\",\"type\":\"uint256\"}],\"name\":\"setUint\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}]",
Bin: "0x608060405234801561001057600080fd5b5061025a806100206000396000f3fe608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6ed563e1161005b578063a6ed563e1461011c578063bd02d0f51461011c578063ca446dd914610138578063e2a4853a146100bf57600080fd5b806321f8a721146100825780634e91db08146100bf57806354fd4d50146100d3575b600080fd5b610095610090366004610156565b610146565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d16100cd36600461016f565b9055565b005b61010f6040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100b69190610191565b61012a610090366004610156565b6040519081526020016100b6565b6100d16100cd366004610204565b6000610150825490565b92915050565b60006020828403121561016857600080fd5b5035919050565b6000806040838503121561018257600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156101be578581018301518582016040015282016101a2565b818111156101d0576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000806040838503121561021757600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461024257600080fd5b80915050925092905056fea164736f6c634300080f000a", Bin: "0x608060405234801561001057600080fd5b506103de806100206000396000f3fe608060405234801561001057600080fd5b50600436106100885760003560e01c8063a6ed563e1161005b578063a6ed563e1461013a578063bd02d0f51461013a578063ca446dd914610156578063e2a4853a146100df57600080fd5b80630528afe21461008d57806321f8a721146100a25780634e91db08146100df57806354fd4d50146100f1575b600080fd5b6100a061009b3660046101d7565b610164565b005b6100b56100b036600461024c565b6101c7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100a06100ed366004610265565b9055565b61012d6040518060400160405280600581526020017f312e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516100d69190610287565b6101486100b036600461024c565b6040519081526020016100d6565b6100a06100ed3660046102fa565b8060005b818110156101c1576101af84848381811061018557610185610343565b905060400201600001358585848181106101a1576101a1610343565b905060400201602001359055565b806101b981610372565b915050610168565b50505050565b60006101d1825490565b92915050565b600080602083850312156101ea57600080fd5b823567ffffffffffffffff8082111561020257600080fd5b818501915085601f83011261021657600080fd5b81358181111561022557600080fd5b8660208260061b850101111561023a57600080fd5b60209290920196919550909350505050565b60006020828403121561025e57600080fd5b5035919050565b6000806040838503121561027857600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156102b457858101830151858201604001528201610298565b818111156102c6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000806040838503121561030d57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461033857600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036103ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c634300080f000a",
} }
// StorageSetterABI is the input ABI used to generate the binding from. // StorageSetterABI is the input ABI used to generate the binding from.
...@@ -346,25 +352,46 @@ func (_StorageSetter *StorageSetterTransactorSession) SetAddress(_slot [32]byte, ...@@ -346,25 +352,46 @@ func (_StorageSetter *StorageSetterTransactorSession) SetAddress(_slot [32]byte,
return _StorageSetter.Contract.SetAddress(&_StorageSetter.TransactOpts, _slot, _address) return _StorageSetter.Contract.SetAddress(&_StorageSetter.TransactOpts, _slot, _address)
} }
// SetBytes32 is a paid mutator transaction binding the contract method 0x4e91db08. // SetBytes32 is a paid mutator transaction binding the contract method 0x0528afe2.
//
// Solidity: function setBytes32((bytes32,bytes32)[] slots) returns()
func (_StorageSetter *StorageSetterTransactor) SetBytes32(opts *bind.TransactOpts, slots []StorageSetterSlot) (*types.Transaction, error) {
return _StorageSetter.contract.Transact(opts, "setBytes32", slots)
}
// SetBytes32 is a paid mutator transaction binding the contract method 0x0528afe2.
//
// Solidity: function setBytes32((bytes32,bytes32)[] slots) returns()
func (_StorageSetter *StorageSetterSession) SetBytes32(slots []StorageSetterSlot) (*types.Transaction, error) {
return _StorageSetter.Contract.SetBytes32(&_StorageSetter.TransactOpts, slots)
}
// SetBytes32 is a paid mutator transaction binding the contract method 0x0528afe2.
//
// Solidity: function setBytes32((bytes32,bytes32)[] slots) returns()
func (_StorageSetter *StorageSetterTransactorSession) SetBytes32(slots []StorageSetterSlot) (*types.Transaction, error) {
return _StorageSetter.Contract.SetBytes32(&_StorageSetter.TransactOpts, slots)
}
// SetBytes320 is a paid mutator transaction binding the contract method 0x4e91db08.
// //
// Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns() // Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns()
func (_StorageSetter *StorageSetterTransactor) SetBytes32(opts *bind.TransactOpts, _slot [32]byte, _value [32]byte) (*types.Transaction, error) { func (_StorageSetter *StorageSetterTransactor) SetBytes320(opts *bind.TransactOpts, _slot [32]byte, _value [32]byte) (*types.Transaction, error) {
return _StorageSetter.contract.Transact(opts, "setBytes32", _slot, _value) return _StorageSetter.contract.Transact(opts, "setBytes320", _slot, _value)
} }
// SetBytes32 is a paid mutator transaction binding the contract method 0x4e91db08. // SetBytes320 is a paid mutator transaction binding the contract method 0x4e91db08.
// //
// Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns() // Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns()
func (_StorageSetter *StorageSetterSession) SetBytes32(_slot [32]byte, _value [32]byte) (*types.Transaction, error) { func (_StorageSetter *StorageSetterSession) SetBytes320(_slot [32]byte, _value [32]byte) (*types.Transaction, error) {
return _StorageSetter.Contract.SetBytes32(&_StorageSetter.TransactOpts, _slot, _value) return _StorageSetter.Contract.SetBytes320(&_StorageSetter.TransactOpts, _slot, _value)
} }
// SetBytes32 is a paid mutator transaction binding the contract method 0x4e91db08. // SetBytes320 is a paid mutator transaction binding the contract method 0x4e91db08.
// //
// Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns() // Solidity: function setBytes32(bytes32 _slot, bytes32 _value) returns()
func (_StorageSetter *StorageSetterTransactorSession) SetBytes32(_slot [32]byte, _value [32]byte) (*types.Transaction, error) { func (_StorageSetter *StorageSetterTransactorSession) SetBytes320(_slot [32]byte, _value [32]byte) (*types.Transaction, error) {
return _StorageSetter.Contract.SetBytes32(&_StorageSetter.TransactOpts, _slot, _value) return _StorageSetter.Contract.SetBytes320(&_StorageSetter.TransactOpts, _slot, _value)
} }
// SetUint is a paid mutator transaction binding the contract method 0xe2a4853a. // SetUint is a paid mutator transaction binding the contract method 0xe2a4853a.
......
...@@ -13,7 +13,7 @@ const StorageSetterStorageLayoutJSON = "{\"storage\":null,\"types\":{}}" ...@@ -13,7 +13,7 @@ const StorageSetterStorageLayoutJSON = "{\"storage\":null,\"types\":{}}"
var StorageSetterStorageLayout = new(solc.StorageLayout) var StorageSetterStorageLayout = new(solc.StorageLayout)
var StorageSetterDeployedBin = "0x608060405234801561001057600080fd5b506004361061007d5760003560e01c8063a6ed563e1161005b578063a6ed563e1461011c578063bd02d0f51461011c578063ca446dd914610138578063e2a4853a146100bf57600080fd5b806321f8a721146100825780634e91db08146100bf57806354fd4d50146100d3575b600080fd5b610095610090366004610156565b610146565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100d16100cd36600461016f565b9055565b005b61010f6040518060400160405280600581526020017f312e302e3000000000000000000000000000000000000000000000000000000081525081565b6040516100b69190610191565b61012a610090366004610156565b6040519081526020016100b6565b6100d16100cd366004610204565b6000610150825490565b92915050565b60006020828403121561016857600080fd5b5035919050565b6000806040838503121561018257600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156101be578581018301518582016040015282016101a2565b818111156101d0576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000806040838503121561021757600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461024257600080fd5b80915050925092905056fea164736f6c634300080f000a" var StorageSetterDeployedBin = "0x608060405234801561001057600080fd5b50600436106100885760003560e01c8063a6ed563e1161005b578063a6ed563e1461013a578063bd02d0f51461013a578063ca446dd914610156578063e2a4853a146100df57600080fd5b80630528afe21461008d57806321f8a721146100a25780634e91db08146100df57806354fd4d50146100f1575b600080fd5b6100a061009b3660046101d7565b610164565b005b6100b56100b036600461024c565b6101c7565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b6100a06100ed366004610265565b9055565b61012d6040518060400160405280600581526020017f312e312e3000000000000000000000000000000000000000000000000000000081525081565b6040516100d69190610287565b6101486100b036600461024c565b6040519081526020016100d6565b6100a06100ed3660046102fa565b8060005b818110156101c1576101af84848381811061018557610185610343565b905060400201600001358585848181106101a1576101a1610343565b905060400201602001359055565b806101b981610372565b915050610168565b50505050565b60006101d1825490565b92915050565b600080602083850312156101ea57600080fd5b823567ffffffffffffffff8082111561020257600080fd5b818501915085601f83011261021657600080fd5b81358181111561022557600080fd5b8660208260061b850101111561023a57600080fd5b60209290920196919550909350505050565b60006020828403121561025e57600080fd5b5035919050565b6000806040838503121561027857600080fd5b50508035926020909101359150565b600060208083528351808285015260005b818110156102b457858101830151858201604001528201610298565b818111156102c6576000604083870101525b50601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016929092016040019392505050565b6000806040838503121561030d57600080fd5b82359150602083013573ffffffffffffffffffffffffffffffffffffffff8116811461033857600080fd5b809150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036103ca577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b506001019056fea164736f6c634300080f000a"
func init() { func init() {
if err := json.Unmarshal([]byte(StorageSetterStorageLayoutJSON), StorageSetterStorageLayout); err != nil { if err := json.Unmarshal([]byte(StorageSetterStorageLayoutJSON), StorageSetterStorageLayout); err != nil {
......
...@@ -388,41 +388,28 @@ func (d *DeployConfig) SetDeployments(deployments *L1Deployments) { ...@@ -388,41 +388,28 @@ func (d *DeployConfig) SetDeployments(deployments *L1Deployments) {
} }
// GetDeployedAddresses will get the deployed addresses of deployed L1 contracts // GetDeployedAddresses will get the deployed addresses of deployed L1 contracts
// required for the L2 genesis creation. Legacy systems use the `Proxy__` prefix // required for the L2 genesis creation.
// while modern systems use the `Proxy` suffix. First check for the legacy
// deployments so that this works with upgrading a system.
func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error { func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error {
var err error
if d.L1StandardBridgeProxy == (common.Address{}) { if d.L1StandardBridgeProxy == (common.Address{}) {
var l1StandardBridgeProxyDeployment *hardhat.Deployment l1StandardBridgeProxyDeployment, err := hh.GetDeployment("L1StandardBridgeProxy")
l1StandardBridgeProxyDeployment, err = hh.GetDeployment("Proxy__OVM_L1StandardBridge")
if errors.Is(err, hardhat.ErrCannotFindDeployment) {
l1StandardBridgeProxyDeployment, err = hh.GetDeployment("L1StandardBridgeProxy")
if err != nil { if err != nil {
return err return fmt.Errorf("cannot find L1StandardBridgeProxy artifact: %w", err)
}
} }
d.L1StandardBridgeProxy = l1StandardBridgeProxyDeployment.Address d.L1StandardBridgeProxy = l1StandardBridgeProxyDeployment.Address
} }
if d.L1CrossDomainMessengerProxy == (common.Address{}) { if d.L1CrossDomainMessengerProxy == (common.Address{}) {
var l1CrossDomainMessengerProxyDeployment *hardhat.Deployment l1CrossDomainMessengerProxyDeployment, err := hh.GetDeployment("L1CrossDomainMessengerProxy")
l1CrossDomainMessengerProxyDeployment, err = hh.GetDeployment("Proxy__OVM_L1CrossDomainMessenger")
if errors.Is(err, hardhat.ErrCannotFindDeployment) {
l1CrossDomainMessengerProxyDeployment, err = hh.GetDeployment("L1CrossDomainMessengerProxy")
if err != nil { if err != nil {
return err return fmt.Errorf("cannot find L1CrossDomainMessengerProxy artifact: %w", err)
}
} }
d.L1CrossDomainMessengerProxy = l1CrossDomainMessengerProxyDeployment.Address d.L1CrossDomainMessengerProxy = l1CrossDomainMessengerProxyDeployment.Address
} }
if d.L1ERC721BridgeProxy == (common.Address{}) { if d.L1ERC721BridgeProxy == (common.Address{}) {
// There is no legacy deployment of this contract
l1ERC721BridgeProxyDeployment, err := hh.GetDeployment("L1ERC721BridgeProxy") l1ERC721BridgeProxyDeployment, err := hh.GetDeployment("L1ERC721BridgeProxy")
if err != nil { if err != nil {
return err return fmt.Errorf("cannot find L1ERC721BridgeProxy artifact: %w", err)
} }
d.L1ERC721BridgeProxy = l1ERC721BridgeProxyDeployment.Address d.L1ERC721BridgeProxy = l1ERC721BridgeProxyDeployment.Address
} }
...@@ -430,7 +417,7 @@ func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error { ...@@ -430,7 +417,7 @@ func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error {
if d.SystemConfigProxy == (common.Address{}) { if d.SystemConfigProxy == (common.Address{}) {
systemConfigProxyDeployment, err := hh.GetDeployment("SystemConfigProxy") systemConfigProxyDeployment, err := hh.GetDeployment("SystemConfigProxy")
if err != nil { if err != nil {
return err return fmt.Errorf("cannot find SystemConfigProxy artifact: %w", err)
} }
d.SystemConfigProxy = systemConfigProxyDeployment.Address d.SystemConfigProxy = systemConfigProxyDeployment.Address
} }
...@@ -438,7 +425,7 @@ func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error { ...@@ -438,7 +425,7 @@ func (d *DeployConfig) GetDeployedAddresses(hh *hardhat.Hardhat) error {
if d.OptimismPortalProxy == (common.Address{}) { if d.OptimismPortalProxy == (common.Address{}) {
optimismPortalProxyDeployment, err := hh.GetDeployment("OptimismPortalProxy") optimismPortalProxyDeployment, err := hh.GetDeployment("OptimismPortalProxy")
if err != nil { if err != nil {
return err return fmt.Errorf("cannot find OptimismPortalProxy artifact: %w", err)
} }
d.OptimismPortalProxy = optimismPortalProxyDeployment.Address d.OptimismPortalProxy = optimismPortalProxyDeployment.Address
} }
......
...@@ -9,6 +9,7 @@ import ( ...@@ -9,6 +9,7 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types" gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/sources/batching" "github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
) )
...@@ -21,6 +22,11 @@ const ( ...@@ -21,6 +22,11 @@ const (
methodClaim = "claimData" methodClaim = "claimData"
methodL1Head = "l1Head" methodL1Head = "l1Head"
methodProposals = "proposals" methodProposals = "proposals"
methodResolve = "resolve"
methodResolveClaim = "resolveClaim"
methodAttack = "attack"
methodDefend = "defend"
methodStep = "step"
) )
type FaultDisputeGameContract struct { type FaultDisputeGameContract struct {
...@@ -138,6 +144,57 @@ func (f *FaultDisputeGameContract) GetAllClaims(ctx context.Context) ([]types.Cl ...@@ -138,6 +144,57 @@ func (f *FaultDisputeGameContract) GetAllClaims(ctx context.Context) ([]types.Cl
return claims, nil return claims, nil
} }
func (f *FaultDisputeGameContract) AttackTx(parentContractIndex uint64, pivot common.Hash) (txmgr.TxCandidate, error) {
call := f.contract.Call(methodAttack, new(big.Int).SetUint64(parentContractIndex), pivot)
return call.ToTxCandidate()
}
func (f *FaultDisputeGameContract) DefendTx(parentContractIndex uint64, pivot common.Hash) (txmgr.TxCandidate, error) {
call := f.contract.Call(methodDefend, new(big.Int).SetUint64(parentContractIndex), pivot)
return call.ToTxCandidate()
}
func (f *FaultDisputeGameContract) StepTx(claimIdx uint64, isAttack bool, stateData []byte, proof []byte) (txmgr.TxCandidate, error) {
call := f.contract.Call(methodStep, new(big.Int).SetUint64(claimIdx), isAttack, stateData, proof)
return call.ToTxCandidate()
}
func (f *FaultDisputeGameContract) CallResolveClaim(ctx context.Context, claimIdx uint64) error {
call := f.resolveClaimCall(claimIdx)
_, err := f.multiCaller.SingleCall(ctx, batching.BlockLatest, call)
if err != nil {
return fmt.Errorf("failed to call resolve claim: %w", err)
}
return nil
}
func (f *FaultDisputeGameContract) ResolveClaimTx(claimIdx uint64) (txmgr.TxCandidate, error) {
call := f.resolveClaimCall(claimIdx)
return call.ToTxCandidate()
}
func (f *FaultDisputeGameContract) resolveClaimCall(claimIdx uint64) *batching.ContractCall {
return f.contract.Call(methodResolveClaim, new(big.Int).SetUint64(claimIdx))
}
func (f *FaultDisputeGameContract) CallResolve(ctx context.Context) (gameTypes.GameStatus, error) {
call := f.resolveCall()
result, err := f.multiCaller.SingleCall(ctx, batching.BlockLatest, call)
if err != nil {
return gameTypes.GameStatusInProgress, fmt.Errorf("failed to call resolve: %w", err)
}
return gameTypes.GameStatusFromUint8(result.GetUint8(0))
}
func (f *FaultDisputeGameContract) ResolveTx() (txmgr.TxCandidate, error) {
call := f.resolveCall()
return call.ToTxCandidate()
}
func (f *FaultDisputeGameContract) resolveCall() *batching.ContractCall {
return f.contract.Call(methodResolve)
}
func (f *FaultDisputeGameContract) decodeClaim(result *batching.CallResult, contractIndex int) types.Claim { func (f *FaultDisputeGameContract) decodeClaim(result *batching.CallResult, contractIndex int) types.Claim {
parentIndex := result.GetUint32(0) parentIndex := result.GetUint32(0)
countered := result.GetBool(1) countered := result.GetBool(1)
......
...@@ -67,6 +67,13 @@ func TestSimpleGetters(t *testing.T) { ...@@ -67,6 +67,13 @@ func TestSimpleGetters(t *testing.T) {
return game.GetL1Head(context.Background()) return game.GetL1Head(context.Background())
}, },
}, },
{
method: methodResolve,
result: types.GameStatusInProgress,
call: func(game *FaultDisputeGameContract) (any, error) {
return game.CallResolve(context.Background())
},
},
} }
for _, test := range tests { for _, test := range tests {
test := test test := test
...@@ -176,6 +183,57 @@ func TestGetAllClaims(t *testing.T) { ...@@ -176,6 +183,57 @@ func TestGetAllClaims(t *testing.T) {
require.Equal(t, expectedClaims, claims) require.Equal(t, expectedClaims, claims)
} }
func TestCallResolveClaim(t *testing.T) {
stubRpc, game := setup(t)
stubRpc.SetResponse(methodResolveClaim, batching.BlockLatest, []interface{}{big.NewInt(123)}, nil)
err := game.CallResolveClaim(context.Background(), 123)
require.NoError(t, err)
}
func TestResolveClaimTx(t *testing.T) {
stubRpc, game := setup(t)
stubRpc.SetResponse(methodResolveClaim, batching.BlockLatest, []interface{}{big.NewInt(123)}, nil)
tx, err := game.ResolveClaimTx(123)
require.NoError(t, err)
stubRpc.VerifyTxCandidate(tx)
}
func TestResolveTx(t *testing.T) {
stubRpc, game := setup(t)
stubRpc.SetResponse(methodResolve, batching.BlockLatest, nil, nil)
tx, err := game.ResolveTx()
require.NoError(t, err)
stubRpc.VerifyTxCandidate(tx)
}
func TestAttackTx(t *testing.T) {
stubRpc, game := setup(t)
value := common.Hash{0xaa}
stubRpc.SetResponse(methodAttack, batching.BlockLatest, []interface{}{big.NewInt(111), value}, nil)
tx, err := game.AttackTx(111, value)
require.NoError(t, err)
stubRpc.VerifyTxCandidate(tx)
}
func TestDefendTx(t *testing.T) {
stubRpc, game := setup(t)
value := common.Hash{0xaa}
stubRpc.SetResponse(methodDefend, batching.BlockLatest, []interface{}{big.NewInt(111), value}, nil)
tx, err := game.DefendTx(111, value)
require.NoError(t, err)
stubRpc.VerifyTxCandidate(tx)
}
func TestStepTx(t *testing.T) {
stubRpc, game := setup(t)
stateData := []byte{1, 2, 3}
proofData := []byte{4, 5, 6, 7, 8, 9}
stubRpc.SetResponse(methodStep, batching.BlockLatest, []interface{}{big.NewInt(111), true, stateData, proofData}, nil)
tx, err := game.StepTx(111, true, stateData, proofData)
require.NoError(t, err)
stubRpc.VerifyTxCandidate(tx)
}
func expectGetClaim(stubRpc *batchingTest.AbiBasedRpc, claim faultTypes.Claim) { func expectGetClaim(stubRpc *batchingTest.AbiBasedRpc, claim faultTypes.Claim) {
stubRpc.SetResponse( stubRpc.SetResponse(
methodClaim, methodClaim,
......
...@@ -8,7 +8,6 @@ import ( ...@@ -8,7 +8,6 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/config" "github.com/ethereum-optimism/optimism/op-challenger/config"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/responder" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/responder"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types" gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-challenger/metrics" "github.com/ethereum-optimism/optimism/op-challenger/metrics"
...@@ -26,6 +25,10 @@ type GameInfo interface { ...@@ -26,6 +25,10 @@ type GameInfo interface {
GetClaimCount(context.Context) (uint64, error) GetClaimCount(context.Context) (uint64, error)
} }
// gameValidator checks that the specific game instance is compatible with the configuration.
// Typically, this is done by verifying the absolute prestate of the game matches the local absolute prestate.
type gameValidator func(ctx context.Context, gameContract *contracts.FaultDisputeGameContract) error
type GamePlayer struct { type GamePlayer struct {
act actor act actor
agreeWithProposedOutput bool agreeWithProposedOutput bool
...@@ -34,7 +37,7 @@ type GamePlayer struct { ...@@ -34,7 +37,7 @@ type GamePlayer struct {
status gameTypes.GameStatus status gameTypes.GameStatus
} }
type resourceCreator func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (types.TraceProvider, types.OracleUpdater, error) type resourceCreator func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (types.TraceAccessor, types.OracleUpdater, gameValidator, error)
func NewGamePlayer( func NewGamePlayer(
ctx context.Context, ctx context.Context,
...@@ -77,21 +80,20 @@ func NewGamePlayer( ...@@ -77,21 +80,20 @@ func NewGamePlayer(
return nil, fmt.Errorf("failed to fetch the game depth: %w", err) return nil, fmt.Errorf("failed to fetch the game depth: %w", err)
} }
provider, updater, err := creator(addr, loader, gameDepth, dir) accessor, updater, validator, err := creator(addr, loader, gameDepth, dir)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create trace provider: %w", err) return nil, fmt.Errorf("failed to create trace accessor: %w", err)
} }
if err := ValidateAbsolutePrestate(ctx, provider, loader); err != nil { if err := validator(ctx, loader); err != nil {
return nil, fmt.Errorf("failed to validate absolute prestate: %w", err) return nil, fmt.Errorf("failed to validate absolute prestate: %w", err)
} }
responder, err := responder.NewFaultResponder(logger, txMgr, addr) responder, err := responder.NewFaultResponder(logger, txMgr, loader)
if err != nil { if err != nil {
return nil, fmt.Errorf("failed to create the responder: %w", err) return nil, fmt.Errorf("failed to create the responder: %w", err)
} }
accessor := trace.NewSimpleTraceAccessor(provider)
agent := NewAgent(m, loader, int(gameDepth), accessor, responder, updater, cfg.AgreeWithProposedOutput, logger) agent := NewAgent(m, loader, int(gameDepth), accessor, responder, updater, cfg.AgreeWithProposedOutput, logger)
return &GamePlayer{ return &GamePlayer{
act: agent.Act, act: agent.Act,
......
...@@ -6,6 +6,7 @@ import ( ...@@ -6,6 +6,7 @@ import (
"github.com/ethereum-optimism/optimism/op-challenger/config" "github.com/ethereum-optimism/optimism/op-challenger/config"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/contracts"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/alphabet" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/alphabet"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/cannon" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/cannon"
faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" faultTypes "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
...@@ -37,16 +38,19 @@ func RegisterGameTypes( ...@@ -37,16 +38,19 @@ func RegisterGameTypes(
client *ethclient.Client, client *ethclient.Client,
) { ) {
if cfg.TraceTypeEnabled(config.TraceTypeCannon) { if cfg.TraceTypeEnabled(config.TraceTypeCannon) {
resourceCreator := func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (faultTypes.TraceProvider, faultTypes.OracleUpdater, error) { resourceCreator := func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (faultTypes.TraceAccessor, faultTypes.OracleUpdater, gameValidator, error) {
provider, err := cannon.NewTraceProvider(ctx, logger, m, cfg, contract, dir, gameDepth) provider, err := cannon.NewTraceProvider(ctx, logger, m, cfg, contract, dir, gameDepth)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("create cannon trace provider: %w", err) return nil, nil, nil, fmt.Errorf("create cannon trace provider: %w", err)
} }
updater, err := cannon.NewOracleUpdater(ctx, logger, txMgr, addr, client) updater, err := cannon.NewOracleUpdater(ctx, logger, txMgr, addr, client)
if err != nil { if err != nil {
return nil, nil, fmt.Errorf("failed to create the cannon updater: %w", err) return nil, nil, nil, fmt.Errorf("failed to create the cannon updater: %w", err)
} }
return provider, updater, nil validator := func(ctx context.Context, contract *contracts.FaultDisputeGameContract) error {
return ValidateAbsolutePrestate(ctx, provider, contract)
}
return trace.NewSimpleTraceAccessor(provider), updater, validator, nil
} }
playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) { playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) {
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator) return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator)
...@@ -54,10 +58,13 @@ func RegisterGameTypes( ...@@ -54,10 +58,13 @@ func RegisterGameTypes(
registry.RegisterGameType(cannonGameType, playerCreator) registry.RegisterGameType(cannonGameType, playerCreator)
} }
if cfg.TraceTypeEnabled(config.TraceTypeAlphabet) { if cfg.TraceTypeEnabled(config.TraceTypeAlphabet) {
resourceCreator := func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (faultTypes.TraceProvider, faultTypes.OracleUpdater, error) { resourceCreator := func(addr common.Address, contract *contracts.FaultDisputeGameContract, gameDepth uint64, dir string) (faultTypes.TraceAccessor, faultTypes.OracleUpdater, gameValidator, error) {
provider := alphabet.NewTraceProvider(cfg.AlphabetTrace, gameDepth) provider := alphabet.NewTraceProvider(cfg.AlphabetTrace, gameDepth)
updater := alphabet.NewOracleUpdater(logger) updater := alphabet.NewOracleUpdater(logger)
return provider, updater, nil validator := func(ctx context.Context, contract *contracts.FaultDisputeGameContract) error {
return ValidateAbsolutePrestate(ctx, provider, contract)
}
return trace.NewSimpleTraceAccessor(provider), updater, validator, nil
} }
playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) { playerCreator := func(game types.GameMetadata, dir string) (scheduler.GamePlayer, error) {
return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator) return NewGamePlayer(ctx, logger, m, cfg, dir, game.Proxy, txMgr, client, resourceCreator)
......
package responder
import (
"math/big"
"testing"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum/go-ethereum/accounts/abi/bind"
"github.com/ethereum/go-ethereum/accounts/abi/bind/backends"
"github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/core"
"github.com/ethereum/go-ethereum/crypto"
"github.com/ethereum/go-ethereum/params"
"github.com/stretchr/testify/require"
)
// setupFaultDisputeGame deploys the FaultDisputeGame contract to a simulated backend
func setupFaultDisputeGame() (common.Address, *bind.TransactOpts, *backends.SimulatedBackend, *bindings.FaultDisputeGame, error) {
privateKey, err := crypto.GenerateKey()
from := crypto.PubkeyToAddress(privateKey.PublicKey)
if err != nil {
return common.Address{}, nil, nil, nil, err
}
opts, err := bind.NewKeyedTransactorWithChainID(privateKey, big.NewInt(1337))
if err != nil {
return common.Address{}, nil, nil, nil, err
}
backend := backends.NewSimulatedBackend(
core.GenesisAlloc{from: {Balance: big.NewInt(params.Ether)}},
50_000_000,
)
blockHashOracle, _, _, err := bindings.DeployBlockOracle(opts, backend)
if err != nil {
return common.Address{}, nil, nil, nil, err
}
_, _, contract, err := bindings.DeployFaultDisputeGame(
opts,
backend,
uint8(0), // Game Type ID
[32]byte{0x01}, // Absolute Prestate Claim
big.NewInt(15), // Max Game Depth
uint64(604800), // 7 days
common.Address{0xdd}, // VM
common.Address{0xee}, // L2OutputOracle (Not used in Alphabet Game)
blockHashOracle, // Block hash oracle
)
if err != nil {
return common.Address{}, nil, nil, nil, err
}
return from, opts, backend, contract, nil
}
// TestBuildFaultDefendData ensures that the manual ABI packing is the same as going through the bound contract.
func TestBuildFaultDefendData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err)
resp, _ := newTestFaultResponder(t)
data, err := resp.buildFaultDefendData(1, [32]byte{0x02, 0x03})
require.NoError(t, err)
opts.GasLimit = 100_000
tx, err := contract.Defend(opts, big.NewInt(1), [32]byte{0x02, 0x03})
require.NoError(t, err)
require.Equal(t, data, tx.Data())
}
// TestBuildFaultAttackData ensures that the manual ABI packing is the same as going through the bound contract.
func TestBuildFaultAttackData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err)
resp, _ := newTestFaultResponder(t)
data, err := resp.buildFaultAttackData(1, [32]byte{0x02, 0x03})
require.NoError(t, err)
opts.GasLimit = 100_000
tx, err := contract.Attack(opts, big.NewInt(1), [32]byte{0x02, 0x03})
require.NoError(t, err)
require.Equal(t, data, tx.Data())
}
// TestBuildFaultStepData ensures that the manual ABI packing is the same as going through the bound contract.
func TestBuildFaultStepData(t *testing.T) {
_, opts, _, contract, err := setupFaultDisputeGame()
require.NoError(t, err)
resp, _ := newTestFaultResponder(t)
data, err := resp.buildStepTxData(2, false, []byte{0x01}, []byte{0x02})
require.NoError(t, err)
opts.GasLimit = 100_000
tx, err := contract.Step(opts, big.NewInt(2), false, []byte{0x01}, []byte{0x02})
require.NoError(t, err)
require.Equal(t, data, tx.Data())
}
...@@ -2,153 +2,97 @@ package responder ...@@ -2,153 +2,97 @@ package responder
import ( import (
"context" "context"
"math/big"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types" gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/txmgr" "github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types" ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
) )
type GameContract interface {
CallResolve(ctx context.Context) (gameTypes.GameStatus, error)
ResolveTx() (txmgr.TxCandidate, error)
CallResolveClaim(ctx context.Context, claimIdx uint64) error
ResolveClaimTx(claimIdx uint64) (txmgr.TxCandidate, error)
AttackTx(parentContractIndex uint64, pivot common.Hash) (txmgr.TxCandidate, error)
DefendTx(parentContractIndex uint64, pivot common.Hash) (txmgr.TxCandidate, error)
StepTx(claimIdx uint64, isAttack bool, stateData []byte, proof []byte) (txmgr.TxCandidate, error)
}
// FaultResponder implements the [Responder] interface to send onchain transactions. // FaultResponder implements the [Responder] interface to send onchain transactions.
type FaultResponder struct { type FaultResponder struct {
log log.Logger log log.Logger
txMgr txmgr.TxManager txMgr txmgr.TxManager
contract GameContract
fdgAddr common.Address
fdgAbi *abi.ABI
} }
// NewFaultResponder returns a new [FaultResponder]. // NewFaultResponder returns a new [FaultResponder].
func NewFaultResponder(logger log.Logger, txManagr txmgr.TxManager, fdgAddr common.Address) (*FaultResponder, error) { func NewFaultResponder(logger log.Logger, txMgr txmgr.TxManager, contract GameContract) (*FaultResponder, error) {
fdgAbi, err := bindings.FaultDisputeGameMetaData.GetAbi()
if err != nil {
return nil, err
}
return &FaultResponder{ return &FaultResponder{
log: logger, log: logger,
txMgr: txManagr, txMgr: txMgr,
fdgAddr: fdgAddr, contract: contract,
fdgAbi: fdgAbi,
}, nil }, nil
} }
// buildFaultDefendData creates the transaction data for the Defend function.
func (r *FaultResponder) buildFaultDefendData(parentContractIndex int, pivot [32]byte) ([]byte, error) {
return r.fdgAbi.Pack(
"defend",
big.NewInt(int64(parentContractIndex)),
pivot,
)
}
// buildFaultAttackData creates the transaction data for the Attack function.
func (r *FaultResponder) buildFaultAttackData(parentContractIndex int, pivot [32]byte) ([]byte, error) {
return r.fdgAbi.Pack(
"attack",
big.NewInt(int64(parentContractIndex)),
pivot,
)
}
// buildResolveData creates the transaction data for the Resolve function.
func (r *FaultResponder) buildResolveData() ([]byte, error) {
return r.fdgAbi.Pack("resolve")
}
// CallResolve determines if the resolve function on the fault dispute game contract // CallResolve determines if the resolve function on the fault dispute game contract
// would succeed. Returns the game status if the call would succeed, errors otherwise. // would succeed. Returns the game status if the call would succeed, errors otherwise.
func (r *FaultResponder) CallResolve(ctx context.Context) (gameTypes.GameStatus, error) { func (r *FaultResponder) CallResolve(ctx context.Context) (gameTypes.GameStatus, error) {
txData, err := r.buildResolveData() return r.contract.CallResolve(ctx)
if err != nil {
return gameTypes.GameStatusInProgress, err
}
res, err := r.txMgr.Call(ctx, ethereum.CallMsg{
To: &r.fdgAddr,
Data: txData,
}, nil)
if err != nil {
return gameTypes.GameStatusInProgress, err
}
var status uint8
if err = r.fdgAbi.UnpackIntoInterface(&status, "resolve", res); err != nil {
return gameTypes.GameStatusInProgress, err
}
return gameTypes.GameStatusFromUint8(status)
} }
// Resolve executes a resolve transaction to resolve a fault dispute game. // Resolve executes a resolve transaction to resolve a fault dispute game.
func (r *FaultResponder) Resolve(ctx context.Context) error { func (r *FaultResponder) Resolve(ctx context.Context) error {
txData, err := r.buildResolveData() candidate, err := r.contract.ResolveTx()
if err != nil { if err != nil {
return err return err
} }
return r.sendTxAndWait(ctx, txData) return r.sendTxAndWait(ctx, candidate)
}
// buildResolveClaimData creates the transaction data for the ResolveClaim function.
func (r *FaultResponder) buildResolveClaimData(claimIdx uint64) ([]byte, error) {
return r.fdgAbi.Pack("resolveClaim", big.NewInt(int64(claimIdx)))
} }
// CallResolveClaim determines if the resolveClaim function on the fault dispute game contract // CallResolveClaim determines if the resolveClaim function on the fault dispute game contract
// would succeed. // would succeed.
func (r *FaultResponder) CallResolveClaim(ctx context.Context, claimIdx uint64) error { func (r *FaultResponder) CallResolveClaim(ctx context.Context, claimIdx uint64) error {
txData, err := r.buildResolveClaimData(claimIdx) return r.contract.CallResolveClaim(ctx, claimIdx)
if err != nil {
return err
}
_, err = r.txMgr.Call(ctx, ethereum.CallMsg{
To: &r.fdgAddr,
Data: txData,
}, nil)
return err
} }
// ResolveClaim executes a resolveClaim transaction to resolve a fault dispute game. // ResolveClaim executes a resolveClaim transaction to resolve a fault dispute game.
func (r *FaultResponder) ResolveClaim(ctx context.Context, claimIdx uint64) error { func (r *FaultResponder) ResolveClaim(ctx context.Context, claimIdx uint64) error {
txData, err := r.buildResolveClaimData(claimIdx) candidate, err := r.contract.ResolveClaimTx(claimIdx)
if err != nil { if err != nil {
return err return err
} }
return r.sendTxAndWait(ctx, txData) return r.sendTxAndWait(ctx, candidate)
} }
func (r *FaultResponder) PerformAction(ctx context.Context, action types.Action) error { func (r *FaultResponder) PerformAction(ctx context.Context, action types.Action) error {
var txData []byte var candidate txmgr.TxCandidate
var err error var err error
switch action.Type { switch action.Type {
case types.ActionTypeMove: case types.ActionTypeMove:
if action.IsAttack { if action.IsAttack {
txData, err = r.buildFaultAttackData(action.ParentIdx, action.Value) candidate, err = r.contract.AttackTx(uint64(action.ParentIdx), action.Value)
} else { } else {
txData, err = r.buildFaultDefendData(action.ParentIdx, action.Value) candidate, err = r.contract.DefendTx(uint64(action.ParentIdx), action.Value)
} }
case types.ActionTypeStep: case types.ActionTypeStep:
txData, err = r.buildStepTxData(uint64(action.ParentIdx), action.IsAttack, action.PreState, action.ProofData) candidate, err = r.contract.StepTx(uint64(action.ParentIdx), action.IsAttack, action.PreState, action.ProofData)
} }
if err != nil { if err != nil {
return err return err
} }
return r.sendTxAndWait(ctx, txData) return r.sendTxAndWait(ctx, candidate)
} }
// sendTxAndWait sends a transaction through the [txmgr] and waits for a receipt. // sendTxAndWait sends a transaction through the [txmgr] and waits for a receipt.
// This sets the tx GasLimit to 0, performing gas estimation online through the [txmgr]. // This sets the tx GasLimit to 0, performing gas estimation online through the [txmgr].
func (r *FaultResponder) sendTxAndWait(ctx context.Context, txData []byte) error { func (r *FaultResponder) sendTxAndWait(ctx context.Context, candidate txmgr.TxCandidate) error {
receipt, err := r.txMgr.Send(ctx, txmgr.TxCandidate{ receipt, err := r.txMgr.Send(ctx, candidate)
To: &r.fdgAddr,
TxData: txData,
GasLimit: 0,
})
if err != nil { if err != nil {
return err return err
} }
...@@ -159,14 +103,3 @@ func (r *FaultResponder) sendTxAndWait(ctx context.Context, txData []byte) error ...@@ -159,14 +103,3 @@ func (r *FaultResponder) sendTxAndWait(ctx context.Context, txData []byte) error
} }
return nil return nil
} }
// buildStepTxData creates the transaction data for the step function.
func (r *FaultResponder) buildStepTxData(claimIdx uint64, isAttack bool, stateData []byte, proof []byte) ([]byte, error) {
return r.fdgAbi.Pack(
"step",
big.NewInt(int64(claimIdx)),
isAttack,
stateData,
proof,
)
}
...@@ -3,16 +3,13 @@ package responder ...@@ -3,16 +3,13 @@ package responder
import ( import (
"context" "context"
"errors" "errors"
"math/big"
"testing" "testing"
"github.com/ethereum-optimism/optimism/op-bindings/bindings"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types" "github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types" gameTypes "github.com/ethereum-optimism/optimism/op-challenger/game/types"
"github.com/ethereum-optimism/optimism/op-service/testlog" "github.com/ethereum-optimism/optimism/op-service/testlog"
"github.com/ethereum-optimism/optimism/op-service/txmgr" "github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
ethtypes "github.com/ethereum/go-ethereum/core/types" ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/log" "github.com/ethereum/go-ethereum/log"
...@@ -21,7 +18,6 @@ import ( ...@@ -21,7 +18,6 @@ import (
) )
var ( var (
mockFdgAddress = common.HexToAddress("0x1234")
mockSendError = errors.New("mock send error") mockSendError = errors.New("mock send error")
mockCallError = errors.New("mock call error") mockCallError = errors.New("mock call error")
) )
...@@ -29,36 +25,27 @@ var ( ...@@ -29,36 +25,27 @@ var (
// TestCallResolve tests the [Responder.CallResolve]. // TestCallResolve tests the [Responder.CallResolve].
func TestCallResolve(t *testing.T) { func TestCallResolve(t *testing.T) {
t.Run("SendFails", func(t *testing.T) { t.Run("SendFails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, _, contract := newTestFaultResponder(t)
mockTxMgr.callFails = true contract.callFails = true
status, err := responder.CallResolve(context.Background()) status, err := responder.CallResolve(context.Background())
require.ErrorIs(t, err, mockCallError) require.ErrorIs(t, err, mockCallError)
require.Equal(t, gameTypes.GameStatusInProgress, status) require.Equal(t, gameTypes.GameStatusInProgress, status)
require.Equal(t, 0, mockTxMgr.calls) require.Equal(t, 0, contract.calls)
})
t.Run("UnpackFails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t)
mockTxMgr.callBytes = []byte{0x00, 0x01}
status, err := responder.CallResolve(context.Background())
require.Error(t, err)
require.Equal(t, gameTypes.GameStatusInProgress, status)
require.Equal(t, 1, mockTxMgr.calls)
}) })
t.Run("Success", func(t *testing.T) { t.Run("Success", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, _, contract := newTestFaultResponder(t)
status, err := responder.CallResolve(context.Background()) status, err := responder.CallResolve(context.Background())
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, gameTypes.GameStatusInProgress, status) require.Equal(t, gameTypes.GameStatusInProgress, status)
require.Equal(t, 1, mockTxMgr.calls) require.Equal(t, 1, contract.calls)
}) })
} }
// TestResolve tests the [Responder.Resolve] method. // TestResolve tests the [Responder.Resolve] method.
func TestResolve(t *testing.T) { func TestResolve(t *testing.T) {
t.Run("SendFails", func(t *testing.T) { t.Run("SendFails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
mockTxMgr.sendFails = true mockTxMgr.sendFails = true
err := responder.Resolve(context.Background()) err := responder.Resolve(context.Background())
require.ErrorIs(t, err, mockSendError) require.ErrorIs(t, err, mockSendError)
...@@ -66,7 +53,7 @@ func TestResolve(t *testing.T) { ...@@ -66,7 +53,7 @@ func TestResolve(t *testing.T) {
}) })
t.Run("Success", func(t *testing.T) { t.Run("Success", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
err := responder.Resolve(context.Background()) err := responder.Resolve(context.Background())
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, mockTxMgr.sends) require.Equal(t, 1, mockTxMgr.sends)
...@@ -75,24 +62,24 @@ func TestResolve(t *testing.T) { ...@@ -75,24 +62,24 @@ func TestResolve(t *testing.T) {
func TestCallResolveClaim(t *testing.T) { func TestCallResolveClaim(t *testing.T) {
t.Run("SendFails", func(t *testing.T) { t.Run("SendFails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, _, contract := newTestFaultResponder(t)
mockTxMgr.callFails = true contract.callFails = true
err := responder.CallResolveClaim(context.Background(), 0) err := responder.CallResolveClaim(context.Background(), 0)
require.ErrorIs(t, err, mockCallError) require.ErrorIs(t, err, mockCallError)
require.Equal(t, 0, mockTxMgr.calls) require.Equal(t, 0, contract.calls)
}) })
t.Run("Success", func(t *testing.T) { t.Run("Success", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, _, contract := newTestFaultResponder(t)
err := responder.CallResolveClaim(context.Background(), 0) err := responder.CallResolveClaim(context.Background(), 0)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, mockTxMgr.calls) require.Equal(t, 1, contract.calls)
}) })
} }
func TestResolveClaim(t *testing.T) { func TestResolveClaim(t *testing.T) {
t.Run("SendFails", func(t *testing.T) { t.Run("SendFails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
mockTxMgr.sendFails = true mockTxMgr.sendFails = true
err := responder.ResolveClaim(context.Background(), 0) err := responder.ResolveClaim(context.Background(), 0)
require.ErrorIs(t, err, mockSendError) require.ErrorIs(t, err, mockSendError)
...@@ -100,7 +87,7 @@ func TestResolveClaim(t *testing.T) { ...@@ -100,7 +87,7 @@ func TestResolveClaim(t *testing.T) {
}) })
t.Run("Success", func(t *testing.T) { t.Run("Success", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
err := responder.ResolveClaim(context.Background(), 0) err := responder.ResolveClaim(context.Background(), 0)
require.NoError(t, err) require.NoError(t, err)
require.Equal(t, 1, mockTxMgr.sends) require.Equal(t, 1, mockTxMgr.sends)
...@@ -110,7 +97,7 @@ func TestResolveClaim(t *testing.T) { ...@@ -110,7 +97,7 @@ func TestResolveClaim(t *testing.T) {
// TestRespond tests the [Responder.Respond] method. // TestRespond tests the [Responder.Respond] method.
func TestPerformAction(t *testing.T) { func TestPerformAction(t *testing.T) {
t.Run("send fails", func(t *testing.T) { t.Run("send fails", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
mockTxMgr.sendFails = true mockTxMgr.sendFails = true
err := responder.PerformAction(context.Background(), types.Action{ err := responder.PerformAction(context.Background(), types.Action{
Type: types.ActionTypeMove, Type: types.ActionTypeMove,
...@@ -123,7 +110,7 @@ func TestPerformAction(t *testing.T) { ...@@ -123,7 +110,7 @@ func TestPerformAction(t *testing.T) {
}) })
t.Run("sends response", func(t *testing.T) { t.Run("sends response", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, _ := newTestFaultResponder(t)
err := responder.PerformAction(context.Background(), types.Action{ err := responder.PerformAction(context.Background(), types.Action{
Type: types.ActionTypeMove, Type: types.ActionTypeMove,
ParentIdx: 123, ParentIdx: 123,
...@@ -135,7 +122,7 @@ func TestPerformAction(t *testing.T) { ...@@ -135,7 +122,7 @@ func TestPerformAction(t *testing.T) {
}) })
t.Run("attack", func(t *testing.T) { t.Run("attack", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, contract := newTestFaultResponder(t)
action := types.Action{ action := types.Action{
Type: types.ActionTypeMove, Type: types.ActionTypeMove,
ParentIdx: 123, ParentIdx: 123,
...@@ -145,18 +132,13 @@ func TestPerformAction(t *testing.T) { ...@@ -145,18 +132,13 @@ func TestPerformAction(t *testing.T) {
err := responder.PerformAction(context.Background(), action) err := responder.PerformAction(context.Background(), action)
require.NoError(t, err) require.NoError(t, err)
// Pack the tx data manually.
fdgAbi, err := bindings.FaultDisputeGameMetaData.GetAbi()
require.NoError(t, err)
expected, err := fdgAbi.Pack("attack", big.NewInt(int64(action.ParentIdx)), action.Value)
require.NoError(t, err)
require.Len(t, mockTxMgr.sent, 1) require.Len(t, mockTxMgr.sent, 1)
require.Equal(t, expected, mockTxMgr.sent[0].TxData) require.EqualValues(t, []interface{}{uint64(action.ParentIdx), action.Value}, contract.attackArgs)
require.Equal(t, ([]byte)("attack"), mockTxMgr.sent[0].TxData)
}) })
t.Run("defend", func(t *testing.T) { t.Run("defend", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, contract := newTestFaultResponder(t)
action := types.Action{ action := types.Action{
Type: types.ActionTypeMove, Type: types.ActionTypeMove,
ParentIdx: 123, ParentIdx: 123,
...@@ -166,18 +148,13 @@ func TestPerformAction(t *testing.T) { ...@@ -166,18 +148,13 @@ func TestPerformAction(t *testing.T) {
err := responder.PerformAction(context.Background(), action) err := responder.PerformAction(context.Background(), action)
require.NoError(t, err) require.NoError(t, err)
// Pack the tx data manually.
fdgAbi, err := bindings.FaultDisputeGameMetaData.GetAbi()
require.NoError(t, err)
expected, err := fdgAbi.Pack("defend", big.NewInt(int64(action.ParentIdx)), action.Value)
require.NoError(t, err)
require.Len(t, mockTxMgr.sent, 1) require.Len(t, mockTxMgr.sent, 1)
require.Equal(t, expected, mockTxMgr.sent[0].TxData) require.EqualValues(t, []interface{}{uint64(action.ParentIdx), action.Value}, contract.defendArgs)
require.Equal(t, ([]byte)("defend"), mockTxMgr.sent[0].TxData)
}) })
t.Run("step", func(t *testing.T) { t.Run("step", func(t *testing.T) {
responder, mockTxMgr := newTestFaultResponder(t) responder, mockTxMgr, contract := newTestFaultResponder(t)
action := types.Action{ action := types.Action{
Type: types.ActionTypeStep, Type: types.ActionTypeStep,
ParentIdx: 123, ParentIdx: 123,
...@@ -188,36 +165,29 @@ func TestPerformAction(t *testing.T) { ...@@ -188,36 +165,29 @@ func TestPerformAction(t *testing.T) {
err := responder.PerformAction(context.Background(), action) err := responder.PerformAction(context.Background(), action)
require.NoError(t, err) require.NoError(t, err)
// Pack the tx data manually.
fdgAbi, err := bindings.FaultDisputeGameMetaData.GetAbi()
require.NoError(t, err)
expected, err := fdgAbi.Pack("step", big.NewInt(int64(action.ParentIdx)), true, action.PreState, action.ProofData)
require.NoError(t, err)
require.Len(t, mockTxMgr.sent, 1) require.Len(t, mockTxMgr.sent, 1)
require.Equal(t, expected, mockTxMgr.sent[0].TxData) require.EqualValues(t, []interface{}{uint64(action.ParentIdx), action.IsAttack, action.PreState, action.ProofData}, contract.stepArgs)
require.Equal(t, ([]byte)("step"), mockTxMgr.sent[0].TxData)
}) })
} }
func newTestFaultResponder(t *testing.T) (*FaultResponder, *mockTxManager) { func newTestFaultResponder(t *testing.T) (*FaultResponder, *mockTxManager, *mockContract) {
log := testlog.Logger(t, log.LvlError) log := testlog.Logger(t, log.LvlError)
mockTxMgr := &mockTxManager{} mockTxMgr := &mockTxManager{}
responder, err := NewFaultResponder(log, mockTxMgr, mockFdgAddress) contract := &mockContract{}
responder, err := NewFaultResponder(log, mockTxMgr, contract)
require.NoError(t, err) require.NoError(t, err)
return responder, mockTxMgr return responder, mockTxMgr, contract
} }
type mockTxManager struct { type mockTxManager struct {
from common.Address from common.Address
sends int sends int
sent []txmgr.TxCandidate sent []txmgr.TxCandidate
calls int
sendFails bool sendFails bool
callFails bool
callBytes []byte
} }
func (m *mockTxManager) Send(ctx context.Context, candidate txmgr.TxCandidate) (*ethtypes.Receipt, error) { func (m *mockTxManager) Send(_ context.Context, candidate txmgr.TxCandidate) (*ethtypes.Receipt, error) {
if m.sendFails { if m.sendFails {
return nil, mockSendError return nil, mockSendError
} }
...@@ -230,23 +200,57 @@ func (m *mockTxManager) Send(ctx context.Context, candidate txmgr.TxCandidate) ( ...@@ -230,23 +200,57 @@ func (m *mockTxManager) Send(ctx context.Context, candidate txmgr.TxCandidate) (
), nil ), nil
} }
func (m *mockTxManager) Call(_ context.Context, _ ethereum.CallMsg, _ *big.Int) ([]byte, error) { func (m *mockTxManager) BlockNumber(_ context.Context) (uint64, error) {
panic("not implemented")
}
func (m *mockTxManager) From() common.Address {
return m.from
}
type mockContract struct {
calls int
callFails bool
attackArgs []interface{}
defendArgs []interface{}
stepArgs []interface{}
}
func (m *mockContract) CallResolve(_ context.Context) (gameTypes.GameStatus, error) {
if m.callFails { if m.callFails {
return nil, mockCallError return gameTypes.GameStatusInProgress, mockCallError
} }
m.calls++ m.calls++
if m.callBytes != nil { return gameTypes.GameStatusInProgress, nil
return m.callBytes, nil }
func (m *mockContract) ResolveTx() (txmgr.TxCandidate, error) {
return txmgr.TxCandidate{}, nil
}
func (m *mockContract) CallResolveClaim(_ context.Context, _ uint64) error {
if m.callFails {
return mockCallError
} }
return common.Hex2Bytes( m.calls++
"0000000000000000000000000000000000000000000000000000000000000000", return nil
), nil
} }
func (m *mockTxManager) BlockNumber(ctx context.Context) (uint64, error) { func (m *mockContract) ResolveClaimTx(_ uint64) (txmgr.TxCandidate, error) {
panic("not implemented") return txmgr.TxCandidate{}, nil
} }
func (m *mockTxManager) From() common.Address { func (m *mockContract) AttackTx(parentClaimId uint64, claim common.Hash) (txmgr.TxCandidate, error) {
return m.from m.attackArgs = []interface{}{parentClaimId, claim}
return txmgr.TxCandidate{TxData: ([]byte)("attack")}, nil
}
func (m *mockContract) DefendTx(parentClaimId uint64, claim common.Hash) (txmgr.TxCandidate, error) {
m.defendArgs = []interface{}{parentClaimId, claim}
return txmgr.TxCandidate{TxData: ([]byte)("defend")}, nil
}
func (m *mockContract) StepTx(claimIdx uint64, isAttack bool, stateData []byte, proofData []byte) (txmgr.TxCandidate, error) {
m.stepArgs = []interface{}{claimIdx, isAttack, stateData, proofData}
return txmgr.TxCandidate{TxData: ([]byte)("step")}, nil
} }
...@@ -3,7 +3,6 @@ package cannon ...@@ -3,7 +3,6 @@ package cannon
import ( import (
"context" "context"
"errors" "errors"
"math/big"
"testing" "testing"
"github.com/ethereum-optimism/optimism/op-bindings/bindings" "github.com/ethereum-optimism/optimism/op-bindings/bindings"
...@@ -11,7 +10,6 @@ import ( ...@@ -11,7 +10,6 @@ import (
"github.com/ethereum-optimism/optimism/op-service/testlog" "github.com/ethereum-optimism/optimism/op-service/testlog"
"github.com/ethereum-optimism/optimism/op-service/txmgr" "github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum"
ethtypes "github.com/ethereum/go-ethereum/core/types" ethtypes "github.com/ethereum/go-ethereum/core/types"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
...@@ -47,10 +45,6 @@ func (m *mockTxManager) Send(ctx context.Context, candidate txmgr.TxCandidate) ( ...@@ -47,10 +45,6 @@ func (m *mockTxManager) Send(ctx context.Context, candidate txmgr.TxCandidate) (
), nil ), nil
} }
func (m *mockTxManager) Call(_ context.Context, _ ethereum.CallMsg, _ *big.Int) ([]byte, error) {
panic("not implemented")
}
func (m *mockTxManager) BlockNumber(ctx context.Context) (uint64, error) { func (m *mockTxManager) BlockNumber(ctx context.Context) (uint64, error) {
panic("not implemented") panic("not implemented")
} }
......
package trace
import (
"context"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/ethereum/go-ethereum/common"
)
type translatingProvider struct {
parentDepth uint64
provider types.TraceProvider
}
func Translate(provider types.TraceProvider, parentDepth uint64) types.TraceProvider {
return &translatingProvider{
parentDepth: parentDepth,
provider: provider,
}
}
func (p translatingProvider) Get(ctx context.Context, pos types.Position) (common.Hash, error) {
relativePos, err := pos.RelativeToAncestorAtDepth(p.parentDepth)
if err != nil {
return common.Hash{}, err
}
return p.provider.Get(ctx, relativePos)
}
func (p translatingProvider) GetStepData(ctx context.Context, pos types.Position) (prestate []byte, proofData []byte, preimageData *types.PreimageOracleData, err error) {
relativePos, err := pos.RelativeToAncestorAtDepth(p.parentDepth)
if err != nil {
return nil, nil, nil, err
}
return p.provider.GetStepData(ctx, relativePos)
}
func (p translatingProvider) AbsolutePreStateCommitment(ctx context.Context) (hash common.Hash, err error) {
return p.provider.AbsolutePreStateCommitment(ctx)
}
var _ types.TraceProvider = (*translatingProvider)(nil)
package trace
import (
"context"
"math/big"
"testing"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/trace/alphabet"
"github.com/ethereum-optimism/optimism/op-challenger/game/fault/types"
"github.com/stretchr/testify/require"
)
func TestTranslate(t *testing.T) {
orig := alphabet.NewTraceProvider("abcdefghij", 4)
translated := Translate(orig, 3)
// All nodes on the first translated layer, map to GIndex 1
for i := int64(8); i <= 15; i++ {
requireSameValue(t, orig, 1, translated, i)
}
// Nodes on the second translated layer map to GIndex 2 and 3 alternately
for i := int64(16); i <= 31; i += 2 {
requireSameValue(t, orig, 2, translated, i)
requireSameValue(t, orig, 3, translated, i+1)
}
// Nodes on the third translated layer map to GIndex 4, 5, 6 and 7
for i := int64(32); i <= 61; i += 4 {
requireSameValue(t, orig, 4, translated, i)
requireSameValue(t, orig, 5, translated, i+1)
requireSameValue(t, orig, 6, translated, i+2)
requireSameValue(t, orig, 7, translated, i+3)
}
}
func requireSameValue(t *testing.T, a types.TraceProvider, aGIdx int64, b types.TraceProvider, bGIdx int64) {
// Check Get returns the same results
aValue, err := a.Get(context.Background(), types.NewPositionFromGIndex(big.NewInt(aGIdx)))
require.NoError(t, err)
bValue, err := b.Get(context.Background(), types.NewPositionFromGIndex(big.NewInt(bGIdx)))
require.NoError(t, err)
require.Equal(t, aValue, bValue)
// Check GetStepData returns the same results
aPrestate, aProofData, aPreimageData, err := a.GetStepData(context.Background(), types.NewPositionFromGIndex(big.NewInt(aGIdx)))
require.NoError(t, err)
bPrestate, bProofData, bPreimageData, err := b.GetStepData(context.Background(), types.NewPositionFromGIndex(big.NewInt(bGIdx)))
require.NoError(t, err)
require.Equal(t, aPrestate, bPrestate)
require.Equal(t, aProofData, bProofData)
require.Equal(t, aPreimageData, bPreimageData)
}
func TestTranslate_AbsolutePreStateCommitment(t *testing.T) {
orig := alphabet.NewTraceProvider("abcdefghij", 4)
translated := Translate(orig, 3)
origValue, err := orig.AbsolutePreStateCommitment(context.Background())
require.NoError(t, err)
translatedValue, err := translated.AbsolutePreStateCommitment(context.Background())
require.NoError(t, err)
require.Equal(t, origValue, translatedValue)
}
...@@ -48,9 +48,6 @@ type fakeTxMgr struct { ...@@ -48,9 +48,6 @@ type fakeTxMgr struct {
func (f fakeTxMgr) From() common.Address { func (f fakeTxMgr) From() common.Address {
return f.from return f.from
} }
func (f fakeTxMgr) Call(_ context.Context, _ ethereum.CallMsg, _ *big.Int) ([]byte, error) {
panic("unimplemented")
}
func (f fakeTxMgr) BlockNumber(_ context.Context) (uint64, error) { func (f fakeTxMgr) BlockNumber(_ context.Context) (uint64, error) {
panic("unimplemented") panic("unimplemented")
} }
......
...@@ -28,7 +28,7 @@ var Subcommands = cli.Commands{ ...@@ -28,7 +28,7 @@ var Subcommands = cli.Commands{
Flags: []cli.Flag{ Flags: []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{
Name: "deploy-config", Name: "deploy-config",
Usage: "Path to hardhat deploy config file", Usage: "Path to deploy config file",
Required: true, Required: true,
}, },
&cli.StringFlag{ &cli.StringFlag{
...@@ -91,6 +91,9 @@ var Subcommands = cli.Commands{ ...@@ -91,6 +91,9 @@ var Subcommands = cli.Commands{
{ {
Name: "l2", Name: "l2",
Usage: "Generates an L2 genesis file and rollup config suitable for a deployed network", Usage: "Generates an L2 genesis file and rollup config suitable for a deployed network",
Description: "Generating the L2 genesis depends on knowledge of L1 contract addresses for the bridge to be secure. " +
"A deploy config and either a deployment directory or an L1 deployments file are used to create the L2 genesis. " +
"The deploy directory and L1 deployments file are generated by the L1 contract deployments.",
Flags: []cli.Flag{ Flags: []cli.Flag{
&cli.StringFlag{ &cli.StringFlag{
Name: "l1-rpc", Name: "l1-rpc",
...@@ -99,10 +102,15 @@ var Subcommands = cli.Commands{ ...@@ -99,10 +102,15 @@ var Subcommands = cli.Commands{
&cli.StringFlag{ &cli.StringFlag{
Name: "deploy-config", Name: "deploy-config",
Usage: "Path to deploy config file", Usage: "Path to deploy config file",
Required: true,
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: "deployment-dir", Name: "deployment-dir",
Usage: "Path to network deployment directory", Usage: "Path to network deployment directory. Cannot be used with --l1-deployments",
},
&cli.StringFlag{
Name: "l1-deployments",
Usage: "Path to L1 deployments JSON file. Cannot be used with --deployment-dir",
}, },
&cli.StringFlag{ &cli.StringFlag{
Name: "outfile.l2", Name: "outfile.l2",
...@@ -122,10 +130,16 @@ var Subcommands = cli.Commands{ ...@@ -122,10 +130,16 @@ var Subcommands = cli.Commands{
} }
deployDir := ctx.String("deployment-dir") deployDir := ctx.String("deployment-dir")
if deployDir == "" { l1Deployments := ctx.String("l1-deployments")
return errors.New("Must specify --deployment-dir")
if deployDir != "" && l1Deployments != "" {
return errors.New("cannot specify both --deployment-dir and --l1-deployments")
}
if deployDir == "" && l1Deployments == "" {
return errors.New("must specify either --deployment-dir or --l1-deployments")
} }
if deployDir != "" {
log.Info("Deployment directory", "path", deployDir) log.Info("Deployment directory", "path", deployDir)
depPath, network := filepath.Split(deployDir) depPath, network := filepath.Split(deployDir)
hh, err := hardhat.New(network, nil, []string{depPath}) hh, err := hardhat.New(network, nil, []string{depPath})
...@@ -137,6 +151,16 @@ var Subcommands = cli.Commands{ ...@@ -137,6 +151,16 @@ var Subcommands = cli.Commands{
if err := config.GetDeployedAddresses(hh); err != nil { if err := config.GetDeployedAddresses(hh); err != nil {
return err return err
} }
}
if l1Deployments != "" {
log.Info("L1 deployments", "path", l1Deployments)
deployments, err := genesis.NewL1Deployments(l1Deployments)
if err != nil {
return err
}
config.SetDeployments(deployments)
}
client, err := ethclient.Dial(ctx.String("l1-rpc")) client, err := ethclient.Dial(ctx.String("l1-rpc"))
if err != nil { if err != nil {
......
...@@ -4,6 +4,7 @@ import ( ...@@ -4,6 +4,7 @@ import (
"fmt" "fmt"
"math/big" "math/big"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum" "github.com/ethereum/go-ethereum"
"github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
...@@ -86,6 +87,17 @@ func toCallArg(msg ethereum.CallMsg) interface{} { ...@@ -86,6 +87,17 @@ func toCallArg(msg ethereum.CallMsg) interface{} {
return arg return arg
} }
func (c *ContractCall) ToTxCandidate() (txmgr.TxCandidate, error) {
data, err := c.Pack()
if err != nil {
return txmgr.TxCandidate{}, fmt.Errorf("failed to pack arguments: %w", err)
}
return txmgr.TxCandidate{
TxData: data,
To: &c.Addr,
}, nil
}
type CallResult struct { type CallResult struct {
out []interface{} out []interface{}
} }
......
...@@ -30,6 +30,22 @@ func TestContractCall_ToCallArgs(t *testing.T) { ...@@ -30,6 +30,22 @@ func TestContractCall_ToCallArgs(t *testing.T) {
require.NotContains(t, argMap, "gasPrice") require.NotContains(t, argMap, "gasPrice")
} }
func TestContractCall_ToTxCandidate(t *testing.T) {
addr := common.Address{0xbd}
testAbi, err := bindings.ERC20MetaData.GetAbi()
require.NoError(t, err)
call := NewContractCall(testAbi, addr, "approve", common.Address{0xcc}, big.NewInt(1234444))
candidate, err := call.ToTxCandidate()
require.NoError(t, err)
require.Equal(t, candidate.To, &addr)
expectedData, err := call.Pack()
require.NoError(t, err)
require.Equal(t, candidate.TxData, expectedData)
require.Nil(t, candidate.Value)
require.Zero(t, candidate.GasLimit)
}
func TestContractCall_Pack(t *testing.T) { func TestContractCall_Pack(t *testing.T) {
addr := common.Address{0xbd} addr := common.Address{0xbd}
testAbi, err := bindings.ERC20MetaData.GetAbi() testAbi, err := bindings.ERC20MetaData.GetAbi()
......
...@@ -8,6 +8,7 @@ import ( ...@@ -8,6 +8,7 @@ import (
"testing" "testing"
"github.com/ethereum-optimism/optimism/op-service/sources/batching" "github.com/ethereum-optimism/optimism/op-service/sources/batching"
"github.com/ethereum-optimism/optimism/op-service/txmgr"
"github.com/ethereum/go-ethereum/accounts/abi" "github.com/ethereum/go-ethereum/accounts/abi"
"github.com/ethereum/go-ethereum/common" "github.com/ethereum/go-ethereum/common"
"github.com/ethereum/go-ethereum/common/hexutil" "github.com/ethereum/go-ethereum/common/hexutil"
...@@ -73,6 +74,11 @@ func (l *AbiBasedRpc) BatchCallContext(ctx context.Context, b []rpc.BatchElem) e ...@@ -73,6 +74,11 @@ func (l *AbiBasedRpc) BatchCallContext(ctx context.Context, b []rpc.BatchElem) e
return errors.Join(errs...) return errors.Join(errs...)
} }
func (l *AbiBasedRpc) VerifyTxCandidate(candidate txmgr.TxCandidate) {
require.EqualValues(l.t, &l.addr, candidate.To, "Incorrect To address")
l.findExpectedCall(candidate.TxData, batching.BlockLatest.ArgValue())
}
func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method string, args ...interface{}) error { func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method string, args ...interface{}) error {
require.Equal(l.t, "eth_call", method) require.Equal(l.t, "eth_call", method)
require.Len(l.t, args, 2) require.Len(l.t, args, 2)
...@@ -82,11 +88,27 @@ func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method str ...@@ -82,11 +88,27 @@ func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method str
require.Equal(l.t, &l.addr, callOpts["to"]) require.Equal(l.t, &l.addr, callOpts["to"])
data, ok := callOpts["input"].(hexutil.Bytes) data, ok := callOpts["input"].(hexutil.Bytes)
require.True(l.t, ok) require.True(l.t, ok)
call, abiMethod := l.findExpectedCall(data, actualBlockRef)
output, err := abiMethod.Outputs.Pack(call.outputs...)
require.NoErrorf(l.t, err, "Invalid outputs for method %v: %v", abiMethod.Name, call.outputs)
// I admit I do not understand Go reflection.
// So leverage json.Unmarshal to set the out value correctly.
j, err := json.Marshal(hexutil.Bytes(output))
require.NoError(l.t, err)
require.NoError(l.t, json.Unmarshal(j, out))
return nil
}
func (l *AbiBasedRpc) findExpectedCall(data []byte, actualBlockRef interface{}) (*expectedCall, *abi.Method) {
abiMethod, err := l.abi.MethodById(data[0:4]) abiMethod, err := l.abi.MethodById(data[0:4])
require.NoError(l.t, err) require.NoError(l.t, err)
argData := data[4:] argData := data[4:]
args, err = abiMethod.Inputs.Unpack(argData) args, err := abiMethod.Inputs.Unpack(argData)
require.NoError(l.t, err) require.NoError(l.t, err)
require.Len(l.t, args, len(abiMethod.Inputs)) require.Len(l.t, args, len(abiMethod.Inputs))
...@@ -100,14 +122,5 @@ func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method str ...@@ -100,14 +122,5 @@ func (l *AbiBasedRpc) CallContext(_ context.Context, out interface{}, method str
} }
} }
require.NotNilf(l.t, call, "No expected calls to %v at block %v with arguments: %v\nExpected calls: %v", abiMethod.Name, actualBlockRef, args, expectedCalls) require.NotNilf(l.t, call, "No expected calls to %v at block %v with arguments: %v\nExpected calls: %v", abiMethod.Name, actualBlockRef, args, expectedCalls)
return call, abiMethod
output, err := abiMethod.Outputs.Pack(call.outputs...)
require.NoErrorf(l.t, err, "Invalid outputs for method %v: %v", abiMethod.Name, call.outputs)
// I admit I do not understand Go reflection.
// So leverage json.Unmarshal to set the out value correctly.
j, err := json.Marshal(hexutil.Bytes(output))
require.NoError(l.t, err)
require.NoError(l.t, json.Unmarshal(j, out))
return nil
} }
...@@ -51,20 +51,21 @@ func NewEngineClient(client client.RPC, log log.Logger, metrics caching.Metrics, ...@@ -51,20 +51,21 @@ func NewEngineClient(client client.RPC, log log.Logger, metrics caching.Metrics,
// 2. `error` as eth.InputError: the forkchoice state or attributes are not valid. // 2. `error` as eth.InputError: the forkchoice state or attributes are not valid.
// 3. Other types of `error`: temporary RPC errors, like timeouts. // 3. Other types of `error`: temporary RPC errors, like timeouts.
func (s *EngineClient) ForkchoiceUpdate(ctx context.Context, fc *eth.ForkchoiceState, attributes *eth.PayloadAttributes) (*eth.ForkchoiceUpdatedResult, error) { func (s *EngineClient) ForkchoiceUpdate(ctx context.Context, fc *eth.ForkchoiceState, attributes *eth.PayloadAttributes) (*eth.ForkchoiceUpdatedResult, error) {
e := s.log.New("state", fc, "attr", attributes) llog := s.log.New("state", fc) // local logger
e.Trace("Sharing forkchoice-updated signal") tlog := llog.New("attr", attributes) // trace logger
tlog.Trace("Sharing forkchoice-updated signal")
fcCtx, cancel := context.WithTimeout(ctx, time.Second*5) fcCtx, cancel := context.WithTimeout(ctx, time.Second*5)
defer cancel() defer cancel()
var result eth.ForkchoiceUpdatedResult var result eth.ForkchoiceUpdatedResult
err := s.client.CallContext(fcCtx, &result, "engine_forkchoiceUpdatedV2", fc, attributes) err := s.client.CallContext(fcCtx, &result, "engine_forkchoiceUpdatedV2", fc, attributes)
if err == nil { if err == nil {
e.Trace("Shared forkchoice-updated signal") tlog.Trace("Shared forkchoice-updated signal")
if attributes != nil { // block building is optional, we only get a payload ID if we are building a block if attributes != nil { // block building is optional, we only get a payload ID if we are building a block
e.Trace("Received payload id", "payloadId", result.PayloadID) tlog.Trace("Received payload id", "payloadId", result.PayloadID)
} }
return &result, nil return &result, nil
} else { } else {
e.Warn("Failed to share forkchoice-updated signal", "err", err) llog.Warn("Failed to share forkchoice-updated signal", "err", err)
if rpcErr, ok := err.(rpc.Error); ok { if rpcErr, ok := err.(rpc.Error); ok {
code := eth.ErrorCode(rpcErr.ErrorCode()) code := eth.ErrorCode(rpcErr.ErrorCode())
switch code { switch code {
......
{"name":"post-shanghai-bad-receipts-hash","fail":true, "reason":"failed to verify block hash"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"}],"transactionsRoot":"0x038aa965036f8a4fc4825a83ae35ec6135b936ad429b47bd14961d744e2fc2ac","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xbe712c930a0665264b025ced87cc7839eef95a3cbc26dadc93e9e185a350ad28"}
{"name":"post-shanghai-bad-transactions-hash","fail":true, "reason":"failed to verify block hash"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0x0afe3cbfbf24c0b097b50864b8aaf9f819cf56d4b2b6a67b1edff20bc2a66ad2","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[null,{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xbe712c930a0665264b025ced87cc7839eef95a3cbc26dadc93e9e185a350ad28"}
{"name":"post-shanghai-bad-transactions-nil","fail":true, "reason": "block tx 0 is nil"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xbe712c930a0665264b025ced87cc7839eef95a3cbc26dadc93e9e185a350ad28"} {"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0x0afe3cbfbf24c0b097b50864b8aaf9f819cf56d4b2b6a67b1edff20bc2a66ad2","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xbe712c930a0665264b025ced87cc7839eef95a3cbc26dadc93e9e185a350ad28"}
{"name":"post-shanghai-bad-transactions","fail":true} {"name":"post-shanghai-bad-transactions","fail":true, "reason": "failed to verify transactions list"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0x4a87d0cf5990b1c5bac631583e5965c2ba943858bebb2e07f74d0b697f73821a","uncles":[],"withdrawals":[{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0x6fd5c0b3074ad20176493616ef2e1ca79172f09ff7695e63a5ca2fd7b66cbe55"}
{"name":"post-shanghai-bad-withdrawals-hash","fail":true, "reason":"failed to verify block hash"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0x808eada47015f4a265801a708c720cc5d7c7e051fdd7cd1e042777866b379a73","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0x4a87d0cf5990b1c5bac631583e5965c2ba943858bebb2e07f74d0b697f73821a","uncles":[],"withdrawals":[null,{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
{"name":"post-shanghai-bad-withdrawals-nil","fail":true, "reason": "block withdrawal 0 is null"}
{"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0x4a87d0cf5990b1c5bac631583e5965c2ba943858bebb2e07f74d0b697f73821a","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"} {"baseFeePerGas":"0x3fb7c357","difficulty":"0x0","extraData":"0x","gasLimit":"0x1c9c380","gasUsed":"0x18f759","hash":"0x808eada47015f4a265801a708c720cc5d7c7e051fdd7cd1e042777866b379a73","logsBloom":"0x020010404000001a0000021000000080001100410000100001000010040200980220400000008806200200000100000000000000000000008000000400042000000050000040000112080808800002044000040004042008800480002000000000000002020020000042002400000820000080040000000010200010020010100101212050000008000000008000001010200c80000112010000438040020400000000202400000000002002a0210402000622010000000001700144000040000000002204000000c000410105024010000808000000002004002000000261000000822200200800881000000012500400400000000000000040010000800000","miner":"0x000095e79eac4d76aab57cb2c1f091d553b36ca0","mixHash":"0x5b53dc49cbab268ef9950b1d81b5e36a1b2f1b97aee1b7ff6e4db0e06c29a8b0","nonce":"0x0000000000000000","number":"0x84161e","parentHash":"0x72d92c1498e05952988d4e79a695928a6bcbd37239f8a1734051263b4d3504b8","receiptsRoot":"0xaff90ae18dcc35924a4bddb68d403b8b7812c10c3ea2a114f34105c87d75bcdb","sha3Uncles":"0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347","size":"0x2a51","stateRoot":"0xc56738518b2c7854a640ae25996d2211c9ef0dd2e4dd9e59e9d9cacef39622da","timestamp":"0x64110a5c","totalDifficulty":"0xa4a470","transactions":[{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x1b7aa44088a0ea95bdc65fef6e5071e946bf7d8f","gas":"0x5208","gasPrice":"0x4159f01735","hash":"0x1e8f148a9aea7d8d16ea6e9446723b8f262e8bcd89c7c961d52046ebd43b4598","input":"0x","nonce":"0x279ad","to":"0xa21765a03dd41e2783696d314f235f4d520f6cac","transactionIndex":"0x0","value":"0x3782dace9d90000","type":"0x0","chainId":"0x5","v":"0x2e","r":"0xf9eca8b74ccaec5f4a83e981baeb8602f38d0271179c592b4a18f3866316a367","s":"0x350a9d26718d1fa9dc4f268f9c0e18fb96dbc037816ca8fc20f33f1a76f9f501"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4d9a852e6aecd3a6e87fece2ca109780e45e6f2d","gas":"0x160ab","gasPrice":"0xd4babc57","maxFeePerGas":"0x11407d03e","maxPriorityFeePerGas":"0x9502f900","hash":"0xab5c870f4c367012bd763172afbfbe68fbf35336a66ae41aff3f2c9dbf4ea3f8","input":"0x60566037600b82828239805160001a607314602a57634e487b7160e01b600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212200c479c99d58d7fbee5ee3aef5001431073a3d465bdfa46cf747a7c0b9289607864736f6c634300080d0033","nonce":"0xafd","to":null,"transactionIndex":"0x1","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x48f6acf4ac4371eb96ffca8cdef5b7704ea8c68a631d1c02927036d4ce92567e","s":"0x1f12261ddde63fd3da2ed9ea1bcbb4b0f25af898248c805a9d4b0a6e42caf9c8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xce297b30e56bf2f6142c4048fbae1cb8a756fefd","gas":"0x557300","gasPrice":"0xd4babc57","maxFeePerGas":"0xfabdd183","maxPriorityFeePerGas":"0x9502f900","hash":"0xa81fd92b2d0f0bbd3cc355f869cca3243c98c5e2641db9ecf3eeabb3b13bff6a","input":"0x7bbaf1ea0000000000000000000000000000000000000000000000000000000000000005000000000000000000000000000000000000000000000000000000000000004000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000000","nonce":"0xad92","to":"0x4c0ce02c1219ce5d2afffba97e484272a4637b49","transactionIndex":"0x2","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xd11b842a5f7b0e020470e764b443fafc4044327bca8dbb37131425359abace2","s":"0x1009867573946fb0a4a35339a6eaaece4d0a168b2346539076e6319e9a466b1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x47a916d0b694c95bc0c09953c1a6e22c8867be32","gas":"0x5208","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xa92c7b720c08c83f1a0ed7e4c163200e30a3a8c03fcc5a51e685ea20cd0cb577","input":"0x","nonce":"0x2","to":"0xf955dfe99bbfd06a8be208274cd654ecfb66a45e","transactionIndex":"0x3","value":"0x11c37937e08000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xeecd431225215c3ddc2e13cf16fa29f9a2ab1afbaa02988f3ceac27416edf0f5","s":"0x6494062330a9d509f7c778cb45cbcc9932e5f9b4ec94a1ec315f579f8d973b7b","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x672d214fe4db218defae698085a3ccefc773dfa9","gas":"0xf4f6","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0x6921b429ad2ec1e97d3457049ad2e893b5a0349beba47ca1c74a9540af75347a","input":"0xa1ddc546000000000000000000000000000000000000000000000000000000000000118f","nonce":"0x8e","to":"0xdef65f8e2f62bde60cd86ad3b4ad7fa6741cf175","transactionIndex":"0x4","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4732ad21401b509bebb947a8566127fba1e245eb5a262ddc522d6867ab80567e","s":"0x2153013617fefdb06db0a7316d8883056441d33c2abf5ed6291fa0e3cc5c3a2f","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x0b12f7f996579fe7d9302d2574910121c214ee15","gas":"0x56a8","gasPrice":"0x991ff257","maxFeePerGas":"0xb2fea055","maxPriorityFeePerGas":"0x59682f00","hash":"0xf776b2da0b835dde05d0d8b76fd19385d61e7055036cf637f804b36dc94f2384","input":"0x71ec5c05aa669c4922569c1d33f7a81aaa21813800000000000000000000000013a0c5930c028511dc02665e7285134b6d11a5f40000000000000000000000000b12f7f996579fe7d9302d2574910121c214ee150000000000000000000000000000000000000000000000000000000000000000","nonce":"0xe","to":"0x7c125c1d515b8945841b3d5144a060115c58725f","transactionIndex":"0x5","value":"0x2386f26fc10000","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xc4505d4c46ef9a0103178e5ef4fbc857114ae5c4686b68b74d07c3ee3a86e575","s":"0x74db34fd675bea7d2ee74f14fd8709cb88c7d22c2267d12f2c671b5ebc180bd5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd36aac0c9676e984d72823fb662ce94d3ab5e551","gas":"0xff212","gasPrice":"0x991ff257","maxFeePerGas":"0xd86d063e","maxPriorityFeePerGas":"0x59682f00","hash":"0x9a08d899cd14ebb930ed59fa774afdb88a22615b3a931e930931ea54d26dc0bc","input":"0x49160658babdf216946a22b96c966ceeba750f14807726306ebeed500a2621a7481df010000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000012000000000000000000000000000000000000000000000000000000000000000084d6f6f6e6265616d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a3078434133633746363939643335333137316438434643364236334431433764333841333233373238300000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000c0b616f73c8d00641109f0000054f967b8a135e44e233da070ea88c5e4a53bacac0000000000000000000000000000000000000000000000000000000000000002000000000000000000000000c6a3a17399d88e5dfd2de4fa41dcccade6a2d2170000000000000000000000008676147503f761e44b85df01811edd52be01b56c000000000000000000000000000000000000000000000000d02ab486cedc00000000000000000000000000000000000000000000000000000de0b6b3a7640000","nonce":"0x7121","to":"0x2d276bd64fe8643a1d76b2e9530c753423e972c1","transactionIndex":"0x6","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xce452361d331baf2ac86947a1b3b454b3e842923e1f39139b33a572845dd5d7c","s":"0x388126881782af5a146ce8409f1e3a2c9a4cadcfe9a2c1d27258af6e4eb5cec1","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x326ff","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0x0fe0d97e25d5eb11a33a3e8278584c3780941fc2675bdf8fc547cee3d1fd3b17","input":"0xa4110dbe190e65a7fe0ad5acd305c6446a02cb39de30f382000fe67927434063bf4c4b2ca86b3ee6d039dc7a0268f9e1c39266c3f12a752a7eb72f0895dedf62291fd292","nonce":"0x12e","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x7","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x46819bb540fa459a5a0cbf041a0286507d597fc8958a6af8b9ce193f00005238","s":"0x31495c58bf4b74925f870c59635912681bee947b1cb4b08cc19f22421b1a10ab","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xb83a48ee322989a0a4f838cb207abc28ec021b73","gas":"0x3270b","gasPrice":"0x991ff257","maxFeePerGas":"0x5c3362b9c","maxPriorityFeePerGas":"0x59682f00","hash":"0xef47a60f57f177a683c723c658137efab66d311e1c5abbc4d74f653535144d03","input":"0xa4110dbe18eba3e815ec7fcb03a8eea0487209c3253024d1dc4f36f775a43fdd3e409b74c0a5c88e54f39b88db6f185a41431b204120d3e66c9b08b86f5e8382623327e5","nonce":"0x12f","to":"0x96e6192eeaf7bb308f79fb5017a9085754b9e12a","transactionIndex":"0x8","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x4d7e11fe3914763a2735493a62b71ae0028e75a750a8b06407996cf478e273c8","s":"0x60c18fdf948721f96fdc2efbf694910122e82191c7a40a5caab247c06ab7f3cf","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x7712a1f96b3f37c3dd88a22d4f7a7977b937fe62","gas":"0x1ff06","gasPrice":"0x991ff257","maxFeePerGas":"0xcf662006","maxPriorityFeePerGas":"0x59682f00","hash":"0xe23a5b35faae5335adc5aca38c5d633b00438b798c2053104b8df48406c9b141","input":"0x3ff9751b0000000000000000000000000000000000000000000000000000000000000034000000000000000000000000000000000000000000000000000000000000003500000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000160000000000000000000000000000000000000000000000000000000000000002e516d566e75374a51566f445271536748427a72615970374879373848774a744c4669366e5546436f775447647a70000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002e516d5439716b3343525962464457704446596541763854384831676e6f6e67774b6868354a36384e4c6b4c6972360000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000041c9f31b989aaa745aecc563139f89c8ab3ab492e725d1e0305b7d602fcbf9293c463f0d2e4f5fb0c9efb54eb2cde9af10ebc9c3676f2334007291ffa8efb40adb1c00000000000000000000000000000000000000000000000000000000000000","nonce":"0x16","to":"0xc3b87ea584cb9cb5a4523e2bed16a34bf7746317","transactionIndex":"0x9","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcc693a9544394653e1f393f02635e2c1f78b5e6c26c4d00a867bcf4adc2bc09e","s":"0x23f4b71b773c19f77cf251b2aeea03f2696bddd847d1f6d75acd2fbea6a543e4","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0x1b2e020","gasPrice":"0x8f0d3617","maxFeePerGas":"0x1cb3abd5a","maxPriorityFeePerGas":"0x4f5572c0","hash":"0xd8cea4ba619b317bc05d58534af73beec6c2548b31b24d4dc61c9bbd29cfa17a","input":"0x","nonce":"0x4d","to":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","transactionIndex":"0xa","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x8dae28608985d6ab47cbe122ee88972e38664cede30978f41944f347bad86e5c","s":"0x17c2898b39b7e3b874dc78e7df3fcff68f4d715385c632aad4bdf6e62505651c","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6999c36394dd5d3d3295af63a4736ad6bd279448","gas":"0x14d94","gasPrice":"0x7b528d57","maxFeePerGas":"0x7df743e0","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x79a4b9d90b02c768baaad305f266281213cc75062cbe99a13222cc0c4b509498","input":"0x6a7612020000000000000000000000009008d19f58aabd9ed0d60971565aa8510560ab4100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000140000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000022000000000000000000000000000000000000000000000000000000000000000a4ec6cb13f00000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000003826d8d7371becafc0afedc3fe85b699b87f4357d55ec39ce83c510ed7d70ff514dce8236351f4627ccec6a7d9a67bc6fc2ec17ca76411113c00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000410000000000000000000000006999c36394dd5d3d3295af63a4736ad6bd27944800000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000","nonce":"0x13","to":"0xdce8236351f4627ccec6a7d9a67bc6fc2ec17ca7","transactionIndex":"0xb","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x669487011643510f7512ec15b07d74efb853ba4ad9fe9c7e9850ccf24e3d4c53","s":"0x2191f9ee81087e1df833e69d6129ec330ed4c99be2031060834e22c589fcf79b","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xf6e4d9c4","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x6790a3bbddbeb21fcb736a59b3775755051c3a6344d8390cf8ca27f2e8a814f0","input":"0x6871ee40","nonce":"0x4","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xc","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa7a58ab858e5dd87b9a74d550e5716ac40ddefd1c21d5baa51e542f4f941d73e","s":"0x1fd0cb1563df0368bd332717d7c8210187cd1ac2ff44f61f5242fc02eaa0c2fe","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x87ec7ace5442db252b5751ffddd38dcb04b088d36b6b0e526ff25607a4293c81","input":"0xcb40cbfd","nonce":"0x5","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xd","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x8e4bd40195bdfaa868af97dbf22e0b74295d95564a8381bc9bcfe1af3cde2cdb","s":"0x62057dc87c8b2b197d12c648233aab4134b7c2a2f65db89a49728564f3d0864d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x08ebc052e6353b4d8392113f0f2c5decd691ddcd","gas":"0x12c36","gasPrice":"0x7b528d57","maxFeePerGas":"0xe596c292","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x40cb487ecffda94f97ce7fc0f7163f2f024235df2c8291169edc80dac063e6d0","input":"0xcb40cbfd","nonce":"0x6","to":"0xb21b333c40354393f18de57f2d0a0fc21f270482","transactionIndex":"0xe","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x993c4386ffc2bd63a48dd31cf5f65aa355cba3c063b08778b328d748937098e5","s":"0x203b1faf595628dd78e760bcc1740065625abb6cf00b1b17224e10fa6b424e43","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xafc7682751d3654f34958e3fb660971bf5918367","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0xefb40664","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xb76bb3d88c9b30d927c45ccfcf8d5b0054411ac8501ad588822a7d04690cccf6","input":"0x40c10f19000000000000000000000000afc7682751d3654f34958e3fb660971bf59183670000000000000000000000000000000000000000000000008ac7230489e80000","nonce":"0x20","to":"0x84ced17d95f3ec7230baf4a369f1e624ae60090d","transactionIndex":"0xf","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x78e9d29c606f6a61a1428ed7326df05210d802c3061f3b469847cc461eb48025","s":"0x517afe5a21175f186233ae7a6c090cd33e028a77e5854e98eb2fa4c9284430e7","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0x16ba45bce","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x798ebe823209869347c08bd81e04fbf60e9bdfe44b1cc923215182d0cf3d4edb","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000032","nonce":"0x4e","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x10","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xbe2aa95f4c32188c9ecbae97286ab983f7cc5a7017d46c404f8eb80b55e2dc13","s":"0x55d8968f509f51633f49260178941fd5a3db999e1995206348d7a3f05152b3d5","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x12bbafcfa06423d87bed591a64c1a1f34791e90a","gas":"0xcafe","gasPrice":"0x7b528d57","maxFeePerGas":"0xc6132c0c","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xbe68a7e02725f799a65ebb069ccc83a014ac7c40e4119bf7c220a2f6ddfee295","input":"0x40c10f1900000000000000000000000012bbafcfa06423d87bed591a64c1a1f34791e90a0000000000000000000000000000000000000000000000000000000000000064","nonce":"0x4f","to":"0xd25d682189afa7ed0c2811195b3f3d07616927bc","transactionIndex":"0x11","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0x1750ed45d0d2d048a61dcc3ff3e7ad0cbd395b77698c4f2eeb6baaea4c966d96","s":"0xe646e3a87b6dc50439468bcfd24cbf12a6f95b2762f1527c97a7d1b7f03530e","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xd0c0338baac9ce09c1d1caab88b4360507061e37","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1918167aa","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xc90c3a72efe81331727fcce4b5bd4906066da314ca9a0b44023a6b09ea7e8114","input":"0x4e71d92d","nonce":"0xe7","to":"0x0137d796936e199b917b93118eb4e002508a48bd","transactionIndex":"0x12","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x22222ce8fe753082c8e5dc7478fa7b87db9c8d0fb070ebc88ab015db13fd6bb","s":"0x6dceadecf6f6a3ddc433a547dba6d5fcdfb7d006ce09eeae1c06c1828ef9fff9","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1a4019792","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x619a6cbd43cde074d314c19623bd66d9fb1e13c158d7138775236f798dc1245e","input":"0x1da1db5e00000000000000000000000000000000000000000000000000001b5ec4ff740d","nonce":"0x10","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x13","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x733c496e8c84f78d113bc8b5ad6d04a133bb10bbcecf0db93d97eeedfa3d984a","s":"0x6627c16aa7dea27db44c0f0641c30ffd544b9b9b1c299dc60611e1e01c714ee8","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x8bd834cc1dd17d1a2f7eb6140c3dd5ab51d0f338","gas":"0x11df0","gasPrice":"0x7b528d57","maxFeePerGas":"0x1d3fbccb8","maxPriorityFeePerGas":"0x3b9aca00","hash":"0xca5a56cd77b9e5b0e79020cc6346edf205bc11e901984d805125f28c2e6686e6","input":"0xd7c01032000000000000000000000000356f24c0f3187a6dcb949e4a60aa0a74a8a0327e0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd0000000000000000000000000f8bacfae87aee49a2eec86df0c6b958ec3fd4fd","nonce":"0x11","to":"0xbad0009f7a8e796e3f975dc1d6ab3e3c237b857c","transactionIndex":"0x14","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x4aa872c1a7da70126917604193717575b91407f82449bca956d4089b90cd902","s":"0x4b5f788c68024f8958f66e8c768a8e0f65ef297c4ffd420a715258b0a55cb0a0","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x1b2e020","gasPrice":"0x7b528d57","maxFeePerGas":"0x1e706c8d2","maxPriorityFeePerGas":"0x3b9aca00","hash":"0x999c9ddeed67c6ef6fbf02a6e977a6c1b68e18d24814e51643c7157b87a43e0a","input":"0xa8b78ed0","nonce":"0x3","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x15","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xf1ca074104ee0b6a67223afd797654b8f21060453f7662dd7be79de938c396da","s":"0x4c9a4e56f0ad21e2dd8d1116c7a3e41ea2c6126853772f7897bd959e81e2e28a","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x9bedd66b05712a1add7d1fec899b8641b3ecc863","gas":"0x2dc6c0","gasPrice":"0xd4babc57","maxFeePerGas":"0x21c13e710","maxPriorityFeePerGas":"0x9502f900","hash":"0x47c8f5d0b3778e4c34eba7fcc356fa04a5afd954ccf484728e72c002764dd3c4","input":"0xf688bcfb0000000000000000000000000000000000000000000000000000000005f5e100","nonce":"0x4","to":"0xf6c2afb18b85175e5ffb28f20f007c047ce28592","transactionIndex":"0x16","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0x970982425d18b9949141bbabb5c5230fa168626ce210a97f3856d64700fc0eeb","s":"0x6fa6d0aea6ae48783d80c1e51cda47e11c28b90a5497579b93d7f242d786f67e","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x4b596cebd02c35aa99878eb9ecb24d6f5ca5f865","gas":"0x5208","gasPrice":"0x68c88f79","maxFeePerGas":"0x68c88f79","maxPriorityFeePerGas":"0x68c88f79","hash":"0x396797ae0ebcdb72ff1f96fd08b6128f78acc7417353f142f1a5facd425a33e6","input":"0x","nonce":"0x1","to":"0x375980b8e1a417620ba9b18e5a9e0b17dccbac9d","transactionIndex":"0x17","value":"0x1c9a406c58878","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xcb2a7b106097b2f2a61d3a048054a5175c386b1dcdd5b6fcd7849dcac7c32a66","s":"0x10aef76e98276c47470f04a599b81c260ace9d2f6adc95755c6d22d859e805a2","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0x1b2e020","gasPrice":"0x61010bda","maxFeePerGas":"0x61010bda","maxPriorityFeePerGas":"0x61010bda","hash":"0x454aa43d6546a6f62246826c16b7a49c6c704238c18802ef0d659922f23a573c","input":"0xe99a3f8000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000480000000000000000000000000000000000000000000000000000000000000050000000000000000000000000000000000000000000000000000000000000008a000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee40000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001e06defd69964a6ce467b87c64627a7a2be4be139b504757c625eb6114ec166557d000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000001f63c28250000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf17500000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d5458000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000413e24433da3efc4c3cc305339a7b77a1b31abb4e4d4967e97e42aed1dd0bf98936f43035f40bc80f6f6e3a9cfb43524a1171ee7f21e9ac2fa586d33a31f10619d1c000000000000000000000000000000000000000000000000000000000000000000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace5786000000000000000000000000000000000000000000000000000000000000012000000000000000000000000058ce7eb44ae575fb3b3974861c1138dad3c5aee400000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000641a269023d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002c00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf1750000000000000000000000000000000000000000000000000000000000000ba200000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000002b05699353b600008ae85d840000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000b4fbf271143f4fbf7b91a5ded31805e42b2208d600000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175ffffffff09616c6c64617461","nonce":"0x82","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x18","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xc7ac308b1ae238cb2aa4b030ca79baffb7b498e1b10df0c3354b3cc19cfabac9","s":"0x2358b1093b9aab5fae0cf751766b0bb2e3d8cd2b18ca627e1e12520990a8ed6d","yParity":"0x0"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6ece61d29b90642941c41240da924690da145696","gas":"0x4399c","gasPrice":"0x506794e0","hash":"0x317ecb5bd19caa42a69f836d41556ebb0e0e00e1c6cd2dee230e6e6192612527","input":"0x46f83b5000000000000000000000000000000000000000000000000000000000000000654666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b000000000000000000000000000000000000000000000000000000000000000f4666803decc59e7d0a5d3efa3c3653c05645ef4342738445e20a3b43e0b4aa8b","nonce":"0x2cc4","to":"0xa6bf2be6c60175601bf88217c75dd4b14abb5fbb","transactionIndex":"0x19","value":"0x0","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x37aeab0db6d550e6cba2c04c9cb10a2af0fec0b11f6e04b85e1ea0b8b9defeae","s":"0x4f32f4ef74872e1385c25e69bf21ee049545a4d423e939eaff29677450efe9eb"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xc4a5c059840a146b81c77bf79f1398f2b3d28ca7","gas":"0x432ec","gasPrice":"0x45db0a51","hash":"0xc879285db5ef0a6bce98021584d16f134c1dc0aed8cc988802c4f72ba6877ff6","input":"0x9f8420b300000000000000000000000000000000000000000000000000470de4df8200000000000000000000000000000000000000000000000000000000000000009c40","nonce":"0x1a7","to":"0xe5e30e7c24e4dfcb281a682562e53154c15d3332","transactionIndex":"0x1a","value":"0x470efc4514e000","type":"0x0","chainId":"0x5","v":"0x2d","r":"0x237e3a541c5ab490843cdc20d0fcb7416bff8da471f6a11ae1b32d2bab119141","s":"0x3c8417d7a60bd5b0bcae4975dbb4aaee54a4b4d588226481be400843bfe2b64e"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0x6f4aa3bc9732372daa288beb9b2516374ace5786","gas":"0xffff","gasPrice":"0x44e9acbc","maxFeePerGas":"0x44e9acbc","maxPriorityFeePerGas":"0x44e9acbc","hash":"0xecaa2d6f597608307e5084854854ba6dc1e69395e2abea14f2c6a2fa1d6faf9a","input":"0xe2864fe300000000000000000000000000000000000000000000000000000000000000200000000000000000000000006f4aa3bc9732372daa288beb9b2516374ace57860000000000000000000000000000000000000000000000000000000000000120000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002004a8312e37fcecd450e6684009a2b54bc64f66afbe5217c7b2f63b03cd9980a9e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000064893e8223d235ef0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002a00000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000173ad21460000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000040000000000000000000000000def65f8e2f62bde60cd86ad3b4ad7fa6741cf175000000000000000000000000000000000000000000000000000000000000085000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000de0b6b3a7640000aaaebeba000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000040000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001400000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000800000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000020000000000000000000000006e512435020ac228a15543236b1f46656f98136300000000000000000000000000000000000000000000000000000000000000fa000000000000000000000000d6ffd79b52a587a0a9941a61f4e6cb0d386d54580000000000000000000000000000000000000000000000000000000000000000","nonce":"0x83","to":"0x02afbd43cad367fcb71305a2dfb9a3928218f0c1","transactionIndex":"0x1b","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x1","r":"0xa18772e4b9e1493ebfd5ae6219cc9ca060b71e83788fb614ab02b03fb36eaf1b","s":"0x482c7e50fde29bb4130fd6e723176e0e9913430ebb9260667d7fb55f5408d9c5","yParity":"0x1"},{"blockHash":"0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452","blockNumber":"0x84161e","from":"0xdb33365a8730de2f7574ff1189fb9d337bf4c36d","gas":"0x61a80","gasPrice":"0x433653c8","maxFeePerGas":"0x828367af","maxPriorityFeePerGas":"0x37e9071","hash":"0x4dd69b69a568ff30ae439e2ded72fbd7f2e7aaa345836703663f155c749c5eed","input":"0x7f34c0ddc6e984f46ab7c13b7a53643096e79c39103dc74550204d5bd1b5206ef5a2f49689071bb6a332212df26aa57cd4d1e3c0894187a9fc5e5d686cbedba5b187470f000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000e8c44c30e8e52c38ac7bd232e7b7f0c7463a535100000000000000000000000000000000000000000000000000000000000000a0000000000000000000000000000000000000000000000000000000000000002e516d5044645856613738437a6b7856325a364e52777a67685a785872736e75397261616a695a7555423569465a62000000000000000000000000000000000000","nonce":"0x2b57","to":"0xb8ad54644e2371cbb7940b9fa0936f399ba7495f","transactionIndex":"0x1c","value":"0x0","type":"0x2","accessList":[],"chainId":"0x5","v":"0x0","r":"0xa1fb0e5662b54ceb3dc1623ebfb200668433cb27252d553669bcd136387394f3","s":"0x27c2f8e19f69a52a0960f05d8b21f11c313dd3e86a7139b5783a18353c407415","yParity":"0x0"}],"transactionsRoot":"0x4a87d0cf5990b1c5bac631583e5965c2ba943858bebb2e07f74d0b697f73821a","uncles":[],"withdrawals":[{"index":"0x1170","validatorIndex":"0x38c2c","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x66edfd65"},{"index":"0x1171","validatorIndex":"0x38c2d","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6cd228e4"},{"index":"0x1172","validatorIndex":"0x38c2e","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x77f3431b"},{"index":"0x1173","validatorIndex":"0x38c2f","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6b61f268"},{"index":"0x1174","validatorIndex":"0x38c30","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6e10bb21"},{"index":"0x1175","validatorIndex":"0x38c31","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6eb115a5"},{"index":"0x1176","validatorIndex":"0x38c32","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7caead1d"},{"index":"0x1177","validatorIndex":"0x38c33","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x772c0ddf"},{"index":"0x1178","validatorIndex":"0x38c34","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x75930a95"},{"index":"0x1179","validatorIndex":"0x38c35","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76a4db09"},{"index":"0x117a","validatorIndex":"0x38c36","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x7e692b27"},{"index":"0x117b","validatorIndex":"0x38c37","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x72038ae6"},{"index":"0x117c","validatorIndex":"0x38c38","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6ccce352"},{"index":"0x117d","validatorIndex":"0x38c39","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x79ef6898"},{"index":"0x117e","validatorIndex":"0x38c3a","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x6d58977d"},{"index":"0x117f","validatorIndex":"0x38c3b","address":"0x8f0844fd51e31ff6bf5babe21dccf7328e19fd9f","amount":"0x76f7d208"}],"withdrawalsRoot":"0xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"}
{"name":"post-shanghai-bad-withdrawals","fail":true} {"name":"post-shanghai-bad-withdrawals","fail":true,"reason": "failed to verify withdrawals list"}
{"name":"pre-shanghai-bad-receipts-hash","fail":true, "reason":"failed to verify block hash"}
This source diff could not be displayed because it is too large. You can view the blob instead.
{"name":"pre-shanghai-bad-transactions-hash","fail":true, "reason":"failed to verify block hash"}
This source diff could not be displayed because it is too large. You can view the blob instead.
{"name":"pre-shanghai-bad-transactions","fail":true} {"name":"pre-shanghai-bad-transactions","fail":true,"reason": "failed to verify transactions list"}
...@@ -62,18 +62,8 @@ generate_test_vector() { ...@@ -62,18 +62,8 @@ generate_test_vector() {
$mutation_func "$data_file" $metadata_file $mutation_func "$data_file" $metadata_file
} }
mkdir -p data/blocks
mkdir -p data/headers mkdir -p data/headers
# Blocks
generate_test_vector "pre-shanghai-success" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" true success_case
generate_test_vector "pre-shanghai-bad-transactions" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" true bad_transactions_root
generate_test_vector "pre-shanghai-bad-receipts" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" true bad_receipts_root
generate_test_vector "post-shanghai-success" "0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452" true success_case
generate_test_vector "post-shanghai-bad-withdrawals" "0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452" true bad_withdrawals_root
generate_test_vector "post-shanghai-bad-transactions" "0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452" true bad_transactions_root
generate_test_vector "post-shanghai-bad-receipts" "0xa16c6bcda4fdca88b5761965c4d724f7afc6a6900d9051a204e544870adb3452" true bad_receipts_root
# Headers # Headers
generate_test_vector "pre-shanghai-success" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" false success_case generate_test_vector "pre-shanghai-success" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" false success_case
generate_test_vector "pre-shanghai-bad-transactions" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" false bad_transactions_root generate_test_vector "pre-shanghai-bad-transactions" "0x9ef7cd2241202b919a0e51240818a8666c73f7ce4b908931e3ae6d26d30f7663" false bad_transactions_root
......
...@@ -15,6 +15,7 @@ var blocksTestdata embed.FS ...@@ -15,6 +15,7 @@ var blocksTestdata embed.FS
type testMetadata struct { type testMetadata struct {
Name string `json:"name"` Name string `json:"name"`
Fail bool `json:"fail,omitempty"` Fail bool `json:"fail,omitempty"`
Reason string `json:"reason,omitempty"`
} }
func readJsonTestdata(t *testing.T, name string, dest any) { func readJsonTestdata(t *testing.T, name string, dest any) {
...@@ -67,6 +68,7 @@ func TestBlockJSON(t *testing.T) { ...@@ -67,6 +68,7 @@ func TestBlockJSON(t *testing.T) {
err := block.verify() err := block.verify()
if metadata.Fail { if metadata.Fail {
require.NotNil(t, err, "expecting verification error") require.NotNil(t, err, "expecting verification error")
require.ErrorContains(t, err, metadata.Reason, "validation failed for incorrect reason")
} else { } else {
require.NoError(t, err, "verification should pass") require.NoError(t, err, "verification should pass")
} }
......
...@@ -4,12 +4,9 @@ package mocks ...@@ -4,12 +4,9 @@ package mocks
import ( import (
context "context" context "context"
big "math/big"
common "github.com/ethereum/go-ethereum/common" common "github.com/ethereum/go-ethereum/common"
ethereum "github.com/ethereum/go-ethereum"
mock "github.com/stretchr/testify/mock" mock "github.com/stretchr/testify/mock"
txmgr "github.com/ethereum-optimism/optimism/op-service/txmgr" txmgr "github.com/ethereum-optimism/optimism/op-service/txmgr"
...@@ -46,32 +43,6 @@ func (_m *TxManager) BlockNumber(ctx context.Context) (uint64, error) { ...@@ -46,32 +43,6 @@ func (_m *TxManager) BlockNumber(ctx context.Context) (uint64, error) {
return r0, r1 return r0, r1
} }
// Call provides a mock function with given fields: ctx, msg, blockNumber
func (_m *TxManager) Call(ctx context.Context, msg ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) {
ret := _m.Called(ctx, msg, blockNumber)
var r0 []byte
var r1 error
if rf, ok := ret.Get(0).(func(context.Context, ethereum.CallMsg, *big.Int) ([]byte, error)); ok {
return rf(ctx, msg, blockNumber)
}
if rf, ok := ret.Get(0).(func(context.Context, ethereum.CallMsg, *big.Int) []byte); ok {
r0 = rf(ctx, msg, blockNumber)
} else {
if ret.Get(0) != nil {
r0 = ret.Get(0).([]byte)
}
}
if rf, ok := ret.Get(1).(func(context.Context, ethereum.CallMsg, *big.Int) error); ok {
r1 = rf(ctx, msg, blockNumber)
} else {
r1 = ret.Error(1)
}
return r0, r1
}
// From provides a mock function with given fields: // From provides a mock function with given fields:
func (_m *TxManager) From() common.Address { func (_m *TxManager) From() common.Address {
ret := _m.Called() ret := _m.Called()
......
...@@ -43,10 +43,6 @@ type TxManager interface { ...@@ -43,10 +43,6 @@ type TxManager interface {
// NOTE: Send can be called concurrently, the nonce will be managed internally. // NOTE: Send can be called concurrently, the nonce will be managed internally.
Send(ctx context.Context, candidate TxCandidate) (*types.Receipt, error) Send(ctx context.Context, candidate TxCandidate) (*types.Receipt, error)
// Call is used to call a contract.
// Internally, it uses the [ethclient.Client.CallContract] method.
Call(ctx context.Context, msg ethereum.CallMsg, blockNumber *big.Int) ([]byte, error)
// From returns the sending address associated with the instance of the transaction manager. // From returns the sending address associated with the instance of the transaction manager.
// It is static for a single instance of a TxManager. // It is static for a single instance of a TxManager.
From() common.Address From() common.Address
...@@ -169,12 +165,6 @@ func (m *SimpleTxManager) Send(ctx context.Context, candidate TxCandidate) (*typ ...@@ -169,12 +165,6 @@ func (m *SimpleTxManager) Send(ctx context.Context, candidate TxCandidate) (*typ
return receipt, err return receipt, err
} }
// Call is used to call a contract.
// Internally, it uses the [ethclient.Client.CallContract] method.
func (m *SimpleTxManager) Call(ctx context.Context, msg ethereum.CallMsg, blockNumber *big.Int) ([]byte, error) {
return m.backend.CallContract(ctx, msg, blockNumber)
}
// send performs the actual transaction creation and sending. // send performs the actual transaction creation and sending.
func (m *SimpleTxManager) send(ctx context.Context, candidate TxCandidate) (*types.Receipt, error) { func (m *SimpleTxManager) send(ctx context.Context, candidate TxCandidate) (*types.Receipt, error) {
if m.cfg.TxSendTimeout != 0 { if m.cfg.TxSendTimeout != 0 {
......
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -6,8 +6,9 @@ import { ...@@ -6,8 +6,9 @@ import {
validators, validators,
} from '@eth-optimism/common-ts' } from '@eth-optimism/common-ts'
import { Provider } from '@ethersproject/abstract-provider' import { Provider } from '@ethersproject/abstract-provider'
import { ethers } from 'ethers' import { BigNumber, ethers } from 'ethers'
import Safe from '../abi/IGnosisSafe.0.8.19.json'
import { version } from '../../package.json' import { version } from '../../package.json'
type BalanceMonOptions = { type BalanceMonOptions = {
...@@ -17,11 +18,12 @@ type BalanceMonOptions = { ...@@ -17,11 +18,12 @@ type BalanceMonOptions = {
type BalanceMonMetrics = { type BalanceMonMetrics = {
balances: Gauge balances: Gauge
safeNonces: Gauge
unexpectedRpcErrors: Counter unexpectedRpcErrors: Counter
} }
type BalanceMonState = { type BalanceMonState = {
accounts: Array<{ address: string; nickname: string }> accounts: Array<{ address: string; nickname: string; safe: boolean }>
} }
export class BalanceMonService extends BaseServiceV2< export class BalanceMonService extends BaseServiceV2<
...@@ -45,7 +47,7 @@ export class BalanceMonService extends BaseServiceV2< ...@@ -45,7 +47,7 @@ export class BalanceMonService extends BaseServiceV2<
}, },
accounts: { accounts: {
validator: validators.str, validator: validators.str,
desc: 'JSON array of [{ address, nickname }] to monitor balances of', desc: 'JSON array of [{ address, nickname, safe }] to monitor balances and nonces of',
public: true, public: true,
}, },
}, },
...@@ -55,6 +57,11 @@ export class BalanceMonService extends BaseServiceV2< ...@@ -55,6 +57,11 @@ export class BalanceMonService extends BaseServiceV2<
desc: 'Balances of addresses', desc: 'Balances of addresses',
labels: ['address', 'nickname'], labels: ['address', 'nickname'],
}, },
safeNonces: {
type: Gauge,
desc: 'Safe nonce',
labels: ['address', 'nickname'],
},
unexpectedRpcErrors: { unexpectedRpcErrors: {
type: Counter, type: Counter,
desc: 'Number of unexpected RPC errors', desc: 'Number of unexpected RPC errors',
...@@ -70,9 +77,21 @@ export class BalanceMonService extends BaseServiceV2< ...@@ -70,9 +77,21 @@ export class BalanceMonService extends BaseServiceV2<
protected async main(): Promise<void> { protected async main(): Promise<void> {
for (const account of this.state.accounts) { for (const account of this.state.accounts) {
let balance: ethers.BigNumber
try { try {
balance = await this.options.rpc.getBalance(account.address) const balance = await this.options.rpc.getBalance(account.address)
this.logger.info(`got balance`, {
address: account.address,
nickname: account.nickname,
balance: balance.toString(),
})
// Parse the balance as an integer instead of via toNumber() to avoid ethers throwing an
// an error. We might get rounding errors but we don't need perfect precision here, just a
// generally accurate sense for what the current balance is.
this.metrics.balances.set(
{ address: account.address, nickname: account.nickname },
parseInt(balance.toString(), 10)
)
} catch (err) { } catch (err) {
this.logger.info(`got unexpected RPC error`, { this.logger.info(`got unexpected RPC error`, {
section: 'balances', section: 'balances',
...@@ -83,22 +102,39 @@ export class BalanceMonService extends BaseServiceV2< ...@@ -83,22 +102,39 @@ export class BalanceMonService extends BaseServiceV2<
section: 'balances', section: 'balances',
name: 'getBalance', name: 'getBalance',
}) })
continue
} }
this.logger.info(`got balance`, { // Get the safe nonce to report
if (account.safe) {
try {
const safeContract = new ethers.Contract(
account.address,
Safe.abi,
this.options.rpc
)
const safeNonce = BigNumber.from(await safeContract.nonce())
this.logger.info(`got nonce`, {
address: account.address, address: account.address,
nickname: account.nickname, nickname: account.nickname,
balance: balance.toString(), nonce: safeNonce.toString(),
}) })
// Parse the balance as an integer instead of via toNumber() to avoid ethers throwing an this.metrics.safeNonces.set(
// an error. We might get rounding errors but we don't need perfect precision here, just a
// generally accurate sense for what the current balance is.
this.metrics.balances.set(
{ address: account.address, nickname: account.nickname }, { address: account.address, nickname: account.nickname },
parseInt(balance.toString(), 10) parseInt(safeNonce.toString(), 10)
) )
} catch (err) {
this.logger.info(`got unexpected RPC error`, {
section: 'safeNonce',
name: 'getSafeNonce',
err,
})
this.metrics.unexpectedRpcErrors.inc({
section: 'safeNonce',
name: 'getSafeNonce',
})
}
}
} }
} }
} }
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
}, },
"include": [ "include": [
"package.json", "package.json",
"src/abi/IGnosisSafe.0.8.19.json",
"src/**/*" "src/**/*"
] ]
} }
...@@ -672,8 +672,8 @@ SequencerFeeVault_Test:test_withdraw_toL1_succeeds() (gas: 618343) ...@@ -672,8 +672,8 @@ SequencerFeeVault_Test:test_withdraw_toL1_succeeds() (gas: 618343)
SetPrevBaseFee_Test:test_setPrevBaseFee_succeeds() (gas: 11595) SetPrevBaseFee_Test:test_setPrevBaseFee_succeeds() (gas: 11595)
StandardBridge_Stateless_Test:test_isCorrectTokenPair_succeeds() (gas: 50149) StandardBridge_Stateless_Test:test_isCorrectTokenPair_succeeds() (gas: 50149)
StandardBridge_Stateless_Test:test_isOptimismMintableERC20_succeeds() (gas: 33142) StandardBridge_Stateless_Test:test_isOptimismMintableERC20_succeeds() (gas: 33142)
Storage_Roundtrip_Test:test_setGetAddress_succeeds(bytes32,address) (runs: 64, μ: 31532, ~: 31843) Storage_Roundtrip_Test:test_setGetAddress_succeeds(bytes32,address) (runs: 64, μ: 31221, ~: 31843)
Storage_Roundtrip_Test:test_setGetBytes32_succeeds(bytes32,bytes32) (runs: 64, μ: 31620, ~: 31620) Storage_Roundtrip_Test:test_setGetBytes32_succeeds(bytes32,bytes32) (runs: 64, μ: 31654, ~: 31654)
Storage_Roundtrip_Test:test_setGetUint_succeeds(bytes32,uint256) (runs: 64, μ: 30731, ~: 31664) Storage_Roundtrip_Test:test_setGetUint_succeeds(bytes32,uint256) (runs: 64, μ: 30731, ~: 31664)
SystemConfig_Initialize_Test:test_initialize_events_succeeds() (gas: 88186) SystemConfig_Initialize_Test:test_initialize_events_succeeds() (gas: 88186)
SystemConfig_Initialize_Test:test_initialize_startBlockNoop_reverts() (gas: 77216) SystemConfig_Initialize_Test:test_initialize_startBlockNoop_reverts() (gas: 77216)
......
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import { ProxyAdmin } from "src/universal/ProxyAdmin.sol";
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
import { DeployConfig } from "scripts/DeployConfig.s.sol";
import { SystemConfig } from "src/L1/SystemConfig.sol";
import { Constants } from "src/libraries/Constants.sol";
import { L1StandardBridge } from "src/L1/L1StandardBridge.sol";
import { L2OutputOracle } from "src/L1/L2OutputOracle.sol";
import { ProtocolVersion, ProtocolVersions } from "src/L1/ProtocolVersions.sol";
import { OptimismPortal } from "src/L1/OptimismPortal.sol";
import { L1CrossDomainMessenger } from "src/L1/L1CrossDomainMessenger.sol";
import { OptimismMintableERC20Factory } from "src/universal/OptimismMintableERC20Factory.sol";
import { L1ERC721Bridge } from "src/L1/L1ERC721Bridge.sol";
import { Predeploys } from "src/libraries/Predeploys.sol";
import { Types } from "scripts/Types.sol";
import { Vm } from "forge-std/Vm.sol";
import { ISystemConfigV0 } from "scripts/interfaces/ISystemConfigV0.sol";
library ChainAssertions {
/// @notice Asserts the correctness of an L1 deployment
function postDeployAssertions(
Types.ContractSet memory prox,
DeployConfig cfg,
uint256 l2OutputOracleStartingTimestamp,
Vm vm
)
internal
view
{
ResourceMetering.ResourceConfig memory rcfg = SystemConfig(prox.SystemConfig).resourceConfig();
ResourceMetering.ResourceConfig memory dflt = Constants.DEFAULT_RESOURCE_CONFIG();
require(keccak256(abi.encode(rcfg)) == keccak256(abi.encode(dflt)));
checkSystemConfig(prox, cfg);
checkL1CrossDomainMessenger(prox, vm);
checkL1StandardBridge(prox, vm);
checkL2OutputOracle(prox, cfg, l2OutputOracleStartingTimestamp);
checkOptimismMintableERC20Factory(prox);
checkL1ERC721Bridge(prox);
checkOptimismPortal(prox, cfg);
checkProtocolVersions(prox, cfg);
}
/// @notice Asserts that the SystemConfig is setup correctly
function checkSystemConfig(Types.ContractSet memory proxies, DeployConfig cfg) internal view {
ISystemConfigV0 config = ISystemConfigV0(proxies.SystemConfig);
require(config.owner() == cfg.finalSystemOwner());
require(config.overhead() == cfg.gasPriceOracleOverhead());
require(config.scalar() == cfg.gasPriceOracleScalar());
require(config.batcherHash() == bytes32(uint256(uint160(cfg.batchSenderAddress()))));
require(config.unsafeBlockSigner() == cfg.p2pSequencerAddress());
ResourceMetering.ResourceConfig memory rconfig = Constants.DEFAULT_RESOURCE_CONFIG();
ResourceMetering.ResourceConfig memory resourceConfig = config.resourceConfig();
require(resourceConfig.maxResourceLimit == rconfig.maxResourceLimit);
require(resourceConfig.elasticityMultiplier == rconfig.elasticityMultiplier);
require(resourceConfig.baseFeeMaxChangeDenominator == rconfig.baseFeeMaxChangeDenominator);
require(resourceConfig.systemTxMaxGas == rconfig.systemTxMaxGas);
require(resourceConfig.minimumBaseFee == rconfig.minimumBaseFee);
require(resourceConfig.maximumBaseFee == rconfig.maximumBaseFee);
}
/// @notice Asserts that the L1CrossDomainMessenger is setup correctly
function checkL1CrossDomainMessenger(Types.ContractSet memory proxies, Vm vm) internal view {
L1CrossDomainMessenger messenger = L1CrossDomainMessenger(proxies.L1CrossDomainMessenger);
require(address(messenger.portal()) == proxies.OptimismPortal);
require(address(messenger.PORTAL()) == proxies.OptimismPortal);
bytes32 xdmSenderSlot = vm.load(address(messenger), bytes32(uint256(204)));
require(address(uint160(uint256(xdmSenderSlot))) == Constants.DEFAULT_L2_SENDER);
}
/// @notice Asserts that the L1StandardBridge is setup correctly
function checkL1StandardBridge(Types.ContractSet memory proxies, Vm vm) internal view {
L1StandardBridge bridge = L1StandardBridge(payable(proxies.L1StandardBridge));
require(address(bridge.MESSENGER()) == proxies.L1CrossDomainMessenger);
require(address(bridge.messenger()) == proxies.L1CrossDomainMessenger);
require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);
require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);
// Ensures that the legacy slot is modified correctly. This will fail
// during predeployment simulation on OP Mainnet if there is a bug.
bytes32 slot0 = vm.load(address(bridge), bytes32(uint256(0)));
require(slot0 == bytes32(uint256(Constants.INITIALIZER)));
}
/// @notice Asserts that the L2OutputOracle is setup correctly
function checkL2OutputOracle(
Types.ContractSet memory proxies,
DeployConfig cfg,
uint256 l2OutputOracleStartingTimestamp
)
internal
view
{
L2OutputOracle oracle = L2OutputOracle(proxies.L2OutputOracle);
require(oracle.SUBMISSION_INTERVAL() == cfg.l2OutputOracleSubmissionInterval());
require(oracle.submissionInterval() == cfg.l2OutputOracleSubmissionInterval());
require(oracle.L2_BLOCK_TIME() == cfg.l2BlockTime());
require(oracle.l2BlockTime() == cfg.l2BlockTime());
require(oracle.PROPOSER() == cfg.l2OutputOracleProposer());
require(oracle.proposer() == cfg.l2OutputOracleProposer());
require(oracle.CHALLENGER() == cfg.l2OutputOracleChallenger());
require(oracle.challenger() == cfg.l2OutputOracleChallenger());
require(oracle.FINALIZATION_PERIOD_SECONDS() == cfg.finalizationPeriodSeconds());
require(oracle.finalizationPeriodSeconds() == cfg.finalizationPeriodSeconds());
require(oracle.startingBlockNumber() == cfg.l2OutputOracleStartingBlockNumber());
require(oracle.startingTimestamp() == l2OutputOracleStartingTimestamp);
}
/// @notice Asserts that the OptimismMintableERC20Factory is setup correctly
function checkOptimismMintableERC20Factory(Types.ContractSet memory proxies) internal view {
OptimismMintableERC20Factory factory = OptimismMintableERC20Factory(proxies.OptimismMintableERC20Factory);
require(factory.BRIDGE() == proxies.L1StandardBridge);
require(factory.bridge() == proxies.L1StandardBridge);
}
/// @notice Asserts that the L1ERC721Bridge is setup correctly
function checkL1ERC721Bridge(Types.ContractSet memory proxies) internal view {
L1ERC721Bridge bridge = L1ERC721Bridge(proxies.L1ERC721Bridge);
require(address(bridge.MESSENGER()) == proxies.L1CrossDomainMessenger);
require(bridge.OTHER_BRIDGE() == Predeploys.L2_ERC721_BRIDGE);
}
/// @notice Asserts the OptimismPortal is setup correctly
function checkOptimismPortal(Types.ContractSet memory proxies, DeployConfig cfg) internal view {
OptimismPortal portal = OptimismPortal(payable(proxies.OptimismPortal));
require(address(portal.L2_ORACLE()) == proxies.L2OutputOracle);
require(portal.GUARDIAN() == cfg.portalGuardian());
require(address(portal.SYSTEM_CONFIG()) == proxies.SystemConfig);
require(portal.paused() == false);
}
/// @notice Asserts that the ProtocolVersions is setup correctly
function checkProtocolVersions(Types.ContractSet memory proxies, DeployConfig cfg) internal view {
ProtocolVersions versions = ProtocolVersions(proxies.ProtocolVersions);
require(versions.owner() == cfg.finalSystemOwner());
require(ProtocolVersion.unwrap(versions.required()) == cfg.requiredProtocolVersion());
require(ProtocolVersion.unwrap(versions.recommended()) == cfg.recommendedProtocolVersion());
}
}
...@@ -43,6 +43,8 @@ import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol"; ...@@ -43,6 +43,8 @@ import { IBigStepper } from "src/dispute/interfaces/IBigStepper.sol";
import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol"; import { IPreimageOracle } from "src/cannon/interfaces/IPreimageOracle.sol";
import { AlphabetVM } from "test/mocks/AlphabetVM.sol"; import { AlphabetVM } from "test/mocks/AlphabetVM.sol";
import "src/libraries/DisputeTypes.sol"; import "src/libraries/DisputeTypes.sol";
import { ChainAssertions } from "scripts/ChainAssertions.sol";
import { Types } from "scripts/Types.sol";
/// @title Deploy /// @title Deploy
/// @notice Script used to deploy a bedrock system. The entire system is deployed within the `run` function. /// @notice Script used to deploy a bedrock system. The entire system is deployed within the `run` function.
...@@ -642,33 +644,7 @@ contract Deploy is Deployer { ...@@ -642,33 +644,7 @@ contract Deploy is Deployer {
string memory version = config.version(); string memory version = config.version();
console.log("SystemConfig version: %s", version); console.log("SystemConfig version: %s", version);
require(config.owner() == cfg.finalSystemOwner()); ChainAssertions.checkSystemConfig(_proxies(), cfg);
require(config.overhead() == cfg.gasPriceOracleOverhead());
require(config.scalar() == cfg.gasPriceOracleScalar());
require(config.unsafeBlockSigner() == cfg.p2pSequencerAddress());
require(config.batcherHash() == batcherHash);
ResourceMetering.ResourceConfig memory rconfig = Constants.DEFAULT_RESOURCE_CONFIG();
ResourceMetering.ResourceConfig memory resourceConfig = config.resourceConfig();
require(resourceConfig.maxResourceLimit == rconfig.maxResourceLimit);
require(resourceConfig.elasticityMultiplier == rconfig.elasticityMultiplier);
require(resourceConfig.baseFeeMaxChangeDenominator == rconfig.baseFeeMaxChangeDenominator);
require(resourceConfig.systemTxMaxGas == rconfig.systemTxMaxGas);
require(resourceConfig.minimumBaseFee == rconfig.minimumBaseFee);
require(resourceConfig.maximumBaseFee == rconfig.maximumBaseFee);
require(config.l1ERC721Bridge() == mustGetAddress("L1ERC721BridgeProxy"));
require(config.l1StandardBridge() == mustGetAddress("L1StandardBridgeProxy"));
require(config.l2OutputOracle() == mustGetAddress("L2OutputOracleProxy"));
require(config.optimismPortal() == mustGetAddress("OptimismPortalProxy"));
require(config.l1CrossDomainMessenger() == mustGetAddress("L1CrossDomainMessengerProxy"));
// A non zero start block is an override
if (startBlock != 0) {
require(config.startBlock() == startBlock);
} else {
require(config.startBlock() == block.number);
}
} }
/// @notice Initialize the L1StandardBridge /// @notice Initialize the L1StandardBridge
...@@ -698,11 +674,7 @@ contract Deploy is Deployer { ...@@ -698,11 +674,7 @@ contract Deploy is Deployer {
string memory version = L1StandardBridge(payable(l1StandardBridgeProxy)).version(); string memory version = L1StandardBridge(payable(l1StandardBridgeProxy)).version();
console.log("L1StandardBridge version: %s", version); console.log("L1StandardBridge version: %s", version);
L1StandardBridge bridge = L1StandardBridge(payable(l1StandardBridgeProxy)); ChainAssertions.checkL1StandardBridge(_proxies(), vm);
require(address(bridge.MESSENGER()) == l1CrossDomainMessengerProxy);
require(address(bridge.messenger()) == l1CrossDomainMessengerProxy);
require(address(bridge.OTHER_BRIDGE()) == Predeploys.L2_STANDARD_BRIDGE);
require(address(bridge.otherBridge()) == Predeploys.L2_STANDARD_BRIDGE);
} }
/// @notice Initialize the L1ERC721Bridge /// @notice Initialize the L1ERC721Bridge
...@@ -721,8 +693,7 @@ contract Deploy is Deployer { ...@@ -721,8 +693,7 @@ contract Deploy is Deployer {
string memory version = bridge.version(); string memory version = bridge.version();
console.log("L1ERC721Bridge version: %s", version); console.log("L1ERC721Bridge version: %s", version);
require(address(bridge.MESSENGER()) == l1CrossDomainMessengerProxy); ChainAssertions.checkL1ERC721Bridge(_proxies());
require(bridge.OTHER_BRIDGE() == Predeploys.L2_ERC721_BRIDGE);
} }
/// @notice Ininitialize the OptimismMintableERC20Factory /// @notice Ininitialize the OptimismMintableERC20Factory
...@@ -741,8 +712,7 @@ contract Deploy is Deployer { ...@@ -741,8 +712,7 @@ contract Deploy is Deployer {
string memory version = factory.version(); string memory version = factory.version();
console.log("OptimismMintableERC20Factory version: %s", version); console.log("OptimismMintableERC20Factory version: %s", version);
require(factory.BRIDGE() == l1StandardBridgeProxy); ChainAssertions.checkOptimismMintableERC20Factory(_proxies());
require(factory.bridge() == l1StandardBridgeProxy);
} }
/// @notice initializeL1CrossDomainMessenger /// @notice initializeL1CrossDomainMessenger
...@@ -786,10 +756,7 @@ contract Deploy is Deployer { ...@@ -786,10 +756,7 @@ contract Deploy is Deployer {
string memory version = messenger.version(); string memory version = messenger.version();
console.log("L1CrossDomainMessenger version: %s", version); console.log("L1CrossDomainMessenger version: %s", version);
require(address(messenger.PORTAL()) == optimismPortalProxy); ChainAssertions.checkL1CrossDomainMessenger(_proxies(), vm);
require(address(messenger.portal()) == optimismPortalProxy);
bytes32 xdmSenderSlot = vm.load(address(messenger), bytes32(uint256(204)));
require(address(uint160(uint256(xdmSenderSlot))) == Constants.DEFAULT_L2_SENDER);
} }
/// @notice Initialize the L2OutputOracle /// @notice Initialize the L2OutputOracle
...@@ -815,18 +782,7 @@ contract Deploy is Deployer { ...@@ -815,18 +782,7 @@ contract Deploy is Deployer {
string memory version = oracle.version(); string memory version = oracle.version();
console.log("L2OutputOracle version: %s", version); console.log("L2OutputOracle version: %s", version);
require(oracle.SUBMISSION_INTERVAL() == cfg.l2OutputOracleSubmissionInterval()); ChainAssertions.checkL2OutputOracle(_proxies(), cfg, cfg.l2OutputOracleStartingTimestamp());
require(oracle.submissionInterval() == cfg.l2OutputOracleSubmissionInterval());
require(oracle.L2_BLOCK_TIME() == cfg.l2BlockTime());
require(oracle.l2BlockTime() == cfg.l2BlockTime());
require(oracle.PROPOSER() == cfg.l2OutputOracleProposer());
require(oracle.proposer() == cfg.l2OutputOracleProposer());
require(oracle.CHALLENGER() == cfg.l2OutputOracleChallenger());
require(oracle.challenger() == cfg.l2OutputOracleChallenger());
require(oracle.FINALIZATION_PERIOD_SECONDS() == cfg.finalizationPeriodSeconds());
require(oracle.finalizationPeriodSeconds() == cfg.finalizationPeriodSeconds());
require(oracle.startingBlockNumber() == cfg.l2OutputOracleStartingBlockNumber());
require(oracle.startingTimestamp() == cfg.l2OutputOracleStartingTimestamp());
} }
/// @notice Initialize the OptimismPortal /// @notice Initialize the OptimismPortal
...@@ -854,10 +810,7 @@ contract Deploy is Deployer { ...@@ -854,10 +810,7 @@ contract Deploy is Deployer {
string memory version = portal.version(); string memory version = portal.version();
console.log("OptimismPortal version: %s", version); console.log("OptimismPortal version: %s", version);
require(address(portal.L2_ORACLE()) == l2OutputOracleProxy); ChainAssertions.checkOptimismPortal(_proxies(), cfg);
require(portal.GUARDIAN() == cfg.portalGuardian());
require(address(portal.SYSTEM_CONFIG()) == systemConfigProxy);
require(portal.paused() == false);
} }
function initializeProtocolVersions() public broadcast { function initializeProtocolVersions() public broadcast {
...@@ -885,9 +838,7 @@ contract Deploy is Deployer { ...@@ -885,9 +838,7 @@ contract Deploy is Deployer {
string memory version = versions.version(); string memory version = versions.version();
console.log("ProtocolVersions version: %s", version); console.log("ProtocolVersions version: %s", version);
require(versions.owner() == finalSystemOwner); ChainAssertions.checkProtocolVersions(_proxies(), cfg);
require(ProtocolVersion.unwrap(versions.required()) == requiredProtocolVersion);
require(ProtocolVersion.unwrap(versions.recommended()) == recommendedProtocolVersion);
} }
/// @notice Transfer ownership of the ProxyAdmin contract to the final system owner /// @notice Transfer ownership of the ProxyAdmin contract to the final system owner
...@@ -1008,4 +959,18 @@ contract Deploy is Deployer { ...@@ -1008,4 +959,18 @@ contract Deploy is Deployer {
console.log("StorageSetter version: %s", version); console.log("StorageSetter version: %s", version);
addr_ = address(setter); addr_ = address(setter);
} }
/// @notice Returns the proxy addresses
function _proxies() private view returns (Types.ContractSet memory proxies_) {
proxies_ = Types.ContractSet({
L1CrossDomainMessenger: mustGetAddress("L1CrossDomainMessengerProxy"),
L1StandardBridge: mustGetAddress("L1StandardBridgeProxy"),
L2OutputOracle: mustGetAddress("L2OutputOracleProxy"),
OptimismMintableERC20Factory: mustGetAddress("OptimismMintableERC20FactoryProxy"),
OptimismPortal: mustGetAddress("OptimismPortalProxy"),
SystemConfig: mustGetAddress("SystemConfigProxy"),
L1ERC721Bridge: mustGetAddress("L1ERC721BridgeProxy"),
ProtocolVersions: mustGetAddress("ProtocolVersionsProxy")
});
}
} }
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
library Types {
/// @notice Represents a set of L1 contracts. Used to represent a set of proxies.
struct ContractSet {
address L1CrossDomainMessenger;
address L1StandardBridge;
address L2OutputOracle;
address OptimismMintableERC20Factory;
address OptimismPortal;
address SystemConfig;
address L1ERC721Bridge;
address ProtocolVersions;
}
}
// SPDX-License-Identifier: MIT
pragma solidity 0.8.15;
import { ResourceMetering } from "src/L1/ResourceMetering.sol";
/// @title ISystemConfigV0
/// @notice Minimal interface of the Legacy SystemConfig containing only getters.
/// Based on
/// https://github.com/ethereum-optimism/optimism/blob/f54a2234f2f350795552011f35f704a3feb56a08/packages/contracts-bedrock/src/L1/SystemConfig.sol
interface ISystemConfigV0 {
function owner() external view returns (address);
function VERSION() external view returns (uint256);
function overhead() external view returns (uint256);
function scalar() external view returns (uint256);
function batcherHash() external view returns (bytes32);
function gasLimit() external view returns (uint64);
function resourceConfig() external view returns (ResourceMetering.ResourceConfig memory);
function unsafeBlockSigner() external view returns (address);
}
...@@ -34,5 +34,5 @@ ...@@ -34,5 +34,5 @@
"src/universal/OptimismMintableERC20Factory.sol": "0x8d4cbf4cc30a0bb72925b5d2e0386b8f91559f00933a9c7cf3dcc118e34fe61b", "src/universal/OptimismMintableERC20Factory.sol": "0x8d4cbf4cc30a0bb72925b5d2e0386b8f91559f00933a9c7cf3dcc118e34fe61b",
"src/universal/OptimismMintableERC721.sol": "0x4c73bf8474fa7eb091796a4db7e57bc5f26d50a3d1cfcb78d5efa47ced5ced2b", "src/universal/OptimismMintableERC721.sol": "0x4c73bf8474fa7eb091796a4db7e57bc5f26d50a3d1cfcb78d5efa47ced5ced2b",
"src/universal/OptimismMintableERC721Factory.sol": "0x935fd97018b6ef10fa813d9d43ab7a77c80885f7a8d7feb430097645cb2abd2c", "src/universal/OptimismMintableERC721Factory.sol": "0x935fd97018b6ef10fa813d9d43ab7a77c80885f7a8d7feb430097645cb2abd2c",
"src/universal/StorageSetter.sol": "0x6372647d8a67d243bc2fb40d2c4bf5807022d94d52d9423cfed27a7d57918635" "src/universal/StorageSetter.sol": "0x394ec39ef24b44f54549deec6183cace8eea2e5313cde8d5a6e0411a481c5953"
} }
\ No newline at end of file
...@@ -9,9 +9,15 @@ import { Storage } from "src/libraries/Storage.sol"; ...@@ -9,9 +9,15 @@ import { Storage } from "src/libraries/Storage.sol";
/// WARNING: this contract is not safe to be called by untrusted parties. /// WARNING: this contract is not safe to be called by untrusted parties.
/// It is only meant as an intermediate step during upgrades. /// It is only meant as an intermediate step during upgrades.
contract StorageSetter is ISemver { contract StorageSetter is ISemver {
/// @notice Represents a storage slot key value pair.
struct Slot {
bytes32 key;
bytes32 value;
}
/// @notice Semantic version. /// @notice Semantic version.
/// @custom:semver 1.0.0 /// @custom:semver 1.1.0
string public constant version = "1.0.0"; string public constant version = "1.1.0";
/// @notice Stores a bytes32 `_value` at `_slot`. Any storage slots that /// @notice Stores a bytes32 `_value` at `_slot`. Any storage slots that
/// are packed should be set through this interface. /// are packed should be set through this interface.
...@@ -19,6 +25,14 @@ contract StorageSetter is ISemver { ...@@ -19,6 +25,14 @@ contract StorageSetter is ISemver {
Storage.setBytes32(_slot, _value); Storage.setBytes32(_slot, _value);
} }
/// @notice Stores a bytes32 value at each key in `_slots`.
function setBytes32(Slot[] calldata slots) public {
uint256 length = slots.length;
for (uint256 i; i < length; i++) {
Storage.setBytes32(slots[i].key, slots[i].value);
}
}
/// @notice Retrieves a bytes32 value from `_slot`. /// @notice Retrieves a bytes32 value from `_slot`.
function getBytes32(bytes32 _slot) external view returns (bytes32) { function getBytes32(bytes32 _slot) external view returns (bytes32) {
return Storage.getBytes32(_slot); return Storage.getBytes32(_slot);
......
...@@ -13,6 +13,11 @@ import { Test } from "forge-std/Test.sol"; ...@@ -13,6 +13,11 @@ import { Test } from "forge-std/Test.sol";
contract Storage_Roundtrip_Test is Test { contract Storage_Roundtrip_Test is Test {
StorageSetter setter; StorageSetter setter;
/// @notice A set of storage slots to pass to `setBytes32`.
StorageSetter.Slot[] slots;
/// @notice Used to deduplicate slots passed to `setBytes32`.
mapping(bytes32 => bool) keys;
function setUp() external { function setUp() external {
setter = new StorageSetter(); setter = new StorageSetter();
} }
...@@ -34,4 +39,21 @@ contract Storage_Roundtrip_Test is Test { ...@@ -34,4 +39,21 @@ contract Storage_Roundtrip_Test is Test {
assertEq(setter.getBytes32(slot), hash); assertEq(setter.getBytes32(slot), hash);
assertEq(hash, vm.load(address(setter), slot)); assertEq(hash, vm.load(address(setter), slot));
} }
/// @dev All keys must be unique in the input so deduplication is required.
function testFuzz_setGetBytes32Multi_succeeds(StorageSetter.Slot[] calldata _slots) external {
for (uint256 i; i < _slots.length; i++) {
if (keys[_slots[i].key]) {
continue;
}
slots.push(_slots[i]);
keys[_slots[i].key] = true;
}
setter.setBytes32(slots);
for (uint256 i; i < slots.length; i++) {
assertEq(setter.getBytes32(slots[i].key), slots[i].value);
assertEq(slots[i].value, vm.load(address(setter), slots[i].key));
}
}
} }
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
"@nomiclabs/hardhat-waffle": "^2.0.1", "@nomiclabs/hardhat-waffle": "^2.0.1",
"@types/chai": "^4.3.8", "@types/chai": "^4.3.8",
"@types/chai-as-promised": "^7.1.5", "@types/chai-as-promised": "^7.1.5",
"@types/mocha": "^10.0.3", "@types/mocha": "^10.0.4",
"@types/node": "^20.8.9", "@types/node": "^20.8.9",
"chai-as-promised": "^7.1.1", "chai-as-promised": "^7.1.1",
"ethereum-waffle": "^4.0.10", "ethereum-waffle": "^4.0.10",
......
...@@ -28,8 +28,8 @@ importers: ...@@ -28,8 +28,8 @@ importers:
specifier: ^7.1.4 specifier: ^7.1.4
version: 7.1.5 version: 7.1.5
'@types/mocha': '@types/mocha':
specifier: ^10.0.3 specifier: ^10.0.4
version: 10.0.3 version: 10.0.4
'@types/node': '@types/node':
specifier: ^20.8.9 specifier: ^20.8.9
version: 20.8.9 version: 20.8.9
...@@ -269,10 +269,10 @@ importers: ...@@ -269,10 +269,10 @@ importers:
devDependencies: devDependencies:
'@typescript-eslint/eslint-plugin': '@typescript-eslint/eslint-plugin':
specifier: ^6.9.1 specifier: ^6.9.1
version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2) version: 6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2)
'@typescript-eslint/parser': '@typescript-eslint/parser':
specifier: ^6.9.1 specifier: ^6.9.1
version: 6.9.1(eslint@8.52.0)(typescript@5.2.2) version: 6.9.1(eslint@8.53.0)(typescript@5.2.2)
tsx: tsx:
specifier: ^3.14.0 specifier: ^3.14.0
version: 3.14.0 version: 3.14.0
...@@ -490,8 +490,8 @@ importers: ...@@ -490,8 +490,8 @@ importers:
specifier: ^7.1.5 specifier: ^7.1.5
version: 7.1.5 version: 7.1.5
'@types/mocha': '@types/mocha':
specifier: ^10.0.3 specifier: ^10.0.4
version: 10.0.3 version: 10.0.4
'@types/node': '@types/node':
specifier: ^20.8.9 specifier: ^20.8.9
version: 20.8.9 version: 20.8.9
...@@ -1801,16 +1801,6 @@ packages: ...@@ -1801,16 +1801,6 @@ packages:
dev: true dev: true
optional: true optional: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.52.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
peerDependencies:
eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
dependencies:
eslint: 8.52.0
eslint-visitor-keys: 3.4.3
dev: true
/@eslint-community/eslint-utils@4.4.0(eslint@8.53.0): /@eslint-community/eslint-utils@4.4.0(eslint@8.53.0):
resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
...@@ -1826,23 +1816,6 @@ packages: ...@@ -1826,23 +1816,6 @@ packages:
engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0}
dev: true dev: true
/@eslint/eslintrc@2.1.2:
resolution: {integrity: sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dependencies:
ajv: 6.12.6
debug: 4.3.4(supports-color@8.1.1)
espree: 9.6.1
globals: 13.21.0
ignore: 5.2.4
import-fresh: 3.3.0
js-yaml: 4.1.0
minimatch: 3.1.2
strip-json-comments: 3.1.1
transitivePeerDependencies:
- supports-color
dev: true
/@eslint/eslintrc@2.1.3: /@eslint/eslintrc@2.1.3:
resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==} resolution: {integrity: sha512-yZzuIG+jnVu6hNSzFEN07e8BxF3uAzYtQb6uDkaYZLo6oYZDCq454c5kB8zxnzfCYyP4MIuyBn10L0DqwujTmA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
...@@ -1860,11 +1833,6 @@ packages: ...@@ -1860,11 +1833,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@eslint/js@8.52.0:
resolution: {integrity: sha512-mjZVbpaeMZludF2fsWLD0Z9gCref1Tk4i9+wddjRvpUNqqcndPkBD09N/Mapey0b3jaXbLm2kICwFv2E64QinA==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true
/@eslint/js@8.53.0: /@eslint/js@8.53.0:
resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==} resolution: {integrity: sha512-Kn7K8dx/5U6+cT1yEhpX1w4PCSg0M+XyRILPgvwcEBjerFWCwQj5sbr3/VmxqV0JGHCBCzyd6LxypEuehypY1w==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
...@@ -4033,8 +4001,8 @@ packages: ...@@ -4033,8 +4001,8 @@ packages:
'@types/node': 20.8.9 '@types/node': 20.8.9
dev: true dev: true
/@types/mocha@10.0.3: /@types/mocha@10.0.4:
resolution: {integrity: sha512-RsOPImTriV/OE4A9qKjMtk2MnXiuLLbcO3nCXK+kvq4nr0iMfFgpjaX3MPLb6f7+EL1FGSelYvuJMV6REH+ZPQ==} resolution: {integrity: sha512-xKU7bUjiFTIttpWaIZ9qvgg+22O1nmbA+HRxdlR+u6TWsGfmFdXrheJoK4fFxrHNVIOBDvDNKZG+LYBpMHpX3w==}
dev: true dev: true
/@types/morgan@1.9.7: /@types/morgan@1.9.7:
...@@ -4233,35 +4201,6 @@ packages: ...@@ -4233,35 +4201,6 @@ packages:
'@types/node': 20.8.9 '@types/node': 20.8.9
dev: false dev: false
/@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.52.0)(typescript@5.2.2):
resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
'@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@eslint-community/regexpp': 4.6.2
'@typescript-eslint/parser': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
'@typescript-eslint/scope-manager': 6.9.1
'@typescript-eslint/type-utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
'@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.9.1
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.52.0
graphemer: 1.4.0
ignore: 5.2.4
natural-compare: 1.4.0
semver: 7.5.4
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2): /@typescript-eslint/eslint-plugin@6.9.1(@typescript-eslint/parser@6.9.1)(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==} resolution: {integrity: sha512-w0tiiRc9I4S5XSXXrMHOWgHgxbrBn1Ro+PmiYhSg2ZVdxrAJtQgzU5o2m1BfP6UOn7Vxcc6152vFjQfmZR4xEg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
...@@ -4291,27 +4230,6 @@ packages: ...@@ -4291,27 +4230,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/parser@6.9.1(eslint@8.52.0)(typescript@5.2.2):
resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/scope-manager': 6.9.1
'@typescript-eslint/types': 6.9.1
'@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2)
'@typescript-eslint/visitor-keys': 6.9.1
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.52.0
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@5.2.2): /@typescript-eslint/parser@6.9.1(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==} resolution: {integrity: sha512-C7AK2wn43GSaCUZ9do6Ksgi2g3mwFkMO3Cis96kzmgudoVaKyt62yNzJOktP0HDLb/iO2O0n2lBOzJgr6Q/cyg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
...@@ -4341,26 +4259,6 @@ packages: ...@@ -4341,26 +4259,6 @@ packages:
'@typescript-eslint/visitor-keys': 6.9.1 '@typescript-eslint/visitor-keys': 6.9.1
dev: true dev: true
/@typescript-eslint/type-utils@6.9.1(eslint@8.52.0)(typescript@5.2.2):
resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
typescript: '*'
peerDependenciesMeta:
typescript:
optional: true
dependencies:
'@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2)
'@typescript-eslint/utils': 6.9.1(eslint@8.52.0)(typescript@5.2.2)
debug: 4.3.4(supports-color@8.1.1)
eslint: 8.52.0
ts-api-utils: 1.0.1(typescript@5.2.2)
typescript: 5.2.2
transitivePeerDependencies:
- supports-color
dev: true
/@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): /@typescript-eslint/type-utils@6.9.1(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==} resolution: {integrity: sha512-eh2oHaUKCK58qIeYp19F5V5TbpM52680sB4zNSz29VBQPTWIlE/hCj5P5B1AChxECe/fmZlspAWFuRniep1Skg==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
...@@ -4407,25 +4305,6 @@ packages: ...@@ -4407,25 +4305,6 @@ packages:
- supports-color - supports-color
dev: true dev: true
/@typescript-eslint/utils@6.9.1(eslint@8.52.0)(typescript@5.2.2):
resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==}
engines: {node: ^16.0.0 || >=18.0.0}
peerDependencies:
eslint: ^7.0.0 || ^8.0.0
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0)
'@types/json-schema': 7.0.12
'@types/semver': 7.5.0
'@typescript-eslint/scope-manager': 6.9.1
'@typescript-eslint/types': 6.9.1
'@typescript-eslint/typescript-estree': 6.9.1(typescript@5.2.2)
eslint: 8.52.0
semver: 7.5.4
transitivePeerDependencies:
- supports-color
- typescript
dev: true
/@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2): /@typescript-eslint/utils@6.9.1(eslint@8.53.0)(typescript@5.2.2):
resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==} resolution: {integrity: sha512-L1T0A5nFdQrMVunpZgzqPL6y2wVreSyHhKGZryS6jrEN7bD9NplVAyMryUhXsQ4TWLnZmxc2ekar/lSGIlprCA==}
engines: {node: ^16.0.0 || >=18.0.0} engines: {node: ^16.0.0 || >=18.0.0}
...@@ -7841,53 +7720,6 @@ packages: ...@@ -7841,53 +7720,6 @@ packages:
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
dev: true dev: true
/eslint@8.52.0:
resolution: {integrity: sha512-zh/JHnaixqHZsolRB/w9/02akBk9EPrOs9JwcTP2ek7yL5bVvXuRariiaAjjoJ5DvuwQ1WAE/HsMz+w17YgBCg==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
hasBin: true
dependencies:
'@eslint-community/eslint-utils': 4.4.0(eslint@8.52.0)
'@eslint-community/regexpp': 4.6.2
'@eslint/eslintrc': 2.1.2
'@eslint/js': 8.52.0
'@humanwhocodes/config-array': 0.11.13
'@humanwhocodes/module-importer': 1.0.1
'@nodelib/fs.walk': 1.2.8
'@ungap/structured-clone': 1.2.0
ajv: 6.12.6
chalk: 4.1.2
cross-spawn: 7.0.3
debug: 4.3.4(supports-color@8.1.1)
doctrine: 3.0.0
escape-string-regexp: 4.0.0
eslint-scope: 7.2.2
eslint-visitor-keys: 3.4.3
espree: 9.6.1
esquery: 1.5.0
esutils: 2.0.3
fast-deep-equal: 3.1.3
file-entry-cache: 6.0.1
find-up: 5.0.0
glob-parent: 6.0.2
globals: 13.21.0
graphemer: 1.4.0
ignore: 5.2.4
imurmurhash: 0.1.4
is-glob: 4.0.3
is-path-inside: 3.0.3
js-yaml: 4.1.0
json-stable-stringify-without-jsonify: 1.0.1
levn: 0.4.1
lodash.merge: 4.6.2
minimatch: 3.1.2
natural-compare: 1.4.0
optionator: 0.9.3
strip-ansi: 6.0.1
text-table: 0.2.0
transitivePeerDependencies:
- supports-color
dev: true
/eslint@8.53.0: /eslint@8.53.0:
resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==} resolution: {integrity: sha512-N4VuiPjXDUa4xVeV/GC/RV3hQW9Nw+Y463lkWaKKXKYMvmRiRDAtfpuPFLN+E1/6ZhyR8J2ig+eVREnYgUsiag==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment