import { Signer } from '@ethersproject/abstract-signer'; import BN from 'bn.js'; import { ec } from 'elliptic'; import { Bytes32 } from 'soltypes'; import { SignatureOptions, Token } from '../types'; import { Instruction, InstructionWithFee, LimitOrderWithFeeParams } from './types'; export declare function isHexPrefixed(str: string): boolean; export declare function checkHexValue(hex: string): void; export declare function getIntFromBits(hex: string, start: number, end?: number | undefined): number; export declare function getAccountPath(layer: string, application: string, ethereumAddress: string, index: string): string; export declare function hashKeyWithIndex(key: string, index: number): BN; export declare function grindKey(privateKey: string): string; export declare function checkIfHashedKeyIsAboveLimit(privateKey: string): boolean; export declare function getKeyPair(privateKey: string): ec.KeyPair; export declare function getPrivateKeyFromPath(seed: string, path: string): string; export declare function getKeyPairFromPath(seed: string, path: string, ethAddress: string): Promise; export declare function getPublic(keyPair: ec.KeyPair, compressed: boolean): string; export declare function getStarkPublicKey(keyPair: ec.KeyPair): string; export declare function getKeyPairFromPublicKey(publicKey: string): ec.KeyPair; export declare function getKeyPairFromPrivateKey(privateKey: string): ec.KeyPair; export declare function getXCoordinate(publicKey: string): string; export declare function getYCoordinate(publicKey: string): string; export declare function hexTuples(hash: string): RegExpMatchArray | null; export declare function truncateMintable240(hex: string): string; export declare function truncate250(hex: string): string; export declare function getAssetInfo(token: Token): string; export declare function getAssetType(token: Token, quantum?: string): Bytes32; export declare function getMintingBlob(id: string, blueprint: string): string; export declare function getMintingBlobHash(id: string, blueprint: string): string; export declare function getAssetID(token: Token): Bytes32; export declare function parseTokenInput(token: Token | string): string; export declare function pedersen(input: string | string[]): any; export declare function assertInRange(lowerBound: BN, upperBound: BN, values: BN[]): void; export declare function convertBnAndAssertRange(instruction: Instruction | InstructionWithFee, vault0: string, vault1: string, amount0: string, amount1: string, nonce: string, expirationTimestamp: string, feeVault?: string, feeLimit?: string): { instructionTypeBn: BN; vault0Bn: BN; vault1Bn: BN; amount0Bn: BN; amount1Bn: BN; nonceBn: BN; expirationTimestampBn: BN; feeVaultBn: BN; feeLimitBn: BN; }; export declare function serializeMessage(instructionTypeBn: BN, vault0Bn: BN, vault1Bn: BN, amount0Bn: BN, amount1Bn: BN, nonceBn: BN, expirationTimestampBn: BN): string; export declare function formatMessage(instruction: Instruction, vault0: string, vault1: string, amount0: string, amount1: string, nonce: string, expirationTimestamp: string): string; export declare function formatMessageWithFee(instruction: InstructionWithFee, vault0: string, vault1: string, amount0: string, amount1: string, nonce: string, expirationTimestamp: string, feeVault: string, feeLimit: string): [string, string]; export declare function serializeOrderMsgWithFee(instructionTypeBn: BN, vaultSellBn: BN, vaultBuyBn: BN, amountSellBn: BN, amountBuyBn: BN, nonceBn: BN, expirationTimestampBn: BN, feeVaultBn: BN, feeLimitBn: BN): [string, string]; export declare function hashMessage(w1: string, w2: string, w3: string): any; export declare function getLimitOrderMsgWithFee({ vaultSell, vaultBuy, amountSell, amountBuy, nonce, expirationTimestamp, tokenSell, tokenBuy, feeToken, feeVault, feeLimit, }: LimitOrderWithFeeParams): any; export declare function getLimitOrderMsg(vaultSell: string, vaultBuy: string, amountSell: string, amountBuy: string, tokenSell: string, tokenBuy: string, nonce: string, expirationTimestamp: string): string; export declare function getTransferMsg(amount: string, nonce: string, senderVaultId: string, assetId: string, receiverVaultId: string, receiverPublicKey: string, expirationTimestamp: string): string; export declare function packRegisterUserMsg(etherKey: string, nonce: string): string; export declare function getRegisterUserMsg(etherKey: string, starkPublicKey: string, nonce: string): string; export declare function packRegisterUserMsgVerifyEth(etherKey: string): string; export declare function getRegisterUserMsgVerifyEth(etherKey: string, starkPublicKey: string): string; export declare function getDepositMsg(amount: string, nonce: string, vaultId: string, assetId: string, starkPublicKey: string): string; export declare function getWithdrawMsg(amount: string, nonce: string, vaultId: string, assetId: string, starkPublicKey: string): string; export declare function fixMessage(msg: string): string; export declare function sign(keyPair: ec.KeyPair, msg: string): ec.Signature; export declare function serializeSignature(sig: SignatureOptions): string; export declare function serializePackedSignature(sig: SignatureOptions, pubY: string): string; export declare function serializeEthSignature(sig: SignatureOptions): string; export declare function importRecoveryParam(v: string): number | undefined; export declare function deserializeSignature(sig: string, size?: number): SignatureOptions; export declare function packCancelOrderMsg(orderId: string): string; export declare function getCancelOrderMsg(orderID: string): string; export declare function signAuthHeader(timestamp: string, signer: Signer): Promise;