Skip to content

Commit

Permalink
Merge pull request #2247 from valory-xyz/fix/breaking-change
Browse files Browse the repository at this point in the history
Release `v0.14.14.post2`
  • Loading branch information
Adamantios authored Jul 10, 2024
2 parents 6b406d7 + 5d8b4cb commit 360e9ea
Show file tree
Hide file tree
Showing 49 changed files with 226 additions and 337 deletions.
5 changes: 5 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,11 @@
# Release History - `open-autonomy`


# 0.14.14.post2 (2024-07-10)

Autonomy:
- Reverts the breaking change introduced in the latest release, and more specifically in PRs #2236, #2241, #2244.

# 0.14.14.post1 (2024-06-13)

Autonomy:
Expand Down
2 changes: 1 addition & 1 deletion autonomy/__version__.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
__title__ = "open-autonomy"
__description__ = "A framework for the creation of autonomous agent services."
__url__ = "https://github.com/valory-xyz/open-autonomy.git"
__version__ = "0.14.14.post1"
__version__ = "0.14.14.post2"
__author__ = "Valory AG"
__license__ = "Apache-2.0"
__copyright__ = "2021-2024 Valory AG"
2 changes: 1 addition & 1 deletion autonomy/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -65,4 +65,4 @@
ACN_IMAGE_NAME = os.environ.get("ACN_IMAGE_NAME", "valory/open-acn-node")
DEFAULT_DOCKER_IMAGE_AUTHOR = "valory"
OAR_IMAGE = "{image_author}/oar-{agent}:{version}"
ABSTRACT_ROUND_ABCI_SKILL_WITH_HASH = "valory/abstract_round_abci:0.1.0:bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u"
ABSTRACT_ROUND_ABCI_SKILL_WITH_HASH = "valory/abstract_round_abci:0.1.0:bafybeigud2sytkb2ca7lwk7qcz2mycdevdh7qy725fxvwioeeqr7xpwq4e"
2 changes: 1 addition & 1 deletion deployments/Dockerfiles/autonomy-user/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
open-autonomy[all]==0.14.14.post1
open-autonomy[all]==0.14.14.post2
open-aea[all]==1.53.0
open-aea-cli-ipfs==1.53.0
open-aea-ledger-ethereum==1.53.0
Expand Down
11 changes: 0 additions & 11 deletions docs/api/skills/abstract_round_abci/base.md
Original file line number Diff line number Diff line change
Expand Up @@ -607,17 +607,6 @@ before instantiating this class.
- `cross_period_persisted_keys`: data keys that will be kept after a new period starts
- `logger`: the logger of the abci app

<a id="packages.valory.skills.abstract_round_abci.base.AbciAppDB.normalize"></a>

#### normalize

```python
@staticmethod
def normalize(value: Any) -> str
```

Attempt to normalize a non-primitive type to insert it into the db.

<a id="packages.valory.skills.abstract_round_abci.base.AbciAppDB.setup_data"></a>

