@aeternity/aepp-sdk
Version:
SDK for the æternity blockchain
48 lines (47 loc) • 1.49 kB
TypeScript
import { Encoded } from './encoder.js';
/**
* Hashes arbitrary object, can be used to inline the aci hash to contract source code
* @category typed data signing
*/
export declare function hashJson(data: unknown): Buffer;
export type AciValue = 'void' | 'unit' | 'int' | 'bool' | 'string' | 'bits' | 'hash' | 'signature' | 'address' | 'contract_pubkey' | 'Chain.ttl' | 'Chain.ga_meta_tx' | 'Chain.paying_for_tx' | 'Chain.base_tx' | 'AENS.pointee' | 'AENS.name' | 'MCL_BLS12_381.fr' | 'MCL_BLS12_381.fp' | {
'Set.set': readonly [AciValue];
} | {
bytes: number;
} | {
list: readonly [AciValue];
} | {
map: readonly [AciValue, AciValue];
} | {
tuple: readonly AciValue[];
} | {
record: ReadonlyArray<{
name: string;
type: AciValue;
}>;
} | {
variant: ReadonlyArray<{
[key: string]: readonly AciValue[];
}>;
} | {
option: readonly [AciValue];
} | {
oracle: readonly [AciValue, AciValue];
} | {
oracle_query: readonly [AciValue, AciValue];
};
export interface Domain {
name?: string;
version?: number;
networkId?: string;
contractAddress?: Encoded.ContractAddress;
}
/**
* Hashes domain object, can be used to inline domain hash to contract source code
* @category typed data signing
*/
export declare function hashDomain(domain: Domain): Buffer;
/**
* @category typed data signing
*/
export declare function hashTypedData(data: Encoded.ContractBytearray, aci: AciValue, domain: Domain): Buffer;