@dioxide-js/silas
Version:
RPC utility for Silas
346 lines (318 loc) • 6.8 kB
text/typescript
export declare namespace DIOX {
interface MetaData {
Description?: string
IconUrl?: string
Name?: string
Website?: string
Social?: {
Github: string
Discord: string
Twitter: string
Telegram: string
Facebook: string
Email: string
}
}
interface TxListSumItems {
ListData: TxSumItem[]
}
interface TxSumItem {
Height: number
ShardIndex: number
ExecIndex: number
RelayGroupIndex: number
ShardOrder: number
BlockTime: number
TxnHash: string
TxnType: string
Initiator: string
Target: string
OriginalTxnHash: string
Invocation: Invocation
TxnTime: number
Func: string
Contract: string
}
interface DepositTxSum {
Address: string
TokenSymbol: string
AcType: string
TokenAmount: string
Height: number
ShardIndex: number
ExecIndex: number
RelayGroupIndex: number
ShardOrder: number
BlockTime: number
TxnHash: string
TxnType: string
Initiator: string
Target: string
OriginalTxnHash: string
IsFinalized: 1
Func: string
Contract: string
Invocation: {
Input: {
[key: string]: any
}
GasFee: string
Return: [number, number]
GasPrice: string
GasOffered: number
}
Sort: number
TokenDecimals: number
}
interface TxDetail {
BlockTime: number
Height: number
Initiator: string
Address: string
BuildNum: number
ConfirmedBy: string
ConfirmState?: string
ExecStage: string
Function: string
GasOffered: number
GasPrice: string
Grouped: false
Hash: string
Packing?: string
Relays?: Array<TxDetail>
Input: {
[key: string]: string | number
}
Invocation: Invocation
Mode: string
OrigExecIdx: number
OrigTxHash: string
Shard: number[]
Size: number
Signers?: string[]
Timestamp: number
ISN?: number
}
interface Block {
Size: number
Scope: string
Throughput: number
Shard: [number, number]
Prev: string
BlockInterval: number
Consensus: number
ScheduledTxnCount: number
UserInitiatedTxnCount: number
IntraRelayTxnCount: number
InboundRelayTxnCount: number
OutboundRelayTxnCount: number
DeferredRelayTxnCount: number
DispatchedRelayTxnCount: number
ExecutionCount: number
MasterBlock: string
BlockMerkleLeaf: string
ConfirmedTxnHash: string
ConfirmedTxnMerkle: string
ConsensusHeaderHash?: string
ProcessedTxnMerkle: string
ChainStateMerkle: string
GlobalChainStateMerkle: string
GlobalProcessedTxnMerkle: string
GlobalTxnBlockMerkleLeaf: string
ShardOutboundRelayMerkle: string
ShardProcessedTxnMerkle: string
ShardTxnBlockMerkle: string
ShardOrder?: number
TotalGasFee: string
AvgGasPrice: string
Hash: string
Height: number
Timestamp: number
Miner: string
Stage: string
State: string
PowDifficulty: number
PowNonce: string
ScalingNext: boolean
Uncles: string[]
Transactions: {
Scheduled: string[]
Confirmed: string[]
DispatchRelays: string[]
Deferred: string[]
}
Snapshot?: string
}
interface Invocation {
Return: [number, number]
Input: {
Reward: string
Amount: string
To: string
[key: string]: any
}
GasOffered?: string
GasPrice?: string
GasFee?: string
TokenSupply?: string[]
}
interface ExcutedTx {
Height: number
BlockTime: number
Initiator: string
Target: string
IsFinalized: number | undefined
OriginalTxnHash: string
Invocation: Invocation
Func: string
Contract: string
TxnHash: string
TxnStatus: string
RelayReturn: string
TokenSymbol?: string
TokenInitial?: string
TokenDecimals?: number
RelayGroupIndex: number
TokenAmount?: string
}
interface BlockResp {
TotalNum: number
ListData: ExcutedTx[]
}
interface Address {
Symbol?: string
Delegator?: string
TotalSupply?: string
ID?: number
Flags?: number
Metadata?: MetaData
Address?: string
Balance?: string
Height?: number
Name?: string
Hash?: string
Wallet?: { [id: string]: string | number }[]
Definition?: {
hash: string
name: string
series: number
}
}
interface ChainStatus {
BlockInterval: number
ForkRate: number
TotalBlocks: number
Difficulty: number
AvgGasPrice: number
ShardOrder: number
Throughput: number
TotalTxn: number
TotalStateSize: number
MempoolSize: number
AddressCount: number
Height: number
DeployName: string
ChainVersion: number
NumShards: number
}
}
export interface OriginalTxn {
gasprice?: string | number
sender: string
function: string
args: KeyValue
delegatee?: string | number
gaslimit?: string | number
tokens?: { [key: string]: string }[]
ttl?: number
scale?: number
}
export interface BalanceItem {
Amount: string
Symbol: string
}
export interface AddrBalance {
Address: string
Height: number
State: {
Balance: string
}
Wallet: { symbol: string; amount: string }[]
}
export interface TxDetailResponse {
Hash: string
Content: DIOX.TxDetail
}
export type TxSumList = {
TotalNum: number
ListData: DIOX.TxSumItem[]
}
export interface TokenItem {
Address?: string
TokenID: number
Amount?: string
Symbol: string
Height?: number
FutureMint?: number
Decimals: number
Balance?: number | string
Wallet?: { symbol: string; amount: string }[]
IconUrl?: string
Metadata?: DIOX.MetaData
}
export interface AddrBaseInfo {
Address: string
State: {
Metadata: DIOX.MetaData
}
}
export interface Blocks {
TotalNum: number
TxType: string
ListData: DIOX.Block[]
}
export interface Proof {
TxHash: string
ProofHash: string
InputKey: string
Timestamp: number
Owner: string
Content: string
}
export interface GetProofsParams {
TxHash?: string
ProofHash?: string
InputKey?: string
Owner?: string
}
export interface Credential {
privatekey: string
publickey: string
address: string
}
export interface AddressGenerated extends Credential {
pku8: Uint8Array
sku8: Uint8Array
lpku8?: Uint8Array
}
export type DioxScanChainBasicInfo = CommonResponse<DIOX.ChainStatus>
export type Override = CommonResponse<{
Address: string
Height: number
NextISN: number
}>
export declare namespace DIOXScanReq {
interface Paging {
limit?: number
pos?: number
}
interface BlockList extends Paging {
height: number
shardindex: number
}
interface History extends Paging {
shardindex?: number
contract?: string
function?: string
}
}