Skip to content

Commit

Permalink
feat: 添加嵌入式数据支持,包括 gasExploiter、whitelistContract 和 sponsorship
Browse files Browse the repository at this point in the history
  • Loading branch information
du5 committed Dec 17, 2024
1 parent 66a3980 commit ddcebd1
Show file tree
Hide file tree
Showing 5 changed files with 99 additions and 0 deletions.
41 changes: 41 additions & 0 deletions embed.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package enhanced_rpc

import (
_ "embed"
"encoding/json"

"github.com/ethereum/go-ethereum/common"
)

//go:embed exploiter.json
var gasExploiter []byte

//go:embed whitelistContract.json
var gasWhitelist []byte

//go:embed sponsorship.json
var sponsorship []byte

func GasWhitelist() (addrs []common.Address) {
var _gasWhitelist map[common.Address]string
if json.Unmarshal(gasWhitelist, &_gasWhitelist) != nil {
return
}
for addr := range _gasWhitelist {
addrs = append(addrs, addr)
}
return
}

func GasExploiter() []common.Address {
return unmarshal(gasExploiter)
}

func Sponsorship() []common.Address {
return unmarshal(sponsorship)
}

func unmarshal(data []byte) (addrs []common.Address) {
_ = json.Unmarshal(data, &addrs)
return
}
17 changes: 17 additions & 0 deletions embed_test.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package enhanced_rpc

import (
"testing"

"github.com/ethereum/go-ethereum/common"
"github.com/stretchr/testify/assert"
)

func TestPrintEmbed(t *testing.T) {
gasExploiter, sponsorship := GasExploiter(), Sponsorship()
assert.Equal(t, len(gasExploiter), 5)
assert.Equal(t, gasExploiter[0], common.HexToAddress("0x0000000000004946c0e9f43f4dee607b0ef1fa1c"))
assert.Equal(t, len(GasWhitelist()), 182)
assert.Equal(t, len(sponsorship), 4)
assert.Equal(t, sponsorship[0], common.HexToAddress("0x55d398326f99059fF775485246999027B3197955"))
}
17 changes: 17 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
module github.com/48Club/enhanced_rpc

go 1.22.8

require (
github.com/ethereum/go-ethereum v1.14.12
github.com/stretchr/testify v1.9.0
)

require (
github.com/davecgh/go-spew v1.1.1 // indirect
github.com/holiman/uint256 v1.3.2 // indirect
github.com/pmezard/go-difflib v1.0.0 // indirect
golang.org/x/crypto v0.31.0 // indirect
golang.org/x/sys v0.28.0 // indirect
gopkg.in/yaml.v3 v3.0.1 // indirect
)
18 changes: 18 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
github.com/davecgh/go-spew v1.1.1 h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
github.com/ethereum/go-ethereum v1.14.12 h1:8hl57x77HSUo+cXExrURjU/w1VhL+ShCTJrTwcCQSe4=
github.com/ethereum/go-ethereum v1.14.12/go.mod h1:RAC2gVMWJ6FkxSPESfbshrcKpIokgQKsVKmAuqdekDY=
github.com/holiman/uint256 v1.3.2 h1:a9EgMPSC1AAaj1SZL5zIQD3WbwTuHrMGOerLjGmM/TA=
github.com/holiman/uint256 v1.3.2/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM=
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
6 changes: 6 additions & 0 deletions sponsorship.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
[
"0x55d398326f99059fF775485246999027B3197955",
"0x8AC76a51cc950d9822D68b83fE1Ad97B32Cd580d",
"0xc5f0f7b66764F6ec8C8Dff7BA683102295E16409",
"0x0782b6d8c4551B9760e74c0545a9bCD90bdc41E5"
]

0 comments on commit ddcebd1

Please sign in to comment.