@portkey/did
TypeScript icon, indicating that this package has built-in type declarations

2.6.6 • Public • Published

@portkey/did

ES Version Node Version NPM Package Version

Prerequisites

Package.json Scripts

Script Description
clean Uses rm to remove dist/
build Uses tsc to build package and dependent packages
lint Uses eslint to lint package
lint:fix Uses eslint to check and fix any warnings
format Uses prettier to format the code

Getting Started

The @portkey/did library is a collection of modules that contain functionality for the did ecosystem.

  • @portkey/accounts is for the portkey account.
  • @portkey/utils is for the portkey utils.
  • @portkey/contracts is for the portkey contracts.
  • @portkey/graphql is for the portkey graphql.
  • @portkey/request is for the portkey request.
  • @portkey/types is for the portkey types.
  • @portkey/utils is for the portkey utils.
  • @portkey/validator is for the portkey validator.

Installation

Using NPM

npm install @portkey/did

Using Yarn

yarn add @portkey/did

After that you need configure did server node、graphQL node、storage suite.

class Store implements IStorageSuite {
  async getItem(key: string) {
    return localStorage.getItem(key);
  }
  async setItem(key: string, value: string) {
    return localStorage.setItem(key, value);
  }
  async removeItem(key: string) {
    return localStorage.removeItem(key);
  }
}
did.setConfig({
  requestDefaults: {
    baseURL: 'your did server node',
    timeout: 'timeout', // optional default 8000ms
  },
  graphQLUrl: 'your graphQL node',
  storageMethod: new Store(),
});

That’s it! now you can use the did object.

@portkey/did API Reference

did.setConfig

Where you configure did server node, graphQL node, storage suite.

did.setConfig({
  requestDefaults: {
    baseURL: 'you did server node',
    timeout: 'timeout', // optional default 8000ms
  },
  graphQLUrl: 'your graphQL node',
  storageMethod: 'your storage suite',
});

did.login

type: loginAccount

Email or mobile phone number or Google or Apple login.

did.login(type: 'loginAccount', params: AccountLoginParams): Promise<LoginResult>;

Example

did.login('loginAccount', {
  chainId: 'chainId',
  loginGuardianIdentifier: 'loginGuardianIdentifier',
  guardiansApproved: [
    {
      type: 'Email',
      identifier: 'identifier',
      verifierId: 'verifierId',
      verificationDoc: 'verificationDoc',
      signature: 'signature',
    },
  ],
  extraData: 'extraData',
  context: {
    requestId: 'requestId',
    clientId: 'clientId',
  },
});

type: scan

Logged in management to add management.

login(type: 'scan', params: ScanLoginParams): Promise<true>;

Example

did.login('scan',{
  chainId: 'chainId',
  caHash: 'caHash',
  managerInfo: {
    address: 'address',
    extraData: 'extraData'
  };
})

getLoginStatus

getLoginStatus(params: { chainId: ChainId; sessionId: string }): Promise<RecoverStatusResult>;

Example

did.getLoginStatus({
  chainId: 'chainId',
  sessionId: 'sessionId',
});

logout

logout(params: EditManagerParams): Promise<boolean>;

Example

did.logout({ chainId: 'chainId' });

register

register(params: Omit<RegisterParams, 'manager'>): Promise<RegisterResult>;

Example

did.register({
  type: 'Email',
  loginGuardianIdentifier: 'loginGuardianIdentifier',
  extraData: 'extraData',
  chainId: 'chainId',
  verifierId: 'verifierId',
  verificationDoc: 'verificationDoc',
  signature: 'signature',
  context: {
    requestId: 'requestId',
    clientId: 'clientId',
  },
});

getRegisterStatus

getRegisterStatus(params: { chainId: ChainId; sessionId: string }): Promise<RegisterStatusResult>;

Example

did.getRegisterStatus({
  chainId: 'chainId',
  sessionId: 'sessionId',
});

getHolderInfo

getHolderInfo by graphQL.

getHolderInfo(params: Pick<GetHolderInfoParams, 'manager' | 'chainId'>): Promise<GetCAHolderByManagerResult>;

Example

did.getHolderInfo({
  manager: 'manager', // optional
  chainId: 'chainId',
});

getHolderInfo by server.

getHolderInfo(params: Omit<GetHolderInfoParams, 'manager'>): Promise<IHolderInfo>;

Example

did.getHolderInfo({
  caHash: 'caHash', // loginGuardianIdentifier and caHash choose one
  loginGuardianIdentifier: 'loginGuardianIdentifier', // loginGuardianIdentifier and caHash choose one
  chainId: 'chainId',
});

getVerifierServers

Get the VerifierServer information of the corresponding chain.

getVerifierServers(chainId: ChainId): Promise<VerifierItem[]>;

Example

did.getVerifierServers({
  chainId: 'chainId',
});

check manager is exist

Check whether the manager has management permissions for the account.

checkManagerIsExist(params:{chainId: ChainId, caHash:string, manager:string}): Promise<boolean>;

Example

did.checkManagerIsExist({
  chainId: 'chainId',
  caHash: 'caHash',
  manager: 'manager'
});

services

services.getVerificationCode

send verification code.

getVerificationCode(params: SendVerificationCodeRequestParams): Promise<SendVerificationCodeResult>;

Example

did.services.getVerificationCode({
  params: {
    chainId: 'chainId',
    guardianIdentifier: 'guardianIdentifier',
    type: 'Email',
    verifierId: 'verifierId',
    operationType: 'operationType',
  },
  headers: {
    reCaptchaToken: 'reCaptchaToken',
  },
});

operationType types

services.verifyVerificationCode

verify verification code.

verifyVerificationCode(params: VerifyVerificationCodeParams): Promise<VerifyVerificationCodeResult>;

Example

did.services.verifyVerificationCode({
  verifierSessionId: 'verifierSessionId',
  chainId: 'chainId',
  guardianIdentifier: 'guardianIdentifier',
  verifierId: 'verifierId',
  verificationCode: 'verificationCode',
  operationType: 'operationType',
});

services.verifyGoogleToken

verify Google token.

verifyGoogleToken(params: VerifierSocialTokenParams): Promise<VerifyVerificationCodeResult>;

Example

did.services.verifyGoogleToken({
  chainId: 'chainId',
  accessToken: 'accessToken',
  verifierId: 'verifierId',
  operationType: 'operationType',
});

services.verifyAppleToken

verify Apple token.

verifyAppleToken(params: VerifyAppleTokenParams): Promise<VerifyVerificationCodeResult>;

Example

did.services.verifyAppleToken({
  chainId: 'chainId',
  verifierId: 'verifierId',
  identityToken: 'identityToken',
  operationType: 'operationType',
});

services.sendAppleUserExtraInfo

send Apple user extra info.

sendAppleUserExtraInfo(params: SendAppleUserExtraInfoParams): Promise<SendAppleUserExtraInfoResult>;

Example

did.services.sendAppleUserExtraInfo({
  identityToken: 'identityToken',
  userInfo: {
    name: {
      firstName: 'firstName',
      lastName: 'lastName',
    },
    email: 'email',
  },
});

Readme

Keywords

none

Package Sidebar

Install

npm i @portkey/did

Weekly Downloads

4,530

Version

2.6.6

License

ISC

Unpacked Size

116 kB

Total Files

36

Last publish

Collaborators

  • carbon-lv
  • aurora_v5_ptk
  • frankportkey
  • codingwizard-portkey
  • portkey-david
  • potterp
  • yellow.m