diff --git a/packages/packages.json b/packages/packages.json index a1dec764..996053b4 100644 --- a/packages/packages.json +++ b/packages/packages.json @@ -1,15 +1,15 @@ { "dev": { - "connection/valory/websocket_client/0.1.0": "bafybeicmfaxqwqunhvcdine64uz2utmfdy4mcxowxhkxvaih76f6gjzhnq", - "skill/valory/contract_subscription/0.1.0": "bafybeih4shc4wprfgs2kiznvmxlcebewgol5fvbptu45wih62oy3zshuxy", - "agent/valory/mech/0.1.0": "bafybeihex3b3l2v5bu5jnhyurnb5byvys4bhhpn5w42a2qb26g37psjdby", - "skill/valory/mech_abci/0.1.0": "bafybeiahccl6zyalu2b5pa4umly7whfu66uuy4vxj7xwdpn55vmwgoosry", - "contract/valory/agent_mech/0.1.0": "bafybeihpvdox72yogv5axf3sgk2y57hgyppdilpes2dlrmixx7ffq47sna", - "service/valory/mech/0.1.0": "bafybeih5ailpkxyqgi7hvutx65me6cmbge2oldik3owqa245uoyqmwiqse", + "connection/valory/websocket_client/0.1.0": "bafybeiako6kyllvgdmqio5y7zxqysaqlwfzjbdij4dkpsibuz3cznh3oza", + "skill/valory/contract_subscription/0.1.0": "bafybeibccykzca4ybe3ozbdfuxkbialdgsrr4zknxbowarbqt5onsffblq", + "agent/valory/mech/0.1.0": "bafybeibctvqzhdwq64vf6glihmxhnmv44wrmzd2oq3rclzyiog2w3ztu3y", + "skill/valory/mech_abci/0.1.0": "bafybeieyojztvqnmbabfk4kncrne7isewi4sb5bzfvgddelkogsakomwum", + "contract/valory/agent_mech/0.1.0": "bafybeicshvlc2slopzidzblf2zhdcw2uuav3ntxcgqduxskjujvebikg5u", + "service/valory/mech/0.1.0": "bafybeieijtifhgtxebumvqfke6l4ozq6kk4q2xa2bm3mjxuw6jacjwqmfa", "protocol/valory/acn_data_share/0.1.0": "bafybeih5ydonnvrwvy2ygfqgfabkr47s4yw3uqxztmwyfprulwfsoe7ipq", "protocol/valory/default/1.0.0": "bafybeifqcqy5hfbnd7fjv4mqdjrtujh2vx3p2xhe33y67zoxa6ph7wdpaq", - "skill/valory/task_submission_abci/0.1.0": "bafybeib4swfdhfrwy3vigkh6z27rud4zmwqjmajkuxff53oimqjomijvmm", - "skill/valory/task_execution/0.1.0": "bafybeidpib7ti4w2rao7iyh4leu4peep4rfjjzkfcjxm4q7yhbjeebnkj4", + "skill/valory/task_submission_abci/0.1.0": "bafybeibfy2yc6aoloxbyul25aon2rn532groxicdgt53iqqz3l3hrsirpq", + "skill/valory/task_execution/0.1.0": "bafybeianf56ypn6pjrqvj24uhmty2b5vtsewzjcrqxnrqyjsuudhyjpiue", "skill/valory/reset_pause_abci/0.1.0": "bafybeify27qvpxb2pkr7fmgf3vvxnolorunl7losg55mmxgrobxp5ny5te", "skill/valory/registration_abci/0.1.0": "bafybeiafeoigktmz6u4g2btrlp5ssutclaek6no4sz2zzc67fbfotsnn3a", "skill/valory/abstract_round_abci/0.1.0": "bafybeih7nivpffgvqvribkxxejuhnkrhypadoqrfd2ca5xhc2ujhyuualu", @@ -18,7 +18,7 @@ "skill/valory/transaction_settlement_abci/0.1.0": "bafybeid4i3txzrgiyvu73u2mxvzjgnedspokku74zbzqo46wk5eccbgkaa", "contract/valory/agent_registry/0.1.0": "bafybeiargayav6yiztdnwzejoejstcx4idssch2h4f5arlgtzj3tgsgfmu", "protocol/valory/websocket_client/0.1.0": "bafybeih43mnztdv3v2hetr2k3gezg7d3yj4ur7cxdvcyaqhg65e52s5sf4", - "skill/valory/websocket_client/0.1.0": "bafybeigwpexvzw3xty2ter7hy362arusywqwhzxcjpybtzscpkhadkqkrm" + "skill/valory/websocket_client/0.1.0": "bafybeiaazkuyvkg5xaz62tkmstqc65oyerwpdfe3vl2morsvxdolq4p2le" }, "third_party": { "protocol/open_aea/signing/1.0.0": "bafybeie7xyems76v5b4wc2lmaidcujizpxfzjnnwdeokmhje53g7ym25ii", diff --git a/packages/valory/agents/mech/aea-config.yaml b/packages/valory/agents/mech/aea-config.yaml index ffdb8785..e2911207 100644 --- a/packages/valory/agents/mech/aea-config.yaml +++ b/packages/valory/agents/mech/aea-config.yaml @@ -12,9 +12,9 @@ connections: - valory/ipfs:0.1.0:bafybeigfmqvlzbp67fttccpl4hsu3zaztbxv6vd7ikzra2hfppfkalgpji - valory/ledger:0.19.0:bafybeigdckv3e6bz6kfloz4ucqrsufft6k4jp6bwkbbcvh4fxvgbmzq3dm - valory/p2p_libp2p_client:0.1.0:bafybeihge56dn3xep2dzomu7rtvbgo4uc2qqh7ljl3fubqdi2lq44gs5lq -- valory/websocket_client:0.1.0:bafybeicmfaxqwqunhvcdine64uz2utmfdy4mcxowxhkxvaih76f6gjzhnq +- valory/websocket_client:0.1.0:bafybeiako6kyllvgdmqio5y7zxqysaqlwfzjbdij4dkpsibuz3cznh3oza contracts: -- valory/agent_mech:0.1.0:bafybeihpvdox72yogv5axf3sgk2y57hgyppdilpes2dlrmixx7ffq47sna +- valory/agent_mech:0.1.0:bafybeicshvlc2slopzidzblf2zhdcw2uuav3ntxcgqduxskjujvebikg5u - valory/gnosis_safe:0.1.0:bafybeifyempvhciy6evbf2epqhry3qgqj3rh4x3ovuru6jtuibuyttjd5e - valory/gnosis_safe_proxy_factory:0.1.0:bafybeidxev2tfb7m2j6fxywqr5eyni5fofrqxgjrk26cqpug6gcxzm4feq - valory/multisend:0.1.0:bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y @@ -34,15 +34,15 @@ protocols: skills: - valory/abstract_abci:0.1.0:bafybeiaxs5tgjhq5n2k4kmi2ekrfy3n2ohrentmxfft6nnv4xmec7emz3i - valory/abstract_round_abci:0.1.0:bafybeih7nivpffgvqvribkxxejuhnkrhypadoqrfd2ca5xhc2ujhyuualu -- valory/contract_subscription:0.1.0:bafybeih4shc4wprfgs2kiznvmxlcebewgol5fvbptu45wih62oy3zshuxy -- valory/mech_abci:0.1.0:bafybeiahccl6zyalu2b5pa4umly7whfu66uuy4vxj7xwdpn55vmwgoosry -- valory/task_execution:0.1.0:bafybeidpib7ti4w2rao7iyh4leu4peep4rfjjzkfcjxm4q7yhbjeebnkj4 +- valory/contract_subscription:0.1.0:bafybeibccykzca4ybe3ozbdfuxkbialdgsrr4zknxbowarbqt5onsffblq +- valory/mech_abci:0.1.0:bafybeieyojztvqnmbabfk4kncrne7isewi4sb5bzfvgddelkogsakomwum +- valory/task_execution:0.1.0:bafybeianf56ypn6pjrqvj24uhmty2b5vtsewzjcrqxnrqyjsuudhyjpiue - valory/registration_abci:0.1.0:bafybeiafeoigktmz6u4g2btrlp5ssutclaek6no4sz2zzc67fbfotsnn3a - valory/reset_pause_abci:0.1.0:bafybeify27qvpxb2pkr7fmgf3vvxnolorunl7losg55mmxgrobxp5ny5te -- valory/task_submission_abci:0.1.0:bafybeib4swfdhfrwy3vigkh6z27rud4zmwqjmajkuxff53oimqjomijvmm +- valory/task_submission_abci:0.1.0:bafybeibfy2yc6aoloxbyul25aon2rn532groxicdgt53iqqz3l3hrsirpq - valory/termination_abci:0.1.0:bafybeiftc7aylpcy5buuvyxyqq7wse6ldg67exrty7a5vuw65u35huhcvi - valory/transaction_settlement_abci:0.1.0:bafybeid4i3txzrgiyvu73u2mxvzjgnedspokku74zbzqo46wk5eccbgkaa -- valory/websocket_client:0.1.0:bafybeigwpexvzw3xty2ter7hy362arusywqwhzxcjpybtzscpkhadkqkrm +- valory/websocket_client:0.1.0:bafybeiaazkuyvkg5xaz62tkmstqc65oyerwpdfe3vl2morsvxdolq4p2le default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/connections/websocket_client/connection.py b/packages/valory/connections/websocket_client/connection.py index d9355e8a..025835ad 100644 --- a/packages/valory/connections/websocket_client/connection.py +++ b/packages/valory/connections/websocket_client/connection.py @@ -23,8 +23,7 @@ import asyncio import logging from concurrent.futures import ThreadPoolExecutor -from threading import Thread -from typing import Any, Callable, Dict, Optional, cast +from typing import Any, Dict, Optional, cast import websocket from aea.configurations.base import PublicId @@ -39,6 +38,7 @@ ) from packages.valory.protocols.websocket_client.message import WebsocketClientMessage + PUBLIC_ID = PublicId.from_str("valory/websocket_client:0.1.0") DEFAULT_MAX_RETRIES = 5 diff --git a/packages/valory/connections/websocket_client/connection.yaml b/packages/valory/connections/websocket_client/connection.yaml index 06646eff..fef27027 100644 --- a/packages/valory/connections/websocket_client/connection.yaml +++ b/packages/valory/connections/websocket_client/connection.yaml @@ -8,7 +8,7 @@ license: Apache-2.0 aea_version: '>=1.0.0, <2.0.0' fingerprint: __init__.py: bafybeicyrebbic2h3ytyxeg776zelg2bpshcepnkm4qc5oypqqqfq3sqmq - connection.py: bafybeicktq5pdayqomzru5jwspt7y47xjgzw462rmbzsjhg66ytepeznlq + connection.py: bafybeiakisvetjqs3qqlpdo5asm45gfygx35lw7cciypaneyqieyf6ul34 readme.md: bafybeihg5yfzgqvg5ngy7r2o5tfeqnelx2ffxw4po5hmheqjfhumpmxpoq fingerprint_ignore_patterns: [] connections: [] diff --git a/packages/valory/contracts/agent_mech/contract.py b/packages/valory/contracts/agent_mech/contract.py index acc544cb..00392d8b 100644 --- a/packages/valory/contracts/agent_mech/contract.py +++ b/packages/valory/contracts/agent_mech/contract.py @@ -223,11 +223,7 @@ def process_tx_receipt( contract_address: str, tx_receipt: TxReceipt, ) -> JSONLike: - """ - Process transaction receipt to filter contract events. - - :return: the events emitted by the contract. - """ + """Process transaction receipt to filter contract events.""" ledger_api = cast(EthereumApi, ledger_api) contract_instance = cls.get_instance(ledger_api, contract_address) diff --git a/packages/valory/contracts/agent_mech/contract.yaml b/packages/valory/contracts/agent_mech/contract.yaml index 3bdd8779..89f578b6 100644 --- a/packages/valory/contracts/agent_mech/contract.yaml +++ b/packages/valory/contracts/agent_mech/contract.yaml @@ -8,7 +8,7 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: __init__.py: bafybeigpq5lxfj2aza6ok3fjuywtdafelkbvoqwaits7regfbgu4oynmku build/AgentMech.json: bafybeidrlu7vpusp2tzovyf5rbnqy2jicuq3e6czizfkzswjq4rjusu72i - contract.py: bafybeibjzadmxvhdnt4nvzonu6gy4co2drmjdtmmfyt46rtacjhkj3gksm + contract.py: bafybeihm4bmidifvp225rpxtg5xu5dyd5k65gm33jkoms2brrshvu5lige fingerprint_ignore_patterns: [] class_name: AgentMechContract contract_interface_paths: diff --git a/packages/valory/services/mech/service.yaml b/packages/valory/services/mech/service.yaml index d8a3e1d5..d7ef3e44 100644 --- a/packages/valory/services/mech/service.yaml +++ b/packages/valory/services/mech/service.yaml @@ -7,7 +7,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeif7ia4jdlazy6745ke2k2x5yoqlwsgwr6sbztbgqtwvs3ndm2p7ba fingerprint_ignore_patterns: [] -agent: valory/mech:0.1.0:bafybeihex3b3l2v5bu5jnhyurnb5byvys4bhhpn5w42a2qb26g37psjdby +agent: valory/mech:0.1.0:bafybeibctvqzhdwq64vf6glihmxhnmv44wrmzd2oq3rclzyiog2w3ztu3y number_of_agents: 4 deployment: agent: diff --git a/packages/valory/skills/contract_subscription/behaviours.py b/packages/valory/skills/contract_subscription/behaviours.py index bd214f3e..4ca00ab9 100644 --- a/packages/valory/skills/contract_subscription/behaviours.py +++ b/packages/valory/skills/contract_subscription/behaviours.py @@ -21,35 +21,20 @@ """This package contains a scaffold of a behaviour.""" import json -import re -from abc import ABC -from datetime import datetime -from typing import Any, Dict, Generator, List, Optional, Set, Type, cast +from typing import Any, cast -from aea.mail.base import Envelope -from aea.skills.behaviours import SimpleBehaviour - -from packages.valory.connections.websocket_client.connection import ( - PUBLIC_ID as WEBSOCKET_CLIENT_CONNECTION, -) from packages.valory.connections.websocket_client.connection import WebSocketClient -from packages.valory.protocols.websocket_client.message import WebsocketClientMessage -from packages.valory.skills.contract_subscription.dialogues import ( - WebsocketClientDialogue, - WebsocketClientDialogues, -) -from packages.valory.protocols.default.message import DefaultMessage from packages.valory.skills.contract_subscription.handlers import DISCONNECTION_POINT from packages.valory.skills.contract_subscription.models import Params from packages.valory.skills.websocket_client.behaviours import ( SubscriptionBehaviour as BaseSubscriptionBehaviour, ) from packages.valory.skills.websocket_client.handlers import ( - WEBSOCKET_SUBSCRIPTION_STATUS, - WEBSOCKET_SUBSCRIPTIONS, SubscriptionStatus, + WEBSOCKET_SUBSCRIPTION_STATUS, ) + DEFAULT_ENCODING = "utf-8" WEBSOCKET_CLIENT_CONNECTION_NAME = "websocket_client" diff --git a/packages/valory/skills/contract_subscription/dialogues.py b/packages/valory/skills/contract_subscription/dialogues.py index d9a26047..4b74ce3d 100644 --- a/packages/valory/skills/contract_subscription/dialogues.py +++ b/packages/valory/skills/contract_subscription/dialogues.py @@ -35,6 +35,7 @@ WebsocketClientDialogues as BaseWebsocketClientDialogues, ) + WebsocketClientDialogue = BaseWebsocketClientDialogue diff --git a/packages/valory/skills/contract_subscription/handlers.py b/packages/valory/skills/contract_subscription/handlers.py index b318cf73..880d7afe 100644 --- a/packages/valory/skills/contract_subscription/handlers.py +++ b/packages/valory/skills/contract_subscription/handlers.py @@ -22,18 +22,14 @@ import json import time -from enum import Enum from typing import Any -from aea.protocols.base import Message -from aea.skills.base import Handler from web3 import Web3 from web3.types import TxReceipt from packages.valory.protocols.websocket_client.message import WebsocketClientMessage from packages.valory.skills.websocket_client.handlers import ( SubscriptionStatus, - WEBSOCKET_SUBSCRIPTIONS, WEBSOCKET_SUBSCRIPTION_STATUS, ) from packages.valory.skills.websocket_client.handlers import ( @@ -131,7 +127,7 @@ def handle_recv(self, message: WebsocketClientMessage) -> None: self.context.shared_state[JOB_QUEUE].append(event_args) self.context.logger.info(f"Added job to queue: {event_args}") - def _get_tx_args(self, tx_hash: str): + def _get_tx_args(self, tx_hash: str) -> Any: """Get the transaction arguments.""" try: tx_receipt: TxReceipt = self.w3.eth.get_transaction_receipt(tx_hash) diff --git a/packages/valory/skills/contract_subscription/models.py b/packages/valory/skills/contract_subscription/models.py index 8c1aef94..d198eee3 100644 --- a/packages/valory/skills/contract_subscription/models.py +++ b/packages/valory/skills/contract_subscription/models.py @@ -20,10 +20,9 @@ """This module contains the shared state for the abci skill of Mech.""" from typing import Any -from aea.skills.base import Model - from packages.valory.skills.websocket_client.models import Params as BaseParams + DEFAULT_WEBSOCKET_PROVIDER = "ws://localhost:8001" DEFAULT_CONTRACT_ADDRESS = "0xFf82123dFB52ab75C417195c5fDB87630145ae81" diff --git a/packages/valory/skills/contract_subscription/skill.yaml b/packages/valory/skills/contract_subscription/skill.yaml index c5bc800d..f3414d7d 100644 --- a/packages/valory/skills/contract_subscription/skill.yaml +++ b/packages/valory/skills/contract_subscription/skill.yaml @@ -8,18 +8,18 @@ license: Apache-2.0 aea_version: '>=1.0.0, <2.0.0' fingerprint: __init__.py: bafybeihmbiavlq5ekiat57xuekfuxjkoniizurn77hivqwtsaqydv32owu - behaviours.py: bafybeibrjze22nenzuf6oemdkzlgtr76slyenorlz3ea5sn5v6oq2hvh4q - dialogues.py: bafybeibqpn4xfrhjhh5nlhhks3rced3cfca6wvlzimsa37gfsa5kjzfsme - handlers.py: bafybeihlgpj5iitz6cvqfvwa6krchhfgxkt64e6zdtmleplrvdplukh4oq - models.py: bafybeie5elh5kfxrbzbaes4cp3bn7z6tsz62iay52kpfwl6ie5444zdmrq + behaviours.py: bafybeihhhfpan6i5vzxaoggmnj5jw556wnxz75ufcmiucq3yygrbmlsdpm + dialogues.py: bafybeigxlbj6mte72ko7osykjfilg4udfmnrnhxtoib5k4xcxde6qi3niu + handlers.py: bafybeiasnq4qlq5qys4ugktetmaeqnreaswvaqyi7zvjjlifmhbylucasu + models.py: bafybeiafdc32u7yjph4kb4tvsdsaz4tpzo25m3gmthssc62newpgvrros4 fingerprint_ignore_patterns: [] connections: -- valory/websocket_client:0.1.0:bafybeicmfaxqwqunhvcdine64uz2utmfdy4mcxowxhkxvaih76f6gjzhnq +- valory/websocket_client:0.1.0:bafybeiako6kyllvgdmqio5y7zxqysaqlwfzjbdij4dkpsibuz3cznh3oza contracts: [] protocols: - valory/websocket_client:0.1.0:bafybeih43mnztdv3v2hetr2k3gezg7d3yj4ur7cxdvcyaqhg65e52s5sf4 skills: -- valory/websocket_client:0.1.0:bafybeigwpexvzw3xty2ter7hy362arusywqwhzxcjpybtzscpkhadkqkrm +- valory/websocket_client:0.1.0:bafybeiaazkuyvkg5xaz62tkmstqc65oyerwpdfe3vl2morsvxdolq4p2le behaviours: contract_subscriptions: args: {} diff --git a/packages/valory/skills/mech_abci/skill.yaml b/packages/valory/skills/mech_abci/skill.yaml index dccc94a3..fb34324e 100644 --- a/packages/valory/skills/mech_abci/skill.yaml +++ b/packages/valory/skills/mech_abci/skill.yaml @@ -21,7 +21,7 @@ skills: - valory/abstract_round_abci:0.1.0:bafybeih7nivpffgvqvribkxxejuhnkrhypadoqrfd2ca5xhc2ujhyuualu - valory/registration_abci:0.1.0:bafybeiafeoigktmz6u4g2btrlp5ssutclaek6no4sz2zzc67fbfotsnn3a - valory/reset_pause_abci:0.1.0:bafybeify27qvpxb2pkr7fmgf3vvxnolorunl7losg55mmxgrobxp5ny5te -- valory/task_submission_abci:0.1.0:bafybeib4swfdhfrwy3vigkh6z27rud4zmwqjmajkuxff53oimqjomijvmm +- valory/task_submission_abci:0.1.0:bafybeibfy2yc6aoloxbyul25aon2rn532groxicdgt53iqqz3l3hrsirpq - valory/termination_abci:0.1.0:bafybeiftc7aylpcy5buuvyxyqq7wse6ldg67exrty7a5vuw65u35huhcvi - valory/transaction_settlement_abci:0.1.0:bafybeid4i3txzrgiyvu73u2mxvzjgnedspokku74zbzqo46wk5eccbgkaa behaviours: diff --git a/packages/valory/skills/task_execution/skill.yaml b/packages/valory/skills/task_execution/skill.yaml index eeafcfb3..b7ba2c09 100644 --- a/packages/valory/skills/task_execution/skill.yaml +++ b/packages/valory/skills/task_execution/skill.yaml @@ -20,7 +20,7 @@ connections: - valory/ipfs:0.1.0:bafybeigfmqvlzbp67fttccpl4hsu3zaztbxv6vd7ikzra2hfppfkalgpji - valory/p2p_libp2p_client:0.1.0:bafybeihge56dn3xep2dzomu7rtvbgo4uc2qqh7ljl3fubqdi2lq44gs5lq contracts: -- valory/agent_mech:0.1.0:bafybeihpvdox72yogv5axf3sgk2y57hgyppdilpes2dlrmixx7ffq47sna +- valory/agent_mech:0.1.0:bafybeicshvlc2slopzidzblf2zhdcw2uuav3ntxcgqduxskjujvebikg5u protocols: - valory/acn_data_share:0.1.0:bafybeih5ydonnvrwvy2ygfqgfabkr47s4yw3uqxztmwyfprulwfsoe7ipq - valory/contract_api:1.0.0:bafybeialhbjvwiwcnqq3ysxcyemobcbie7xza66gaofcvla5njezkvhcka diff --git a/packages/valory/skills/task_submission_abci/skill.yaml b/packages/valory/skills/task_submission_abci/skill.yaml index e653b91d..9b29ce61 100644 --- a/packages/valory/skills/task_submission_abci/skill.yaml +++ b/packages/valory/skills/task_submission_abci/skill.yaml @@ -19,7 +19,7 @@ fingerprint: fingerprint_ignore_patterns: [] connections: [] contracts: -- valory/agent_mech:0.1.0:bafybeihpvdox72yogv5axf3sgk2y57hgyppdilpes2dlrmixx7ffq47sna +- valory/agent_mech:0.1.0:bafybeicshvlc2slopzidzblf2zhdcw2uuav3ntxcgqduxskjujvebikg5u - valory/agent_registry:0.1.0:bafybeiargayav6yiztdnwzejoejstcx4idssch2h4f5arlgtzj3tgsgfmu - valory/gnosis_safe:0.1.0:bafybeifyempvhciy6evbf2epqhry3qgqj3rh4x3ovuru6jtuibuyttjd5e - valory/multisend:0.1.0:bafybeig5byt5urg2d2bsecufxe5ql7f4mezg3mekfleeh32nmuusx66p4y diff --git a/packages/valory/skills/websocket_client/skill.yaml b/packages/valory/skills/websocket_client/skill.yaml index a5843a9a..cd0c4cb6 100644 --- a/packages/valory/skills/websocket_client/skill.yaml +++ b/packages/valory/skills/websocket_client/skill.yaml @@ -13,7 +13,7 @@ fingerprint: models.py: bafybeicuei7xoozvgr6kyp6cp7b6gqonlkmlgkvhhff37iecnjqzhkvbgi fingerprint_ignore_patterns: [] connections: -- valory/websocket_client:0.1.0:bafybeicmfaxqwqunhvcdine64uz2utmfdy4mcxowxhkxvaih76f6gjzhnq +- valory/websocket_client:0.1.0:bafybeiako6kyllvgdmqio5y7zxqysaqlwfzjbdij4dkpsibuz3cznh3oza contracts: [] protocols: - valory/websocket_client:0.1.0:bafybeih43mnztdv3v2hetr2k3gezg7d3yj4ur7cxdvcyaqhg65e52s5sf4