casper-js-sdk
Version:
SDK to interact with the Casper blockchain
58 lines (57 loc) • 1.85 kB
TypeScript
import { AccountHash, URef } from './key';
import { NamedKey } from './NamedKey';
/**
* Represents an associated key for an account, linking an `AccountHash`
* with a weight that determines its permission level.
*/
export declare class AssociatedKey {
/**
* The account hash associated with this key, uniquely identifying the account.
*/
accountHash: AccountHash;
/**
* The weight assigned to this key, which determines the key’s authority level.
*/
weight: number;
}
/**
* Represents action thresholds for an account, specifying minimum weights
* required for deployment and key management actions.
*/
export declare class ActionThresholds {
/**
* The threshold for performing deployment actions, represented as a weight.
*/
deployment: number;
/**
* The threshold for performing key management actions, represented as a weight.
*/
keyManagement: number;
}
/**
* Represents an account in the blockchain, containing account details such as
* associated keys, named keys, main purse, and action thresholds.
*/
export declare class Account {
/**
* The account hash for this account, which serves as a unique identifier.
*/
accountHash: AccountHash;
/**
* The named keys associated with this account, mapping key names to `URef` values.
* TODO: Is it could be any type of keys or certain types?
*/
namedKeys: NamedKey[];
/**
* The main purse associated with this account, represented as a `URef`.
*/
mainPurse: URef;
/**
* The list of associated keys for this account, each with an `AccountHash` and weight.
*/
associatedKeys: AssociatedKey[];
/**
* The action thresholds for this account, setting required weights for specific actions.
*/
actionThresholds: ActionThresholds;
}