[Sat] Request for feedback on API1

Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt> Fri, 29 March 2024 15:48 UTC

Return-Path: <rafael.belchior@tecnico.ulisboa.pt>
X-Original-To: sat@ietfa.amsl.com
Delivered-To: sat@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 9AA61C14F6A0 for <sat@ietfa.amsl.com>; Fri, 29 Mar 2024 08:48:30 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.696
X-Spam-Level:
X-Spam-Status: No, score=-2.696 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_MSPIKE_H3=0.001, RCVD_IN_MSPIKE_WL=0.001, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=tecnico.ulisboa.pt
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 6LfuW1WgZWwk for <sat@ietfa.amsl.com>; Fri, 29 Mar 2024 08:48:25 -0700 (PDT)
Received: from smtp1.tecnico.ulisboa.pt (smtp1.tecnico.ulisboa.pt [193.136.128.21]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 65B97C14F69D for <sat@ietf.org>; Fri, 29 Mar 2024 08:48:23 -0700 (PDT)
Received: from localhost (localhost.localdomain [127.0.0.1]) by smtp1.tecnico.ulisboa.pt (Postfix) with ESMTP id A6DE36002999 for <sat@ietf.org>; Fri, 29 Mar 2024 15:48:20 +0000 (WET)
X-Virus-Scanned: by amavis-2.13.0 (20230106) (Debian) at tecnico.ulisboa.pt
Received: from smtp1.tecnico.ulisboa.pt ([127.0.0.1]) by localhost (smtp1.tecnico.ulisboa.pt [127.0.0.1]) (amavis, port 10025) with LMTP id dree-mR3SLXy for <sat@ietf.org>; Fri, 29 Mar 2024 15:48:18 +0000 (WET)
Received: from mail1.tecnico.ulisboa.pt (mail1.ist.utl.pt [193.136.128.10]) by smtp1.tecnico.ulisboa.pt (Postfix) with ESMTPS id 0236F600298A for <sat@ietf.org>; Fri, 29 Mar 2024 15:48:18 +0000 (WET)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=tecnico.ulisboa.pt; s=mail; t=1711727298; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=royqNs5pi3hCdo/ZAyOLZXI1QiOWQV8kRhaCV73pTrw=; b=m4QypO4QgLxRhJDcnT6goeWsAp4cNmE8MQZlsLvZ+D0caic7tmOfYAaJLwmNTwAkglhQIP 2VttlMwFPThlow9RGzWaRQoyfa7Q5WWbeFlCaTlmMd1h2LZZT4vfHTMZO40oa8KX9Not4h 9IIgDROioS+sdzcXfhEiACPrKPGRm8Y=
Received: from webmail.tecnico.ulisboa.pt (webmail4.tecnico.ulisboa.pt [IPv6:2001:690:2100:1::8a3:363d]) (Authenticated sender: ist180970) by mail1.tecnico.ulisboa.pt (Postfix) with ESMTPSA id E0991360099 for <sat@ietf.org>; Fri, 29 Mar 2024 15:48:17 +0000 (WET)
Received: from 2001:8a0:7441:e500:61f6:eef:527f:2d95 via vs1.ist.utl.pt ([2001:690:2100:1::33]) by webmail.tecnico.ulisboa.pt with HTTP (HTTP/1.1 POST); Fri, 29 Mar 2024 15:48:17 +0000
MIME-Version: 1.0
Date: Fri, 29 Mar 2024 15:48:17 +0000
From: Rafael Belchior <rafael.belchior@tecnico.ulisboa.pt>
To: sat@ietf.org
User-Agent: Roundcube Webmail
Message-ID: <7dd92fa5f66358dfc22f9e304f900201@tecnico.ulisboa.pt>
X-Sender: rafael.belchior@tecnico.ulisboa.pt
Content-Type: text/plain; charset="UTF-8"; format="flowed"
Content-Transfer-Encoding: 8bit
Archived-At: <https://mailarchive.ietf.org/arch/msg/sat/YJt6C4Srj23bxWBW9Fuins9xx4Q>
Subject: [Sat] Request for feedback on API1
X-BeenThere: sat@ietf.org
X-Mailman-Version: 2.1.39
Precedence: list
List-Id: "The purpose of this mailing-list is to discuss the secure asset transfer \(SAT\) protocol and related aspects." <sat.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/sat>, <mailto:sat-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/sat/>
List-Post: <mailto:sat@ietf.org>
List-Help: <mailto:sat-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/sat>, <mailto:sat-request@ietf.org?subject=subscribe>
X-List-Received-Date: Fri, 29 Mar 2024 15:48:30 -0000

Hello folks,
We have been refactoring SATP-Core, which is available here: 
https://github.com/ietf-satp/draft-ietf-satp-core. The latest version 
(editor's copy) is this: 
https://ietf-satp.github.io/draft-ietf-satp-core/draft-ietf-satp-core.html.

We have moved API1 (gateway client to gateway) and API3 (gateway to 
third-party APIs/services) to the Appendix (as it is not "core", such as 
API2 which is gateway to gateway).

The definition of an API for gateway clients is of utmost importance so 
we can create a specification of how applications talk to gateway. 
Without this specification, vendor lock is more likely, as well as a 
lower variety of implementations to be adopted.

I have put together a proposal for API1 within Hyperledger Cacti:  
https://github.com/hyperledger/cacti/blob/satp-dev/packages/cactus-plugin-satp-hermes/src/main/yml/bol/openapi-blo-bundled.yml 
(you can copy-paste the spec into https://editor.swagger.io/ and 
visualize it).

This API defines a few endpoints, that have admin or transactional 
functionalities:

Transaction
- transact (Submits a transaction intent)
- cancel (Cancels a transaction session)
- routes (Get a list of routes for a gateway-to-gateway asset transfer)
- integrations (gets list of supported chains/infrastructure)

Admin
cancel, continue, pause and audit.

Questions for chairs and contributors:
- Should we extract the API1 considerations into their own 
document/draft, or leave it at the appendix? I would be happy to lead 
this effort.

-What does the gateway interface need in terms of application context? 
How is the context defined?

-What would be desirable in terms of audit data for the client 
application?


Cheers,

-- 
-- Rafael Belchior

Ph.D. student in Computer Science and Engineering, Blockchain - Técnico
Lisboa
https://rafaelapb.github.io/
https://www.linkedin.com/in/rafaelpbelchior/