diff --git a/autonomy/constants.py b/autonomy/constants.py index 17f6c80dd8..039aafd09c 100644 --- a/autonomy/constants.py +++ b/autonomy/constants.py @@ -57,4 +57,4 @@ ACN_IMAGE_NAME = os.environ.get("ACN_IMAGE_NAME", "valory/open-acn-node") OAR_IMAGE = "valory/oar-{agent}:{version}" -ABSTRACT_ROUND_ABCI_SKILL_WITH_HASH = "valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi" +ABSTRACT_ROUND_ABCI_SKILL_WITH_HASH = "valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu" diff --git a/docs/api/skills/abstract_round_abci/behaviour_utils.md b/docs/api/skills/abstract_round_abci/behaviour_utils.md index 8d14f72036..97b1318d7c 100644 --- a/docs/api/skills/abstract_round_abci/behaviour_utils.md +++ b/docs/api/skills/abstract_round_abci/behaviour_utils.md @@ -712,6 +712,23 @@ Ledger connection (contract dispatcher) -> (ContractApiMessage | ContractApiMess the contract api response + + +#### hard`_`reset`_`sleep + +```python +@property +def hard_reset_sleep() -> float +``` + +Amount of time to sleep before and after performing a hard reset. + +We sleep for half the observation interval as there are no immediate transactions on either side of the reset. + +**Returns**: + +the amount of time to sleep in seconds + #### reset`_`tendermint`_`with`_`wait @@ -753,6 +770,23 @@ def is_acting() -> bool This method returns whether there is an active fix being applied. + + +#### hard`_`reset`_`sleep + +```python +@property +def hard_reset_sleep() -> float +``` + +Amount of time to sleep before and after performing a hard reset. + +We don't need to wait for half the observation interval, like in normal cases where we perform a hard reset. + +**Returns**: + +the amount of time to sleep in seconds + #### try`_`fix diff --git a/docs/guides/quick_start.md b/docs/guides/quick_start.md index 02b2277c74..2dba5dba98 100644 --- a/docs/guides/quick_start.md +++ b/docs/guides/quick_start.md @@ -17,7 +17,7 @@ Now that you have set up your machine to work with {{open_autonomy}}, we are in 1. Use the CLI to fetch the [Hello World agent service](../demos/hello_world_demo.md). This will connect to the remote registry and download the files that make up the service to the `hello_world` folder: ```bash - autonomy fetch valory/hello_world:0.1.0:bafybeih3ra7ii3wy5cjnrgivu5ma2pt24ynrc6yer3ew2mmv2uzx4fxudq --service + autonomy fetch valory/hello_world:0.1.0:bafybeif4dbwbbetyyocpcyyymymgs2w4jnrszpxzgmwtcx3r2he2co4q3q --service cd hello_world ``` diff --git a/docs/package_list.md b/docs/package_list.md index 5f9f7519a7..75d24e96ed 100644 --- a/docs/package_list.md +++ b/docs/package_list.md @@ -7,30 +7,30 @@ | protocol/valory/tendermint/0.1.0 | `bafybeihcnjhovvyyfbkuw5sjyfx2lfd4soeocfqzxz54g67333m6nk5gxq` | | skill/valory/abstract_abci/0.1.0 | `bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e` | | contract/valory/gnosis_safe/0.1.0 | `bafybeif55qbcx76cxbeupirmbjpw5w4m2nsebhenkll744zenbpoi7vopa` | -| skill/valory/abstract_round_abci/0.1.0 | `bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi` | +| skill/valory/abstract_round_abci/0.1.0 | `bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu` | | contract/valory/multisend/0.1.0 | `bafybeiaveffaomsnmsc5hx62o77u7ilma6eipox7m5lrwa56737ektva3i` | -| skill/valory/transaction_settlement_abci/0.1.0 | `bafybeifo2pwaqyadvhtppzoma5si2qscfz4oeuj56cbbifnw6pwef52u3e` | -| skill/valory/registration_abci/0.1.0 | `bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta` | -| skill/valory/reset_pause_abci/0.1.0 | `bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e` | -| skill/valory/termination_abci/0.1.0 | `bafybeibavq5sxe74lklrjwxyjunkudlzv2bplu7k45jncyim6a2cjcdiky` | +| skill/valory/transaction_settlement_abci/0.1.0 | `bafybeifbjrsi3npfmv4rdahgx6kl7lvhzn43mqis2igmeqqqsrscdrnsfu` | +| skill/valory/registration_abci/0.1.0 | `bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q` | +| skill/valory/reset_pause_abci/0.1.0 | `bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly` | +| skill/valory/termination_abci/0.1.0 | `bafybeigfisqsys6lre5xjfgh2o6o34tdonoldzcojr2zhroe2lvpi2ba24` | | skill/valory/counter/0.1.0 | `bafybeih3l5ak7ubujkf45sqavil2vbtjtxe7eh5urqawer2nj3avir7qva` | | skill/valory/counter_client/0.1.0 | `bafybeihr3p2ztqpbgzuo4xi7gwq4hjcc3khibirritnxkajaugshlzxjke` | -| skill/valory/hello_world_abci/0.1.0 | `bafybeiafvck65mmcgogeb3t7ah6mjgedowre7mauew5cufutkxmtwgce5e` | -| skill/valory/register_reset_abci/0.1.0 | `bafybeiheghhuk4us5mvy7jjv2l7zjbkl73ioewjgujyf7utme73azjis3q` | -| skill/valory/register_termination_abci/0.1.0 | `bafybeigoa5dfnyijtgknt5x4in753akrcmjowakmx3mgqk444b3alau6zi` | -| skill/valory/test_abci/0.1.0 | `bafybeihsbkguzoljk53ht4xpbrubgsegbd7odanuc2go6zpju7hb7s54v4` | +| skill/valory/hello_world_abci/0.1.0 | `bafybeib3pbhne3y3ptx6adqtqut3klgpre2tvsy2xc756sypqtiacl4wba` | +| skill/valory/register_reset_abci/0.1.0 | `bafybeiekoqaiqsfrxp7tfhmmk336eb2oiocr2pxljwxrjjmv3rxklo6rym` | +| skill/valory/register_termination_abci/0.1.0 | `bafybeiaq3vhvfdxdst2evwfrx4owy44bdf4yg3uktnebjei2z3ebi6qon4` | +| skill/valory/test_abci/0.1.0 | `bafybeibubqwvny4m5etobdmxtkuebe3ivafyiuds7nsxglyxwiunqh2qdu` | | agent/valory/abstract_abci/0.1.0 | `bafybeidewumd2jucnsvchnjnfdfe5eex4iig4pv3iqxwrczxdxkfouk3w4` | | agent/valory/counter/0.1.0 | `bafybeia75jx7obyoxx3cs7on4lxmdq6l7uw6vuya2j3ugjvj377t2n7yey` | | agent/valory/counter_client/0.1.0 | `bafybeibyxuqo4itomksd6wvr3loblr2ba4jxa4x3wvtgr3rofpl5xueaaa` | -| agent/valory/hello_world/0.1.0 | `bafybeicwesqzuuuzzxcepvlx3dsp6akrtryjdmxr6t3uofuzucbrv25d3m` | -| agent/valory/register_reset/0.1.0 | `bafybeiaaozazi34e2vcksuj543gbpil52me4cz7a6de3dbrdhaoghwpvya` | -| agent/valory/register_termination/0.1.0 | `bafybeiasjv7vrlosewjok36eneykdc5bf6qr6n3kx7x5rrhklqodqvumze` | -| agent/valory/registration_start_up/0.1.0 | `bafybeiagghp45ifonwtvum4om4xvksr3i2htqekjtlswbh44ujaz4rycma` | -| agent/valory/test_abci/0.1.0 | `bafybeifwwclbabjw5apc5sghifnmnn5t6ftc6me4ybkl7jai2rpufbzode` | +| agent/valory/hello_world/0.1.0 | `bafybeie7hpqkh54uoh7imm4phgcxcqfqbgyo7bx72xtqxyycx6vtieoy34` | +| agent/valory/register_reset/0.1.0 | `bafybeiedcj6glfywc44dyzs534db7badvkav5gvhocjplcgxswp263udna` | +| agent/valory/register_termination/0.1.0 | `bafybeifeamyldml2jzvoeud3eaxsd34iti2bi2vhlflvcco4ze5opykuoe` | +| agent/valory/registration_start_up/0.1.0 | `bafybeibt3d6ih3uexovfowz3rnrg63hjak3r3vq7jddxmoebgdqwfmky3e` | +| agent/valory/test_abci/0.1.0 | `bafybeigs54rm6uuyzdtw3w5pmziohrhh4aus4nwjckohp45fasymfpg6na` | | service/valory/counter/0.1.0 | `bafybeidqpnr7536niha4qniqbadmzov6plvoailxeb77td6bdbh5abqzia` | -| service/valory/hello_world/0.1.0 | `bafybeih3ra7ii3wy5cjnrgivu5ma2pt24ynrc6yer3ew2mmv2uzx4fxudq` | -| service/valory/register_reset/0.1.0 | `bafybeihw5wwf5nuovxlxnvpjq3mhki2eo2toc2hgnld77guliuwmmdtdju` | -| skill/valory/safe_deployment_abci/0.1.0 | `bafybeigitehenz5q3f5q3567m5tyxu4gzz4lm3emoqkhdopdktynpsgooq` | +| service/valory/hello_world/0.1.0 | `bafybeif4dbwbbetyyocpcyyymymgs2w4jnrszpxzgmwtcx3r2he2co4q3q` | +| service/valory/register_reset/0.1.0 | `bafybeidxm34mq44lsljv3oj6hflotew3msc5bdtdpyvrwwa2i4xvzmdvm4` | +| skill/valory/safe_deployment_abci/0.1.0 | `bafybeiagegkfuhvdjark6cuhxsru37cfxu7rxpwx5nsaaqsfonvjsixvgi` | | protocol/open_aea/signing/1.0.0 | `bafybeiambqptflge33eemdhis2whik67hjplfnqwieoa6wblzlaf7vuo44` | | protocol/valory/acn/1.1.0 | `bafybeifontek6tvaecatoauiule3j3id6xoktpjubvuqi3h2jkzqg7zh7a` | | protocol/valory/http/1.0.0 | `bafybeigzqo2zaakcjtzzsm6dh4x73v72xg6ctk6muyp5uq5ueb7y34fbxy` | diff --git a/packages/packages.json b/packages/packages.json index ef93316e08..705d73734d 100644 --- a/packages/packages.json +++ b/packages/packages.json @@ -7,30 +7,30 @@ "protocol/valory/tendermint/0.1.0": "bafybeihcnjhovvyyfbkuw5sjyfx2lfd4soeocfqzxz54g67333m6nk5gxq", "skill/valory/abstract_abci/0.1.0": "bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e", "contract/valory/gnosis_safe/0.1.0": "bafybeif55qbcx76cxbeupirmbjpw5w4m2nsebhenkll744zenbpoi7vopa", - "skill/valory/abstract_round_abci/0.1.0": "bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi", + "skill/valory/abstract_round_abci/0.1.0": "bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu", "contract/valory/multisend/0.1.0": "bafybeiaveffaomsnmsc5hx62o77u7ilma6eipox7m5lrwa56737ektva3i", - "skill/valory/transaction_settlement_abci/0.1.0": "bafybeifo2pwaqyadvhtppzoma5si2qscfz4oeuj56cbbifnw6pwef52u3e", - "skill/valory/registration_abci/0.1.0": "bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta", - "skill/valory/reset_pause_abci/0.1.0": "bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e", - "skill/valory/termination_abci/0.1.0": "bafybeibavq5sxe74lklrjwxyjunkudlzv2bplu7k45jncyim6a2cjcdiky", + "skill/valory/transaction_settlement_abci/0.1.0": "bafybeifbjrsi3npfmv4rdahgx6kl7lvhzn43mqis2igmeqqqsrscdrnsfu", + "skill/valory/registration_abci/0.1.0": "bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q", + "skill/valory/reset_pause_abci/0.1.0": "bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly", + "skill/valory/termination_abci/0.1.0": "bafybeigfisqsys6lre5xjfgh2o6o34tdonoldzcojr2zhroe2lvpi2ba24", "skill/valory/counter/0.1.0": "bafybeih3l5ak7ubujkf45sqavil2vbtjtxe7eh5urqawer2nj3avir7qva", "skill/valory/counter_client/0.1.0": "bafybeihr3p2ztqpbgzuo4xi7gwq4hjcc3khibirritnxkajaugshlzxjke", - "skill/valory/hello_world_abci/0.1.0": "bafybeiafvck65mmcgogeb3t7ah6mjgedowre7mauew5cufutkxmtwgce5e", - "skill/valory/register_reset_abci/0.1.0": "bafybeiheghhuk4us5mvy7jjv2l7zjbkl73ioewjgujyf7utme73azjis3q", - "skill/valory/register_termination_abci/0.1.0": "bafybeigoa5dfnyijtgknt5x4in753akrcmjowakmx3mgqk444b3alau6zi", - "skill/valory/test_abci/0.1.0": "bafybeihsbkguzoljk53ht4xpbrubgsegbd7odanuc2go6zpju7hb7s54v4", + "skill/valory/hello_world_abci/0.1.0": "bafybeib3pbhne3y3ptx6adqtqut3klgpre2tvsy2xc756sypqtiacl4wba", + "skill/valory/register_reset_abci/0.1.0": "bafybeiekoqaiqsfrxp7tfhmmk336eb2oiocr2pxljwxrjjmv3rxklo6rym", + "skill/valory/register_termination_abci/0.1.0": "bafybeiaq3vhvfdxdst2evwfrx4owy44bdf4yg3uktnebjei2z3ebi6qon4", + "skill/valory/test_abci/0.1.0": "bafybeibubqwvny4m5etobdmxtkuebe3ivafyiuds7nsxglyxwiunqh2qdu", "agent/valory/abstract_abci/0.1.0": "bafybeidewumd2jucnsvchnjnfdfe5eex4iig4pv3iqxwrczxdxkfouk3w4", "agent/valory/counter/0.1.0": "bafybeia75jx7obyoxx3cs7on4lxmdq6l7uw6vuya2j3ugjvj377t2n7yey", "agent/valory/counter_client/0.1.0": "bafybeibyxuqo4itomksd6wvr3loblr2ba4jxa4x3wvtgr3rofpl5xueaaa", - "agent/valory/hello_world/0.1.0": "bafybeicwesqzuuuzzxcepvlx3dsp6akrtryjdmxr6t3uofuzucbrv25d3m", - "agent/valory/register_reset/0.1.0": "bafybeiaaozazi34e2vcksuj543gbpil52me4cz7a6de3dbrdhaoghwpvya", - "agent/valory/register_termination/0.1.0": "bafybeiasjv7vrlosewjok36eneykdc5bf6qr6n3kx7x5rrhklqodqvumze", - "agent/valory/registration_start_up/0.1.0": "bafybeiagghp45ifonwtvum4om4xvksr3i2htqekjtlswbh44ujaz4rycma", - "agent/valory/test_abci/0.1.0": "bafybeifwwclbabjw5apc5sghifnmnn5t6ftc6me4ybkl7jai2rpufbzode", + "agent/valory/hello_world/0.1.0": "bafybeie7hpqkh54uoh7imm4phgcxcqfqbgyo7bx72xtqxyycx6vtieoy34", + "agent/valory/register_reset/0.1.0": "bafybeiedcj6glfywc44dyzs534db7badvkav5gvhocjplcgxswp263udna", + "agent/valory/register_termination/0.1.0": "bafybeifeamyldml2jzvoeud3eaxsd34iti2bi2vhlflvcco4ze5opykuoe", + "agent/valory/registration_start_up/0.1.0": "bafybeibt3d6ih3uexovfowz3rnrg63hjak3r3vq7jddxmoebgdqwfmky3e", + "agent/valory/test_abci/0.1.0": "bafybeigs54rm6uuyzdtw3w5pmziohrhh4aus4nwjckohp45fasymfpg6na", "service/valory/counter/0.1.0": "bafybeidqpnr7536niha4qniqbadmzov6plvoailxeb77td6bdbh5abqzia", - "service/valory/hello_world/0.1.0": "bafybeih3ra7ii3wy5cjnrgivu5ma2pt24ynrc6yer3ew2mmv2uzx4fxudq", - "service/valory/register_reset/0.1.0": "bafybeihw5wwf5nuovxlxnvpjq3mhki2eo2toc2hgnld77guliuwmmdtdju", - "skill/valory/safe_deployment_abci/0.1.0": "bafybeigitehenz5q3f5q3567m5tyxu4gzz4lm3emoqkhdopdktynpsgooq" + "service/valory/hello_world/0.1.0": "bafybeif4dbwbbetyyocpcyyymymgs2w4jnrszpxzgmwtcx3r2he2co4q3q", + "service/valory/register_reset/0.1.0": "bafybeidxm34mq44lsljv3oj6hflotew3msc5bdtdpyvrwwa2i4xvzmdvm4", + "skill/valory/safe_deployment_abci/0.1.0": "bafybeiagegkfuhvdjark6cuhxsru37cfxu7rxpwx5nsaaqsfonvjsixvgi" }, "third_party": { "protocol/open_aea/signing/1.0.0": "bafybeiambqptflge33eemdhis2whik67hjplfnqwieoa6wblzlaf7vuo44", diff --git a/packages/valory/agents/hello_world/aea-config.yaml b/packages/valory/agents/hello_world/aea-config.yaml index 1d4882392e..4b0c0cc6e2 100644 --- a/packages/valory/agents/hello_world/aea-config.yaml +++ b/packages/valory/agents/hello_world/aea-config.yaml @@ -21,8 +21,8 @@ protocols: - valory/http:1.0.0:bafybeigzqo2zaakcjtzzsm6dh4x73v72xg6ctk6muyp5uq5ueb7y34fbxy skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/hello_world_abci:0.1.0:bafybeiafvck65mmcgogeb3t7ah6mjgedowre7mauew5cufutkxmtwgce5e +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/hello_world_abci:0.1.0:bafybeib3pbhne3y3ptx6adqtqut3klgpre2tvsy2xc756sypqtiacl4wba default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/agents/register_reset/aea-config.yaml b/packages/valory/agents/register_reset/aea-config.yaml index f8aa794802..be19611b28 100644 --- a/packages/valory/agents/register_reset/aea-config.yaml +++ b/packages/valory/agents/register_reset/aea-config.yaml @@ -33,10 +33,10 @@ protocols: - valory/http:1.0.0:bafybeigzqo2zaakcjtzzsm6dh4x73v72xg6ctk6muyp5uq5ueb7y34fbxy skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/register_reset_abci:0.1.0:bafybeiheghhuk4us5mvy7jjv2l7zjbkl73ioewjgujyf7utme73azjis3q -- valory/registration_abci:0.1.0:bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta -- valory/reset_pause_abci:0.1.0:bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/register_reset_abci:0.1.0:bafybeiekoqaiqsfrxp7tfhmmk336eb2oiocr2pxljwxrjjmv3rxklo6rym +- valory/registration_abci:0.1.0:bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q +- valory/reset_pause_abci:0.1.0:bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/agents/register_termination/aea-config.yaml b/packages/valory/agents/register_termination/aea-config.yaml index 8adc7648a9..ef300f91c2 100644 --- a/packages/valory/agents/register_termination/aea-config.yaml +++ b/packages/valory/agents/register_termination/aea-config.yaml @@ -31,12 +31,12 @@ protocols: - valory/tendermint:0.1.0:bafybeihcnjhovvyyfbkuw5sjyfx2lfd4soeocfqzxz54g67333m6nk5gxq skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/register_termination_abci:0.1.0:bafybeigoa5dfnyijtgknt5x4in753akrcmjowakmx3mgqk444b3alau6zi -- valory/registration_abci:0.1.0:bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta -- valory/reset_pause_abci:0.1.0:bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e -- valory/termination_abci:0.1.0:bafybeibavq5sxe74lklrjwxyjunkudlzv2bplu7k45jncyim6a2cjcdiky -- valory/transaction_settlement_abci:0.1.0:bafybeifo2pwaqyadvhtppzoma5si2qscfz4oeuj56cbbifnw6pwef52u3e +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/register_termination_abci:0.1.0:bafybeiaq3vhvfdxdst2evwfrx4owy44bdf4yg3uktnebjei2z3ebi6qon4 +- valory/registration_abci:0.1.0:bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q +- valory/reset_pause_abci:0.1.0:bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly +- valory/termination_abci:0.1.0:bafybeigfisqsys6lre5xjfgh2o6o34tdonoldzcojr2zhroe2lvpi2ba24 +- valory/transaction_settlement_abci:0.1.0:bafybeifbjrsi3npfmv4rdahgx6kl7lvhzn43mqis2igmeqqqsrscdrnsfu default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/agents/registration_start_up/aea-config.yaml b/packages/valory/agents/registration_start_up/aea-config.yaml index 4f2a82d36b..766c04aa33 100644 --- a/packages/valory/agents/registration_start_up/aea-config.yaml +++ b/packages/valory/agents/registration_start_up/aea-config.yaml @@ -27,8 +27,8 @@ protocols: - valory/tendermint:0.1.0:bafybeihcnjhovvyyfbkuw5sjyfx2lfd4soeocfqzxz54g67333m6nk5gxq skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/registration_abci:0.1.0:bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/registration_abci:0.1.0:bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/agents/test_abci/aea-config.yaml b/packages/valory/agents/test_abci/aea-config.yaml index 6ec49235b2..3d581f1283 100644 --- a/packages/valory/agents/test_abci/aea-config.yaml +++ b/packages/valory/agents/test_abci/aea-config.yaml @@ -21,8 +21,8 @@ protocols: - valory/ledger_api:1.0.0:bafybeih7rhi5zvfvwakx5ifgxsz2cfipeecsh7bm3gnudjxtvhrygpcftq skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/test_abci:0.1.0:bafybeihsbkguzoljk53ht4xpbrubgsegbd7odanuc2go6zpju7hb7s54v4 +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/test_abci:0.1.0:bafybeibubqwvny4m5etobdmxtkuebe3ivafyiuds7nsxglyxwiunqh2qdu default_ledger: ethereum required_ledgers: - ethereum diff --git a/packages/valory/services/hello_world/service.yaml b/packages/valory/services/hello_world/service.yaml index fc6740f75f..fa59c89c69 100644 --- a/packages/valory/services/hello_world/service.yaml +++ b/packages/valory/services/hello_world/service.yaml @@ -7,7 +7,7 @@ license: Apache-2.0 fingerprint: README.md: bafybeiapubcoersqnsnh3acia5hd7otzt7kjxekr6gkbrlumv6tkajl6jm fingerprint_ignore_patterns: [] -agent: valory/hello_world:0.1.0:bafybeicwesqzuuuzzxcepvlx3dsp6akrtryjdmxr6t3uofuzucbrv25d3m +agent: valory/hello_world:0.1.0:bafybeie7hpqkh54uoh7imm4phgcxcqfqbgyo7bx72xtqxyycx6vtieoy34 number_of_agents: 4 --- extra: diff --git a/packages/valory/services/register_reset/service.yaml b/packages/valory/services/register_reset/service.yaml index 3c51cb5a07..f319cc8ea4 100644 --- a/packages/valory/services/register_reset/service.yaml +++ b/packages/valory/services/register_reset/service.yaml @@ -1,7 +1,7 @@ name: register_reset author: valory version: 0.1.0 -agent: valory/register_reset:0.1.0:bafybeiaaozazi34e2vcksuj543gbpil52me4cz7a6de3dbrdhaoghwpvya +agent: valory/register_reset:0.1.0:bafybeiedcj6glfywc44dyzs534db7badvkav5gvhocjplcgxswp263udna number_of_agents: 4 description: Test and debug tendermint reset mechanism. aea_version: '>=1.0.0, <2.0.0' diff --git a/packages/valory/skills/abstract_round_abci/behaviour_utils.py b/packages/valory/skills/abstract_round_abci/behaviour_utils.py index d8f8b166e8..bdbf1ce676 100644 --- a/packages/valory/skills/abstract_round_abci/behaviour_utils.py +++ b/packages/valory/skills/abstract_round_abci/behaviour_utils.py @@ -1607,6 +1607,17 @@ def __parse_rpc_error(error: str) -> RPCResponseStatus: return RPCResponseStatus.ALREADY_KNOWN return RPCResponseStatus.UNCLASSIFIED_ERROR + @property + def hard_reset_sleep(self) -> float: + """ + Amount of time to sleep before and after performing a hard reset. + + We sleep for half the observation interval as there are no immediate transactions on either side of the reset. + + :returns: the amount of time to sleep in seconds + """ + return self.params.observation_interval / 2 + def _start_reset(self) -> Generator: """Start tendermint reset. @@ -1616,10 +1627,7 @@ def _start_reset(self) -> Generator: :yield: None """ if self._check_started is None and not self._is_healthy: - # we do the reset in the middle of the pause as there are no immediate transactions on either side of the reset - yield from self.wait_from_last_timestamp( - self.params.observation_interval / 2 - ) + yield from self.wait_from_last_timestamp(self.hard_reset_sleep) self._check_started = datetime.datetime.now() self._timeout = self.params.max_healthcheck self._is_healthy = False @@ -1681,7 +1689,7 @@ def _get_reset_params(self, default: bool) -> Optional[List[Tuple[str, str]]]: ("initial_height", initial_height), ] - def reset_tendermint_with_wait( + def reset_tendermint_with_wait( # pylint: disable= too-many-locals self, on_startup: bool = False, ) -> Generator[None, None, bool]: @@ -1698,10 +1706,11 @@ def reset_tendermint_with_wait( backup_blockchain = self.context.state.round_sequence.blockchain self.context.state.round_sequence.reset_blockchain() + reset_params = self._get_reset_params(on_startup) request_message, http_dialogue = self._build_http_request_message( "GET", self.params.tendermint_com_url + "/hard_reset", - parameters=self._get_reset_params(on_startup), + parameters=reset_params, ) result = yield from self._do_request(request_message, http_dialogue) try: @@ -1722,7 +1731,12 @@ def reset_tendermint_with_wait( for handler_name in self.context.handlers.__dict__.keys(): dialogues = getattr(self.context, f"{handler_name}_dialogues") dialogues.cleanup() - + # in case of successful reset we store the reset params in the shared state, + # so that in the future if the communication with tendermint breaks, and we need to + # perform a hard reset to restore it, we can use these as the right ones + cast( + SharedState, self.context.state + ).last_reset_params = reset_params self._end_reset() else: msg = response.get("message") @@ -1761,7 +1775,7 @@ def reset_tendermint_with_wait( self.context.logger.info( "local height == remote height; continuing execution..." ) - yield from self.wait_from_last_timestamp(self.params.observation_interval / 2) + yield from self.wait_from_last_timestamp(self.hard_reset_sleep) return True @@ -1770,6 +1784,7 @@ class TmManager(BaseBehaviour, ABC): behaviour_id = "tm_manager" _active_generator: Optional[Generator] = None + _hard_reset_sleep = 10.0 # 10s def async_act(self) -> Generator: # type: ignore """The behaviour act.""" @@ -1786,6 +1801,17 @@ def is_acting(self) -> bool: """This method returns whether there is an active fix being applied.""" return self._active_generator is not None + @property + def hard_reset_sleep(self) -> float: + """ + Amount of time to sleep before and after performing a hard reset. + + We don't need to wait for half the observation interval, like in normal cases where we perform a hard reset. + + :returns: the amount of time to sleep in seconds + """ + return self._hard_reset_sleep + def _handle_unhealthy_tm(self) -> Generator: """This method handles the case when the tendermint node is unhealthy.""" self.context.logger.warning( @@ -1816,6 +1842,19 @@ def _handle_unhealthy_tm(self) -> Generator: self.context.logger.info("Tendermint reset was successfully performed. ") + def _get_reset_params(self, default: bool) -> Optional[List[Tuple[str, str]]]: + """ + Get the parameters for a hard reset request when trying to recover agent <-> tendermint communication. + + :param default: ignored for this use case. + :returns: the reset params. + """ + # we get the params from the latest successful reset, if they are not available, + # i.e. no successful reset has been performed, we return None. + # Returning None means default params will be used. + reset_params = cast(SharedState, self.context.state).last_reset_params + return reset_params + def try_fix(self) -> None: """This method tries to fix an unhealthy node.""" if self._active_generator is None: diff --git a/packages/valory/skills/abstract_round_abci/models.py b/packages/valory/skills/abstract_round_abci/models.py index 75146a35c0..6e33c4a72a 100644 --- a/packages/valory/skills/abstract_round_abci/models.py +++ b/packages/valory/skills/abstract_round_abci/models.py @@ -148,6 +148,7 @@ def __init__( self.abci_app_cls = self._process_abci_app_cls(abci_app_cls) self.abci_app_cls._is_abstract = skill_context.is_abstract_component self._round_sequence: Optional[RoundSequence] = None + self.last_reset_params: Optional[List[Tuple[str, str]]] = None kwargs["skill_context"] = skill_context super().__init__(*args, **kwargs) diff --git a/packages/valory/skills/abstract_round_abci/skill.yaml b/packages/valory/skills/abstract_round_abci/skill.yaml index a831bd0631..a75f9a4251 100644 --- a/packages/valory/skills/abstract_round_abci/skill.yaml +++ b/packages/valory/skills/abstract_round_abci/skill.yaml @@ -10,7 +10,7 @@ fingerprint: __init__.py: bafybeihnqe3jevwrc72dmx4ehfjt7iyxo525f6yxz46t3t2uawhnbh3nji abci_app_chain.py: bafybeihb3ded23gvjrn426qptkbnkge5cewqm7ywi4j6ebmo3j66ss5wii base.py: bafybeia6dmoyn24gu63srfo4weotg5qisumbvu6s23qju635qkdsbaql6i - behaviour_utils.py: bafybeiecyp7uz7icqfztbyq54rupffymojofrw2whdd6cjziyrldaqomfq + behaviour_utils.py: bafybeianhpb2unmyfmxbmytwk36vczrl4u7a5ir6r2qp7indcrhv5rgey4 behaviours.py: bafybeici5qyx6lqnzb76a5quecwc7b7t4fjjcn5zni5hugpwsh27orho2m common.py: bafybeig4binmx32hbak7lmg7kaptfh4qhnwpa2sshykvf3kgvqkztcimfi dialogues.py: bafybeibvnmcn7kofol2h6owljhde4llfc3kwwkb5helxsgsy47mokhwb4i @@ -20,7 +20,7 @@ fingerprint: io_/load.py: bafybeifdki3qeq4aplu6chpozysmeqrt23lxhvcmlefsbesdrklh4wxu64 io_/paths.py: bafybeicfno2l4vwtmjcm3rzpp6tqi3xlkof47pypf5teecad22d44u2ple io_/store.py: bafybeihksp4ch67ae3lum5ou62mmctbl4xnodkiewdlbilmgy752m4pwc4 - models.py: bafybeic3plers4tjebgrnqgsug7ywvpoldqziwebsmomlnospzxbux5afa + models.py: bafybeihg66m2i53vajqzdfi25z3s5vle6h2chmzkdfiyeuovvuw4t5wgo4 serializer.py: bafybeiezjdtp33nub7ual5ibt4vi7dj3ilmyw7wqq374ctub5oo7wgp7mm test_tools/__init__.py: bafybeigicwqumbl3jorusndtfa6ag7lnf3saa6cbqn7fazur4n6nxmsdva test_tools/abci_app.py: bafybeidamvsvilnb2f27gq5idnabyacg6ioa23uqdjcsmzqew3soxzdc7a @@ -41,7 +41,7 @@ fingerprint: tests/test_base.py: bafybeid7ddbqsysjtk23fzfhie2532mbea4onqrex76ammymhklqprf2zq tests/test_base_rounds.py: bafybeidajvkfyzuxs3l3o3t7a2cirhzcisz5hjffomgd6h2lbpqvt4lrsa tests/test_behaviours.py: bafybeiglafvvclkhvmtbu4sfzgziyvb3rv47mh77s6lxwbgdkuaww36odm - tests/test_behaviours_utils.py: bafybeif7dhiwi3s65jamahzcz5fhy352zcso5amoooiuks72h7watvnjbi + tests/test_behaviours_utils.py: bafybeif2ypcnaex3k5aonbl7qv7pp5tdv25vy64tgsb5el4ccbw6oxgs6m tests/test_common.py: bafybeianyjmc5uke35o2jz6w66bvuuu2o22hzhjypxqlt4j4f5bubhglmm tests/test_dialogues.py: bafybeie4dkivvp3gdqyvvnazebftprwklklkjh6o36l5lxtwxuetgaw2nm tests/test_handlers.py: bafybeiduq3fdqmkbzapb5kda4pxsscekktvdzcksshldyqwqhjomgxdvcu @@ -50,7 +50,7 @@ fingerprint: tests/test_io/test_ipfs.py: bafybeigablspercc233scupiajflzqjqzxnjzinlkq6wday3fzg4adegvq tests/test_io/test_load.py: bafybeih5qt3etx3bi2zt2kebra322obxq7s77g3r6xzztsix3ihdpfdixy tests/test_io/test_store.py: bafybeibqfdgj7unktgkwligf4jnhlytijz7wyczykghylpy2smx76q3d5a - tests/test_models.py: bafybeidyr3psxmxk72gvwmipnbendrxb7yrqo6bdz7srsuagweisdmhsz4 + tests/test_models.py: bafybeihy65vjpcevmkftoom4rdah7uvr5ix6qs5cohdhmss3qrdmxbgm4i tests/test_serializer.py: bafybeiarn2xtro3ko66dgzhtslhw5s2g4gzjriw5gqgytmgrquwfnj56oy tests/test_tools/__init__.py: bafybeiew6gu4pgp2sjevq4dbnmv2ail5dph7vj4yi7h3eae4gzx7vj7cbq tests/test_tools/test_base.py: bafybeiegt7qllyfw7bsddg2fapi56iymbf2b23z7qwplezik4zqg6wgdeq diff --git a/packages/valory/skills/abstract_round_abci/tests/test_behaviours_utils.py b/packages/valory/skills/abstract_round_abci/tests/test_behaviours_utils.py index ab044b63fb..704c451d04 100644 --- a/packages/valory/skills/abstract_round_abci/tests/test_behaviours_utils.py +++ b/packages/valory/skills/abstract_round_abci/tests/test_behaviours_utils.py @@ -34,7 +34,18 @@ from datetime import datetime from enum import Enum from pathlib import Path -from typing import Any, Callable, Dict, Generator, Optional, Tuple, Type, Union, cast +from typing import ( + Any, + Callable, + Dict, + Generator, + List, + Optional, + Tuple, + Type, + Union, + cast, +) from unittest import mock from unittest.mock import MagicMock @@ -54,7 +65,6 @@ except (ImportError, ModuleNotFoundError): atheris: Any = None # type: ignore - from aea_test_autonomy.helpers.base import try_send from packages.open_aea.protocols.signing import SigningMessage @@ -85,6 +95,7 @@ make_degenerate_behaviour, ) from packages.valory.skills.abstract_round_abci.models import ( + SharedState, _DEFAULT_REQUEST_RETRY_DELAY, _DEFAULT_REQUEST_TIMEOUT, _DEFAULT_TX_MAX_ATTEMPTS, @@ -94,7 +105,6 @@ PACKAGE_DIR = Path(__file__).parent.parent - # https://github.com/python/cpython/issues/94414 # https://stackoverflow.com/questions/46133223/maximum-value-of-timestamp # NOTE: timezone in behaviour_utils._get_reset_params set to UTC @@ -499,6 +509,7 @@ def setup(self) -> None: tx_timeout=_DEFAULT_TX_TIMEOUT, max_attempts=_DEFAULT_TX_MAX_ATTEMPTS, ) + self.context_mock.shared_state = {} self.context_state_synchronized_data_mock = MagicMock() self.context_mock.params = self.context_params_mock self.context_mock.state.synchronized_data = ( @@ -1770,6 +1781,17 @@ def dummy_get_status(*_: Any) -> Generator[None, None, MagicMock]: next(reset) except StopIteration as e: assert e.value == expecting_success + if expecting_success: + # upon having a successful reset we expect the reset params of that + # reset to be stored in the shared state, as they could be used + # later for performing hard reset in cases when the agent <-> tendermint + # communication is broken + assert ( + cast( + SharedState, self.behaviour.context.state + ).last_reset_params + == expected_parameters + ) else: pytest.fail("`reset_tendermint_with_wait` did not finish!") @@ -1856,6 +1878,7 @@ def setup(self) -> None: self.context_mock.state.synchronized_data = ( self.context_state_synchronized_data_mock ) + self.context_mock.state.last_reset_params = None self.context_mock.state.round_sequence.current_round_id = "round_a" self.context_mock.state.round_sequence.syncing_up = False self.context_mock.state.round_sequence.block_stall_deadline_expired = False @@ -1906,6 +1929,35 @@ def test_handle_unhealthy_tm( ): mock_sys_exit.assert_called() + @pytest.mark.parametrize( + "expected_reset_params", + ( + [ + ("genesis_time", "genesis-time"), + ("initial_height", "1"), + ], + None, + ), + ) + def test_get_reset_params( + self, expected_reset_params: Optional[List[Tuple[str, str]]] + ) -> None: + """Test that reset params returns the correct params.""" + if expected_reset_params is not None: + self.context_mock.state.last_reset_params = expected_reset_params + actual_reset_params = self.tm_manager._get_reset_params(False) + assert expected_reset_params == actual_reset_params + + # setting the "default" arg to true should have no effect + actual_reset_params = self.tm_manager._get_reset_params(True) + assert expected_reset_params == actual_reset_params + + def test_sleep_after_hard_reset(self) -> None: + """Check that hard_reset_sleep returns the expected amount of time.""" + expected = self.tm_manager._hard_reset_sleep + actual = self.tm_manager.hard_reset_sleep + assert actual == expected + def test_try_fix(self) -> None: """Tests try_fix.""" diff --git a/packages/valory/skills/abstract_round_abci/tests/test_models.py b/packages/valory/skills/abstract_round_abci/tests/test_models.py index 665221c2ca..f221d82ab8 100644 --- a/packages/valory/skills/abstract_round_abci/tests/test_models.py +++ b/packages/valory/skills/abstract_round_abci/tests/test_models.py @@ -379,6 +379,23 @@ def test_process_abci_app_cls_positive(self) -> None: SharedState._process_abci_app_cls(AbciAppTest) + def test_last_reset_params_on_init(self) -> None: + """Test that `last_reset_params` gets initialized correctly.""" + # by default `last_reset_params` should be None + shared_state = SharedState( + abci_app_cls=AbciAppTest, name="", skill_context=MagicMock() + ) + assert shared_state.last_reset_params is None + + def test_set_last_reset_params(self) -> None: + """Test that `last_reset_params` get set correctly.""" + shared_state = SharedState( + abci_app_cls=AbciAppTest, name="", skill_context=MagicMock() + ) + test_params = [("genesis_time", "some-time"), ("initial_height", "0")] + shared_state.last_reset_params = test_params + assert shared_state.last_reset_params == test_params + class TestBenchmarkTool: """Test BenchmarkTool""" diff --git a/packages/valory/skills/hello_world_abci/skill.yaml b/packages/valory/skills/hello_world_abci/skill.yaml index 0657165f46..699bb18b9b 100644 --- a/packages/valory/skills/hello_world_abci/skill.yaml +++ b/packages/valory/skills/hello_world_abci/skill.yaml @@ -30,7 +30,7 @@ protocols: - open_aea/signing:1.0.0:bafybeiambqptflge33eemdhis2whik67hjplfnqwieoa6wblzlaf7vuo44 - valory/http:1.0.0:bafybeigzqo2zaakcjtzzsm6dh4x73v72xg6ctk6muyp5uq5ueb7y34fbxy skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {} diff --git a/packages/valory/skills/register_reset_abci/skill.yaml b/packages/valory/skills/register_reset_abci/skill.yaml index 825e6429b5..c104ea07af 100644 --- a/packages/valory/skills/register_reset_abci/skill.yaml +++ b/packages/valory/skills/register_reset_abci/skill.yaml @@ -24,9 +24,9 @@ connections: [] contracts: [] protocols: [] skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/registration_abci:0.1.0:bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta -- valory/reset_pause_abci:0.1.0:bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/registration_abci:0.1.0:bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q +- valory/reset_pause_abci:0.1.0:bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly behaviours: main: args: {} diff --git a/packages/valory/skills/register_termination_abci/skill.yaml b/packages/valory/skills/register_termination_abci/skill.yaml index 6a8dfb33dc..d733a17679 100644 --- a/packages/valory/skills/register_termination_abci/skill.yaml +++ b/packages/valory/skills/register_termination_abci/skill.yaml @@ -23,10 +23,10 @@ connections: [] contracts: [] protocols: [] skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/registration_abci:0.1.0:bafybeia2eynli6bzftnxhql3uuneyx2fvkxdu7jjfbjj73mx7v2hbnlrta -- valory/reset_pause_abci:0.1.0:bafybeifzyirueb3qkranrarfreiuryrj67owx73ku7cresfp74g47vnx6e -- valory/termination_abci:0.1.0:bafybeibavq5sxe74lklrjwxyjunkudlzv2bplu7k45jncyim6a2cjcdiky +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/registration_abci:0.1.0:bafybeigq3ehh7wve66encyntdbqi433b4fsulpsqzpjkee4ot7bsioiu2q +- valory/reset_pause_abci:0.1.0:bafybeihdh4cc7si4my25edkhtjd3vlbb4zmqqbjli7vinsak3jijzmuhly +- valory/termination_abci:0.1.0:bafybeigfisqsys6lre5xjfgh2o6o34tdonoldzcojr2zhroe2lvpi2ba24 behaviours: main: args: {} diff --git a/packages/valory/skills/registration_abci/skill.yaml b/packages/valory/skills/registration_abci/skill.yaml index 4b44cbff34..e73a61efa4 100644 --- a/packages/valory/skills/registration_abci/skill.yaml +++ b/packages/valory/skills/registration_abci/skill.yaml @@ -32,7 +32,7 @@ protocols: - valory/http:1.0.0:bafybeigzqo2zaakcjtzzsm6dh4x73v72xg6ctk6muyp5uq5ueb7y34fbxy - valory/tendermint:0.1.0:bafybeihcnjhovvyyfbkuw5sjyfx2lfd4soeocfqzxz54g67333m6nk5gxq skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {} diff --git a/packages/valory/skills/reset_pause_abci/skill.yaml b/packages/valory/skills/reset_pause_abci/skill.yaml index 10e1802315..4be6bb9a28 100644 --- a/packages/valory/skills/reset_pause_abci/skill.yaml +++ b/packages/valory/skills/reset_pause_abci/skill.yaml @@ -26,7 +26,7 @@ connections: [] contracts: [] protocols: [] skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {} diff --git a/packages/valory/skills/safe_deployment_abci/skill.yaml b/packages/valory/skills/safe_deployment_abci/skill.yaml index f4366277f3..f303a0137c 100644 --- a/packages/valory/skills/safe_deployment_abci/skill.yaml +++ b/packages/valory/skills/safe_deployment_abci/skill.yaml @@ -33,7 +33,7 @@ protocols: - valory/contract_api:1.0.0:bafybeiaxbrvgtbdrh4lslskuxyp4awyr4whcx3nqq5yrr6vimzsxg5dy64 - valory/ledger_api:1.0.0:bafybeih7rhi5zvfvwakx5ifgxsz2cfipeecsh7bm3gnudjxtvhrygpcftq skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {} diff --git a/packages/valory/skills/termination_abci/skill.yaml b/packages/valory/skills/termination_abci/skill.yaml index b1092b1f15..c7426ed640 100644 --- a/packages/valory/skills/termination_abci/skill.yaml +++ b/packages/valory/skills/termination_abci/skill.yaml @@ -29,8 +29,8 @@ contracts: protocols: - valory/contract_api:1.0.0:bafybeiaxbrvgtbdrh4lslskuxyp4awyr4whcx3nqq5yrr6vimzsxg5dy64 skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi -- valory/transaction_settlement_abci:0.1.0:bafybeifo2pwaqyadvhtppzoma5si2qscfz4oeuj56cbbifnw6pwef52u3e +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu +- valory/transaction_settlement_abci:0.1.0:bafybeifbjrsi3npfmv4rdahgx6kl7lvhzn43mqis2igmeqqqsrscdrnsfu behaviours: main: args: {} diff --git a/packages/valory/skills/test_abci/skill.yaml b/packages/valory/skills/test_abci/skill.yaml index 4e34283d02..a00daf790b 100644 --- a/packages/valory/skills/test_abci/skill.yaml +++ b/packages/valory/skills/test_abci/skill.yaml @@ -27,7 +27,7 @@ contracts: [] protocols: [] skills: - valory/abstract_abci:0.1.0:bafybeicog4eierjad4f542ubhe3ez7sxgrsna7t2e5pci2hncpq5vckw4e -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {} diff --git a/packages/valory/skills/transaction_settlement_abci/skill.yaml b/packages/valory/skills/transaction_settlement_abci/skill.yaml index 94acf53457..f499a3c12a 100644 --- a/packages/valory/skills/transaction_settlement_abci/skill.yaml +++ b/packages/valory/skills/transaction_settlement_abci/skill.yaml @@ -36,7 +36,7 @@ protocols: - valory/contract_api:1.0.0:bafybeiaxbrvgtbdrh4lslskuxyp4awyr4whcx3nqq5yrr6vimzsxg5dy64 - valory/ledger_api:1.0.0:bafybeih7rhi5zvfvwakx5ifgxsz2cfipeecsh7bm3gnudjxtvhrygpcftq skills: -- valory/abstract_round_abci:0.1.0:bafybeic4wfwn4ykm3in2sagaxmxgsvnvw6z6g3vxxvqkgqu72dyxix7dbi +- valory/abstract_round_abci:0.1.0:bafybeid3huhmici2ghtpgn4emkywltdku6y4bmu35arbqq6d76gxf6c3bu behaviours: main: args: {}