@hyperlane-xyz/sdk
Version:
The official SDK for the Hyperlane Network
35 lines • 2.3 kB
TypeScript
import { AccountInterface, Contract, ParsedEvents, ProviderInterface } from 'starknet';
import { ContractType } from '@hyperlane-xyz/starknet-core';
import { Address } from '@hyperlane-xyz/utils';
import { DispatchedMessage } from '../core/types.js';
import { ChainMap, ChainName } from '../types.js';
export declare enum StarknetContractName {
MAILBOX = "mailbox",
HYP_ERC20 = "HypErc20",
HYP_ERC20_COLLATERAL = "HypErc20Collateral",
HYP_NATIVE = "HypNative",
ETHER = "Ether",
MERKLE_TREE_HOOK = "merkle_tree_hook",
NOOP_ISM = "noop_ism",
HOOK = "hook",
PROTOCOL_FEE = "protocol_fee",
VALIDATOR_ANNOUNCE = "validator_announce",
MESSAGE_RECIPIENT = "message_recipient",
DOMAIN_ROUTING_HOOK = "domain_routing_hook",
FALLBACK_DOMAIN_ROUTING_HOOK = "fallback_domain_routing_hook",
STATIC_AGGREGATION_HOOK = "static_aggregation_hook"
}
export declare const STARKNET_FEE_TOKEN_ADDRESSES: ChainMap<Address>;
/**
* Creates a Starknet contract instance with the given parameters
*/
export declare function getStarknetContract(contractName: string, address: string, providerOrAccount?: ProviderInterface | AccountInterface, contractType?: ContractType): Contract;
export declare function getStarknetMailboxContract(address: string, providerOrAccount?: ProviderInterface | AccountInterface): Contract;
export declare function getStarknetHypERC20Contract(address: string, providerOrAccount?: ProviderInterface | AccountInterface): Contract;
export declare function getStarknetHypERC20CollateralContract(address: string, providerOrAccount?: ProviderInterface | AccountInterface): Contract;
export declare function getStarknetEtherContract(address: string, providerOrAccount?: ProviderInterface | AccountInterface): Contract;
export declare function parseStarknetDispatchEvents(parsedEvents: ParsedEvents, chainNameResolver: (domain: number) => string | undefined): DispatchedMessage[];
export declare function parseStarknetDispatchIdEvents(parsedEvents: ParsedEvents): string[];
export declare function isStarknetFeeToken(chainName: ChainName, address: string): boolean;
export declare function getStarknetFeeTokenContract(chainName: ChainName, providerOrAccount?: ProviderInterface | AccountInterface): Contract;
//# sourceMappingURL=starknet.d.ts.map