#### setup`_`data
Expand Down
2 changes: 1 addition & 1 deletion docs/counter_example.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ you have followed the [setup instructions](guides/quick_start.md#setup). As a re

2. Use the CLI to download the `valory/counter` service.
```bash
autonomy fetch valory/counter:0.1.0:bafybeidsimxo5k4tncawid6sawqewptzsuyd3qjdpawkvvgoe5fx5ig5lm --remote --service
autonomy fetch valory/counter:0.1.0:bafybeih5x5vrpkhzbr2okktefganlpjgrhld7qjchujrllwaqdqtdevyia --remote --service
cd counter
```

Expand Down
8 changes: 4 additions & 4 deletions docs/guides/overview_of_the_development_process.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ To follow the next sections, you need to populate the local registry with a numb
"third_party": {
"service/valory/hello_world/0.1.0": "bafybeibp2iiojzyykcbkadqdszd35laq2ub34eovyghrsr33t2vrxmk2r4",
"agent/valory/hello_world/0.1.0": "bafybeictwjngvb7qon4qisl3q4ztfzvj5pi26zhmpm2oqg6xx6vbz6jrya",
"connection/valory/abci/0.1.0": "bafybeia6etkacvqend7xj6viejkqgo7ozu3yn4yg3qezfthf2xhrjjwse4",
"connection/valory/abci/0.1.0": "bafybeibe5opulxvsjan6dnjspdxxlusdm3yx67rza5ynhvcip4luzrkop4",
"connection/valory/http_client/0.23.0": "bafybeihi772xgzpqeipp3fhmvpct4y6e6tpjp4sogwqrnf3wqspgeilg4u",
"connection/valory/ipfs/0.1.0": "bafybeigcijdbwgdekow5c2ikeltetoteabfp52ewy3xfkd7ygaqbl7j3ke",
"connection/valory/ledger/0.19.0": "bafybeig7woeog4srdby75hpjkmx4rhpkzncbf4h2pm5r6varsp26pf2uhu",
"contract/valory/service_registry/0.1.0": "bafybeiaop64kwdoetxtedoehabmsalojmms7ihuoqcdwxtwb2hk5i6bzye",
"contract/valory/service_registry/0.1.0": "bafybeie5fakcu3fnpako5stfzmfz2a65ruodusia3ap6othlmtiug6kfvm",
"protocol/open_aea/signing/1.0.0": "bafybeihv62fim3wl2bayavfcg3u5e5cxu3b7brtu4cn5xoxd6lqwachasi",
"protocol/valory/abci/0.1.0": "bafybeiaqmp7kocbfdboksayeqhkbrynvlfzsx4uy4x6nohywnmaig4an7u",
"protocol/valory/acn/1.1.0": "bafybeidluaoeakae3exseupaea4i3yvvk5vivyt227xshjlffywwxzcxqe",
Expand All @@ -45,8 +45,8 @@ To follow the next sections, you need to populate the local registry with a numb
"protocol/valory/ipfs/0.1.0": "bafybeiftxi2qhreewgsc5wevogi7yc5g6hbcbo4uiuaibauhv3nhfcdtvm",
"protocol/valory/ledger_api/1.0.0": "bafybeihdk6psr4guxmbcrc26jr2cbgzpd5aljkqvpwo64bvaz7tdti2oni",
"protocol/valory/tendermint/0.1.0": "bafybeig4mi3vmlv5zpbjbfuzcgida6j5f2nhrpedxicmrrfjweqc5r7cra",
"skill/valory/abstract_abci/0.1.0": "bafybeieeaseuy5rbbw465knz27vccvpkfge43q7isl7fkdlfapwd7bpi24",
"skill/valory/abstract_round_abci/0.1.0": "bafybeib733xfbndtpvkf44mtk7oyodnficgloo6xhn7xmqxxeos33es65u",
"skill/valory/abstract_abci/0.1.0": "bafybeidb6mfbe7v4ot2fm4h2h66wjr4sbmxox5vrbkw7pcffihta2afvk4",
"skill/valory/abstract_round_abci/0.1.0": "bafybeigud2sytkb2ca7lwk7qcz2mycdevdh7qy725fxvwioeeqr7xpwq4e",
"skill/valory/hello_world_abci/0.1.0": "bafybeiagjdjp5ut4svjyitsrkr4l7gosfefx5ebphrlkaa6a765fwuljai",
"connection/valory/p2p_libp2p_client/0.1.0": "bafybeid3xg5k2ol5adflqloy75ibgljmol6xsvzvezebsg7oudxeeolz7e"
}
Expand Down
16 changes: 3 additions & 13 deletions docs/key_concepts/abci_app_class.md
Original file line number Diff line number Diff line change
Expand Up @@ -113,9 +113,6 @@ class MyAbciApp(AbciApp):
get_name(BaseSynchronizedData.generated_value),
},
}
cross_period_persisted_keys: FrozenSet[str] = frozenset({
get_name(BaseSynchronizedData.persisted_value),
})
# (...)
```

Expand All @@ -132,26 +129,19 @@ direction LR
<figcaption>State diagram of the FSM implemented by MyAbciApp</figcaption>
</figure>

- The mandatory field `initial_round_cls` indicates the round associated to the initial state of the FSM.
The mandatory field `initial_round_cls` indicates the round associated to the initial state of the FSM.
The set of `initial_states` is optionally provided by the developer. If none is provided,
provided a set containing the `initial_round_cls` is inferred automatically.
When the {{fsm_app}} processes an `Event` it schedules the round associated to the next state by looking at the corresponding transition from the `transition_function` and sets the associated timeouts, if
any.
- The `db_pre_conditions` and `db_post_conditions` are conditions that need to be met when entering and when leaving
The `db_pre_conditions` and `db_post_conditions` are conditions that need to be met when entering and when leaving
the `AbciApp`. These are taken into consideration when chaining FSMs, in order to make sure that
the required data exist in the synchronized data. Therefore, an application can fail early, before running any rounds,
and inform the user about an incorrect chaining attempt.
The pre- and post- conditions on the synchronized data need to be defined for each initial and final state
in an `AbciApp`. If there are no conditions required for an app, they can be mapped to an empty list.
Otherwise, the list should contain the names of all the required properties in the synchronized data.
- The cross-period persisted keys allow the apps to persist information in the synchronized database without them being cleaned up.
By setting any key as cross-period, its value in the database will be accessible at all periods.
Moreover, as of `v0.14.14.post1`, there is a mechanism that presets the values to their defaults at startup.
The default value will be the one that the corresponding property returns.
If there is no property matching the name of the key, then the framework will attempt to set the value in the synced db.
If no value is found there, the value `None` will be set.
Before `v0.14.14.post1`, developers must set a value for all the cross-period keys before the period 0 ends.
- The suggested way to reference the names of the properties is to use the `get_name` function, defined in the `abstract_round_abci`,
The suggested way to do this is to use the `get_name` function, defined in the `abstract_round_abci`,
so that strings are avoided as they can get out of sync.

In addition to the `AbciApp`class, the {{fsm_app}} also requires that the `AbstractRoundBehaviour` class be implemented in order to run the state transition logic contained in it.
Loading

0 comments on commit 360e9ea

Please sign in to comment.