Skip to content

Commit 4bb7371

Browse files
committed
added initial out of band protocol implementation
1 parent 6a594a4 commit 4bb7371

File tree

3 files changed

+58
-0
lines changed

3 files changed

+58
-0
lines changed

libs/aries-basic-controller/aries_basic_controller/aries_controller.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from .controllers.ledger import LedgerController
1616
from .controllers.credential import CredentialController
1717
from .controllers.server import ServerController
18+
from .controllers.oob import OOBController
1819

1920
import logging
2021

@@ -52,6 +53,8 @@ def __init__(self, webhook_host: str, webhook_port: int, admin_url: str, webhook
5253
self.ledger = LedgerController(self.admin_url, self.client_session)
5354
self.credentials = CredentialController(self.admin_url, self.client_session)
5455
self.server = ServerController(self.admin_url, self.client_session)
56+
self.oob = OOBController(self.admin_url, self.client_session)
57+
5558
if issuer:
5659
self.schema = SchemaController(self.admin_url, self.client_session)
5760
self.wallet = WalletController(self.admin_url, self.client_session)
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
from .base import BaseController
2+
from aiohttp import ClientSession
3+
import logging
4+
5+
logger = logging.getLogger("aries_controller.out-of-band")
6+
7+
class OOBController(BaseController):
8+
9+
def __init__(self, admin_url: str, client_session: ClientSession):
10+
super().__init__(admin_url, client_session)
11+
12+
13+
def default_handler(self, payload):
14+
logger.debug("Out of Band ", payload)
15+
16+
async def create_invitation(self, data):
17+
response = await self.admin_POST(f"/out-of-band/create-invitation", data = data)
18+
return response
19+
20+
async def receive_invitation(self, data):
21+
response = await self.admin_POST(f"/out-of-band/receive-invitation", data = data)
22+
return response

tutorials/aries-basic-controller/notebooks/alice/Part 3 - Establishing a Connection.ipynb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,39 @@
160160
"print(invite)"
161161
]
162162
},
163+
{
164+
"cell_type": "markdown",
165+
"metadata": {},
166+
"source": [
167+
"## 4a. Use the controller to create an out of band connection invitation"
168+
]
169+
},
170+
{
171+
"cell_type": "code",
172+
"execution_count": 6,
173+
"metadata": {},
174+
"outputs": [
175+
{
176+
"ename": "AttributeError",
177+
"evalue": "'AriesAgentController' object has no attribute 'oob'",
178+
"output_type": "error",
179+
"traceback": [
180+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
181+
"\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)",
182+
"\u001b[0;32m<ipython-input-6-2d65f0598135>\u001b[0m in \u001b[0;36masync-def-wrapper\u001b[0;34m()\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[0mconnection_id\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0minvite\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m\"connection_id\"\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 4\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Connection ID\"\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mconnection_id\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 5\u001b[0;31m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m\"Invitation\"\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 6\u001b[0m \u001b[0mprint\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0minvite\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
183+
"\u001b[0;31mAttributeError\u001b[0m: 'AriesAgentController' object has no attribute 'oob'"
184+
]
185+
}
186+
],
187+
"source": [
188+
"# Create an out of band Invitation\n",
189+
"invite = await agent_controller.oob.oob_create_invitation()\n",
190+
"connection_id = invite[\"connection_id\"]\n",
191+
"print(\"Connection ID\", connection_id)\n",
192+
"print(\"Invitation\")\n",
193+
"print(invite)"
194+
]
195+
},
163196
{
164197
"cell_type": "markdown",
165198
"metadata": {

0 commit comments

Comments
 (0)