0.7.7 • Published 8 months ago

@ethsign/sp-sdk v0.7.7

Weekly downloads
-
License
ISC
Repository
-
Last release
8 months ago

attestation-sdk

demo

on chain

import {
  SignProtocolClient,
  SpMode,
  EvmChains,
  delegateSignAttestation,
  delegateSignRevokeAttestation,
  delegateSignSchema,
} from '@ethsign/sp-sdk';
import { privateKeyToAccount } from 'viem/accounts';
const privateKey = '0xabc'; // optional

const client = new SignProtocolClient(SpMode.OnChain, {
  chain: EvmChains.sepolia,
  account: privateKeyToAccount(privateKey), // optional
});

//create schema
const createSchemaRes = await client.createSchema({
  name: 'xxx',
  data: [{ name: 'name', type: 'string' }],
});

// delegation create schema
const delegationPrivateKey = '0xaaaaa';
const info = await delegateSignSchema(
  {
    name: 'xxx',
    data: [{ name: 'name', type: 'string' }],
  },
  {
    chain: EvmChains.sepolia,
    delegationAccount: privateKeyToAccount(delegationPrivateKey),
  }
);
const delegateCreateSchemaRes = await client.createSchema(info.schema, {
  delegationSignature: info.delegationSignature,
});

// create attestation
const createAttestationRes = await client.createAttestation({
  schemaId: '0x3',
  data: { name: 'a' },
  indexingValue: 'xxx',
});

// delegation  create attestation
const delegationPrivateKey = '0xaaaaa';
const info = await delegateSignAttestation(
  {
    schemaId: '0x1',
    data: { name: 'a' },
    indexingValue: 'xxx',
  },
  {
    chain: EvmChains.sepolia,
    delegationAccount: privateKeyToAccount(delegationPrivateKey),
  }
);

const delegationCreateAttestationRes = await client.createAttestation(
  info.attestation,
  {
    delegationSignature: info.delegationSignature,
  }
);

//revoke attestation
const revokeAttestationRes = await client.revokeAttestation('0x3', {
  reason: 'test',
});

//delegation revoke attestation

const delegationPrivateKey = '0xaaaaa';
const info = await delegateSignRevokeAttestation(attestationId, {
  chain: EvmChains.sepolia,
  reason: 'test',
  delegationAccount: privateKeyToAccount(delegationPrivateKey),
});
const delegationRevokeAttestationRes = await client.revokeAttestation(
  info.attestationId,
  {
    reason: info.reason,
    delegationSignature: info.delegationSignature,
  }
);

off chain

import {
  SignProtocolClient,
  SpMode,
  EvmChains,
  OffChainSignType,
} from '@ethsign/sp-sdk';
import { privateKeyToAccount } from 'viem/accounts';
const privateKey = '0xabc'; // optional
const client = new SignProtocolClient(SpMode.OffChain, {
  signType: OffChainSignType.EvmEip712,
  account: privateKeyToAccount(privateKey), // optional
});

//create schema
const schemaInfo = await client.createSchema({
  name: 'xxx',
  data: [{ name: 'name', type: 'string' }],
});

//create attestation
const attestationInfo = await client.createAttestation({
  schemaId: 'xxxx', //schemaInfo.schemaId or other schemaId
  data: { name: 'a' },
  indexingValue: 'xxx',
});

//revoke attestation
const attestationId = 'xxx';
const revokeAttestationRes = await client.revokeAttestation(attestationId, {
  reason: 'test',
});

index service

import { IndexService } from '@ethsign/sp-sdk';

async function getSchemaListFromIndexService() {
  const indexService = new IndexService('testnet');
  const res = await indexService.querySchemaList({ page: 1 });
}

async function getSchemaFromIndexService() {
  const indexService = new IndexService('testnet');
  const res = await indexService.querySchema('onchain_evm_80001_0x1');
}

async function getAttestationListFromIndexService() {
  const indexService = new IndexService('testnet');
  const res = await indexService.queryAttestationList({ page: 1 });
}
async function getAttestationFromIndexService() {
  const indexService = new IndexService('testnet');
  const res = await indexService.queryAttestation('onchain_evm_80001_0x1');
}

