From ed169c64b980c53a3babbbf7209315e6b1733cc3 Mon Sep 17 00:00:00 2001 From: David Minarsch Date: Fri, 30 Apr 2021 19:12:48 +0100 Subject: [PATCH 01/10] feat: improve error handling in soef connection --- packages/fetchai/connections/soef/connection.py | 17 ++++++++++++----- .../fetchai/connections/soef/connection.yaml | 2 +- packages/hashes.csv | 2 +- 3 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/fetchai/connections/soef/connection.py b/packages/fetchai/connections/soef/connection.py index f2d0f90d8e..69daf5551c 100644 --- a/packages/fetchai/connections/soef/connection.py +++ b/packages/fetchai/connections/soef/connection.py @@ -338,9 +338,9 @@ async def _find_around_me_processor(self) -> None: oef_search_dialogue, oef_error_operation=OefSearchMessage.OefErrorOperation.OTHER, ) - except Exception: # pylint: disable=broad-except # pragma: nocover + except Exception as e: # pylint: disable=broad-except # pragma: nocover self.logger.exception( - "Exception occurred in _find_around_me_processor" + f"Exception occurred in _find_around_me_processor: {e}" ) await self._send_error_response( oef_message, @@ -480,6 +480,7 @@ async def process_envelope(self, envelope: Envelope) -> None: try: if self.unique_page_address is None: # pragma: nocover + # first time registration or we previously unregistered await self._register_agent() handlers_and_errors = { @@ -511,14 +512,17 @@ async def process_envelope(self, envelope: Envelope) -> None: ) except (asyncio.CancelledError, ConcurrentCancelledError): # pragma: nocover pass - except Exception: # pylint: disable=broad-except # pragma: nocover - self.logger.exception("Exception during envelope processing") + except Exception as e: # pylint: disable=broad-except # pragma: nocover + if "Forbiddenalready in lobby" in str(e): + raise ValueError( + "Could not register with SOEF. Agent address already registered from elsewhere." + ) + self.logger.exception(f"Exception during envelope processing: {e}") await self._send_error_response( oef_message, oef_search_dialogue, oef_error_operation=oef_error_operation, ) - raise async def register_service( self, oef_message: OefSearchMessage, oef_search_dialogue: OefSearchDialogue @@ -1043,6 +1047,7 @@ async def _unregister_agent( ): # pragma: nocover self.logger.debug(f"No Goodbye response. Response={response}") self.unique_page_address = None + await self._stop_periodic_ping_task() if oef_message is not None and oef_search_dialogue is not None: await self._send_success_response(oef_message, oef_search_dialogue) @@ -1087,8 +1092,10 @@ async def connect(self) -> None: await self._unregister_agent() except SOEFException as e: # pragma: nocover if "Bad Requestagent lookup failed" not in str(e): + # i.e. we're not trying to unregister and already unregistered agent raise e self.logger.debug("Unregister on SOEF failed. Agent not registered.") + self.unique_page_address = None async def disconnect(self) -> None: """ diff --git a/packages/fetchai/connections/soef/connection.yaml b/packages/fetchai/connections/soef/connection.yaml index b5c77e953a..8b3ed04aa8 100644 --- a/packages/fetchai/connections/soef/connection.yaml +++ b/packages/fetchai/connections/soef/connection.yaml @@ -8,7 +8,7 @@ aea_version: '>=1.0.0, <2.0.0' fingerprint: README.md: QmSRWpRqN5SaZTmLsoapZoVdenmZRC7ewLfeJosFqL1kNd __init__.py: Qmd5VBGFJHXFe1H45XoUh5mMSYBwvLSViJuGFeMgbPdQts - connection.py: QmUn85Qw9G2wdtUhSF4cSy6STsu6VevYdKJrwiq4zNKzx5 + connection.py: QmYjYwMFR9hPL4evv2xneW9Ji8g2GmXxJT5bQmoaLLPU98 fingerprint_ignore_patterns: [] connections: [] protocols: diff --git a/packages/hashes.csv b/packages/hashes.csv index 4c14ef34b7..2c78bd17d8 100644 --- a/packages/hashes.csv +++ b/packages/hashes.csv @@ -46,7 +46,7 @@ fetchai/connections/p2p_libp2p_client,QmVMLxvE4oCBDj8CszLfVvXPhxhASvYZfeamcgF8sR fetchai/connections/p2p_stub,QmToCExj3ZpdxUu3vYSMo4jZRJiMTkXMbyhbh18Hq6Nc4b fetchai/connections/prometheus,QmeRmgrccxRh8UG4AfTMct6D5wSuK9BXYoLwnohut2LJaB fetchai/connections/scaffold,QmSrZ99ccW1VDxo6kR8TWENzNXcFWmV7aje6RNcSEwqRyd -fetchai/connections/soef,QmQJz1wPunm2qsHGDhNsHoPpnY4MMM4jeMTCizvgQ5pyDY +fetchai/connections/soef,QmZVMosnvjjCaWDBcjAA2vcwujzLLj1be4eDLBuApgQWBz fetchai/connections/stub,QmQjSUgExNU6Wgks9rwBa1zYsjdPkzs7FZy3SS2Lo3bcqz fetchai/connections/tcp,QmceuewTDJ8eKeCkcHH1enwF7EEocajkmuHi7QptJB7r5j fetchai/connections/webhook,QmQn8vSouUJrjzH7SNj148jRRDK3snRDMHMkB5GDHWBbMP From 4416a2ffcb5a55eb055e645c560a30da5f594f2c Mon Sep 17 00:00:00 2001 From: David Minarsch Date: Fri, 30 Apr 2021 19:14:13 +0100 Subject: [PATCH 02/10] feat: bump aea to v1.0.1 --- aea/__version__.py | 2 +- deploy-image/Dockerfile | 2 +- develop-image/docker-env.sh | 2 +- docs/quickstart.md | 8 ++++---- scripts/install.ps1 | 2 +- scripts/install.sh | 2 +- .../test_docs/test_bash_yaml/md_files/bash-quickstart.md | 8 ++++---- user-image/docker-env.sh | 2 +- 8 files changed, 14 insertions(+), 14 deletions(-) diff --git a/aea/__version__.py b/aea/__version__.py index ea8e2e6ba2..460085a0b7 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.0.0" +__version__ = "1.0.1" __author__ = "Fetch.AI Limited" __license__ = "Apache-2.0" __copyright__ = "2019 Fetch.AI Limited" diff --git a/deploy-image/Dockerfile b/deploy-image/Dockerfile index 28fd84e671..d91c96d732 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.0.0 +RUN pip install --upgrade --force-reinstall aea[all]==1.0.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 9883e2579d..45a055e6a9 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.0.0 +DOCKER_IMAGE_TAG=fetchai/aea-develop:1.0.1 # DOCKER_IMAGE_TAG=aea-develop:latest DOCKER_BUILD_CONTEXT_DIR=.. diff --git a/docs/quickstart.md b/docs/quickstart.md index 290065b814..9f9ee94ce3 100644 --- a/docs/quickstart.md +++ b/docs/quickstart.md @@ -161,7 +161,7 @@ Confirm password: / ___ \ | |___ / ___ \ /_/ \_\|_____|/_/ \_\ -v1.0.0 +v1.0.1 AEA configurations successfully initialized: {'author': 'fetchai'} ``` @@ -239,7 +239,7 @@ TO,SENDER,PROTOCOL_ID,ENCODED_MESSAGE, For example: ``` bash -recipient_aea,sender_aea,fetchai/default:1.0.0,\x08\x01\x12\x011*\x07\n\x05hello, +recipient_aea,sender_aea,fetchai/default:1.0.1,\x08\x01\x12\x011*\x07\n\x05hello, ``` ### Install AEA dependencies @@ -274,7 +274,7 @@ You will see the echo skill running in the terminal window (an output similar to / ___ \ | |___ / ___ \ /_/ \_\|_____|/_/ \_\ -v1.0.0 +v1.0.1 Starting AEA 'my_first_aea' in 'async' mode ... info: Echo Handler: setup method called. @@ -315,7 +315,7 @@ info: Echo Behaviour: act method called. Optionally, from a different terminal and same directory (i.e. the my_first_aea project), you can send the AEA a message wrapped in an envelope via the input file. ``` bash -echo 'my_first_aea,sender_aea,fetchai/default:1.0.0,\x12\x10\x08\x01\x12\x011*\t*\x07\n\x05hello,' >> input_file +echo 'my_first_aea,sender_aea,fetchai/default:1.0.1,\x12\x10\x08\x01\x12\x011*\t*\x07\n\x05hello,' >> input_file ``` You will see the Echo Handler dealing with the envelope and responding with the same message to the output_file, and also decoding the Base64 encrypted message in this case. diff --git a/scripts/install.ps1 b/scripts/install.ps1 index f6e5427212..ffb9fd115c 100644 --- a/scripts/install.ps1 +++ b/scripts/install.ps1 @@ -27,7 +27,7 @@ function install_build_tools { function install_aea { echo "Install aea" - $output=pip install aea[all]==1.0.0 --force --no-cache-dir 2>&1 |out-string; + $output=pip install aea[all]==1.0.1 --force --no-cache-dir 2>&1 |out-string; if ($LastExitCode -ne 0) { echo $output echo "AEA install failed!" diff --git a/scripts/install.sh b/scripts/install.sh index 6fa515d64e..53007e96df 100755 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -42,7 +42,7 @@ function is_python_version_ok() { function install_aea (){ echo "Install AEA" - output=$(pip3 install --user aea[all]==1.0.0 --force --no-cache-dir) + output=$(pip3 install --user aea[all]==1.0.1 --force --no-cache-dir) if [[ $? -ne 0 ]]; then echo "$output" diff --git a/tests/test_docs/test_bash_yaml/md_files/bash-quickstart.md b/tests/test_docs/test_bash_yaml/md_files/bash-quickstart.md index 34cb521972..36f26ad8ae 100644 --- a/tests/test_docs/test_bash_yaml/md_files/bash-quickstart.md +++ b/tests/test_docs/test_bash_yaml/md_files/bash-quickstart.md @@ -56,7 +56,7 @@ Confirm password: / ___ \ | |___ / ___ \ /_/ \_\|_____|/_/ \_\ -v1.0.0 +v1.0.1 AEA configurations successfully initialized: {'author': 'fetchai'} ``` @@ -78,7 +78,7 @@ aea add skill fetchai/echo:0.18.0 TO,SENDER,PROTOCOL_ID,ENCODED_MESSAGE, ``` ``` bash -recipient_aea,sender_aea,fetchai/default:1.0.0,\x08\x01\x12\x011*\x07\n\x05hello, +recipient_aea,sender_aea,fetchai/default:1.0.1,\x08\x01\x12\x011*\x07\n\x05hello, ``` ``` bash aea install @@ -97,7 +97,7 @@ aea run / ___ \ | |___ / ___ \ /_/ \_\|_____|/_/ \_\ -v1.0.0 +v1.0.1 Starting AEA 'my_first_aea' in 'async' mode ... info: Echo Handler: setup method called. @@ -119,7 +119,7 @@ info: Echo Behaviour: act method called. info: Echo Behaviour: act method called. ``` ``` bash -echo 'my_first_aea,sender_aea,fetchai/default:1.0.0,\x12\x10\x08\x01\x12\x011*\t*\x07\n\x05hello,' >> input_file +echo 'my_first_aea,sender_aea,fetchai/default:1.0.1,\x12\x10\x08\x01\x12\x011*\t*\x07\n\x05hello,' >> input_file ``` ``` bash info: Echo Behaviour: act method called. diff --git a/user-image/docker-env.sh b/user-image/docker-env.sh index 6be2078ba3..49aba80e0d 100644 --- a/user-image/docker-env.sh +++ b/user-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-user:1.0.0 +DOCKER_IMAGE_TAG=fetchai/aea-user:1.0.1 # DOCKER_IMAGE_TAG=fetchai/aea-user:latest DOCKER_BUILD_CONTEXT_DIR=.. From d0f7b083fee850654fada9867c731a2b027abef7 Mon Sep 17 00:00:00 2001 From: David Minarsch Date: Fri, 30 Apr 2021 19:28:02 +0100 Subject: [PATCH 03/10] feat: bump package versions --- docs/aggregation-demo.md | 10 +- docs/aries-cloud-agent-demo.md | 16 +-- docs/car-park-skills.md | 28 ++--- docs/cli-vs-programmatic-aeas.md | 2 +- docs/config.md | 2 +- docs/connect-a-frontend.md | 2 +- docs/contract.md | 2 +- docs/erc1155-skills.md | 24 ++-- docs/generic-skills-step-by-step.md | 20 ++-- docs/generic-skills.md | 24 ++-- docs/http-connection-and-skill.md | 2 +- docs/ml-skills.md | 26 ++--- docs/multi-agent-manager.md | 8 +- docs/oracle-demo.md | 10 +- docs/orm-integration.md | 26 ++--- docs/p2p-connection.md | 20 ++-- docs/prometheus.md | 2 +- docs/simple-oef-usage.md | 2 +- docs/skill-guide.md | 12 +- docs/tac-skills-contract.md | 38 +++---- docs/tac-skills.md | 38 +++---- docs/thermometer-skills.md | 24 ++-- docs/weather-skills.md | 24 ++-- .../agents/aries_alice/aea-config.yaml | 12 +- .../agents/aries_faber/aea-config.yaml | 10 +- .../agents/car_data_buyer/aea-config.yaml | 10 +- .../agents/car_detector/aea-config.yaml | 14 +-- .../agents/coin_price_feed/aea-config.yaml | 8 +- .../agents/coin_price_oracle/aea-config.yaml | 16 +-- .../confirmation_aea_aw1/aea-config.yaml | 22 ++-- .../confirmation_aea_aw2/aea-config.yaml | 14 +-- .../confirmation_aea_aw3/aea-config.yaml | 14 +-- .../confirmation_aea_aw5/aea-config.yaml | 20 ++-- .../agents/erc1155_client/aea-config.yaml | 14 +-- .../agents/erc1155_deployer/aea-config.yaml | 16 +-- .../agents/fipa_dummy_buyer/aea-config.yaml | 6 +- .../agents/generic_buyer/aea-config.yaml | 10 +- .../agents/generic_seller/aea-config.yaml | 12 +- .../agents/ml_data_provider/aea-config.yaml | 14 +-- .../agents/ml_model_trainer/aea-config.yaml | 10 +- .../registration_aea_aw1/aea-config.yaml | 22 ++-- .../agents/simple_aggregator/aea-config.yaml | 12 +- .../agents/simple_buyer_aw2/aea-config.yaml | 14 +-- .../agents/simple_buyer_aw5/aea-config.yaml | 12 +- .../agents/simple_seller_aw2/aea-config.yaml | 24 ++-- .../agents/simple_seller_aw5/aea-config.yaml | 30 ++--- .../aea-config.yaml | 12 +- .../simple_service_search/aea-config.yaml | 10 +- .../agents/tac_controller/aea-config.yaml | 12 +- .../tac_controller_contract/aea-config.yaml | 20 ++-- .../agents/tac_participant/aea-config.yaml | 12 +- .../tac_participant_contract/aea-config.yaml | 18 +-- .../agents/thermometer_aea/aea-config.yaml | 14 +-- .../agents/thermometer_client/aea-config.yaml | 10 +- .../agents/weather_client/aea-config.yaml | 10 +- .../agents/weather_station/aea-config.yaml | 14 +-- .../fetchai/connections/p2p_libp2p/README.md | 4 +- .../connections/p2p_libp2p/connection.py | 2 +- .../connections/p2p_libp2p/connection.yaml | 6 +- .../connections/p2p_libp2p_client/README.md | 2 +- .../p2p_libp2p_client/connection.py | 2 +- .../p2p_libp2p_client/connection.yaml | 6 +- packages/fetchai/connections/soef/README.md | 2 +- .../fetchai/connections/soef/connection.py | 2 +- .../fetchai/connections/soef/connection.yaml | 6 +- .../skills/advanced_data_request/__init__.py | 2 +- .../skills/advanced_data_request/skill.yaml | 4 +- .../fetchai/skills/aries_alice/__init__.py | 2 +- .../fetchai/skills/aries_alice/skill.yaml | 4 +- .../skills/carpark_detection/__init__.py | 2 +- .../skills/carpark_detection/skill.yaml | 6 +- .../skills/confirmation_aw1/__init__.py | 2 +- .../skills/confirmation_aw1/skill.yaml | 4 +- .../fetchai/skills/erc1155_deploy/__init__.py | 2 +- .../fetchai/skills/erc1155_deploy/skill.yaml | 4 +- .../fetchai/skills/generic_seller/__init__.py | 2 +- .../fetchai/skills/generic_seller/skill.yaml | 4 +- .../skills/ml_data_provider/__init__.py | 2 +- .../skills/ml_data_provider/skill.yaml | 6 +- .../skills/registration_aw1/__init__.py | 2 +- .../skills/registration_aw1/skill.yaml | 4 +- .../skills/simple_data_request/__init__.py | 2 +- .../skills/simple_data_request/skill.yaml | 4 +- .../fetchai/skills/simple_oracle/__init__.py | 2 +- .../fetchai/skills/simple_oracle/skill.yaml | 4 +- .../fetchai/skills/simple_seller/__init__.py | 2 +- .../fetchai/skills/simple_seller/skill.yaml | 6 +- .../simple_service_registration/__init__.py | 2 +- .../simple_service_registration/skill.yaml | 4 +- .../fetchai/skills/tac_control/__init__.py | 2 +- .../fetchai/skills/tac_control/skill.yaml | 4 +- .../skills/tac_control_contract/__init__.py | 2 +- .../skills/tac_control_contract/skill.yaml | 6 +- .../skills/tac_negotiation/__init__.py | 2 +- .../fetchai/skills/tac_negotiation/skill.yaml | 4 +- .../fetchai/skills/thermometer/__init__.py | 2 +- .../fetchai/skills/thermometer/skill.yaml | 6 +- .../skills/weather_station/__init__.py | 2 +- .../fetchai/skills/weather_station/skill.yaml | 6 +- packages/hashes.csv | 106 +++++++++--------- tests/data/dummy_aea/aea-config.yaml | 2 +- tests/data/hashes.csv | 2 +- tests/test_cli/test_upgrade.py | 18 +-- .../md_files/bash-aggregation-demo.md | 10 +- .../md_files/bash-aries-cloud-agent-demo.md | 14 +-- .../md_files/bash-car-park-skills.md | 24 ++-- .../md_files/bash-cli-vs-programmatic-aeas.md | 2 +- .../test_bash_yaml/md_files/bash-config.md | 2 +- .../md_files/bash-erc1155-skills.md | 28 ++--- .../bash-generic-skills-step-by-step.md | 20 ++-- .../md_files/bash-generic-skills.md | 24 ++-- .../test_bash_yaml/md_files/bash-ml-skills.md | 24 ++-- .../md_files/bash-oracle-demo.md | 10 +- .../md_files/bash-orm-integration.md | 26 ++--- .../md_files/bash-p2p-connection.md | 14 +-- .../md_files/bash-skill-guide.md | 10 +- .../md_files/bash-tac-skills-contract.md | 36 +++--- .../md_files/bash-tac-skills.md | 40 +++---- .../md_files/bash-thermometer-skills.md | 24 ++-- .../md_files/bash-weather-skills.md | 24 ++-- .../test_cli_vs_programmatic_aea.py | 2 +- .../test_orm_integration.py | 18 +-- .../test_skill_guide/test_skill_guide.py | 10 +- .../test_skills_integration/test_carpark.py | 36 +++--- .../test_coin_price.py | 6 +- .../test_skills_integration/test_erc1155.py | 20 ++-- .../test_skills_integration/test_generic.py | 36 +++--- .../test_skills_integration/test_ml_skills.py | 36 +++--- .../test_simple_aggregation.py | 10 +- .../test_simple_oracle.py | 18 +-- .../test_skills_integration/test_tac.py | 46 ++++---- .../test_thermometer.py | 36 +++--- .../test_skills_integration/test_weather.py | 38 +++---- 133 files changed, 874 insertions(+), 874 deletions(-) diff --git a/docs/aggregation-demo.md b/docs/aggregation-demo.md index 17b445d9bb..0514feb161 100644 --- a/docs/aggregation-demo.md +++ b/docs/aggregation-demo.md @@ -36,13 +36,13 @@ aea create agent_name cd agent_name aea add connection fetchai/http_client:0.22.0 aea add connection fetchai/http_server:0.21.0 -aea add connection fetchai/p2p_libp2p:0.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/prometheus:0.7.0 -aea add skill fetchai/advanced_data_request:0.4.0 +aea add skill fetchai/advanced_data_request:0.5.0 aea add skill fetchai/simple_aggregation:0.1.0 -aea config set agent.default_connection fetchai/p2p_libp2p:0.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea install aea build ``` @@ -127,7 +127,7 @@ 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.18.0 -aea add skill fetchai/simple_oracle:0.11.0 +aea add skill fetchai/simple_oracle:0.12.0 ``` Configure the simple oracle skill for the `fetchai` ledger: diff --git a/docs/aries-cloud-agent-demo.md b/docs/aries-cloud-agent-demo.md index 010549c9bb..69e1a599d2 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.27.0 +aea fetch fetchai/aries_alice:0.28.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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/http_client:0.22.0 aea add connection fetchai/webhook:0.18.0 -aea add skill fetchai/aries_alice:0.21.0 +aea add skill fetchai/aries_alice:0.22.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.21.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.22.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.27.0 +aea fetch fetchai/aries_faber:0.28.0 cd aries_faber ``` @@ -275,8 +275,8 @@ The following steps create Faber_AEA from scratch: ``` bash aea create aries_faber cd aries_faber -aea add connection fetchai/p2p_libp2p:0.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/http_client:0.22.0 aea add connection fetchai/webhook:0.18.0 aea add skill fetchai/aries_faber:0.20.0 diff --git a/docs/car-park-skills.md b/docs/car-park-skills.md index 2432c5cb6f..d4791e86f8 100644 --- a/docs/car-park-skills.md +++ b/docs/car-park-skills.md @@ -57,9 +57,9 @@ Install the AEA ManagerAgentLand 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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.28.0 +aea fetch fetchai/car_data_buyer:0.29.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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/ledger:0.18.0 aea add skill fetchai/carpark_client:0.25.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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.21.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.22.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 ba778c1085..df7c8685cf 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.27.0 +aea fetch fetchai/weather_station:0.28.0 cd weather_station aea install aea build diff --git a/docs/config.md b/docs/config.md index cf0497c6cd..0caaca2295 100644 --- a/docs/config.md +++ b/docs/config.md @@ -27,7 +27,7 @@ protocols: # The list of protocol public id - fetchai/default:1.0.0 skills: # The list of skill public ids the AEA project depends on (each public id must satisfy PUBLIC_ID_REGEX). - fetchai/error:0.16.0 -default_connection: fetchai/p2p_libp2p:0.21.0 # The default connection used for envelopes sent by the AEA (must satisfy PUBLIC_ID_REGEX). +default_connection: fetchai/p2p_libp2p:0.22.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 c502e9fea5..0ccebe43bd 100644 --- a/docs/connect-a-frontend.md +++ b/docs/connect-a-frontend.md @@ -6,4 +6,4 @@ This page lays out two options for connecting a front-end to an AEA. The followi 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.21.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.21.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.22.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/contract.md b/docs/contract.md index 8815b4fd65..37abf56d76 100644 --- a/docs/contract.md +++ b/docs/contract.md @@ -182,4 +182,4 @@ class MyContract(Contract): ``` 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.18.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.21.0`, and skills using them, like `fetchai/erc1155_client:0.11.0` and `fetchai/erc1155_deploy:0.27.0`, for inspiration and guidance. +It helps to look at existing contract packages, like `fetchai/erc1155:0.21.0`, and skills using them, like `fetchai/erc1155_client:0.11.0` and `fetchai/erc1155_deploy:0.28.0`, for inspiration and guidance. diff --git a/docs/erc1155-skills.md b/docs/erc1155-skills.md index c423850ff1..b1a4b840bb 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.29.0 +aea fetch fetchai/erc1155_deployer:0.30.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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/ledger:0.18.0 -aea add skill fetchai/erc1155_deploy:0.27.0 +aea add skill fetchai/erc1155_deploy:0.28.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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/contract_api:1.0.0": "fetchai/ledger:0.18.0", "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.29.0 +aea fetch fetchai/erc1155_client:0.30.0 cd erc1155_client aea install aea build @@ -109,8 +109,8 @@ 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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/ledger:0.18.0 aea add skill fetchai/erc1155_client:0.26.0 aea config set --type dict agent.dependencies \ @@ -119,12 +119,12 @@ aea config set --type dict agent.dependencies \ "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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/contract_api:1.0.0": "fetchai/ledger:0.18.0", "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.21.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.22.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 9dd9d17ec0..6f29619ee2 100644 --- a/docs/generic-skills-step-by-step.md +++ b/docs/generic-skills-step-by-step.md @@ -11,14 +11,14 @@ Follow the Preliminaries and Preliminaries and =1.0.0"} }' -aea config set agent.default_connection fetchai/p2p_libp2p:0.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.25.0 --alias my_buyer_aea +aea fetch fetchai/generic_buyer:0.26.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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/ledger:0.18.0 aea add skill fetchai/generic_buyer:0.25.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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.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.21.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.22.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/http-connection-and-skill.md b/docs/http-connection-and-skill.md index d89069cbcc..7fc85cb54f 100644 --- a/docs/http-connection-and-skill.md +++ b/docs/http-connection-and-skill.md @@ -8,7 +8,7 @@ The HTTP server connection allows you to run a server inside the connection itse ## HTTP Client -The `fetchai/simple_data_request:0.11.0` skill demonstrates a simple use case of the HTTP Client connection. +The `fetchai/simple_data_request:0.12.0` skill demonstrates a simple use case of the HTTP Client connection. The `HttpRequestBehaviour` in `behaviours.py` periodically sends HTTP envelops to the HTTP client connection. Its `act()` method, periodically called, simply calls `_generate_http_request` which contains the logic for enqueueing an HTTP request envelop. diff --git a/docs/ml-skills.md b/docs/ml-skills.md index c9cc320c5b..f460619035 100644 --- a/docs/ml-skills.md +++ b/docs/ml-skills.md @@ -62,7 +62,7 @@ Follow the Preliminaries and =1.0.0"} }' -aea config set agent.default_connection fetchai/p2p_libp2p:0.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.0" }' aea install aea build @@ -100,7 +100,7 @@ aea build Then, fetch the model trainer AEA: ``` bash -aea fetch fetchai/ml_model_trainer:0.28.0 +aea fetch fetchai/ml_model_trainer:0.29.0 cd ml_model_trainer aea install aea build @@ -113,19 +113,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.21.0 -aea add connection fetchai/soef:0.22.0 +aea add connection fetchai/p2p_libp2p:0.22.0 +aea add connection fetchai/soef:0.23.0 aea add connection fetchai/ledger:0.18.0 aea add skill fetchai/ml_train:0.26.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.21.0 +aea config set agent.default_connection fetchai/p2p_libp2p:0.22.0 aea config set --type dict agent.default_routing \ '{ "fetchai/ledger_api:1.0.0": "fetchai/ledger:0.18.0", - "fetchai/oef_search:1.0.0": "fetchai/soef:0.22.0" + "fetchai/oef_search:1.0.0": "fetchai/soef:0.23.0" }' aea install aea build @@ -190,7 +190,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.21.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.22.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.