From 5bbdf91b6fc5a93c8fb597691d586b57df1c2856 Mon Sep 17 00:00:00 2001
From: floppy <floppy@s-entraider.net>
Date: Sun, 22 Oct 2017 16:38:28 +0200
Subject: [PATCH] [fix] #37 fix endpoints parsing, change endpoint.

---
 duniterpy/key/signing_key.py            | 2 +-
 examples/create_and_publish_identity.py | 7 ++++---
 examples/request_data.py                | 4 ++--
 examples/save_revoke_document.py        | 8 ++++----
 examples/send_certification.py          | 8 ++++----
 examples/send_membership.py             | 4 ++--
 examples/send_transaction.py            | 4 ++--
 7 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/duniterpy/key/signing_key.py b/duniterpy/key/signing_key.py
index 04be55b5..3c0e4c23 100644
--- a/duniterpy/key/signing_key.py
+++ b/duniterpy/key/signing_key.py
@@ -26,7 +26,7 @@ def _ensure_bytes(data):
 
 
 class SigningKey(libnacl.sign.Signer):
-    def __init__(self, salt, password, scrypt_params):
+    def __init__(self, salt, password, scrypt_params=ScryptParams(4096,16,1)):
         salt = _ensure_bytes(salt)
         password = _ensure_bytes(password)
         seed = scrypt(password, salt,
diff --git a/examples/create_and_publish_identity.py b/examples/create_and_publish_identity.py
index 597f12b4..fd1082d7 100644
--- a/examples/create_and_publish_identity.py
+++ b/examples/create_and_publish_identity.py
@@ -12,7 +12,7 @@ from duniterpy.key import SigningKey
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 # Your unique identifier in the Web of Trust
 UID = "MyIdentity"
@@ -43,7 +43,7 @@ def get_identity_document(current_block, uid, salt, password):
 
     # create identity document
     identity = Identity(
-        version=2,
+        version=10,
         currency=current_block['currency'],
         pubkey=key.pubkey,
         uid=uid,
@@ -56,13 +56,14 @@ def get_identity_document(current_block, uid, salt, password):
 
     return identity
 
+
 async def main():
     """
     Main code
     """
 
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
     # capture current block to get version and currency and blockstamp
     current_block = await bma.blockchain.current(connection)
 
diff --git a/examples/request_data.py b/examples/request_data.py
index 4817e57e..5e3df5ab 100644
--- a/examples/request_data.py
+++ b/examples/request_data.py
@@ -8,7 +8,7 @@ from duniterpy.documents import BMAEndpoint
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 ################################################
 
@@ -21,7 +21,7 @@ async def main():
     Main code
     """
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
 
     # Get the node summary infos
     response = await bma.node.summary(connection)
diff --git a/examples/save_revoke_document.py b/examples/save_revoke_document.py
index aa156deb..a8e309ba 100644
--- a/examples/save_revoke_document.py
+++ b/examples/save_revoke_document.py
@@ -21,7 +21,7 @@ else:
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 # WARNING : Hide this file in a safe and secure place
 # If one day you forget your credentials,
@@ -31,8 +31,8 @@ REVOKE_DOCUMENT_FILE_PATH = os.path.join(home_path, "duniter_account_revoke_docu
 ################################################
 AIOHTTP_SESSION = aiohttp.ClientSession()
 
-# Current protocole version
-PROTOCOL_VERSION = 2
+# Current protocol version
+PROTOCOL_VERSION = 10
 
 async def get_identity_document(connection, currency, pubkey):
     """
@@ -112,7 +112,7 @@ async def main():
         exit(0)
 
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
     # capture current block to get currency name
     current_block = await bma.blockchain.current(connection)
 
diff --git a/examples/send_certification.py b/examples/send_certification.py
index b200c6ce..59a15cb6 100644
--- a/examples/send_certification.py
+++ b/examples/send_certification.py
@@ -11,7 +11,7 @@ from duniterpy.key import SigningKey
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 ################################################
 
@@ -49,7 +49,7 @@ async def get_identity_document(connection, current_block, pubkey):
 
             # return self-certification document
             return Identity(
-                version=2,
+                version=10,
                 currency=current_block['currency'],
                 pubkey=pubkey,
                 uid=uid,
@@ -72,7 +72,7 @@ def get_certification_document(current_block, self_cert_document, from_pubkey, s
     """
     # construct Certification Document
     certification = Certification(
-        version=2,
+        version=10,
         currency=current_block['currency'],
         pubkey_from=from_pubkey,
         pubkey_to=self_cert_document.pubkey,
@@ -90,7 +90,7 @@ async def main():
     Main code
     """
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
 
     # prompt hidden user entry
     salt = getpass.getpass("Enter your passphrase (salt): ")
diff --git a/examples/send_membership.py b/examples/send_membership.py
index f4e9f967..a2ee6813 100644
--- a/examples/send_membership.py
+++ b/examples/send_membership.py
@@ -12,7 +12,7 @@ from duniterpy.key import SigningKey
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 ################################################
 
@@ -96,7 +96,7 @@ async def main():
     Main code
     """
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
 
     # capture current block to get version and currency and blockstamp
     current_block = await bma.blockchain.current(connection)
diff --git a/examples/send_transaction.py b/examples/send_transaction.py
index 172491ef..778527d9 100644
--- a/examples/send_transaction.py
+++ b/examples/send_transaction.py
@@ -13,7 +13,7 @@ from duniterpy.key import SigningKey
 # You can either use a complete defined endpoint : [NAME_OF_THE_API] [DOMAIN] [IPv4] [IPv6] [PORT]
 # or the simple definition : [NAME_OF_THE_API] [DOMAIN] [PORT]
 # Here we use the BASIC_MERKLED_API
-BMA_ENDPOINT = "BASIC_MERKLED_API cgeek.fr 9330"
+BMA_ENDPOINT = "BASIC_MERKLED_API g1.duniter.org 10901"
 
 
 ################################################
@@ -94,7 +94,7 @@ async def main():
     Main code
     """
     # connection handler from BMA endpoint
-    connection = BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION)
+    connection = next(BMAEndpoint.from_inline(BMA_ENDPOINT).conn_handler(AIOHTTP_SESSION))
 
     # prompt hidden user entry
     salt = getpass.getpass("Enter your passphrase (salt): ")
-- 
GitLab