UNPKG

@blooo/hw-app-concordium

Version:

Ledger Hardware Wallet Concordium Application API

197 lines 5.95 kB
import { AccountTransactionType, AttributeKey, CcdAmount, ConfigureBakerPayload, ConfigureDelegationPayload, DataBlob, DeployModulePayload, InitContractPayload, UpdateContractPayload } from "@concordium/common-sdk"; import { AccountAddress } from "@concordium/web-sdk"; export declare enum ExportType { PRF_KEY_SEED = 1, PRF_KEY = 2 } export declare enum Mode { NO_DISPLAY = 0, DISPLAY = 1, EXPORT_CRED_ID = 2 } export type Hex = string; export interface IExportPrivateKeyData { identity: number; identityProvider: number; } export interface ISimpleTransfer { amount: CcdAmount; toAddress: AccountAddress.Type; } export interface ISimpleTransferTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ISimpleTransfer; } export interface ISimpleTransferWithMemo { amount: CcdAmount; toAddress: AccountAddress.Type; memo: string | DataBlob; } export interface ISimpleTransferWithMemoTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ISimpleTransferWithMemo; } export interface ISimpleTransferWithSchedule { toAddress: AccountAddress.Type; schedule: { timestamp: string; amount: string; }[]; } export interface ISimpleTransferWithScheduleTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ISimpleTransferWithSchedule; } export interface IConfigureDelegationTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ConfigureDelegationPayload; } export interface IConfigureBakerTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ConfigureBakerPayload; } export interface ISimpleTransferWithScheduleAndMemo { toAddress: AccountAddress.Type; schedule: { timestamp: string; amount: string; }[]; memo: string | DataBlob; } export interface ISimpleTransferWithScheduleAndMemoTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ISimpleTransferWithScheduleAndMemo; } export interface IRegisterData { data: string | DataBlob; } export interface IRegisterDataTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: IRegisterData; } export interface ITransferToPublic { remainingAmount: Hex; transferAmount: CcdAmount; recipient: AccountAddress.Type; index: string; proofs: Hex; } export interface ITransferToPublicTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: ITransferToPublic; } export interface IDeployModuleTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: DeployModulePayload; } export interface IInitContractTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: InitContractPayload; } export interface IUpdateContractTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: UpdateContractPayload; } export interface IVerifyKey { schemeId: string; verifyKey: Hex; } export interface ICredentialPublicKeys { keys: { [key: number]: IVerifyKey; }; threshold: number; } export interface ICredentialPolicy { validTo: string; createdAt: string; revealedAttributes: Record<AttributeKey, string>; } export interface ChainArData { encIdCredPubShare: Hex; } export interface CredentialDeploymentCommitments { cmmPrf: string; cmmCredCounter: string; cmmIdCredSecSharingCoeff: string[]; cmmAttributes: Record<AttributeKey, string>; cmmMaxAccounts: string; } export interface ICredentialDeploymentTransaction { credId: Hex; ipIdentity: number; revocationThreshold: number; credentialPublicKeys: ICredentialPublicKeys; policy: ICredentialPolicy; arData: Record<string, ChainArData>; proofs: Hex; commitments: CredentialDeploymentCommitments; } export interface ICredential { index: number; cdi: ICredentialDeploymentTransaction; } export interface IUpdateCredentials { newCredentials: ICredential[]; removeCredentialIds: Hex[]; threshold: number; } export interface IUpdateCredentialsTransaction { sender: AccountAddress.Type; nonce: string; expiry: BigInt; energyAmount: string; transactionKind: AccountTransactionType; payload: IUpdateCredentials; } export interface IPublicInfoForIpTransaction { idCredPub: Hex; regId: Hex; publicKeys: ICredentialPublicKeys; } export declare type AccountTransaction = ISimpleTransferTransaction | IPublicInfoForIpTransaction | ICredentialDeploymentTransaction | ISimpleTransferWithMemoTransaction | ISimpleTransferWithScheduleTransaction | ITransferToPublicTransaction | ISimpleTransferWithScheduleAndMemoTransaction | IRegisterDataTransaction | IDeployModuleTransaction | IInitContractTransaction | IUpdateContractTransaction | IUpdateCredentialsTransaction | IConfigureBakerTransaction | IConfigureDelegationTransaction; //# sourceMappingURL=type.d.ts.map