@renegade-fi/node
Version:
Node.js library for Renegade
154 lines • 6.12 kB
TypeScript
import type { CancelOrderParameters, CreateOrderParameters, DepositParameters, GetBackOfQueueWalletParameters, GetWalletFromRelayerParameters, RenegadeConfig, SDKConfig, UpdateOrderParameters, WithdrawParameters } from "@renegade-fi/core";
import type { PublicClient } from "viem";
import { type ExecuteDepositParameters } from "../../actions/executeDeposit.js";
import { type ExecuteWithdrawalParameters } from "../../actions/executeWithdrawal.js";
import { type GeneratedSecrets } from "../../actions/generateWalletSecrets.js";
import type { ConstructorParams } from "./types.js";
/**
* The client for interacting with the Renegade relayer with a keychain.
*/
export declare class RenegadeClient {
readonly config: RenegadeConfig;
readonly configv2: SDKConfig;
readonly seed?: `0x${string}`;
readonly walletSecrets?: GeneratedSecrets;
/**
* @internal
*/
protected constructor(params: ConstructorParams);
/**
* Create a client for any chain by seed.
*
* @param params.chainId the chain ID (e.g. CHAIN_IDS.ArbitrumMainnet)
* @param params.seed your 0x… seed
* @param params.overrides any SDKConfig field can be passed directly as an override
*/
static new({ chainId, seed, overrides, }: {
chainId: number;
seed: `0x${string}`;
overrides?: Partial<SDKConfig>;
}): RenegadeClient;
/**
* Create a client for any chain with an external keychain.
*
* @param params.chainId the chain ID
* @param params.walletSecrets symmetric key + wallet ID
* @param params.signMessage callback to sign auth messages
* @param params.publicKey your public key
*/
static newWithExternalKeychain({ chainId, walletSecrets, signMessage, publicKey, }: {
chainId: number;
walletSecrets: GeneratedSecrets;
signMessage: (message: string) => Promise<`0x${string}`>;
publicKey: `0x${string}`;
}): RenegadeClient;
/**
* Arbitrum One client via seed.
*
* @param params.seed your 0x… seed
*/
static newArbitrumOneClient({ seed, }: {
seed: `0x${string}`;
}): RenegadeClient;
/**
* Arbitrum Mainnet client with external keychain.
*
* @param params.walletSecrets symmetric key + wallet ID
* @param params.signMessage callback to sign auth messages
* @param params.publicKey your public key
*/
static newArbitrumOneClientWithKeychain({ walletSecrets, signMessage, publicKey, }: {
walletSecrets: GeneratedSecrets;
signMessage: (message: string) => Promise<`0x${string}`>;
publicKey: `0x${string}`;
}): RenegadeClient;
/**
* Arbitrum Sepolia client via seed.
*
* @param params.seed your 0x… seed
*/
static newArbitrumSepoliaClient({ seed, }: {
seed: `0x${string}`;
}): RenegadeClient;
/**
* Arbitrum Sepolia client with external keychain.
*
* @param params.walletSecrets symmetric key + wallet ID
* @param params.signMessage callback to sign auth messages
* @param params.publicKey your public key
*/
static newArbitrumSepoliaClientWithKeychain({ walletSecrets, signMessage, publicKey, }: {
walletSecrets: GeneratedSecrets;
signMessage: (message: string) => Promise<`0x${string}`>;
publicKey: `0x${string}`;
}): RenegadeClient;
/**
* Base Sepolia client via seed.
*
* @param params.seed your 0x… seed
*/
static newBaseSepoliaClient({ seed }: {
seed: `0x${string}`;
}): RenegadeClient;
/**
* Base Sepolia client with external keychain.
*
* @param params.walletSecrets symmetric key + wallet ID
* @param params.signMessage callback to sign auth messages
* @param params.publicKey your public key
*/
static newBaseSepoliaClientWithKeychain({ walletSecrets, signMessage, publicKey, }: {
walletSecrets: GeneratedSecrets;
signMessage: (message: string) => Promise<`0x${string}`>;
publicKey: `0x${string}`;
}): RenegadeClient;
getWallet(params?: GetWalletFromRelayerParameters): Promise<import("@renegade-fi/core").Wallet>;
getBackOfQueueWallet(params?: GetBackOfQueueWalletParameters): Promise<import("@renegade-fi/core").Wallet>;
lookupWallet(): Promise<void>;
refreshWallet(): Promise<import("@renegade-fi/core/actions").RefreshWalletReturnType>;
createWallet(): Promise<void>;
getWalletId(): string;
deposit(parameters: DepositParameters): Promise<{
taskId: string;
}>;
executeDeposit(parameters: Omit<ExecuteDepositParameters, "permit2Address"> & {
publicClient: PublicClient;
}): Promise<{
taskId: string;
}>;
withdraw(parameters: WithdrawParameters): Promise<{
taskId: string;
}>;
executeWithdraw(parameters: ExecuteWithdrawalParameters): Promise<{
taskId: string;
}>;
payFees(): Promise<import("@renegade-fi/core").PayFeesReturnType>;
placeOrder(parameters: CreateOrderParameters): Promise<import("@renegade-fi/core").CreateOrderReturnType>;
updateOrder(parameters: UpdateOrderParameters): Promise<{
taskId: string;
}>;
cancelOrder(parameters: CancelOrderParameters): Promise<import("@renegade-fi/core").CancelOrderReturnType>;
getTaskQueue(): Promise<import("@renegade-fi/core").OldTask[]>;
getTaskQueuePaused(): Promise<boolean>;
/**
* Generate the message from which the seed can be derived.
*
* @param chainId - the chain ID
* @returns the message to sign
*/
static generateSeedMessage(chainId: number): string;
/**
* Generate an externally managed keychain for a Renegade wallet.
*
* @param sign - the callback to sign messages
* @returns the keychain
*/
static generateKeychain({ sign, }: {
sign: (message: string) => Promise<`0x${string}`>;
}): Promise<GeneratedSecrets>;
/**
* @internal
*/
getConfig(): RenegadeConfig;
}
//# sourceMappingURL=base.d.ts.map