@solana/pay
Version:
`@solana/pay` is a JavaScript library for facilitating commerce on Solana by using a token transfer URL scheme. The URL scheme ensures that no matter the wallet or service used, the payment request must be created and interpreted in one standard way.
46 lines • 2.46 kB
TypeScript
import type { Amount, Label, Link, Memo, Message, Recipient, Reference, SPLToken } from './types.js';
/**
* A Solana Pay transaction request URL.
*/
export interface TransactionRequestURL {
/** `link` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#link). */
link: Link;
/** `label` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#label-1). */
label: Label | undefined;
/** `message` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#message-1). */
message: Message | undefined;
}
/**
* A Solana Pay transfer request URL.
*/
export interface TransferRequestURL {
/** `recipient` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#recipient). */
recipient: Recipient;
/** `amount` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#amount). */
amount: Amount | undefined;
/** `spl-token` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#spl-token). */
splToken: SPLToken | undefined;
/** `reference` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#reference). */
reference: Reference[] | undefined;
/** `label` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#label). */
label: Label | undefined;
/** `message` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#message). */
message: Message | undefined;
/** `memo` in the [Solana Pay spec](https://github.com/solana-foundation/pay/blob/main/typescript/packages/solana-pay/spec/SPEC.md#memo). */
memo: Memo | undefined;
}
/**
* Thrown when a URL can't be parsed as a Solana Pay URL.
*/
export declare class ParseURLError extends Error {
name: string;
}
/**
* Parse a Solana Pay URL.
*
* @param url - URL to parse.
*
* @throws {ParseURLError}
*/
export declare function parseURL(url: URL | string): TransactionRequestURL | TransferRequestURL;
//# sourceMappingURL=parseURL.d.ts.map