@mysten/wallet-standard
Version:
A suite of standard utilities for implementing wallets based on the Wallet Standard.
50 lines (41 loc) • 1.58 kB
text/typescript
// Copyright (c) Mysten Labs, Inc.
// SPDX-License-Identifier: Apache-2.0
import type { Transaction } from '@mysten/sui/transactions';
import type { IdentifierString, WalletAccount } from '@wallet-standard/core';
/** Name of the feature. */
export const SuiSignTransactionBlock = 'sui:signTransactionBlock';
/** The latest API version of the signTransactionBlock API. */
export type SuiSignTransactionBlockVersion = '1.0.0';
/**
* @deprecated Use `sui:signTransaction` instead.
*
* A Wallet Standard feature for signing a transaction, and returning the
* serialized transaction and transaction signature.
*/
export type SuiSignTransactionBlockFeature = {
/** Namespace for the feature. */
[SuiSignTransactionBlock]: {
/** Version of the feature API. */
version: SuiSignTransactionBlockVersion;
/** @deprecated Use `sui:signTransaction` instead. */
signTransactionBlock: SuiSignTransactionBlockMethod;
};
};
/** @deprecated Use `sui:signTransaction` instead. */
export type SuiSignTransactionBlockMethod = (
input: SuiSignTransactionBlockInput,
) => Promise<SuiSignTransactionBlockOutput>;
/** Input for signing transactions. */
export interface SuiSignTransactionBlockInput {
transactionBlock: Transaction;
account: WalletAccount;
chain: IdentifierString;
}
/** Output of signing transactions. */
export interface SuiSignTransactionBlockOutput extends SignedTransactionBlock {}
export interface SignedTransactionBlock {
/** Transaction as base64 encoded bcs. */
transactionBlockBytes: string;
/** Base64 encoded signature */
signature: string;
}