/
bbs-plus.js
42 lines (35 loc) · 1.1 KB
/
bbs-plus.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/* eslint-disable camelcase */
import OffchainSignaturesModule from './offchain-signatures';
import BBSPlusPublicKey from '../offchain-signatures/public-keys/bbs-plus';
import BBSPlusParams from '../offchain-signatures/params/bbs-plus';
/** Class to write `BBS+` parameters and keys on chain */
export default class BBSPlusModule extends OffchainSignaturesModule {
/**
* Builds `BBS+` params from the provided value.
*/
static buildParams(params) {
return new BBSPlusParams(params);
}
/**
* Builds `BBS+` public key from the provided value.
*/
static buildPublicKey(publicKey) {
return new BBSPlusPublicKey(publicKey);
}
async queryParamsFromChain(hexDid, counter) {
const params = await super.queryParamsFromChain(hexDid, counter);
if (params != null && params.isBbsPlus) {
return params.asBbsPlus;
} else {
return null;
}
}
async queryPublicKeyFromChain(hexDid, keyId) {
const key = await super.queryPublicKeyFromChain(hexDid, keyId);
if (key != null && key.isBbsPlus) {
return key.asBbsPlus;
} else {
return null;
}
}
}