Skip to content

Commit

Permalink
Merge pull request #666 from valory-xyz/feat/bump-protocol-gen
Browse files Browse the repository at this point in the history
Bump protocol generator
  • Loading branch information
angrybayblade authored Sep 25, 2023
2 parents 2ae120f + 34cf4ef commit 861d3c9
Show file tree
Hide file tree
Showing 117 changed files with 1,252 additions and 3,738 deletions.
26 changes: 13 additions & 13 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -123,8 +123,8 @@ jobs:
pip install tomte[tox]==0.2.13
pip install --user --upgrade setuptools
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
# install IPFS
sudo apt-get install -y wget
Expand Down Expand Up @@ -347,8 +347,8 @@ jobs:
sudo apt-get autoclean
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
# pull pre-built images
Expand Down Expand Up @@ -384,8 +384,8 @@ jobs:
sudo apt-get autoclean
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
- name: Framework integration tests
run: tox -e py3.10 -- -m 'profiling'
Expand Down Expand Up @@ -450,8 +450,8 @@ jobs:
sudo apt-get autoclean
pip install tomte[tox]==0.2.13
# install Protobuf compiler
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-linux-x86_64.zip
unzip protoc-3.19.4-linux-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip
unzip protoc-24.3-linux-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
make protolint_install
# install ipfs
Expand All @@ -474,8 +474,8 @@ jobs:
brew install gcc
# brew install protobuf
# brew install https://raw.githubusercontent.com/Homebrew/homebrew-core/72457f0166d5619a83f508f2345b22d0617b5021/Formula/protobuf.rb
wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-osx-x86_64.zip
unzip protoc-3.19.4-osx-x86_64.zip -d protoc
wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-osx-x86_64.zip
unzip protoc-24.3-osx-x86_64.zip -d protoc
sudo mv protoc/bin/protoc /usr/local/bin/protoc
brew tap yoheimuta/protolint
brew install protolint
Expand All @@ -496,14 +496,14 @@ jobs:
run: |
python -m pip install -U pip
echo "::add-path::C:\Program Files (x86)\Windows Kits\10\bin\10.0.18362.0\x64"
choco install protoc --version 3.19.4
choco install protoc --version 24.3
choco install mingw -y
choco install make -y
# to check make was installed
make --version
pip install tomte[tox]==0.2.13
# wget https://github.com/protocolbuffers/protobuf/releases/download/v3.19.4/protoc-3.19.4-win64.zip
# unzip protoc-3.19.4-win64.zip -d protoc
# wget https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-win64.zip
# unzip protoc-24.3-win64.zip -d protoc
# sudo mv protoc/bin/protoc /usr/local/bin/protoc
python scripts/update_symlinks_cross_platform.py
make protolint_install_win
Expand Down
6 changes: 3 additions & 3 deletions aea/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
#
# Copyright 2022 Valory AG
# Copyright 2022-2023 Valory AG
# Copyright 2018-2021 Fetch.AI Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -22,6 +22,8 @@

# pylint: disable=wrong-import-position

import inspect
import os
import sys


Expand All @@ -35,8 +37,6 @@
if _google_upb_message is not None:
sys.modules["google._upb._message"] = _google_upb_message

import inspect
import os

from packaging.version import Version

Expand Down
2 changes: 1 addition & 1 deletion aea/cli/generate_all_protocols.py
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@


SPECIFICATION_REGEX = re.compile(r"(---\nname.*\.\.\.)", re.DOTALL)
LIBPROTOC_VERSION = "libprotoc 3.19.4"
LIBPROTOC_VERSION = "libprotoc 24.3"
CUSTOM_TYPE_MODULE_NAME = "custom_types.py"
PROTOCOL_GENERATOR_DOCSTRING_REGEX = "It was created with protocol buffer compiler version `libprotoc .*` and aea protocol generator version `.*`."