Changelog

0.7.0

  • Added support for celo and celo testnet

0.6.1

  • delegate utils support rpcUrl

0.6.0

  • Added support for bnb

0.5.0

  • Added support for arbitrum one
  • update zetachain smart contract address

0.4.4

  • create attestation support extraData

0.4.0

  • Added support for cyber mainnet

0.3.31

  • Added support for xlayer chain

0.3.30

  • Added support for gnosis chain
  • Added support for degen chain

0.3.27

  • Added support for arbitrum sepolia
  • remove polygon mumbai

0.3.24

  • offchain mode support config wallet client

0.3.19

  • support for index service

0.3.18

  • add config wallet client

0.3.14

  • Added support for sepolia

0.3.7

  • Added support for base sepolia

0.3.4

  • Added support for base

0.3.2

  • Added support for scroll sepolia

0.3.3

  • Added support for scroll

0.3.0

  • Upgrade contract

0.2.3

  • Improved error handling.
  • General optimization.

0.2.2

  • Improved encoding for attestation data.

0.2.0

  • Added support for delegate schema registration.

0.1.11

  • Added support for ZetaChain mainnet.

0.1.10

  • Added support for opBNB testnet.

0.1.9

  • Added support for attestation revocation.

0.1.5

  • Added support for delegate attestation.

0.0.1

  • Initial release.
0.7.7

8 months ago

0.7.6

9 months ago

0.6.7

11 months ago

0.6.6

12 months ago

0.7.2

11 months ago

0.7.1

11 months ago

0.7.4

10 months ago

0.7.3

10 months ago

0.5.0

1 year ago

0.7.0

11 months ago

0.5.2

1 year ago

0.5.1

1 year ago

0.7.5

10 months ago

0.6.3

12 months ago

0.4.5

1 year ago

0.6.2

1 year ago

0.4.4

1 year ago

0.6.5

12 months ago

0.6.4

12 months ago

0.4.6

1 year ago

0.4.1

1 year ago

0.4.0

1 year ago

0.6.1

1 year ago

0.4.3

1 year ago

0.6.0

1 year ago

0.4.2

1 year ago

0.3.31

1 year ago

0.3.30

1 year ago

0.3.29

1 year ago

0.3.28

1 year ago

0.3.27

1 year ago

0.3.26

1 year ago

0.3.25

1 year ago

0.3.24

1 year ago

0.3.23

1 year ago

0.3.20

1 year ago

0.3.22

1 year ago

0.3.21

1 year ago

0.3.19

1 year ago

0.3.18

1 year ago

0.3.17

1 year ago

0.3.16

1 year ago

0.3.15

1 year ago

0.3.14

1 year ago

0.3.13

1 year ago

0.3.8

1 year ago

0.3.9

1 year ago

0.3.12

1 year ago

0.3.11

1 year ago

0.3.10

1 year ago

0.3.6

1 year ago

0.3.7

1 year ago

0.3.5

1 year ago

0.3.4

1 year ago

0.3.3

1 year ago

0.3.2

1 year ago

0.3.1

1 year ago

0.3.0

1 year ago

0.2.11

1 year ago

0.2.10

1 year ago

0.2.9

1 year ago

0.2.8

1 year ago

0.2.7

1 year ago

0.2.6

1 year ago

0.2.5

1 year ago

0.2.3

1 year ago

0.2.4

1 year ago

0.2.2

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.11

1 year ago

0.1.12

1 year ago

0.1.10

1 year ago

0.1.9

1 year ago

0.1.8

1 year ago

0.1.7

1 year ago

0.1.6

1 year ago

0.1.4

1 year ago

0.1.5

1 year ago

0.1.2

1 year ago

0.1.3

1 year ago

0.1.0

1 year ago

0.1.1

1 year ago

0.0.10

2 years ago

0.0.11

2 years ago

0.0.12

2 years ago

0.0.13

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.5

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.3

2 years ago

0.0.4

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago