shove-js
Version:
SDK for shove.bet
114 lines (113 loc) • 2.49 kB
TypeScript
import { Address } from "src/types";
export interface Event {
blockNumber: number;
transactionHash: string;
timestamp: number | null;
}
export interface DepositEvent extends Event {
user: Address;
token: Address;
amount: bigint;
sponsor: Address;
}
export interface WithdrawEvent extends Event {
user: Address;
token: Address;
amount: bigint;
}
export interface TableRegisteredEvent extends Event {
table: Address;
}
export interface TableUnregisteredEvent extends Event {
table: Address;
}
export interface TableManagerChangedEvent extends Event {
previousManager: Address;
newManager: Address;
}
export interface LockedEvent extends Event {
table: Address;
player: Address;
token: Address;
amount: bigint;
}
export interface UnlockedEvent extends Event {
table: Address;
player: Address;
token: Address;
amount: bigint;
}
export interface TableApprovalEvent extends Event {
owner: Address;
table: Address;
token: Address;
amount: bigint;
}
export interface InternalTransferEvent extends Event {
table: Address;
from: Address;
to: Address;
token: Address;
amount: bigint;
}
export interface TableTransfer {
user: Address;
amount: bigint;
}
export interface BatchTransfersEvent extends Event {
table: Address;
from: TableTransfer[];
to: TableTransfer[];
token: Address;
totalAmount: bigint;
}
export interface LockerAddedEvent extends Event {
account: Address;
}
export interface LockerRemovedEvent extends Event {
account: Address;
}
export interface DisperserChangedEvent extends Event {
previous: Address;
current: Address;
}
export interface DisperseBatchEvent extends Event {
operator: Address;
token: Address;
total: bigint;
count: bigint;
}
export interface SurplusRescuedEvent extends Event {
token: Address;
to: Address;
amount: bigint;
}
export interface AccountedTotals {
free: bigint;
locked: bigint;
}
export interface Deposit {
owner: Address;
token: Address;
amount: bigint;
nonce: bigint;
deadline: bigint;
note: string;
}
export interface Withdraw {
owner: Address;
token: Address;
amount: bigint;
nonce: bigint;
deadline: bigint;
note: string;
}
export interface SetTableApproval {
owner: Address;
table: Address;
token: Address;
amount: bigint;
nonce: bigint;
deadline: bigint;
note: string;
}