Expand Down
2 changes: 1 addition & 1 deletion aea/configurations/constants.py
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@
_SOLANA_IDENTIFIER = "solana"
SIGNING_PROTOCOL = "open_aea/signing:latest"
SIGNING_PROTOCOL_WITH_HASH = (
"open_aea/signing:1.0.0:bafybeifuxs7gdg2okbn7uofymenjlmnih2wxwkym44lsgwmklgwuckxm2m"
"open_aea/signing:1.0.0:bafybeie7xyems76v5b4wc2lmaidcujizpxfzjnnwdeokmhje53g7ym25ii"
)
DEFAULT_LEDGER = _ETHEREUM_IDENTIFIER
PRIVATE_KEY_PATH_SCHEMA = "{}_private_key.txt"
Expand Down
6 changes: 3 additions & 3 deletions aea/helpers/ipfs/__init__.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
#
# Copyright 2022 Valory AG
# Copyright 2022-2023 Valory AG
# Copyright 2018-2021 Fetch.AI Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -23,10 +23,10 @@

# fix for ipfs hashes, preload protobuf classes with protobuf python implementation
with _protobuf_python_implementation():
from aea.helpers.ipfs.pb import ( # noqa: F401 # pylint: disable=import-outside-toplevel,unused-import
from aea.helpers.ipfs.pb import ( # type: ignore # noqa: F401 # pylint: disable=import-outside-toplevel,unused-import
merkledag_pb2,
unixfs_pb2,
)
from aea.helpers.ipfs.pb.merkledag_pb2 import ( # noqa: F401 # pylint: disable=import-outside-toplevel,unused-import
from aea.helpers.ipfs.pb.merkledag_pb2 import ( # type: ignore # noqa: F401 # pylint: disable=import-outside-toplevel,unused-import
PBNode,
)
20 changes: 10 additions & 10 deletions aea/helpers/ipfs/base.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
#
# Copyright 2022 Valory AG
# Copyright 2022-2023 Valory AG
# Copyright 2018-2021 Fetch.AI Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand Down Expand Up @@ -40,7 +40,7 @@

with _protobuf_python_implementation(): # pylint: disable=import-outside-toplevel
from aea.helpers.ipfs.pb import merkledag_pb2, unixfs_pb2
from aea.helpers.ipfs.pb.merkledag_pb2 import PBNode
from aea.helpers.ipfs.pb.merkledag_pb2 import PBNode # type: ignore


def _dos2unix(file_content: bytes) -> bytes:
Expand Down Expand Up @@ -179,7 +179,7 @@ def hash_directory(
@staticmethod
def create_link(link_hash: bytes, tsize: int, name: str) -> Any:
"""Create PBLink object."""
link = merkledag_pb2.PBLink()
link = merkledag_pb2.PBLink() # type: ignore # pylint: disable=no-member
link.Hash = link_hash
link.Tsize = tsize
link.Name = name
Expand All @@ -192,9 +192,9 @@ def wrap_in_a_node(cls, link: Any) -> str:
wrapper_node = PBNode()
wrapper_node.Links.append(link) # type: ignore # pylint: disable=no-member

wrapper_node_data = unixfs_pb2.Data()
wrapper_node_data = unixfs_pb2.Data() # type: ignore # pylint: disable=no-member
# type: ignore # pylint: disable=no-member
wrapper_node_data.Type = unixfs_pb2.Data.Directory
wrapper_node_data.Type = unixfs_pb2.Data.Directory # type: ignore
wrapper_node.Data = wrapper_node_data.SerializeToString(
deterministic=True
) # type: ignore # pylint: disable=no-member
Expand Down Expand Up @@ -241,9 +241,9 @@ def _hash_directory_recursively(cls, root: Path) -> Dict:
cls.create_link(child_hash, file_length, child_path.name)
)

root_node_data = unixfs_pb2.Data()
root_node_data = unixfs_pb2.Data() # type: ignore # pylint: disable=no-member
# type: ignore # pylint: disable=no-member
root_node_data.Type = unixfs_pb2.Data.Directory
root_node_data.Type = unixfs_pb2.Data.Directory # type: ignore
root_node.Data = root_node_data.SerializeToString(
deterministic=True
) # type: ignore # pylint: disable=no-member
Expand All @@ -263,7 +263,7 @@ def _hash_directory_recursively(cls, root: Path) -> Dict:
def _make_unixfs_pb2(cls, data: bytes) -> bytes:
if len(data) > cls.DEFAULT_CHUNK_SIZE: # pragma: nocover
raise ValueError("Data is too big! use chunks!")
data_pb = unixfs_pb2.Data() # type: ignore
data_pb = unixfs_pb2.Data() # type: ignore # pylint: disable=no-member
data_pb.Type = unixfs_pb2.Data.File # type: ignore # pylint: disable=no-member
data_pb.Data = data
data_pb.filesize = len(data)
Expand Down Expand Up @@ -299,8 +299,8 @@ def _pb_serialize_bytes(cls, data: bytes) -> Tuple[bytes, int]:
if len(data) > cls.DEFAULT_CHUNK_SIZE:
content_size = 0
outer_node = PBNode() # type: ignore
data_pb = unixfs_pb2.Data() # type: ignore
data_pb.Type = unixfs_pb2.Data.File # type: ignore # pylint: disable=no-member
data_pb = unixfs_pb2.Data() # type: ignore # pylint: disable=no-member
data_pb.Type = unixfs_pb2.Data.File # type: ignore # pylint: disable=no-member
data_pb.filesize = len(data)
for chunk in chunks(data, cls.DEFAULT_CHUNK_SIZE):
block = cls._pb_serialize_data(chunk)
Expand Down
4 changes: 2 additions & 2 deletions aea/helpers/multiaddr/base.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
#
# Copyright 2022 Valory AG
# Copyright 2022-2023 Valory AG
# Copyright 2018-2021 Fetch.AI Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand All @@ -27,7 +27,7 @@
import multihash # type: ignore
from ecdsa import VerifyingKey, curves, keys

from aea.helpers.multiaddr.crypto_pb2 import KeyType, PublicKey
from aea.helpers.multiaddr.crypto_pb2 import KeyType, PublicKey # type: ignore


# NOTE:
Expand Down
6 changes: 3 additions & 3 deletions aea/mail/base.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# -*- coding: utf-8 -*-
# ------------------------------------------------------------------------------
#
# Copyright 2022 Valory AG
# Copyright 2022-2023 Valory AG
# Copyright 2018-2021 Fetch.AI Limited
#
# Licensed under the Apache License, Version 2.0 (the "License");
Expand Down Expand Up @@ -207,7 +207,7 @@ def encode(self, envelope: "Envelope") -> bytes:
:param envelope: the envelope to encode
:return: the encoded envelope
"""
envelope_pb = base_pb2.Envelope()
envelope_pb = base_pb2.Envelope() # type: ignore # pylint: disable=no-member
envelope_pb.to = envelope.to
envelope_pb.sender = envelope.sender
envelope_pb.protocol_id = str(envelope.protocol_specification_id)
Expand All @@ -227,7 +227,7 @@ def decode(self, envelope_bytes: bytes) -> "Envelope":
:param envelope_bytes: the encoded envelope
:return: the envelope
"""
envelope_pb = base_pb2.Envelope()
envelope_pb = base_pb2.Envelope() # type: ignore # pylint: disable=no-member
envelope_pb.ParseFromString(envelope_bytes)

to = envelope_pb.to # pylint: disable=no-member
Expand Down
39 changes: 26 additions & 13 deletions aea/protocols/generator/base.py
Original file line number Diff line number Diff line change
Expand Up @@ -1658,25 +1658,35 @@ def _serialization_class_str(self) -> str:
cls_str += self.indent + "from typing import Any, Dict, cast\n\n"
cls_str += (
self.indent
+ "from aea.mail.base_pb2 import DialogueMessage, Message as ProtobufMessage\n"
+ "from aea.mail.base_pb2 import DialogueMessage # type: ignore\n"
)
cls_str += (
self.indent
+ "from aea.mail.base_pb2 import Message as ProtobufMessage # type: ignore\n"
)
cls_str += MESSAGE_IMPORT + "\n"
cls_str += SERIALIZER_IMPORT + "\n\n"
cls_str += self.indent + "from {} import (\n {}_pb2,\n)\n".format(
self.dotted_path_to_protocol_package,
self.protocol_specification.name,
cls_str += (
self.indent
+ "from {} import ( # type: ignore\n {}_pb2,\n)\n".format(
self.dotted_path_to_protocol_package,
self.protocol_specification.name,
)
)
for custom_type in self.spec.all_custom_types:
cls_str += (
self.indent
+ "from {}.custom_types import (\n {},\n)\n".format(
+ "from {}.custom_types import ( # type: ignore\n {},\n)\n".format(
self.dotted_path_to_protocol_package,
custom_type,
)
)
cls_str += self.indent + "from {}.message import (\n {}Message,\n)\n".format(
self.dotted_path_to_protocol_package,
self.protocol_specification_in_camel_case,
cls_str += (
self.indent
+ "from {}.message import ( # type: ignore\n {}Message,\n)\n".format(
self.dotted_path_to_protocol_package,
self.protocol_specification_in_camel_case,
)
)

# Class Header
Expand Down Expand Up @@ -1707,10 +1717,13 @@ def _serialization_class_str(self) -> str:
)
cls_str += self.indent + "message_pb = ProtobufMessage()\n"
cls_str += self.indent + "dialogue_message_pb = DialogueMessage()\n"
cls_str += self.indent + "{}_msg = {}_pb2.{}Message()\n\n".format(
self.protocol_specification.name,
self.protocol_specification.name,
self.protocol_specification_in_camel_case,
cls_str += (
self.indent
+ "{}_msg = {}_pb2.{}Message() # type: ignore\n\n".format(
self.protocol_specification.name,
self.protocol_specification.name,
self.protocol_specification_in_camel_case,
)
)
cls_str += self.indent + "dialogue_message_pb.message_id = msg.message_id\n"
cls_str += self.indent + "dialogue_reference = msg.dialogue_reference\n"
Expand Down Expand Up @@ -1787,7 +1800,7 @@ def _serialization_class_str(self) -> str:
)
cls_str += self.indent + '"""\n'
cls_str += self.indent + "message_pb = ProtobufMessage()\n"
cls_str += self.indent + "{}_pb = {}_pb2.{}Message()\n".format(
cls_str += self.indent + "{}_pb = {}_pb2.{}Message() # type: ignore\n".format(
self.protocol_specification.name,
self.protocol_specification.name,
self.protocol_specification_in_camel_case,
Expand Down
4 changes: 2 additions & 2 deletions aea/protocols/generator/common.py
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,8 @@
"Optional",
]

MESSAGE_IMPORT = "from aea.protocols.base import Message"
SERIALIZER_IMPORT = "from aea.protocols.base import Serializer"
MESSAGE_IMPORT = "from aea.protocols.base import Message # type: ignore"
SERIALIZER_IMPORT = "from aea.protocols.base import Serializer # type: ignore"

PATH_TO_PACKAGES = PACKAGES
INIT_FILE_NAME = "__init__.py"
Expand Down
2 changes: 1 addition & 1 deletion packages/fetchai/agents/error_test/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ fingerprint:
README.md: bafybeig75bdp2xp2k44ohxt277etnzeqhwdkwsjfciz7upwgymawmfo2vm
fingerprint_ignore_patterns: []
connections:
- fetchai/stub:0.21.0:bafybeihijtaawc2adyewb3g7kta7hw6jyhyhoi7cotkzgqilves5zz7smm
- fetchai/stub:0.21.0:bafybeictgpdqbpyppmoxn2g7jkaxvulihew7zaszv4xyhgvsntq7tqs7wi
contracts: []
protocols: []
skills:
Expand Down
12 changes: 6 additions & 6 deletions packages/fetchai/agents/gym_aea/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,15 +9,15 @@ fingerprint:
README.md: bafybeiadln5ca6tu6rzbsgjpeluf6nz5efxl3u223c3vxwgf2iynkj5n6q
fingerprint_ignore_patterns: []
connections:
- fetchai/gym:0.19.0:bafybeie2bjvejryw2vkiyxsvkv3maa6loxim6xlwp7ywobemrzx424tt3i
- fetchai/gym:0.19.0:bafybeiguq4eduf35lvs3ltmi3jabpokz6raadrje3c274f5dnvfipdl7jm
contracts: []
protocols:
- fetchai/default:1.0.0:bafybeiazamq4mogosgmr77ipita5s6sq6rfowubxf5rybfxikc772befxy
- fetchai/gym:1.0.0:bafybeidsxnr76uiolf4mzj6ttyzzddz3cspckly2gmkiod6b5gocjjfydq
- fetchai/state_update:1.0.0:bafybeiamdiu6y4jztw6y46puoc5xxj3yqqyiso37c4xadcn55om73veytm
- open_aea/signing:1.0.0:bafybeifuxs7gdg2okbn7uofymenjlmnih2wxwkym44lsgwmklgwuckxm2m
- fetchai/default:1.0.0:bafybeibtqp56jkijwjsohk4z5vqp6pfkiexmnmk5uleteotbsgrypy6gxm
- fetchai/gym:1.0.0:bafybeidepuani7dw6r2wwmtxfeefqwhnctprmwatzqbxg2achstc6kpfke
- fetchai/state_update:1.0.0:bafybeiefezh5ei6gntomi6g5iq4raabktari3wc6t4g6jf23bgo7cgwlcq
- open_aea/signing:1.0.0:bafybeie7xyems76v5b4wc2lmaidcujizpxfzjnnwdeokmhje53g7ym25ii
skills:
- fetchai/gym:0.20.0:bafybeifoydd7skfcpgbqupqlfijxkvhqudfuunk35ygqj76i42bb2lxnua
- fetchai/gym:0.20.0:bafybeifaccpsmby27az6geu4d6m7xcjk2hop7ihtleqeeasphnhn2dp234
default_connection: fetchai/gym:0.19.0
default_ledger: fetchai
required_ledgers:
Expand Down
10 changes: 5 additions & 5 deletions packages/fetchai/agents/my_first_aea/aea-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -8,14 +8,14 @@ fingerprint:
README.md: bafybeiftiqiqpxn7ghrurhepquzqzk3su3x6wanlnolt2uj772fzgz574m
fingerprint_ignore_patterns: []
connections:
- fetchai/stub:0.21.0:bafybeihijtaawc2adyewb3g7kta7hw6jyhyhoi7cotkzgqilves5zz7smm
- fetchai/stub:0.21.0:bafybeictgpdqbpyppmoxn2g7jkaxvulihew7zaszv4xyhgvsntq7tqs7wi
contracts: []
protocols:
- fetchai/default:1.0.0:bafybeiazamq4mogosgmr77ipita5s6sq6rfowubxf5rybfxikc772befxy
- fetchai/state_update:1.0.0:bafybeiamdiu6y4jztw6y46puoc5xxj3yqqyiso37c4xadcn55om73veytm
- open_aea/signing:1.0.0:bafybeifuxs7gdg2okbn7uofymenjlmnih2wxwkym44lsgwmklgwuckxm2m
- fetchai/default:1.0.0:bafybeibtqp56jkijwjsohk4z5vqp6pfkiexmnmk5uleteotbsgrypy6gxm
- fetchai/state_update:1.0.0:bafybeiefezh5ei6gntomi6g5iq4raabktari3wc6t4g6jf23bgo7cgwlcq
- open_aea/signing:1.0.0:bafybeie7xyems76v5b4wc2lmaidcujizpxfzjnnwdeokmhje53g7ym25ii
skills:
- fetchai/echo:0.19.0:bafybeibyqdrhpn7ixfxw5tdvu2nwvrupof7sy3eh2ixavri74w24ik4l2i
- fetchai/echo:0.19.0:bafybeibtjwgshqkgn5og7izogitnc66ug7pfhikcxlf2y46ixknpoxeyee
default_connection: fetchai/stub:0.21.0
default_ledger: fetchai
required_ledgers:
Expand Down
2 changes: 1 addition & 1 deletion packages/fetchai/connections/gym/connection.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ fingerprint:
fingerprint_ignore_patterns: []
connections: []
protocols:
- fetchai/gym:1.0.0:bafybeidsxnr76uiolf4mzj6ttyzzddz3cspckly2gmkiod6b5gocjjfydq
- fetchai/gym:1.0.0:bafybeidepuani7dw6r2wwmtxfeefqwhnctprmwatzqbxg2achstc6kpfke
class_name: GymConnection
config:
env: ''
Expand Down
Loading

0 comments on commit 861d3c9

Please sign in to comment.