export interface CreateAccountAction { type: "CreateAccount"; } export interface DeployContractAction { type: "DeployContract"; params: { code: Uint8Array }; } export interface FunctionCallAction { type: "FunctionCall"; params: { methodName: string; args: object; gas: string; deposit: string; }; } export interface TransferAction { type: "Transfer"; params: { deposit: string }; } export interface StakeAction { type: "Stake"; params: { stake: string; publicKey: string; }; } export interface AddKeyAction { type: "AddKey"; params: { publicKey: string; accessKey: { nonce?: number; permission: | "FullAccess" | { receiverId: string; allowance?: string; methodNames?: Array; }; }; }; } export interface DeleteKeyAction { type: "DeleteKey"; params: { publicKey: string }; } export interface DeleteAccountAction { type: "DeleteAccount"; params: { beneficiaryId: string }; } export interface UseGlobalContractAction { type: "UseGlobalContract"; params: { contractIdentifier: | { accountId: string } | { /** Base58 encoded code hash */ codeHash: string; }; }; } export interface DeployGlobalContractAction { type: "DeployGlobalContract"; params: { code: Uint8Array; deployMode: "CodeHash" | "AccountId" }; } export type ConnectorAction = | CreateAccountAction | DeployContractAction | FunctionCallAction | TransferAction | StakeAction | AddKeyAction | DeleteKeyAction | DeleteAccountAction | UseGlobalContractAction | DeployGlobalContractAction;