Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update from blockscout to d03a0ca95b624b1bc223904bf31caf0ea112c36e #8

Draft
wants to merge 1,096 commits into
base: master
Choose a base branch
from
Draft
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
1096 commits
Select commit Hold shift + click to select a range
3d9b044
InventoryController token_id -> token_ids
Qwerty5Uiop Oct 31, 2022
8f31475
TransactionView token_id -> token_ids
Qwerty5Uiop Nov 1, 2022
e0939f9
TokenInstance fetcher token_id -> token_ids
Qwerty5Uiop Nov 1, 2022
1e41a03
Etherscan token_id -> token_ids
Qwerty5Uiop Nov 1, 2022
ee56422
GQL token_transfers token_id -> token_ids
Qwerty5Uiop Nov 2, 2022
f83d3e4
Global token transfers token_id -> token_ids
Qwerty5Uiop Nov 2, 2022
457e3ad
Update tests
Qwerty5Uiop Nov 2, 2022
0d3264d
Fix gettext
vbaranov Nov 3, 2022
9daf72e
Bump babel-loader from 9.0.1 to 9.1.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 3, 2022
269dfc9
Merge pull request #6393 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 4, 2022
f9dd208
Update logs.js
vbaranov Nov 4, 2022
590ce86
Apps embedded links
vbaranov Nov 4, 2022
36be168
Merge pull request #6397 from blockscout/vb-apps-internal-link
vbaranov Nov 4, 2022
357bcd5
Token id migration process
Qwerty5Uiop Nov 7, 2022
bfa4296
Docs + refactor
Qwerty5Uiop Nov 7, 2022
039be25
Fixes
Qwerty5Uiop Nov 7, 2022
82a5d06
Indexed ratio for int txs fetching stage
vbaranov Nov 7, 2022
1d31f73
Fix docker build and e2e tests workflows (#6387)
Sharafitdinova Nov 7, 2022
8e279b5
Merge pull request #6407 from blockscout/vb-calc-int-txs-indexing-ratio
vbaranov Nov 7, 2022
195236c
Fix double slash in the path
vbaranov Nov 8, 2022
aada604
Merge pull request #6409 from blockscout/vb-fix-network-path
vbaranov Nov 8, 2022
b300922
Bump sweetalert2 from 11.6.5 to 11.6.7 in /apps/block_scout_web/assets
dependabot[bot] Nov 8, 2022
24051a2
Bump eslint from 8.26.0 to 8.27.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 8, 2022
b0d43b8
Bump sass from 1.55.0 to 1.56.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 8, 2022
fd41584
Bump jest-environment-jsdom in /apps/block_scout_web/assets
dependabot[bot] Nov 8, 2022
a9ca693
Bump @babel/core from 7.19.6 to 7.20.2 in /apps/block_scout_web/assets
dependabot[bot] Nov 8, 2022
936706a
Bump loader-utils from 2.0.2 to 2.0.3 in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
5ef1438
Merge pull request #6417 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
9abcfd5
Move token_id migrator to Explorer application
Qwerty5Uiop Nov 9, 2022
d786d15
Fix LowestBlockNumberUpdater test
Qwerty5Uiop Nov 9, 2022
35d5e61
Update Changelog
Qwerty5Uiop Nov 9, 2022
04b877d
Merge pull request #6410 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
8b9eabe
Merge pull request #6411 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
d109e2e
Merge pull request #6412 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
4580eb4
Merge pull request #6413 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
92ad353
Merge pull request #6414 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
7ce1771
Bump @babel/preset-env in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
590a851
Bump jest from 29.2.2 to 29.3.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
9bb04ef
Fix token id migrator worker test
Qwerty5Uiop Nov 9, 2022
515224c
Merge pull request #6416 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
4f486fd
Merge pull request #6419 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
d63ea29
Fix search for address logs
nikitosing Nov 9, 2022
507c09e
Configure TokenTransferTokenIdMigration
Qwerty5Uiop Nov 9, 2022
f8b4fe8
Bump webpack from 5.74.0 to 5.75.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
0c8b98b
Bump jest-environment-jsdom in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
0692ba2
Bump floki from 0.33.1 to 0.34.0
dependabot[bot] Nov 9, 2022
0a7ca1b
Merge pull request #6421 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
7644b5d
Merge pull request #6423 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
87820d3
Merge pull request #6424 from blockscout/dependabot/hex/floki-0.34.0
vbaranov Nov 9, 2022
a942a7f
Bump sass from 1.56.0 to 1.56.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 9, 2022
4b9e04e
Merge pull request #6391 from blockscout/remove-token-transfers-token-id
vbaranov Nov 9, 2022
2a29799
Merge pull request #6422 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 9, 2022
642f1ac
Merge pull request #6420 from blockscout/np-fix-logs-query
vbaranov Nov 10, 2022
c64e084
Optimize unique token instances query (#6427)
Qwerty5Uiop Nov 10, 2022
fbae1b2
Bump web3 from 1.8.0 to 1.8.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 10, 2022
eeb6c10
Bump sweetalert2 from 11.6.7 to 11.6.8 in /apps/block_scout_web/assets
dependabot[bot] Nov 10, 2022
5a3fddc
Bump sass-loader from 13.1.0 to 13.2.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 10, 2022
e6f29fe
Fix double slash in the path
vbaranov Nov 10, 2022
334f607
Merge pull request #6428 from blockscout/vb-fix-doubled-slash
vbaranov Nov 10, 2022
cba01cf
Merge pull request #6430 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 10, 2022
50486e8
Merge pull request #6431 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 10, 2022
4f693e2
Merge pull request #6432 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 10, 2022
9859c67
Add support for base64 encoded NFT metadata
nikitosing Nov 12, 2022
323c78e
Drop internal transactions order index
Qwerty5Uiop Nov 14, 2022
6767b90
Update Changelog
Qwerty5Uiop Nov 14, 2022
40cd801
Merge pull request #6443 from blockscout/drop-internal-transactions-o…
vbaranov Nov 14, 2022
2af6578
Bump postcss from 8.4.18 to 8.4.19 in /apps/block_scout_web/assets
dependabot[bot] Nov 14, 2022
3ecf1af
Bump core-js from 3.26.0 to 3.26.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 14, 2022
52d6930
Search min_missing_block_number from zero
Qwerty5Uiop Nov 15, 2022
bdecca9
Merge pull request #6449 from blockscout/fix-min-missing-block-number
vbaranov Nov 15, 2022
c7d59d1
Update .tool-versions
vbaranov Nov 15, 2022
ea98af4
Merge pull request #6445 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 15, 2022
9bcf70d
Merge pull request #6446 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 15, 2022
bfd8e9d
Internal transaction fetcher envs
Qwerty5Uiop Nov 15, 2022
ecad83a
Merge pull request #6450 from blockscout/internal-transaction-fetcher…
vbaranov Nov 15, 2022
0a9d2c2
Bump @fortawesome/fontawesome-free in /apps/block_scout_web/assets
dependabot[bot] Nov 15, 2022
a032cae
Coin balances and tx receipts batch size and concurrency envs
Qwerty5Uiop Nov 16, 2022
a9f53f6
Merge pull request #6454 from blockscout/coin-balances-receipts-envs
vbaranov Nov 16, 2022
a6afb64
Merge pull request #6452 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 16, 2022
1ced663
Bump loader-utils from 2.0.3 to 2.0.4 in /apps/block_scout_web/assets
dependabot[bot] Nov 16, 2022
f500550
Merge pull request #6456 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 16, 2022
d401385
Merge pull request #6440 from blockscout/np-add-base64-metadata-support
vbaranov Nov 16, 2022
59ac291
Add support for yul verification via rust microservice
vbaranov Nov 16, 2022
e569d83
Delete unused and stale contract-read-write.js import
nikitosing Nov 14, 2022
9804a65
Bump chartjs-adapter-luxon in /apps/block_scout_web/assets
dependabot[bot] Nov 16, 2022
db04d88
Merge pull request #6462 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 16, 2022
af8ca29
Bump sweetalert2 from 11.6.8 to 11.6.9 in /apps/block_scout_web/assets
dependabot[bot] Nov 17, 2022
8c311e8
Bump chart.js from 3.9.1 to 4.0.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 17, 2022
cc2a075
Bump mini-css-extract-plugin in /apps/block_scout_web/assets
dependabot[bot] Nov 17, 2022
58d3a17
Bump webpack-cli from 4.10.0 to 5.0.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 17, 2022
7dec3a2
Merge pull request #6469 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 17, 2022
f1a0324
Merge pull request #6471 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 17, 2022
84c3d3d
Merge pull request #6470 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 18, 2022
6743603
Merge pull request #6472 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 18, 2022
9f44056
Fix token name with unicode graphemes shortening
sl1depengwyn Nov 18, 2022
02e57f1
Replace token balances multiple token_id indexes to a single one
Qwerty5Uiop Nov 18, 2022
dfcdb17
Update token balances import in order to new indexes
Qwerty5Uiop Nov 18, 2022
3cdc4e3
Merge pull request #6475 from blockscout/mf-fix-token-name-with-unico…
vbaranov Nov 18, 2022
75080c0
Merge pull request #6476 from blockscout/token-balances-indexes
vbaranov Nov 18, 2022
11220ed
Add gettext
nikitosing Nov 18, 2022
817ca1b
Merge pull request #6444 from blockscout/np-add-yul-verification-support
vbaranov Nov 18, 2022
f0e375b
Fix token balances migrations
Qwerty5Uiop Nov 21, 2022
d606b2f
Merge pull request #6484 from blockscout/fix-token-balances-migrations
vbaranov Nov 21, 2022
d501db5
Bump sweetalert2 from 11.6.9 to 11.6.10 in /apps/block_scout_web/assets
dependabot[bot] Nov 21, 2022
5b3a203
Bump eslint from 8.27.0 to 8.28.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 21, 2022
1e1b293
Bump ex_doc from 0.29.0 to 0.29.1
dependabot[bot] Nov 21, 2022
b5d3c17
Merge pull request #6487 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 22, 2022
84f2b3e
Merge pull request #6488 from blockscout/dependabot/hex/ex_doc-0.29.1
vbaranov Nov 22, 2022
a4b3b0d
Bump minimatch from 3.0.4 to 3.0.8 in /apps/block_scout_web/assets
dependabot[bot] Nov 22, 2022
d25ac4b
Bump ecto_sql from 3.9.0 to 3.9.1
dependabot[bot] Nov 22, 2022
0e0931e
Blockscout core API v2 (#6429)
nikitosing Nov 22, 2022
51ea51d
Merge pull request #6491 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 22, 2022
347c731
Remove token instance owner fetching
Qwerty5Uiop Nov 22, 2022
7652597
Merge pull request #6479 from blockscout/dependabot/hex/ecto_sql-3.9.1
vbaranov Nov 22, 2022
eb1d8df
Merge pull request #6486 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 22, 2022
8694076
Merge pull request #6492 from blockscout/disable-owner-fetch-for-1155
vbaranov Nov 22, 2022
039758f
Bump chartjs-adapter-luxon in /apps/block_scout_web/assets
dependabot[bot] Nov 23, 2022
0be1517
Bump sweetalert2 from 11.6.10 to 11.6.13 in /apps/block_scout_web/assets
dependabot[bot] Nov 23, 2022
cc4c19b
Fix state for contract creation transactions
sl1depengwyn Nov 17, 2022
d86a055
Merge pull request #6473 from blockscout/mf-fix-tx-state-for-contracts
vbaranov Nov 24, 2022
7e764fa
Merge pull request #6498 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 24, 2022
102d9a3
Remove caching for api v2 txs
nikitosing Nov 24, 2022
a164361
Changelog
nikitosing Nov 24, 2022
f13221f
Bump sweetalert2 from 11.6.13 to 11.6.14 in /apps/block_scout_web/assets
dependabot[bot] Nov 24, 2022
eb50efa
Bump highlight.js from 11.6.0 to 11.7.0 in /apps/block_scout_web/assets
dependabot[bot] Nov 24, 2022
febb5d0
Bump web3modal from 1.9.9 to 1.9.10 in /apps/block_scout_web/assets
dependabot[bot] Nov 24, 2022
aae90a3
Bump remote_ip from 1.0.0 to 1.1.0
dependabot[bot] Nov 24, 2022
b7efb7a
Merge pull request #6506 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 25, 2022
82c8ba4
Merge pull request #6505 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 25, 2022
5139148
Merge pull request #6504 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 25, 2022
6414a40
Merge pull request #6502 from blockscout/np-api-v2-txs-fix
vbaranov Nov 25, 2022
e9c5d0e
Merge pull request #6507 from blockscout/dependabot/hex/remote_ip-1.1.0
vbaranov Nov 25, 2022
f15ca8e
Merge pull request #6497 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 25, 2022
a91f35e
Set consensus: false for blocks on internal transaction foreign_key_v…
Qwerty5Uiop Nov 25, 2022
9bcdea8
Add visualuze sol2uml controller
sevenzing Nov 6, 2022
7957179
Mix format
sevenzing Nov 6, 2022
e69295e
Add image viewer
sevenzing Nov 7, 2022
d405a67
Fix image viewer bug
sevenzing Nov 8, 2022
6b01b2c
Add tooltip for image viewer
sevenzing Nov 8, 2022
5cddfa8
Add visualizer to changelog
sevenzing Nov 8, 2022
a5e7d1d
Fix nil filename bug
sevenzing Nov 11, 2022
078ee26
Move new badge for sol2uml button
sevenzing Nov 11, 2022
f518a24
Fix pr issues for sol2uml
sevenzing Nov 15, 2022
a9b6eca
Add async loading of contract visualization
sevenzing Nov 16, 2022
cce19f2
Add translation keys
sevenzing Nov 16, 2022
3e2e546
Fix sol2uml button layout
sevenzing Nov 23, 2022
131d03b
Fix pr issues
sevenzing Nov 24, 2022
1579071
Add sol2uml env vars to makefile and docker-compose envs
sevenzing Nov 24, 2022
ae8e38d
Fix mix credo
sevenzing Nov 24, 2022
3ad3ad4
Fix mix gettext
sevenzing Nov 24, 2022
772c06b
Log only uniq hashes
Qwerty5Uiop Nov 25, 2022
4b73d11
Add visualizer to docker-compose
sevenzing Nov 26, 2022
6a96959
Merge pull request #6401 from sevenzing/ll-sol2uml
vbaranov Nov 27, 2022
f354a1e
Split ordering cases for txs
nikitosing Nov 25, 2022
d40eee9
Add new indexes
nikitosing Nov 26, 2022
a63db41
Smart contract verification improvements (#6481)
nikitosing Nov 28, 2022
8fdc845
BS core API V2: /tokens, /main-page/indexing-status (#6515)
nikitosing Nov 28, 2022
708a6b0
Improve working with contracts implementations (#5561)
nikitosing Nov 28, 2022
5ec5ec9
Bump photoswipe from 5.3.3 to 5.3.4 in /apps/block_scout_web/assets
dependabot[bot] Nov 28, 2022
4acfd4a
Bump @babel/core from 7.20.2 to 7.20.5 in /apps/block_scout_web/assets
dependabot[bot] Nov 28, 2022
cc24731
Merge pull request #6519 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 29, 2022
e57c238
Merge pull request #6520 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 29, 2022
e3f9af2
Fix get_implementation_address_hash call
nikitosing Nov 29, 2022
5756d9a
Changelog
nikitosing Nov 29, 2022
1b621c7
Merge pull request #6523 from blockscout/np-fix-address-api-v2
vbaranov Nov 29, 2022
ae64af7
Change create to create_if_not_exists
nikitosing Nov 29, 2022
8a52fe6
Change order for pending txs
nikitosing Nov 29, 2022
82865bb
Change indexes
nikitosing Nov 29, 2022
0b93344
Bump mini-css-extract-plugin in /apps/block_scout_web/assets
dependabot[bot] Nov 29, 2022
c46e6b7
Bump luxon from 3.1.0 to 3.1.1 in /apps/block_scout_web/assets
dependabot[bot] Nov 29, 2022
9c1f5ef
Merge pull request #6527 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 30, 2022
182b90e
Merge pull request #6526 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 30, 2022
d8a04f5
Fix index creation migration
nikitosing Nov 30, 2022
00f6643
Merge pull request #6532 from blockscout/np-fix-migration
vbaranov Nov 30, 2022
2dc277e
Cast pagination on address to one order_by set
nikitosing Nov 29, 2022
11c683f
Bump postcss-loader from 7.0.1 to 7.0.2 in /apps/block_scout_web/assets
dependabot[bot] Nov 30, 2022
0a0cca0
Bump sweetalert2 from 11.6.14 to 11.6.15 in /apps/block_scout_web/assets
dependabot[bot] Nov 30, 2022
d132ff3
Merge pull request #6533 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 30, 2022
659a8a1
Merge pull request #6534 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Nov 30, 2022
e3b3468
Merge pull request #6511 from blockscout/np-fix-api-2-txs-1
vbaranov Nov 30, 2022
340a76d
Allow gasUsed in failed internal txs; Leave error field for staticcall
nikitosing Nov 25, 2022
15e55aa
Merge pull request #6512 from blockscout/np-fix-geth-internal-txs
vbaranov Dec 1, 2022
f206f9a
Fix internal transactions query
Qwerty5Uiop Dec 1, 2022
f8118fc
Added internal transactions paging test
Qwerty5Uiop Dec 1, 2022
3381487
Update Changelog
Qwerty5Uiop Dec 1, 2022
f78bbbe
Merge pull request #6536 from blockscout/fix-internal-transactions-query
vbaranov Dec 2, 2022
1474b57
Bump decode-uri-component in /apps/block_scout_web/assets
dependabot[bot] Dec 2, 2022
bc717d0
Merge pull request #6539 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 2, 2022
779f89f
Add SESSION_COOKIE_DOMAIN env
nikitosing Dec 3, 2022
5b30b3c
Add address struct as in API v2 to account API
nikitosing Dec 3, 2022
a5bd6b8
Add restricted access check to API v2
nikitosing Dec 4, 2022
ff6914b
Add restricted access check to account's watchlist
nikitosing Dec 4, 2022
3a48057
Add path parameter to callback path
nikitosing Dec 4, 2022
abf44ec
Add path parameter validation
nikitosing Dec 4, 2022
bf83d78
Merge pull request #6544 from blockscout/np-api-improvements
vbaranov Dec 5, 2022
9d1dbf8
Query token transfers before updating
Qwerty5Uiop Dec 5, 2022
9df316a
Merge pull request #6550 from blockscout/fix-token-id-migrator
vbaranov Dec 5, 2022
2138191
Fix bug with proxy for twins
nikitosing Dec 5, 2022
373527d
Add regression test
nikitosing Dec 5, 2022
8167d6e
Merge pull request #6549 from blockscout/np-fix-proxy-bug
vbaranov Dec 5, 2022
d401cef
Merge pull request #6510 from blockscout/reindex-block-on-int-transac…
vbaranov Dec 6, 2022
da9433d
Bump bignumber.js from 9.1.0 to 9.1.1 in /apps/block_scout_web/assets
dependabot[bot] Dec 6, 2022
ea27fb2
Bump mini-css-extract-plugin in /apps/block_scout_web/assets
dependabot[bot] Dec 6, 2022
c64a85f
Bump webpack-cli from 5.0.0 to 5.0.1 in /apps/block_scout_web/assets
dependabot[bot] Dec 6, 2022
c7d1b4c
Bump eslint from 8.28.0 to 8.29.0 in /apps/block_scout_web/assets
dependabot[bot] Dec 6, 2022
1725bd1
Merge pull request #6555 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 6, 2022
c0d718a
Merge pull request #6557 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 6, 2022
dee33bf
Merge pull request #6558 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 6, 2022
b6a199c
Merge pull request #6556 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 6, 2022
ea37b59
Bump qs from 6.5.2 to 6.5.3 in /apps/block_scout_web/assets
dependabot[bot] Dec 6, 2022
20de79e
Merge pull request #6562 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 6, 2022
57cacdc
Update 404 and 422 error pages
sl1depengwyn Nov 9, 2022
9119295
Add 500 error page
sl1depengwyn Nov 9, 2022
b1371c8
Replace invalid tx hash page with 422 page
sl1depengwyn Nov 9, 2022
ce44069
Add 503 page
sl1depengwyn Nov 10, 2022
d99287c
Set restart: :permanent for permanent fetchers
Qwerty5Uiop Dec 8, 2022
b5a8807
Merge pull request #6565 from blockscout/internal-transaction-fetcher…
vbaranov Dec 8, 2022
766488b
Update tx not found page
sl1depengwyn Dec 7, 2022
78a2cf1
Merge pull request #6433 from blockscout/mf-update-error-pages
vbaranov Dec 8, 2022
f2c4c74
Drop unfetched_token_balances index
Qwerty5Uiop Dec 9, 2022
9fac7f9
Merge pull request #6568 from blockscout/drop-unfetched-token-balance…
vbaranov Dec 9, 2022
5b24c8c
Allow and manage insecure HTTP connection to the archive node
vbaranov Dec 12, 2022
4404fc4
Merge pull request #6574 from blockscout/vb-insecure-http-con
vbaranov Dec 12, 2022
a3b5493
pending_block_operations table: remove fetch_internal_transactions co…
vbaranov Dec 12, 2022
fa8654b
Merge pull request #6572 from blockscout/pending_block_operations_rem…
vbaranov Dec 12, 2022
accc6f3
Bump postcss from 8.4.19 to 8.4.20 in /apps/block_scout_web/assets
dependabot[bot] Dec 12, 2022
eb51dc3
Bump sass from 1.56.1 to 1.56.2 in /apps/block_scout_web/assets
dependabot[bot] Dec 12, 2022
42827f6
Merge pull request #6577 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 12, 2022
e5a39bb
Merge pull request #6578 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 12, 2022
287a323
Merge remote-tracking branch 'blockscout/master' into feat/update-fro…
fyInALT Dec 13, 2022
c8782da
Add recent dependabot bumps to the CHANGELOG
vbaranov Dec 13, 2022
3aac98e
Dark mode switcher localStorage to cookie in order to support new UI
vbaranov Dec 13, 2022
b1e7258
Merge pull request #6581 from blockscout/vb-dark-mode-switcher-change…
vbaranov Dec 13, 2022
b50239f
Vacuum package-lock.json
vbaranov Dec 13, 2022
9977536
Merge pull request #6584 from blockscout/vb-vacuum-package-lock
vbaranov Dec 13, 2022
2b5d297
Bump jquery from 3.6.1 to 3.6.2 in /apps/block_scout_web/assets
dependabot[bot] Dec 13, 2022
d03a0ca
Merge pull request #6585 from blockscout/dependabot/npm_and_yarn/apps…
vbaranov Dec 13, 2022
e3640b0
fix some errors
fyInALT Dec 14, 2022
334ebdd
Merge remote-tracking branch 'blockscout/master' into feat/update-fro…
fyInALT Dec 14, 2022
ba0b193
fix chat msg
fyInALT Dec 14, 2022
c151f9e
fix tx count error
fyInALT Dec 14, 2022
f8e2019
some change from moonbeam
fyInALT Dec 14, 2022
a0378ed
return the env for docker
fyInALT Dec 14, 2022
33544c7
fix some errors
fyInALT Dec 14, 2022
483efe5
fix tx count error
fyInALT Dec 14, 2022
3fb5f21
some change from moonbeam
fyInALT Dec 14, 2022
83b5824
Merge branch 'feat/fix-bugs' into feat/update-from-blockscout
fyInALT Dec 14, 2022
d0a443a
fix ci
fyInALT Dec 20, 2022
a7d8a62
update gettext
fyInALT Dec 20, 2022
231cbe3
update gettest
fyInALT Dec 20, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Token id migration process
  • Loading branch information
Qwerty5Uiop committed Nov 7, 2022
commit 357bcd5f04b819565d7315d10aa7b8d974f18d13
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
defmodule Explorer.Utility.TokenTransferTokenIdMigratorProgress do
use Explorer.Schema

require Logger

alias Explorer.Chain.Cache.BlockNumber
alias Explorer.Repo

schema "token_transfer_token_id_migrator_progress" do
field(:last_processed_block_number, :integer)

timestamps()
end

@doc false
def changeset(progress \\ %__MODULE__{}, params) do
cast(progress, params, [:last_processed_block_number])
end

def get_current_progress do
from(
p in __MODULE__,
order_by: [desc: p.updated_at],
limit: 1
)
|> Repo.one()
end

def get_last_processed_block_number do
case get_current_progress() do
nil ->
latest_processed_block_number = BlockNumber.get_max() + 1
update_last_processed_block_number(latest_processed_block_number)
latest_processed_block_number

%{last_processed_block_number: block_number} ->
block_number
end
end

def update_last_processed_block_number(block_number) do
case get_current_progress() do
nil ->
%{last_processed_block_number: block_number}
|> changeset()
|> Repo.insert()

progress ->
if progress.last_processed_block_number < block_number do
Logger.error(
"TokenTransferTokenIdMigratorProgress new block_number is above the last one. Last: #{progress.last_processed_block_number}, new: #{block_number}"
)

{:error, :invalid_block_number}
else
progress
|> changeset(%{last_processed_block_number: block_number})
|> Repo.update()
end
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
defmodule Explorer.Repo.Account.Migrations.CreateTokenTransferTokenIdMigratorProgress do
use Ecto.Migration

def change do
create table(:token_transfer_token_id_migrator_progress) do
add(:last_processed_block_number, :integer)

timestamps()
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
defmodule Explorer.Repo.Migrations.CreateTokenTransferTokenIdMigratorProgress do
use Ecto.Migration

def change do
create table(:token_transfer_token_id_migrator_progress) do
add(:last_processed_block_number, :integer)

timestamps()
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
defmodule Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdater do
use GenServer

alias Explorer.Utility.TokenTransferTokenIdMigratorProgress

def start_link(_) do
GenServer.start_link(__MODULE__, :ok, name: __MODULE__)
end

@impl true
def init(_) do
last_processed_block_number = TokenTransferTokenIdMigratorProgress.get_last_processed_block_number()

{:ok, %{last_processed_block_number: last_processed_block_number, processed_ranges: []}}
end

def add_range(from, to) do
GenServer.cast(__MODULE__, {:add_range, from..to})
end

@impl true
def handle_cast({:add_range, range}, %{processed_ranges: processed_ranges} = state) do
ranges =
[range | processed_ranges]
|> Enum.sort_by(& &1.last, &>=/2)
|> normalize_ranges()

{new_last_number, new_ranges} = maybe_update_last_processed_number(state.last_processed_block_number, ranges)

{:noreply, %{last_processed_block_number: new_last_number, processed_ranges: new_ranges}}
end

defp normalize_ranges(ranges) do
%{prev_range: prev, result: result} =
Enum.reduce(ranges, %{prev_range: nil, result: []}, fn range, %{prev_range: prev_range, result: result} ->
case {prev_range, range} do
{nil, _} ->
%{prev_range: range, result: result}

{%{first: f1, last: l1} = r1, %{first: f2, last: l2} = r2} ->
if l1 - 1 <= f2 do
%{prev_range: f1..l2, result: result}
else
%{prev_range: r2, result: result ++ [r1]}
end
end
end)

result ++ [prev]
end

# since ranges are normalized, we need to check only the first range to determine the new last_processed_number
defp maybe_update_last_processed_number(current_last, [from..to | rest] = ranges) when current_last - 1 <= from do
case TokenTransferTokenIdMigratorProgress.update_last_processed_block_number(to) do
{:ok, _} -> {to, rest}
_ -> {current_last, ranges}
end
end

defp maybe_update_last_processed_number(current_last, ranges), do: {current_last, ranges}
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
defmodule Indexer.Fetcher.TokenTransferTokenIdMigration.Supervisor do
use Supervisor

alias Explorer.Utility.TokenTransferTokenIdMigratorProgress
alias Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdater
alias Indexer.Fetcher.TokenTransferTokenIdMigration.Worker

@default_first_block 0
@default_workers_count 1

def start_link(_) do
Supervisor.start_link(__MODULE__, :ok, name: __MODULE__)
end

@impl true
def init(_) do
first_block = Application.get_env(:indexer, :token_id_migration)[:first_block] || @default_first_block
last_block = TokenTransferTokenIdMigratorProgress.get_last_processed_block_number()

if last_block > first_block do
workers_count = Application.get_env(:indexer, :token_id_migration)[:concurrency] || @default_workers_count

workers =
Enum.map(1..workers_count, fn id ->
worker_name = build_worker_name(id)

Supervisor.child_spec(
{Worker,
idx: id, first_block: first_block, last_block: last_block, step: workers_count - 1, name: worker_name},
id: worker_name,
restart: :transient
)
end)

Supervisor.init([LowestBlockNumberUpdater | workers], strategy: :one_for_one)
else
:ignore
end
end

defp build_worker_name(worker_id), do: :"#{Worker}_#{worker_id}"
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
defmodule Indexer.Fetcher.TokenTransferTokenIdMigration.Worker do
use GenServer

import Ecto.Query

alias Explorer.Chain.TokenTransfer
alias Explorer.Repo
alias Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdater

@default_batch_size 500
@interval 10

def start_link(idx: idx, first_block: first, last_block: last, step: step, name: name) do
GenServer.start_link(__MODULE__, %{idx: idx, bottom_block: first, last_block: last, step: step}, name: name)
end

@impl true
def init(%{idx: idx, bottom_block: bottom_block, last_block: last_block, step: step}) do
batch_size = Application.get_env(:indexer, :token_id_migration)[:batch_size] || @default_batch_size
range = calculate_new_range(last_block, bottom_block, batch_size, idx - 1)

schedule_next_update()

{:ok, %{batch_size: batch_size, bottom_block: bottom_block, step: step, current_range: range}}
end

@impl true
def handle_info(:update, %{current_range: :out_of_bound} = state) do
{:stop, :normal, state}
end

@impl true
def handle_info(:update, %{current_range: {lower_bound, upper_bound}} = state) do
case do_update(lower_bound, upper_bound) do
{_total, _result} ->
LowestBlockNumberUpdater.add_range(upper_bound, lower_bound)
new_range = calculate_new_range(lower_bound, state.bottom_block, state.batch_size, state.step)
schedule_next_update()
{:noreply, %{state | current_range: new_range}}

_ ->
schedule_next_update()
{:noreply, state}
end
end

defp calculate_new_range(last_processed_block, bottom_block, batch_size, step) do
upper_bound = last_processed_block - step * batch_size - 1
lower_bound = max(upper_bound - batch_size + 1, bottom_block)

if upper_bound >= bottom_block do
{lower_bound, upper_bound}
else
:out_of_bound
end
end

defp do_update(lower_bound, upper_bound) do
query =
from(
tt in TokenTransfer,
where: tt.block_number >= ^lower_bound,
where: tt.block_number <= ^upper_bound,
where: not is_nil(tt.token_id),
update: [
set: [
token_ids: fragment("ARRAY_APPEND(ARRAY[]::decimal[], ?)", tt.token_id),
token_id: nil
]
]
)

Repo.update_all(query, [], timeout: :infinity)
end

defp schedule_next_update do
Process.send_after(self(), :update, @interval)
end
end
4 changes: 3 additions & 1 deletion apps/indexer/lib/indexer/supervisor.ex
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,7 @@ defmodule Indexer.Supervisor do
TokenBalance,
TokenInstance,
TokenTotalSupplyOnDemand,
TokenTransferTokenIdMigration,
TokenUpdater,
UncleBlock
}
Expand Down Expand Up @@ -139,7 +140,8 @@ defmodule Indexer.Supervisor do
[[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]},
{BlocksTransactionsMismatch.Supervisor,
[[json_rpc_named_arguments: json_rpc_named_arguments, memory_monitor: memory_monitor]]},
{PendingOpsCleaner, [[], []]}
{PendingOpsCleaner, [[], []]},
{TokenTransferTokenIdMigration.Supervisor, [[]]}
]
|> List.flatten()

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
defmodule Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdaterTest do
use Explorer.DataCase

alias Explorer.Repo
alias Explorer.Utility.TokenTransferTokenIdMigratorProgress
alias Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdater

describe "Add range and update last processed block number" do
test "add_range/2" do
TokenTransferTokenIdMigratorProgress.update_last_processed_block_number(2000)
LowestBlockNumberUpdater.start_link([])

LowestBlockNumberUpdater.add_range(1000, 500)
LowestBlockNumberUpdater.add_range(1500, 1001)
Process.sleep(10)

assert %{last_processed_block_number: 2000, processed_ranges: [1500..500//-1]} =
:sys.get_state(LowestBlockNumberUpdater)

assert %{last_processed_block_number: 2000} = Repo.one(TokenTransferTokenIdMigratorProgress)

LowestBlockNumberUpdater.add_range(499, 300)
LowestBlockNumberUpdater.add_range(299, 0)
Process.sleep(10)

assert %{last_processed_block_number: 2000, processed_ranges: [1500..0//-1]} =
:sys.get_state(LowestBlockNumberUpdater)

assert %{last_processed_block_number: 2000} = Repo.one(TokenTransferTokenIdMigratorProgress)

LowestBlockNumberUpdater.add_range(1999, 1501)
Process.sleep(10)
assert %{last_processed_block_number: 0, processed_ranges: []} = :sys.get_state(LowestBlockNumberUpdater)
assert %{last_processed_block_number: 0} = Repo.one(TokenTransferTokenIdMigratorProgress)
end
end
end
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
defmodule Indexer.Fetcher.TokenTransferTokenIdMigration.WorkerTest do
use Explorer.DataCase

alias Explorer.Repo
alias Indexer.Fetcher.TokenTransferTokenIdMigration.Worker
alias Explorer.Utility.TokenTransferTokenIdMigratorProgress
alias Indexer.Fetcher.TokenTransferTokenIdMigration.LowestBlockNumberUpdater

describe "Move TokenTransfer token_id to token_ids" do
test "Move token_ids and update last processed block number" do
insert(:token_transfer, block_number: 1, token_id: 1, transaction: insert(:transaction))
insert(:token_transfer, block_number: 500, token_id: 2, transaction: insert(:transaction))
insert(:token_transfer, block_number: 1000, token_id: 3, transaction: insert(:transaction))
insert(:token_transfer, block_number: 1500, token_id: 4, transaction: insert(:transaction))
insert(:token_transfer, block_number: 2000, token_id: 5, transaction: insert(:transaction))

TokenTransferTokenIdMigratorProgress.update_last_processed_block_number(3000)
LowestBlockNumberUpdater.start_link([])

Worker.start_link(idx: 1, first_block: 0, last_block: 3000, step: 0, name: :worker_name)
Process.sleep(200)

token_transfers = Repo.all(Explorer.Chain.TokenTransfer)
assert Enum.all?(token_transfers, fn tt -> is_nil(tt.token_id) end)

expected_token_ids = [[Decimal.new(1)], [Decimal.new(2)], [Decimal.new(3)], [Decimal.new(4)], [Decimal.new(5)]]
assert ^expected_token_ids = token_transfers |> Enum.map(& &1.token_ids) |> Enum.sort_by(&List.first/1)
end
end
end
9 changes: 9 additions & 0 deletions config/runtime.exs
Original file line number Diff line number Diff line change
Expand Up @@ -458,6 +458,15 @@ config :indexer, Indexer.Block.Catchup.Fetcher,
batch_size: blocks_catchup_fetcher_batch_size,
concurrency: blocks_catchup_fetcher_concurrency

{token_id_migration_first_block, _} = Integer.parse(System.get_env("TOKEN_ID_MIGRATION_FIRST_BLOCK", "0"))
{token_id_migration_concurrency, _} = Integer.parse(System.get_env("TOKEN_ID_MIGRATION_CONCURRENCY", "1"))
{token_id_migration_batch_size, _} = Integer.parse(System.get_env("TOKEN_ID_MIGRATION_BATCH_SIZE", "500"))

config :indexer, :token_id_migration,
first_block: token_id_migration_first_block,
concurrency: token_id_migration_concurrency,
batch_size: token_id_migration_batch_size

Code.require_file("#{config_env()}.exs", "config/runtime")

for config <- "../apps/*/config/runtime/#{config_env()}.exs" |> Path.expand(__DIR__) |> Path.wildcard() do
Expand Down
3 changes: 3 additions & 0 deletions docker-compose/envs/common-blockscout.env
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,9 @@ INDEXER_DISABLE_PENDING_TRANSACTIONS_FETCHER=false
INDEXER_DISABLE_INTERNAL_TRANSACTIONS_FETCHER=false
# INDEXER_CATCHUP_BLOCKS_BATCH_SIZE=
# INDEXER_CATCHUP_BLOCKS_CONCURRENCY=
# TOKEN_ID_MIGRATION_FIRST_BLOCK=
# TOKEN_ID_MIGRATION_CONCURRENCY=
# TOKEN_ID_MIGRATION_BATCH_SIZE=
# WEBAPP_URL=
# API_URL=
WOBSERVER_ENABLED=false
Expand Down