blockscout / blockscout

Blockchain explorer for Ethereum based network and a tool for inspecting and analyzing EVM based blockchains.
http://docs.blockscout.com
GNU General Public License v3.0
3.59k stars 2.4k forks source link

(Postgrex.Error) ERROR 21000 (cardinality_violation) ON CONFLICT DO UPDATE command cannot affect row a second time #8301

Closed miguelmota closed 2 months ago

miguelmota commented 1 year ago

Hi, blockscout seems to get stuck in a loop trying to upsert an entry but failing due to constraint conflict.

Environment

Steps to reproduce

Steps from this tutorial

https://stack.optimism.io/docs/build/explorer/

Expected behaviour

no insert error

Actual behaviour

docker logs blockscout -f
2023-08-25T07:59:55.867 application=explorer fetcher=block_catchup first_block_number=1436540 last_block_number=1436531 import_id=1872325 transaction_id=1862884 [error] Could not insert all of chunk into Elixir.Explorer.Chain.Transaction using options because of error.

Chunk Size: 14
Chunk:

[%{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<224, 98, 169, 49, 178, 46, 89, 57, 226, 249, 90, 211, 196, 128, 176, 133, 216, 212, 167, 46, 46, 167, 226, 217, 40, 61, 71, 93, 177, 3, 177, 6>>}, block_number: 1436540, cumulative_gas_used: Decimal.new("63965"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("63965"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<27, 166, 176, 62, 91, 156, 33, 98, 199, 213, 56, 185, 29, 187, 41, 63, 98, 159, 82, 196, 132, 158, 198, 160, 45, 23, 191, 21, 151, 90, 135, 229>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 83, 172, 139, 138, 73, 105, 242, 65, 123, 246, 115, 205, 12, 108, 103, 196, 120, 236, 66, 222, 30, 232, 19, 170, 31, 19, 42, 85, 33, 233, 96, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436539, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<58, 213, 221, 248, 118, 126, 193, 79, 169, 229, 111, 101, 226, 100, 226, 156, 228, 232, 90, 206, 152, 155, 116, 89, 114, 13, 197, 42, 12, 182, 1, 239>>}, block_number: 1436533, cumulative_gas_used: Decimal.new("47653"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("47653"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<31, 195, 81, 165, 177, 75, 244, 254, 60, 220, 74, 184, 247, 81, 187, 84, 108, 169, 167, 101, 27, 213, 189, 230, 207, 77, 94, 247, 88, 210, 73, 18>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436532, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<22, 252, 48, 10, 212, 213, 241, 95, 52, 154, 194, 52, 161, 227, 137, 200, 211, 18, 158, 14, 148, 230, 84, 182, 164, 185, 74, 71, 187, 110, 51, 115>>}, block_number: 1436536, cumulative_gas_used: Decimal.new("132799"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<174, 55, 156, 95, 10, 125, 210, 187, 142, 96, 21, 179, 212, 241, 41, 124, 160, 135, 128, 40>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("30752"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<48, 70, 32, 255, 244, 6, 70, 169, 211, 129, 176, 11, 255, 140, 130, 8, 225, 219, 158, 249, 185, 255, 12, 163, 64, 255, 188, 140, 79, 156, 103, 236>>}, index: 2, input: %Explorer.Chain.Data{bytes: <<215, 100, 173, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 17, 247, 214, 150, 167, 98, 148, 38, 115, 152, 67, 68, 183, 140, 246, 154, 71, 17, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 74, 55, 75, 108, 206, 59, 11, 133, 178, 188, 226, 222, 68, 168, 16, 241, 230, 109, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 242, 97, 234, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 12, 192, 106, 21, 232, 84, 144, 211, 112, 84, 186, 116, 145, 86, 197, 70, 84, 243, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 178, 193, 163, 104, 254, 16, 70, 136, 188, 170, 104, 209, 160, 78, 224, 100, 231, 99, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 139, 25, 157, 242, 158, 218, 167, 245, 68, 33, 64, 204, 138, 13, 219, 132, 20, 127, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 224, 182, 179, 167, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 223, 120, 240, 237, 59, 125, 79, 199, 121, 33, 23, 80, 129, 10, 13, 223, 250, 131, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 12, r: Decimal.new("0"), s: Decimal.new("0"), status: :error, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<31, 186, 185, 87, 201, 156, 166, 19, 61, 208, 39, 187, 64, 247, 9, 61, 239, 106, 112, 80>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<22, 252, 48, 10, 212, 213, 241, 95, 52, 154, 194, 52, 161, 227, 137, 200, 211, 18, 158, 14, 148, 230, 84, 182, 164, 185, 74, 71, 187, 110, 51, 115>>}, block_number: 1436536, cumulative_gas_used: Decimal.new("132799"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<174, 55, 156, 95, 10, 125, 210, 187, 142, 96, 21, 179, 212, 241, 41, 124, 160, 135, 128, 40>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("30752"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<48, 70, 32, 255, 244, 6, 70, 169, 211, 129, 176, 11, 255, 140, 130, 8, 225, 219, 158, 249, 185, 255, 12, 163, 64, 255, 188, 140, 79, 156, 103, 236>>}, index: 2, input: %Explorer.Chain.Data{bytes: <<215, 100, 173, 11, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 17, 247, 214, 150, 167, 98, 148, 38, 115, 152, 67, 68, 183, 140, 246, 154, 71, 17, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 254, 74, 55, 75, 108, 206, 59, 11, 133, 178, 188, 226, 222, 68, 168, 16, 241, 230, 109, 129, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 13, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 164, 242, 97, 234, 110, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 12, 192, 106, 21, 232, 84, 144, 211, 112, 84, 186, 116, 145, 86, 197, 70, 84, 243, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 178, 193, 163, 104, 254, 16, 70, 136, 188, 170, 104, 209, 160, 78, 224, 100, 231, 99, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 139, 25, 157, 242, 158, 218, 167, 245, 68, 33, 64, 204, 138, 13, 219, 132, 20, 127, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 224, 182, 179, 167, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 220, 223, 120, 240, 237, 59, 125, 79, 199, 121, 33, 23, 80, 129, 10, 13, 223, 250, 131, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 12, r: Decimal.new("0"), s: Decimal.new("0"), status: :error, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<31, 186, 185, 87, 201, 156, 166, 19, 61, 208, 39, 187, 64, 247, 9, 61, 239, 106, 112, 80>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<62, 42, 171, 216, 188, 169, 96, 171, 68, 84, 23, 204, 159, 77, 47, 39, 179, 129, 166, 242, 45, 173, 202, 148, 171, 247, 5, 30, 156, 230, 94, 177>>}, block_number: 1436532, cumulative_gas_used: Decimal.new("46853"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46853"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<60, 3, 241, 187, 232, 57, 188, 137, 80, 59, 135, 42, 95, 239, 78, 45, 138, 144, 62, 208, 93, 117, 204, 175, 252, 140, 242, 182, 246, 232, 88, 224>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 173, 200, 160, 67, 80, 36, 14, 218, 160, 192, 113, 52, 98, 34, 250, 177, 111, 30, 36, 223, 150, 240, 67, 14, 206, 64, 79, 72, 169, 236, 230, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436531, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<207, 32, 72, 7, 250, 31, 247, 244, 175, 122, 143, 124, 127, 145, 100, 89, 237, 138, 115, 23, 179, 51, 218, 250, 85, 203, 177, 205, 44, 238, 251, 9>>}, block_number: 1436531, cumulative_gas_used: Decimal.new("46853"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46853"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<88, 185, 54, 243, 52, 5, 242, 55, 115, 76, 155, 101, 232, 245, 197, 189, 220, 230, 52, 199, 17, 158, 30, 213, 115, 218, 137, 134, 36, 203, 53, 3>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 117, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 173, 200, 160, 67, 80, 36, 14, 218, 160, 192, 113, 52, 98, 34, 250, 177, 111, 30, 36, 223, 150, 240, 67, 14, 206, 64, 79, 72, 169, 236, 230, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436530, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<22, 252, 48, 10, 212, 213, 241, 95, 52, 154, 194, 52, 161, 227, 137, 200, 211, 18, 158, 14, 148, 230, 84, 182, 164, 185, 74, 71, 187, 110, 51, 115>>}, block_number: 1436536, cumulative_gas_used: Decimal.new("46865"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46865"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<105, 202, 9, 139, 210, 213, 13, 250, 78, 135, 34, 99, 114, 187, 57, 29, 111, 88, 63, 6, 232, 173, 132, 120, 48, 187, 28, 237, 148, 207, 215, 84>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436535, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<234, 38, 195, 201, 146, 224, 64, 59, 55, 101, 61, 98, 80, 82, 10, 48, 37, 51, 166, 110, 254, 150, 33, 141, 136, 169, 63, 226, 74, 249, 82, 166>>}, block_number: 1436538, cumulative_gas_used: Decimal.new("46865"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46865"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<105, 247, 254, 80, 182, 239, 63, 157, 84, 3, 3, 129, 44, 38, 217, 182, 89, 220, 250, 65, 112, 46, 11, 116, 159, 213, 131, 104, 231, 217, 35, 113>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436537, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<243, 84, 71, 85, 67, 161, 25, 30, 221, 64, 122, 192, 72, 78, 25, 162, 53, 18, 118, 150, 191, 173, 90, 16, 64, 56, 98, 45, 200, 238, 230, 230>>}, block_number: 1436537, cumulative_gas_used: Decimal.new("46865"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46865"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<166, 90, 82, 106, 48, 175, 158, 225, 255, 193, 175, 94, 50, 80, 176, 232, 109, 140, 7, 174, 132, 112, 0, 109, 166, 100, 193, 108, 73, 222, 69, 168>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436536, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<234, 198, 243, 35, 178, 240, 138, 172, 56, 127, 76, 24, 223, 208, 7, 24, 145, 13, 16, 186, 146, 159, 177, 42, 59, 204, 247, 172, 4, 33, 2, 250>>}, block_number: 1436535, cumulative_gas_used: Decimal.new("46865"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("46865"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<183, 17, 236, 171, 139, 195, 114, 201, 28, 82, 0, 207, 119, 28, 227, 164, 143, 221, 3, 36, 61, 101, 84, 138, 139, 26, 93, 224, 237, 63, 152, 21>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436534, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<185, 178, 56, 61, 188, 50, 15, 186, 206, 200, 58, 105, 2, 73, 234, 231, 147, 125, 205, 198, 35, 81, 220, 9, 240, 215, 216, 49, 46, 103, 180, 140>>}, block_number: 1436539, cumulative_gas_used: Decimal.new("47653"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("47653"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<185, 12, 124, 212, 142, 128, 23, 82, 163, 136, 215, 39, 62, 27, 200, 221, 76, 196, 78, 220, 79, 159, 111, 151, 191, 206, 237, 186, 124, 142, 6, 88>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 83, 172, 139, 138, 73, 105, 242, 65, 123, 246, 115, 205, 12, 108, 103, 196, 120, 236, 66, 222, 30, 232, 19, 170, 31, 19, 42, 85, 33, 233, 96, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436538, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<167, 251, 199, 222, 21, 230, 86, 37, 239, 157, 252, 142, 170, 104, 27, 35, 208, 218, 16, 196, 111, 199, 126, 131, 182, 47, 110, 157, 5, 60, 82, 199>>}, block_number: 1436534, cumulative_gas_used: Decimal.new("63965"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 222, 173, 0, 1>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("63965"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<221, 217, 167, 159, 17, 53, 45, 157, 245, 69, 32, 255, 215, 123, 1, 24, 134, 137, 73, 4, 169, 254, 183, 187, 200, 1, 162, 222, 250, 203, 125, 112>>}, index: 0, input: %Explorer.Chain.Data{bytes: <<1, 93, 142, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 145, 111, 118, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 100, 221, 153, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 88, 155, 118, 9, 75, 64, 151, 196, 127, 186, 183, 152, 36, 19, 194, 62, 149, 163, 126, 65, 154, 242, 143, 122, 126, 226, 68, 239, 37, 124, 193, 29, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 90, 237, 181, 92, 214, 33, 6, 224, 117, 240, 254, 108, 189, 240, 218, 82, 254, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 66, 64>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 1436533, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<66, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<22, 252, 48, 10, 212, 213, 241, 95, 52, 154, 194, 52, 161, 227, 137, 200, 211, 18, 158, 14, 148, 230, 84, 182, 164, 185, 74, 71, 187, 110, 51, 115>>}, block_number: 1436536, cumulative_gas_used: Decimal.new("102047"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<163, 197, 242, 82, 108, 248, 227, 100, 239, 88, 169, 137, 251, 95, 33, 70, 45, 17, 152, 95>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("55182"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<254, 33, 245, 49, 200, 174, 17, 253, 240, 177, 204, 67, 55, 70, 246, 19, 74, 151, 105, 140, 194, 177, 43, 224, 201, 40, 34, 144, 24, 34, 181, 232>>}, index: 1, input: %Explorer.Chain.Data{bytes: <<1, 102, 160, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 178, 193, 163, 104, 254, 16, 70, 136, 188, 170, 104, 209, 160, 78, 224, 100, 231, 99, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 12, 192, 106, 21, 232, 84, 144, 211, 112, 84, 186, 116, 145, 86, 197, 70, 84, 243, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 17, 247, 214, 150, 167, 98, 148, 38, 115, 152, 67, 68, 183, 140, 246, 154, 71, 17, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 139, 25, 157, 242, 158, 218, 167, 245, 68, 33, 64, 204, 138, 13, 219, 132, 20, 127, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 224, 182, 179, 167, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 48, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 244, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<147, 69, 52, 252, 30, 219, 214, 233, 101, 58, 56, 160, 255, 4, 133, 190, 150, 209, 80, 149>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}, %{block_hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<22, 252, 48, 10, 212, 213, 241, 95, 52, 154, 194, 52, 161, 227, 137, 200, 211, 18, 158, 14, 148, 230, 84, 182, 164, 185, 74, 71, 187, 110, 51, 115>>}, block_number: 1436536, cumulative_gas_used: Decimal.new("102047"), from_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<163, 197, 242, 82, 108, 248, 227, 100, 239, 88, 169, 137, 251, 95, 33, 70, 45, 17, 152, 95>>}, gas: Decimal.new("1000000"), gas_price: #Explorer.Chain.Wei<0>, gas_used: Decimal.new("55182"), hash: %Explorer.Chain.Hash{byte_count: 32, bytes: <<254, 33, 245, 49, 200, 174, 17, 253, 240, 177, 204, 67, 55, 70, 246, 19, 74, 151, 105, 140, 194, 177, 43, 224, 201, 40, 34, 144, 24, 34, 181, 232>>}, index: 1, input: %Explorer.Chain.Data{bytes: <<1, 102, 160, 122, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 204, 178, 193, 163, 104, 254, 16, 70, 136, 188, 170, 104, 209, 160, 78, 224, 100, 231, 99, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 12, 192, 106, 21, 232, 84, 144, 211, 112, 84, 186, 116, 145, 86, 197, 70, 84, 243, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 158, 17, 247, 214, 150, 167, 98, 148, 38, 115, 152, 67, 68, 183, 140, 246, 154, 71, 17, 236, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 232, 139, 25, 157, 242, 158, 218, 167, 245, 68, 33, 64, 204, 138, 13, 219, 132, 20, 127, 157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 224, 182, 179, 167, 100, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 48, 120, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0>>}, inserted_at: ~U[2023-08-25 07:59:55.717479Z], nonce: 244, r: Decimal.new("0"), s: Decimal.new("0"), status: :ok, to_address_hash: %Explorer.Chain.Hash{byte_count: 20, bytes: <<147, 69, 52, 252, 30, 219, 214, 233, 101, 58, 56, 160, 255, 4, 133, 190, 150, 209, 80, 149>>}, type: 126, updated_at: ~U[2023-08-25 07:59:55.717479Z], v: Decimal.new("0"), value: #Explorer.Chain.Wei<0>}]

Options:

[conflict_target: :hash, on_conflict: #Ecto.Query<from t0 in Explorer.Chain.Transaction, where: fragment(
  "(EXCLUDED.block_hash, EXCLUDED.block_number, EXCLUDED.created_contract_address_hash, EXCLUDED.created_contract_code_indexed_at, EXCLUDED.cumulative_gas_used, EXCLUDED.from_address_hash, EXCLUDED.gas, EXCLUDED.gas_price, EXCLUDED.gas_used, EXCLUDED.index, EXCLUDED.input, EXCLUDED.nonce, EXCLUDED.r, EXCLUDED.s, EXCLUDED.status, EXCLUDED.to_address_hash, EXCLUDED.v, EXCLUDED.value, EXCLUDED.earliest_processing_start, EXCLUDED.revert_reason, EXCLUDED.max_priority_fee_per_gas, EXCLUDED.max_fee_per_gas, EXCLUDED.type) IS DISTINCT FROM (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)",
  t0.block_hash,
  t0.block_number,
  t0.created_contract_address_hash,
  t0.created_contract_code_indexed_at,
  t0.cumulative_gas_used,
  t0.from_address_hash,
  t0.gas,
  t0.gas_price,
  t0.gas_used,
  t0.index,
  t0.input,
  t0.nonce,
  t0.r,
  t0.s,
  t0.status,
  t0.to_address_hash,
  t0.v,
  t0.value,
  t0.earliest_processing_start,
  t0.revert_reason,
  t0.max_priority_fee_per_gas,
  t0.max_fee_per_gas,
  t0.type
), update: [
  set: [
    block_hash: fragment("EXCLUDED.block_hash"),
    old_block_hash: t0.block_hash,
    block_number: fragment("EXCLUDED.block_number"),
    created_contract_address_hash: fragment("EXCLUDED.created_contract_address_hash"),
    created_contract_code_indexed_at: fragment("EXCLUDED.created_contract_code_indexed_at"),
    cumulative_gas_used: fragment("EXCLUDED.cumulative_gas_used"),
    error: fragment("EXCLUDED.error"),
    from_address_hash: fragment("EXCLUDED.from_address_hash"),
    gas: fragment("EXCLUDED.gas"),
    gas_price: fragment("EXCLUDED.gas_price"),
    gas_used: fragment("EXCLUDED.gas_used"),
    index: fragment("EXCLUDED.index"),
    input: fragment("EXCLUDED.input"),
    nonce: fragment("EXCLUDED.nonce"),
    r: fragment("EXCLUDED.r"),
    s: fragment("EXCLUDED.s"),
    status: fragment("EXCLUDED.status"),
    to_address_hash: fragment("EXCLUDED.to_address_hash"),
    v: fragment("EXCLUDED.v"),
    value: fragment("EXCLUDED.value"),
    earliest_processing_start: fragment("EXCLUDED.earliest_processing_start"),
    revert_reason: fragment("EXCLUDED.revert_reason"),
    max_priority_fee_per_gas: fragment("EXCLUDED.max_priority_fee_per_gas"),
    max_fee_per_gas: fragment("EXCLUDED.max_fee_per_gas"),
    type: fragment("EXCLUDED.type"),
    inserted_at: fragment("LEAST(?, EXCLUDED.inserted_at)", t0.inserted_at),
    updated_at: fragment("GREATEST(?, EXCLUDED.updated_at)", t0.updated_at)
  ]
]>, returning: true, timeout: 60000, timestamps: %{inserted_at: ~U[2023-08-25 07:59:55.717479Z], updated_at: ~U[2023-08-25 07:59:55.717479Z]}]

Exception:

** (Postgrex.Error) ERROR 21000 (cardinality_violation) ON CONFLICT DO UPDATE command cannot affect row a second time

    hint: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
    (ecto_sql 3.10.1) lib/ecto/adapters/sql.ex:913: Ecto.Adapters.SQL.raise_sql_call_error/1
    (ecto_sql 3.10.1) lib/ecto/adapters/sql.ex:803: Ecto.Adapters.SQL.insert_all/9
    (ecto 3.10.3) lib/ecto/repo/schema.ex:59: Ecto.Repo.Schema.do_insert_all/7
    (explorer 5.2.1) lib/explorer/repo.ex:61: anonymous fn/5 in Explorer.Repo.safe_insert_all/3
    (elixir 1.14.0) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
    (explorer 5.2.1) lib/explorer/chain/import.ex:303: Explorer.Chain.Import.insert_changes_list/3
    (stdlib 4.0.1) timer.erl:235: :timer.tc/1
    (explorer 5.2.1) lib/explorer/prometheus/instrumenter.ex:17: Explorer.Prometheus.Instrumenter.block_import_stage_runner/4

2023-08-25T07:59:55.888 application=indexer fetcher=block_catchup first_block_number=1436540 last_block_number=1436531 [error] ** (Postgrex.Error) ERROR 21000 (cardinality_violation) ON CONFLICT DO UPDATE command cannot affect row a second time

    hint: Ensure that no rows proposed for insertion within the same command have duplicate constrained values.
    (ecto_sql 3.10.1) lib/ecto/adapters/sql.ex:913: Ecto.Adapters.SQL.raise_sql_call_error/1
    (ecto_sql 3.10.1) lib/ecto/adapters/sql.ex:803: Ecto.Adapters.SQL.insert_all/9
    (ecto 3.10.3) lib/ecto/repo/schema.ex:59: Ecto.Repo.Schema.do_insert_all/7
    (explorer 5.2.1) lib/explorer/repo.ex:61: anonymous fn/5 in Explorer.Repo.safe_insert_all/3
    (elixir 1.14.0) lib/enum.ex:2468: Enum."-reduce/3-lists^foldl/2-0-"/3
    (explorer 5.2.1) lib/explorer/chain/import.ex:303: Explorer.Chain.Import.insert_changes_list/3
    (stdlib 4.0.1) timer.erl:235: :timer.tc/1
    (explorer 5.2.1) lib/explorer/prometheus/instrumenter.ex:17: Explorer.Prometheus.Instrumenter.block_import_stage_runner/4

Retrying.

Any help is appreciated. Thanks!

vbaranov commented 2 months ago

@miguelmota we cannot reproduce the issue with the latest Blockscout release. Please update your instance.