diff --git a/packages/packages.json b/packages/packages.json index 170ad63b..f111e4e3 100644 --- a/packages/packages.json +++ b/packages/packages.json @@ -16,14 +16,14 @@ "contract/valory/staking_token/0.1.0": "bafybeig4fl35dn7d5gnprux2nwsqbirm7zkiujz3xvrwcjuktz6hkq4as4", "contract/valory/relayer/0.1.0": "bafybeihzgjyvhtorugjw3yldznqsbwo3aqpxowm7k2nrvj6qtwpsc7jl7u", "skill/valory/market_manager_abci/0.1.0": "bafybeicfdptiseyvorks2ji2nycjqxf4ef43jr5ygdswon6hgkckzgqjfe", - "skill/valory/decision_maker_abci/0.1.0": "bafybeigtz4wqpobnuj2ixul5gb5nyopaauizq2cwlu57ibczefkppmnvau", - "skill/valory/trader_abci/0.1.0": "bafybeie6om77a4lol6o7rlpsvoy75rxte6fqfhsneqy2xjmoxjw76r3qbm", - "skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeihnfp7sjqoyhjglljial3wud5jvgqmhe7cy5zj2v4qmuzgwf4s3ue", - "skill/valory/staking_abci/0.1.0": "bafybeiegy5iny4x3jk2kjuykebxksoqhfl7irdcldbcwzrsvpopxooys2q", - "skill/valory/check_stop_trading_abci/0.1.0": "bafybeif6w4uc3pzrbuuhyktgehvwsq2gxv6udeivhlhijlguhmctxokdqa", - "agent/valory/trader/0.1.0": "bafybeigtv4mvcwslg5zuueutara3kpyhvdesmi2t3yaq2isloxbzbu4jr4", - "service/valory/trader/0.1.0": "bafybeibv7gd4n5kao4a5frndilpmdenfv5wyxd6pj5rjh35etn3nrrmt54", - "service/valory/trader_pearl/0.1.0": "bafybeie56o45dc3jifde7bc3dv6okf5i7x2tx6yonx4co5we2bix7xhu5u" + "skill/valory/decision_maker_abci/0.1.0": "bafybeiaiop5mkdk52cczc2fvecmzsvkkwthuz67dto5d5jc7czu6p4dqf4", + "skill/valory/trader_abci/0.1.0": "bafybeihxwc7itiggugw7i66jqnxriwbkznffivddmzdo6wwinklvv5yzvi", + "skill/valory/tx_settlement_multiplexer_abci/0.1.0": "bafybeid3ghnj6vy6scf73pmuaepjslkwbrheeniwzohz4ba7g5g5fp45a4", + "skill/valory/staking_abci/0.1.0": "bafybeicdubaxhjmrqlewtveukjlth55zhenj723az3gv24di43n5julmra", + "skill/valory/check_stop_trading_abci/0.1.0": "bafybeieuljdaepxnrboddow2g3d4gqjw2bvljgzodw6bwd63wtppej35gm", + "agent/valory/trader/0.1.0": "bafybeigaud726dukzujk6upjxex7obfhdnqct4p5ctvrr57hbop7anjgcq", + "service/valory/trader/0.1.0": "bafybeib4dej3n7hmwfjgofflf4bccgzphispeg5cefoxa3o37nii4nlu7i", + "service/valory/trader_pearl/0.1.0": "bafybeibpseosblmaw6sk6zsnic2kfxfsijrnfluuhkwboyqhx7ma7zw2me" }, "third_party": { "protocol/open_aea/signing/1.0.0": "bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi", diff --git a/packages/valory/agents/trader/aea-config.yaml b/packages/valory/agents/trader/aea-config.yaml index e1f83df7..3c4c8df0 100644 --- a/packages/valory/agents/trader/aea-config.yaml +++ b/packages/valory/agents/trader/aea-config.yaml @@ -47,12 +47,12 @@ skills: - valory/reset_pause_abci:0.1.0:bafybeiameewywqigpupy3u2iwnkfczeiiucue74x2l5lbge74rmw6bgaie - valory/termination_abci:0.1.0:bafybeif2zim2de356eo3sipkmoev5emwadpqqzk3huwqarywh4tmqt3vzq - valory/transaction_settlement_abci:0.1.0:bafybeic3tccdjypuge2lewtlgprwkbb53lhgsgn7oiwzyrcrrptrbeyote -- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeihnfp7sjqoyhjglljial3wud5jvgqmhe7cy5zj2v4qmuzgwf4s3ue +- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeid3ghnj6vy6scf73pmuaepjslkwbrheeniwzohz4ba7g5g5fp45a4 - valory/market_manager_abci:0.1.0:bafybeicfdptiseyvorks2ji2nycjqxf4ef43jr5ygdswon6hgkckzgqjfe -- valory/decision_maker_abci:0.1.0:bafybeigtz4wqpobnuj2ixul5gb5nyopaauizq2cwlu57ibczefkppmnvau -- valory/trader_abci:0.1.0:bafybeie6om77a4lol6o7rlpsvoy75rxte6fqfhsneqy2xjmoxjw76r3qbm -- valory/staking_abci:0.1.0:bafybeiegy5iny4x3jk2kjuykebxksoqhfl7irdcldbcwzrsvpopxooys2q -- valory/check_stop_trading_abci:0.1.0:bafybeif6w4uc3pzrbuuhyktgehvwsq2gxv6udeivhlhijlguhmctxokdqa +- valory/decision_maker_abci:0.1.0:bafybeiaiop5mkdk52cczc2fvecmzsvkkwthuz67dto5d5jc7czu6p4dqf4 +- valory/trader_abci:0.1.0:bafybeihxwc7itiggugw7i66jqnxriwbkznffivddmzdo6wwinklvv5yzvi +- valory/staking_abci:0.1.0:bafybeicdubaxhjmrqlewtveukjlth55zhenj723az3gv24di43n5julmra +- valory/check_stop_trading_abci:0.1.0:bafybeieuljdaepxnrboddow2g3d4gqjw2bvljgzodw6bwd63wtppej35gm - valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e customs: - valory/mike_strat:0.1.0:bafybeihjiol7f4ch4piwfikurdtfwzsh6qydkbsztpbwbwb2yrqdqf726m diff --git a/packages/valory/services/trader/service.yaml b/packages/valory/services/trader/service.yaml index daab667b..d294a7ab 100644 --- a/packages/valory/services/trader/service.yaml +++ b/packages/valory/services/trader/service.yaml @@ -7,7 +7,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeigtuothskwyvrhfosps2bu6suauycolj67dpuxqvnicdrdu7yhtvq fingerprint_ignore_patterns: [] -agent: valory/trader:0.1.0:bafybeigtv4mvcwslg5zuueutara3kpyhvdesmi2t3yaq2isloxbzbu4jr4 +agent: valory/trader:0.1.0:bafybeigaud726dukzujk6upjxex7obfhdnqct4p5ctvrr57hbop7anjgcq number_of_agents: 4 deployment: agent: diff --git a/packages/valory/services/trader_pearl/service.yaml b/packages/valory/services/trader_pearl/service.yaml index 3d70db96..91c94f27 100644 --- a/packages/valory/services/trader_pearl/service.yaml +++ b/packages/valory/services/trader_pearl/service.yaml @@ -8,7 +8,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeibg7bdqpioh4lmvknw3ygnllfku32oca4eq5pqtvdrdsgw6buko7e fingerprint_ignore_patterns: [] -agent: valory/trader:0.1.0:bafybeigtv4mvcwslg5zuueutara3kpyhvdesmi2t3yaq2isloxbzbu4jr4 +agent: valory/trader:0.1.0:bafybeigaud726dukzujk6upjxex7obfhdnqct4p5ctvrr57hbop7anjgcq number_of_agents: 1 deployment: agent: diff --git a/packages/valory/skills/check_stop_trading_abci/behaviours.py b/packages/valory/skills/check_stop_trading_abci/behaviours.py index 37173b6c..cbc0191e 100644 --- a/packages/valory/skills/check_stop_trading_abci/behaviours.py +++ b/packages/valory/skills/check_stop_trading_abci/behaviours.py @@ -20,7 +20,7 @@ """This module contains the behaviours for the check stop trading skill.""" import math -from typing import Generator, Set, Type, cast +from typing import Any, Generator, Set, Type, cast from packages.valory.contracts.mech.contract import Mech as MechContract from packages.valory.skills.abstract_round_abci.base import get_name @@ -54,6 +54,11 @@ class CheckStopTradingBehaviour(StakingInteractBaseBehaviour): matching_round = CheckStopTradingRound + def __init__(self, **kwargs: Any) -> None: + """Initialize the behaviour.""" + super().__init__(**kwargs) + self._mech_request_count: int = 0 + @property def mech_request_count(self) -> int: """Get the liveness period.""" @@ -95,7 +100,7 @@ def is_staking_kpi_met(self) -> Generator[None, None, bool]: yield from self.wait_for_condition_with_sleep(self._get_mech_request_count) mech_request_count = self.mech_request_count - self.context.logger.debug(f"{self.mech_request_count=}") + self.context.logger.debug(f"{mech_request_count=}") yield from self.wait_for_condition_with_sleep(self._get_service_info) mech_request_count_on_last_checkpoint = self.service_info[2][1] diff --git a/packages/valory/skills/check_stop_trading_abci/models.py b/packages/valory/skills/check_stop_trading_abci/models.py index db8a276f..3d472887 100644 --- a/packages/valory/skills/check_stop_trading_abci/models.py +++ b/packages/valory/skills/check_stop_trading_abci/models.py @@ -22,6 +22,8 @@ from typing import Any +from aea.exceptions import enforce + from packages.valory.skills.abstract_round_abci.models import ( BenchmarkTool as BaseBenchmarkTool, ) @@ -44,6 +46,9 @@ class CheckStopTradingParams(StakingParams): def __init__(self, *args: Any, **kwargs: Any) -> None: """Initialize the parameters' object.""" + mech_address = kwargs.get("mech_contract_address", None) + enforce(mech_address is not None, "Mech contract address not specified!") + self.mech_contract_address = mech_address self.disable_trading: bool = self._ensure("disable_trading", kwargs, bool) self.stop_trading_if_staking_kpi_met: bool = self._ensure( "stop_trading_if_staking_kpi_met", kwargs, bool diff --git a/packages/valory/skills/check_stop_trading_abci/skill.yaml b/packages/valory/skills/check_stop_trading_abci/skill.yaml index c6630c50..33c4a843 100644 --- a/packages/valory/skills/check_stop_trading_abci/skill.yaml +++ b/packages/valory/skills/check_stop_trading_abci/skill.yaml @@ -8,11 +8,11 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: README.md: bafybeif2pq7fg5upl6vmfgfzpiwsh4nbk4zaeyz6upyucqi5tasrxgq4ee __init__.py: bafybeifc23rlw2hzhplp3wfceixnmwq5ztnixhh7jp4dd5av3crwp3x22a - behaviours.py: bafybeid63rkrrta3hjp7cnlyws2xyqfaotur77caimyb47m5p3nroo62eu + behaviours.py: bafybeifdfqkczchnbfzzb4q2gwe3qqrn5ci2tk4mq65bunivjkw4scuzse dialogues.py: bafybeictrrnwcijiejczy23dfvbx5kujgef3dulzqhs3etl2juvz5spm2e fsm_specification.yaml: bafybeihhau35a5xclncjpxh5lg7qiw34xs4d5qlez7dnjpkf45d3gc57ai handlers.py: bafybeiard64fwxib3rtyp67ymhf222uongcyqhfhdyttpsyqkmyh5ajipu - models.py: bafybeif4vl5pcmrens4lydvkjhq4unwurznirmnnbarnlroke7pleevouy + models.py: bafybeigwdhgianx5rizlb7ebmm6pdtkixh4uehbvu5c24ysvyvojs74dfq payloads.py: bafybeidh5bqywun4chrbsci2xbcrnnzuys5sswxwbxq3yl2ksawi3xsi5q rounds.py: bafybeigqkzikghmzjj2ceqrnvmiiagtris3livgvn6r5z5ossk73xcfqfy tests/__init__.py: bafybeihv2cjk4va5bc5ncqtppqg2xmmxcro34bma36trtvk32gtmhdycxu @@ -27,7 +27,7 @@ contracts: protocols: [] skills: - valory/abstract_round_abci:0.1.0:bafybeiar2yhzxacfe3qqamqhaihtlcimquwedffctw55sowx6rac3cm3ui -- valory/staking_abci:0.1.0:bafybeiegy5iny4x3jk2kjuykebxksoqhfl7irdcldbcwzrsvpopxooys2q +- valory/staking_abci:0.1.0:bafybeicdubaxhjmrqlewtveukjlth55zhenj723az3gv24di43n5julmra behaviours: main: args: {} diff --git a/packages/valory/skills/decision_maker_abci/skill.yaml b/packages/valory/skills/decision_maker_abci/skill.yaml index 69970b60..5d3268c5 100644 --- a/packages/valory/skills/decision_maker_abci/skill.yaml +++ b/packages/valory/skills/decision_maker_abci/skill.yaml @@ -49,7 +49,7 @@ fingerprint: states/handle_failed_tx.py: bafybeihewm2vernvhktuorljdupjqcg2p5vs6wvsira2d62wkoyo5xlzjm states/order_subscription.py: bafybeidrcef2op3nhq4tjgri3ct5hfhmc22xw2ep6dk4ro6tg7ob6cmioa states/randomness.py: bafybeiceoo4nx3t4dofpwczw3v5mclramwmzpwjs6hv7l56arodrjx4l5u - states/redeem.py: bafybeifa7zla7x5xslrwnsqodjlmff5br6fppl36smoegg7sadtlwcegrq + states/redeem.py: bafybeica6cn4xg7shea2wjhbqnddgxe5zao2hkmceltze7qknxdhtsoaxe states/sampling.py: bafybeihriyyskmlupjiwytx2pdpftms7plkjku5bip64c3ztx7oi3n43ci states/tool_selection.py: bafybeiak5ihuie4nxh3sguiea6pcdgyxr4k4xyzvq6o2uj5xpf7urocawy tests/__init__.py: bafybeiakpi3k3kc7wrjj7hrluvjcj36lu2gezpmrctwiz5yg2fe7ggnf3i diff --git a/packages/valory/skills/decision_maker_abci/states/redeem.py b/packages/valory/skills/decision_maker_abci/states/redeem.py index 74ca999c..f40ade4c 100644 --- a/packages/valory/skills/decision_maker_abci/states/redeem.py +++ b/packages/valory/skills/decision_maker_abci/states/redeem.py @@ -100,7 +100,7 @@ def end_block(self) -> Optional[Tuple[BaseSynchronizedData, Enum]]: mech_tools_update = most_voted_payload.mech_tools updated_data = synced_data.update( self.synchronized_data_class, - **{get_name(SynchronizedData.available_mech_tools): mech_tools_update}, + **{self.mech_tools_name: mech_tools_update}, ) return updated_data, event diff --git a/packages/valory/skills/staking_abci/behaviours.py b/packages/valory/skills/staking_abci/behaviours.py index bdeb3191..011705c6 100644 --- a/packages/valory/skills/staking_abci/behaviours.py +++ b/packages/valory/skills/staking_abci/behaviours.py @@ -72,6 +72,7 @@ class StakingInteractBaseBehaviour(BaseBehaviour, ABC): def __init__(self, **kwargs: Any) -> None: """Initialize the behaviour.""" super().__init__(**kwargs) + self._service_staking_state: StakingState = StakingState.UNSTAKED @property def params(self) -> StakingParams: diff --git a/packages/valory/skills/staking_abci/skill.yaml b/packages/valory/skills/staking_abci/skill.yaml index fc42de81..5bf880a1 100644 --- a/packages/valory/skills/staking_abci/skill.yaml +++ b/packages/valory/skills/staking_abci/skill.yaml @@ -8,7 +8,7 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: README.md: bafybeifrpl36fddmgvniwvghqtxdzc44ry6l2zvqy37vu3y2xvwyd23ugy __init__.py: bafybeiageyes36ujnvvodqd5vlnihgz44rupysrk2ebbhskjkueetj6dai - behaviours.py: bafybeidke7jrikywzysz35m4s74yzm7hy6klvjwmedynziu5igrsqqwh2m + behaviours.py: bafybeib5rcg26usohcbf2suahk5jticruzzdl2hdakchwsf6bptksi32oy dialogues.py: bafybeiebofyykseqp3fmif36cqmmyf3k7d2zbocpl6t6wnlpv4szghrxbm fsm_specification.yaml: bafybeicuoejmaks3ndwhbflp64kkfdkrdyn74a2fplarg4l3gxlonfmeoq handlers.py: bafybeichsi2y5zvzffupj2vhgagocwvnm7cbzr6jmavp656mfrzsdvkfnu diff --git a/packages/valory/skills/trader_abci/models.py b/packages/valory/skills/trader_abci/models.py index 9462cd6c..989c9134 100644 --- a/packages/valory/skills/trader_abci/models.py +++ b/packages/valory/skills/trader_abci/models.py @@ -106,10 +106,12 @@ class RandomnessApi(ApiSpecs): class TraderParams( - DecisionMakerParams, # It also contains MechInteractParams + # also contains the `StakingParams`. Must be before `MechInteractParams` because of the mech's contract address + CheckStopTradingParams, + # also contains the `MechInteractParams` + DecisionMakerParams, TerminationParams, TxSettlementMultiplexerParams, - CheckStopTradingParams, # It also contains StakingParams ): """A model to represent the trader params.""" diff --git a/packages/valory/skills/trader_abci/skill.yaml b/packages/valory/skills/trader_abci/skill.yaml index 13456b35..7cbc2c5a 100644 --- a/packages/valory/skills/trader_abci/skill.yaml +++ b/packages/valory/skills/trader_abci/skill.yaml @@ -13,7 +13,7 @@ fingerprint: dialogues.py: bafybeiebofyykseqp3fmif36cqmmyf3k7d2zbocpl6t6wnlpv4szghrxbm fsm_specification.yaml: bafybeibgm4crhqny63ax36447cglnycvlwnwuwse62bob64zbya4vjfgnm handlers.py: bafybeibbxybbi66em63ad33cllymypr3za3f5xvor3m2krhuxoyxnqjnxu - models.py: bafybeidrtcycxhuig776kjhnuonwlvjmn4kb2n3uvxdrpmc3hwn65qsolm + models.py: bafybeih2vkf4ln7n7ar27iemho7w7sdr4clmhbnhbcznmsri6mc2skkky4 tests/__init__.py: bafybeiadatapyjh3e7ucg2ehz77oms3ihrbutwb2cs2tkjehy54utwvuyi tests/tests_handlers.py: bafybeifxvd63qblqpsmyvj7k4dbqubab2pshao5zd2zs2srs7rt32zvciu fingerprint_ignore_patterns: [] @@ -27,10 +27,10 @@ skills: - valory/transaction_settlement_abci:0.1.0:bafybeic3tccdjypuge2lewtlgprwkbb53lhgsgn7oiwzyrcrrptrbeyote - valory/termination_abci:0.1.0:bafybeif2zim2de356eo3sipkmoev5emwadpqqzk3huwqarywh4tmqt3vzq - valory/market_manager_abci:0.1.0:bafybeicfdptiseyvorks2ji2nycjqxf4ef43jr5ygdswon6hgkckzgqjfe -- valory/decision_maker_abci:0.1.0:bafybeigtz4wqpobnuj2ixul5gb5nyopaauizq2cwlu57ibczefkppmnvau -- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeihnfp7sjqoyhjglljial3wud5jvgqmhe7cy5zj2v4qmuzgwf4s3ue -- valory/staking_abci:0.1.0:bafybeiegy5iny4x3jk2kjuykebxksoqhfl7irdcldbcwzrsvpopxooys2q -- valory/check_stop_trading_abci:0.1.0:bafybeif6w4uc3pzrbuuhyktgehvwsq2gxv6udeivhlhijlguhmctxokdqa +- valory/decision_maker_abci:0.1.0:bafybeiaiop5mkdk52cczc2fvecmzsvkkwthuz67dto5d5jc7czu6p4dqf4 +- valory/tx_settlement_multiplexer_abci:0.1.0:bafybeid3ghnj6vy6scf73pmuaepjslkwbrheeniwzohz4ba7g5g5fp45a4 +- valory/staking_abci:0.1.0:bafybeicdubaxhjmrqlewtveukjlth55zhenj723az3gv24di43n5julmra +- valory/check_stop_trading_abci:0.1.0:bafybeieuljdaepxnrboddow2g3d4gqjw2bvljgzodw6bwd63wtppej35gm - valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e behaviours: main: diff --git a/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml b/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml index 003f5d4d..a76d4283 100644 --- a/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml +++ b/packages/valory/skills/tx_settlement_multiplexer_abci/skill.yaml @@ -23,8 +23,8 @@ protocols: - valory/ledger_api:1.0.0:bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni skills: - valory/abstract_round_abci:0.1.0:bafybeiar2yhzxacfe3qqamqhaihtlcimquwedffctw55sowx6rac3cm3ui -- valory/decision_maker_abci:0.1.0:bafybeigtz4wqpobnuj2ixul5gb5nyopaauizq2cwlu57ibczefkppmnvau -- valory/staking_abci:0.1.0:bafybeiegy5iny4x3jk2kjuykebxksoqhfl7irdcldbcwzrsvpopxooys2q +- valory/decision_maker_abci:0.1.0:bafybeiaiop5mkdk52cczc2fvecmzsvkkwthuz67dto5d5jc7czu6p4dqf4 +- valory/staking_abci:0.1.0:bafybeicdubaxhjmrqlewtveukjlth55zhenj723az3gv24di43n5julmra - valory/mech_interact_abci:0.1.0:bafybeih2cck5xu6yaibomwtm5zbcp6llghr3ighdnk56fzwu3ihu5xx35e behaviours: main: