ZeroQuantClient
The main client class for interacting with ZeroQuant vaults.
Constructor
const client = new ZeroQuantClient(provider, config);
Parameters
| Parameter | Type | Description |
|---|---|---|
provider | Provider | ethers.js provider |
config.factoryAddress | string | Factory contract address |
config.permissionManagerAddress | string | Permission manager address |
Methods
connect(signer)
Connect a signer to the client.
await client.connect(signer);
createVault(salt)
Create a new vault with deterministic address.
const vault = await client.createVault(42);
console.log(vault.address);
connectVault(address)
Connect to an existing vault.
await client.connectVault('0x...');
execute(params)
Execute a single operation.
const tx = await client.execute({
target: '0x...',
value: 0n,
data: '0x...',
});
executeBatch(params)
Execute multiple operations atomically.
const tx = await client.executeBatch({
targets: ['0x...', '0x...'],
values: [0n, 0n],
calldatas: ['0x...', '0x...'],
});
getBalance()
Get vault ETH balance.
const balance = await client.getBalance();
getAccountAddress(owner, salt)
Predict vault address before creation.
const address = await client.getAccountAddress(ownerAddress, 42);