Skip to content

Commit f580fbf

Browse files
Ryun1rphair
andauthored
CIP-0095 | Promote CIP and update links (cardano-foundation#703)
* update links and promote CIP * should also update top README along with this merge * change name and adjust author email * change name in base repository * Update README.md * change naming to match CIP-59 convensions Co-authored-by: Robert Phair <[email protected]> * match updated naming in base readme * Update CIP-0095/README.md * Update CIP-0095/README.md --------- Co-authored-by: Robert Phair <[email protected]>
1 parent dbe0650 commit f580fbf

File tree

2 files changed

+37
-26
lines changed

2 files changed

+37
-26
lines changed

CIP-0095/README.md

+36-25
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,13 @@
11
---
22
CIP: 95
3-
Title: Web-Wallet Bridge - Governance
3+
Title: Web-Wallet Bridge - Conway ledger era
44
Category: Wallets
5-
Status: Proposed
5+
Status: Active
66
Authors:
77
- Ryan Williams <[email protected]>
88
Implementors:
99
- Eternl <https://eternl.io/>
10+
- GeroWallet <https://gerowallet.io>
1011
- Lace <https://www.lace.io/>
1112
- NuFi <https://nu.fi/>
1213
- Ryan Williams <[email protected]>
@@ -27,12 +28,12 @@ Cardano wallets. This specification defines the API of the javascript object
2728
that needs to be injected into web applications.
2829

2930
These definitions extend
30-
[CIP-30 | Cardano dApp-Wallet Web Bridge](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030)
31+
[CIP-30 | Cardano dApp-Wallet Web Bridge](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030/README.md)
3132
to provide support for
3233
[CIP-1694 | A First Step Towards On-Chain Decentralized Governance](https://github.com/cardano-foundation/CIPs/blob/master/CIP-1694/README.md)
3334
focussed web-based stacks. Here we aim to support the requirements of Ada
34-
Holders and DReps in the Conway Ledger era, this specification is based on the
35-
[Draft Conway Ledger Era Specification](https://github.com/input-output-hk/cardano-ledger/tree/master/eras/conway/test-suite/cddl-files).
35+
holders and DReps in the Conway Ledger era, this specification is based on the
36+
[Conway Ledger Era Specification](https://github.com/IntersectMBO/cardano-ledger/blob/dcacf044c8d38362edc57a761e027953aab3f335/eras/conway/impl/cddl-files/conway.cddl).
3637

3738
### Acknowledgments
3839

@@ -87,14 +88,14 @@ within CIP-30. Although currently CIP-30 acts as the defacto Cardano dApp-wallet
8788
connector, this specification could be applied to similar standards.
8889

8990
> **Note** This specification will evolve as the proposed ledger governance
90-
> model matures.
91+
> model is finalized.
9192
9293
### Data Types
9394

9495
#### CIP-30 Inherited Data Types
9596

9697
From
97-
[CIP-30's Data Types](https://github.com/cardano-foundation/CIPs/tree/master/CIP-0030#data-types)
98+
[CIP-30's Data Types](https://github.com/cardano-foundation/CIPs/tree/master/CIP-003/README.md#data-types)
9899
we inherit:
99100

100101
##### [Address](https://github.com/cardano-foundation/CIPs/blob/master/CIP-0030/README.md#address)
@@ -112,7 +113,7 @@ A hex-encoded string of the corresponding bytes.
112113
A hex-encoded string representing [CBOR](https://tools.ietf.org/html/rfc7049)
113114
corresponding to `T` defined via [CDDL](https://tools.ietf.org/html/rfc8610)
114115
either inside of the
115-
[Shelley Multi-asset binary spec](https://github.com/input-output-hk/cardano-ledger-specs/blob/0738804155245062f05e2f355fadd1d16f04cd56/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl)
116+
[Shelley Multi-asset binary spec](https://github.com/IntersectMBO/cardano-ledger-specs/blob/0738804155245062f05e2f355fadd1d16f04cd56/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl)
116117
or, if not present there, from the
117118
[CIP-0008 signing spec](https://github.com/cardano-foundation/CIPs/blob/master/CIP-0008/CIP-0008.md).
118119
This representation was chosen when possible as it is consistent across the
@@ -268,7 +269,7 @@ To access these functionalities a client application must present this CIP-95
268269
extension object, as part of the extensions object passed at enable time:
269270
270271
```ts
271-
.enable({ extensions: [{ cip : 95 }]})
272+
cardano.{wallet-name}.enable({ extensions: [{ cip : 95 }]})
272273
```
273274
274275
#### `api.cip95.getPubDRepKey(): Promise<PubDRepKey>`
@@ -356,7 +357,7 @@ era transaction fields and certificates.
356357
##### Expected Inspection Support
357358
358359
As read from
359-
[cardano-ledger Conway _draft_ specification](https://github.com/input-output-hk/cardano-ledger/blob/master/eras/conway/test-suite/cddl-files/conway.cddl).
360+
[cardano-ledger Conway _draft_ specification](https://github.com/IntersectMBO/cardano-ledger/blob/dcacf044c8d38362edc57a761e027953aab3f335/eras/conway/impl/cddl-files/conway.cddl).
360361
361362
Supporting wallets should be able to recognize and inspect
362363
all the following certificates and data contained in transaction bodies, in any
@@ -393,12 +394,13 @@ combination.
393394
| 22 | `positive_coin` (new donation) |
394395
395396
All other potential transaction field inclusions
396-
[0-18](https://github.com/input-output-hk/cardano-ledger/blob/master/eras/conway/test-suite/cddl-files/conway.cddl#L54-#L69),
397+
[0-18](https://github.com/IntersectMBO/cardano-ledger/blob/master/eras/conway/test-suite/cddl-files/conway.cddl#L54-#L69),
397398
should be able to be recognized by supporting wallets.
398399
399400
##### Unsupported Inspection
400401
401-
In the Conway ledger era two certificate types are depreciated `genesis_key_delegation` and `move_instantaneous_rewards_cert`. If the wallet receives a transaction containing a depreciated certificate it should return a `TxSignError` with an error code of `DepreciatedCertificate`.
402+
In the Conway ledger era two certificate types are depreciated `genesis_key_delegation` and `move_instantaneous_rewards_cert`.
403+
If the wallet receives a transaction containing a depreciated certificate it should return a `TxSignError` with an error code of `DepreciatedCertificate`.
402404
403405
| Index | Unsupported Pre-Conway Certificates |
404406
| ----- | ----------------------------------- |
@@ -407,7 +409,8 @@ In the Conway ledger era two certificate types are depreciated `genesis_key_dele
407409
408410
##### Expected Witness Support
409411
410-
Although constitutional committee certificates and stake pool certificates should be able to be recognized they should not be able to be correctly witnessed by wallets following this API. Wallet's should only support witnesses using payment, stake and DRep keys.
412+
Although constitutional committee certificates and stake pool certificates should be able to be recognized they should not be able to be correctly witnessed by wallets following this API.
413+
Wallet's should only support witnesses using payment, stake and DRep keys.
411414
412415
##### Returns
413416
@@ -564,7 +567,7 @@ wallet has already been made via
564567
2. **Construct Delegation:** The client application uses CIP-30 endpoints to
565568
query the wallet's UTxO set and payment address. A DRep delegation
566569
certificate
567-
([`vote_deleg_cert`](https://github.com/input-output-hk/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L303))
570+
([`vote_deleg_cert`](https://github.com/IntersectMBO/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L303))
568571
is constructed by the app using the chosen DRep's ID and wallet's stake
569572
credential. A transaction is constructed to send 1 ADA to the wallet's
570573
payment address with the certificate included in the transaction body.
@@ -594,7 +597,7 @@ the user is not a registered DRep.
594597
2. **Construct Registration**: The client application uses CIP-30 endpoints to
595598
query the wallet's UTxO set and payment address. A DRep registration
596599
certificate
597-
([`reg_drep_cert`](https://github.com/input-output-hk/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L312))
600+
([`reg_drep_cert`](https://github.com/IntersectMBO/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L312))
598601
is constructed by the app using the wallet's DRep ID and the provided
599602
metadata anchor. A transaction is constructed to send 1 ADA to the wallet's
600603
payment address with the certificate included in the transaction body.
@@ -661,9 +664,9 @@ majority of participants thus we aim to cast a wide net with this specification.
661664
662665
In this specification we have placed explicit boundaries on what should not be
663666
supported with `.signTx()`. Those being not witnessing
664-
[stake pool](https://github.com/input-output-hk/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L294C1-L295C43)
667+
[stake pool](https://github.com/IntersectMBO/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L294C1-L295C43)
665668
or
666-
[constitutional committee](https://github.com/input-output-hk/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L310C1-L311C61),
669+
[constitutional committee](https://github.com/IntersectMBO/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L310C1-L311C61),
667670
certificates and not inspecting genesis key delegation or MIR certificates.
668671
669672
From speaking to CIP-30 implementors it seems reasonable that there does not
@@ -673,14 +676,14 @@ prefer the utility and security advantages not operating via light wallets. Due
673676
to the [Lack of Specificity](#lack-of-specificity) of CIP-30 we felt it
674677
necessary to explicitly state the lack of support in this extension.
675678
676-
[Constitutional committee certificates](https://github.com/input-output-hk/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L310C1-L311C61)
679+
[Constitutional committee certificates](https://github.com/IntersectMBO/cardano-ledger/blob/1beddd3d9f10d8fcb163b5e83985c4bac6b74be7/eras/conway/test-suite/cddl-files/conway.cddl#L310C1-L311C61)
677680
are not supported by this specification's `.signTx()` for two reasons. First,
678681
this specification is only focussed on the need's of Ada holders and DReps.
679682
Secondly, the credentials used by the constitutional committee, are a hot and
680683
cold key setup. Hot and cold keys are not suited for standard light wallets.
681684
682685
Genesis key delegation and move instantaneous reward certificates (see in
683-
[Shelley spec](https://github.com/input-output-hk/cardano-ledger/blob/0738804155245062f05e2f355fadd1d16f04cd56/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl#L117#L118))
686+
[Shelley spec](https://github.com/IntersectMBO/cardano-ledger/blob/0738804155245062f05e2f355fadd1d16f04cd56/shelley-ma/shelley-ma-test/cddl-files/shelley-ma.cddl#L117#L118))
684687
are not supported here because they have been depreciated in the Conway ledger
685688
era. Furthermore, due to the lack of accessibility (require access to genesis
686689
keys) for these certificates it is extremely unlikely any CIP-30 implementations
@@ -926,17 +929,24 @@ straight forward for wallets implementing both APIs.
926929
being a wallet web bridge.
927930
- <s>Should there be a way for the optional sharing of governance state, from
928931
wallet to client?</s>
929-
- Should DRep key be moved into CIP-1852?
930-
- <s>Yes it will be moved to it's own CIP with reference added to
931-
CIP-1852.</s>
932+
- We leave this for future CIPs.
933+
- <s>Should DRep key be moved into CIP-1852?</s>
934+
- Yes it will be moved to it's own CIP with reference added to
935+
CIP-1852.
932936
933937
## Path to Active
934938
935939
### Acceptance Criteria
936940
937-
- [ ] The interface is supported by three wallet providers.
938-
- [ ] The interface is used by one web application to allow users to engage with
941+
- [x] The interface is supported by three wallet providers.
942+
- [Nufi](https://assets.nu.fi/extension/sanchonet/nufi-cwe-sanchonet-latest.zip)
943+
- [Lace](https://chromewebstore.google.com/detail/lace-sanchonet/djcdfchkaijggdjokfomholkalbffgil?hl=en)
944+
- [Yoroi](https://chrome.google.com/webstore/detail/yoroi-nightly/poonlenmfdfbjfeeballhiibknlknepo/related)
945+
- [demos wallet](https://github.com/Ryun1/cip95-demos-wallet)
946+
- [x] The interface is used by one web application to allow users to engage with
939947
the Conway ledger design.
948+
- [SanchoNet GovTool](https://sanchogov.tools)
949+
- [demos test dApp](https://github.com/Ryun1/cip95-cardano-wallet-connector/tree/master)
940950
941951
### Implementation Plan
942952
@@ -958,7 +968,8 @@ straight forward for wallets implementing both APIs.
958968
- [x] Author to provide a reference wallet implementation.
959969
- See [cip95-demos-wallet](https://github.com/Ryun1/cip95-demos-wallet/).
960970
- [ ] Author to produce a set of test vectors for wallets to test against.
961-
- [ ] Author to move DRep key definitions to a separate CIP.
971+
- [x] Author to move DRep key definitions to a separate CIP.
972+
- via the addition of [CIP-105 | Conway era Key Chains for HD Wallets](https://github.com/cardano-foundation/CIPs/blob/master/CIP-0105/README.md) via [CIPs PR #597](https://github.com/cardano-foundation/CIPs/pull/597).
962973
963974
## Copyright
964975

README.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ CIP Editors meetings are public, recorded, and [published on Youtube](https://ww
9090
| 0088 | [Token Policy Registration](./CIP-0088) | Proposed |
9191
| 0093 | [Authenticated Web3 HTTP requests](./CIP-0093) | Proposed |
9292
| 0094 | [SPO On-chain Polls](./CIP-0094) | Active |
93-
| 0095 | [Web-Wallet Bridge - Governance](./CIP-0095) | Proposed |
93+
| 0095 | [Web-Wallet Bridge - Conway ledger era](./CIP-0095) | Active |
9494
| 0099 | [Proof of Onboarding](./CIP-0099) | Active |
9595
| 0100 | [Governance Metadata](./CIP-0100) | Proposed |
9696
| 0101 | [Integration of keccak256 into Plutus](./CIP-0101) | Proposed |

0 commit comments

Comments
 (0)