Skip to content

Commit e5376be

Browse files
committed
Merge remote-tracking branch 'origin/develop' into ETCM-165-separate-rlp-sbt-project
2 parents 41d0b14 + 417848a commit e5376be

File tree

57 files changed

+1343
-399
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

57 files changed

+1343
-399
lines changed

project/Dependencies.scala

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,9 @@ object Dependencies {
6060
"org.scalatest" %% "scalatest" % "3.2.2" % "it,test",
6161
"org.scalamock" %% "scalamock" % "5.0.0" % "test",
6262
"org.scalatestplus" %% "scalacheck-1-14" % "3.2.2.0" % "test",
63-
"org.scalacheck" %% "scalacheck" % "1.14.3" % "it,test"
63+
"org.scalacheck" %% "scalacheck" % "1.14.3" % "it,test",
64+
"com.softwaremill.diffx" %% "diffx-core" % "0.3.30" % "test",
65+
"com.softwaremill.diffx" %% "diffx-scalatest" % "0.3.30" % "test"
6466
)
6567

6668
val cats: Seq[ModuleID] = {
@@ -77,7 +79,7 @@ object Dependencies {
7779
)
7880

7981
val network: Seq[ModuleID] = {
80-
val scalanetVersion = "0.4.2-SNAPSHOT"
82+
val scalanetVersion = "0.4.4-SNAPSHOT"
8183
Seq(
8284
"io.iohk" %% "scalanet" % scalanetVersion,
8385
"io.iohk" %% "scalanet-discovery" % scalanetVersion

repo.nix

Lines changed: 152 additions & 24 deletions
Large diffs are not rendered by default.

src/main/resources/application.conf

Lines changed: 20 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ mantis {
7777
reuse-known-nodes = true
7878

7979
# Scan interval for discovery
80-
scan-interval = 15.minutes
80+
scan-interval = 1.minutes
8181

8282
# Discovery message expiration time
8383
message-expiration = 1.minute
@@ -90,10 +90,10 @@ mantis {
9090
kademlia-bucket-size = 16
9191

9292
# Timeout for individual requests like Ping.
93-
request-timeout = 3.seconds
93+
request-timeout = 1.seconds
9494

9595
# Timeout to collect all possible responses for a FindNode request.
96-
kademlia-timeout = 7.seconds
96+
kademlia-timeout = 2.seconds
9797

9898
# Level of concurrency during lookups and enrollment.
9999
kademlia-alpha = 3
@@ -112,7 +112,7 @@ mantis {
112112

113113
peer {
114114
# Retry delay for failed attempt at connecting to a peer
115-
connect-retry-delay = 1 minute
115+
connect-retry-delay = 5 seconds
116116

117117
# Maximum number of reconnect attempts after the connection has been initiated.
118118
# After that, the connection will be dropped until its initiated again (eg. by peer discovery)
@@ -143,10 +143,10 @@ mantis {
143143
max-mpt-components-per-message = 200
144144

145145
# Maximum number of peers this node can connect to
146-
max-outgoing-peers = 45
146+
max-outgoing-peers = 50
147147

148148
# Maximum number of peers that can connect to this node
149-
max-incoming-peers = 15
149+
max-incoming-peers = 50
150150

151151
# Maximum number of peers that can be connecting to this node
152152
max-pending-peers = 20
@@ -155,7 +155,7 @@ mantis {
155155
update-nodes-initial-delay = 5.seconds
156156

157157
# Newly discovered nodes connect attempt interval
158-
update-nodes-interval = 10.seconds
158+
update-nodes-interval = 30.seconds
159159

160160
# Peer which disconnect during tcp connection becouse of too many peers will not be retried for this short duration
161161
short-blacklist-duration = 6.minutes
@@ -201,6 +201,19 @@ mantis {
201201
# Domains allowed to query RPC endpoint. Use "*" to enable requests from
202202
# any domain.
203203
cors-allowed-origins = []
204+
205+
# Rate Limit for JSON-RPC requests
206+
# Limits the amount of request the same ip can perform in a given amount of time
207+
rate-limit {
208+
# If enabled, restrictions are applied
209+
enabled = false
210+
211+
# Time that should pass between requests
212+
min-request-interval = 10.seconds
213+
214+
# Size of stored timestamps for requests made from each ip
215+
latest-timestamp-cache-size = 1024
216+
}
204217
}
205218

206219
ipc {

src/main/resources/chains/etc-chain.conf

Lines changed: 27 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -158,15 +158,34 @@
158158
eth-compatible-storage = true
159159

160160
# Set of initial nodes
161+
# https://github.com/etclabscore/core-geth/blob/master/params/bootnodes_classic.go
161162
bootstrap-nodes = [
162-
"enode://d860a01f9722d78051619d1e2351aba3f43f943f6f00718d1b9baa4101932a1f5011f16bb2b1bb35db20d6fe28fa0bf09636d26a87d31de9ec6203eeedb1f666@18.138.108.67:30303", // bootnode-aws-ap-southeast-1-001
163-
"enode://22a8232c3abc76a16ae9d6c3b164f98775fe226f0917b0ca871128a74a8e9630b458460865bab457221f1d448dd9791d24c4e5d88786180ac185df813a68d4de@3.209.45.79:30303", // bootnode-aws-us-east-1-001
164-
"enode://ca6de62fce278f96aea6ec5a2daadb877e51651247cb96ee310a318def462913b653963c155a0ef6c7d50048bba6e6cea881130857413d9f50a621546b590758@34.255.23.113:30303", // bootnode-aws-eu-west-1-001
165-
"enode://279944d8dcd428dffaa7436f25ca0ca43ae19e7bcf94a8fb7d1641651f92d121e972ac2e8f381414b80cc8e5555811c2ec6e1a99bb009b3f53c4c69923e11bd8@35.158.244.151:30303", // bootnode-aws-eu-central-1-001
166-
"enode://8499da03c47d637b20eee24eec3c356c9a2e6148d6fe25ca195c7949ab8ec2c03e3556126b0d7ed644675e78c4318b08691b7b57de10e5f0d40d05b09238fa0a@52.187.207.27:30303", // bootnode-azure-australiaeast-001
167-
"enode://103858bdb88756c71f15e9b5e09b56dc1be52f0a5021d46301dbbfb7e130029cc9d0d6f73f693bc29b665770fff7da4d34f3c6379fe12721b5d7a0bcb5ca1fc1@191.234.162.198:30303", // bootnode-azure-brazilsouth-001
168-
"enode://715171f50508aba88aecd1250af392a45a330af91d7b90701c436b618c86aaa1589c9184561907bebbb56439b8f8787bc01f49a7c77276c58c1b09822d75e8e8@52.231.165.108:30303", // bootnode-azure-koreasouth-001
169-
"enode://5d6d7cd20d6da4bb83a1d28cadb5d409b64edf314c0335df658c1a54e32c7c4a7ab7823d57c39b6a757556e68ff1df17c748b698544a55cb488b52479a92b60f@104.42.217.25:30303" // bootnode-azure-westus-001
163+
"enode://158ac5a4817265d0d8b977660b3dbe9abee5694ed212f7091cbf784ddf47623ed015e1cb54594d10c1c46118747ddabe86ebf569cf24ae91f2daa0f1adaae390@159.203.56.33:30303", // @whilei
164+
165+
"enode://942bf2f0754972391467765be1d98206926fc8ad0be8a49cd65e1730420c37fa63355bddb0ae5faa1d3505a2edcf8fad1cf00f3c179e244f047ec3a3ba5dacd7@176.9.51.216:30355", // @q9f ceibo
166+
"enode://0b0e09d6756b672ac6a8b70895da4fb25090b939578935d4a897497ffaa205e019e068e1ae24ac10d52fa9b8ddb82840d5d990534201a4ad859ee12cb5c91e82@176.9.51.216:30365", // @q9f ceibo
167+
168+
"enode://efd48ad0879eeb7f9cb5e50f33f7bc21e805a72e90361f145baaa22dd75d111e7cd9c93f1b7060dcb30aa1b3e620269336dbf32339fea4c18925a4c15fe642df@18.205.66.229:30303",
169+
"enode://5fbfb426fbb46f8b8c1bd3dd140f5b511da558cd37d60844b525909ab82e13a25ee722293c829e52cb65c2305b1637fa9a2ea4d6634a224d5f400bfe244ac0de@162.243.55.45:30303",
170+
"enode://6dd3ac8147fa82e46837ec8c3223d69ac24bcdbab04b036a3705c14f3a02e968f7f1adfcdb002aacec2db46e625c04bf8b5a1f85bb2d40a479b3cc9d45a444af@104.237.131.102:30303",
171+
"enode://b9e893ea9cb4537f4fed154233005ae61b441cd0ecd980136138c304fefac194c25a16b73dac05fc66a4198d0c15dd0f33af99b411882c68a019dfa6bb703b9d@18.130.93.66:30303",
172+
"enode://3fe9705a02487baea45c1ffebfa4d84819f5f1e68a0dbc18031553242a6a08e39499b61e361a52c2a92f9553efd63763f6fdd34692be0d4ba6823bb2fc346009@178.62.238.75:30303",
173+
"enode://d50facc65e46bda6ff594b6e95491efa16e067de41ae96571d9f3cb853d538c44864496fa5e4df10115f02bbbaf47853f932e110a44c89227da7c30e96840596@188.166.163.187:30303",
174+
"enode://a0d5c589dc02d008fe4237da9877a5f1daedee0227ab612677eabe323520f003eb5e311af335de9f7964c2092bbc2b3b7ab1cce5a074d8346959f0868b4e366e@46.101.78.44:30303",
175+
"enode://c071d96b0c0f13006feae3977fb1b3c2f62caedf643df9a3655bc1b60f777f05e69a4e58bf3547bb299210092764c56df1e08380e91265baa845dca8bc0a71da@68.183.99.5:30303",
176+
"enode://83b33409349ffa25e150555f7b4f8deebc68f3d34d782129dc3c8ba07b880c209310a4191e1725f2f6bef59bce9452d821111eaa786deab08a7e6551fca41f4f@206.189.68.191:30303",
177+
"enode://0daae2a30f2c73b0b257746587136efb8e3479496f7ea1e943eeb9a663b72dd04582f699f7010ee02c57fc45d1f09568c20a9050ff937f9139e2973ddd98b87b@159.89.169.103:30303",
178+
"enode://50808461dd73b3d70537e4c1e5fafd1132b3a90f998399af9205f8889987d62096d4e853813562dd43e7270a71c9d9d4e4dd73a534fdb22fbac98c389c1a7362@178.128.55.119:30303",
179+
"enode://5cd218959f8263bc3721d7789070806b0adff1a0ed3f95ec886fb469f9362c7507e3b32b256550b9a7964a23a938e8d42d45a0c34b332bfebc54b29081e83b93@35.187.57.94:30303",
180+
181+
"enode://66498ac935f3f54d873de4719bf2d6d61e0c74dd173b547531325bcef331480f9bedece91099810971c8567eeb1ae9f6954b013c47c6dc51355bbbbae65a8c16@54.148.165.1:30303", // ETC Labs
182+
"enode://73e74ce7426a17aa2d8b5bb64d796ec7dc4dcee2af9bbdd4434394d1e4e52e650b9e39202435fca29ce65c242fd6e59b93ed2cf37f04b645fb23e306273816ad@54.148.165.1:30304", // ETC Labs
183+
"enode://f1d4bde4cc8df2b8ce46194247450e54b9ba9e69410a30974a894a49273b10c069e7a1ff0ffd4921cb23af9f903d8257ed0133317850e670f2792f20e771a69e@123.57.29.99:30303", //ETC Labs
184+
"enode://7a7768a1603b6714acd16f646b84a5aff418869b5715fa606172d19e4e7d719699448b7707e30c7b59470b4fb8b38a020135641304861483a7dc3ba988e98490@47.108.52.30:30303", //ETC Labs
185+
"enode://903fceb08534c13fe1114b0c753a89c6c2ec50f973a85d308456c46721f8904b1cd47df9231114299be84e1e954db06552f791a0facbd86359aa9fd321d2ef50@47.240.106.205:30303", //ETC Labs
186+
"enode://c7ec057ad9450d2d5c4002e49e53e1d90142acd54128c89e794d11401de026b91aa0e84e3f679fb6b47f7940e08b5e7d21d8178c5fa6ba0f36971098cb566ea6@101.133.229.66:30303", //ETC Labs
187+
"enode://70b74fef51aa4f36330cc52ac04f16d38e1838f531f58bbc88365ca5fd4a3da6e8ec32316c43f79b157d0575faf53064fd925644d0f620b2b201b028c2b410d0@47.115.150.90:30303", //ETC Labs
188+
"enode://fa64d1fcb2d4cd1d1606cb940ea2b69fee7dc6c7a85ac4ad05154df1e9ae9616a6a0fa67a59cb15f79346408efa5a4efeba1e5993ddbf4b5cedbda27644a61cf@47.91.30.48:30303", //ETC Labs
170189
]
171190

172191
# List of hex encoded public keys of Checkpoint Authorities

src/main/resources/chains/mordor-chain.conf

Lines changed: 22 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -141,31 +141,33 @@
141141
eth-compatible-storage = true
142142

143143
# Set of initial nodes
144+
# https://github.com/etclabscore/mordor/blob/master/static-nodes.json
144145
bootstrap-nodes = [
145-
"enode://a59e33ccd2b3e52d578f1fbd70c6f9babda2650f0760d6ff3b37742fdcdfdb3defba5d56d315b40c46b70198c7621e63ffa3f987389c7118634b0fefbbdfa7fd@51.158.191.43:38556", // @q9f parity mizar
146-
"enode://651b484b652c07c72adebfaaf8bc2bd95b420b16952ef3de76a9c00ef63f07cca02a20bd2363426f9e6fe372cef96a42b0fec3c747d118f79fd5e02f2a4ebd4e@51.158.190.99:45678", // @q9f core-geth lyrae
147-
"enode://9b1bf9613d859ac2071d88509ab40a111b75c1cfc51f4ad78a1fdbb429ff2405de0dc5ea8ae75e6ac88e03e51a465f0b27b517e78517f7220ae163a2e0692991@51.158.190.99:30426", // @q9f parity lyrae
148-
"enode://111bd28d5b2c1378d748383fd83ff59572967c317c3063a9f475a26ad3f1517642a164338fb5268d4e32ea1cc48e663bd627dec572f1d201c7198518e5a506b1@88.99.216.30:45834",
149-
"enode://2b69a3926f36a7748c9021c34050be5e0b64346225e477fe7377070f6289bd363b2be73a06010fd516e6ea3ee90778dd0399bc007bb1281923a79374f842675a@51.15.116.226:30303",
146+
"enode://014ebf612cd362d87215d8668bd34a6db6c009a5b77c01e05fe638948054ebe91684ce05f1baf384ae9964316b9ac0eaf87dc43edd7e63467fb0b34db0f2c1d7@51.158.190.99:34567",
147+
"enode://03b133f731049e3f7be827339c3759be92778c05e54a1847d178c0fdb56fa168aa1e7e61fc77791a7afdd0328a00318f73c01212eb3f3bbe919f5ce8f5b4a314@192.227.105.4:32000",
150148
"enode://06fdbeb591d26f53b2e7250025fe955ca013431ded930920cf1e3cd1f0c920e9a5e727949d209bc25a07288327b525279b11c5551315c50ff0db483e69fc159b@34.218.225.178:32000",
151-
"enode://534d18fd46c5cd5ba48a68250c47cea27a1376869755ed631c94b91386328039eb607cf10dd8d0aa173f5ec21e3fb45c5d7a7aa904f97bc2557e9cb4ccc703f1@51.158.190.99:30303", // @q9f besu lyrae
152-
"enode://617a2009783a09085ed0d5d5e7250e2e3c142f73448bf28200284bf4825c5926a80f3e9fb481edf38b89ade2aa0ad5a2f14cc935f3150e36e648eddda674fd70@35.225.5.185:51320",
153-
"enode://4ca79bbff7491fed82221259e3f27492e27b95b600594e2f8d5f1fa011123ea267e71873a0db3993e5109845d519d8b849ba2c7e4b48b09bedebb99e1c2ce304@35.238.132.8:30303",
154-
"enode://5a1399e6ba3268721dd7656530cd81230dbeb950570c6e3ec2a45effc50c032f66633c5eaaa1a49c51ba1849db37a7bef6e402779ad12dc9943f117e058d7760@35.225.124.17:39306",
155-
"enode://0d70715514674189792de4ad294b658c96d0ec40fe517fbe9cb7949d3792f25f82357ec77d1bd8bed6ec719ca0c1d608bb34cc702bf3d4bb4507f7280f835452@154.5.137.161:61410",
156149
"enode://07fa944c83597d5e935a2abe6194ed40fc7239e86111c971a43537a33d0184d1cd1b3f1291b8dd3bcfaebfbb802de77c843465a00065b39120c338fdd877ca4a@35.238.126.60:30000",
157-
"enode://b45f008ab8ad73966d0c8c0c923c50f47c0ae50c37a9ea05cc28b00cb94802145a4158412a526fdadd7e539db5eaab72f06a9046a34576ecf5a68efc41ba9d01@34.68.40.145:30303",
158-
"enode://03b133f731049e3f7be827339c3759be92778c05e54a1847d178c0fdb56fa168aa1e7e61fc77791a7afdd0328a00318f73c01212eb3f3bbe919f5ce8f5b4a314@192.227.105.4:32000",
159-
"enode://859ed8c19ea04eaea41f1cf17c8d2710e2e0affb97328c8392a79f1764118edf2344f1941299f0d676772fa6054447e6f9b3af96444e350b417442bfd7cc832b@34.68.243.226:30303",
160-
"enode://f840b007500f50c98ea6f9c9e56dabf4690bbbbb7036d43682c531204341aff8315013547e5bee54117eb22bd3603585ae6bf713d9fa710659533fcab65d5b84@35.238.101.58:30303",
161-
"enode://f840b007500f50c98ea6f9c9e56dabf4690bbbbb7036d43682c531204341aff8315013547e5bee54117eb22bd3603585ae6bf713d9fa710659533fcab65d5b84@34.69.50.155:42078",
150+
"enode://07fa944c83597d5e935a2abe6194ed40fc7239e86111c971a43537a33d0184d1cd1b3f1291b8dd3bcfaebfbb802de77c843465a00065b39120c338fdd877ca4a@35.238.126.60:51240",
151+
"enode://0d70715514674189792de4ad294b658c96d0ec40fe517fbe9cb7949d3792f25f82357ec77d1bd8bed6ec719ca0c1d608bb34cc702bf3d4bb4507f7280f835452@154.5.137.161:61410",
152+
"enode://111bd28d5b2c1378d748383fd83ff59572967c317c3063a9f475a26ad3f1517642a164338fb5268d4e32ea1cc48e663bd627dec572f1d201c7198518e5a506b1@88.99.216.30:45834"
153+
"enode://15b6ae4e9e18772f297c90d83645b0fbdb56667ce2d747d6d575b21d7b60c2d3cd52b11dec24e418438caf80ddc433232b3685320ed5d0e768e3972596385bfc@51.158.191.43:41235", // @q9f core-geth mizar
154+
"enode://1f378945c9b2eeb292d910f461911fd99520a23beda1bc5c8aea12be09e249f8d92615aa3d4d75c938004db5281dabad4a9cf7a0f07ec7c1fc8e7721addc7c85@34.205.41.164:40218",
155+
"enode://2592745efd35b4be443b8ee25fd2099de132e037951f9f6d3e8805e0a78f213537f71264b973f1a83a57372f57bbe6acac8d6ae678f39393221c045ccbe3b18c@51.15.116.226:30304",
156+
"enode://2b69a3926f36a7748c9021c34050be5e0b64346225e477fe7377070f6289bd363b2be73a06010fd516e6ea3ee90778dd0399bc007bb1281923a79374f842675a@51.15.116.226:30303",
157+
"enode://4ca79bbff7491fed82221259e3f27492e27b95b600594e2f8d5f1fa011123ea267e71873a0db3993e5109845d519d8b849ba2c7e4b48b09bedebb99e1c2ce304@35.238.132.8:30303",
158+
"enode://534d18fd46c5cd5ba48a68250c47cea27a1376869755ed631c94b91386328039eb607cf10dd8d0aa173f5ec21e3fb45c5d7a7aa904f97bc2557e9cb4ccc703f1@51.158.190.99:30303", // @q9f besu lyrae
162159
"enode://5a1399e6ba3268721dd7656530cd81230dbeb950570c6e3ec2a45effc50c032f66633c5eaaa1a49c51ba1849db37a7bef6e402779ad12dc9943f117e058d7760@34.69.121.227:30303",
160+
"enode://5a1399e6ba3268721dd7656530cd81230dbeb950570c6e3ec2a45effc50c032f66633c5eaaa1a49c51ba1849db37a7bef6e402779ad12dc9943f117e058d7760@35.225.124.17:39306",
161+
"enode://617a2009783a09085ed0d5d5e7250e2e3c142f73448bf28200284bf4825c5926a80f3e9fb481edf38b89ade2aa0ad5a2f14cc935f3150e36e648eddda674fd70@35.225.5.185:51320",
163162
"enode://642cf9650dd8869d42525dbf6858012e3b4d64f475e733847ab6f7742341a4397414865d953874e8f5ed91b0e4e1c533dee14ad1d6bb276a5459b2471460ff0d@157.230.152.87:30303", // @meowsbits but don't count on it
164-
"enode://1f378945c9b2eeb292d910f461911fd99520a23beda1bc5c8aea12be09e249f8d92615aa3d4d75c938004db5281dabad4a9cf7a0f07ec7c1fc8e7721addc7c85@34.205.41.164:40218",
165-
"enode://15b6ae4e9e18772f297c90d83645b0fbdb56667ce2d747d6d575b21d7b60c2d3cd52b11dec24e418438caf80ddc433232b3685320ed5d0e768e3972596385bfc@51.158.191.43:41235", // @q9f core-geth mizar
166-
"enode://f50f52b5fe18fd281748905bf5dad5439471f32cc02d99fecf960a983c1f4eba701ffca96afd2f2a68dcf6f97c5d02b566bafce1f361b51717e1a03c1dd9a836@157.230.42.102:30303",
167-
"enode://07fa944c83597d5e935a2abe6194ed40fc7239e86111c971a43537a33d0184d1cd1b3f1291b8dd3bcfaebfbb802de77c843465a00065b39120c338fdd877ca4a@35.238.126.60:51240",
163+
"enode://651b484b652c07c72adebfaaf8bc2bd95b420b16952ef3de76a9c00ef63f07cca02a20bd2363426f9e6fe372cef96a42b0fec3c747d118f79fd5e02f2a4ebd4e@51.158.190.99:45678", // @q9f core-geth lyrae
164+
"enode://859ed8c19ea04eaea41f1cf17c8d2710e2e0affb97328c8392a79f1764118edf2344f1941299f0d676772fa6054447e6f9b3af96444e350b417442bfd7cc832b@34.68.243.226:30303",
165+
"enode://9b1bf9613d859ac2071d88509ab40a111b75c1cfc51f4ad78a1fdbb429ff2405de0dc5ea8ae75e6ac88e03e51a465f0b27b517e78517f7220ae163a2e0692991@51.158.190.99:30426", // @q9f parity lyrae
166+
"enode://a59e33ccd2b3e52d578f1fbd70c6f9babda2650f0760d6ff3b37742fdcdfdb3defba5d56d315b40c46b70198c7621e63ffa3f987389c7118634b0fefbbdfa7fd@51.158.191.43:38556", // @q9f parity mizar
167+
"enode://b45f008ab8ad73966d0c8c0c923c50f47c0ae50c37a9ea05cc28b00cb94802145a4158412a526fdadd7e539db5eaab72f06a9046a34576ecf5a68efc41ba9d01@34.68.40.145:30303",
168168
"enode://c0afb552bfe932c72598caa245aef82d55c23555622c5ab946d4e49bb0ab694e46086dcff6793a606527f323ef94d0eb499d01ceb26aefb6fa3f8977105d7dd8@157.230.152.87:52138",
169-
"enode://2592745efd35b4be443b8ee25fd2099de132e037951f9f6d3e8805e0a78f213537f71264b973f1a83a57372f57bbe6acac8d6ae678f39393221c045ccbe3b18c@51.15.116.226:30304",
169+
"enode://f50f52b5fe18fd281748905bf5dad5439471f32cc02d99fecf960a983c1f4eba701ffca96afd2f2a68dcf6f97c5d02b566bafce1f361b51717e1a03c1dd9a836@157.230.42.102:30303",
170+
"enode://f840b007500f50c98ea6f9c9e56dabf4690bbbbb7036d43682c531204341aff8315013547e5bee54117eb22bd3603585ae6bf713d9fa710659533fcab65d5b84@34.69.50.155:42078",
171+
"enode://f840b007500f50c98ea6f9c9e56dabf4690bbbbb7036d43682c531204341aff8315013547e5bee54117eb22bd3603585ae6bf713d9fa710659533fcab65d5b84@35.238.101.58:30303",
170172
]
171173
}

src/main/scala/io/iohk/ethereum/domain/Address.scala

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ import akka.util.ByteString
44
import io.iohk.ethereum.crypto
55
import io.iohk.ethereum.mpt.ByteArrayEncoder
66
import io.iohk.ethereum.utils.ByteUtils.padLeft
7+
import org.bouncycastle.crypto.AsymmetricCipherKeyPair
78
import org.bouncycastle.util.encoders.Hex
89

910
object Address {
@@ -33,6 +34,11 @@ object Address {
3334
require(bytes.length <= Length, s"Invalid address: $hexString")
3435
Address(bytes)
3536
}
37+
38+
def apply(keyPair: AsymmetricCipherKeyPair): Address = {
39+
val pub = crypto.pubKeyFromKeyPair(keyPair)
40+
Address(crypto.kec256(pub))
41+
}
3642
}
3743

3844
class Address private (val bytes: ByteString) {

src/main/scala/io/iohk/ethereum/domain/SignedTransaction.scala

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,20 @@
11
package io.iohk.ethereum.domain
22

3-
import java.math.BigInteger
4-
import java.util.concurrent.Executors
5-
63
import akka.util.ByteString
74
import com.google.common.cache.{Cache, CacheBuilder}
85
import io.iohk.ethereum.crypto
96
import io.iohk.ethereum.crypto.{ECDSASignature, kec256}
107
import io.iohk.ethereum.mpt.ByteArraySerializable
8+
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
119
import io.iohk.ethereum.rlp.RLPImplicitConversions._
1210
import io.iohk.ethereum.rlp.RLPImplicits._
1311
import io.iohk.ethereum.rlp.{encode => rlpEncode, _}
1412
import org.bouncycastle.crypto.AsymmetricCipherKeyPair
15-
import org.bouncycastle.crypto.params.ECPublicKeyParameters
1613
import org.bouncycastle.util.encoders.Hex
17-
import io.iohk.ethereum.network.p2p.messages.CommonMessages.SignedTransactions._
1814

15+
import java.math.BigInteger
16+
import java.util.concurrent.Executors
1917
import scala.concurrent.{ExecutionContext, Future}
20-
2118
import scala.util.Try
2219

2320
object SignedTransaction {
@@ -74,9 +71,7 @@ object SignedTransaction {
7471
def sign(tx: Transaction, keyPair: AsymmetricCipherKeyPair, chainId: Option[Byte]): SignedTransactionWithSender = {
7572
val bytes = bytesToSign(tx, chainId)
7673
val sig = ECDSASignature.sign(bytes, keyPair, chainId)
77-
//byte 0 of encoded ECC point indicates that it is uncompressed point, it is part of bouncycastle encoding
78-
val pub = keyPair.getPublic.asInstanceOf[ECPublicKeyParameters].getQ.getEncoded(false).tail
79-
val address = Address(crypto.kec256(pub).drop(FirstByteOfAddress))
74+
val address = Address(keyPair)
8075
SignedTransactionWithSender(tx, sig, address)
8176
}
8277

0 commit comments

Comments
 (0)