Skip to content

Commit

Permalink
Merge pull request #2481 from fetchai/release/v1.0.1
Browse files Browse the repository at this point in the history
AEA-1543 Release/v1.0.1
  • Loading branch information
DavidMinarsch authored Apr 30, 2021
2 parents 70f07ce + 548bcc3 commit 13b1673
Show file tree
Hide file tree
Showing 152 changed files with 961 additions and 904 deletions.
4 changes: 2 additions & 2 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -149,8 +149,8 @@ jobs:
run: tox -e package_version_checks
- name: Check package dependencies
run: tox -e package_dependencies_checks
- name: Check generate protocols
run: tox -e check_generate_all_protocols
# - name: Check generate protocols
# run: tox -e check_generate_all_protocols
- name: Generate Documentation
run: tox -e docs

Expand Down
3 changes: 3 additions & 0 deletions .spelling
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,9 @@ install.ps1
pylint
quickstart
CVE-2021-27291
AgentLand
GCloud
p2p
- docs/language-agnostic-definition.md
fetchai
protocol_id
Expand Down
31 changes: 31 additions & 0 deletions HISTORY.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,36 @@
# Release History

## 1.0.1 (2020-04-30)

AEA:
- Fixes wheels issue for Windows
- Fixes password propagation for certificate issuance in `MultiAgentManager`
- Improves error message when local registry not present

AEALite:
- Adds full protocol support
- Adds end-to-end interaction example with AEA (based on `fetchai/fipa` protocol)
- Multiple additional tests and test stability fixes

Packages:
- Fixes multiple bugs in `ERC1155` version of TAC
- Refactors p2p connections for better separation of concerns and maintainability
- Integrates aggregation with simple oracle skill
- Ensures genus and classifications are used in all skills using SOEF
- Extends SOEF connection to implement `oef_search` protocol fully
- Handles SOEF failures in skills
- Adds simple aggregation skills including tests and docs
- Adds tests for registration AW agents
- Adds tests for reconnection logic in p2p connections
- Multiple additional tests and test stability fixes

Docs:
- Extends car park demo with usage guide for AEA manager
- Multiple additional docs updates

Examples:
- Adds TAC deployment example

## 1.0.0 (2020-03-30)

- Improves contributor guide
Expand Down
13 changes: 5 additions & 8 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -110,7 +110,11 @@ install: clean
.PHONY: dist
dist: clean
python setup.py sdist
python setup.py bdist_wheel
WIN_BUILD_WHEEL=1 python setup.py bdist_wheel --plat-name=win_amd64
WIN_BUILD_WHEEL=1 python setup.py bdist_wheel --plat-name=win32
python setup.py bdist_wheel --plat-name=manylinux1_x86_64
python setup.py bdist_wheel --plat-name=manylinux2014_aarch64
python setup.py bdist_wheel --plat-name=macosx_10_9_x86_64

h := $(shell git rev-parse --abbrev-ref HEAD)

Expand Down Expand Up @@ -151,10 +155,3 @@ protolint_install_win:
powershell -command '$$env:GO111MODULE="on"; go get -u -v github.com/yoheimuta/protolint/cmd/protolint@v0.27.0'
protolint_win:
protolint lint -config_path=./protolint.yaml -fix ./aea/mail ./packages/fetchai/protocols
dist:
python setup.py sdist
WIN_BUILD_WHEEL=1 python setup.py bdist_wheel --plat-name=win_amd64
WIN_BUILD_WHEEL=1 python setup.py bdist_wheel --plat-name=win32
python setup.py bdist_wheel --plat-name=manylinux1_x86_64
python setup.py bdist_wheel --plat-name=manylinux2014_aarch64
python setup.py bdist_wheel --plat-name=macosx_10_9_x86_64
2 changes: 1 addition & 1 deletion aea/__version__.py
Original file line number Diff line number Diff line change
Expand Up @@ -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"
2 changes: 1 addition & 1 deletion deploy-image/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion develop-image/docker-env.sh
Original file line number Diff line number Diff line change
@@ -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=..
Expand Down
10 changes: 5 additions & 5 deletions docs/aggregation-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```
Expand Down Expand Up @@ -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:
Expand Down
16 changes: 8 additions & 8 deletions docs/aries-cloud-agent-demo.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
```

Expand All @@ -191,11 +191,11 @@ The following steps create <b>Alice_AEA</b> 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
```
</p>
</details>
Expand Down Expand Up @@ -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
```

Expand All @@ -275,8 +275,8 @@ The following steps create <b>Faber_AEA</b> 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
Expand Down
30 changes: 15 additions & 15 deletions docs/car-park-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@ Install the <a href="https://aea-manager.fetch.ai" target="_blank">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.27.0`.
1. Add a new AEA called `car_detector` with public id `fetchai/car_detector:0.28.0`.

2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.28.0`.
2. Add another new AEA called `car_data_buyer` with public id `fetchai/car_data_buyer:0.29.0`.

3. Copy the address from the `car_data_buyer` into your clip board. Then go to the <a href="https://explore-agent-land.fetch.ai" target="_blank">AgentLand block explorer</a> and request some test tokens via `Get Funds`.

Expand All @@ -78,7 +78,7 @@ The following steps assume you have launched the AEA Manager Desktop app.

6. Run the `car_data_buyer`.

In the AEA's logs should see the agent trading sucessfully.
In the AEA's logs should see the agent trading successfully.
<br>

# Option 2: CLI approach
Expand All @@ -97,7 +97,7 @@ Follow the <a href="../quickstart/#preliminaries">Preliminaries</a> and <a href=

First, fetch the car detector AEA:
``` bash
aea fetch fetchai/car_detector:0.27.0
aea fetch fetchai/car_detector:0.28.0
cd car_detector
aea install
aea build
Expand All @@ -110,19 +110,19 @@ The following steps create the car detector from scratch:
``` bash
aea create car_detector
cd car_detector
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_detection:0.24.0
aea add skill fetchai/carpark_detection: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
Expand All @@ -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
Expand All @@ -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
Expand Down Expand Up @@ -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 <a href="../acn">agent communication network</a> 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):
Expand Down
2 changes: 1 addition & 1 deletion docs/cli-vs-programmatic-aeas.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion docs/config.md
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
2 changes: 1 addition & 1 deletion docs/connect-a-frontend.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 <a href="../acn">Agent Communication Network</a> can be used to send Envelopes from the AEA to the front-end.
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 <a href="../acn">Agent Communication Network</a> can be used to send Envelopes from the AEA to the front-end.
2 changes: 1 addition & 1 deletion docs/contract.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
24 changes: 12 additions & 12 deletions docs/erc1155-skills.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"}]'
Expand Down Expand Up @@ -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
Expand All @@ -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 \
Expand All @@ -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"}]'
Expand Down Expand Up @@ -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 <a href="../acn">agent communication network</a> created by the deployer.

Expand Down
Loading

0 comments on commit 13b1673

Please sign in to comment.