diff --git a/.spelling b/.spelling
index c0c70bbab5..09a04fa247 100644
--- a/.spelling
+++ b/.spelling
@@ -226,6 +226,7 @@ CosmPy
dockerised
Mermaid-JS
darglint
+aea-cli-ipfs
- docs/language-agnostic-definition.md
fetchai
protocol_id
diff --git a/HISTORY.md b/HISTORY.md
index f535a9dfed..3071011c22 100644
--- a/HISTORY.md
+++ b/HISTORY.md
@@ -1,5 +1,22 @@
# Release History
+## 1.1.1 (2021-12-15)
+
+AEA:
+- Updates the protocol generator to generate protocols that satisfy linter constraints
+
+Plugins:
+ - aea-cli-ipfs plugin small update
+
+Packages:
+- Fixes fetchai/p2p_libp2p connection to address a slow DHT lookup problem
+- Updates protocols with the latest protocol generator
+- Updates random beacon agent so it produces block data instead of the (now deprecated feature of the test-net) random beacon data
+
+Misc
+- Bumps go library versions
+- Various fixes and improvements
+
## 1.1.0 (2021-10-13)
AEA:
diff --git a/Makefile b/Makefile
index ee048f04ff..6528f3681d 100644
--- a/Makefile
+++ b/Makefile
@@ -46,7 +46,7 @@ lint:
isort aea benchmark examples packages plugins scripts tests
flake8 aea benchmark examples packages plugins scripts tests
vulture aea scripts/whitelist.py --exclude "*_pb2.py"
- darglint aea benchmark examples libs packages/fetchai/connections packages/fetchai/contracts packages/fetchai/skills plugins scripts
+ darglint aea benchmark examples libs packages plugins scripts
.PHONY: pylint
pylint:
diff --git a/aea/__version__.py b/aea/__version__.py
index 5322573099..33ef4e5322 100644
--- a/aea/__version__.py
+++ b/aea/__version__.py
@@ -22,7 +22,7 @@
__title__ = "aea"
__description__ = "Autonomous Economic Agent framework"
__url__ = "https://github.com/fetchai/agents-aea.git"
-__version__ = "1.1.0"
+__version__ = "1.1.1"
__author__ = "Fetch.AI Limited"
__license__ = "Apache-2.0"
__copyright__ = "2019 Fetch.AI Limited"
diff --git a/aea/manager/manager.py b/aea/manager/manager.py
index a5fe1fabbe..4ac41b6008 100644
--- a/aea/manager/manager.py
+++ b/aea/manager/manager.py
@@ -281,7 +281,9 @@ def stop_event_thread() -> None:
t.start()
loop = asyncio.get_event_loop()
aea.runtime.set_loop(loop)
- aea.start()
+ aea.runtime.start()
+ loop.run_until_complete(aea.runtime.wait_completed())
+
except BaseException as e: # pylint: disable=broad-except
print(
f"Exception in agent subprocess task at {datetime.datetime.now()}:\n{format_exc()}"
@@ -291,8 +293,8 @@ def stop_event_thread() -> None:
run_stop_thread = False
if t:
t.join(10)
-
- result_queue.put(r)
+ result_queue.put(r)
+ aea.logger.debug("process task stopped")
def stop(self) -> None:
"""Stop the task."""
diff --git a/aea/protocols/generator/base.py b/aea/protocols/generator/base.py
index 2e515dd3a5..792c21c5ad 100644
--- a/aea/protocols/generator/base.py
+++ b/aea/protocols/generator/base.py
@@ -746,6 +746,7 @@ def _message_class_str(self) -> str:
cls_str += self.indent + ":param dialogue_reference: the dialogue reference.\n"
cls_str += self.indent + ":param target: the message target.\n"
cls_str += self.indent + ":param performative: the message performative.\n"
+ cls_str += self.indent + ":param **kwargs: extra options.\n"
cls_str += self.indent + '"""\n'
cls_str += self.indent + "super().__init__(\n"
@@ -965,7 +966,10 @@ def _valid_replies_str(self) -> str:
:return: the `valid replies` dictionary string
"""
- valid_replies_str = self.indent + "VALID_REPLIES = {\n"
+ valid_replies_str = (
+ self.indent
+ + "VALID_REPLIES: Dict[Message.Performative, FrozenSet[Message.Performative]] = {\n"
+ )
self._change_indent(1)
for performative in sorted(self.spec.reply.keys()):
valid_replies_str += (
@@ -1067,7 +1071,7 @@ def _dialogue_class_str(self) -> str:
# Imports
cls_str += self.indent + "from abc import ABC\n"
cls_str += (
- self.indent + "from typing import Callable, FrozenSet, Type, cast\n\n"
+ self.indent + "from typing import Callable, Dict, FrozenSet, Type, cast\n\n"
)
cls_str += self.indent + "from aea.common import Address\n"
cls_str += self.indent + "from aea.protocols.base import Message\n"
@@ -1111,11 +1115,11 @@ def _dialogue_class_str(self) -> str:
)
cls_str += (
self.indent
- + "INITIAL_PERFORMATIVES = frozenset({"
+ + "INITIAL_PERFORMATIVES: FrozenSet[Message.Performative] = frozenset({"
+ initial_performatives_str
+ "})\n"
+ self.indent
- + "TERMINAL_PERFORMATIVES = frozenset({"
+ + "TERMINAL_PERFORMATIVES: FrozenSet[Message.Performative] = frozenset({"
+ terminal_performatives_str
+ "})\n"
+ self._valid_replies_str()
@@ -1153,7 +1157,7 @@ def _dialogue_class_str(self) -> str:
self.indent
+ ":param role: the role of the agent this dialogue is maintained for\n"
)
- cls_str += self.indent + ":return: None\n"
+ cls_str += self.indent + ":param message_class: the message class used\n"
cls_str += self.indent + '"""\n'
cls_str += self.indent + "Dialogue.__init__(\n"
cls_str += self.indent + "self,\n"
@@ -1216,7 +1220,11 @@ def _dialogue_class_str(self) -> str:
self.indent
+ ":param self_address: the address of the entity for whom dialogues are maintained\n"
)
- cls_str += self.indent + ":return: None\n"
+ cls_str += self.indent + ":param dialogue_class: the dialogue class used\n"
+ cls_str += (
+ self.indent
+ + ":param role_from_first_message: the callable determining role from first message\n"
+ )
cls_str += self.indent + '"""\n'
cls_str += self.indent + "Dialogues.__init__(\n"
self._change_indent(1)
@@ -1303,7 +1311,6 @@ def _custom_types_module_str(self) -> str:
_camel_case_to_snake_case(custom_type)
)
)
- cls_str += self.indent + ":return: None\n"
cls_str += self.indent + '"""\n'
cls_str += self.indent + "raise NotImplementedError\n\n"
self._change_indent(-1)
diff --git a/deploy-image/Dockerfile b/deploy-image/Dockerfile
index 7545070a0f..d723d61ca8 100644
--- a/deploy-image/Dockerfile
+++ b/deploy-image/Dockerfile
@@ -16,7 +16,7 @@ RUN apk add --no-cache go
# aea installation
RUN pip install --upgrade pip
-RUN pip install --upgrade --force-reinstall aea[all]==1.1.0
+RUN pip install --upgrade --force-reinstall aea[all]==1.1.1
# directories and aea cli config
COPY /.aea /home/.aea
diff --git a/develop-image/docker-env.sh b/develop-image/docker-env.sh
index 86b5c3e493..1ef39fd3df 100755
--- a/develop-image/docker-env.sh
+++ b/develop-image/docker-env.sh
@@ -1,7 +1,7 @@
#!/bin/bash
# Swap the following lines if you want to work with 'latest'
-DOCKER_IMAGE_TAG=fetchai/aea-develop:1.1.0
+DOCKER_IMAGE_TAG=fetchai/aea-develop:1.1.1
# DOCKER_IMAGE_TAG=aea-develop:latest
DOCKER_BUILD_CONTEXT_DIR=..
diff --git a/docs/aggregation-demo.md b/docs/aggregation-demo.md
index be8289fc74..ac439cbd4c 100644
--- a/docs/aggregation-demo.md
+++ b/docs/aggregation-demo.md
@@ -19,7 +19,7 @@ Repeat the following process four times in four different terminals (for each {`
Fetch the aggregator AEA:
``` bash
agent_name="agg$i"
-aea fetch fetchai/simple_aggregator:0.4.0 --alias $agent_name
+aea fetch fetchai/simple_aggregator:0.5.0 --alias $agent_name
cd $agent_name
aea install
aea build
@@ -34,15 +34,15 @@ Create the AEA.
agent_name="agg$i"
aea create agent_name
cd agent_name
-aea add connection fetchai/http_client:0.23.0
-aea add connection fetchai/http_server:0.22.0
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/prometheus:0.8.0
-aea add skill fetchai/advanced_data_request:0.6.0
-aea add skill fetchai/simple_aggregation:0.2.0
-
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea add connection fetchai/http_client:0.24.0
+aea add connection fetchai/http_server:0.23.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/prometheus:0.9.0
+aea add skill fetchai/advanced_data_request:0.7.0
+aea add skill fetchai/simple_aggregation:0.3.0
+
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea install
aea build
```
@@ -126,8 +126,8 @@ aea config set vendor.fetchai.connections.http_server.config.port $((8000+i))
To publish the aggregated value to an oracle smart contract, add the ledger connection and simple oracle skill to one of the aggregators:
``` bash
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/simple_oracle:0.14.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/simple_oracle:0.15.0
```
Configure the simple oracle skill for the `fetchai` ledger:
diff --git a/docs/api/protocols/default/custom_types.md b/docs/api/protocols/default/custom_types.md
index ea03656f76..a04d763ba2 100644
--- a/docs/api/protocols/default/custom_types.md
+++ b/docs/api/protocols/default/custom_types.md
@@ -29,10 +29,6 @@ The protocol buffer object in the error_code_protobuf_object argument is matched
- `error_code_protobuf_object`: the protocol buffer object whose type corresponds with this class.
- `error_code_object`: an instance of this class to be encoded in the protocol buffer object.
-**Returns**:
-
-None
-
#### decode
diff --git a/docs/api/protocols/default/dialogues.md b/docs/api/protocols/default/dialogues.md
index b8ab694346..e0822d1578 100644
--- a/docs/api/protocols/default/dialogues.md
+++ b/docs/api/protocols/default/dialogues.md
@@ -47,10 +47,7 @@ Initialize a dialogue.
- `dialogue_label`: the identifier of the dialogue
- `self_address`: the address of the entity for whom this dialogue is maintained
- `role`: the role of the agent this dialogue is maintained for
-
-**Returns**:
-
-None
+- `message_class`: the message class used
## DefaultDialogues Objects
@@ -73,8 +70,6 @@ Initialize dialogues.
**Arguments**:
- `self_address`: the address of the entity for whom dialogues are maintained
-
-**Returns**:
-
-None
+- `dialogue_class`: the dialogue class used
+- `role_from_first_message`: the callable determining role from first message
diff --git a/docs/api/protocols/default/message.md b/docs/api/protocols/default/message.md
index 670b4aefb8..42aefc1d20 100644
--- a/docs/api/protocols/default/message.md
+++ b/docs/api/protocols/default/message.md
@@ -45,6 +45,7 @@ Initialise an instance of DefaultMessage.
- `dialogue_reference`: the dialogue reference.
- `target`: the message target.
- `performative`: the message performative.
+:param **kwargs: extra options.
#### valid`_`performatives
diff --git a/docs/api/protocols/signing/custom_types.md b/docs/api/protocols/signing/custom_types.md
index 68c894a93e..b5933f114b 100644
--- a/docs/api/protocols/signing/custom_types.md
+++ b/docs/api/protocols/signing/custom_types.md
@@ -29,10 +29,6 @@ The protocol buffer object in the error_code_protobuf_object argument is matched
- `error_code_protobuf_object`: the protocol buffer object whose type corresponds with this class.
- `error_code_object`: an instance of this class to be encoded in the protocol buffer object.
-**Returns**:
-
-None
-
#### decode
diff --git a/docs/api/protocols/signing/dialogues.md b/docs/api/protocols/signing/dialogues.md
index 2a4116a172..9a571c010c 100644
--- a/docs/api/protocols/signing/dialogues.md
+++ b/docs/api/protocols/signing/dialogues.md
@@ -47,10 +47,7 @@ Initialize a dialogue.
- `dialogue_label`: the identifier of the dialogue
- `self_address`: the address of the entity for whom this dialogue is maintained
- `role`: the role of the agent this dialogue is maintained for
-
-**Returns**:
-
-None
+- `message_class`: the message class used
## SigningDialogues Objects
@@ -73,8 +70,6 @@ Initialize dialogues.
**Arguments**:
- `self_address`: the address of the entity for whom dialogues are maintained
-
-**Returns**:
-
-None
+- `dialogue_class`: the dialogue class used
+- `role_from_first_message`: the callable determining role from first message
diff --git a/docs/api/protocols/signing/message.md b/docs/api/protocols/signing/message.md
index 8f556aa39d..6a65dbbb4a 100644
--- a/docs/api/protocols/signing/message.md
+++ b/docs/api/protocols/signing/message.md
@@ -45,6 +45,7 @@ Initialise an instance of SigningMessage.
- `dialogue_reference`: the dialogue reference.
- `target`: the message target.
- `performative`: the message performative.
+:param **kwargs: extra options.
#### valid`_`performatives
diff --git a/docs/api/protocols/state_update/dialogues.md b/docs/api/protocols/state_update/dialogues.md
index d0fc439f4c..73dd9a3cf6 100644
--- a/docs/api/protocols/state_update/dialogues.md
+++ b/docs/api/protocols/state_update/dialogues.md
@@ -47,10 +47,7 @@ Initialize a dialogue.
- `dialogue_label`: the identifier of the dialogue
- `self_address`: the address of the entity for whom this dialogue is maintained
- `role`: the role of the agent this dialogue is maintained for
-
-**Returns**:
-
-None
+- `message_class`: the message class used
## StateUpdateDialogues Objects
@@ -73,8 +70,6 @@ Initialize dialogues.
**Arguments**:
- `self_address`: the address of the entity for whom dialogues are maintained
-
-**Returns**:
-
-None
+- `dialogue_class`: the dialogue class used
+- `role_from_first_message`: the callable determining role from first message
diff --git a/docs/api/protocols/state_update/message.md b/docs/api/protocols/state_update/message.md
index e5724e72cb..f0d35f9794 100644
--- a/docs/api/protocols/state_update/message.md
+++ b/docs/api/protocols/state_update/message.md
@@ -45,6 +45,7 @@ Initialise an instance of StateUpdateMessage.
- `dialogue_reference`: the dialogue reference.
- `target`: the message target.
- `performative`: the message performative.
+:param **kwargs: extra options.
#### valid`_`performatives
diff --git a/docs/aries-cloud-agent-demo.md b/docs/aries-cloud-agent-demo.md
index c6f76fe245..bef714059a 100644
--- a/docs/aries-cloud-agent-demo.md
+++ b/docs/aries-cloud-agent-demo.md
@@ -180,7 +180,7 @@ Now you can create **Alice_AEA** and **Faber_AEA** in terminals 3 and 4 respecti
In the third terminal, fetch **Alice_AEA** and move into its project folder:
``` bash
-aea fetch fetchai/aries_alice:0.31.0
+aea fetch fetchai/aries_alice:0.32.0
cd aries_alice
```
@@ -191,11 +191,11 @@ The following steps create Alice_AEA from scratch:
``` bash
aea create aries_alice
cd aries_alice
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/http_client:0.23.0
-aea add connection fetchai/webhook:0.19.0
-aea add skill fetchai/aries_alice:0.24.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/http_client:0.24.0
+aea add connection fetchai/webhook:0.20.0
+aea add skill fetchai/aries_alice:0.25.0
```
@@ -257,14 +257,14 @@ Finally run **Alice_AEA**:
aea run
```
-Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.25.0 -u public_uri` to retrieve the address.) We will refer to this as **Alice_AEA's P2P address**.
+Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.26.0 -u public_uri` to retrieve the address.) We will refer to this as **Alice_AEA's P2P address**.
### Faber_AEA
In the fourth terminal, fetch **Faber_AEA** and move into its project folder:
``` bash
-aea fetch fetchai/aries_faber:0.31.0
+aea fetch fetchai/aries_faber:0.32.0
cd aries_faber
```
@@ -275,11 +275,11 @@ The following steps create Faber_AEA from scratch:
``` bash
aea create aries_faber
cd aries_faber
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/http_client:0.23.0
-aea add connection fetchai/webhook:0.19.0
-aea add skill fetchai/aries_faber:0.22.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/http_client:0.24.0
+aea add connection fetchai/webhook:0.20.0
+aea add skill fetchai/aries_faber:0.23.0
```
diff --git a/docs/build-aea-programmatically.md b/docs/build-aea-programmatically.md
index d9269a99e4..f879961ca1 100644
--- a/docs/build-aea-programmatically.md
+++ b/docs/build-aea-programmatically.md
@@ -62,7 +62,7 @@ We will use the stub connection to pass envelopes in and out of the AEA. Ensure
```
## Initialise the AEA
-We use the `AEABuilder` to readily build an AEA. By default, the `AEABuilder` adds the `fetchai/default:1.0.0`, `fetchai/state_update:1.0.0` and `fetchai/signing:1.0.0` protocols.
+We use the `AEABuilder` to readily build an AEA. By default, the `AEABuilder` adds the `fetchai/default:1.1.0`, `fetchai/state_update:1.1.0` and `fetchai/signing:1.1.0` protocols.
``` python
# Instantiate the builder and build the AEA
# By default, the default protocol, error skill and stub connection are added
diff --git a/docs/car-park-skills.md b/docs/car-park-skills.md
index 1a7a1ca9c9..2ad975d79a 100644
--- a/docs/car-park-skills.md
+++ b/docs/car-park-skills.md
@@ -57,9 +57,9 @@ Install the AEA Manager
The following steps assume you have launched the AEA Manager Desktop app.
-1. Add a new AEA called `car_detector` with public id `fetchai/car_detector:0.31.0`.
+1. Add a new AEA called `car_detector` with public id `fetchai/car_detector:0.32.0`.
-2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.32.0`.
+2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.33.0`.
3. Copy the address from the `car_data_buyer` into your clip board. Then go to the StargateWorld block explorer and request some test tokens via `Get Funds`.
@@ -97,7 +97,7 @@ Follow the Preliminaries and =1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -135,7 +135,7 @@ aea build
Then, fetch the car data client AEA:
``` bash
-aea fetch fetchai/car_data_buyer:0.32.0
+aea fetch fetchai/car_data_buyer:0.33.0
cd car_data_buyer
aea install
aea build
@@ -148,19 +148,19 @@ The following steps create the car data client from scratch:
``` bash
aea create car_data_buyer
cd car_data_buyer
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/carpark_client:0.26.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/carpark_client:0.27.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -225,7 +225,7 @@ First, run the car data seller AEA:
aea run
```
-Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.25.0 -u public_uri` to retrieve the address.)
+Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.26.0 -u public_uri` to retrieve the address.)
This is the entry peer address for the local agent communication network created by the car data seller.
Then, in the car data buyer, run this command (replace `SOME_ADDRESS` with the correct value as described above):
diff --git a/docs/cli-vs-programmatic-aeas.md b/docs/cli-vs-programmatic-aeas.md
index 225840e93d..e386cf8136 100644
--- a/docs/cli-vs-programmatic-aeas.md
+++ b/docs/cli-vs-programmatic-aeas.md
@@ -33,7 +33,7 @@ If you want to create the weather station AEA step by step you can follow this g
Fetch the weather station AEA with the following command :
``` bash
-aea fetch fetchai/weather_station:0.31.0
+aea fetch fetchai/weather_station:0.32.0
cd weather_station
aea install
aea build
diff --git a/docs/config.md b/docs/config.md
index 4caa557a7a..84320e2043 100644
--- a/docs/config.md
+++ b/docs/config.md
@@ -24,10 +24,10 @@ connections: # The list of connection public
- fetchai/stub:0.21.0
contracts: [] # The list of contract public ids the AEA project depends on (each public id must satisfy PUBLIC_ID_REGEX).
protocols: # The list of protocol public ids the AEA project depends on (each public id must satisfy PUBLIC_ID_REGEX).
-- fetchai/default:1.0.0
+- fetchai/default:1.1.0
skills: # The list of skill public ids the AEA project depends on (each public id must satisfy PUBLIC_ID_REGEX).
-- fetchai/error:0.17.0
-default_connection: fetchai/p2p_libp2p:0.25.0 # The default connection used for envelopes sent by the AEA (must satisfy PUBLIC_ID_REGEX).
+- fetchai/error:0.18.0
+default_connection: fetchai/p2p_libp2p:0.26.0 # The default connection used for envelopes sent by the AEA (must satisfy PUBLIC_ID_REGEX).
default_ledger: fetchai # The default ledger identifier the AEA project uses (must satisfy LEDGER_ID_REGEX)
required_ledgers: [fetchai] # the list of identifiers of ledgers that the AEA project requires key pairs for (each item must satisfy LEDGER_ID_REGEX)
default_routing: {} # The default routing scheme applied to envelopes sent by the AEA, it maps from protocol public ids to connection public ids (both keys and values must satisfy PUBLIC_ID_REGEX)
diff --git a/docs/connect-a-frontend.md b/docs/connect-a-frontend.md
index 321b1bfc3c..0d085719db 100644
--- a/docs/connect-a-frontend.md
+++ b/docs/connect-a-frontend.md
@@ -3,7 +3,7 @@ This page lays out two options for connecting a front-end to an AEA. The followi
## Case 1
-The first option is to create a `HTTP Server` connection that handles incoming requests from a REST API. In this scenario, the REST API communicates with the AEA and requests are handled by the `HTTP Server` connection package. The REST API should send CRUD requests to the `HTTP Server` connection (`fetchai/http_server:0.22.0`) which translates these into Envelopes to be consumed by the correct skill.
+The first option is to create a `HTTP Server` connection that handles incoming requests from a REST API. In this scenario, the REST API communicates with the AEA and requests are handled by the `HTTP Server` connection package. The REST API should send CRUD requests to the `HTTP Server` connection (`fetchai/http_server:0.23.0`) which translates these into Envelopes to be consumed by the correct skill.
## Case 2
-The second option is to create a front-end comprising a stand-alone `Multiplexer` with a `P2P` connection (`fetchai/p2p_libp2p:0.25.0`). In this scenario the Agent Communication Network can be used to send Envelopes from the AEA to the front-end.
\ No newline at end of file
+The second option is to create a front-end comprising a stand-alone `Multiplexer` with a `P2P` connection (`fetchai/p2p_libp2p:0.26.0`). In this scenario the Agent Communication Network can be used to send Envelopes from the AEA to the front-end.
\ No newline at end of file
diff --git a/docs/connection.md b/docs/connection.md
index 30297e84d6..07a2366a06 100644
--- a/docs/connection.md
+++ b/docs/connection.md
@@ -36,7 +36,7 @@ The developer needs to implement four public coroutines:
- The `receive` coroutine is continuously called by the AEA framework. It either returns `None` or an envelope. The `receive` coroutine must implement the logic of data being received by the agent, and if necessary, its translation into a relevant protocol.
-The framework provides a demo `stub` connection which implements an I/O reader and writer to send and receive messages between the agent and a local file. To gain inspiration and become familiar with the structure of connection packages, you may find it useful to check out `fetchai/stub:0.21.0`, `fetchai/http_server:0.22.0` or `fetchai/http_client:0.23.0` connections. The latter two connections are for external clients to connect with an agent, and for the agent to connect with external servers, respectively.
+The framework provides a demo `stub` connection which implements an I/O reader and writer to send and receive messages between the agent and a local file. To gain inspiration and become familiar with the structure of connection packages, you may find it useful to check out `fetchai/stub:0.21.0`, `fetchai/http_server:0.23.0` or `fetchai/http_client:0.24.0` connections. The latter two connections are for external clients to connect with an agent, and for the agent to connect with external servers, respectively.
### Primary methods to develop - sync connection interface
diff --git a/docs/contract.md b/docs/contract.md
index c669bfefa6..ad1035c674 100644
--- a/docs/contract.md
+++ b/docs/contract.md
@@ -18,9 +18,9 @@ Interacting with contracts in almost all cases requires network access. Therefor
-In particular, the `fetchai/ledger:0.19.0` connection can be used to execute contract related logic. The skills communicate with the `fetchai/ledger:0.19.0` connection via the `fetchai/contract_api:1.0.0` protocol. This protocol implements a request-response pattern to serve the four types of methods listed above:
+In particular, the `fetchai/ledger:0.20.0` connection can be used to execute contract related logic. The skills communicate with the `fetchai/ledger:0.20.0` connection via the `fetchai/contract_api:1.0.0` protocol. This protocol implements a request-response pattern to serve the four types of methods listed above:
-- the `get_deploy_transaction` message is used to request a deploy transaction for a specific contract. For instance, to request a deploy transaction for the deployment of the smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.19.0`:
+- the `get_deploy_transaction` message is used to request a deploy transaction for a specific contract. For instance, to request a deploy transaction for the deployment of the smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.20.0`:
``` python
contract_api_msg = ContractApiMessage(
@@ -37,7 +37,7 @@ contract_api_msg = ContractApiMessage(
Any additional arguments needed by the contract's constructor method should be added to `kwargs`.
-This message will be handled by the `fetchai/ledger:0.19.0` connection and then a `raw_transaction` message will be returned with the matching raw transaction. To send this transaction to the ledger for processing, we first sign the message with the decision maker and then send the signed transaction to the `fetchai/ledger:0.19.0` connection using the `fetchai/ledger_api:1.0.0` protocol. For details on how to implement the message handling, see the handlers in the `erc1155_deploy` skill.
+This message will be handled by the `fetchai/ledger:0.20.0` connection and then a `raw_transaction` message will be returned with the matching raw transaction. To send this transaction to the ledger for processing, we first sign the message with the decision maker and then send the signed transaction to the `fetchai/ledger:0.20.0` connection using the `fetchai/ledger_api:1.0.0` protocol. For details on how to implement the message handling, see the handlers in the `erc1155_deploy` skill.
CosmWasm based smart contract deployments
@@ -45,7 +45,7 @@ This message will be handled by the `fetchai/ledger:0.19.0` connection and then
-- the `get_raw_transaction` message is used to request any transaction for a specific contract which changes state in the contract. For instance, to request a transaction for the creation of token in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.19.0`:
+- the `get_raw_transaction` message is used to request any transaction for a specific contract which changes state in the contract. For instance, to request a transaction for the creation of token in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.20.0`:
``` python
contract_api_msg = ContractApiMessage(
@@ -64,9 +64,9 @@ contract_api_msg = ContractApiMessage(
)
```
-This message will be handled by the `fetchai/ledger:0.19.0` connection and then a `raw_transaction` message will be returned with the matching raw transaction. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_create_batch_transaction` method with the specified key word arguments (see example in *Deploy your own*, below). Similarly to above, to send this transaction to the ledger for processing, we first sign the message with the decision maker and then send the signed transaction to the `fetchai/ledger:0.19.0` connection using the `fetchai/ledger_api:1.0.0` protocol.
+This message will be handled by the `fetchai/ledger:0.20.0` connection and then a `raw_transaction` message will be returned with the matching raw transaction. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_create_batch_transaction` method with the specified key word arguments (see example in *Deploy your own*, below). Similarly to above, to send this transaction to the ledger for processing, we first sign the message with the decision maker and then send the signed transaction to the `fetchai/ledger:0.20.0` connection using the `fetchai/ledger_api:1.0.0` protocol.
-- the `get_raw_message` message is used to request any contract method call for a specific contract which does not change state in the contract. For instance, to request a call to get a hash from some input data in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.19.0`:
+- the `get_raw_message` message is used to request any contract method call for a specific contract which does not change state in the contract. For instance, to request a call to get a hash from some input data in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.20.0`:
``` python
contract_api_msg = ContractApiMessage(
@@ -89,10 +89,10 @@ contract_api_msg = ContractApiMessage(
),
)
```
-This message will be handled by the `fetchai/ledger:0.19.0` connection and then a `raw_message` message will be returned with the matching raw message. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_hash_single` method with the specified key word arguments. We can then send the raw message to the `fetchai/ledger:0.19.0` connection using the `fetchai/ledger_api:1.0.0` protocol. In this case, signing is not required.
+This message will be handled by the `fetchai/ledger:0.20.0` connection and then a `raw_message` message will be returned with the matching raw message. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_hash_single` method with the specified key word arguments. We can then send the raw message to the `fetchai/ledger:0.20.0` connection using the `fetchai/ledger_api:1.0.0` protocol. In this case, signing is not required.
-- the `get_state` message is used to request any contract method call to query state in the deployed contract. For instance, to request a call to get the balances in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.19.0`:
+- the `get_state` message is used to request any contract method call to query state in the deployed contract. For instance, to request a call to get the balances in the deployed `erc1155` smart contract wrapped in the `fetchai/erc1155:0.22.0` package, we send the following message to the `fetchai/ledger:0.20.0`:
``` python
contract_api_msg = ContractApiMessage(
@@ -107,7 +107,7 @@ contract_api_msg = ContractApiMessage(
),
)
```
-This message will be handled by the `fetchai/ledger:0.19.0` connection and then a `state` message will be returned with the matching state. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_balance` method with the specified key word arguments. We can then send the raw message to the `fetchai/ledger:0.19.0` connection using the `fetchai/ledger_api:1.0.0` protocol. In this case, signing is not required.
+This message will be handled by the `fetchai/ledger:0.20.0` connection and then a `state` message will be returned with the matching state. For this to be executed correctly, the `fetchai/erc1155:0.22.0` contract package needs to implement the `get_balance` method with the specified key word arguments. We can then send the raw message to the `fetchai/ledger:0.20.0` connection using the `fetchai/ledger_api:1.0.0` protocol. In this case, signing is not required.
## Developing your own
@@ -180,6 +180,6 @@ class MyContract(Contract):
tx = cls._try_estimate_gas(ledger_api, tx)
return tx
```
-Above, we implement a method to create a transaction, in this case a transaction to create a batch of tokens. The method will be called by the framework, specifically the `fetchai/ledger:0.19.0` connection once it receives a message (see bullet point 2 above). The method first gets the latest transaction nonce of the `deployer_address`, then constructs the contract instance, then uses the instance to build the transaction and finally updates the gas on the transaction.
+Above, we implement a method to create a transaction, in this case a transaction to create a batch of tokens. The method will be called by the framework, specifically the `fetchai/ledger:0.20.0` connection once it receives a message (see bullet point 2 above). The method first gets the latest transaction nonce of the `deployer_address`, then constructs the contract instance, then uses the instance to build the transaction and finally updates the gas on the transaction.
-It helps to look at existing contract packages, like `fetchai/erc1155:0.22.0`, and skills using them, like `fetchai/erc1155_client:0.11.0` and `fetchai/erc1155_deploy:0.30.0`, for inspiration and guidance.
+It helps to look at existing contract packages, like `fetchai/erc1155:0.22.0`, and skills using them, like `fetchai/erc1155_client:0.11.0` and `fetchai/erc1155_deploy:0.31.0`, for inspiration and guidance.
diff --git a/docs/core-components-1.md b/docs/core-components-1.md
index ae02709444..8b31b6b87f 100644
--- a/docs/core-components-1.md
+++ b/docs/core-components-1.md
@@ -34,7 +34,7 @@ An `Envelope` is the core object
* `Dialogues`, which define rules over `Message` sequences.
-The framework provides one default `Protocol`, called `default` (current version `fetchai/default:1.0.0`). This `Protocol` provides a bare-bones implementation for an AEA `Protocol` which includes a `DefaultMessage` class and associated `DefaultSerializer` and `DefaultDialogue` classes.
+The framework provides one default `Protocol`, called `default` (current version `fetchai/default:1.1.0`). This `Protocol` provides a bare-bones implementation for an AEA `Protocol` which includes a `DefaultMessage` class and associated `DefaultSerializer` and `DefaultDialogue` classes.
Additional `Protocols`, for new types of interactions, can be added as packages. For more details on `Protocols` you can read the protocol guide. To learn how you can easily automate protocol definition, head to the guide for the protocol generator.
diff --git a/docs/erc1155-skills.md b/docs/erc1155-skills.md
index a1de246dcf..1f242de23e 100644
--- a/docs/erc1155-skills.md
+++ b/docs/erc1155-skills.md
@@ -25,7 +25,7 @@ The scope of this guide is demonstrating how you can deploy a smart contract and
Fetch the AEA that will deploy the contract:
``` bash
-aea fetch fetchai/erc1155_deployer:0.33.0
+aea fetch fetchai/erc1155_deployer:0.34.0
cd erc1155_deployer
aea install
aea build
@@ -39,22 +39,22 @@ Create the AEA that will deploy the contract.
``` bash
aea create erc1155_deployer
cd erc1155_deployer
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/erc1155_deploy:0.30.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/erc1155_deploy:0.31.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"},
"aea-ledger-ethereum": {"version": "<2.0.0,>=1.0.0"},
"aea-ledger-cosmos": {"version": "<2.0.0,>=1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/contract_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/contract_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea config set --type list vendor.fetchai.connections.p2p_libp2p.cert_requests \
'[{"identifier": "acn", "ledger_id": "ethereum", "not_after": "2022-01-01", "not_before": "2021-01-01", "public_key": "fetchai", "save_path": ".certs/conn_cert.txt"}]'
@@ -95,7 +95,7 @@ aea issue-certificates
In another terminal, fetch the client AEA which will receive some tokens from the deployer.
``` bash
-aea fetch fetchai/erc1155_client:0.33.0
+aea fetch fetchai/erc1155_client:0.34.0
cd erc1155_client
aea install
aea build
@@ -109,22 +109,22 @@ Create the AEA that will get some tokens from the deployer.
``` bash
aea create erc1155_client
cd erc1155_client
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/erc1155_client:0.28.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/erc1155_client:0.29.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"},
"aea-ledger-ethereum": {"version": "<2.0.0,>=1.0.0"},
"aea-ledger-cosmos": {"version": "<2.0.0,>=1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/contract_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/contract_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea config set --type list vendor.fetchai.connections.p2p_libp2p.cert_requests \
'[{"identifier": "acn", "ledger_id": "ethereum", "not_after": "2022-01-01", "not_before": "2021-01-01", "public_key": "fetchai", "save_path": ".certs/conn_cert.txt"}]'
@@ -199,7 +199,7 @@ aea run
Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of this address.
-Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.25.0 -u public_uri` to retrieve the address. The output will be something like `/dns4/127.0.0.1/tcp/9000/p2p/16Uiu2HAm2JPsUX1Su59YVDXJQizYkNSe8JCusqRpLeeTbvY76fE5`.
+Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.26.0 -u public_uri` to retrieve the address. The output will be something like `/dns4/127.0.0.1/tcp/9000/p2p/16Uiu2HAm2JPsUX1Su59YVDXJQizYkNSe8JCusqRpLeeTbvY76fE5`.
This is the entry peer address for the local agent communication network created by the deployer.
diff --git a/docs/generic-skills-step-by-step.md b/docs/generic-skills-step-by-step.md
index dd823e91bb..8a241ab897 100644
--- a/docs/generic-skills-step-by-step.md
+++ b/docs/generic-skills-step-by-step.md
@@ -11,16 +11,16 @@ Follow the Preliminaries and Preliminaries and =1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -96,7 +96,7 @@ aea build
Then, in another terminal fetch the buyer AEA:
``` bash
-aea fetch fetchai/generic_buyer:0.29.0 --alias my_buyer_aea
+aea fetch fetchai/generic_buyer:0.30.0 --alias my_buyer_aea
cd my_buyer_aea
aea install
aea build
@@ -109,19 +109,19 @@ The following steps create the buyer from scratch:
``` bash
aea create my_buyer_aea
cd my_buyer_aea
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/generic_buyer:0.26.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/generic_buyer:0.27.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -252,7 +252,7 @@ First, run the seller AEA:
aea run
```
-Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of this address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.25.0 -u public_uri` to retrieve the address.)
+Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of this address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.26.0 -u public_uri` to retrieve the address.)
This is the entry peer address for the local agent communication network created by the seller.
Then, configure the buyer to connect to this same local ACN by running the following command in the buyer terminal, replacing `SOME_ADDRESS` with the value you noted above:
diff --git a/docs/gym-skill.md b/docs/gym-skill.md
index 8f58e14de1..283001812a 100644
--- a/docs/gym-skill.md
+++ b/docs/gym-skill.md
@@ -19,7 +19,7 @@ Follow the Preliminaries and It MUST implement protocols according to their specification (see here for details).
- It SHOULD implement the fetchai/default:1.0.0
protocol which satisfies the following protobuf schema:
+ It SHOULD implement the fetchai/default:1.1.0
protocol which satisfies the following protobuf schema:
``` proto
syntax = "proto3";
@@ -121,7 +121,7 @@ message DefaultMessage{
It MUST have an identity in the form of, at a minimum, an address derived from a public key and its associated private key (where the elliptic curve must be of type SECP256k1).
- It SHOULD implement handling of errors using the fetchai/default:1.0.0
protocol. The protobuf schema is given above.
+ It SHOULD implement handling of errors using the fetchai/default:1.1.0
protocol. The protobuf schema is given above.
It MUST implement the following principles when handling messages:
diff --git a/docs/ledger-integration.md b/docs/ledger-integration.md
index 18fb9a3fdf..00bf709f16 100644
--- a/docs/ledger-integration.md
+++ b/docs/ledger-integration.md
@@ -146,7 +146,7 @@ Stargate World is our stable, public testnet for the Fetch Ledger v2. As such, m
You can access more details on GitHub.
-The configurations can be specified for the `fetchai/ledger:0.19.0` connection.
+The configurations can be specified for the `fetchai/ledger:0.20.0` connection.
## CosmWasm supporting chains
diff --git a/docs/logging.md b/docs/logging.md
index 5cdcb013ae..2a72428347 100644
--- a/docs/logging.md
+++ b/docs/logging.md
@@ -25,9 +25,9 @@ connections:
- fetchai/stub:0.21.0
contracts: []
protocols:
-- fetchai/default:1.0.0
+- fetchai/default:1.1.0
skills:
-- fetchai/error:0.17.0
+- fetchai/error:0.18.0
default_connection: fetchai/stub:0.21.0
default_ledger: fetchai
required_ledgers:
diff --git a/docs/ml-skills.md b/docs/ml-skills.md
index 559b930190..95cf0a0cc0 100644
--- a/docs/ml-skills.md
+++ b/docs/ml-skills.md
@@ -104,7 +104,7 @@ Follow the Preliminaries and =1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -142,7 +142,7 @@ aea build
Then, fetch the model trainer AEA:
``` bash
-aea fetch fetchai/ml_model_trainer:0.32.0
+aea fetch fetchai/ml_model_trainer:0.33.0
cd ml_model_trainer
aea install
aea build
@@ -155,19 +155,19 @@ The following steps create the model trainer from scratch:
``` bash
aea create ml_model_trainer
cd ml_model_trainer
-aea add connection fetchai/p2p_libp2p:0.25.0
-aea add connection fetchai/soef:0.26.0
-aea add connection fetchai/ledger:0.19.0
-aea add skill fetchai/ml_train:0.28.0
+aea add connection fetchai/p2p_libp2p:0.26.0
+aea add connection fetchai/soef:0.27.0
+aea add connection fetchai/ledger:0.20.0
+aea add skill fetchai/ml_train:0.29.0
aea config set --type dict agent.dependencies \
'{
"aea-ledger-fetchai": {"version": "<2.0.0,>=1.0.0"}
}'
-aea config set agent.default_connection fetchai/p2p_libp2p:0.25.0
+aea config set agent.default_connection fetchai/p2p_libp2p:0.26.0
aea config set --type dict agent.default_routing \
'{
- "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.19.0",
- "fetchai/oef_search:1.0.0": "fetchai/soef:0.26.0"
+ "fetchai/ledger_api:1.1.0": "fetchai/ledger:0.20.0",
+ "fetchai/oef_search:1.1.0": "fetchai/soef:0.27.0"
}'
aea install
aea build
@@ -232,7 +232,7 @@ First, run the data provider AEA:
aea run
```
-Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.25.0 -u public_uri` to retrieve the address.)
+Once you see a message of the form `To join its network use multiaddr 'SOME_ADDRESS'` take note of the address. (Alternatively, use `aea get-multiaddress fetchai -c -i fetchai/p2p_libp2p:0.26.0 -u public_uri` to retrieve the address.)
This is the entry peer address for the local agent communication network created by the ML data provider.