Skip to content
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: add initial askar package #1211

Merged
merged 20 commits into from
Feb 7, 2023

Conversation

genaris
Copy link
Contributor

@genaris genaris commented Jan 12, 2023

Initial implementation of Aries Askar module for AFJ, including interfaces for Storage and Wallet.

The module registers a Storage and a Wallet instance automatically when it registers itself on the dependency manager. If there is already a module that has registered a Storage or a Wallet, it throws an error.

Features already implemented:

  • Wallet creation, deletion and key rotation using both SQLite and PosgreSQL backends
  • Record Get/Update/Save including WQL queries
  • DIDComm V1 packing (basic Connection + BasicMessage exchange flow tested briefly in askar-aries-e2e-wallet-subject.test.ts)
  • Key creation, sign and verify, using custom SigningProvider if key type is not supported by Askar (however, once feat(js): add Bls12381G1G2 to supported key algos hyperledger/aries-askar#85 is merged I think all current key types are covered natively).

Features missing to match 1:1 with Indy SDK:

There are several FIXMEs and TODOs in the code. Most of them are related to either fixes or new features to be added to aries-askar JS Wrapper, so this module will need to be adapted accordingly. Unfortunately, a problem related to JavaScript GC/memory issues (hyperledger/aries-askar#76) prevents E2E tests using Askar wallets to properly run in CI, so they are currently skipped.

Some more TODOs for a further PR:

  • Update README con information about module contents and usage
  • Improve modeling of JweEnvelope and support/test different scenarios
  • Add more advanced tests

Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
@codecov-commenter
Copy link

codecov-commenter commented Jan 15, 2023

Codecov Report

Merging #1211 (fd0dff8) into main (7f65ba9) will decrease coverage by 0.51%.
The diff coverage is 67.74%.

@@            Coverage Diff             @@
##             main    #1211      +/-   ##
==========================================
- Coverage   87.10%   86.59%   -0.51%     
==========================================
  Files         776      788      +12     
  Lines       18463    18957     +494     
  Branches     3133     3248     +115     
==========================================
+ Hits        16082    16416     +334     
- Misses       2374     2534     +160     
  Partials        7        7              
Impacted Files Coverage Δ
packages/core/src/types.ts 100.00% <ø> (ø)
packages/node/src/NodeFileSystem.ts 35.13% <0.00%> (-2.01%) ⬇️
packages/askar/src/AskarModule.ts 22.22% <22.22%> (ø)
packages/askar/src/utils/askarWalletConfig.ts 42.50% <42.50%> (ø)
packages/askar/src/wallet/AskarWallet.ts 60.78% <60.78%> (ø)
packages/askar/src/utils/assertAskarWallet.ts 66.66% <66.66%> (ø)
packages/askar/src/storage/AskarStorageService.ts 77.50% <77.50%> (ø)
packages/askar/src/storage/utils.ts 97.87% <97.87%> (ø)
packages/askar/src/storage/index.ts 100.00% <100.00%> (ø)
packages/askar/src/utils/askarError.ts 100.00% <100.00%> (ø)
... and 6 more

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

…with IndySDKWallet

Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
This was linked to issues Jan 18, 2023
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
@genaris genaris marked this pull request as ready for review January 20, 2023 01:57
@genaris genaris requested a review from a team as a code owner January 20, 2023 01:57
@genaris
Copy link
Contributor Author

genaris commented Jan 20, 2023

For some reason, ESLint is failing in packages/askar/src/wallet/AskarWallet.ts but I don't find a way to fix it:

Error: 37:1 error There should be no empty line within import group import/order

Any advice will be welcome!

Copy link
Contributor

@TimoGlastra TimoGlastra left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great @genaris. Overall looks good and very clean. Like the extensive tests.

We should still look at how we're going to register the storage and wallet. Is the AskarModule going to register them, or do we need to provide them to the storage and wallet modules? Something to solve in a later PR ofc.

packages/askar/package.json Outdated Show resolved Hide resolved
packages/askar/src/wallet/AskarWallet.ts Show resolved Hide resolved
packages/askar/src/storage/AskarStorageService.ts Outdated Show resolved Hide resolved
if (
isAskarError(error) &&
(error.code === askarErrors.NotFound ||
// FIXME: this is current output from askar wrapper but does not describe specifically a not found scenario
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It seems Askar also just returns not found if the record wasn't found:

        try:
            item = await self._session.handle.fetch(
                record_type, record_id, for_update=for_update
            )
        except AskarError as err:
            raise StorageError("Error when fetching storage record") from err
        if not item:
            raise StorageNotFoundError(f"Record not found: {record_type}/{record_id}")

Will it sometimes throw an error instead of not returning a record?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Not 100% sure but I'd say that it always sends the error.code Custom (100). Let's analyze on Askar side to see where the problem is.

} catch (error) {
if (
isAskarError(error) && // FIXME: this is current output from askar wrapper but does not describe specifically a 0 length scenario
error.message === 'Received null pointer. The native library could not find the value.'
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Isn't this something we can fix in the wrapper? So the wrapper should jus allow a null pointer as return value? Maybe @blu3beri knows

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yeah if that is the intended behaviour we can fix that in the wrapper.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've added hyperledger/aries-askar#77 to follow this issue. I'm not absolutely sure that is a specific problem for JS, as a preliminar quick-debugging I've done showed me that the wrapper is getting an Error Code: 0 in those cases so it tries to create an EntryList from a null pointer (and that's why it shows that custom error).

packages/askar/src/wallet/__tests__/AskarWallet.test.ts Outdated Show resolved Hide resolved
packages/core/src/utils/base64.ts Outdated Show resolved Hide resolved
@@ -21,6 +21,10 @@ export class ReactNativeFileSystem implements FileSystem {
return RNFS.exists(path)
}

public async createDirectory(path: string): Promise<void> {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Annoying we need to create the directory ourselves for Askar. I would like to use the file system as little as possible, oh wel...

tests/e2e-wallet-subject.test.ts Outdated Show resolved Hide resolved
tests/e2e-wallet-subject.test.ts Outdated Show resolved Hide resolved
@TimoGlastra
Copy link
Contributor

Could you create tickets for the outstanding tasks so we have insights in what still needs to happen (and we can prioritize what is important for now)

Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
@genaris
Copy link
Contributor Author

genaris commented Jan 23, 2023

We should still look at how we're going to register the storage and wallet. Is the AskarModule going to register them, or do we need to provide them to the storage and wallet modules? Something to solve in a later PR ofc.

Absolutely. I created #1235 to discuss how can we implement it.

@genaris
Copy link
Contributor Author

genaris commented Jan 23, 2023

Could you create tickets for the outstanding tasks so we have insights in what still needs to happen (and we can prioritize what is important for now)

Sure. I've created a few in AFJ and others in aries-askar. I think for this particular PR to be merged in a meaningful way we'll need two main things:

  • Solve [JS wrapper] Performance issues when used intensively hyperledger/aries-askar#76, as currently it is quite hard to get test suites to pass in CI: this GC overhead affects not only Askar tests but also others like the ones for BBS Signatures
  • Have an initial release of @hyperledger/aries-askar-shared / @hyperledger/aries-askar-nodejs. Not absolutely mandatory but, as we are very close to release them, it would be nice to merge into main the module linked to the actual packages and not the test ones

Once we get this, I think we can adapt the module to the fixes in aries-askar and the Wallet API changes that will be introduced when Indy is removed from the Core.

Signed-off-by: Ariel Gentile <gentilester@gmail.com>
@TimoGlastra TimoGlastra added this to the 0.4.0 milestone Feb 5, 2023
Comment on lines +10 to +19
try {
// eslint-disable-next-line import/no-extraneous-dependencies
require('@hyperledger/aries-askar-nodejs')
} catch (error) {
try {
require('@hyperledger/aries-askar-react-native')
} catch (error) {
throw new Error('Could not load aries-askar bindings')
}
}
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍 nice. We could probably improve this at some point by detecting the env and loading packages based on that. I think it could succeed in requireing the nodejs package even though we're in a RN env?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not convinced about this way of importing it but I wanted to left it consistent with the way we are using other shared components. And it's nice that it attempts to make life easier to developers using the framework.. unless they import nodejs package when on react native environment 😮 . Would be nice to investigate if there is a reliable way to get the JS environment nowadays.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Also not 100% convinced yet. I think it's just another thing the user needs to provide to the agent config, while we could just infer it. Maybe we only try to import it if it's not provided yet? This way it 'works' out of the box. but you can also manually configure it

Signed-off-by: Ariel Gentile <gentilester@gmail.com>
@TimoGlastra TimoGlastra enabled auto-merge (squash) February 6, 2023 12:05
@TimoGlastra TimoGlastra merged commit f18d189 into openwallet-foundation:main Feb 7, 2023
@genaris genaris deleted the feat/askar-package branch February 19, 2023 20:31
karimStekelenburg added a commit to karimStekelenburg/aries-framework-javascript that referenced this pull request Mar 17, 2023
commit 0351eec
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Wed Mar 15 12:02:50 2023 -0300

    fix: connection id in sessions for new connections (openwallet-foundation#1383)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit f27fb99
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Wed Mar 15 09:23:10 2023 -0300

    feat: basic message pthid/thid support (openwallet-foundation#1381)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit d59366a
Author: Jim Ezesinachi <ezesinachijim@gmail.com>
Date:   Wed Mar 15 11:04:52 2023 +0100

    docs: fix example usage of indy-sdk-react-native package (openwallet-foundation#1382)

    Signed-off-by: Jim Ezesinachi <jim@animo.id>

commit a4204ef
Author: Timo Glastra <timo@animo.id>
Date:   Sat Mar 11 16:31:09 2023 +0100

    fix: remove named capture groups (openwallet-foundation#1378)

    named capture groups are only supported in more recent versions of hermes

    Signed-off-by: Timo Glastra <timo@animo.id>

commit dd6c020
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Sat Mar 11 11:57:37 2023 -0300

    feat(anoncreds-rs): use new API methods for json conversion (openwallet-foundation#1373)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 122cdde
Author: Timo Glastra <timo@animo.id>
Date:   Sat Mar 11 13:31:09 2023 +0100

    fix: return HTTP 415 if unsupported content type (openwallet-foundation#1313)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 582c711
Author: Mo <10432473+morrieinmaas@users.noreply.github.com>
Date:   Sat Mar 11 12:08:02 2023 +0100

    feat: outbound message send via session (openwallet-foundation#1335)

    Co-authored-by: Jim Ezesinachi <ezesinachijim@gmail.com>
    Co-authored-by: Timo Glastra <timo@animo.id>
    Signed-off-by: Moriarty <moritz@animo.id>

commit 19cefa5
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Sat Mar 11 07:20:49 2023 -0300

    feat(askar): import/export wallet support for SQLite (openwallet-foundation#1377)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit c72ba14
Author: Timo Glastra <timo@animo.id>
Date:   Wed Mar 8 17:40:03 2023 +0100

    fix(askar): custom error handling (openwallet-foundation#1372)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 39c4ed0
Author: Timo Glastra <timo@animo.id>
Date:   Wed Mar 8 16:52:12 2023 +0100

    feat(indy-vdr)!: extend did:indy support (openwallet-foundation#1362)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 01669a7
Author: Timo Glastra <timo@animo.id>
Date:   Wed Mar 8 14:48:34 2023 +0100

    test: increase timeout to 120 seconds (openwallet-foundation#1375)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 953069a
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Mar 6 10:28:30 2023 -0300

    fix(core): repository event when calling deleteById (openwallet-foundation#1356)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit c133538
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Mar 6 08:26:42 2023 -0300

    fix(anoncreds): Buffer not imported from core (openwallet-foundation#1367)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 8f6b344
Author: Timo Glastra <timo@animo.id>
Date:   Fri Mar 3 12:15:58 2023 +0100

    feat(indy-sdk)!: move to did:indy with limited support (openwallet-foundation#1347)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 7795975
Author: Martin Auer <martin.auer97@gmail.com>
Date:   Fri Mar 3 11:07:43 2023 +0100

    fix(tenant): Correctly configure storage for multi tenant agents (openwallet-foundation#1359)

    Fixes hyperledger#1353

    Signed-off-by: martin auer <martin.auer97@gmail.com>

commit cb4e469
Author: Timo Glastra <timo@animo.id>
Date:   Thu Mar 2 22:38:14 2023 +0100

    test: various improvements (openwallet-foundation#1361)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit fd13bb8
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Thu Mar 2 17:00:57 2023 -0300

    feat(oob): implicit invitations (openwallet-foundation#1348)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 18abb18
Author: Pritam Singh <43764373+Zzocker@users.noreply.github.com>
Date:   Thu Mar 2 22:11:20 2023 +0530

    fix: isNewSocket logic (openwallet-foundation#1355)

    Signed-off-by: Pritam Singh <pkspritam16@gmail.com>

commit 2c792fe
Author: Martin Auer <martin.auer97@gmail.com>
Date:   Thu Mar 2 14:29:05 2023 +0100

    refactor!: remove getKeyDidMappingByVerificationMethod (openwallet-foundation#1350)

    Signed-off-by: martin auer <martin.auer97@gmail.com>

commit 78ecf1e
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Wed Mar 1 18:44:26 2023 -0300

    refactor!: remove Dispatcher.registerMessageHandler (openwallet-foundation#1354)

    BREAKING CHANGE:

    `Dispatcher.registerMessageHandler` has been removed in favour of `MessageHandlerRegistry.registerMessageHandler`. If you want to register message handlers in an extension module, you can use directly `agentContext.dependencyManager.registerMessageHandlers`.

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 1bda3f0
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Feb 27 15:35:16 2023 -0300

    fix(anoncreds-rs): save revocation registry index (openwallet-foundation#1351)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 4ab3b54
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 27 13:23:47 2023 +0100

    refactor!: set default outbound content type to didcomm v1 (openwallet-foundation#1314)

    Signed-off-by: Timo Glastra <timo@animo.id>

    BREAKING CHANGE:

    Agent default outbound content type has been changed to DIDComm V1. If you want to use former behaviour, you can do it so by manually setting `didcommMimeType` in `Agent`'s init config:

    ```
      const agent = new Agent({ config: {
         ...
         didCommMimeType: DidCommMimeType.V0
      }, ...  })
    ```

commit 254f661
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Sat Feb 25 11:49:36 2023 -0300

    fix(indy-sdk): import from core (openwallet-foundation#1346)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 21d4bf7
Author: Timo Glastra <timo@animo.id>
Date:   Fri Feb 24 22:20:54 2023 +0100

    feat!: allow to import created dids (and remove legacy `publicDidSeed`) (openwallet-foundation#1325)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit dc60acb
Author: Timo Glastra <timo@animo.id>
Date:   Fri Feb 24 20:50:28 2023 +0100

    build(anoncreds): remove node package from deps (openwallet-foundation#1339)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit e14d853
Author: Timo Glastra <timo@animo.id>
Date:   Fri Feb 24 17:59:30 2023 +0100

    test: increase indy-sdk timeout (openwallet-foundation#1345)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit d38ecb1
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Fri Feb 24 09:12:40 2023 -0300

    fix(anoncreds): include prover_did for legacy indy (openwallet-foundation#1342)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit da8f2ad
Author: Niall Shaw <100220424+niall-shaw@users.noreply.github.com>
Date:   Fri Feb 24 13:01:47 2023 +0200

    fix: create new socket if socket state is 'closing' (openwallet-foundation#1337)

    Signed-off-by: Niall Shaw <niall.shaw@absa.africa>

commit cac2ec3
Author: Martin Auer <martin.auer97@gmail.com>
Date:   Fri Feb 24 11:11:28 2023 +0100

    refactor(core)!: remove deprecated injectionContainer prop (openwallet-foundation#1344)

    Signed-off-by: martin auer <martin.auer97@gmail.com>

commit d5e34ff
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Fri Feb 24 06:19:32 2023 -0300

    test(indy-sdk): wait before resolving ledger objects (openwallet-foundation#1340)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 518e5e4
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Wed Feb 22 04:36:33 2023 -0300

    fix: expose indy pool configs and action menu messages (openwallet-foundation#1333)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 1c6aeae
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Tue Feb 21 19:18:19 2023 -0300

    fix(askar): anoncrypt messages unpacking (openwallet-foundation#1332)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit fb7ee50
Author: Victor Anene <62852943+Vickysomtee@users.noreply.github.com>
Date:   Tue Feb 21 15:39:14 2023 +0100

    feat: IndyVdrAnonCredsRegistry revocation methods (openwallet-foundation#1328)

    Signed-off-by: Victor Anene <victor@animo.id>

commit 64e20f1
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 20 17:07:30 2023 +0100

    fix!: don't emit legacy did:sov prefix for new protocols (openwallet-foundation#1245)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit c0e5339
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Feb 20 09:04:20 2023 -0300

    fix: seed and private key validation and return type in registrars (openwallet-foundation#1324)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit edf392f
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 20 12:14:21 2023 +0100

    refactor: remove master secret id from wallet (openwallet-foundation#1320)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit b6d66b1
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 20 00:59:42 2023 +0100

    refactor!: remove indy from core (openwallet-foundation#1286)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 616b908
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Sun Feb 19 13:27:16 2023 -0300

    feat(wallet)!: createKey from private key (openwallet-foundation#1301)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 64a5da9
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Sat Feb 18 16:54:25 2023 -0300

    fix(samples): dummy module response message type (openwallet-foundation#1321)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit ff5596d
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Fri Feb 17 23:10:09 2023 -0300

    feat!: add data, cache and temp dirs to FileSystem (openwallet-foundation#1306)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

    BREAKING CHANGE:

    Agent-produced files will now be divided in different system paths depending on their nature: data, temp and cache. Previously, they were located at a single location, defaulting to a temporary directory.

    If you specified a custom path in `FileSystem` object constructor, you now must provide an object containing `baseDataPath`, `baseTempPath` and `baseCachePath`. They can point to the same path, although it's recommended to specify different path to avoid future file clashes.

commit af384e8
Author: Timo Glastra <timo@animo.id>
Date:   Sat Feb 18 01:32:45 2023 +0100

    fix: loosen base64 validation (openwallet-foundation#1312)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 229ed1b
Author: Timo Glastra <timo@animo.id>
Date:   Fri Feb 17 21:31:47 2023 +0100

    fix: thread id improvements (openwallet-foundation#1311)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 1d782f5
Author: Victor Anene <62852943+Vickysomtee@users.noreply.github.com>
Date:   Fri Feb 17 20:01:35 2023 +0100

    feat: add fetch indy schema method (openwallet-foundation#1290)

    Signed-off-by: Victor Anene <victor@animo.id>

commit 3e02227
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Wed Feb 15 20:14:47 2023 -0300

    fix: imports from core (openwallet-foundation#1303)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 4ac5332
Author: Jason C. Leach <jason.leach@fullboar.ca>
Date:   Wed Feb 15 14:11:41 2023 -0800

    feat: add devcontainer support (openwallet-foundation#1282)

    Signed-off-by: Jason C. Leach <jason.leach@fullboar.ca>

commit efab8dd
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Tue Feb 14 19:49:59 2023 -0300

    feat(indy-vdr): resolver and registrar for did:indy (openwallet-foundation#1253)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit a487705
Author: Timo Glastra <timo@animo.id>
Date:   Tue Feb 14 10:57:22 2023 +0100

    docs: update readme (openwallet-foundation#1298)

    docs: update reaadme

    Signed-off-by: Timo Glastra <timo@animo.id>

commit ecce0a7
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Feb 13 19:01:39 2023 -0300

    fix(askar): generate nonce suitable for anoncreds (openwallet-foundation#1295)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit c63350c
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 13 20:58:46 2023 +0100

    test: add anoncreds restriction test (openwallet-foundation#1294)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit b570e0f
Author: Karim Stekelenburg <karim@animo.id>
Date:   Mon Feb 13 19:49:21 2023 +0100

    fix(indy-vdr): export relevant packages from root (openwallet-foundation#1291)

    Signed-off-by: Karim Stekelenburg <karim@animo.id>

commit c72fd74
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 13 18:40:44 2023 +0100

    feat(anoncreds): legacy indy proof format service (openwallet-foundation#1283)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit dfb3eaf
Author: Karim Stekelenburg <karim@animo.id>
Date:   Mon Feb 13 16:23:41 2023 +0100

    build(indy-sdk): set private to false (openwallet-foundation#1293)

    Signed-off-by: Karim Stekelenburg <karim@animo.id>

commit 231145f
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Feb 13 10:22:44 2023 -0300

    chore: make askar, anoncreds(-rs), indy-vdr packages public (openwallet-foundation#1292)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit fb8d58b
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 13 12:57:35 2023 +0100

    refactor(proofs)!: generalize proofs api and improve consistency with credentials module (openwallet-foundation#1279)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit 51030d4
Author: Karim Stekelenburg <karim@animo.id>
Date:   Mon Feb 13 11:43:02 2023 +0100

    feat(indy-vdr): module registration (openwallet-foundation#1285)

    Signed-off-by: Karim Stekelenburg <karim@animo.id>

commit d61f6ed
Author: Berend Sliedrecht <61358536+blu3beri@users.noreply.github.com>
Date:   Mon Feb 13 09:23:17 2023 +0100

    chore(core): remove useless file (openwallet-foundation#1288)

commit 30857b9
Author: Berend Sliedrecht <61358536+blu3beri@users.noreply.github.com>
Date:   Sat Feb 11 22:50:10 2023 +0100

    fix(transport)!: added docs moved connection to connectionId (openwallet-foundation#1222)

    Signed-off-by: blu3beri <blu3beri@proton.me>

commit efe0271
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Fri Feb 10 19:15:36 2023 -0300

    feat: add anoncreds-rs package (openwallet-foundation#1275)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 2669d7d
Author: KolbyRKunz <KolbyKunz@yahoo.com>
Date:   Fri Feb 10 14:14:59 2023 -0700

    fix: set updateAt on records when updating a record (openwallet-foundation#1272)

    Signed-off-by: KolbyRKunz <kolbykunz@yahoo.com>

commit 1d487b1
Author: Jim Ezesinachi <jim@animo.id>
Date:   Fri Feb 10 20:21:20 2023 +0100

    feat: added endpoint setter to agent InitConfig (openwallet-foundation#1278)

    Signed-off-by: Jim Ezesinachi <jim@animo.id>

commit 86cb9d0
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Fri Feb 10 11:13:44 2023 -0300

    ci: increase maximum heap memory for node (openwallet-foundation#1280)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit d056316
Author: Victor Anene <62852943+Vickysomtee@users.noreply.github.com>
Date:   Fri Feb 10 01:31:43 2023 +0100

    feat(indy-vdr): add IndyVdrAnonCredsRegistry (openwallet-foundation#1270)

    Signed-off-by: Timo Glastra <timo@animo.id>

commit f18d189
Author: Ariel Gentile <gentilester@gmail.com>
Date:   Mon Feb 6 23:34:21 2023 -0300

    feat: add initial askar package (openwallet-foundation#1211)

    Signed-off-by: Ariel Gentile <gentilester@gmail.com>

commit 115d897
Author: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Date:   Mon Feb 6 23:45:01 2023 +0000

    build(deps): bump http-cache-semantics from 4.1.0 to 4.1.1 (openwallet-foundation#1258)

commit 3d86e78
Author: Karim Stekelenburg <karim@animo.id>
Date:   Tue Feb 7 00:09:24 2023 +0100

    feat(openid4vc-client): pre-authorized (openwallet-foundation#1243)

    This PR adds support for the `pre-authorized` OpenID for Verifiable Credentials issuance flow to the new `openid4vc-client` module.

    Here are some highlights of the work:
    - Allows the user to execute the entire `pre-authorized` flow by calling a single method.
    - Adds a happy-flow test
        - HTTP(S) requests and responses are mocked using a network mocking library called [nock](https://github.com/nock/nock)
        - Because the JSON-LD credential that is received is expanded by the `W3cCredentialService`, I've added a few new contexts to our test document loader.
        - Not-so-happy-flow tests will be added later on. If you have any suggestions for edge cases that deserve testing, feel free to drop a comment.
    - Modifies the `JwsService`
        - The `JwsService` was geared towards a very specific use case. I've generalized its API so it's usable for a wider range of applications.
        - All pre-existing tests and calls to the `JwsService` have been updated.

    It's worth noting that I have had to add some `@ts-ignore` statements here and there to get around some incomplete types in the `OpenID4VCI-Client` library we're using. Once these issues have been resolved in the client library, they will be removed.

    **Work funded by the government of Ontario**

    ---------

    Signed-off-by: Karim Stekelenburg <karim@animo.id>
    Co-authored-by: Timo Glastra <timo@animo.id>

commit 7f65ba9
Author: Jim Ezesinachi <jim@animo.id>
Date:   Mon Feb 6 22:27:03 2023 +0100

    feat: optional routing for legacy connectionless invitation (openwallet-foundation#1271)

    Signed-off-by: Jim Ezesinachi <jim@animo.id>

commit 3a4c5ec
Author: Timo Glastra <timo@animo.id>
Date:   Mon Feb 6 21:49:12 2023 +0100

    feat(anoncreds): add anoncreds API (openwallet-foundation#1232)

    Signed-off-by: Timo Glastra <timo@animo.id>
karimStekelenburg pushed a commit to karimStekelenburg/aries-framework-javascript that referenced this pull request Mar 17, 2023
Signed-off-by: Ariel Gentile <gentilester@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create AskarStorageService in AFJ Create AskarWallet in AFJ
4 participants