archethic
Version:
Archethic Javascript SDK
95 lines (94 loc) • 2.58 kB
TypeScript
import { TransactionFee, TransactionRPC } from '../types';
export type NodeRpcMethods = {
contract_fun(params: {
contract: string;
function: string;
args?: any[];
}): any;
estimate_transaction_fee(params: EstimateTransactionFeeRequest): TransactionFee;
send_transaction(params: SendTransactionRequest): SendTransactionResponse;
simulate_contract_execution(params: SimulateContractExecutionRequest): SimulateContractExecutionResponse[];
add_origin_key(params: AddOriginKeyRequest): AddOriginKeyResponse;
};
export type AddOriginKeyRequest = {
certificate: string;
origin_public_key: string;
};
export type AddOriginKeyResponse = {
transaction_address: string;
status: string;
};
export type EstimateTransactionFeeRequest = {
transaction: TransactionRPC;
};
export type SendTransactionRequest = {
transaction: TransactionRPC;
};
export type SendTransactionResponse = {
transaction_address: string;
status: string;
};
export type SimulateContractExecutionRequest = {
transaction: TransactionRPC;
};
export type SimulateContractExecutionResponse = {
recipient_address: string;
valid: boolean;
error?: string;
};
export declare enum ConnectionState {
Closed = "WalletRPCConnection_closed",
Closing = "WalletRPCConnection_closing",
Connecting = "WalletRPCConnection_connecting",
Open = "WalletRPCConnection_open"
}
export declare enum RpcErrorCode {
UnsupportedMethod = -32601,
Timeout = 5001,
Connectivity = 4901,
ConsensusNotReached = 5002,
InvalidParams = -32602,
InvalidTransaction = 5003,
InvalidConfirmation = 5006,
InsufficientFunds = 5004,
ServiceNotFound = 5007,
UserRejected = 4001,
UnknownAccount = 5005,
Other = 5000
}
export type RpcSubscription = {
id: string;
eventListener: EventListenerOrEventListenerObject;
};
export type RpcNotification = {
subscriptionId: string;
data: Object;
};
export type RpcRequestOrigin = {
name: string;
url?: string;
logo?: string;
};
export type RpcRequest = {
origin: RpcRequestOrigin;
version: number;
payload: Object;
};
export type Endpoint = {
endpointUrl: string;
};
export type AccountIdentity = {
name: string;
genesisAddress: string;
};
export type TransactionSuccess = {
transactionAddress: string;
nbConfirmations: number;
maxConfirmations: number;
};
export type SignedTransaction = {
address: string;
previousPublicKey: string;
previousSignature: string;
originSignature: string;
};