@subql/types-ethereum 2.2.4 → 2.2.6-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -5,6 +5,12 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
5
5
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
7
  ## [Unreleased]
8
+ ### Added
9
+ - Light types for block and logs (#170)
10
+
11
+ ## [2.2.5] - 2023-09-04
12
+ ### Fixed
13
+ - Previous failed release
8
14
 
9
15
  ## [2.2.4] - 2023-08-14
10
16
  ### Fixed
@@ -56,7 +62,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
56
62
  - Sync with main sdk (#14)
57
63
 
58
64
  ## [0.1.0] - 2022-10-31
59
- [Unreleased]: https://github.com/subquery/subql-ethereum/compare/types/2.2.4...HEAD
65
+ [Unreleased]: https://github.com/subquery/subql-ethereum/compare/types-ethereum/2.2.5...HEAD
66
+ [2.2.5]: https://github.com/subquery/subql-ethereum/compare/types-ethereum/2.2.4...types-ethereum/2.2.5
60
67
  [2.2.4]: https://github.com/subquery/subql-ethereum/compare/types/2.2.3...types/2.2.4
61
68
  [2.2.3]: https://github.com/subquery/subql-ethereum/compare/types/2.2.2...types/2.2.3
62
69
  [2.2.2]: https://github.com/subquery/subql-ethereum/compare/types/2.2.1...types/2.2.2
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@ethersproject/bytes/lib/index.d.ts","../../../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/index.d.ts","../../../node_modules/@ethersproject/networks/lib/types.d.ts","../../../node_modules/@ethersproject/networks/lib/index.d.ts","../../../node_modules/@ethersproject/properties/lib/index.d.ts","../../../node_modules/@ethersproject/transactions/lib/index.d.ts","../../../node_modules/@ethersproject/web/lib/index.d.ts","../../../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/sonic-boom/types/index.d.ts","../../../node_modules/@types/pino-std-serializers/index.d.ts","../../../node_modules/@types/pino-pretty/index.d.ts","../../../node_modules/@types/pino/index.d.ts","../src/ethereum/interfaces.ts","../src/ethereum/index.ts","../src/interfaces.ts","../src/global.ts","../src/project.ts","../src/index.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"9c9461d480b1812281abffc647107904970791c170cd0ab97563daa10c6e0171","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","f87191b7fafe7a0edad375710d99f900e49cef560b66bf309cf3f8e1b7177126","586af7d2abe2f9d59c5e757c370087d6c6baea81b033250f43b8df808d6dfb33",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","e7bee4a6d9bb78afa390b25e0ce97a2f94787a1eb17f0a16e732dcbebba3f3ee","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","97f837637f01e274ada9de388e99b1a5c5a82ae4184f8c924209fe201f4ffc9e","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"7d0a3356909df08e5df9af2cfd43e8780f24bb12d07b00daaf7ed2a891fa60e5","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","172f31b538f6e3f70c2d001d665d5a46c4b043f707ba822b4d906d59bd9c229d","799475c7b67b02267bd548418cd9a29a05c1f6484ae0a44dff74510374cbb585","9fb516ebe85470350609bb6bd3c38181bef2e64970aa2233391d5cb2bb096270","685fbeeffdff5e703820a6328ef0c7b693d398bf8d061e1050e20344f8ddf47a",{"version":"e82b3a100b58ce7d4ecc4229303f165c1c2b81afec372e9304b0db191c079434","signature":"e7f53aa044daf7ccf264f360e2e9c1cdffabbfbf9b6d2fdf53f8ee8f3f757f66"},{"version":"e7bf05bae3309b0336de2dc3cf86bacbb07615bcd0b222fcef6741667e05b890","signature":"58f19692914291f8da36c98c6668b6798364adab2d3671740360e016d958a3ef"},{"version":"03704285759f52aaf6a4d3477d9326c6a9122953e2fc28a9fc0772d529eb58c0","signature":"382bb193b1231c71cdea4b6a9dd7d56d7a438a2a472be29ea2f1422040010613"},{"version":"8980ba30fe07dbc814b5aa843cc6052448701e5e6717eb4633f28f6682e4b8f7","signature":"07939202c4f55cbadeb5bc374ae5d0b59ecaeb084b87691d0dd5f6e648dabf95","affectsGlobalScope":true},{"version":"bd8665827d3e2a57e4647152f0e88b6ee259cc870cc013539d96faf9b3fb08cb","signature":"11d228d9c4004734c17908b9ba1abcf3367b3c88ac08cc679feabcf4613966c2"},{"version":"0d65a61377f6eea06826adda3414e603a3b600887c86695729c41383d0689d47","signature":"cf628657babed343f39f30b86a436b26c45edf2b722fcf3df07fb326baefc1d0"},"0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"module":1,"noImplicitAny":false,"noImplicitThis":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[42,45,47,48,49,50],[42],[42,43],[43,44],[46],[42,45],[109,114],[107,110],[107,110,111,112],[109],[106,113],[108],[52],[54],[55,60],[56,64,65,72,81],[56,57,64,72],[58,88],[59,60,65,73],[60,81],[61,62,64,72],[62],[63,64],[64],[64,65,66,81,87],[65,66],[64,67,72,81,87],[64,65,67,68,72,81,84,87],[67,69,81,84,87],[52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94],[64,70],[71,87],[62,64,72,81],[73],[74],[54,75],[76,86],[77],[78],[64,79],[79,80,88,90],[64,81],[82],[83],[72,81,84],[85],[72,86],[67,78,87],[88],[81,89],[90],[91],[64,66,81,87,90,92],[81,93],[95,99],[67,95],[64,67,81,95,96,97,98],[64,95],[100],[102],[51,99,102],[101,102,104],[51,101],[101,102]],"referencedMap":[[51,1],[43,2],[44,3],[45,4],[47,5],[49,6],[115,7],[111,8],[113,9],[112,8],[110,10],[114,11],[109,12],[52,13],[54,14],[55,15],[56,16],[57,17],[58,18],[59,19],[60,20],[61,21],[62,22],[63,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[95,30],[70,31],[71,32],[72,33],[73,34],[74,35],[75,36],[76,37],[77,38],[78,39],[79,40],[80,41],[81,42],[82,43],[83,44],[84,45],[85,46],[86,47],[87,48],[88,49],[89,50],[90,51],[91,52],[92,53],[93,54],[98,55],[97,56],[99,57],[96,58],[101,59],[100,60],[103,61],[105,62],[102,63],[104,64]],"exportedModulesMap":[[51,1],[43,2],[44,3],[45,4],[47,5],[49,6],[115,7],[111,8],[113,9],[112,8],[110,10],[114,11],[109,12],[52,13],[54,14],[55,15],[56,16],[57,17],[58,18],[59,19],[60,20],[61,21],[62,22],[63,23],[64,24],[65,25],[66,26],[67,27],[68,28],[69,29],[95,30],[70,31],[71,32],[72,33],[73,34],[74,35],[75,36],[76,37],[77,38],[78,39],[79,40],[80,41],[81,42],[82,43],[83,44],[84,45],[85,46],[86,47],[87,48],[88,49],[89,50],[90,51],[91,52],[92,53],[93,54],[98,55],[97,56],[99,57],[96,58],[101,59],[100,60],[103,61],[105,62],[102,63],[104,64]],"semanticDiagnosticsPerFile":[51,43,44,45,42,47,46,48,49,50,115,107,111,113,112,110,114,109,108,52,54,55,56,57,58,59,60,61,62,63,64,65,66,53,94,67,68,69,95,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,98,97,99,106,96,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,101,100,103,105,102,104],"latestChangedDtsFile":"./index.d.ts"},"version":"4.9.5"}
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.esnext.intl.d.ts","../../../node_modules/@ethersproject/bytes/lib/index.d.ts","../../../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../../../node_modules/@ethersproject/bignumber/lib/index.d.ts","../../../node_modules/@ethersproject/networks/lib/types.d.ts","../../../node_modules/@ethersproject/networks/lib/index.d.ts","../../../node_modules/@ethersproject/properties/lib/index.d.ts","../../../node_modules/@ethersproject/transactions/lib/index.d.ts","../../../node_modules/@ethersproject/web/lib/index.d.ts","../../../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../src/global.ts","../../../node_modules/@subql/types-core/dist/interfaces.d.ts","../../../node_modules/@subql/types-core/dist/project/versioned/base.d.ts","../../../node_modules/@subql/types-core/dist/project/versioned/v1_0_0/types.d.ts","../../../node_modules/@subql/types-core/dist/project/versioned/v1_0_0/index.d.ts","../../../node_modules/@subql/types-core/dist/project/versioned/index.d.ts","../../../node_modules/@subql/types-core/dist/project/types.d.ts","../../../node_modules/package-json-type/types/index.d.ts","../../../node_modules/@subql/types-core/dist/project/readers/reader.d.ts","../../../node_modules/@subql/types-core/dist/project/readers/index.d.ts","../../../node_modules/@subql/types-core/dist/project/index.d.ts","../../../node_modules/@subql/types-core/dist/store.d.ts","../../../node_modules/@subql/types-core/dist/multichain/types.d.ts","../../../node_modules/@subql/types-core/dist/multichain/index.d.ts","../../../node_modules/@subql/types-core/dist/index.d.ts","../src/ethereum/interfaces.ts","../src/ethereum/index.ts","../src/interfaces.ts","../src/project.ts","../src/index.ts","../../../node_modules/@types/node/assert.d.ts","../../../node_modules/@types/node/globals.d.ts","../../../node_modules/@types/node/async_hooks.d.ts","../../../node_modules/@types/node/buffer.d.ts","../../../node_modules/@types/node/child_process.d.ts","../../../node_modules/@types/node/cluster.d.ts","../../../node_modules/@types/node/console.d.ts","../../../node_modules/@types/node/constants.d.ts","../../../node_modules/@types/node/crypto.d.ts","../../../node_modules/@types/node/dgram.d.ts","../../../node_modules/@types/node/dns.d.ts","../../../node_modules/@types/node/domain.d.ts","../../../node_modules/@types/node/events.d.ts","../../../node_modules/@types/node/fs.d.ts","../../../node_modules/@types/node/fs/promises.d.ts","../../../node_modules/@types/node/http.d.ts","../../../node_modules/@types/node/http2.d.ts","../../../node_modules/@types/node/https.d.ts","../../../node_modules/@types/node/inspector.d.ts","../../../node_modules/@types/node/module.d.ts","../../../node_modules/@types/node/net.d.ts","../../../node_modules/@types/node/os.d.ts","../../../node_modules/@types/node/path.d.ts","../../../node_modules/@types/node/perf_hooks.d.ts","../../../node_modules/@types/node/process.d.ts","../../../node_modules/@types/node/punycode.d.ts","../../../node_modules/@types/node/querystring.d.ts","../../../node_modules/@types/node/readline.d.ts","../../../node_modules/@types/node/repl.d.ts","../../../node_modules/@types/node/stream.d.ts","../../../node_modules/@types/node/string_decoder.d.ts","../../../node_modules/@types/node/timers.d.ts","../../../node_modules/@types/node/tls.d.ts","../../../node_modules/@types/node/trace_events.d.ts","../../../node_modules/@types/node/tty.d.ts","../../../node_modules/@types/node/url.d.ts","../../../node_modules/@types/node/util.d.ts","../../../node_modules/@types/node/v8.d.ts","../../../node_modules/@types/node/vm.d.ts","../../../node_modules/@types/node/wasi.d.ts","../../../node_modules/@types/node/worker_threads.d.ts","../../../node_modules/@types/node/zlib.d.ts","../../../node_modules/@types/node/globals.global.d.ts","../../../node_modules/@types/node/index.d.ts","../../../node_modules/chalk/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/cleanupSemantic.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/types.d.ts","../../../node_modules/@types/jest/node_modules/pretty-format/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/types.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/diffLines.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/printDiffs.d.ts","../../../node_modules/@types/jest/node_modules/jest-diff/build/index.d.ts","../../../node_modules/@types/jest/node_modules/jest-matcher-utils/build/index.d.ts","../../../node_modules/@types/jest/index.d.ts"],"fileInfos":[{"version":"8730f4bf322026ff5229336391a18bcaa1f94d4f82416c8b2f3954e2ccaae2ba","affectsGlobalScope":true},"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","4b421cbfb3a38a27c279dec1e9112c3d1da296f77a1a85ddadf7e7a425d45d18","1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9",{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true},{"version":"5f406584aef28a331c36523df688ca3650288d14f39c5d2e555c95f0d2ff8f6f","affectsGlobalScope":true},{"version":"22f230e544b35349cfb3bd9110b6ef37b41c6d6c43c3314a31bd0d9652fcec72","affectsGlobalScope":true},{"version":"7ea0b55f6b315cf9ac2ad622b0a7813315bb6e97bf4bb3fbf8f8affbca7dc695","affectsGlobalScope":true},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true},{"version":"eb26de841c52236d8222f87e9e6a235332e0788af8c87a71e9e210314300410a","affectsGlobalScope":true},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true},{"version":"5e5e095c4470c8bab227dbbc61374878ecead104c74ab9960d3adcccfee23205","affectsGlobalScope":true},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true},{"version":"2768ef564cfc0689a1b76106c421a2909bdff0acbe87da010785adab80efdd5c","affectsGlobalScope":true},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true},"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7",{"version":"210fa3d45e57dfb1a88d86dbf03b247671430e65f0db9069c4c3b6bd2c0ce070","signature":"9715fa68ba82a34fa57a9e42c9d7684c8d778eafe98abc4cad5179aeb01dbdb7","affectsGlobalScope":true},"7d33bef7935e0fe2b5b4edff218db8808fc558a143066a503d432d6f939df3f0","6f1a73e40247fd285f9708b8cab4fdac9fbeb736854e7061f1946be61403726d","39138a5f721c619569ef0511dbc3c9ff590d83574a7fad7f939ec9c09ce075df","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","68f7570dc884c1a829a6a38e5b3c01af59e83e6011ddbaf4c5e861519a236965","dffac06521a5bec27273cc2503b867a99ba4f440d65bf12040e8d4e3466368cf","c0d099fc774005fe16f7257c61a877cce150b3fef86f37bd24dd53905ab945be","387a46d7b3cd33bc6b8028c87d828fe77a40a81758c7241bcef0b43e363ab50f","07c6604d5d52a950aa180620253afbd46468f29245b869f20b3c57fa349bbfd2","5cbecb88f92636fc40c1f8f9abb551f8971791ad6e41a0c638124d93c2883010","074520d4022bbfc262bfa127af2d64523d20ad142a2a0bada263cb8a0637299d","527db3829bb0fcda67507ab69f542ffd77305e9246111778d14beda0b61a2095","d5c19655468e29f60c871b21e73af8ebc653f736e7123ade916f22c4a5f80ce5","20cc3c8181a86f4261467b86dea08bd08f29f05909b1fd8ecff2bc2ab262f3e4",{"version":"e35b16c0e7c3c729df72f6e76649ec5bd0c78201d7498b5f47f34ad25389f241","signature":"d61960305285df3824bca81c224a340b3b595eb30acdb9f759b68542295001a8"},{"version":"e7bf05bae3309b0336de2dc3cf86bacbb07615bcd0b222fcef6741667e05b890","signature":"58f19692914291f8da36c98c6668b6798364adab2d3671740360e016d958a3ef"},{"version":"c25d5cb570ea7307c31edeb5b9118dc2cfb813e437f03a9656a4079e1c35b791","signature":"0b2db540f17528a996137ffeac8578055d1a0b3a4a75c73622869605ed417a01"},{"version":"b7689c4e4b498d2f4403e6b35d3fa111d553042752e0b118eb1a38623906595a","signature":"0afd54ec8dc5c906b91e78c492e8c20c8f68f231d6541bd63ef9d56fa50cb8b6"},{"version":"0d65a61377f6eea06826adda3414e603a3b600887c86695729c41383d0689d47","signature":"cf628657babed343f39f30b86a436b26c45edf2b722fcf3df07fb326baefc1d0"},"4c2c4f53e8eedd970f8afa369d7371544fb6231bf95e659f8602e09abe74d5a5",{"version":"9c9461d480b1812281abffc647107904970791c170cd0ab97563daa10c6e0171","affectsGlobalScope":true},"c2b5085f47e41d6940bbc5b0d3bd7cc0037c752efb18aecd243c9cf83ad0c0b7","3143a5add0467b83150961ecd33773b561a1207aec727002aa1d70333068eb1b","f87191b7fafe7a0edad375710d99f900e49cef560b66bf309cf3f8e1b7177126","586af7d2abe2f9d59c5e757c370087d6c6baea81b033250f43b8df808d6dfb33",{"version":"1a048ff164b8d9609f5de3139d4e37f6e8a82af82087ac414b9208f52ef8aac7","affectsGlobalScope":true},"3111079f3cb5f2b9c812ca3f46161562bce5bfb355e915f46ed46c41714dc1c3","e7bee4a6d9bb78afa390b25e0ce97a2f94787a1eb17f0a16e732dcbebba3f3ee","b32b6b16cb0bda68199582ad6f22242d07ee75fac9b1f28a98cd838afc5eea45","4441ee4119824bfaebc49308559edd7545978f9cb41a40f115074e1031dde75f",{"version":"60693a88462d0e97900123b5bf7c73e146ce0cc94da46a61fe6775b430d2ff05","affectsGlobalScope":true},{"version":"588c69eda58b9202676ec7ca11a72c3762819b46a0ed72462c769846153c447c","affectsGlobalScope":true},"ae064ed4f855716b7ff348639ddcd6a6d354a72fae82f506608a7dc9266aa24c","92f019c55b21c939616f6a48f678e714ac7b109444cbbf23ad69310ce66ecbdc","bba259efdf9ab95e0c7d3cc8e99250f56bb6b31d6129efdf733ca4eb1d01feea","97f837637f01e274ada9de388e99b1a5c5a82ae4184f8c924209fe201f4ffc9e","139fd681eff7771a38d0c025d13c7a11c5474f6aab61e01c41511d71496df173","f614c3f61e46ccc2cb58702d5a158338ea57ee09099fde5db4cfc63ed0ce4d74","44e42ed6ec9c4451ebe89524e80ac8564e9dd0988c56e6c58f393c810730595d","a504c109b872b0e653549bd258eb06584c148c98d79406c7516995865a6d5089","155865f5f76db0996cd5e20cc5760613ea170ee5ad594c1f3d76fcaa05382161","e92852d673c836fc64e10c38640abcd67c463456e5df55723ac699b8e6ab3a8a","4455c78d226d061b1203c7614c6c6eb5f4f9db5f00d44ff47d0112de8766fbc4",{"version":"ec369bb9d97c4dc09dd2a4093b7ca3ba69ad284831fccac8a1977785e9e38ce5","affectsGlobalScope":true},"4465a636f5f6e9665a90e30691862c9e0a3ac2edc0e66296704f10865e924f2a","9af781f03d44f5635ed7844be0ce370d9d595d4b4ec67cad88f0fac03255257e","f9fd4c3ef6de27fa0e256f4e75b61711c4be05a3399f7714621d3edc832e36b0","e49290b7a927995c0d7e6b2b9c8296284b68a9036d9966531de65185269258d7","aa95cc73ea5315e4f6fc8c6db43d49e3b7de3780cae20a4f1319032809013038","874ca809b79276460011480a2829f4c8d4db29416dd411f71efbf8f497f0ac09","6c903bceaf3f3bc04f2d4c7dcd89ce9fb148b3ba0a5f5408d8f6de2b7eecc7ea","504d049d9e550a65466b73ca39da6469ab41786074ea1d16d37c8853f9f6ab2e","23a28f834a078986bbf58f4e3705956983ff81c3c2493f3db3e5f0e8a9507779","4febdf7f3ec92706c58e0b4e8159cd6de718284ef384260b07c9641c13fc70ce",{"version":"7d0a3356909df08e5df9af2cfd43e8780f24bb12d07b00daaf7ed2a891fa60e5","affectsGlobalScope":true},"7335933d9f30dcfd2c4b6080a8b78e81912a7fcefb1dafccb67ca4cb4b3ac23d","a6bfe9de9adef749010c118104b071d14943802ff0614732b47ce4f1c3e383cd","4c3d0e10396646db4a1e917fb852077ee77ae62e512913bef9cccc2bb0f8bd0e","3b220849d58140dcc6718f5b52dcd29fdb79c45bc28f561cbd29eb1cac6cce13","0ee22fce41f7417a24c808d266e91b850629113c104713a35854393d55994beb","22d1b1d965baba05766613e2e6c753bb005d4386c448cafd72c309ba689e8c24",{"version":"2708349d5a11a5c2e5f3a0765259ebe7ee00cdcc8161cb9990cb4910328442a1","affectsGlobalScope":true},"c6c0bd221bb1e94768e94218f8298e47633495529d60cae7d8da9374247a1cf5","0d14fa22c41fdc7277e6f71473b20ebc07f40f00e38875142335d5b63cdfc9d2","d8aab31ba8e618cc3eea10b0945de81cb93b7e8150a013a482332263b9305322","462bccdf75fcafc1ae8c30400c9425e1a4681db5d605d1a0edb4f990a54d8094","5923d8facbac6ecf7c84739a5c701a57af94a6f6648d6229a6c768cf28f0f8cb","7adecb2c3238794c378d336a8182d4c3dd2c4fa6fa1785e2797a3db550edea62","dc12dc0e5aa06f4e1a7692149b78f89116af823b9e1f1e4eae140cd3e0e674e6","1bfc6565b90c8771615cd8cfcf9b36efc0275e5e83ac7d9181307e96eb495161","8a8a96898906f065f296665e411f51010b51372fa260d5373bf9f64356703190","7f82ef88bdb67d9a850dd1c7cd2d690f33e0f0acd208e3c9eba086f3670d4f73",{"version":"ccfd8774cd9b929f63ff7dcf657977eb0652e3547f1fcac1b3a1dc5db22d4d58","affectsGlobalScope":true}],"options":{"allowSyntheticDefaultImports":true,"composite":true,"declaration":true,"emitDecoratorMetadata":true,"esModuleInterop":true,"experimentalDecorators":true,"inlineSources":true,"module":1,"noImplicitAny":false,"noImplicitThis":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":4,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[42,45,47,48,49,50],[42],[42,43],[43,44],[46],[42,45],[53,62,63,65],[64],[62],[57,58,61],[60],[59],[57],[58],[54,56],[55],[54],[119,124],[117,120],[117,120,121,122],[119],[116,123],[118],[72],[74],[75,80],[76,84,85,92,101],[76,77,84,92],[78,108],[79,80,85,93],[80,101],[81,82,84,92],[82],[83,84],[84],[84,85,86,101,107],[85,86],[84,87,92,101,107],[84,85,87,88,92,101,104,107],[87,89,101,104,107],[72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114],[84,90],[91,107],[82,84,92,101],[93],[94],[74,95],[96,106],[97],[98],[84,99],[99,100,108,110],[84,101],[102],[103],[92,101,104],[105],[92,106],[87,98,107],[108],[101,109],[110],[111],[84,86,101,107,110,112],[101,113],[67],[66],[51],[68,69,70],[51,68],[66,68,69]],"referencedMap":[[51,1],[43,2],[44,3],[45,4],[47,5],[49,6],[66,7],[65,8],[64,9],[62,10],[61,11],[60,12],[58,13],[54,14],[57,15],[56,16],[55,17],[125,18],[121,19],[123,20],[122,19],[120,21],[124,22],[119,23],[72,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[86,37],[87,38],[88,39],[89,40],[115,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[98,50],[99,51],[100,52],[101,53],[102,54],[103,55],[104,56],[105,57],[106,58],[107,59],[108,60],[109,61],[110,62],[111,63],[112,64],[113,65],[68,66],[67,67],[52,68],[71,69],[69,70],[70,71]],"exportedModulesMap":[[51,1],[43,2],[44,3],[45,4],[47,5],[49,6],[66,7],[65,8],[64,9],[62,10],[61,11],[60,12],[58,13],[54,14],[57,15],[56,16],[55,17],[125,18],[121,19],[123,20],[122,19],[120,21],[124,22],[119,23],[72,24],[74,25],[75,26],[76,27],[77,28],[78,29],[79,30],[80,31],[81,32],[82,33],[83,34],[84,35],[85,36],[86,37],[87,38],[88,39],[89,40],[115,41],[90,42],[91,43],[92,44],[93,45],[94,46],[95,47],[96,48],[97,49],[98,50],[99,51],[100,52],[101,53],[102,54],[103,55],[104,56],[105,57],[106,58],[107,59],[108,60],[109,61],[110,62],[111,63],[112,64],[113,65],[68,66],[67,67],[52,68],[71,69],[69,70],[70,71]],"semanticDiagnosticsPerFile":[51,43,44,45,42,47,46,48,49,50,66,53,65,64,62,61,60,58,54,57,56,55,63,125,117,121,123,122,120,124,119,118,72,74,75,76,77,78,79,80,81,82,83,84,85,86,73,114,87,88,89,115,90,91,92,93,94,95,96,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,116,59,9,8,2,10,11,12,13,14,15,16,17,3,4,21,18,19,20,22,23,24,5,25,26,27,28,6,32,29,30,31,33,7,34,39,40,35,36,37,38,1,41,68,67,52,71,69,70],"latestChangedDtsFile":"./index.d.ts"},"version":"4.9.5"}
@@ -1,14 +1,44 @@
1
- import { BlockWrapper } from '../interfaces';
2
- export interface EthereumBlockFilter {
3
- modulo?: number;
4
- timestamp?: string;
5
- }
1
+ import { BlockFilter } from '@subql/types-core';
2
+ export type EthereumBlockFilter = BlockFilter;
3
+ /**
4
+ * Represents a filter for Ethereum Transactions
5
+ * @interface
6
+ * @extends {EthereumTransactionFilter}
7
+ */
6
8
  export interface EthereumTransactionFilter {
9
+ /**
10
+ * The address of sender of the transaction
11
+ * @example
12
+ * from: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',
13
+ * */
7
14
  from?: string;
15
+ /**
16
+ * The to address field within a transaction. This is either the contract address or the recipient if it is an ether transfer.
17
+ * @example
18
+ * to: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',
19
+ **/
8
20
  to?: string;
21
+ /**
22
+ * The function sighash or function signature of the call. This is the first 32bytes of the data field
23
+ * @example
24
+ * function: 'setminimumStakingAmount(uint256 amount)',
25
+ * */
9
26
  function?: string;
10
27
  }
28
+ /**
29
+ * Represents a filter for Ethereum logs
30
+ * @interface
31
+ * @extends {EthereumLogFilter}
32
+ */
11
33
  export interface EthereumLogFilter {
34
+ /**
35
+ * You can filter by the topics in a log.
36
+ * These can be an address, event signature, null, '!null' or undefined
37
+ * @example
38
+ * topics: ['Transfer(address, address, uint256)'],
39
+ * @example
40
+ * topics: ['Transfer(address, address, uint256)', undefined, '0x220866B1A2219f40e72f5c628B65D54268cA3A9D']
41
+ */
12
42
  topics?: Array<string | null | undefined>;
13
43
  }
14
44
  export interface EthereumResult extends ReadonlyArray<any> {
@@ -101,4 +131,10 @@ export type EthereumLog<T extends EthereumResult = EthereumResult> = {
101
131
  transaction: EthereumTransaction;
102
132
  };
103
133
  export type FlareLog<T extends FlareResult = FlareResult> = EthereumLog<T>;
104
- export type EthereumBlockWrapper = BlockWrapper<EthereumBlock, EthereumTransaction, EthereumLog, EthereumTransactionFilter, EthereumLogFilter>;
134
+ export type LightEthereumLog<T extends EthereumResult = EthereumResult> = Omit<EthereumLog<T>, 'transaction' | 'block'> & {
135
+ block: LightEthereumBlock;
136
+ };
137
+ export type LightEthereumBlock = Omit<EthereumBlock, 'transactions' | 'logs'> & {
138
+ logs: LightEthereumLog[];
139
+ transactions: string[];
140
+ };
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/ethereum/interfaces.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {BlockWrapper} from '../interfaces';\n\nexport interface EthereumBlockFilter {\n modulo?: number;\n timestamp?: string;\n}\n\nexport interface EthereumTransactionFilter {\n from?: string;\n to?: string;\n function?: string;\n}\n\nexport interface EthereumLogFilter {\n topics?: Array<string | null | undefined>;\n}\n\nexport interface EthereumResult extends ReadonlyArray<any> {\n readonly [key: string]: any;\n}\n\nexport type FlareResult = EthereumResult;\n\nexport type EthereumBlock = {\n blockExtraData: string;\n difficulty: bigint;\n extDataGasUsed: string;\n extDataHash: string;\n gasLimit: bigint;\n gasUsed: bigint;\n hash: string;\n logs: EthereumLog[];\n logsBloom: string;\n miner: string;\n mixHash: string;\n nonce: string;\n number: number;\n parentHash: string;\n receiptsRoot: string;\n sha3Uncles: string;\n size: bigint;\n stateRoot: string;\n timestamp: bigint;\n totalDifficulty: bigint;\n transactions: EthereumTransaction[];\n transactionsRoot: string;\n uncles: string[];\n baseFeePerGas?: bigint;\n blockGasCost?: bigint;\n};\n\nexport type FlareBlock = EthereumBlock;\n\nexport type EthereumTransaction<T extends EthereumResult = EthereumResult> = {\n blockHash: string;\n blockNumber: number;\n blockTimestamp: bigint;\n from: string;\n gas: bigint;\n gasPrice: bigint;\n hash: string;\n input: string;\n nonce: bigint;\n to: string;\n transactionIndex: bigint;\n value: bigint;\n type: string;\n v: bigint;\n r: string;\n s: string;\n receipt: () => Promise<EthereumReceipt>;\n logs?: EthereumLog[];\n accessList?: string[];\n chainId?: string; // Hex string , example: \"0x1\"\n maxFeePerGas?: bigint;\n maxPriorityFeePerGas?: bigint;\n args?: T;\n};\n\nexport type FlareTransaction<T extends FlareResult = FlareResult> = EthereumTransaction<T>;\n\nexport type EthereumReceipt = {\n blockHash: string;\n blockNumber: number;\n contractAddress: string;\n cumulativeGasUsed: bigint;\n effectiveGasPrice: bigint;\n from: string;\n gasUsed: bigint;\n logs: EthereumLog[];\n logsBloom: string;\n status: boolean;\n to: string;\n transactionHash: string;\n transactionIndex: number;\n type: string;\n};\n\nexport type FlareReceipt = EthereumReceipt;\n\nexport type EthereumLog<T extends EthereumResult = EthereumResult> = {\n address: string;\n topics: string[];\n data: string;\n blockHash: string;\n blockNumber: number;\n transactionHash: string;\n transactionIndex: number;\n logIndex: number;\n removed: boolean;\n args?: T;\n block: EthereumBlock;\n transaction: EthereumTransaction;\n};\n\nexport type FlareLog<T extends FlareResult = FlareResult> = EthereumLog<T>;\n\nexport type EthereumBlockWrapper = BlockWrapper<\n EthereumBlock,\n EthereumTransaction,\n EthereumLog,\n EthereumTransactionFilter,\n EthereumLogFilter\n>;\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../../src/ethereum/interfaces.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {BlockFilter} from '@subql/types-core';\n\nexport type EthereumBlockFilter = BlockFilter;\n\n/**\n * Represents a filter for Ethereum Transactions\n * @interface\n * @extends {EthereumTransactionFilter}\n */\nexport interface EthereumTransactionFilter {\n /**\n * The address of sender of the transaction\n * @example\n * from: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',\n * */\n from?: string;\n /**\n * The to address field within a transaction. This is either the contract address or the recipient if it is an ether transfer.\n * @example\n * to: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',\n **/\n to?: string;\n /**\n * The function sighash or function signature of the call. This is the first 32bytes of the data field\n * @example\n * function: 'setminimumStakingAmount(uint256 amount)',\n * */\n function?: string;\n}\n\n/**\n * Represents a filter for Ethereum logs\n * @interface\n * @extends {EthereumLogFilter}\n */\nexport interface EthereumLogFilter {\n /**\n * You can filter by the topics in a log.\n * These can be an address, event signature, null, '!null' or undefined\n * @example\n * topics: ['Transfer(address, address, uint256)'],\n * @example\n * topics: ['Transfer(address, address, uint256)', undefined, '0x220866B1A2219f40e72f5c628B65D54268cA3A9D']\n */\n topics?: Array<string | null | undefined>;\n}\n\nexport interface EthereumResult extends ReadonlyArray<any> {\n readonly [key: string]: any;\n}\n\nexport type FlareResult = EthereumResult;\n\nexport type EthereumBlock = {\n blockExtraData: string;\n difficulty: bigint;\n extDataGasUsed: string;\n extDataHash: string;\n gasLimit: bigint;\n gasUsed: bigint;\n hash: string;\n logs: EthereumLog[];\n logsBloom: string;\n miner: string;\n mixHash: string;\n nonce: string;\n number: number;\n parentHash: string;\n receiptsRoot: string;\n sha3Uncles: string;\n size: bigint;\n stateRoot: string;\n timestamp: bigint;\n totalDifficulty: bigint;\n transactions: EthereumTransaction[];\n transactionsRoot: string;\n uncles: string[];\n baseFeePerGas?: bigint;\n blockGasCost?: bigint;\n};\n\nexport type FlareBlock = EthereumBlock;\n\nexport type EthereumTransaction<T extends EthereumResult = EthereumResult> = {\n blockHash: string;\n blockNumber: number;\n blockTimestamp: bigint;\n from: string;\n gas: bigint;\n gasPrice: bigint;\n hash: string;\n input: string;\n nonce: bigint;\n to: string;\n transactionIndex: bigint;\n value: bigint;\n type: string;\n v: bigint;\n r: string;\n s: string;\n receipt: () => Promise<EthereumReceipt>;\n logs?: EthereumLog[];\n accessList?: string[];\n chainId?: string; // Hex string , example: \"0x1\"\n maxFeePerGas?: bigint;\n maxPriorityFeePerGas?: bigint;\n args?: T;\n};\n\nexport type FlareTransaction<T extends FlareResult = FlareResult> = EthereumTransaction<T>;\n\nexport type EthereumReceipt = {\n blockHash: string;\n blockNumber: number;\n contractAddress: string;\n cumulativeGasUsed: bigint;\n effectiveGasPrice: bigint;\n from: string;\n gasUsed: bigint;\n logs: EthereumLog[];\n logsBloom: string;\n status: boolean;\n to: string;\n transactionHash: string;\n transactionIndex: number;\n type: string;\n};\n\nexport type FlareReceipt = EthereumReceipt;\n\nexport type EthereumLog<T extends EthereumResult = EthereumResult> = {\n address: string;\n topics: string[];\n data: string;\n blockHash: string;\n blockNumber: number;\n transactionHash: string;\n transactionIndex: number;\n logIndex: number;\n removed: boolean;\n args?: T;\n block: EthereumBlock;\n transaction: EthereumTransaction;\n};\n\nexport type FlareLog<T extends FlareResult = FlareResult> = EthereumLog<T>;\n\nexport type LightEthereumLog<T extends EthereumResult = EthereumResult> = Omit<\n EthereumLog<T>,\n 'transaction' | 'block'\n> & {\n block: LightEthereumBlock;\n};\n\nexport type LightEthereumBlock = Omit<EthereumBlock, 'transactions' | 'logs'> & {\n logs: LightEthereumLog[];\n transactions: string[];\n};\n"]}
package/dist/global.d.ts CHANGED
@@ -1,11 +1,5 @@
1
1
  import { Provider } from '@ethersproject/abstract-provider';
2
- import Pino from 'pino';
3
- import { Store, DynamicDatasourceCreator } from './interfaces';
4
2
  declare global {
5
3
  const api: Provider;
6
4
  const unsafeApi: Provider | undefined;
7
- const logger: Pino.Logger;
8
- const store: Store;
9
- const chainId: string;
10
- const createDynamicDatasource: DynamicDatasourceCreator;
11
5
  }
@@ -1 +1 @@
1
- {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {Provider} from '@ethersproject/abstract-provider';\nimport Pino from 'pino';\nimport {Store, DynamicDatasourceCreator} from './interfaces';\n\ndeclare global {\n const api: Provider;\n const unsafeApi: Provider | undefined;\n const logger: Pino.Logger;\n const store: Store;\n const chainId: string;\n const createDynamicDatasource: DynamicDatasourceCreator;\n}\n"]}
1
+ {"version":3,"file":"global.js","sourceRoot":"","sources":["../src/global.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {Provider} from '@ethersproject/abstract-provider';\n\ndeclare global {\n const api: Provider;\n const unsafeApi: Provider | undefined;\n}\n"]}
@@ -1,37 +1,6 @@
1
1
  import { Block } from '@ethersproject/abstract-provider';
2
- import { EthereumBlock, EthereumBlockWrapper, EthereumLog, EthereumLogFilter, EthereumTransaction, EthereumTransactionFilter } from './ethereum';
3
- export interface Entity {
4
- id: string;
5
- _name?: string;
6
- save?: () => Promise<void>;
7
- }
8
- export type FunctionPropertyNames<T> = {
9
- [K in keyof T]: T[K] extends Function ? K : never;
10
- }[keyof T];
11
- export interface Store {
12
- get(entity: string, id: string): Promise<Entity | undefined>;
13
- getByField(entity: string, field: string, value: any, options?: {
14
- offset?: number;
15
- limit?: number;
16
- }): Promise<Entity[]>;
17
- getOneByField(entity: string, field: string, value: any): Promise<Entity | undefined>;
18
- set(entity: string, id: string, data: Entity): Promise<void>;
19
- bulkCreate(entity: string, data: Entity[]): Promise<void>;
20
- bulkUpdate(entity: string, data: Entity[], fields?: string[]): Promise<void>;
21
- remove(entity: string, id: string): Promise<void>;
22
- bulkRemove(entity: string, ids: string[]): Promise<void>;
23
- }
24
- export interface BlockWrapper<B extends EthereumBlock = EthereumBlock, C extends EthereumTransaction = EthereumTransaction, E extends EthereumLog = EthereumLog, CF extends EthereumTransactionFilter = EthereumTransactionFilter, EF extends EthereumLogFilter = EthereumLogFilter> {
25
- block: B;
26
- blockHeight: number;
27
- specVersion?: number;
28
- hash: string;
29
- calls?: (filters?: CF | CF[], ds?: any) => C[];
30
- transactions?: C[];
31
- events?: (filters?: EF | EF[], ds?: any) => E[];
32
- logs?: E[];
33
- }
34
- export interface ApiWrapper<BW extends BlockWrapper = EthereumBlockWrapper> {
2
+ import { EthereumBlock, LightEthereumBlock } from './ethereum';
3
+ export interface ApiWrapper {
35
4
  init: () => Promise<void>;
36
5
  getGenesisHash: () => string;
37
6
  getRuntimeChain: () => string;
@@ -40,6 +9,5 @@ export interface ApiWrapper<BW extends BlockWrapper = EthereumBlockWrapper> {
40
9
  getFinalizedBlockHeight: () => Promise<number>;
41
10
  getBestBlockHeight: () => Promise<number>;
42
11
  getBlockByHeightOrHash: (hashOrHeight: number | string) => Promise<Block>;
43
- fetchBlocks: (bufferBlocks: number[]) => Promise<BW[]>;
12
+ fetchBlocks: (bufferBlocks: number[]) => Promise<EthereumBlock[] | LightEthereumBlock[]>;
44
13
  }
45
- export type DynamicDatasourceCreator = (name: string, args: Record<string, unknown>) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {Block} from '@ethersproject/abstract-provider';\nimport {\n EthereumBlock,\n EthereumBlockWrapper,\n EthereumLog,\n EthereumLogFilter,\n EthereumTransaction,\n EthereumTransactionFilter,\n} from './ethereum';\n\nexport interface Entity {\n id: string;\n _name?: string;\n save?: () => Promise<void>;\n}\n\nexport type FunctionPropertyNames<T> = {\n [K in keyof T]: T[K] extends Function ? K : never;\n}[keyof T];\n\nexport interface Store {\n get(entity: string, id: string): Promise<Entity | undefined>;\n getByField(entity: string, field: string, value: any, options?: {offset?: number; limit?: number}): Promise<Entity[]>;\n getOneByField(entity: string, field: string, value: any): Promise<Entity | undefined>;\n set(entity: string, id: string, data: Entity): Promise<void>;\n bulkCreate(entity: string, data: Entity[]): Promise<void>;\n //if fields in provided, only specify fields will be updated\n bulkUpdate(entity: string, data: Entity[], fields?: string[]): Promise<void>;\n remove(entity: string, id: string): Promise<void>;\n bulkRemove(entity: string, ids: string[]): Promise<void>;\n}\n\nexport interface BlockWrapper<\n B extends EthereumBlock = EthereumBlock,\n C extends EthereumTransaction = EthereumTransaction,\n E extends EthereumLog = EthereumLog,\n CF extends EthereumTransactionFilter = EthereumTransactionFilter,\n EF extends EthereumLogFilter = EthereumLogFilter\n> {\n block: B;\n blockHeight: number;\n specVersion?: number;\n hash: string;\n calls?: (filters?: CF | CF[], ds?: any) => C[];\n transactions?: C[];\n events?: (filters?: EF | EF[], ds?: any) => E[];\n logs?: E[];\n}\n\nexport interface ApiWrapper<BW extends BlockWrapper = EthereumBlockWrapper> {\n init: () => Promise<void>;\n getGenesisHash: () => string;\n getRuntimeChain: () => string;\n getChainId: () => number;\n getSpecName: () => string;\n getFinalizedBlockHeight: () => Promise<number>;\n getBestBlockHeight: () => Promise<number>;\n getBlockByHeightOrHash: (hashOrHeight: number | string) => Promise<Block>;\n fetchBlocks: (bufferBlocks: number[]) => Promise<BW[]>;\n}\n\nexport type DynamicDatasourceCreator = (name: string, args: Record<string, unknown>) => Promise<void>;\n"]}
1
+ {"version":3,"file":"interfaces.js","sourceRoot":"","sources":["../src/interfaces.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {Block} from '@ethersproject/abstract-provider';\nimport {EthereumBlock, LightEthereumBlock} from './ethereum';\n\nexport interface ApiWrapper {\n init: () => Promise<void>;\n getGenesisHash: () => string;\n getRuntimeChain: () => string;\n getChainId: () => number;\n getSpecName: () => string;\n getFinalizedBlockHeight: () => Promise<number>;\n getBestBlockHeight: () => Promise<number>;\n getBlockByHeightOrHash: (hashOrHeight: number | string) => Promise<Block>;\n fetchBlocks: (bufferBlocks: number[]) => Promise<EthereumBlock[] | LightEthereumBlock[]>; // TODO make sure this is correct\n}\n"]}
package/dist/project.d.ts CHANGED
@@ -1,89 +1,202 @@
1
- import { EthereumBlock, EthereumBlockFilter, EthereumLog, EthereumLogFilter, EthereumTransaction, EthereumTransactionFilter } from './ethereum';
1
+ import { BaseTemplateDataSource, IProjectNetworkConfig, CommonSubqueryProject, DictionaryQueryEntry, FileReference, Processor, ProjectManifestV1_0_0 } from '@subql/types-core';
2
+ import { EthereumBlock, EthereumBlockFilter, EthereumLog, EthereumLogFilter, EthereumTransaction, EthereumTransactionFilter, LightEthereumLog } from './ethereum';
2
3
  import { ApiWrapper } from './interfaces';
4
+ export type RuntimeDatasourceTemplate = BaseTemplateDataSource<SubqlDatasource>;
5
+ export type CustomDatasourceTemplate = BaseTemplateDataSource<SubqlCustomDatasource>;
6
+ export type EthereumProjectManifestV1_0_0 = ProjectManifestV1_0_0<SubqlRuntimeDatasource | SubqlCustomDatasource>;
7
+ /**
8
+ * Kind of Ethereum datasource.
9
+ * @enum {string}
10
+ */
3
11
  export declare enum EthereumDatasourceKind {
12
+ /**
13
+ * The runtime kind of Ethereum datasource.
14
+ */
4
15
  Runtime = "ethereum/Runtime"
5
16
  }
17
+ /**
18
+ * Enum representing the kind of Ethereum handler.
19
+ * @enum {string}
20
+ */
6
21
  export declare enum EthereumHandlerKind {
22
+ /**
23
+ * Handler for Ethereum blocks.
24
+ */
7
25
  Block = "ethereum/BlockHandler",
26
+ /**
27
+ * Handler for Ethereum transactions.
28
+ */
8
29
  Call = "ethereum/TransactionHandler",
30
+ /**
31
+ * Handler for Ethereum log events.
32
+ */
9
33
  Event = "ethereum/LogHandler"
10
34
  }
11
35
  export type EthereumRuntimeHandlerInputMap = {
12
36
  [EthereumHandlerKind.Block]: EthereumBlock;
13
37
  [EthereumHandlerKind.Call]: EthereumTransaction;
14
- [EthereumHandlerKind.Event]: EthereumLog;
38
+ [EthereumHandlerKind.Event]: EthereumLog | LightEthereumLog;
15
39
  };
16
40
  type EthereumRuntimeFilterMap = {
17
41
  [EthereumHandlerKind.Block]: EthereumBlockFilter;
18
42
  [EthereumHandlerKind.Event]: EthereumLogFilter;
19
43
  [EthereumHandlerKind.Call]: EthereumTransactionFilter;
20
44
  };
21
- export interface ProjectManifest {
22
- specVersion: string;
23
- description: string;
24
- repository: string;
25
- schema: string;
26
- network: {
27
- endpoint: string | string[];
28
- };
29
- dataSources: SubqlDatasource[];
30
- bypassBlocks?: number[];
31
- }
32
- export interface SubqlBlockHandler {
33
- handler: string;
34
- kind: EthereumHandlerKind.Block;
35
- filter?: EthereumBlockFilter;
36
- }
37
- export interface SubqlCallHandler {
38
- handler: string;
39
- kind: EthereumHandlerKind.Call;
40
- filter?: EthereumTransactionFilter;
41
- }
42
- export interface SubqlEventHandler {
43
- handler: string;
44
- kind: EthereumHandlerKind.Event;
45
- filter?: EthereumLogFilter;
46
- }
45
+ /**
46
+ * Represents a handler for Ethereum blocks.
47
+ * @type {SubqlCustomHandler<EthereumHandlerKind.Block, EthereumBlockFilter>}
48
+ */
49
+ export type SubqlBlockHandler = SubqlCustomHandler<EthereumHandlerKind.Block, EthereumBlockFilter>;
50
+ /**
51
+ * Represents a handler for Ethereum transactions.
52
+ * @type {SubqlCustomHandler<EthereumHandlerKind.Call, EthereumTransactionFilter>}
53
+ */
54
+ export type SubqlCallHandler = SubqlCustomHandler<EthereumHandlerKind.Call, EthereumTransactionFilter>;
55
+ /**
56
+ * Represents a handler for Ethereum logs.
57
+ * @type {SubqlCustomHandler<EthereumHandlerKind.Event, EthereumLogFilter>}
58
+ */
59
+ export type SubqlEventHandler = SubqlCustomHandler<EthereumHandlerKind.Event, EthereumLogFilter>;
60
+ /**
61
+ * Represents a generic custom handler for Ethereum.
62
+ * @interface
63
+ * @template K - The kind of the handler (default: string).
64
+ * @template F - The filter type for the handler (default: Record<string, unknown>).
65
+ */
47
66
  export interface SubqlCustomHandler<K extends string = string, F = Record<string, unknown>> {
48
- handler: string;
67
+ /**
68
+ * The kind of handler. For `ethereum/Runtime` datasources this is either `Block`, `Call` or `Event` kinds.
69
+ * The value of this will determine the filter options as well as the data provided to your handler function
70
+ * @type {EthereumHandlerKind.Block | EthereumHandlerKind.Call | EthereumHandlerKind.Event | string }
71
+ * @example
72
+ * kind: EthereumHandlerKind.Block // Defined with an enum, this is used for runtime datasources
73
+
74
+ */
49
75
  kind: K;
76
+ /**
77
+ * The name of your handler function. This must be defined and exported from your code.
78
+ * @type {string}
79
+ * @example
80
+ * handler: 'handleBlock'
81
+ */
82
+ handler: string;
83
+ /**
84
+ * The filter for the handler. The handler kind will determine the possible filters (optional).
85
+ *
86
+ * @type {F}
87
+ */
50
88
  filter?: F;
51
89
  }
90
+ /**
91
+ * Represents a runtime handler for Ethereum, which can be a block handler, transaction handler, or log handler.
92
+ * @type {SubqlBlockHandler | SubqlCallHandler | SubqlEventHandler}
93
+ */
52
94
  export type SubqlRuntimeHandler = SubqlBlockHandler | SubqlCallHandler | SubqlEventHandler;
95
+ /**
96
+ * Represents a handler for Ethereum, which can be a runtime handler or a custom handler with unknown filter type.
97
+ * @type {SubqlRuntimeHandler | SubqlCustomHandler<string, unknown>}
98
+ */
53
99
  export type SubqlHandler = SubqlRuntimeHandler | SubqlCustomHandler<string, unknown>;
100
+ /**
101
+ * Represents a filter for Ethereum runtime handlers, which can be a block filter, call filter, or event filter.
102
+ * @type {EthereumBlockFilter | EthereumTransactionFilter | EthereumLogFilter}
103
+ */
54
104
  export type SubqlHandlerFilter = EthereumBlockFilter | EthereumTransactionFilter | EthereumLogFilter;
55
- export interface SubqlMapping<T extends SubqlHandler = SubqlHandler> {
56
- file: string;
105
+ /**
106
+ * Represents a mapping for Ethereum handlers, extending FileReference.
107
+ * @interface
108
+ * @extends {FileReference}
109
+ */
110
+ export interface SubqlMapping<T extends SubqlHandler = SubqlHandler> extends FileReference {
111
+ /**
112
+ * An array of handlers associated with the mapping.
113
+ * @type {T[]}
114
+ * @example
115
+ * handlers: [{
116
+ kind: EthereumHandlerKind.Call,
117
+ handler: 'handleTransfer',
118
+ filter: {
119
+ to: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',
120
+ }
121
+ }]
122
+ */
57
123
  handlers: T[];
58
124
  }
125
+ /**
126
+ * Represents a Ethereum datasource interface with generic parameters.
127
+ * @interface
128
+ * @template M - The mapping type for the datasource.
129
+ */
59
130
  interface ISubqlDatasource<M extends SubqlMapping> {
60
- name?: string;
131
+ /**
132
+ * The kind of the datasource.
133
+ * @type {string}
134
+ * @example
135
+ * kind: 'ethereum/Runtime'
136
+ */
61
137
  kind: string;
138
+ /**
139
+ * The starting block number for the datasource. If not specified, 1 will be used (optional).
140
+ * @type {number}
141
+ * @default 1
142
+ */
62
143
  startBlock?: number;
144
+ /**
145
+ * The mapping associated with the datasource.
146
+ * This contains the handlers.
147
+ * @type {M}
148
+ */
63
149
  mapping: M;
64
150
  }
65
151
  export interface SubqlEthereumProcessorOptions {
152
+ /**
153
+ * The name of the abi that is provided in the assets
154
+ * This is the abi that will be used to decode transaction or log arguments
155
+ * @example
156
+ * abi: 'erc20',
157
+ * */
66
158
  abi?: string;
159
+ /**
160
+ * The specific contract that this datasource should filter.
161
+ * Alternatively this can be left blank and a transaction to filter can be used instead
162
+ * @example
163
+ * address: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',
164
+ * */
67
165
  address?: string;
68
166
  }
167
+ /**
168
+ * Represents a runtime datasource for Ethereum.
169
+ * @interface
170
+ * @template M - The mapping type for the datasource (default: SubqlMapping<SubqlRuntimeHandler>).
171
+ */
69
172
  export interface SubqlRuntimeDatasource<M extends SubqlMapping<SubqlRuntimeHandler> = SubqlMapping<SubqlRuntimeHandler>> extends ISubqlDatasource<M> {
173
+ /**
174
+ * The kind of the datasource, which is `ethereum/Runtime`.
175
+ * @type {EthereumDatasourceKind.Runtime}
176
+ */
70
177
  kind: EthereumDatasourceKind.Runtime;
178
+ /**
179
+ * Options to specify details about the contract and its interface
180
+ * @example
181
+ * options: {
182
+ * abi: 'erc20',
183
+ * address: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',
184
+ * }
185
+ * */
71
186
  options?: SubqlEthereumProcessorOptions;
72
- assets?: Map<string, {
73
- file: string;
74
- }>;
75
- }
76
- export interface SubqlNetworkFilter {
77
- specName?: string;
187
+ /**
188
+ * ABI or contract artifact files that are used for decoding.
189
+ * These are used for codegen to generate handler inputs and contract interfaces
190
+ * @example
191
+ * assets: new Map([
192
+ * ['erc721', { file: "./abis/erc721.json" }],
193
+ * ['erc1155', { file: "./abis/erc1155.json" }],
194
+ * ])
195
+ * */
196
+ assets?: Map<string, FileReference>;
78
197
  }
79
198
  export type SubqlDatasource = SubqlRuntimeDatasource | SubqlCustomDatasource;
80
- export interface FileReference {
81
- file: string;
82
- }
83
199
  export type CustomDataSourceAsset = FileReference;
84
- export type Processor<O = any> = FileReference & {
85
- options?: O;
86
- };
87
200
  export interface SubqlCustomDatasource<K extends string = string, M extends SubqlMapping = SubqlMapping<SubqlCustomHandler>, O = any> extends ISubqlDatasource<M> {
88
201
  kind: K;
89
202
  assets: Map<string, CustomDataSourceAsset>;
@@ -102,15 +215,6 @@ export interface HandlerInputTransformer_1_0_0<T extends EthereumHandlerKind, F,
102
215
  assets?: Record<string, string>;
103
216
  }): Promise<E[]>;
104
217
  }
105
- export interface DictionaryQueryCondition {
106
- field: string;
107
- value: string | string[];
108
- matcher?: string;
109
- }
110
- export interface DictionaryQueryEntry {
111
- entity: string;
112
- conditions: DictionaryQueryCondition[];
113
- }
114
218
  export type SecondLayerHandlerProcessorArray<K extends string, F, T, DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>> = SecondLayerHandlerProcessor<EthereumHandlerKind.Block, F, T, DS> | SecondLayerHandlerProcessor<EthereumHandlerKind.Call, F, T, DS> | SecondLayerHandlerProcessor<EthereumHandlerKind.Event, F, T, DS>;
115
219
  export interface SubqlDatasourceProcessor<K extends string, F, DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>, P extends Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>> = Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>>> {
116
220
  kind: K;
@@ -139,4 +243,14 @@ export interface SecondLayerHandlerProcessor_1_0_0<K extends EthereumHandlerKind
139
243
  }) => boolean;
140
244
  }
141
245
  export type SecondLayerHandlerProcessor<K extends EthereumHandlerKind, F, E, DS extends SubqlCustomDatasource = SubqlCustomDatasource> = SecondLayerHandlerProcessor_0_0_0<K, F, E, DS> | SecondLayerHandlerProcessor_1_0_0<K, F, E, DS>;
246
+ /**
247
+ * Represents a Ethereum subquery network configuration, which is based on the CommonSubqueryNetworkConfig template.
248
+ * @type {IProjectNetworkConfig}
249
+ */
250
+ export type EthereumNetworkConfig = IProjectNetworkConfig;
251
+ /**
252
+ * Represents a Ethereum project configuration based on the CommonSubqueryProject template.
253
+ * @type {CommonSubqueryProject<EthereumNetworkConfig, SubqlDatasource, RuntimeDatasourceTemplate | CustomDatasourceTemplate>}
254
+ */
255
+ export type EthereumProject<DS extends SubqlDatasource = SubqlRuntimeDatasource> = CommonSubqueryProject<EthereumNetworkConfig, SubqlRuntimeDatasource | DS, BaseTemplateDataSource<SubqlRuntimeDatasource> | BaseTemplateDataSource<DS>>;
142
256
  export {};
package/dist/project.js CHANGED
@@ -3,14 +3,34 @@
3
3
  // SPDX-License-Identifier: GPL-3.0
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.EthereumHandlerKind = exports.EthereumDatasourceKind = void 0;
6
+ /**
7
+ * Kind of Ethereum datasource.
8
+ * @enum {string}
9
+ */
6
10
  var EthereumDatasourceKind;
7
11
  (function (EthereumDatasourceKind) {
12
+ /**
13
+ * The runtime kind of Ethereum datasource.
14
+ */
8
15
  EthereumDatasourceKind["Runtime"] = "ethereum/Runtime";
9
16
  })(EthereumDatasourceKind = exports.EthereumDatasourceKind || (exports.EthereumDatasourceKind = {}));
17
+ /**
18
+ * Enum representing the kind of Ethereum handler.
19
+ * @enum {string}
20
+ */
10
21
  var EthereumHandlerKind;
11
22
  (function (EthereumHandlerKind) {
23
+ /**
24
+ * Handler for Ethereum blocks.
25
+ */
12
26
  EthereumHandlerKind["Block"] = "ethereum/BlockHandler";
27
+ /**
28
+ * Handler for Ethereum transactions.
29
+ */
13
30
  EthereumHandlerKind["Call"] = "ethereum/TransactionHandler";
31
+ /**
32
+ * Handler for Ethereum log events.
33
+ */
14
34
  EthereumHandlerKind["Event"] = "ethereum/LogHandler";
15
35
  })(EthereumHandlerKind = exports.EthereumHandlerKind || (exports.EthereumHandlerKind = {}));
16
36
  //# sourceMappingURL=project.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AAYnC,IAAY,sBAEX;AAFD,WAAY,sBAAsB;IAChC,sDAA4B,CAAA;AAC9B,CAAC,EAFW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAEjC;AAED,IAAY,mBAIX;AAJD,WAAY,mBAAmB;IAC7B,sDAA+B,CAAA;IAC/B,2DAAoC,CAAA;IACpC,oDAA6B,CAAA;AAC/B,CAAC,EAJW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAI9B","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n EthereumBlock,\n EthereumBlockFilter,\n EthereumLog,\n EthereumLogFilter,\n EthereumTransaction,\n EthereumTransactionFilter,\n} from './ethereum';\nimport {ApiWrapper} from './interfaces';\n\nexport enum EthereumDatasourceKind {\n Runtime = 'ethereum/Runtime',\n}\n\nexport enum EthereumHandlerKind {\n Block = 'ethereum/BlockHandler',\n Call = 'ethereum/TransactionHandler',\n Event = 'ethereum/LogHandler',\n}\n\nexport type EthereumRuntimeHandlerInputMap = {\n [EthereumHandlerKind.Block]: EthereumBlock;\n [EthereumHandlerKind.Call]: EthereumTransaction;\n [EthereumHandlerKind.Event]: EthereumLog;\n};\n\ntype EthereumRuntimeFilterMap = {\n [EthereumHandlerKind.Block]: EthereumBlockFilter;\n [EthereumHandlerKind.Event]: EthereumLogFilter;\n [EthereumHandlerKind.Call]: EthereumTransactionFilter;\n};\n\nexport interface ProjectManifest {\n specVersion: string;\n description: string;\n repository: string;\n\n schema: string;\n\n network: {\n endpoint: string | string[];\n };\n\n dataSources: SubqlDatasource[];\n bypassBlocks?: number[];\n}\n\nexport interface SubqlBlockHandler {\n handler: string;\n kind: EthereumHandlerKind.Block;\n filter?: EthereumBlockFilter;\n}\n\nexport interface SubqlCallHandler {\n handler: string;\n kind: EthereumHandlerKind.Call;\n filter?: EthereumTransactionFilter;\n}\n\nexport interface SubqlEventHandler {\n handler: string;\n kind: EthereumHandlerKind.Event;\n filter?: EthereumLogFilter;\n}\n\nexport interface SubqlCustomHandler<K extends string = string, F = Record<string, unknown>> {\n handler: string;\n kind: K;\n filter?: F;\n}\n\nexport type SubqlRuntimeHandler = SubqlBlockHandler | SubqlCallHandler | SubqlEventHandler;\n\nexport type SubqlHandler = SubqlRuntimeHandler | SubqlCustomHandler<string, unknown>;\n\nexport type SubqlHandlerFilter = EthereumBlockFilter | EthereumTransactionFilter | EthereumLogFilter;\n\nexport interface SubqlMapping<T extends SubqlHandler = SubqlHandler> {\n file: string;\n handlers: T[];\n}\n\ninterface ISubqlDatasource<M extends SubqlMapping> {\n name?: string;\n kind: string;\n startBlock?: number;\n mapping: M;\n}\n\nexport interface SubqlEthereumProcessorOptions {\n abi?: string;\n address?: string;\n}\n\nexport interface SubqlRuntimeDatasource<M extends SubqlMapping<SubqlRuntimeHandler> = SubqlMapping<SubqlRuntimeHandler>>\n extends ISubqlDatasource<M> {\n kind: EthereumDatasourceKind.Runtime;\n options?: SubqlEthereumProcessorOptions;\n assets?: Map<string, {file: string}>;\n}\n\nexport interface SubqlNetworkFilter {\n specName?: string;\n}\n\nexport type SubqlDatasource = SubqlRuntimeDatasource | SubqlCustomDatasource;\n\nexport interface FileReference {\n file: string;\n}\n\nexport type CustomDataSourceAsset = FileReference;\n\nexport type Processor<O = any> = FileReference & {options?: O};\n\nexport interface SubqlCustomDatasource<\n K extends string = string,\n M extends SubqlMapping = SubqlMapping<SubqlCustomHandler>,\n O = any\n> extends ISubqlDatasource<M> {\n kind: K;\n assets: Map<string, CustomDataSourceAsset>;\n options?: SubqlEthereumProcessorOptions;\n processor: Processor<O>;\n}\n\nexport interface HandlerInputTransformer_0_0_0<\n T extends EthereumHandlerKind,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n (input: EthereumRuntimeHandlerInputMap[T], ds: DS, api: ApiWrapper, assets?: Record<string, string>): Promise<E>; // | SubstrateBuiltinDataSource\n}\n\nexport interface HandlerInputTransformer_1_0_0<\n T extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n (params: {\n input: EthereumRuntimeHandlerInputMap[T];\n ds: DS;\n filter?: F;\n api: ApiWrapper;\n assets?: Record<string, string>;\n }): Promise<E[]>; // | SubstrateBuiltinDataSource\n}\n\nexport interface DictionaryQueryCondition {\n field: string;\n value: string | string[];\n matcher?: string;\n}\n\nexport interface DictionaryQueryEntry {\n entity: string;\n conditions: DictionaryQueryCondition[];\n}\n\nexport type SecondLayerHandlerProcessorArray<\n K extends string,\n F,\n T,\n DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>\n> =\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Block, F, T, DS>\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Call, F, T, DS>\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Event, F, T, DS>;\n\nexport interface SubqlDatasourceProcessor<\n K extends string,\n F,\n DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>,\n P extends Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>> = Record<\n string,\n SecondLayerHandlerProcessorArray<K, F, any, DS>\n >\n> {\n kind: K;\n validate(ds: DS, assets: Record<string, string>): void;\n dsFilterProcessor(ds: DS, api: ApiWrapper): boolean;\n handlerProcessors: P;\n}\n\ninterface SecondLayerHandlerProcessorBase<\n K extends EthereumHandlerKind,\n F,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n baseHandlerKind: K;\n baseFilter: EthereumRuntimeFilterMap[K] | EthereumRuntimeFilterMap[K][];\n filterValidator: (filter?: F) => void;\n dictionaryQuery?: (filter: F, ds: DS) => DictionaryQueryEntry | undefined;\n}\n\nexport interface SecondLayerHandlerProcessor_0_0_0<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> extends SecondLayerHandlerProcessorBase<K, F, DS> {\n specVersion: undefined;\n transformer: HandlerInputTransformer_0_0_0<K, E, DS>;\n filterProcessor: (filter: F | undefined, input: EthereumRuntimeHandlerInputMap[K], ds: DS) => boolean;\n}\n\nexport interface SecondLayerHandlerProcessor_1_0_0<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> extends SecondLayerHandlerProcessorBase<K, F, DS> {\n specVersion: '1.0.0';\n transformer: HandlerInputTransformer_1_0_0<K, F, E, DS>;\n filterProcessor: (params: {filter: F | undefined; input: EthereumRuntimeHandlerInputMap[K]; ds: DS}) => boolean;\n}\n\nexport type SecondLayerHandlerProcessor<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> = SecondLayerHandlerProcessor_0_0_0<K, F, E, DS> | SecondLayerHandlerProcessor_1_0_0<K, F, E, DS>;\n"]}
1
+ {"version":3,"file":"project.js","sourceRoot":"","sources":["../src/project.ts"],"names":[],"mappings":";AAAA,8DAA8D;AAC9D,mCAAmC;;;AA2BnC;;;GAGG;AACH,IAAY,sBAKX;AALD,WAAY,sBAAsB;IAChC;;OAEG;IACH,sDAA4B,CAAA;AAC9B,CAAC,EALW,sBAAsB,GAAtB,8BAAsB,KAAtB,8BAAsB,QAKjC;AAED;;;GAGG;AACH,IAAY,mBAaX;AAbD,WAAY,mBAAmB;IAC7B;;OAEG;IACH,sDAA+B,CAAA;IAC/B;;OAEG;IACH,2DAAoC,CAAA;IACpC;;OAEG;IACH,oDAA6B,CAAA;AAC/B,CAAC,EAbW,mBAAmB,GAAnB,2BAAmB,KAAnB,2BAAmB,QAa9B","sourcesContent":["// Copyright 2020-2023 SubQuery Pte Ltd authors & contributors\n// SPDX-License-Identifier: GPL-3.0\n\nimport {\n BaseTemplateDataSource,\n IProjectNetworkConfig,\n CommonSubqueryProject,\n DictionaryQueryEntry,\n FileReference,\n Processor,\n ProjectManifestV1_0_0,\n} from '@subql/types-core';\nimport {\n EthereumBlock,\n EthereumBlockFilter,\n EthereumLog,\n EthereumLogFilter,\n EthereumTransaction,\n EthereumTransactionFilter,\n LightEthereumLog,\n} from './ethereum';\nimport {ApiWrapper} from './interfaces';\n\nexport type RuntimeDatasourceTemplate = BaseTemplateDataSource<SubqlDatasource>;\nexport type CustomDatasourceTemplate = BaseTemplateDataSource<SubqlCustomDatasource>;\n\nexport type EthereumProjectManifestV1_0_0 = ProjectManifestV1_0_0<SubqlRuntimeDatasource | SubqlCustomDatasource>;\n\n/**\n * Kind of Ethereum datasource.\n * @enum {string}\n */\nexport enum EthereumDatasourceKind {\n /**\n * The runtime kind of Ethereum datasource.\n */\n Runtime = 'ethereum/Runtime',\n}\n\n/**\n * Enum representing the kind of Ethereum handler.\n * @enum {string}\n */\nexport enum EthereumHandlerKind {\n /**\n * Handler for Ethereum blocks.\n */\n Block = 'ethereum/BlockHandler',\n /**\n * Handler for Ethereum transactions.\n */\n Call = 'ethereum/TransactionHandler',\n /**\n * Handler for Ethereum log events.\n */\n Event = 'ethereum/LogHandler',\n}\n\nexport type EthereumRuntimeHandlerInputMap = {\n [EthereumHandlerKind.Block]: EthereumBlock;\n [EthereumHandlerKind.Call]: EthereumTransaction;\n [EthereumHandlerKind.Event]: EthereumLog | LightEthereumLog;\n};\n\ntype EthereumRuntimeFilterMap = {\n [EthereumHandlerKind.Block]: EthereumBlockFilter;\n [EthereumHandlerKind.Event]: EthereumLogFilter;\n [EthereumHandlerKind.Call]: EthereumTransactionFilter;\n};\n\n/**\n * Represents a handler for Ethereum blocks.\n * @type {SubqlCustomHandler<EthereumHandlerKind.Block, EthereumBlockFilter>}\n */\nexport type SubqlBlockHandler = SubqlCustomHandler<EthereumHandlerKind.Block, EthereumBlockFilter>;\n/**\n * Represents a handler for Ethereum transactions.\n * @type {SubqlCustomHandler<EthereumHandlerKind.Call, EthereumTransactionFilter>}\n */\nexport type SubqlCallHandler = SubqlCustomHandler<EthereumHandlerKind.Call, EthereumTransactionFilter>;\n/**\n * Represents a handler for Ethereum logs.\n * @type {SubqlCustomHandler<EthereumHandlerKind.Event, EthereumLogFilter>}\n */\nexport type SubqlEventHandler = SubqlCustomHandler<EthereumHandlerKind.Event, EthereumLogFilter>;\n\n/**\n * Represents a generic custom handler for Ethereum.\n * @interface\n * @template K - The kind of the handler (default: string).\n * @template F - The filter type for the handler (default: Record<string, unknown>).\n */\nexport interface SubqlCustomHandler<K extends string = string, F = Record<string, unknown>> {\n /**\n * The kind of handler. For `ethereum/Runtime` datasources this is either `Block`, `Call` or `Event` kinds.\n * The value of this will determine the filter options as well as the data provided to your handler function\n * @type {EthereumHandlerKind.Block | EthereumHandlerKind.Call | EthereumHandlerKind.Event | string }\n * @example\n * kind: EthereumHandlerKind.Block // Defined with an enum, this is used for runtime datasources\n\n */\n kind: K;\n /**\n * The name of your handler function. This must be defined and exported from your code.\n * @type {string}\n * @example\n * handler: 'handleBlock'\n */\n handler: string;\n /**\n * The filter for the handler. The handler kind will determine the possible filters (optional).\n *\n * @type {F}\n */\n filter?: F;\n}\n\n/**\n * Represents a runtime handler for Ethereum, which can be a block handler, transaction handler, or log handler.\n * @type {SubqlBlockHandler | SubqlCallHandler | SubqlEventHandler}\n */\nexport type SubqlRuntimeHandler = SubqlBlockHandler | SubqlCallHandler | SubqlEventHandler;\n\n/**\n * Represents a handler for Ethereum, which can be a runtime handler or a custom handler with unknown filter type.\n * @type {SubqlRuntimeHandler | SubqlCustomHandler<string, unknown>}\n */\nexport type SubqlHandler = SubqlRuntimeHandler | SubqlCustomHandler<string, unknown>;\n\n/**\n * Represents a filter for Ethereum runtime handlers, which can be a block filter, call filter, or event filter.\n * @type {EthereumBlockFilter | EthereumTransactionFilter | EthereumLogFilter}\n */\nexport type SubqlHandlerFilter = EthereumBlockFilter | EthereumTransactionFilter | EthereumLogFilter;\n\n/**\n * Represents a mapping for Ethereum handlers, extending FileReference.\n * @interface\n * @extends {FileReference}\n */\nexport interface SubqlMapping<T extends SubqlHandler = SubqlHandler> extends FileReference {\n /**\n * An array of handlers associated with the mapping.\n * @type {T[]}\n * @example\n * handlers: [{\n kind: EthereumHandlerKind.Call,\n handler: 'handleTransfer',\n filter: {\n to: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',\n }\n }]\n */\n handlers: T[];\n}\n\n/**\n * Represents a Ethereum datasource interface with generic parameters.\n * @interface\n * @template M - The mapping type for the datasource.\n */\ninterface ISubqlDatasource<M extends SubqlMapping> {\n /**\n * The kind of the datasource.\n * @type {string}\n * @example\n * kind: 'ethereum/Runtime'\n */\n kind: string;\n /**\n * The starting block number for the datasource. If not specified, 1 will be used (optional).\n * @type {number}\n * @default 1\n */\n startBlock?: number;\n /**\n * The mapping associated with the datasource.\n * This contains the handlers.\n * @type {M}\n */\n mapping: M;\n}\n\nexport interface SubqlEthereumProcessorOptions {\n /**\n * The name of the abi that is provided in the assets\n * This is the abi that will be used to decode transaction or log arguments\n * @example\n * abi: 'erc20',\n * */\n abi?: string;\n /**\n * The specific contract that this datasource should filter.\n * Alternatively this can be left blank and a transaction to filter can be used instead\n * @example\n * address: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',\n * */\n address?: string;\n}\n\n/**\n * Represents a runtime datasource for Ethereum.\n * @interface\n * @template M - The mapping type for the datasource (default: SubqlMapping<SubqlRuntimeHandler>).\n */\nexport interface SubqlRuntimeDatasource<M extends SubqlMapping<SubqlRuntimeHandler> = SubqlMapping<SubqlRuntimeHandler>>\n extends ISubqlDatasource<M> {\n /**\n * The kind of the datasource, which is `ethereum/Runtime`.\n * @type {EthereumDatasourceKind.Runtime}\n */\n kind: EthereumDatasourceKind.Runtime;\n /**\n * Options to specify details about the contract and its interface\n * @example\n * options: {\n * abi: 'erc20',\n * address: '0x220866B1A2219f40e72f5c628B65D54268cA3A9D',\n * }\n * */\n options?: SubqlEthereumProcessorOptions;\n /**\n * ABI or contract artifact files that are used for decoding.\n * These are used for codegen to generate handler inputs and contract interfaces\n * @example\n * assets: new Map([\n * ['erc721', { file: \"./abis/erc721.json\" }],\n * ['erc1155', { file: \"./abis/erc1155.json\" }],\n * ])\n * */\n assets?: Map<string, FileReference>;\n}\n\nexport type SubqlDatasource = SubqlRuntimeDatasource | SubqlCustomDatasource;\n\nexport type CustomDataSourceAsset = FileReference;\n\nexport interface SubqlCustomDatasource<\n K extends string = string,\n M extends SubqlMapping = SubqlMapping<SubqlCustomHandler>,\n O = any\n> extends ISubqlDatasource<M> {\n kind: K;\n assets: Map<string, CustomDataSourceAsset>;\n options?: SubqlEthereumProcessorOptions;\n processor: Processor<O>;\n}\n\nexport interface HandlerInputTransformer_0_0_0<\n T extends EthereumHandlerKind,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n (input: EthereumRuntimeHandlerInputMap[T], ds: DS, api: ApiWrapper, assets?: Record<string, string>): Promise<E>; // | EthereumBuiltinDataSource\n}\n\nexport interface HandlerInputTransformer_1_0_0<\n T extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n (params: {\n input: EthereumRuntimeHandlerInputMap[T];\n ds: DS;\n filter?: F;\n api: ApiWrapper;\n assets?: Record<string, string>;\n }): Promise<E[]>; // | EthereumBuiltinDataSource\n}\n\nexport type SecondLayerHandlerProcessorArray<\n K extends string,\n F,\n T,\n DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>\n> =\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Block, F, T, DS>\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Call, F, T, DS>\n | SecondLayerHandlerProcessor<EthereumHandlerKind.Event, F, T, DS>;\n\nexport interface SubqlDatasourceProcessor<\n K extends string,\n F,\n DS extends SubqlCustomDatasource<K> = SubqlCustomDatasource<K>,\n P extends Record<string, SecondLayerHandlerProcessorArray<K, F, any, DS>> = Record<\n string,\n SecondLayerHandlerProcessorArray<K, F, any, DS>\n >\n> {\n kind: K;\n validate(ds: DS, assets: Record<string, string>): void;\n dsFilterProcessor(ds: DS, api: ApiWrapper): boolean;\n handlerProcessors: P;\n}\n\ninterface SecondLayerHandlerProcessorBase<\n K extends EthereumHandlerKind,\n F,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> {\n baseHandlerKind: K;\n baseFilter: EthereumRuntimeFilterMap[K] | EthereumRuntimeFilterMap[K][];\n filterValidator: (filter?: F) => void;\n dictionaryQuery?: (filter: F, ds: DS) => DictionaryQueryEntry | undefined;\n}\n\nexport interface SecondLayerHandlerProcessor_0_0_0<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> extends SecondLayerHandlerProcessorBase<K, F, DS> {\n specVersion: undefined;\n transformer: HandlerInputTransformer_0_0_0<K, E, DS>;\n filterProcessor: (filter: F | undefined, input: EthereumRuntimeHandlerInputMap[K], ds: DS) => boolean;\n}\n\nexport interface SecondLayerHandlerProcessor_1_0_0<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> extends SecondLayerHandlerProcessorBase<K, F, DS> {\n specVersion: '1.0.0';\n transformer: HandlerInputTransformer_1_0_0<K, F, E, DS>;\n filterProcessor: (params: {filter: F | undefined; input: EthereumRuntimeHandlerInputMap[K]; ds: DS}) => boolean;\n}\n\nexport type SecondLayerHandlerProcessor<\n K extends EthereumHandlerKind,\n F,\n E,\n DS extends SubqlCustomDatasource = SubqlCustomDatasource\n> = SecondLayerHandlerProcessor_0_0_0<K, F, E, DS> | SecondLayerHandlerProcessor_1_0_0<K, F, E, DS>;\n\n/**\n * Represents a Ethereum subquery network configuration, which is based on the CommonSubqueryNetworkConfig template.\n * @type {IProjectNetworkConfig}\n */\nexport type EthereumNetworkConfig = IProjectNetworkConfig;\n\n/**\n * Represents a Ethereum project configuration based on the CommonSubqueryProject template.\n * @type {CommonSubqueryProject<EthereumNetworkConfig, SubqlDatasource, RuntimeDatasourceTemplate | CustomDatasourceTemplate>}\n */\nexport type EthereumProject<DS extends SubqlDatasource = SubqlRuntimeDatasource> = CommonSubqueryProject<\n EthereumNetworkConfig,\n SubqlRuntimeDatasource | DS,\n BaseTemplateDataSource<SubqlRuntimeDatasource> | BaseTemplateDataSource<DS>\n>;\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@subql/types-ethereum",
3
- "version": "2.2.4",
3
+ "version": "2.2.6-0",
4
4
  "description": "",
5
5
  "homepage": "https://github.com/subquery/subql",
6
6
  "repository": "github:subquery/subql",
@@ -16,6 +16,8 @@
16
16
  "/dist"
17
17
  ],
18
18
  "dependencies": {
19
- "@ethersproject/abstract-provider": "^5.6.1"
20
- }
19
+ "@ethersproject/abstract-provider": "^5.6.1",
20
+ "@subql/types-core": "0.0.1"
21
+ },
22
+ "stableVersion": "2.2.5"
21
23
  }