@layerzerolabs/hyperliquid-composer
Version:
LayerZero Labs reference EVM OmniChain Fungible Token (OFT) implementation for Hyperliquid
138 lines (122 loc) • 2.84 kB
text/typescript
export interface CoreSpotMetaData {
name: string
szDecimals: number
weiDecimals: number
index: number
tokenId: string
isCanonical: boolean
evmContract: null | {
address: string
evm_extra_wei_decimals: number
}
fullName: string | null
deployerTradingFeeShare: string
freezePrivilegeEnabled?: boolean
quoteAssetEnabled?: boolean
}
export interface TxData {
from: string
txHash: string
nonce: number
weiDiff: number
assetBridgeAddress: string
connected: boolean
}
export interface UserGenesis {
userAndWei: Array<{
address: string
wei: string
}>
existingTokenAndWei: Array<{
token: number
wei: string
}>
blacklistUsers: string[]
}
export interface CoreSpotDeployment {
coreSpot: CoreSpotMetaData
txData: TxData
userGenesis: UserGenesis
}
export interface SpotMeta {
tokens: CoreSpotMetaData[]
}
export type SpotInfoBalance = [address: string, balance: string]
export interface SpotInfo {
name: string
maxSupply: string
totalSupply: string
circulatingSupply: string
szDecimals: number
weiDecimals: number
midPx: string
markPx: string
prevDayPx: string
genesis: {
userBalances: SpotInfoBalance[]
existingTokenBalances: SpotInfoBalance[]
}
deployer: string
deployGas: string
deployTime: string
seededUsdc: string
nonCirculatingUserBalances: SpotInfoBalance[]
futureEmissions: string
}
export interface DeployState {
token: number
spec: {
name: string
szDecimals: number
weiDecimals: number
}
fullName: string | null
spots: number[]
maxSupply: number
hyperliquidityGenesisBalance: string
totalGenesisBalanceWei: string
userGenesisBalances: [string, string][]
existingTokenGenesisBalances: [number, string][]
}
export interface GasAuction {
startTimeSeconds: number
durationSeconds: number
startGas: string
currentGas: string | null
endGas: string
}
export interface SpotDeployStates {
states: DeployState[]
gasAuction: GasAuction
}
export interface SpotBalance {
coin: string
token: number
total: string
hold: string
entryNtl: string
}
export interface SpotBalancesResponse {
balances: SpotBalance[]
}
export interface SpotPair {
tokens: number[]
name: string
index: number
isCanonical: boolean
}
export interface SpotMetaUniverse {
universe: SpotPair[]
tokens: CoreSpotMetaData[]
}
export interface SpotPairsWithMetadata {
pairs: SpotPair[]
tokens: CoreSpotMetaData[]
}
export interface SpotPairDeployAuctionStatus {
startTimeSeconds: number
durationSeconds: number
startGas: string
currentGas: string
endGas: string | null
}