@nomad-xyz/sdk-bridge
Version:
84 lines • 3.06 kB
TypeScript
import { GoldSkyBackend, GoldSkyMessage, MessageFilter, MessageBackend } from '@nomad-xyz/sdk';
import * as config from '@nomad-xyz/configuration';
import { BridgeContext } from './BridgeContext';
/**
* Abstract class required for operation of NomadMessage
*/
export default abstract class BridgeMessageBackend extends MessageBackend {
abstract sender(messageHash: string): Promise<string | undefined>;
abstract receivedTx(messageHash: string): Promise<string | undefined>;
}
/**
* GoldSky bridge message representation
*/
export declare type GoldSkyBridgeMessage = GoldSkyMessage & {
origin_and_nonce?: string;
send_tx?: string;
sent_at?: string;
send_block?: string;
original_sender?: string;
receive_tx?: string;
receive_block?: string;
received_at?: string;
};
/**
* GoldSky bridge backend for NomadMessage
*/
export declare class GoldSkyBridgeBackend extends GoldSkyBackend implements BridgeMessageBackend {
context: BridgeContext;
messageCache: Map<string, GoldSkyBridgeMessage>;
constructor(env: string, secret: string, context: BridgeContext);
/**
* Checks whether an environment is supported by the backend. Throws on unsupported
* @param environment environment to check
*/
static checkEnvironment(environment: string): void;
/**
* Returns default secret for Goldsky
* @returns secret as a string
*/
static defaultSecret(): string;
/**
* Creates a default GoldSky backend for an environment
* @param environment environment to create the backend for
* @returns backend
*/
static default(environment: string | config.NomadConfig | undefined, context: BridgeContext): GoldSkyBridgeBackend;
/**
* Stores message into internal cache
*/
storeMessage(m: GoldSkyBridgeMessage): void;
/**
* Get the message representation associated with this message (if any)
* by message hash
*
* @returns A message representation (if any)
*/
getMessage(messageHash: string, forceFetch?: boolean): Promise<GoldSkyBridgeMessage | undefined>;
/**
* Get the message representation associated with this message (if any)
* by dispatch transaction
*
* @returns A message representation (if any)
*/
getMessagesByTx(tx: string, limit?: number, forceFetch?: boolean): Promise<GoldSkyBridgeMessage[] | undefined>;
/**
* Gets an original sender of the message
* @param messageHash
* @returns sender's address
*/
sender(messageHash: string): Promise<string | undefined>;
/**
* Gets a transaction related to Received event
* @param messageHash
* @returns transaction hash
*/
receivedTx(messageHash: string): Promise<string | undefined>;
/**
* Fetches internal message from backend
*
* @returns Internal message representation (if any)
*/
fetchMessages(f: Partial<MessageFilter>, limit?: number): Promise<GoldSkyBridgeMessage[] | undefined>;
}
//# sourceMappingURL=backend.d.ts.map