/// import { APIKey } from '../types/MPC'; import { SigningPayloadID } from '../payload/signingPayloadID'; import { Config, PresignConfig, PayloadSignature, BlockchainSignature, BlockchainData, ChainNoncePair } from '../types'; import { PayloadAndKind, ClientSignedState, SignStatesRequestPayload, AddMovementPayload } from '../payload'; /** * Generates the canonical string for a given payload. * * The canonical string is a human-readable JSON representation of the payload * parameters. The keys are alphabetized, and are represented in snake case. */ export declare const canonicalString: (a1: object) => string; /** * Different payload types have different preprocessing strategies. This is a * convenience function to properly process various payloads. */ export declare const canonicalizePayload: (kind: SigningPayloadID, payload: object) => string; /** * Signs a payload using a private key. The private key should be the key * created by initialization of the Nash Protocol. Payloads are signed via * [ECDSA](https://en.wikipedia.org/wiki/Elliptic_Curve_Digital_Signature_Algorithm) * using [secp256k1](https://en.bitcoin.it/wiki/Secp256k1). * * If the payload to be signed is for a blockchain operation, the `Config` * object must be passed as well to create the blockchain signatures. * * Refer to the documentation for the `Config` interface and to `initialize.ts`. */ export default function signPayload(privateKey: Buffer, payloadAndKind: PayloadAndKind, config?: Config): PayloadSignature; /** * Presigns a payload using a apikey. * @param {APIKey} apiKey [description] * @param {PayloadAndKind} payloadAndKind [description] * @param {PresignConfig} config [description] * @return {Promise} [description] */ export declare function preSignPayload(apiKey: APIKey, payloadAndKind: PayloadAndKind, config: PresignConfig): Promise; /** * Presign blockchain data. Returns an array of signatures. Needed for operations * such as order placement. * * If the operation occurs within the same blockchain origin, 1 signature is * returned. For example, 1 signature is returned when trading NEO for GAS. * * If the operation is cross-chain, 2 signatures are returned. For example, two * signatures are returned for a BTC-ETH trade. */ export declare function presignBlockchainData(apiKey: APIKey, config: PresignConfig, payloadAndKind: PayloadAndKind): Promise>; /** * Signs blockchain data. Returns an array of signatures. Needed for operations * such as order placement. * * If the operation occurs within the same blockchain origin, 1 signature is * returned. For example, 1 signature is returned when trading NEO for GAS. * * If the operation is cross-chain, 2 signatures are returned. For example, two * signatures are returned for a BTC-ETH trade. */ export declare function signBlockchainData(config: Config, payloadAndKind: PayloadAndKind): ReadonlyArray; /** * @TODO Add documentation. */ export declare function determineSignatureNonceTuplesNeeded(assetData: Config['assetData'], blockchainData: BlockchainData): ChainNoncePair[]; /** * @TODO Add documentation. */ export declare function addRawBlockchainOrderData(config: Config, payloadAndKind: PayloadAndKind): object; export declare function addRawPresignBlockchainOrderData(apiKey: APIKey, config: PresignConfig, payloadAndKind: PayloadAndKind): object; export declare function signStateListAndRecycledOrders(config: Config, payload: any): SignStatesRequestPayload; export declare function signRecycledOrdersForAddMovement(config: Config, payload: AddMovementPayload): ClientSignedState[]; export declare function presignRecycledOrdersForAddMovement(apiKey: APIKey, config: PresignConfig, payload: AddMovementPayload): Promise; export declare function preSignStateListAndRecycledOrders(apiKey: APIKey, config: PresignConfig, payload: any): Promise; export declare function signTransactionDigestsForAddMovement(config: Config, payload: AddMovementPayload): ClientSignedState[]; export declare function presignTransactionDigestsForAddMovement(apiKey: APIKey, config: PresignConfig, payload: AddMovementPayload): Promise; export declare function signStateList(config: Config, items: ClientSignedState[]): ClientSignedState[]; export declare function presignStateList(apiKey: APIKey, config: PresignConfig, items: ClientSignedState[]): Promise; export declare function alterOrderPayloadForGraphql(payload: any): any;