dipdup-io / dipdup

Modular framework for creating selective indexers and featureful backends for dapps
https://dipdup.io
MIT License
92 stars 52 forks source link

Could not get FA2 Token Storage #347

Closed Karantezsure closed 2 years ago

Karantezsure commented 2 years ago

Steps to reproduce:

What did you expect to happen: Getting the FA2 Storage and will be using it in handler

What actually happened: Could not get

Environment

Error Logs

INFO apscheduler.scheduler Scheduler has been shut down WARNING dipdup.http HTTP request attempt 1/inf failed: [Errno 1] [SSL: APPLICATION_DATA_AFTER_CLOSE_NOTIFY] application data after close notify (_ssl.c:2758) INFO dipdup.http Waiting 1.0 seconds before retry Traceback (most recent call last): File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/bin/dipdup", line 8, in sys.exit(cli()) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 1150, in call return anyio.run(self._main, main, args, kwargs, ({"backend":_anyio_backend} if _anyio_backend is not None else {})) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/anyio/_core/_eventloop.py", line 70, in run return asynclib.run(func, *args, backend_options) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 292, in run return native_run(wrapper(), debug=debug) File "/usr/lib/python3.8/asyncio/runners.py", line 44, in run return loop.run_until_complete(main) File "/usr/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete return future.result() File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 287, in wrapper return await func(args) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 1153, in _main return await main(args, kwargs) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 1074, in main rv = await self.invoke(ctx) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 1684, in invoke return await _process_result(await sub_ctx.command.invoke(sub_ctx)) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 1420, in invoke return await ctx.invoke(self.callback, *ctx.params) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/asyncclick/core.py", line 774, in invoke rv = await rv File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/cli.py", line 94, in wrapper await fn(args, kwargs) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/cli.py", line 215, in run await dipdup.run() File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/dipdup.py", line 370, in run await gather(tasks) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/dipdup.py", line 122, in run await gather(tasks) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/index.py", line 206, in process await self._synchronize(sync_level) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/index.py", line 327, in _synchronize await self._process_level_operations(operation_subgroups) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/index.py", line 369, in _process_level_operations matched_handlers += await self._match_operation_subgroup(operation_subgroup) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/index.py", line 450, in _match_operation_subgroup args = await self._prepare_handler_args(handler_config, matched_operations) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/index.py", line 487, in _prepare_handler_args storage = deserialize_storage(operation_data, storage_type) File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/datasources/tzkt/models.py", line 182, in deserialize_storage operation_data.storage = _process_storage( File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/datasources/tzkt/models.py", line 166, in _process_storage value_type = get_dict_value_type(storage_type, key) # type: ignore File "/home/karan/.cache/pypoetry/virtualenvs/plentyindexer-RVCgjmjQ-py3.8/lib/python3.8/site-packages/dipdup/datasources/tzkt/models.py", line 89, in get_dict_value_type raise KeyError(f'Field {key} not found in {dict_type}') KeyError: "Field admin not found in <class 'plenty.types.fa2_token.storage.Fa2TokenStorage'>"

droserasprout commented 2 years ago

Run init --overwrite-types command. If it doesn't help, please provide your config for further investigation.

Karantezsure commented 2 years ago
spec_version: 1.2
package: plenty

# database:
#   kind: postgres
#   host: db
#   port: 5432
#   user: postgres
#   password: plenty
#   database: dipdup
#   schema_name: public

database:
   kind: sqlite
   path: demo.sqlite3

# hasura:
#   url: http://hasura:8080
#   admin_secret: rid3^OmbHUy@ZW2IV%5U
#   allow_aggregations: False
#   camel_case: true
#   select_limit: 100

contracts:
  plenty_token:
    address: KT1GRSvLoikDsXujKgZPsGLX8k8VvR2Tq95b
    typename: fa12_token
  plenty_ctez_amm:
    address: KT1C9gJRfkpPbNdBn3XyYbrUHT6XgfPzZqXP
    typename: plenty_fa12_fa12
  plenty_ctez_lp:
    address: KT1LdX5pUkZZGwYPePcAFSpETbqfbGCwJpfw
    typename: lp_fa12
  ctez_token:
    address: KT1SjXiUX63QvdNMcM2m492f7kuf8JxXRLp4
    typename: fa12_token
  plenty_wbusd_amm:
    address: KT1XXAavg3tTj12W1ADvd3EEnm1pu6XTmiEF
    typename: plenty_fa2_fa12
  plenty_wbusd_lp:
    address: KT1UC3vcVZ4K9b39uQxaMNA2N1RuJXKLCnoA
    typename: lp_fa12
  wbusd_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_wusdc_amm:
    address: KT1PuPNtDFLR6U7e7vDuxunDoKasVT6kMSkz
    typename: plenty_fa2_fa12
  plenty_wusdc_lp:
    address: KT1Gz1mx1jm7JHqU7GuMVWF6soB9RjsfLN3o
    typename: lp_fa12
  wusdc_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_wwbtc_amm:
    address: KT19Dskaofi6ZTkrw3Tq4pK7fUqHqCz4pTZ3
    typename: plenty_fa2_fa12
  plenty_wwbtc_lp:
    address: KT1La1qZiJtDRcd9ek8w5KYD47i9MQqAQHmP
    typename: lp_fa12
  wwbtc_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_wmatic_amm:
    address: KT1VeNQa4mucRj36qAJ9rTzm4DTJKfemVaZT
    typename: plenty_fa2_fa12
  plenty_wmatic_lp:
    address: KT1WCGPFvy97wwGxewKfvTr1QYPvpEgUKToS
    typename: lp_fa12
  wmatic_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_wlink_amm:
    address: KT1XVrXmWY9AdVri6KpxKo4CWxizKajmgzMt
    typename: plenty_fa2_fa12
  plenty_wlink_lp:
    address: KT1Brqb3JvXNKzwjW82F8pUAxQ7ipCfApWki
    typename: lp_fa12
  wlink_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_usdtz_amm:
    address: KT1D36ZG99YuhoCRZXLL86tQYAbv36bCq9XM
    typename: plenty_fa1_fa12
  plenty_usdtz_lp:
    address: KT18qSo4Ch2Mfq4jP3eME7SWHB8B8EDTtVBu
    typename: lp_fa12
  usdtz_token:
    address: KT1LN4LPSqTMS7Sd2CJw4bbDGRkMv2t68Fy9
    typename: fa1_token
  plenty_hdao_amm:
    address: KT1XutoFJ9dXvWxT7ttG86N2tSTUEpatFVTm
    typename: plenty_fa2_fa12
  plenty_hdao_lp:
    address: KT1B2SzTBtb7PgTePbDLV5BmUZQ2PC1sdSHZ
    typename: lp_fa12
  hdao_token:
    address: KT1AFA2mwNUMNd4SsujE1YYp29vd8BZejyKW
    typename: fa2_token
  plenty_ethtz_amm:
    address: KT1AbuUaPQmYLsB8n8FdSzBrxvrsm8ctwW1V
    typename: plenty_fa1_fa12
  plenty_ethtz_lp:
    address: KT1VvcbAjMWHVUbhLENpiVBejbzXYDt3PusE
    typename: lp_fa12
  ethtz_token:
    address: KT19at7rQUvyjxnZ2fBv7D9zc8rkyG7gAoU8
    typename: fa1_token
  plenty_wweth_amm:
    address: KT1HUnqM6xFJa51PM2xHfLs7s6ARvXungtyq
    typename: plenty_fa2_fa12
  plenty_wweth_lp:
    address: KT1SULRhejhoBWUmMnU53YHJrQZ3rxqsamdm
    typename: lp_fa12
  wweth_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_kusd_amm:
    address: KT1UNBvCJXiwJY6tmHM7CJUVwNPew53XkSfh
    typename: plenty_fa12_fa12
  plenty_kusd_lp:
    address: KT1XTpd8JPexGxBL2dAmU9h2o9fcd9LEUG2t
    typename: lp_fa12
  kusd_token:
    address: KT1K9gCRgaLRFKTErYt1wVxA3Frb9FjasjTV
    typename: fa12_token
  plenty_quipu_amm:
    address: KT1NtsnKQ1c3rYB12ZToP77XaJs8WDBvF221
    typename: plenty_fa2_fa12
  plenty_quipu_lp:
    address: KT1VDSyTqS95wkB4tRGy6saMa4izRKwrEg26
    typename: lp_fa12
  quipu_token:
    address: KT193D4vozYnhGJQVtw7CoxxqphqUEEwK6Vb
    typename: fa2_token
  plenty_tzbtc_amm:
    address: KT1HaDP8fRW7kavK2beST7o4RvzuvZbn5VwV
    typename: plenty_fa12_fa12
  plenty_tzbtc_lp:
    address: KT1SqQimKz3RbQbckpSHhn4nanUmDuRqkFH3
    typename: lp_fa12
  tzbtc_token:
    address: KT1PWx2mnDueood7fEmfbBDKx1D9BAnnXitn
    typename: fa12_token
  plenty_wrap_amm:
    address: KT1C2SXoGcje3VVMJHKRVhYXuWuNmv5ztJcw
    typename: plenty_fa2_fa12
  plenty_wrap_lp:
    address: KT1AHndbp9xVpaJrfTHfYzSXKHDVHMdKxcW2
    typename: lp_fa12
  wrap_token:
    address: KT1LRboPna9yQY9BrjtQYDS1DVxhKESK4VVd
    typename: fa2_token
  plenty_uno_amm:
    address: KT1Wu8fGYxX5DfxYP8P97ZUNzrXFKjsWm7dD
    typename: plenty_fa2_fa12
  plenty_uno_lp:
    address: KT1B6ALzWXQp5wUavuo2VTMNjRdTGm8wx37w
    typename: lp_fa12
  uno_token:
    address: KT1ErKVqEhG9jxXgUG2KGLW3bNM7zXHX8SDF
    typename: fa2_token
  plenty_kalam_amm:
    address: KT1HZkD2T4uczgYkZ6fb9gm1fymeJoRuezLz
    typename: plenty_fa2_fa12
  plenty_kalam_lp:
    address: KT1G3QTnrpWNhZr9x3Prprw3GH6gAMqV113D
    typename: lp_fa12
  kalam_token:
    address: KT1A5P4ejnLix13jtadsfV9GCnXLMNnab8UT
    typename: fa2_token
  plenty_smak_amm:
    address: KT1BEC9uHmADgVLXCm3wxN52qJJ85ohrWEaU
    typename: plenty_fa12_fa12
  plenty_smak_lp:
    address: KT1NLZah1MKeWuveQvdsCqAUCjksKw8J296z
    typename: lp_fa12
  smak_token:
    address: KT1TwzD6zV3WeJ39ukuqxcfK2fJCnhvrdN1X
    typename: fa12_token
  plenty_uusd_amm:
    address: KT1Cba383ZJpEearqnUyUKUMsgu5Z3TXBgeH
    typename: plenty_fa2_fa12
  plenty_uusd_lp:
    address: KT1E8CrG6uznYAG9vZVGtApMJwwTScxPEUKq
    typename: lp_fa12
  uusd_token:
    address: KT1XRPEPXbZK25r3Htzp2o1x7xdMMmfocKNW
    typename: fa2_token
  plenty_gif_amm:
    address: KT1Cge8y4JG6Bi8dGKf1bUfpCAv2AiW6MjtW
    typename: plenty_fa2_fa12
  plenty_gif_lp:
    address: KT1MVLRQ7K7275oHDvbtKcUzNJsPBstZGKUp
    typename: lp_fa12
  gif_token:
    address: KT1XTxpQvo7oRCqp85LikEZgAZ22uDxhbWJv
    typename: fa2_token
  plenty_wusdt_amm:
    address: KT1Bi4yoALg6tuP4PKaFNDtSsDdpGLrDiGAS
    typename: plenty_fa2_fa12
  plenty_wusdt_lp:
    address: KT1PcM1LUqgVdkXqKvZ4CeC9aiwLgYYCEHMH
    typename: lp_fa12
  wusdt_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_wdai_amm:
    address: KT1KDmpYSDogNtEtEnEaHQLaySuqLr8aEfJW
    typename: plenty_fa2_fa12
  plenty_wdai_lp:
    address: KT19vdNapeT6MALXvkvW745KiVKGXmD4AZq5
    typename: lp_fa12
  wdai_token:
    address: KT18fp5rcTW7mbWDmzFwjLDUhs5MeJmagDSZ
    typename: fa2_token
  plenty_you_amm:
    address: KT1EM6NjJdJXmz3Pj13pfu3MWVDwXEQnoH3N
    typename: plenty_fa2_fa12
  plenty_you_lp:
    address: KT1UaU5fbSYqYeFmhmsjLkqQXZ1ZG54Qs2vh
    typename: lp_fa12
  you_token:
    address: KT1Xobej4mc6XgEjDoJoHtTKgbD1ELMvcQuL
    typename: fa2_token
  kusd_usdtz_amm:
    address: KT1TnsQ6JqzyTz5PHMsGj28WwJyBtgc146aJ
    typename: plenty_fa1_fa12
  kusd_usdtz_lp:
    address: KT1HEdGi7rq1zgZ68dhAtKMZYKeD3EM5vYdf
    typename: lp_fa12
  wusdc_usdtz_amm:
    address: KT1EJMMismkf6TQdMzgx8hb1HpiiRVV8ZSm4
    typename: plenty_fa1_fa2
  wusdc_usdtz_lp:
    address: KT1FaoPYSyT4itmgTncvdshV7SeqqXk9RJXd
    typename: lp_fa12
  wweth_ethtz_amm:
    address: KT196bPdVJqY1DF3y7aQ9Cn5tcGQeMrrjWTp
    typename: plenty_fa1_fa2
  wweth_ethtz_lp:
    address: KT1GubVxQVJucUJfJvysvAJKWpLwj3LKuWHn
    typename: lp_fa12
  uusd_wusdc_amm:
    address: KT1JbUFVGrMCpW39UtH97dMkG2nMMrefQLLa
    typename: plenty_fa2_fa2
  uusd_wusdc_lp:
    address: KT1A2W6mBjn49yqzjJbt9T7xNVD9gDeL45qD
    typename: lp_fa12
  uusd_you_amm:
    address: KT1TnrLFrdemNZ1AnnWNfi21rXg7eknS484C
    typename: plenty_fa2_fa2
  uusd_you_lp:
    address: KT1Tmncfgpp4ZSp6aEogL7uhBqHTiKsSPegK
    typename: lp_fa12
  uusd_udefi_amm:
    address: KT1EAw8hL5zseB3SLpJhBqPQfP9aWrWh8iMW
    typename: plenty_fa2_fa2
  uusd_udefi_lp:
    address: KT1RQvdYD9yc763j8FiVLyXbKPVVbZqGRx5m
    typename: lp_fa12
  udefi_token:
    address: KT1XRPEPXbZK25r3Htzp2o1x7xdMMmfocKNW
    typename: fa2_token
  ctez_wrap_amm:
    address: KT19Qe4KbEVAiaVeNsgo9Tkqa6qvZho8c4W5
    typename: plenty_fa2_fa12
  ctez_wrap_lp:
    address: KT1MX73dim8HKqQLjTHvkJnpRUp37C1HXdkt
    typename: lp_fa12
  ctez_usdtz_amm:
    address: KT1PWAXfPatPWBNJUxTHin4ECin1kYJHHnsr
    typename: plenty_fa1_fa2
  ctez_usdtz_lp:
    address: KT1DQfEUBsaZo43G3j1CbFF9BiWZXS72DuCh
    typename: lp_fa12
  ctez_wwbtc_amm:
    address: KT1XPUvZHc1YKTJYnGbB755V95hDgvS1qQYf
    typename: plenty_fa2_fa12
  ctez_wwbtc_lp:
    address: KT1XWRUcvtcgpsETcasdUnNkq9rJeWmz8ihD
    typename: lp_fa12
  ctez_wusdc_amm:
    address: KT1PZpbmKtGE6ZyYeF8entfjuGGT7CRUCF5g
    typename: plenty_fa2_fa12
  ctez_wusdc_lp:
    address: KT1SXZTX9ZCW5atMnBng1y4pmdS2xi231oMt
    typename: lp_fa12
  ctez_wusdt_amm:
    address: KT1AfTwam4bNPawLv4bWqSj9GsVDPsf5F5bQ
    typename: plenty_fa2_fa12
  ctez_wusdt_lp:
    address: KT1KgCx6CYVSyLxfiFdo5hVuMwZBPQy1XZaf
    typename: lp_fa12
  ctez_wbusd_amm:
    address: KT1GN7PHpFsH43ypFyE2hxNMdxqTuiCGm4Pm
    typename: plenty_fa2_fa12
  ctez_wbusd_lp:
    address: KT1K7GRKUWzfNJ9jzGprb13XDVqqp6GE67ZU
    typename: lp_fa12
  ctez_wdai_amm:
    address: KT1L5qd9xPWjiEX6ZNovhaty228ASg6jCE5p
    typename: plenty_fa2_fa12
  ctez_wdai_lp:
    address: KT1VLLdUaMfFbJw87b1PaVG1ac6UYM5xzqC5
    typename: lp_fa12
  ctez_kalam_amm:
    address: KT1HuZVo3ZKRhkaHDsYXZ2fvmVfkY1FrbEDj
    typename: plenty_fa2_fa12
  ctez_kalam_lp:
    address: KT1N3mKQMnWEwt4FB3J4qP2X8LwYgndGDZrn
    typename: lp_fa12
  ctez_gif_amm:
    address: KT1VnFPwDGJRt5ufMgcWafM2WWcZCC77gpT3
    typename: plenty_fa2_fa12
  ctez_gif_lp:
    address: KT1KdPxrn7UTx6CUWxuUBaGx4bVv6ZJKWUWr
    typename: lp_fa12
  ctez_ethtz_amm:
    address: KT1GSYhwanehtwCK3NPfkMFbD1bNQmvosbqL
    typename: plenty_fa1_fa12
  ctez_ethtz_lp:
    address: KT1GAvdLT9tkpKkRmkuChuL9T83esBtatgKm
    typename: lp_fa12
  ctez_quipu_amm:
    address: KT1Ss8rb1UFVqG2LYEU5g4NEbK5SqW5Xadwp
    typename: plenty_fa2_fa12
  ctez_quipu_lp:
    address: KT1C6Q4Mnnpns8vSQy7kJitZNMsED24SMw9m
    typename: lp_fa12
  ctez_hdao_amm:
    address: KT1RSxExbbRwQdYBpRHWup9vxvw1Hp25vFVM
    typename: plenty_fa2_fa12
  ctez_hdao_lp:
    address: KT1DidqBuSaxGbVaDq2gLVkfh262dYyoGeSH
    typename: lp_fa12
  ctez_tzbtc_amm:
    address: KT1Wryxte8NnVCm569yb8dcSPmvFBVs4ufD6
    typename: plenty_fa12_fa12
  ctez_tzbtc_lp:
    address: KT1TMZjKBvSVKzETZTyRsTxYEu4uZLLs6VpJ
    typename: lp_fa12
  ctez_wweth_amm:
    address: KT1WwqM2MH38PSQbECxPngBVLSbqJUHzCFAH
    typename: plenty_fa2_fa12
  ctez_wweth_lp:
    address: KT1BAiXZkKG4R9W7LAKiAQahC8Wg7ZpJBaEs
    typename: lp_fa12
  ctez_uusd_amm:
    address: KT1Rx3pQzsn4FBuuYhcWsqUS7vWFx3ktqSWD
    typename: plenty_fa2_fa12
  ctez_uusd_lp:
    address: KT1BX8F7Xrtsy1tJ91iLovu4nJ8ZyVv4Dac2
    typename: lp_fa12
  ctez_smak_amm:
    address: KT1Qg4FmXDmViQgyYLT5QkgZQSmPKvKjZbzn
    typename: plenty_fa12_fa12
  ctez_smak_lp:
    address: KT1NeR3ExLddfdAbs5nwpQMm6DqBekyJTc4R
    typename: lp_fa12
  ctez_uno_amm:
    address: KT1XLFZ2RS8vCUmHwBG39mq7zELhnLKn9JUz
    typename: plenty_fa2_fa12
  ctez_uno_lp:
    address: KT1WKWhTNMY4h4eHunbsnJ1oAtDWXCz4qNQm
    typename: lp_fa12
  ctez_paul_amm:
    address: KT1LixgLzdK4nseeD6MmmVpokuw9CvpVX9KW
    typename: plenty_fa1_fa12
  ctez_paul_lp:
    address: KT1N93veCzepAPydFGGUhDFiA69PoawasxXi
    typename: lp_fa12
  paul_token:
    address: KT19DUSZw7mfeEATrbWVPHRrWNVbNnmfFAE6
    typename: fa1_token
  ctez_pixel_amm:
    address: KT1WR19YA8Go6GbTvtrMpUEEGSuQYxgz2ZVW
    typename: plenty_fa2_fa12
  ctez_pixel_lp:
    address: KT1GhzTxzgXgdv1rRCppAB5D4poXiUgp8yoU
    typename: lp_fa12
  pixel_token:
    address: KT1F1mn2jbqQCJcsNgYKVAQjvenecNMY2oPK
    typename: fa2_token
  ctez_insta_amm:
    address: KT1EnESbHxmzd2XeENyYNege4L5TKxeatJk9
    typename: plenty_fa2_fa12
  ctez_insta_lp:
    address: KT1GkTwzN2gR6UdBicDSu2JEaRtv5KAPunrj
    typename: lp_fa12
  insta_token:
    address: KT19y6R8x53uDKiM46ahgguS6Tjqhdj2rSzZ
    typename: fa2_token
  ctez_crdao_amm:
    address: KT1JkHBYp3Pq4TRSkFdc2CRoXFgDkJrfCqUe
    typename: plenty_fa2_fa12
  ctez_crdao_lp:
    address: KT1MQcJCLZL8ASHYGmT5LVzeXV64ruy7RAuH
    typename: lp_fa12
  crdao_token:
    address: KT1XPFjZqCULSnqfKaaYy8hJjeY63UNSGwXg
    typename: fa2_token
  ctez_flame_amm:
    address: KT1Bp3JAeeMP4GvJaspFw6zah6WydqqqHPNw
    typename: plenty_fa2_fa12
  ctez_flame_lp:
    address: KT1UfvQiYexnpag6rZ3LMGsn5YFiEHrXrtbq
    typename: lp_fa12
  flame_token:
    address: KT1Wa8yqRBpFCusJWgcQyjhRz7hUQAmFxW7j
    typename: fa2_token
  ctez_kdao_amm:
    address: KT1SP9WsMeLFTiHBXqEumTASYbF3CXh22aVV
    typename: plenty_fa1_fa12
  ctez_kdao_lp:
    address: KT1KmkH1T2CQV2Q5AcMeZy3GHhwNac48FBap
    typename: lp_fa12
  kdao_token:
    address: KT1JkoE42rrMBP9b2oDhbx6EUr26GcySZMUH
    typename: fa1_token
  ctez_kusd_amm:
    address: KT1X1nkqJDR1UHwbfpcnME5Z7agJLjUQNguB
    typename: plenty_fa12_fa12
  ctez_kusd_lp:
    address: KT19bFNh8pZCRtTy7Pi9kpEcb2Yd7KWArAik
    typename: lp_fa12
  ctez_crunch_amm:
    address: KT1WZztBneC9NrhVqvo9yXq8St7p8c1JVTxm
    typename: plenty_fa2_fa12
  ctez_crunch_lp:
    address: KT1QSA2SMDEKzEnJhGrVGheWb94Ux8Wyfuy6
    typename: lp_fa12
  crunch_token:
    address: KT1BHCumksALJQJ8q8to2EPigPW6qpyTr7Ng
    typename: fa2_token

datasources:
  tzkt_mainnet:
    kind: tzkt
    url: https://api.tzkt.io

templates:
  plenty_amm_fa12_to_fa12:
    kind: operation
    datasource: tzkt_mainnet
    contracts:
      - <amm_contract>
    types:
      - transaction
      - origination
    handlers:
      - callback: on_fa12_fa12_origination
        pattern:
          - type: origination
            originated_contract: <amm_contract>
      - callback: on_fa12_token1_to_fa12_token2  # token 1 = most of the time plenty. plenty to token
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
      - callback: on_fa12_token2_to_fa12_token1   # token 1 = most of the time plenty. token to plenty
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
      - callback: on_fa12_and_fa12_add_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: AddLiquidity
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <lp_contract>
            entrypoint: mint
      - callback: on_fa12_and_fa12_remove_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: RemoveLiquidity
          - type: transaction
            destination: <lp_contract>
            entrypoint: burn
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer

  plenty_amm_fa2_to_fa12:
    kind: operation
    datasource: tzkt_mainnet
    contracts:
      - <amm_contract>
    types:
      - transaction
      - origination
    handlers:
      - callback: on_fa2_fa12_origination
        pattern:
          - type: origination
            originated_contract: <amm_contract>
      - callback: on_fa12_token1_to_fa2_token2
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
      - callback: on_fa2_token2_to_fa12_token1
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
      - callback: on_fa2_and_fa12_add_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: AddLiquidity
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <lp_contract>
            entrypoint: mint
      - callback: on_fa2_and_fa12_remove_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: RemoveLiquidity
          - type: transaction
            destination: <lp_contract>
            entrypoint: burn
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer

  plenty_amm_fa1_to_fa12:
    kind: operation
    datasource: tzkt_mainnet
    contracts:
      - <amm_contract>
    types:
      - transaction
      - origination
    handlers:
      - callback: on_fa1_fa12_origination
        pattern:
          - type: origination
            originated_contract: <amm_contract>
      - callback: on_fa12_token1_to_fa1_token2
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
      - callback: on_fa1_token2_to_fa12_token1
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
      - callback: on_fa1_and_fa12_add_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: AddLiquidity
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <lp_contract>
            entrypoint: mint
      - callback: on_fa1_and_fa12_remove_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: RemoveLiquidity
          - type: transaction
            destination: <lp_contract>
            entrypoint: burn
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer

  plenty_amm_fa1_to_fa2:
    kind: operation
    datasource: tzkt_mainnet
    contracts:
      - <amm_contract>
    types:
      - transaction
      - origination
    handlers:
      - callback: on_fa1_fa2_origination
        pattern:
          - type: origination
            originated_contract: <amm_contract>
      - callback: on_fa2_token1_to_fa1_token2
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
      - callback: on_fa1_token2_to_fa2_token1
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
      - callback: on_fa1_and_fa2_add_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: AddLiquidity
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <lp_contract>
            entrypoint: mint
      - callback: on_fa1_and_fa2_remove_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: RemoveLiquidity
          - type: transaction
            destination: <lp_contract>
            entrypoint: burn
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer

  plenty_amm_fa2_to_fa2:
    kind: operation
    datasource: tzkt_mainnet
    contracts:
      - <amm_contract>
    types:
      - transaction
      - origination
    handlers:
      - callback: on_fa2_origination
        pattern:
          - type: origination
            originated_contract: <amm_contract>
      - callback: on_fa2_token1_to_fa2_token2
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
      - callback: on_fa2_token2_to_fa2_token1
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: Swap
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
      - callback: on_fa2_and_fa2_add_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: AddLiquidity
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer
          - type: transaction
            destination: <lp_contract>
            entrypoint: mint
      - callback: on_fa2_and_fa2_remove_liquidity
        pattern:
          - type: transaction
            destination: <amm_contract>
            entrypoint: RemoveLiquidity
          - type: transaction
            destination: <lp_contract>
            entrypoint: burn
          - type: transaction
            destination: <token1_contract>
            entrypoint: transfer
          - type: transaction
            destination: <token2_contract>
            entrypoint: transfer

indexes:
  hdao_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_hdao_amm
      lp_contract: plenty_hdao_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: hdao_token
      symbol_2: hDAO
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  usdtz_plenty_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: plenty_usdtz_amm
      lp_contract: plenty_usdtz_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: usdtz_token
      symbol_2: USDtz
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  ethtz_plenty_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: plenty_ethtz_amm
      lp_contract: plenty_ethtz_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: ethtz_token
      symbol_2: ETHtz
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  gif_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_gif_amm
      lp_contract: plenty_gif_lp
      symbol_lp: PLP
      decimals_lp: 13
      token2_contract: gif_token
      symbol_2: GIF
      decimals_2: 9
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  smak_plenty_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: plenty_smak_amm
      lp_contract: plenty_smak_lp
      symbol_lp: PLP
      decimals_lp: 10
      token2_contract: smak_token
      symbol_2: SMAK
      decimals_2: 3
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wbusd_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wbusd_amm
      lp_contract: plenty_wbusd_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: wbusd_token
      symbol_2: wBUSD
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wusdc_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wusdc_amm
      lp_contract: plenty_wusdc_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: wusdc_token
      symbol_2: wUSDC
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wwbtc_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wwbtc_amm
      lp_contract: plenty_wwbtc_lp
      symbol_lp: PLP
      decimals_lp: 13
      token2_contract: wwbtc_token
      symbol_2: wWBTC
      decimals_2: 8
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wmatic_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wmatic_amm
      lp_contract: plenty_wmatic_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: wmatic_token
      symbol_2: wMATIC
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wlink_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wlink_amm
      lp_contract: plenty_wlink_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: wlink_token
      symbol_2: wLINK
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wweth_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wweth_amm
      lp_contract: plenty_wweth_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: wweth_token
      symbol_2: wWETH
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  kusd_plenty_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: plenty_kusd_amm
      lp_contract: plenty_kusd_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: kusd_token
      symbol_2: kUSD
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  quipu_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_quipu_amm
      lp_contract: plenty_quipu_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: quipu_token
      symbol_2: QUIPU
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  tzbtc_plenty_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: plenty_tzbtc_amm
      lp_contract: plenty_tzbtc_lp
      symbol_lp: PLP
      decimals_lp: 13
      token2_contract: tzbtc_token
      symbol_2: tzBTC
      decimals_2: 8
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wrap_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wrap_amm
      lp_contract: plenty_wrap_lp
      symbol_lp: PLP
      decimals_lp: 13
      token2_contract: wrap_token
      symbol_2: WRAP
      decimals_2: 8
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  uno_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_uno_amm
      lp_contract: plenty_uno_lp
      symbol_lp: PLP
      decimals_lp: 13
      token2_contract: uno_token
      symbol_2: UNO
      decimals_2: 9
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  kalam_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_kalam_amm
      lp_contract: plenty_kalam_lp
      symbol_lp: PLP
      decimals_lp: 14
      token2_contract: kalam_token
      symbol_2: KALAM
      decimals_2: 10
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  uusd_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_uusd_amm
      lp_contract: plenty_uusd_lp
      symbol_lp: PLP
      decimals_lp: 14
      token2_contract: uusd_token
      symbol_2: uUSD
      decimals_2: 12
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wusdt_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wusdt_amm
      lp_contract: plenty_wusdt_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: wusdt_token
      symbol_2: wUSDT
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  wdai_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_wdai_amm
      lp_contract: plenty_wdai_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: wdai_token
      symbol_2: wDAI
      decimals_2: 18
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  you_plenty_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: plenty_you_amm
      lp_contract: plenty_you_lp
      symbol_lp: PLP
      decimals_lp: 15
      token2_contract: you_token
      symbol_2: YOU
      decimals_2: 12
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  kusd_usdtz_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: kusd_usdtz_amm
      lp_contract: kusd_usdtz_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: usdtz_token
      symbol_2: USDtz
      decimals_2: 6
      token1_contract: kusd_token
      symbol_1: kUSD
      decimals_1: 18

  wusdc_usdtz_mainnet:
    template: plenty_amm_fa1_to_fa2
    values:
      amm_contract: wusdc_usdtz_amm
      lp_contract: wusdc_usdtz_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: usdtz_token
      symbol_2: USDtz
      decimals_2: 6
      token1_contract: wusdc_token
      symbol_1: wUSDC
      decimals_1: 6

  wweth_ethtz_mainnet:
    template: plenty_amm_fa1_to_fa2
    values:
      amm_contract: wweth_ethtz_amm
      lp_contract: wweth_ethtz_lp
      symbol_lp: PLP
      decimals_lp: 18
      token2_contract: ethtz_token
      symbol_2: ETHtz
      decimals_2: 18
      token1_contract: wweth_token
      symbol_1: wWETH
      decimals_1: 18

  ctez_plenty_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: plenty_ctez_amm
      lp_contract: plenty_ctez_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: ctez_token
      symbol_2: ctez
      decimals_2: 6
      token1_contract: plenty_token
      symbol_1: PLENTY
      decimals_1: 18

  uusd_wusdc_mainnet:
    template: plenty_amm_fa2_to_fa2
    values:
      amm_contract: uusd_wusdc_amm
      lp_contract: uusd_wusdc_lp
      symbol_lp: PLP
      decimals_lp: 9
      token2_contract: wusdc_token
      symbol_2: wUSDC
      decimals_2: 6
      token1_contract: uusd_token
      symbol_1: uUSD
      decimals_1: 12

  uusd_you_mainnet:
    template: plenty_amm_fa2_to_fa2
    values:
      amm_contract: uusd_you_amm
      lp_contract: uusd_you_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: you_token
      symbol_2: YOU
      decimals_2: 12
      token1_contract: uusd_token
      symbol_1: uUSD
      decimals_1: 12

  uusd_udefi_mainnet:
    template: plenty_amm_fa2_to_fa2
    values:
      amm_contract: uusd_udefi_amm
      lp_contract: uusd_udefi_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: udefi_token
      symbol_2: uDEFI
      decimals_2: 12
      token1_contract: uusd_token
      symbol_1: uUSD
      decimals_1: 12

  ctez_wrap_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wrap_amm
      lp_contract: ctez_wrap_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: wrap_token
      symbol_2: WRAP
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_usdtz_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: ctez_usdtz_amm
      lp_contract: ctez_usdtz_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: usdtz_token
      symbol_2: USDtz
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wwbtc_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wwbtc_amm
      lp_contract: ctez_wwbtc_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: wwbtc_token
      symbol_2: wWBTC
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wusdc_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wusdc_amm
      lp_contract: ctez_wusdc_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: wusdc_token
      symbol_2: wUSDC
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wusdt_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wusdt_amm
      lp_contract: ctez_wusdt_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: wusdt_token
      symbol_2: wUSDT
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wbusd_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wbusd_amm
      lp_contract: ctez_wbusd_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: wbusd_token
      symbol_2: wBUSD
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wdai_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wdai_amm
      lp_contract: ctez_wdai_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: wdai_token
      symbol_2: wDAI
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_kalam_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_kalam_amm
      lp_contract: ctez_kalam_lp
      symbol_lp: PLP
      decimals_lp: 8
      token2_contract: kalam_token
      symbol_2: KALAM
      decimals_2: 10
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_gif_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_gif_amm
      lp_contract: ctez_gif_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: gif_token
      symbol_2: GIF
      decimals_2: 9
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_ethtz_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: ctez_ethtz_amm
      lp_contract: ctez_ethtz_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: ethtz_token
      symbol_2: ETHtz
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_quipu_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_quipu_amm
      lp_contract: ctez_quipu_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: quipu_token
      symbol_2: QUIPU
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_hdao_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_hdao_amm
      lp_contract: ctez_hdao_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: hdao_token
      symbol_2: hDAO
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_tzbtc_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: ctez_tzbtc_amm
      lp_contract: ctez_tzbtc_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: tzbtc_token
      symbol_2: tzBTC
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_wweth_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_wweth_amm
      lp_contract: ctez_wweth_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: wweth_token
      symbol_2: wWETH
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_uusd_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_uusd_amm
      lp_contract: ctez_uusd_lp
      symbol_lp: PLP
      decimals_lp: 9
      token2_contract: uusd_token
      symbol_2: uUSD
      decimals_2: 12
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_smak_mainnet:
    template: plenty_amm_fa12_to_fa12
    values:
      amm_contract: ctez_smak_amm
      lp_contract: ctez_smak_lp
      symbol_lp: PLP
      decimals_lp: 4
      token2_contract: smak_token
      symbol_2: SMAK
      decimals_2: 3
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_uno_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_uno_amm
      lp_contract: ctez_uno_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: uno_token
      symbol_2: UNO
      decimals_2: 9
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_paul_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: ctez_paul_amm
      lp_contract: ctez_paul_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: paul_token
      symbol_2: PAUL
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_pixel_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_pixel_amm
      lp_contract: ctez_pixel_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: pixel_token
      symbol_2: PXL
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_insta_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_insta_amm
      lp_contract: ctez_insta_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: insta_token
      symbol_2: INSTA
      decimals_2: 9
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_crdao_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_crdao_amm
      lp_contract: ctez_crdao_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: crdao_token
      symbol_2: crDAO
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_flame_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_flame_amm
      lp_contract: ctez_flame_lp
      symbol_lp: PLP
      decimals_lp: 6
      token2_contract: flame_token
      symbol_2: FLAME
      decimals_2: 6
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_kdao_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: ctez_kdao_amm
      lp_contract: ctez_kdao_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: kdao_token
      symbol_2: kDAO
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_kusd_mainnet:
    template: plenty_amm_fa1_to_fa12
    values:
      amm_contract: ctez_kusd_amm
      lp_contract: ctez_kusd_lp
      symbol_lp: PLP
      decimals_lp: 12
      token2_contract: kusd_token
      symbol_2: kUSD
      decimals_2: 18
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

  ctez_crunch_mainnet:
    template: plenty_amm_fa2_to_fa12
    values:
      amm_contract: ctez_crunch_amm
      lp_contract: ctez_crunch_lp
      symbol_lp: PLP
      decimals_lp: 7
      token2_contract: crunch_token
      symbol_2: CRUNCH
      decimals_2: 8
      token1_contract: ctez_token
      symbol_1: ctez
      decimals_1: 6

hooks:
  calculate_volume_stats:
    callback: calculate_volume_stats
    atomic: False
    args:
      major: bool

  calculate_liquidity_stats:
    callback: calculate_liquidity_stats
    atomic: False
    args:
      major: bool

  calculate_price_stats:
    callback: calculate_price_stats
    atomic: False
    args:
      major: bool

  calculate_liquidity_pair_stats:
    callback: calculate_liquidity_pair_stats
    atomic: False
    args:
      major: bool

  calculate_history_volume:
    callback: calculate_history_volume
    atomic: False
    args:
      major: bool

  calculate_history_price:
    callback: calculate_history_price
    atomic: False
    args:
      major: bool

  calculate_history_liquidity:
    callback: calculate_history_liquidity
    atomic: False
    args:
      major: bool

  calculate_history_liquidity_pair:
    callback: calculate_history_liquidity_pair
    atomic: False
    args:
      major: bool

jobs:
#   volume_stats:
#     hook: calculate_volume_stats
#     interval: 86400 # in seconds
#     args:
#       major: false
#   liquidity_stats:
#     hook: calculate_liquidity_stats
#     interval: 86435 # in seconds
#     args:
#       major: false
#   price_stats:
#     hook: calculate_price_stats
#     interval: 14401 # in seconds
#     args:
#       major: false
#   liquidity_pair_stats:
#     hook: calculate_liquidity_pair_stats
#     interval: 86465 # in seconds
#     args:
#       major: false
  # price_history_stats:
  #   hook: calculate_history_price
  #   interval: 1500 # in seconds
  #   args:
  #     major: true
#   volume_history_stats:
#     hook: calculate_history_volume
#     interval: 400 # in seconds
#     args:
#       major: true
#   liquidity_history_stats:
#     hook: calculate_history_liquidity
#     interval: 400 # in seconds
#     args:
#       major: true
#   liquidity_pair_history_stats:
#     hook: calculate_history_liquidity_pair
#     interval: 240 # in seconds
#     args:
#       major: true
Karantezsure commented 2 years ago

dipdup init --overwrite-types do not solve the problem

Karantezsure commented 2 years ago

I am switching the version from 3.1.3 and also getting this error

WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Connection timeout to host https://api.tzkt.io/v1/operations/transactions
INFO     dipdup.http          Waiting 1.0 seconds before retry
WARNING  dipdup.http          HTTP request attempt 1/inf failed: Server disconnected
INFO     dipdup.http          Waiting 1.0 seconds before retry
droserasprout commented 2 years ago

@Karantezsure, the cause of this issue is an attempt to join multiple contracts with different storage structures within the same typename. See Reusing typename for different contracts page for details.

InvalidDataError exception should be raised in such cases with a help message. This issue is tracked here: #346.

"Connection timeout" means that DipDup attempt to perform too many parallel requests to TzKT. This message is safe to ignore. See Tuning datasources page for details about retries and timeouts. This issue is tracked here: #335.

Closing for now; feel free to reopen if the problem persists after fixing typeclasses.