From 0bf23571e57d9d9b40d33fde41764cf22bbe5fe2 Mon Sep 17 00:00:00 2001 From: asiaziola Date: Mon, 27 Feb 2023 11:01:30 +0100 Subject: [PATCH] chore: restore DataItem --- src/contract/deploy/DataItem.ts | 37 +++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/src/contract/deploy/DataItem.ts b/src/contract/deploy/DataItem.ts index e69de29..30c212b 100644 --- a/src/contract/deploy/DataItem.ts +++ b/src/contract/deploy/DataItem.ts @@ -0,0 +1,37 @@ +/* eslint-disable */ +export declare abstract class Signer { + readonly publicKey: Buffer; + readonly signatureType: number; + readonly signatureLength: number; + readonly ownerLength: number; + readonly pem?: string | Buffer; + abstract sign(message: Uint8Array): Promise | Uint8Array; + static verify(_: string | Buffer): boolean; +} + +type ResolvesTo = T | Promise | ((...args: any[]) => Promise); + +export abstract class DataItem { + readonly id: string; + readonly signatureType: ResolvesTo; + readonly rawSignature: ResolvesTo; + readonly signature: ResolvesTo; + readonly signatureLength: ResolvesTo; + readonly rawOwner: ResolvesTo; + readonly owner: ResolvesTo; + readonly ownerLength: ResolvesTo; + readonly rawTarget: ResolvesTo; + readonly target: ResolvesTo; + readonly rawAnchor: ResolvesTo; + readonly anchor: ResolvesTo; + readonly rawTags: ResolvesTo; + readonly tags: ResolvesTo<{ name: string; value: string }[]>; + readonly rawData: ResolvesTo; + readonly data: ResolvesTo; + abstract sign(signer: Signer): Promise; + abstract isValid(): Promise; + static async verify(..._: any[]): Promise { + throw new Error('You must implement `verify`'); + } + abstract getRaw(): Buffer; +}