diff --git a/packages/core/src/credential-provider.ts b/packages/core/src/credential-provider.ts index 9381656d..37394af9 100644 --- a/packages/core/src/credential-provider.ts +++ b/packages/core/src/credential-provider.ts @@ -5,7 +5,6 @@ */ import {credentialServiceRPC} from '@docknetwork/wallet-sdk-wasm/src/services/credential'; -import {prefetchWitnessCache} from '@docknetwork/wallet-sdk-wasm/src/services/credential/bbs-revocation'; import {IWallet, ICredentialProvider} from './types'; export type {ICredentialProvider}; import assert from 'assert'; @@ -206,7 +205,10 @@ export async function addCredential({wallet, credential}) { }); // Pre-fetch and cache the witness blockchain data in the background - prefetchWitnessCache(credential, acummWitness); + credentialServiceRPC.prefetchWitnessCache({ + credential, + membershipWitness: acummWitness, + }); } syncCredentialStatus({wallet, credentialIds: [credential.id]}); diff --git a/packages/wasm/src/services/credential/service-rpc.js b/packages/wasm/src/services/credential/service-rpc.js index 4dd1bf48..8c55c099 100644 --- a/packages/wasm/src/services/credential/service-rpc.js +++ b/packages/wasm/src/services/credential/service-rpc.js @@ -47,4 +47,7 @@ export class CredentialServiceRPC extends RpcService { async generatePresentationFromPex(params) { return this.call('generatePresentationFromPex', params); } + async prefetchWitnessCache(params) { + return this.call('prefetchWitnessCache', params); + } } diff --git a/packages/wasm/src/services/credential/service.ts b/packages/wasm/src/services/credential/service.ts index 144d24f6..d2cd4e5d 100644 --- a/packages/wasm/src/services/credential/service.ts +++ b/packages/wasm/src/services/credential/service.ts @@ -44,7 +44,7 @@ import { import {LegoProvingKey} from '@docknetwork/crypto-wasm-ts/lib/legosnark'; import assert from 'assert'; import axios from 'axios'; -import {getIsRevoked, getWitnessDetails} from './bbs-revocation'; +import {getIsRevoked, getWitnessDetails, prefetchWitnessCache} from './bbs-revocation'; import {getPexRequiredAttributes, shouldSkipAttribute, findMatchingDescriptor} from './pex-helpers'; import {didService} from '../dids/service'; import {isSDJWTCredential as checkIsSDJWT, credentialToW3C as convertCredentialToW3C, verifySDJWT, createSDJWTPresentation} from './sd-jwt'; @@ -196,8 +196,14 @@ class CredentialService { CredentialService.prototype.createSDJWTPresentation, CredentialService.prototype.acquireOIDCredential, CredentialService.prototype.generatePresentationFromPex, + CredentialService.prototype.prefetchWitnessCache, ]; + async prefetchWitnessCache(params) { + const {credential, membershipWitness} = params; + return prefetchWitnessCache(credential, membershipWitness); + } + createSDJWTPresentation(params) { const {attributesToReveal, credential} = params;