@opendatalabs/vana-sdk
Version:
A TypeScript library for interacting with Vana Network smart contracts.
32 lines (31 loc) • 1.12 kB
TypeScript
import { type DataPortabilityGatewayConfig } from "./eip712";
export interface DataPortabilityGrantPayload {
user?: `0x${string}`;
builder?: `0x${string}`;
scopes: string[];
expiresAt: number;
nonce?: number;
}
export interface VerifyGrantRegistrationInput {
gatewayConfig: DataPortabilityGatewayConfig;
grantorAddress: `0x${string}`;
granteeId: `0x${string}`;
grant: string;
fileIds?: Array<string | number | bigint>;
signature: `0x${string}`;
nowSeconds?: number;
}
export type VerifyGrantRegistrationResult = {
valid: true;
grantorAddress: `0x${string}`;
granteeId: `0x${string}`;
grant: string;
payload: DataPortabilityGrantPayload;
fileIds: string[];
} | {
valid: false;
error: string;
};
export declare function isDataPortabilityGatewayConfig(value: unknown): value is DataPortabilityGatewayConfig;
export declare function parseGrantRegistrationPayload(grant: string): DataPortabilityGrantPayload | null;
export declare function verifyGrantRegistration(input: VerifyGrantRegistrationInput): Promise<VerifyGrantRegistrationResult>;