Press n or j to go to the next uncovered block, b, p or k for the previous block.
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 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | 1x 1x 1x 1x 1x 1x 1x 17x 15x 15x 15x 15x 2x 2x 2x | import { profile } from '@affinidi/tools-common' import { KeyOptions, SdkOptions } from '../dto/shared.dto' import { withDidData } from '../shared/getDidData' import { getOptionsFromEnvironment, ParsedOptions } from '../shared/getOptionsFromEnvironment' import { ParametersValidator } from '../shared/ParametersValidator' import { BaseNetworkMember, StaticDependencies, ConstructorUserData } from './BaseNetworkMember' @profile() export class NetworkMemberWithoutCognito extends BaseNetworkMember { constructor(userData: ConstructorUserData, dependencies: StaticDependencies, options: ParsedOptions) { super(userData, dependencies, options) } /** * @description Creates DID and anchors it * 1. generate seed/keys (available key types rsa, bbs and ecdsa as a default) * 2. build DID document * 3. sign DID document * 4. store DID document in IPFS * 5. anchor DID with DID document ID from IPFS * @param dependencies - static dependencies * @param password - encryption key which will be used to encrypt randomly created seed/keys pair * @param inputOptions - optional parameter { registryUrl: 'https://affinity-registry.apse1.dev.affinidi.io' } * @param keyOptions - list of key types (rsa and bbs allowed, ecdsa - default) * @returns * * did - hash from public key (your decentralized ID) * * encryptedSeed - seed is encrypted by provided password. Seed - it's a source to derive your keys */ static async createWallet( dependencies: StaticDependencies, inputOptions: SdkOptions, password: string, keyOptions?: KeyOptions, ) { await ParametersValidator.validate([ { isArray: false, type: SdkOptions, isRequired: true, value: inputOptions }, { isArray: false, type: 'string', isRequired: true, value: password }, { isArray: false, type: KeyOptions, isRequired: false, value: keyOptions }, ]) const options = getOptionsFromEnvironment(inputOptions) const userData = await NetworkMemberWithoutCognito._register(dependencies, options, password, keyOptions) return new NetworkMemberWithoutCognito({ ...userData, password }, dependencies, options) } /** * @description Initilizes instance of SDK from seed * @param dependencies - static dependencies * @param inputOptions - parameter { registryUrl: 'https://affinity-registry.apse1.dev.affinidi.io' } * @param encryptedSeed - seed for derive keys in string hex format * @param password - optional password, will be generated, if not provided * @param accountNumber - optional parameter * @returns initialized instance of SDK */ static async openWalletByEncryptedSeed( dependencies: StaticDependencies, inputOptions: SdkOptions, encryptedSeed: string, password: string, accountNumber?: number, ) { await ParametersValidator.validate([ { isArray: false, type: SdkOptions, isRequired: true, value: inputOptions }, { isArray: false, type: 'string', isRequired: true, value: encryptedSeed }, { isArray: false, type: 'string', isRequired: true, value: password }, ]) const options = getOptionsFromEnvironment(inputOptions) return new NetworkMemberWithoutCognito( withDidData({ password, encryptedSeed, accountNumber }), dependencies, options, ) } } |