From 406d191a09e17ac85cb426f6dbca1e27fba3bd51 Mon Sep 17 00:00:00 2001 From: Sebastien Guillemot Date: Tue, 28 Dec 2021 18:02:16 +0900 Subject: [PATCH 1/3] CIP30 experimental --- CIP-0030/README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/CIP-0030/README.md b/CIP-0030/README.md index e706d1ab07..c821158d94 100644 --- a/CIP-0030/README.md +++ b/CIP-0030/README.md @@ -247,6 +247,16 @@ Errors: `APIError`, `TxSendError` As wallets should already have this ability, we allow dApps to request that a transaction be sent through it. If the wallet accepts the transaction and tries to send it, it shall return the transaction id for the dApp to track. The wallet is free to return the `TxSendError` with code `Refused` if they do not wish to send it, or `Failure` if there was an error in sending it (e.g. preliminary checks failed on signatures). +## Experimental API + +Functions in this section must be under the `experimental` namespace (ex: `api.experimental.myFunctionality`). + +The benefits of this are: +1. Wallets can non-standardized features while still following the CIP30 structure +1. dApp developers can use this functions explicitly knowing they are experimental (not stable or standardized) +1. New features can be added to CIP30 as experimental features and only moved to non-experimental once multiple wallets implement it +1. Provides a clear path to updating the CIP version number (when functions move from experimental -> stable) + # Implementations [nami-wallet](https://github.com/Berry-Pool/nami-wallet/blob/master/src/pages/Content/injected.js) From 4f9924a65d4d3327c4b19bfbfd93747077e9dcaa Mon Sep 17 00:00:00 2001 From: Sebastien Guillemot Date: Thu, 30 Dec 2021 09:21:38 +0900 Subject: [PATCH 2/3] fix wording --- CIP-0030/README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/CIP-0030/README.md b/CIP-0030/README.md index c821158d94..1e6e7a1ce8 100644 --- a/CIP-0030/README.md +++ b/CIP-0030/README.md @@ -252,10 +252,10 @@ As wallets should already have this ability, we allow dApps to request that a tr Functions in this section must be under the `experimental` namespace (ex: `api.experimental.myFunctionality`). The benefits of this are: -1. Wallets can non-standardized features while still following the CIP30 structure -1. dApp developers can use this functions explicitly knowing they are experimental (not stable or standardized) +1. Wallets can add non-standardized features while still following the CIP30 structure +1. dApp developers can use these functions explicitly knowing they are experimental (not stable or standardized) 1. New features can be added to CIP30 as experimental features and only moved to non-experimental once multiple wallets implement it -1. Provides a clear path to updating the CIP version number (when functions move from experimental -> stable) +1. It provides a clear path to updating the CIP version number (when functions move from experimental -> stable) # Implementations From 823823ed89087a55ce61da2b946df52e2f367934 Mon Sep 17 00:00:00 2001 From: Sebastien Guillemot Date: Mon, 17 Jan 2022 09:27:56 +0900 Subject: [PATCH 3/3] Define multiple experimental namespaces --- CIP-0030/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CIP-0030/README.md b/CIP-0030/README.md index 1e6e7a1ce8..9745f88516 100644 --- a/CIP-0030/README.md +++ b/CIP-0030/README.md @@ -249,7 +249,9 @@ As wallets should already have this ability, we allow dApps to request that a tr ## Experimental API -Functions in this section must be under the `experimental` namespace (ex: `api.experimental.myFunctionality`). +Multiple experimental namespaces are used: +- under `api` (ex: `api.experimental.myFunctionality`). +- under `cardano.{walletName}` (ex: `window.cardano.{walletName}.experimental.myFunctionality`) The benefits of this are: 1. Wallets can add non-standardized features while still following the CIP30 structure