UNPKG

@wormhole-foundation/sdk-algorand-tokenbridge

Version:

SDK for Algorand, used in conjunction with @wormhole-foundation/sdk

51 lines 3.31 kB
import type { AccountAddress, Chain, ChainAddress, ChainId, ChainsConfig, Contracts, NativeAddress, Network, Platform, TokenAddress, TokenBridge, TokenId } from "@wormhole-foundation/sdk-connect"; import { UniversalAddress } from "@wormhole-foundation/sdk-connect"; import type { AlgorandChains, AnyAlgorandAddress } from "@wormhole-foundation/sdk-algorand"; import { AlgorandUnsignedTransaction } from "@wormhole-foundation/sdk-algorand"; import { AlgorandWormholeCore } from "@wormhole-foundation/sdk-algorand-core"; import type { Algodv2, SuggestedParams } from "algosdk"; import { ABIMethod } from "algosdk"; import "@wormhole-foundation/sdk-algorand-core"; export declare const TransferMethodSelector: ABIMethod; export declare class AlgorandTokenBridge<N extends Network, C extends AlgorandChains> implements TokenBridge<N, C> { readonly network: N; readonly chain: C; readonly connection: Algodv2; readonly contracts: Contracts; readonly chainId: ChainId; readonly coreBridge: AlgorandWormholeCore<N, C>; readonly coreAppId: bigint; readonly coreAppAddress: string; readonly tokenBridgeAppId: bigint; readonly tokenBridgeAddress: string; static sendTransfer: Uint8Array; static attestToken: Uint8Array; static noop: Uint8Array; static optIn: Uint8Array; static completeTransfer: Uint8Array; static receiveAttest: Uint8Array; constructor(network: N, chain: C, connection: Algodv2, contracts: Contracts); static fromRpc<N extends Network>(provider: Algodv2, config: ChainsConfig<N, Platform>): Promise<AlgorandTokenBridge<N, AlgorandChains>>; isWrappedAsset(token: TokenAddress<C>): Promise<boolean>; getOriginalAsset(token: TokenAddress<C>): Promise<TokenId>; getTokenUniversalAddress(token: NativeAddress<C>): Promise<UniversalAddress>; getTokenNativeAddress(originChain: Chain, token: UniversalAddress): Promise<NativeAddress<C>>; getWrappedAsset(token: TokenId<Chain>): Promise<NativeAddress<C>>; hasWrappedAsset(token: TokenId<Chain>): Promise<boolean>; getWrappedNative(): Promise<NativeAddress<C>>; isTransferCompleted(vaa: TokenBridge.TransferVAA): Promise<boolean>; createAttestation(token: TokenAddress<C>, payer?: AnyAlgorandAddress): AsyncGenerator<AlgorandUnsignedTransaction<N, C>, void, unknown>; submitAttestation(vaa: TokenBridge.AttestVAA, sender?: AnyAlgorandAddress, suggestedParams?: SuggestedParams): AsyncGenerator<AlgorandUnsignedTransaction<N, C>>; transfer(sender: AccountAddress<C>, recipient: ChainAddress<C>, token: TokenAddress<C>, amount: bigint, payload?: Uint8Array): AsyncGenerator<AlgorandUnsignedTransaction<N, C>>; redeem(sender: AnyAlgorandAddress, vaa: TokenBridge.TransferVAA, unwrapNative?: boolean, suggestedParams?: SuggestedParams): AsyncGenerator<AlgorandUnsignedTransaction<N, C>, void, unknown>; /** * Checks if the asset has been opted in by the receiver * @param client Algodv2 client * @param asset Algorand asset index * @param receiver Account address * @returns Promise with True if the asset was opted in, False otherwise */ static isOptedInToAsset(client: Algodv2, address: string, asset: number): Promise<boolean>; private createUnsignedTx; } //# sourceMappingURL=tokenBridge.d.ts.map