Skip to content

Commit eeef810

Browse files
Fixed loading ABIs from the project with no ABI datasources configured (#1251)
1 parent 441a57d commit eeef810

File tree

8 files changed

+241
-251
lines changed

8 files changed

+241
-251
lines changed

CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ Releases prior to 7.0 has been removed from this file to declutter search result
1010

1111
### Fixed
1212

13+
- codegen: Fixed loading ABIs from the project with no ABI datasources configured.
1314
- project: Fixed `make image` command and default workdir.
1415

1516
## [8.3.3] - 2025-04-29

docs/9.release-notes/_8.0_changelog.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
- cli: Fixed progress estimation when there are indexes with `last_level` option set.
3131
- cli: Import some dependencies on demand to reduce memory footprint.
3232
- cli: Improved logging of indexer status.
33+
- codegen: Fixed loading ABIs from the project with no ABI datasources configured.
3334
- config: Allow `sentry.dsn` to be empty string.
3435
- config: Fixed (de)serialization of hex strings in config.
3536
- config: Fixed setting logging levels according to the config.
@@ -44,6 +45,7 @@
4445
- package: Create package in-place if cwd equals package name.
4546
- performance: Add index name to fetcher and realtime queues.
4647
- performance: Fixed estimation indexing speed in levels per second.
48+
- project: Fixed `make image` command and default workdir.
4749
- starknet.events: Fixed filtering events by key.
4850
- subsquid: Fixed missing entry in `dipdup_head` internal table.
4951
- tezos.big_maps: Fixed logging status message in `skip_history` mode.

requirements.txt

Lines changed: 78 additions & 75 deletions
Original file line numberDiff line numberDiff line change
@@ -78,22 +78,22 @@ attrs==25.3.0 \
7878
base58==2.1.1 \
7979
--hash=sha256:11a36f4d3ce51dfc1043f3218591ac4eb1ceb172919cebe05b52a5bcc8d245c2 \
8080
--hash=sha256:c5d0cb3f5b6e81e8e35da5754388ddcc6d0d14b6c6a132cb93d69ed580a7278c
81-
bitarray==3.3.1 \
82-
--hash=sha256:0580b905ad589e3be52d36fbc83d32f6e3f6a63751d6c0da0ca328c32d037790 \
83-
--hash=sha256:14f04e4eec65891523a8ca3bf9e1dcdefed52d695f40c4e50d5980471ffd22a4 \
84-
--hash=sha256:42376c9e0a1357acc8830c4c0267e1c30ebd04b2d822af702044962a9f30b795 \
85-
--hash=sha256:4bb2fa914a7bbcd7c6a457d44461a8540b9450e9bb4163d734eb74bffba90e69 \
86-
--hash=sha256:50da5ecd86ee25df9f658d8724efbe8060de97217fb12a1163bee61d42946d83 \
87-
--hash=sha256:673a21ebb6c72904d7de58fe8c557bad614fce773f21ddc86bcf8dd09a387a32 \
88-
--hash=sha256:8627fc0c9806d6dac2fb422d9cd650b0d225f498601381d334685b9f071b793c \
89-
--hash=sha256:8c89219a672d0a15ab70f8a6f41bc8355296ec26becef89a127c1a32bb2e6345 \
90-
--hash=sha256:946e97712014784c3257e4ca45cf5071ffdbbebe83977d429e8f7329d0e2387f \
91-
--hash=sha256:99ea63932e86b08e36d6246ff8f663728a5baefa7e9a0e2f682864fe13297514 \
92-
--hash=sha256:b77a03aba84bf2d2c8f2d5a81af5957da42324d9f701d584236dc735b6a191f8 \
93-
--hash=sha256:dc6407e899fc3148d796fc4c3b0cec78153f034c5ff9baa6ae9c91d7ea05fb45 \
94-
--hash=sha256:dd0ba0cc46b9a7d5cee4c4a9733dce2f0aa21caf04fe18d18d2025a4211adc18 \
95-
--hash=sha256:e9b18889a809d8f190e09dd6ee513983e1cdc04c3f23395d237ccf699dce5eaf \
96-
--hash=sha256:f4e2fc0f6a573979462786edbf233fc9e1b644b4e790e8c29796f96bbe45353a
81+
bitarray==3.3.2 \
82+
--hash=sha256:05a4529d4cf17493b33cfea0d8923cba640e048962e9ea10ba0a4d312fedc6b8 \
83+
--hash=sha256:2916a52ce97a80926f7bbc6170ac5b8a15f61fa560be5083fe12e0feb2c66ae1 \
84+
--hash=sha256:2b0817dc6954d716468d30db82546285b3a89774698d518db581d886bf8cbf65 \
85+
--hash=sha256:46e60a4fb5ce262032d4a01e68ccc4a07bfb82434fba3743d29a658e44cddeae \
86+
--hash=sha256:57d61ab68631fab95777772a40c1a315dc018e84acc8b5043c588aaff07b1b9f \
87+
--hash=sha256:5d35a57c6656475d5fbac60103af41b336018cf5e69ff7b8dcbd7c203ca62db8 \
88+
--hash=sha256:5ecc01600beff9cec9711da18e15a783d96a0f0fccf66f131b231ed0d9c0c556 \
89+
--hash=sha256:63971b6a68bf313f0091dba13ff65d037279a5c4cbb63382e4b0f6d3c8550368 \
90+
--hash=sha256:6801402e5dc0acf5d0f541d2cefa3dcf26559d5707d600b0d6a8bfbd765ac033 \
91+
--hash=sha256:70e9228830b3fcfffb18719aa78e0b8f3d724db300fb9009fc24b6f66969823e \
92+
--hash=sha256:88136ae424ce92052bc6774001fc455b9d76a509c7a44bb933004b23b02ceecf \
93+
--hash=sha256:b0139e8c8e5ac269308ebaf55c67d1f32226815c90905c890fafbd1ce70925cc \
94+
--hash=sha256:c30333686e54dbea97d2425710eafff4e24c5b432e192cb33c66235487c6ac3d \
95+
--hash=sha256:d21b8a74b765435588688d0514776402acc17032827056bea9995f43d9150ea2 \
96+
--hash=sha256:e91ddcdf4075de26234ae74b60cdd39e170e3e4fafa1c593ecc28749e9b165e2
9797
black==25.1.0 \
9898
--hash=sha256:1e2978f6df243b155ef5fa7e558a43037c3079093ed5d10fd84c43900f2d8ecc \
9999
--hash=sha256:33496d5cd1222ad73391352b4ae8da15253c5de89b93a80b3e2c8d9a19ec2666 \
@@ -104,22 +104,22 @@ black==25.1.0 \
104104
certifi==2025.4.26 \
105105
--hash=sha256:0a816057ea3cdefcef70270d2c515e4506bbc954f417fa5ade2021213bb8f0c6 \
106106
--hash=sha256:30350364dfe371162649852c63336a15c70c6510c2ad5015b21c2345311805f3
107-
charset-normalizer==3.4.1 \
108-
--hash=sha256:0f55e69f030f7163dffe9fd0752b32f070566451afe180f99dbeeb81f511ad8d \
109-
--hash=sha256:2369eea1ee4a7610a860d88f268eb39b95cb588acd7235e02fd5a5601773d4fa \
110-
--hash=sha256:44251f18cd68a75b56585dd00dae26183e102cd5e0f9f1466e6df5da2ed64ea3 \
111-
--hash=sha256:5df196eb874dae23dcfb968c83d4f8fdccb333330fe1fc278ac5ceeb101003a9 \
112-
--hash=sha256:6ff8a4a60c227ad87030d76e99cd1698345d4491638dfa6673027c48b3cd395f \
113-
--hash=sha256:73d94b58ec7fecbc7366247d3b0b10a21681004153238750bb67bd9012414545 \
114-
--hash=sha256:804a4d582ba6e5b747c625bf1255e6b1507465494a40a2130978bda7b932c90b \
115-
--hash=sha256:9b23ca7ef998bc739bf6ffc077c2116917eabcc901f88da1b9856b210ef63f35 \
116-
--hash=sha256:bc2722592d8998c870fa4e290c2eec2c1569b87fe58618e67d38b4665dfa680d \
117-
--hash=sha256:c30197aa96e8eed02200a83fba2657b4c3acd0f0aa4bdc9f6c1af8e8962e0757 \
118-
--hash=sha256:c4c3e6da02df6fa1410a7680bd3f63d4f710232d3139089536310d027950696a \
119-
--hash=sha256:d98b1668f06378c6dbefec3b92299716b931cd4e6061f3c875a71ced1780ab85 \
120-
--hash=sha256:dad3e487649f498dd991eeb901125411559b22e8d7ab25d3aeb1af367df5efd7 \
121-
--hash=sha256:e358e64305fe12299a08e08978f51fc21fac060dcfcddd95453eabe5b93ed0e1 \
122-
--hash=sha256:ffc9202a29ab3920fa812879e95a9e78b2465fd10be7fcbd042899695d75e616
107+
charset-normalizer==3.4.2 \
108+
--hash=sha256:0c29de6a1a95f24b9a1aa7aefd27d2487263f00dfd55a77719b530788f75cff7 \
109+
--hash=sha256:4e594135de17ab3866138f496755f302b72157d115086d100c3f19370839dd3a \
110+
--hash=sha256:5a9979887252a82fefd3d3ed2a8e3b937a7a809f65dcb1e068b090e165bbe99e \
111+
--hash=sha256:5baececa9ecba31eff645232d59845c07aa030f0c81ee70184a90d35099a0e63 \
112+
--hash=sha256:7222ffd5e4de8e57e03ce2cef95a4c43c98fcb72ad86909abdfc2c17d227fc1b \
113+
--hash=sha256:7f56930ab0abd1c45cd15be65cc741c28b1c9a34876ce8c17a2fa107810c0af0 \
114+
--hash=sha256:a370b3e078e418187da8c3674eddb9d983ec09445c99a3a263c2011993522981 \
115+
--hash=sha256:a955b438e62efdf7e0b7b52a64dc5c3396e2634baa62471768a64bc2adb73d5c \
116+
--hash=sha256:bee093bf902e1d8fc0ac143c88902c3dfc8941f7ea1d6a8dd2bcb786d33db03d \
117+
--hash=sha256:cddf7bd982eaa998934a91f69d182aec997c6c468898efe6679af88283b498d3 \
118+
--hash=sha256:cf713fe9a71ef6fd5adf7a79670135081cd4431c2943864757f0fa3a65b1fafd \
119+
--hash=sha256:d41c4d287cfc69060fa91cae9683eacffad989f1a10811995fa309df656ec214 \
120+
--hash=sha256:db4c7bf0e07fc3b7d89ac2a5880a6a8062056801b83ff56d8464b70f65482b6c \
121+
--hash=sha256:dedb8adb91d11846ee08bec4c8236c8549ac721c245678282dcb06b221aab59f \
122+
--hash=sha256:fcbe676a55d7445b22c10967bceaaf0ee69407fbe0ece4d032b6eb8d4565982a
123123
ckzg==2.1.1 \
124124
--hash=sha256:025dd31ffdcc799f3ff842570a2a6683b6c5b01567da0109c0c05d11768729c4 \
125125
--hash=sha256:1be3890fc1543f4fcfc0063e4baf5c036eb14bcf736dabdc6171ab017e0f1671 \
@@ -293,9 +293,9 @@ marshmallow-dataclass==8.7.1 \
293293
marshmallow-oneofschema==3.1.1 \
294294
--hash=sha256:68b4a57d0281a04ac25d4eb7a4c5865a57090a0a8fd30fd6362c8e833ac6a6d9 \
295295
--hash=sha256:ff4cb2a488785ee8edd521a765682c2c80c78b9dc48894124531bdfa1ec9303b
296-
mcp==1.6.0 \
297-
--hash=sha256:7bd24c6ea042dbec44c754f100984d186620d8b841ec30f1b19eda9b93a634d0 \
298-
--hash=sha256:d9324876de2c5637369f43161cd71eebfd803df5a95e46225cab8d280e366723
296+
mcp==1.7.1 \
297+
--hash=sha256:eb4f1f53bd717f75dda8a1416e00804b831a8f3c331e23447a03b78f04b43a6e \
298+
--hash=sha256:f7e6108977db6d03418495426c7ace085ba2341b75197f8727f96f9cfd30057a
299299
more-itertools==10.7.0 \
300300
--hash=sha256:9fddd5403be01a94b204faadcff459ec3568cf110265d3c54323e1e866ad29d3 \
301301
--hash=sha256:d43980384673cb07d2f7d2d918c616b30c659c089ee23953f601d6609c67510e
@@ -338,23 +338,23 @@ multidict==6.4.3 \
338338
mypy-extensions==1.1.0 \
339339
--hash=sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505 \
340340
--hash=sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558
341-
orjson==3.10.17 \
342-
--hash=sha256:28eeae6a15243966962b658dfcf7bae9e7bb1f3260dfcf0370dbd41f5ff6058b \
343-
--hash=sha256:37595318ac4ffb7d75b8d025b48ebe9203243bceb216a3b648d91c806163de35 \
344-
--hash=sha256:53fdb906f7a22b9e6ece0b1bc5b5d7cccfb753646907c35383ecf6237b16d42a \
345-
--hash=sha256:6addbf04eb07e51e7b4dba7ed5a2608ad45085c4abeacb133872efd37951d4cb \
346-
--hash=sha256:70ea106d9450c71f969865eeb44132c68b716d2e68ee87add8f2d60651f748ec \
347-
--hash=sha256:8924df38e1a8e4c0d94076ff9bc0d459cb2df6ba3627ec4355842da99a400a97 \
348-
--hash=sha256:9ad6cf08e41dddc709fdf2dedfb1e4187e49e72436be71805003531037c2bcd6 \
349-
--hash=sha256:a00b3252a7f337f2a33ce6ae0cb7923921f8024c6cd834d02b75be193c1efcee \
350-
--hash=sha256:a4aac9de5b6cb356c56fa488c8ef77802f61dbdaa6a5fe9178edb750742d536f \
351-
--hash=sha256:ae36abe17765dbe7cc4b46303bb093594739703ece97fd87b6bd421ea26d1c32 \
352-
--hash=sha256:b1d17742f7ee4487103e9cbc3356d283291bab1956c511720ffca54c0befb255 \
353-
--hash=sha256:b275ccd7b90a44e4624faaf675e45c959692f999e084c678ddd9d15e81a2321e \
354-
--hash=sha256:c11841d5b5e1e5b1fed1b0ad177725b65a7ee73941189b9994ed98cf2fa03230 \
355-
--hash=sha256:cee320b0c353c7bdd69c4e60b8e0329e5eaf085254904501f4f1d41a0e1077ba \
356-
--hash=sha256:d8c8d5eb32d3276c7798b23bd2a97d8940f86ca4ae909d7528ab497d9ead0b04 \
357-
--hash=sha256:fb1c9b14bd9c981ce62f0002d9798eca3c512b6931e5c050b3708a84fac8f7f4
341+
orjson==3.10.18 \
342+
--hash=sha256:187ec33bbec58c76dbd4066340067d9ece6e10067bb0cc074a21ae3300caa84e \
343+
--hash=sha256:22748de2a07fcc8781a70edb887abf801bb6142e6236123ff93d12d92db3d406 \
344+
--hash=sha256:303565c67a6c7b1f194c94632a4a39918e067bd6176a48bec697393865ce4f06 \
345+
--hash=sha256:356b076f1662c9813d5fa56db7d63ccceef4c271b1fb3dd522aca291375fcf17 \
346+
--hash=sha256:3a83c9954a4107b9acd10291b7f12a6b29e35e8d43a414799906ea10e75438e6 \
347+
--hash=sha256:3d600be83fe4514944500fa8c2a0a77099025ec6482e8087d7659e891f23058a \
348+
--hash=sha256:50c15557afb7f6d63bc6d6348e0337a880a04eaa9cd7c9d569bcb4e760a24753 \
349+
--hash=sha256:559eb40a70a7494cd5beab2d73657262a74a2c59aff2068fdba8f0424ec5b39d \
350+
--hash=sha256:6612787e5b0756a171c7d81ba245ef63a3533a637c335aa7fcb8e665f4a0966f \
351+
--hash=sha256:7ac6bd7be0dcab5b702c9d43d25e70eb456dfd2e119d512447468f6405b4a69c \
352+
--hash=sha256:86314fdb5053a2f5a5d881f03fca0219bfdf832912aa88d18676a5175c6916b5 \
353+
--hash=sha256:9dca85398d6d093dd41dc0983cbf54ab8e6afd1c547b6b8a311643917fbf4e0c \
354+
--hash=sha256:9f72f100cee8dde70100406d5c1abba515a7df926d4ed81e20a9730c062fe9ad \
355+
--hash=sha256:e8da3947d92123eda795b68228cafe2724815621fe35e8e320a9e9593a4bcd53 \
356+
--hash=sha256:f3c29eb9a81e2fbc6fd7ddcfba3e101ba92eaff455b8d602bf7511088bbc0eae \
357+
--hash=sha256:f9f94cf6d3f9cd720d641f8399e390e7411487e493962213390d1ae45c7814fc
358358
packaging==25.0 \
359359
--hash=sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484 \
360360
--hash=sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f
@@ -455,6 +455,9 @@ python-dotenv==1.1.0 \
455455
python-json-logger==2.0.7 \
456456
--hash=sha256:23e7ec02d34237c5aa1e29a070193a4ea87583bb4e7f8fd06d3de8264c4b2e1c \
457457
--hash=sha256:f380b826a991ebbe3de4d897aeec42760035ac760345e57b812938dc8b35e2bd
458+
python-multipart==0.0.20 \
459+
--hash=sha256:8a62d3a8335e06589fe01f2a3e178cdcc632f3fbe0d492ad9ee0ec35aab1f104 \
460+
--hash=sha256:8dd0cab45b8e23064ae09147625994d090fa46f5b0d1e13af944c331a7fa9d13
458461
pytz==2025.2 \
459462
--hash=sha256:360b9e3dbb49a209c21ad61809c7fb453643e048b38924c765813546746e81c3 \
460463
--hash=sha256:5ddf76296dd8c44c26eb8f4b6f35488f3ccbf6fbbd7adee0b7262d43f0ec2f00
@@ -513,25 +516,25 @@ ruamel-yaml-clib==0.2.12 ; platform_python_implementation == 'CPython' \
513516
--hash=sha256:b82a7c94a498853aa0b272fd5bc67f29008da798d4f93a2f9f289feb8426a58d \
514517
--hash=sha256:bf165fef1f223beae7333275156ab2022cffe255dcc51c27f066b4370da81e31 \
515518
--hash=sha256:e8c4ebfcfd57177b572e2040777b8abc537cdef58a2120e830124946aa9b42c5
516-
ruff==0.11.7 \
517-
--hash=sha256:07f1496ad00a4a139f4de220b0c97da6d4c85e0e4aa9b2624167b7d4d44fd6b6 \
518-
--hash=sha256:0a931d85959ceb77e92aea4bbedfded0a31534ce191252721128f77e5ae1f98a \
519-
--hash=sha256:169027e31c52c0e36c44ae9a9c7db35e505fee0b39f8d9fca7274a6305295a92 \
520-
--hash=sha256:2b19cdb9cf7dae00d5ee2e7c013540cdc3b31c4f281f1dacb5a799d610e90db4 \
521-
--hash=sha256:305b93f9798aee582e91e34437810439acb28b5fc1fee6b8205c78c806845a94 \
522-
--hash=sha256:4809df77de390a1c2077d9b7945d82f44b95d19ceccf0c287c56e4dc9b91ca64 \
523-
--hash=sha256:49b888200a320dd96a68e86736cf531d6afba03e4f6cf098401406a257fcf3d6 \
524-
--hash=sha256:64e0ee994c9e326b43539d133a36a455dbaab477bc84fe7bfbd528abe2f05c1e \
525-
--hash=sha256:655089ad3224070736dc32844fde783454f8558e71f501cb207485fe4eee23d4 \
526-
--hash=sha256:778c1e5d6f9e91034142dfd06110534ca13220bfaad5c3735f6cb844654f6177 \
527-
--hash=sha256:7940665e74e7b65d427b82bffc1e46710ec7f30d58b4b2d5016e3f0321436502 \
528-
--hash=sha256:a681db041ef55550c371f9cd52a3cf17a0da4c75d6bd691092dfc38170ebc4b6 \
529-
--hash=sha256:bad82052311479a5865f52c76ecee5d468a58ba44fb23ee15079f17dd4c8fd63 \
530-
--hash=sha256:d29e909d9a8d02f928d72ab7837b5cbc450a5bdf578ab9ebee3263d0a525091c \
531-
--hash=sha256:d3d7d2e140a6fbbc09033bce65bd7ea29d6a0adeb90b8430262fbacd58c38ada \
532-
--hash=sha256:dd1fb86b168ae349fb01dd497d83537b2c5541fe0626e70c786427dd8363aaee \
533-
--hash=sha256:f25dfb853ad217e6e5f1924ae8a5b3f6709051a13e9dad18690de6c8ff299e26 \
534-
--hash=sha256:f3a0c2e169e6b545f8e2dba185eabbd9db4f08880032e75aa0e285a6d3f48201
519+
ruff==0.11.8 \
520+
--hash=sha256:0eba551324733efc76116d9f3a0d52946bc2751f0cd30661564117d6fd60897c \
521+
--hash=sha256:161eb4cff5cfefdb6c9b8b3671d09f7def2f960cee33481dd898caf2bcd02304 \
522+
--hash=sha256:258f3585057508d317610e8a412788cf726efeefa2fec4dba4001d9e6f90d46c \
523+
--hash=sha256:304432e4c4a792e3da85b7699feb3426a0908ab98bf29df22a31b0cdd098fac2 \
524+
--hash=sha256:3dca977cc4fc8f66e89900fa415ffe4dbc2e969da9d7a54bfca81a128c5ac219 \
525+
--hash=sha256:4d9aaa91035bdf612c8ee7266153bcf16005c7c7e2f5878406911c92a31633cb \
526+
--hash=sha256:5b18caa297a786465cc511d7f8be19226acf9c0a1127e06e736cd4e1878c3ea2 \
527+
--hash=sha256:6d742d10626f9004b781f4558154bb226620a7242080e11caeffab1a40e99df8 \
528+
--hash=sha256:6e70d11043bef637c5617297bdedec9632af15d53ac1e1ba29c448da9341b0c4 \
529+
--hash=sha256:727d01702f7c30baed3fc3a34901a640001a2828c793525043c29f7614994a8c \
530+
--hash=sha256:7f024d32e62faad0f76b2d6afd141b8c171515e4fb91ce9fd6464335c81244e5 \
531+
--hash=sha256:896a37516c594805e34020c4a7546c8f8a234b679a7716a3f08197f38913e1a3 \
532+
--hash=sha256:ab86d22d3d721a40dd3ecbb5e86ab03b2e053bc93c700dc68d1c3346b36ce835 \
533+
--hash=sha256:c1dba3135ca503727aa4648152c0fa67c3b1385d3dc81c75cd8a229c4b2a1458 \
534+
--hash=sha256:c657fa987d60b104d2be8b052d66da0a2a88f9bd1d66b2254333e84ea2720c7f \
535+
--hash=sha256:d365618d3ad747432e1ae50d61775b78c055fee5936d77fb4d92c6f559741948 \
536+
--hash=sha256:f2e74b021d0de5eceb8bd32919f6ff8a9b40ee62ed97becd44993ae5b9949474 \
537+
--hash=sha256:f9b5ef39820abc0f2c62111f7045009e46b275f5b99d5e59dda113c39b7f4f38
535538
scalecodec==1.2.11 \
536539
--hash=sha256:99a2cdbfccdcaf22bd86b86da55a730a2855514ad2309faef4a4a93ac6cbeb8d \
537540
--hash=sha256:d15c94965f617caa25096f83a45f5f73031d05e6ee08d6039969f0a64fc35de1
@@ -547,9 +550,9 @@ sniffio==1.3.1 \
547550
sqlparse==0.5.3 \
548551
--hash=sha256:09f67787f56a0b16ecdbde1bfc7f5d9c3371ca683cfeaa8e6ff60b4807ec9272 \
549552
--hash=sha256:cf2196ed3418f3ba5de6af7e82c694a9fbdbfecccdfc72e281548517081f16ca
550-
sse-starlette==2.3.3 \
551-
--hash=sha256:8b0a0ced04a329ff7341b01007580dd8cf71331cc21c0ccea677d500618da1e0 \
552-
--hash=sha256:fdd47c254aad42907cfd5c5b83e2282be15be6c51197bf1a9b70b8e990522072
553+
sse-starlette==2.3.4 \
554+
--hash=sha256:0ffd6bed217cdbb74a84816437c609278003998b4991cd2e6872d0b35130e4d5 \
555+
--hash=sha256:b8100694f3f892b133d0f7483acb7aacfcf6ed60f863b31947664b6dc74e529f
553556
starknet-py==0.25.0 \
554557
--hash=sha256:452f2c9ed5e235540209ec2042d22dcf79c6cec2a6850f5b518d61b3fada3706
555558
starlette==0.46.2 \
@@ -596,7 +599,7 @@ tzlocal==5.3.1 \
596599
urllib3==2.4.0 \
597600
--hash=sha256:414bc6535b787febd7567804cc015fee39daab8ad86268f1310a9250697de466 \
598601
--hash=sha256:4e16665048960a0900c702d4a66415956a584919c03361cac9f1df5c5dd7e813
599-
uvicorn==0.34.2 \
602+
uvicorn==0.34.2 ; sys_platform != 'emscripten' \
600603
--hash=sha256:0e929828f6186353a80b58ea719861d2629d766293b6d19baf086ba31d4f3328 \
601604
--hash=sha256:deb49af569084536d269fe0a6d67e3754f104cf03aba7c11c40f01aadf33c403
602605
uvloop==0.21.0 \

src/dipdup/codegen/__init__.py

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,14 @@
1919
from dipdup.config import HandlerConfig
2020
from dipdup.config import IndexTemplateConfig
2121
from dipdup.config._mixin import CallbackMixin
22+
from dipdup.datasources import AbiDatasource
23+
from dipdup.datasources import AbiJson
24+
from dipdup.datasources import ContractConfigT
2225
from dipdup.datasources import Datasource
26+
from dipdup.datasources import DatasourceConfigT
27+
from dipdup.exceptions import AbiNotAvailableError
28+
from dipdup.exceptions import ConfigurationError
29+
from dipdup.exceptions import DatasourceError
2330
from dipdup.package import DEFAULT_ENV
2431
from dipdup.package import KEEP_MARKER
2532
from dipdup.package import PACKAGE_MARKER
@@ -224,6 +231,29 @@ async def _generate_type(self, schema_path: Path, force: bool) -> None:
224231
def _cleanup_schemas(self) -> None:
225232
rmtree(self.schemas_dir, ignore_errors=True)
226233

234+
async def _lookup_abi(
235+
self,
236+
contract: ContractConfigT,
237+
datasources: list[AbiDatasource[DatasourceConfigT]],
238+
) -> AbiJson:
239+
"""For every contract goes over each datasourse and tries to obtain abi file.
240+
If no ABI exists for any of the contracts - raises error.
241+
"""
242+
address = contract.address or contract.abi
243+
if not address:
244+
raise ConfigurationError(f'`address` or `abi` must be specified for contract `{contract.module_name}`')
245+
246+
for datasource in datasources:
247+
try:
248+
return await datasource.get_abi(address=address)
249+
except DatasourceError as e:
250+
_logger.warning('Failed to fetch ABI from `%s`: %s', datasource.name, e)
251+
252+
raise AbiNotAvailableError(
253+
address=address,
254+
typename=contract.module_name,
255+
)
256+
227257

228258
@final
229259
class CommonCodeGenerator(_BaseCodeGenerator):

0 commit comments

Comments
 (0)