namespace hop {};
[Error]
enum HopError {
"DataTooLarge",
"PoolFull",
"NotFound",
"InvalidTicket",
"Network",
"QuotaExceeded",
};
enum HopEnvironment {
"Local",
"Previewnet",
};
interface HopClient {
[Throws=HopError, Name=connect]
constructor(HopEnvironment env);
[Throws=HopError]
sequence<HopTicket> send(bytes data, u32 recipient_count);
[Throws=HopError]
bytes claim(HopTicket ticket);
void destroy();
};
interface HopTicket {
bytes encode();
[Throws=HopError, Name=decode]
constructor(bytes data);
};