-
Notifications
You must be signed in to change notification settings - Fork 200
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: indy revocation (prover & verifier) #592
feat: indy revocation (prover & verifier) #592
Conversation
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Adam Burdett <burdettadam@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Awesome! Indy SDK React Native 0.1.20 has been released: https://github.com/hyperledger/indy-sdk-react-native/releases/tag/0.1.20 The new Indy SDK types version: https://www.npmjs.com/package/@types/indy-sdk/v/1.16.10 |
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Really nice work @JamesKEbert. Left a few nits, but overall LGTM.
Only thing is that this addition doesn't include a single test, meaning it's really easy to break something without us knowing. We've had discussions during the WG call on how to approach this. An easy scripts to test revocation with ACA-Py could be one. Another thing I was thinking is whether we can set up revocation in a way where we create a wallet with a revocable credential, export it and then import it everytime we run the tests. We can then mock all ledger responses and run through the flow of revocation. However that may be a bit too much work. It should be trivial to integrate this with the AATH, so maybe that's a good start
Thanks for the review! For testing I'd definitely lean in the direction of first doing the AATH integration, and then following up with scripts for ACA-Py testing or wallet import testing. I'm definitely happy to help with either of those elements, although I admit my Docker-fu is a little lighter than I'd like 😅 |
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Note, we've opened a PR for the indy-sdk types to resolve the last sneaky type issue that I've found: DefinitelyTyped/DefinitelyTyped#58667 |
Seems like revocation is working, but not for all test cases. However most seem related to test cases that test valid formats that do not follow the best practices. We should try to filter those out from running as we don't support them. To run it yourself:
I think for all tests that are following RFC 0441 we should add a Failing tests with unknown errors:
Output from ACA-Py{
"presentation_request_dict": {
"@type": "did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/present-proof/1.0/request-presentation",
"@id": "8cd5a7df-0635-4ba8-bcd6-aa7fcae6e737",
"request_presentations~attach": [
{
"@id": "libindy-request-presentation-0",
"mime-type": "application/json",
"data": {
"base64": "eyJuYW1lIjogInRlc3QgcHJvb2YiLCAidmVyc2lvbiI6ICIwLjEuMCIsICJyZXF1ZXN0ZWRfYXR0cmlidXRlcyI6IHsiYWRkcmVzc19hdHRycyI6IHsibmFtZSI6ICJhZGRyZXNzIiwgInJlc3RyaWN0aW9ucyI6IFt7InNjaGVtYV9uYW1lIjogIlNjaGVtYV9Ecml2ZXJzTGljZW5zZV9SZXZvYyIsICJzY2hlbWFfdmVyc2lvbiI6ICIxLjEuMCJ9XX19LCAicmVxdWVzdGVkX3ByZWRpY2F0ZXMiOiB7fSwgIm5vbl9yZXZva2VkIjogeyJmcm9tIjogMTY0NDM1NjE5NCwgInRvIjogMTY0NDM1NjE5NH0sICJub25jZSI6ICI2MzQ1ODM5NDc4ODQzODIyNTI5NDcwNzIifQ=="
}
}
],
"comment": "This is a comment for the request for presentation."
},
"presentation": {
"proof": {
"proofs": [
{
"primary_proof": {
"eq_proof": {
"revealed_attrs": {
"address": "21751895109898684064665132381010603351785496039964583518083248344707107214824"
},
"a_prime": "35951694140173391187382984975312833053133269398945471140443956866014292443437180157021795855506085234619280222403945504171909454495448538993828950287078921910157120871212232549420607207973326118007426513324799348562424146976063537156906218966399368090477267784614388002291933067090791696790270764774476516047329458255824561370194002372999650164866349325627459102520156614487474466566224604842279287486030546926214884481488293461125152750242215887275481513561875317163951079812241942175232153462987080722844609252508491423173605670561904908328303832529311231483103805738792100983548602445188473322599816788062344895483",
"e": "182816191046963617115316113252273659784079255429559237547775528711348740757728231488946255140070041184081122940836033415400870903181088610",
"v": "48942573298623877827018040803166076598059146638876198516324295161079875753053908166945474683207552870190120728284014774283648143323077116351480344970810293185809500344833921949768833959667904351128201631449835011243923986939035589536863143524633301118275951414678187741136397319956236498294420116912190008399873524737566368254336977687374197450102601702839295390696830582691938246145152610347468847009702320766643464570999227099291582226639501500104098879117215077954058429576213722952137561505534608218454253577033949765865465893714450201053623592891792884846237597978471938106483796075750369951519131473531482879205948078901579969295280835810154711679832187415384661663356343354468567361001525634232916797597382022604065028369791359110458000327381778276576326616407537351476936238394176878652914784892291523073454860033486048891209502313559329690266432398882378396003378071448110625478581041610219742075126857660094564",
"m": {
"age": "6557787004113693124538755399218385029872350397170895310008224030114218805375297563176921033207841971383804920344741913460763793242426214242693211820398531381336496712161450451744",
"master_secret": "6435591023206324734353112322772517005078559963369279218329463943267643550477224601965199242031743841443919193635024347873326158195575388024286362997264564940505492382588279602130",
"dl_number": "2546217642122550478472232298439388459601226041411930259349861674001813118762618443397865340333151956203365606625613317412755644233379468217369795470740931020399698527425348218684",
"expiry": "6975994867256434384218323298829091107642403219246322267833281640199044585243493218477379952077215003934687513907869878926092511425632310988045583907645650135368106020070640493382"
},
"m2": "4350513776990549372192451651957300165486458565819859036512101432784095655711035489224969151103459867910705970963187721051850109591983055171405537667302963837524747177677477510688"
},
"ge_proofs": []
}
}
],
"aggregated_proof": {
"c_hash": "85013567076856774462532618607322836223946623513776238687646533288200783680954",
"c_list": [
[
1, 28, 202, 210, 147, 1, 137, 48, 163, 19, 93, 122, 110, 183, 180,
48, 14, 175, 12, 95, 92, 218, 168, 89, 34, 243, 76, 168, 181, 28,
181, 122, 2, 20, 7, 214, 16, 227, 3, 193, 112, 13, 117, 145, 21, 28,
117, 129, 140, 160, 137, 9, 237, 232, 3, 185, 0, 141, 108, 217, 199,
212, 147, 70, 253, 109, 146, 103, 99, 228, 168, 149, 200, 35, 227,
154, 76, 255, 169, 27, 217, 30, 128, 190, 86, 56, 148, 192, 230, 87,
115, 144, 98, 93, 192, 109, 38, 176, 0, 189, 179, 153, 13, 187, 140,
215, 237, 202, 194, 32, 22, 85, 194, 238, 70, 89, 12, 153, 186, 54,
133, 163, 238, 250, 110, 214, 180, 221, 142, 5, 198, 51, 181, 153,
160, 192, 114, 0, 127, 45, 92, 84, 2, 224, 4, 239, 176, 80, 234,
244, 9, 158, 190, 51, 18, 180, 20, 199, 205, 72, 9, 127, 212, 190,
59, 243, 242, 131, 115, 36, 239, 222, 61, 2, 220, 237, 119, 205,
200, 141, 75, 150, 191, 112, 107, 35, 54, 33, 245, 112, 155, 205,
165, 190, 4, 67, 215, 94, 72, 198, 25, 66, 151, 152, 192, 54, 202,
65, 246, 169, 46, 71, 142, 170, 229, 249, 75, 219, 98, 64, 194, 82,
147, 222, 230, 134, 146, 162, 92, 206, 68, 91, 249, 105, 73, 56, 25,
37, 128, 45, 188, 32, 117, 92, 217, 184, 248, 234, 129, 139, 220,
10, 231, 18, 20, 219, 251
]
]
}
},
"requested_proof": {
"revealed_attrs": {
"address_attrs": {
"raw": "9 6 st, Q Ontario Canada, K9O 3R5",
"encoded": "21751895109898684064665132381010603351785496039964583518083248344707107214824",
"sub_proof_index": 0
}
},
"self_attested_attrs": {},
"unrevealed_attrs": {},
"predicates": {}
},
"identifiers": [
{
"schema_id": "PMUiB2ovzCTiqYrWrF5Kde:2:Schema_DriversLicense_Revoc:1.1.0",
"cred_def_id": "PMUiB2ovzCTiqYrWrF5Kde:3:CL:147358:7294",
"rev_reg_id": "PMUiB2ovzCTiqYrWrF5Kde:4:PMUiB2ovzCTiqYrWrF5Kde:3:CL:147358:7294:CL_ACCUM:d0d039af-ec4e-455c-a481-3a9059967a14"
}
]
},
"role": "verifier",
"connection_id": "4bcfd27a-27b9-4e61-a4d9-d32a4e2867a8",
"presentation_request": {
"nonce": "634583947884382252947072",
"name": "test proof",
"version": "0.1.0",
"requested_attributes": {
"address_attrs": {
"restrictions": [
{
"schema_name": "Schema_DriversLicense_Revoc",
"schema_version": "1.1.0"
}
],
"name": "address"
}
},
"requested_predicates": {},
"non_revoked": { "to": 1644356194, "from": 1644356194 }
},
"thread_id": "8cd5a7df-0635-4ba8-bcd6-aa7fcae6e737",
"updated_at": "2022-02-08T21:36:44.011177Z",
"initiator": "self",
"trace": false,
"presentation_exchange_id": "cedee7a1-fb1a-447f-8fd1-addd73794142",
"auto_present": false,
"state": "done",
"verified": "true",
"created_at": "2022-02-08T21:36:35.285766Z"
}
Failing tests due to not adhering to 0441:
|
Also |
I'm good with merging this and having it as a experimental feature. Then we can start tracking revocation test in AATH on a daily basis |
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
Agreed--my only concern is in regards to merging today would be the prototype pollution mentioned, so if that's not something you're able to recreate than I'm in favor of merging.
|
It's still present: https://github.com/hyperledger/aries-framework-javascript/security/code-scanning/8?query=ref%3Arefs%2Fpull%2F592%2Fmerge+ref%3Arefs%2Fpull%2F592%2Fhead How to fix: Most JavaScript objects inherit the properties of the built-in Object.prototype object. Prototype pollution is a type of vulnerability in which an attacker is able to modify Object.prototype. Since most objects inherit from the compromised Object.prototype object, the attacker can use this to tamper with the application logic, and often escalate to remote code execution or cross-site scripting. One way to cause prototype pollution is by modifying an object obtained via a user-controlled property name. Most objects have a special proto property that refers to Object.prototype. An attacker can abuse this special property to trick the application into performing unintended modifications of Object.prototype. Recommendation Alternatively, restrict the computed property name so it can't clash with a built-in property, either by prefixing it with a constant string, or by rejecting inputs that don't conform to the expected format. Example let express = require('express');
express.put('/todos/:id', (req, res) => {
let id = req.params.id;
let items = req.session.todos[id];
if (!items) {
items = req.session.todos[id] = {};
}
items[req.query.name] = req.query.text;
res.end(200);
}); One way to fix this is to use Map objects to associate key/value pairs instead of regular objects, as shown below: let express = require('express');
express.put('/todos/:id', (req, res) => {
let id = req.params.id;
let items = req.session.todos.get(id);
if (!items) {
items = new Map();
req.sessions.todos.set(id, items);
}
items.set(req.query.name, req.query.text);
res.end(200);
}); |
Signed-off-by: James Ebert <jamesebert.k@gmail.com>
* Added recepientRevocation for createProof Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Initial revocation functions for getRequestedCredentialsForProofRequest Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Added option to check for revocation status in getRequestedCredentials Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * sorted transports Signed-off-by: Adam Burdett <burdettadam@gmail.com> * broken message sender tests Signed-off-by: Adam Burdett <burdettadam@gmail.com> * structure fix Signed-off-by: Adam Burdett <burdettadam@gmail.com> * lint import ordering Signed-off-by: Adam Burdett <burdettadam@gmail.com> * if(0) does not work. Signed-off-by: Adam Burdett <burdettadam@gmail.com> * utf-8 decode ws event.data Signed-off-by: Adam Burdett <burdettadam@gmail.com> * indy wallet friendly bits Signed-off-by: Adam Burdett <burdettadam@gmail.com> * correct protocal type Signed-off-by: Adam Burdett <burdettadam@gmail.com> * check invite during init Signed-off-by: Adam Burdett <burdettadam@gmail.com> * id check Signed-off-by: Adam Burdett <burdettadam@gmail.com> * keep sockets with mediators open Signed-off-by: Adam Burdett <burdettadam@gmail.com> * recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout time Signed-off-by: Adam Burdett <burdettadam@gmail.com> * logger Signed-off-by: Adam Burdett <burdettadam@gmail.com> * propper recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * multiple socket timeout support Signed-off-by: Adam Burdett <burdettadam@gmail.com> * Code cleanup Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Fix tests and types Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Formatting and type fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * revocation fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * ran prettier Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * chore: add ts ignore until types are updated Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: updated tails download to utilize axios and added inline docs Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: fixed formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: removed husky Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: add back husky pre-push Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed error imports Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: resolve dependency loop issues Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: revocation ledger methods & proof get requested credentials revoked status Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: added revocation state creation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: small tweaks and fixes for revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: takes into account referent revocation intervals Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & prettier Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed createrevocationstate types & initial rev reg def caching Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed proofservice test mock Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: minor cleanup Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: rename indyutilitiesservice Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: troubleshooting revocation, added ledger methods for verifying proof of non revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & credential storage w/revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: add download to file method to file system Signed-off-by: Timo Glastra <timo@animo.id> * refactor: use rnfs for react native Signed-off-by: Timo Glastra <timo@animo.id> * chore: cleanup & log adjustments Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: verify proofs containing proof of non_revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: update indy-sdk-react-native & indy-sdk types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: adjusts names to be consistent & removing abbreviations Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: updated indy-sdk types to fix proof identifier types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: indyverifierservice prototype pollution Signed-off-by: James Ebert <jamesebert.k@gmail.com> Co-authored-by: Patrick Kenyon <treek.kenyon@gmail.com> Co-authored-by: Adam Burdett <burdettadam@gmail.com> Co-authored-by: Timo Glastra <timo@animo.id> Signed-off-by: annelein <anneleinvanreijen@gmail.com>
* Added recepientRevocation for createProof Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Initial revocation functions for getRequestedCredentialsForProofRequest Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Added option to check for revocation status in getRequestedCredentials Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * sorted transports Signed-off-by: Adam Burdett <burdettadam@gmail.com> * broken message sender tests Signed-off-by: Adam Burdett <burdettadam@gmail.com> * structure fix Signed-off-by: Adam Burdett <burdettadam@gmail.com> * lint import ordering Signed-off-by: Adam Burdett <burdettadam@gmail.com> * if(0) does not work. Signed-off-by: Adam Burdett <burdettadam@gmail.com> * utf-8 decode ws event.data Signed-off-by: Adam Burdett <burdettadam@gmail.com> * indy wallet friendly bits Signed-off-by: Adam Burdett <burdettadam@gmail.com> * correct protocal type Signed-off-by: Adam Burdett <burdettadam@gmail.com> * check invite during init Signed-off-by: Adam Burdett <burdettadam@gmail.com> * id check Signed-off-by: Adam Burdett <burdettadam@gmail.com> * keep sockets with mediators open Signed-off-by: Adam Burdett <burdettadam@gmail.com> * recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout time Signed-off-by: Adam Burdett <burdettadam@gmail.com> * logger Signed-off-by: Adam Burdett <burdettadam@gmail.com> * propper recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * multiple socket timeout support Signed-off-by: Adam Burdett <burdettadam@gmail.com> * Code cleanup Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Fix tests and types Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Formatting and type fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * revocation fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * ran prettier Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * chore: add ts ignore until types are updated Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: updated tails download to utilize axios and added inline docs Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: fixed formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: removed husky Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: add back husky pre-push Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed error imports Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: resolve dependency loop issues Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: revocation ledger methods & proof get requested credentials revoked status Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: added revocation state creation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: small tweaks and fixes for revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: takes into account referent revocation intervals Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & prettier Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed createrevocationstate types & initial rev reg def caching Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed proofservice test mock Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: minor cleanup Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: rename indyutilitiesservice Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: troubleshooting revocation, added ledger methods for verifying proof of non revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & credential storage w/revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: add download to file method to file system Signed-off-by: Timo Glastra <timo@animo.id> * refactor: use rnfs for react native Signed-off-by: Timo Glastra <timo@animo.id> * chore: cleanup & log adjustments Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: verify proofs containing proof of non_revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: update indy-sdk-react-native & indy-sdk types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: adjusts names to be consistent & removing abbreviations Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: updated indy-sdk types to fix proof identifier types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: indyverifierservice prototype pollution Signed-off-by: James Ebert <jamesebert.k@gmail.com> Co-authored-by: Patrick Kenyon <treek.kenyon@gmail.com> Co-authored-by: Adam Burdett <burdettadam@gmail.com> Co-authored-by: Timo Glastra <timo@animo.id>
fix(core): expose record metadata types (openwallet-foundation#556) Signed-off-by: Berend Sliedrecht <berend@animo.id> Co-authored-by: Timo Glastra <timo@animo.id> ci: create non-annotated tags (openwallet-foundation#559) Signed-off-by: Timo Glastra <timo@animo.id> style: non-null assertions and newline import (openwallet-foundation#561) Signed-off-by: Timo Glastra <timo@animo.id> chore: disable unnecessary type check in Dispatcher test (openwallet-foundation#565) Signed-off-by: Jakub Koci <jakub.koci@gmail.com> ci: add continuous deployment scripts (openwallet-foundation#552) Signed-off-by: Timo Glastra <timo@animo.id> feat: expose wallet API (openwallet-foundation#566) This commit also contains the following changes: * Create a master secret when creating a wallet. * Do not delete wallet when shutdown is called on agent. * Expose the whole wallet API, which also contains methods that should be used only inside the framework. We need to improve that in the future. Signed-off-by: Jakub Koci <jakub.koci@gmail.com> BREAKING CHANGE: The agent’s `shutdown` method does not delete the wallet anymore. If you want to delete the wallet, you can do it via exposed wallet API. build: add arm test ledger setup (openwallet-foundation#573) Signed-off-by: Timo Glastra <timo@animo.id> feat: add problem report protocol (openwallet-foundation#560) Signed-off-by: Amit Padmani <amit@northernblock.io> docs: added report problem protocol to README (openwallet-foundation#574) Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: support mediation for connectionless exchange (openwallet-foundation#577) Signed-off-by: Timo Glastra <timo@animo.id> refactor(core): separate logic for inbound plaintext and encrypted message (openwallet-foundation#581) * rename wire message to encrypted message Signed-off-by: Jakub Koci <jakub.koci@gmail.com> feat: generic attachment handler (openwallet-foundation#578) Signed-off-by: morrieinmaas <moritz@animo.id> Co-authored-by: annelein <anneleinvanreijen@gmail.com> refactor: resolve feedback for problem report (openwallet-foundation#584) Signed-off-by: Amit Padmani <amit@northernblock.io> fix(core)!: Improved typing on metadata api (openwallet-foundation#585) Signed-off-by: Berend Sliedrecht <berend@animo.id> BREAKING CHANGE: removed the getAll() function. chore(release): v0.1.0 (openwallet-foundation#571) Signed-off-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> docs(apple-silicon): update OpenSSL instructions (openwallet-foundation#590) * docs(apple-silicon): update openssl install instructions Signed-off-by: Karim Stekelenburg <karim@animo.id> * docs(apple-silicon): add missing 'add to path' commands Signed-off-by: Karim Stekelenburg <karim@animo.id> * docs(apple-silicon): run prettier Signed-off-by: Karim Stekelenburg <karim@animo.id> feat(core): allow to set auto accept connetion exchange when accepting invitation (openwallet-foundation#589) Signed-off-by: Jakub Koci <jakub.koci@gmail.com> feat: ledger connections happen on agent init in background (openwallet-foundation#580) * Connects to ledger on agent init by default, ledger calls will wait for connections to be complete if so * Updated version of indy-sdk-react-native to 0.1.16 Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> feat: add generic did resolver (openwallet-foundation#554) * feat: did:key, did:web, did:sov resolver Signed-off-by: Timo Glastra <timo@animo.id> feat: add support for signed attachments (openwallet-foundation#595) Signed-off-by: Timo Glastra <timo@animo.id> BREAKING CHANGE: attachment method `getDataAsJson` is now located one level up. So instead of `attachment.data.getDataAsJson()` you should now call `attachment.getDataAsJson()` build(deps): bump shelljs from 0.8.4 to 0.8.5 (openwallet-foundation#598) Signed-off-by: dependabot[bot] <support@github.com> feat: add didcomm message record (openwallet-foundation#593) Signed-off-by: Timo Glastra <timo@animo.id> fix: disallow usage of global buffer (openwallet-foundation#601) fix: verify jws contains at least 1 signature (openwallet-foundation#600) feat(core): added timeOut to the module level (openwallet-foundation#603) * fix(core): added timeOut to the module level Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: add support for did:peer (openwallet-foundation#608) Signed-off-by: Timo Glastra <timo@animo.id> feat: support new did document in didcomm message exchange (openwallet-foundation#609) * refactor: unify did document services * feat: integrate did resolver with message sender * feat: support new did docoument for msg receiver Signed-off-by: Timo Glastra <timo@animo.id> docs: proofs (openwallet-foundation#564) Signed-off-by: Mostafa <mostafa.youssef@ontario.ca> fix: incorrect encoding of services for did:peer (openwallet-foundation#610) Signed-off-by: Timo Glastra <timo@animo.id> ci: get last alpha package version from npm (openwallet-foundation#611) We currently use the commit number, but this is incorrect as the number will be reset to 0 again when the next minor version is released. Signed-off-by: Timo Glastra <timo@animo.id> chore: regenerate yarn.lock for security updates (openwallet-foundation#616) Signed-off-by: Timo Glastra <timo@animo.id> ci: prepend v to alpha releases for consistency (openwallet-foundation#617) Signed-off-by: Timo Glastra <timo@animo.id> feat: add find and save/update methods to DidCommMessageRepository (openwallet-foundation#620) Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat: update recursive backoff & trust ping record updates (openwallet-foundation#631) Signed-off-by: James Ebert <jamesebert.k@gmail.com> fix: leading zeros in credential value encoding (openwallet-foundation#632) Signed-off-by: James Ebert <jamesebert.k@gmail.com> feat: indy revocation (prover & verifier) (openwallet-foundation#592) * Added recepientRevocation for createProof Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Initial revocation functions for getRequestedCredentialsForProofRequest Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Added option to check for revocation status in getRequestedCredentials Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * sorted transports Signed-off-by: Adam Burdett <burdettadam@gmail.com> * broken message sender tests Signed-off-by: Adam Burdett <burdettadam@gmail.com> * structure fix Signed-off-by: Adam Burdett <burdettadam@gmail.com> * lint import ordering Signed-off-by: Adam Burdett <burdettadam@gmail.com> * if(0) does not work. Signed-off-by: Adam Burdett <burdettadam@gmail.com> * utf-8 decode ws event.data Signed-off-by: Adam Burdett <burdettadam@gmail.com> * indy wallet friendly bits Signed-off-by: Adam Burdett <burdettadam@gmail.com> * correct protocal type Signed-off-by: Adam Burdett <burdettadam@gmail.com> * check invite during init Signed-off-by: Adam Burdett <burdettadam@gmail.com> * id check Signed-off-by: Adam Burdett <burdettadam@gmail.com> * keep sockets with mediators open Signed-off-by: Adam Burdett <burdettadam@gmail.com> * recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout Signed-off-by: Adam Burdett <burdettadam@gmail.com> * timeout time Signed-off-by: Adam Burdett <burdettadam@gmail.com> * logger Signed-off-by: Adam Burdett <burdettadam@gmail.com> * propper recursive backoff Signed-off-by: Adam Burdett <burdettadam@gmail.com> * multiple socket timeout support Signed-off-by: Adam Burdett <burdettadam@gmail.com> * Code cleanup Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Fix tests and types Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * Formatting and type fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * revocation fixes Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * ran prettier Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> * chore: add ts ignore until types are updated Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: updated tails download to utilize axios and added inline docs Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: fixed formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: removed husky Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: add back husky pre-push Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed error imports Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: resolve dependency loop issues Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: revocation ledger methods & proof get requested credentials revoked status Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: added revocation state creation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: small tweaks and fixes for revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feature: takes into account referent revocation intervals Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & prettier Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed createrevocationstate types & initial rev reg def caching Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: fixed proofservice test mock Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: minor cleanup Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: rename indyutilitiesservice Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: troubleshooting revocation, added ledger methods for verifying proof of non revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: cleanup & credential storage w/revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: add download to file method to file system Signed-off-by: Timo Glastra <timo@animo.id> * refactor: use rnfs for react native Signed-off-by: Timo Glastra <timo@animo.id> * chore: cleanup & log adjustments Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * feat: verify proofs containing proof of non_revocation Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: formatting Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: update indy-sdk-react-native & indy-sdk types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: adjusts names to be consistent & removing abbreviations Signed-off-by: James Ebert <jamesebert.k@gmail.com> * chore: updated indy-sdk types to fix proof identifier types Signed-off-by: James Ebert <jamesebert.k@gmail.com> * fix: indyverifierservice prototype pollution Signed-off-by: James Ebert <jamesebert.k@gmail.com> Co-authored-by: Patrick Kenyon <treek.kenyon@gmail.com> Co-authored-by: Adam Burdett <burdettadam@gmail.com> Co-authored-by: Timo Glastra <timo@animo.id> fix: check for "REQNACK" response from indy ledger (openwallet-foundation#626) Signed-off-by: annelein <anneleinvanreijen@gmail.com> fix: credential preview attributes mismatch schema attributes (openwallet-foundation#625) Signed-off-by: annelein <anneleinvanreijen@gmail.com> docs: add cli demo (openwallet-foundation#619) Signed-off-by: annelein <anneleinvanreijen@gmail.com> fix: check proof request group names do not overlap (openwallet-foundation#638) Signed-off-by: annelein <anneleinvanreijen@gmail.com> fix(core): error if unpacked message does not match JWE structure (openwallet-foundation#639) Signed-off-by: annelein <anneleinvanreijen@gmail.com> feat: filter retrieved credential by revocation state (openwallet-foundation#641) Signed-off-by: Timo Glastra <timo@animo.id> docs: cleanup demo (openwallet-foundation#645) Signed-off-by: Berend Sliedrecht <berend@animo.id> feat(crypto): add abstract KeyPair class Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat(crypto): move Key class to crypto directory Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat(crypto): move multiCodecKey to crypto folder Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat(crypto): add WalletKeyPair Signed-off-by: NB-Karim <karim.northernblock@gmail.com> style: fix formatting issues Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat: add wallet key derivation method option (openwallet-foundation#650) Signed-off-by: Timo Glastra <timo@animo.id> fix: issue where attributes and predicates match (openwallet-foundation#640) Signed-off-by: annelein <anneleinvanreijen@gmail.com> fix(basic-message): assert connection is ready (openwallet-foundation#657) Signed-off-by: Karim <karim@animo.id> test: minor wallet test changes (openwallet-foundation#660) Signed-off-by: Niall Shaw <niall.shaw@absa.africa> feat: add wallet module with import export (openwallet-foundation#652) Signed-off-by: Timo Glastra <timo@animo.id> refactor(proofs): remove unused method from service (openwallet-foundation#663) Signed-off-by: Timo Glastra <timo@animo.id> fix: agent isinitialized on shutdown (openwallet-foundation#665) Signed-off-by: Niall Shaw <niall.shaw@absa.africa> fix(routing): remove sentTime from request message (openwallet-foundation#670) Signed-off-by: Timo Glastra <timo@animo.id> feat: add w3c credential models Signed-off-by: Karim <karim@animo.id> feat: add mock W3cCredentialService Signed-off-by: Karim <karim@animo.id> feat: keyPair record Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: generic wallet interface for key types Signed-off-by: Timo Glastra <timo@animo.id> fix: renamed secretKey -> privateKey Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: dependency cycles Signed-off-by: Karim <karim@animo.id> feat: KeyPairRepository Signed-off-by: Berend Sliedrecht <berend@animo.id> docs: improved tsdoc for repository Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: restructured wallet api Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: createKey switch Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: added switch to sign and verify Signed-off-by: Berend Sliedrecht <berend@animo.id> style: added tsdoc Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: remove deprecated multibase and multihash (openwallet-foundation#674) Signed-off-by: Timo Glastra <timo@animo.id> feat(crypto): add abstract KeyPair class Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat(crypto): add WalletKeyPair Signed-off-by: NB-Karim <karim.northernblock@gmail.com> style: fix formatting issues Signed-off-by: NB-Karim <karim.northernblock@gmail.com> feat: add dependency .d.ts files Signed-off-by: Karim <karim@animo.id> feat: implemented create key in wallet Signed-off-by: Berend Sliedrecht <berend@animo.id> Merge branch 'main' into feat/next-signatures feat: implemented sign and verify Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: implementation done, still need record retrieval Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: casing Signed-off-by: Berend Sliedrecht <berend@animo.id> refactor: remove keypairrecord and keypairrepository Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: merge Merge branch 'feat/Ed25519Signature2018' of github.com:animo/aries-framework-javascript into feat/next-signatures Merge branch 'feat/next-signatures' of github.com:animo/aries-framework-javascript into feat/next-signatures feat: finished without test Signed-off-by: Berend Sliedrecht <berend@animo.id> fix(routing): mediation recipient role for recipient (openwallet-foundation#661) Signed-off-by: Timo Glastra <timo@animo.id> refactor(core): renamed BufferEncoder to TypedArrayEncoder (openwallet-foundation#675) Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: add Ed25519Signature2018 Signed-off-by: Karim <karim@animo.id> feat: finished WalletKeyPair implementation Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/W3cCredentialService Merge branch 'main' into feat/next-signatures Merge branch 'feat/next-signatures' into feat/W3cCredentialService fix: do not use basic message id as record id (openwallet-foundation#677) Signed-off-by: Timo Glastra <timo@animo.id> docs: inline and dev docs added Signed-off-by: Berend Sliedrecht <berend@animo.id> Merge remote-tracking branch 'origin' into feat/bbs fix: cleanup Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: using typedarrayencoder now Signed-off-by: Berend Sliedrecht <berend@animo.id> tests: started on IndyWallet test Signed-off-by: Berend Sliedrecht <berend@animo.id> tests: test sign function Signed-off-by: Berend Sliedrecht <berend@animo.id> build(deps): bump minimist from 1.2.5 to 1.2.6 (openwallet-foundation#682) feat: improved tests Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: check if array is typedarray Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: added react native setup Signed-off-by: Berend Sliedrecht <berend@animo.id> docs: updated diff syntax Signed-off-by: Berend Sliedrecht <berend@animo.id> build(deps): bump plist from 3.0.4 to 3.0.5 (openwallet-foundation#683) feat(routing): allow to discover mediator pickup strategy (openwallet-foundation#669) Signed-off-by: Timo Glastra <timo@animo.id> tests: test isTypedArray Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: resolved feedback Signed-off-by: Berend Sliedrecht <berend@animo.id> build: decremented core build version Signed-off-by: Berend Sliedrecht <berend@animo.id> fix: update inbound message validation (openwallet-foundation#678) Changed isPlaintextMessage error handling, and removed logic from isEncryptedMessage Use isValidJweStructure Signed-off-by: Niall Shaw <niall.shaw@absa.africa> feat: add sign method Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/W3cCredentialService feat: added w3c record and repository Signed-off-by: Berend Sliedrecht <berend@animo.id> feat: working repository and record Signed-off-by: Berend Sliedrecht <berend@animo.id> Merge pull request #17 from blu3beri/feat/w3crecord feat(core): w3cCredentialRecord and w3cCredentialRepository fix(core): set tags in MediationRecord constructor (openwallet-foundation#686) Signed-off-by: Ariel Gentile <gentilester@gmail.com> Merge branch 'main' into feat/W3cCredentialService feat: implement verifyCredential Signed-off-by: Karim <karim@animo.id> feat: createPresentation Signed-off-by: Karim <karim@animo.id> feat: implemented SignatureSuiteRegistry Signed-off-by: Karim <karim@animo.id> feat: finish signPres and verifyPres Signed-off-by: Karim <karim@animo.id> refactor: clean-up directory structure Signed-off-by: Karim <karim@animo.id> feat: add BbsBlsSiganture2020 to sig-registry Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/bbs Merge branch 'feat/bbs' into feat/jsonld-credentials feat: implement sign for bbs Signed-off-by: Karim <karim@animo.id> refactor: clean-up W3cCredentialService options Signed-off-by: Karim <karim@animo.id> refactor: switched to mattr jsonld-signatures bbs Signed-off-by: Karim <karim@animo.id> feat: regex for schemaVersion, issuerDid, credDefId, schemaId, schemaIssuerDid (openwallet-foundation#679) Signed-off-by: annelein <anneleinvanreijen@gmail.com> feat: support wallet key rotation (openwallet-foundation#672) Signed-off-by: Mostafa <mostafa.youssef@ontario.ca> feat: add role and method to did record tags (openwallet-foundation#692) Signed-off-by: Timo Glastra <timo@animo.id> feat: delete credential from wallet (openwallet-foundation#691) Signed-off-by: Jan <60812202+janrtvld@users.noreply.github.com> feat: extension module creation (openwallet-foundation#688) Signed-off-by: Ariel Gentile <gentilester@gmail.com> refactor: restructured fixtures and more Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/jsonld-credentials fix: disallow floating promises (openwallet-foundation#704) Signed-off-by: Timo Glastra <timo@animo.id> feat: bbs verification Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/jsonld-credentials refactor: start and stop transports in parallel (openwallet-foundation#705) Signed-off-by: Timo Glastra <timo@animo.id> ci: add yml for postgres setup (openwallet-foundation#703) Signed-off-by: Sai Ranjit Tummalapalli <sairanjit.tummalapalli@ayanworks.com> fix: did sov service type resolving (openwallet-foundation#689) Signed-off-by: James Ebert <jamesebert.k@gmail.com> test: add test assets Signed-off-by: Karim <karim@animo.id> test(vc): add caching documentLoader for tests Signed-off-by: Karim <karim@animo.id> build(deps): bump async from 2.6.3 to 2.6.4 (openwallet-foundation#710) feat: add update assistant for storage migrations (openwallet-foundation#690) Signed-off-by: Timo Glastra <timo@animo.id> feat: support revocation notification messages (openwallet-foundation#579) Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> Co-authored-by: James Ebert <jamesebert.k@gmail.com> fix: disallow floating promises (openwallet-foundation#704) Signed-off-by: Timo Glastra <timo@animo.id> test: add test assets Signed-off-by: Karim <karim@animo.id> test(vc): add caching documentLoader for tests Signed-off-by: Karim <karim@animo.id> Merge branch 'karim/test' into feat/jsonld-credentials refactor: start and stop transports in parallel (openwallet-foundation#705) Signed-off-by: Timo Glastra <timo@animo.id> ci: add yml for postgres setup (openwallet-foundation#703) Signed-off-by: Sai Ranjit Tummalapalli <sairanjit.tummalapalli@ayanworks.com> fix: did sov service type resolving (openwallet-foundation#689) Signed-off-by: James Ebert <jamesebert.k@gmail.com> build(deps): bump async from 2.6.3 to 2.6.4 (openwallet-foundation#710) feat: add update assistant for storage migrations (openwallet-foundation#690) Signed-off-by: Timo Glastra <timo@animo.id> feat: support revocation notification messages (openwallet-foundation#579) Signed-off-by: Patrick Kenyon <treek.kenyon@gmail.com> Co-authored-by: James Ebert <jamesebert.k@gmail.com> fix: yarn.lock conflict Merge branch 'main' into feat/jsonld-credentials refactor: replace message type constant with string literal (openwallet-foundation#721) Signed-off-by: Jakub Koci <jakub.koci@gmail.com> test: add local did fixtures feat: add credential fetch methods Signed-off-by: Karim <karim@animo.id> feat: add react native documentLoader Signed-off-by: Karim <karim@animo.id> style: fix styling issues (eslint, ts, etc.) Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/jsonld-credentials fix: allow agent without inbound endpoint to connect when using multi-use invitation (openwallet-foundation#712) Previously the session is only stored by the connection id, but this is not always enough for the session to be reused. When using a multi-use invitation the connection id will change while processing the message, meaning the session cannot be reused. This also helps with cases where no connection is established. Fixes openwallet-foundation#483 Signed-off-by: Timo Glastra <timo@animo.id> fix: close session early if no return route (openwallet-foundation#715) This adds a `close` method to all transport sessions so it can be closed from within the agent. This allows us to close the session early if the message doesn't have return routing enabled Signed-off-by: Timo Glastra <timo@animo.id> ci: add node 18 to test matrix (openwallet-foundation#735) Signed-off-by: Timo Glastra <timo@animo.id> feat: pickup v2 protocol (openwallet-foundation#711) Signed-off-by: KolbyRKunz <KolbyKunz@yahoo.com> BREAKING CHANGE: The mediator pickup strategy enum value `MediatorPickupStrategy.Explicit` has been renamed to `MediatorPickupStrategy.PickUpV1` to better align with the naming of the new `MediatorPickupStrategy.PickUpV2` Merge branch 'main' into feat/jsonld-credentials fix: dropped unused dependency Signed-off-by: Karim <karim@animo.id> fix: error typo Co-authored-by: Timo Glastra <timo@animo.id> fix: simplify keyType declaration Co-authored-by: Timo Glastra <timo@animo.id> fix: optional fields in did document (openwallet-foundation#726) Signed-off-by: Timo Glastra <timo@animo.id> fix: dropped ed25519 ctx deps Signed-off-by: Karim <karim@animo.id> fix: removed unused type def Signed-off-by: Karim <karim@animo.id> fix: remove unnecesarry transformer Signed-off-by: Karim <karim@animo.id> fix: broken import Signed-off-by: Karim <karim@animo.id> fix: remove unnecessary W3cCredentialState Signed-off-by: Karim <karim@animo.id> fix: doc typo Co-authored-by: Timo Glastra <timo@animo.id> Signed-off-by: Karim Stekelenburg <karim@animo.id> fix: remove commented code Signed-off-by: Karim <karim@animo.id> fix: remove unnecessary comment Signed-off-by: Karim <karim@animo.id> fix: rename confusing context vs context url Signed-off-by: Karim <karim@animo.id> fix: moved jsonld related types and code to utils file Signed-off-by: Karim <karim@animo.id> fix: replaced inline urls with local constants Signed-off-by: Karim <karim@animo.id> fix: broken imports Signed-off-by: Karim <karim@animo.id> fix: eslint issues Signed-off-by: Karim <karim@animo.id> fix: eslint issues Signed-off-by: Karim <karim@animo.id> fix: remove unnecessary assignment Signed-off-by: Karim <karim@animo.id> fix: replace faulty challenge assignment Signed-off-by: Karim <karim@animo.id> fix: inverted statement Signed-off-by: Karim <karim@animo.id> fix: remove unused revoked options Signed-off-by: Karim <karim@animo.id> fix: uuid challenge and presentation suites Signed-off-by: Karim <karim@animo.id> test: add missing test for bbs verify pres Signed-off-by: Karim <karim@animo.id> refactor: add custom ed25519 2020 to 2018 impl Signed-off-by: Karim <karim@animo.id> fix: unclear variable name Signed-off-by: Karim <karim@animo.id> feat: add issue credential v2 (openwallet-foundation#745) Signed-off-by: Mike Richardson <mike.richardson@northernblock.io> fix: removed unused props from docs Signed-off-by: Karim <karim@animo.id> refactor: rename utilities.ts to bbs-utils.ts Signed-off-by: Karim <karim@animo.id> feat: add additional W3cCredentialRecord tags Signed-off-by: Karim <karim@animo.id> fix: removed duplicate function Signed-off-by: Karim <karim@animo.id> fix: do not import test logger in src (openwallet-foundation#746) Signed-off-by: Timo Glastra <timo@animo.id> fix: do not import from src dir (openwallet-foundation#748) Signed-off-by: Timo Glastra <timo@animo.id> refactor: rewrite conversion method Signed-off-by: Karim Stekelenburg <karim@animo.id> feat: add givenId as W3cCredentialRecord tag Signed-off-by: Karim Stekelenburg <karim@animo.id> fix: convert any types Signed-off-by: Karim Stekelenburg <karim@animo.id> chore!: update indy-sdk-react-native version to 0.2.0 (openwallet-foundation#754) Signed-off-by: Amit <amit@northernblock.io> BREAKING CHANGE: indy-sdk-react-native has been updated to 0.2.0. The new version now depends on libindy version 1.16 and requires you to update the binaries in your react-native application. See the [indy-sdk-react-native](https://github.com/hyperledger/indy-sdk-react-native) repository for instructions on how to get the latest binaries for both iOS and Android. fix: typings Signed-off-by: Karim Stekelenburg <karim@animo.id> fix: typings Signed-off-by: Karim <karim@animo.id> fix: typings & drop jsonld bbs dep Signed-off-by: Karim <karim@animo.id> fix: remove commented code Signed-off-by: Karim <karim@animo.id> fix: typing and faulty context Signed-off-by: Karim <karim@animo.id> fix: remove keyAgreement Signed-off-by: Karim <karim@animo.id> fix: remove unused typing file Signed-off-by: Karim <karim@animo.id> fix: rename map variable Signed-off-by: Karim <karim@animo.id> fix: use w3cDate Signed-off-by: Karim <karim@animo.id> fix: rename map variable Signed-off-by: Karim <karim@animo.id> style: clean map syntax Signed-off-by: Karim <karim@animo.id> fix: typo Signed-off-by: Karim <karim@animo.id> fix: remove commented code Signed-off-by: Karim <karim@animo.id> feat(core): add support for postgres wallet type (openwallet-foundation#699) Signed-off-by: Sai Ranjit Tummalapalli <sairanjit.tummalapalli@ayanworks.com> Co-authored-by: Timo Glastra <timo@animo.id> fix: add g1 and g2 contexts Signed-off-by: Karim <karim@animo.id> fix: add X25519 contexts Signed-off-by: Karim <karim@animo.id> fix(node): allow to import node package without postgres (openwallet-foundation#757) Signed-off-by: Timo Glastra <timo@animo.id> fix: mediation record checks for pickup v2 (openwallet-foundation#736) Signed-off-by: Timo Glastra <timo@animo.id> Merge branch 'main' into feat/jsonld-credentials fix: Key imports Signed-off-by: Karim <karim@animo.id> fix: change invalid g1 g2 contexts to bbs Signed-off-by: Karim <karim@animo.id> fix: remove invalid contexts Signed-off-by: Karim <karim@animo.id> fix: delete credentials (openwallet-foundation#766) Signed-off-by: Mike Richardson <mike.richardson@northernblock.io> fix: various Signed-off-by: Karim <karim@animo.id> test: do not use indy ledgers in wallet test Signed-off-by: Timo Glastra <timo@animo.id> fix: add jsonld.expand typedef Signed-off-by: Karim <karim@animo.id> Merge branch 'main' into feat/jsonld-credentials fix: add additional typedefs Signed-off-by: Karim <karim@animo.id> feat: add out-of-band and did exchange (openwallet-foundation#717) Signed-off-by: Jakub Koci <jakub.koci@gmail.com> Co-authored-by: Timo Glastra <timo@animo.id> BREAKING CHANGE: the connections module has been extended with an out of band module and support for the DID Exchange protocol. Some methods have been moved to the out of band module, see [Migrating from AFJ 0.1.0 to 0.2.x](https://github.com/hyperledger/aries-framework-javascript/blob/main/docs/migration/0.1-to-0.2.md) for detailed migration instructions. feat: support handling messages with different minor version (openwallet-foundation#714) Signed-off-by: Timo Glastra <timo@animo.id> fix: relax validation of thread id in revocation notification (openwallet-foundation#768) Signed-off-by: Blazej Marcinkiewicz <marcinkiewicz@procivis.ch> fix: typing issues with jsonld Signed-off-by: Timo Glastra <timo@animo.id> feat: ability to add generic records (openwallet-foundation#702) feat: extension module creation (openwallet-foundation#688) Co-authored-by: Berend Sliedrecht <berend@animo.id> Co-authored-by: Timo Glastra <timo@animo.id> Merge pull request #21 from TimoGlastra/fix/jsonld-types-issues fix: typing issues with jsonld fix: propose payload attachment in in snake_case JSON format (openwallet-foundation#775) Signed-off-by: Mike Richardson <mike.richardson@northernblock.io> fix: typing issues Signed-off-by: Karim <karim@animo.id> fix: delete credentials (openwallet-foundation#770) Signed-off-by: Mike Richardson <mike.richardson@northernblock.io> fix: type issues Signed-off-by: Karim <karim@animo.id> test: use event listener instead of while loop (openwallet-foundation#778) Signed-off-by: Timo Glastra <timo@animo.id> feat: bbs createKey, sign and verify (openwallet-foundation#684) Signed-off-by: Berend Sliedrecht <berend@animo.id> Merge branch '0.3.0-pre' into feat/jsonld-credentials
This PR adds support for querying the revocation status of credentials and presenting proof of non revocation as the Prover/Holder role in Indy revocation.
For a presentation request, this PR will automatically fetch whether matching credentials are revoked given that the request specifies a non-revocation interval and the credentials are revocable. This is done for display to end users for their decision making or for app machine governance rules.
Additionally, when creating a presentation, the revocation states will be generated for the requestedCredentials automatically as part of the proof creation, if proof of non-revocation is requested and the credentials are revocable.
This work was implemented in accordance with Aries RFC 0441 and Indy HIPE 0011. This PR addresses issues #349 & #382.
This PR is reliant on the merging of an indy-sdk typing fix PR (DefinitelyTyped/DefinitelyTyped#58026) & a corresponding PR for indy-sdk-react-native (hyperledger-archives/indy-sdk-react-native#27).
Additions by @TimoGlastra:
Future outstanding work:
A big thanks to other contributors: @TheTreek, @dbluhm, @TimoGlastra, @burdettadam, among many others :)