Vault Queries
Functions for querying vault information and state.
multiVaultGetVaultβ
Get vault details.
Parametersβ
| Parameter | Type | Description | Required |
|---|---|---|---|
| config | ReadConfig | Contract address and publicClient | Yes |
| args | [bytes32] | Vault ID | Yes |
Returnsβ
Promise<VaultData> // Vault information
Exampleβ
import { multiVaultGetVault } from '@0xintuition/protocol'
const vault = await multiVaultGetVault(
{ address, publicClient },
{ args: [vaultId] }
)
console.log('Vault details:', vault)
multiVaultGetVaultTypeβ
Get vault type (atom or triple).
Parametersβ
| Parameter | Type | Description | Required |
|---|---|---|---|
| config | ReadConfig | Contract address and publicClient | Yes |
| args | [bytes32] | Vault ID | Yes |
Returnsβ
Promise<bigint> // 0 for atom, 1 for triple
Exampleβ
import { multiVaultGetVaultType } from '@0xintuition/protocol'
const vaultType = await multiVaultGetVaultType(
{ address, publicClient },
{ args: [vaultId] }
)
if (vaultType === 0n) {
console.log('This is an atom vault')
} else if (vaultType === 1n) {
console.log('This is a triple vault')
}
multiVaultIsTermCreatedβ
Check if a term (atom/triple) has been created.
Parametersβ
| Parameter | Type | Description | Required |
|---|---|---|---|
| config | ReadConfig | Contract address and publicClient | Yes |
| args | [bytes] | Term data (atom URI or triple hash) | Yes |
Returnsβ
Promise<boolean>
Exampleβ
import { multiVaultIsTermCreated } from '@0xintuition/protocol'
import { toHex } from 'viem'
const atomUri = toHex('TypeScript')
const exists = await multiVaultIsTermCreated(
{ address, publicClient },
{ args: [atomUri] }
)
if (exists) {
console.log('Atom already exists - do not recreate')
} else {
console.log('Atom does not exist - safe to create')
}
Use Case Exampleβ
// Check before creating to avoid duplicate atoms
const checkAndCreate = async (atomUri: string) => {
const uriHex = toHex(atomUri)
const exists = await multiVaultIsTermCreated(
{ address, publicClient },
{ args: [uriHex] }
)
if (exists) {
console.log('Atom already exists')
return null
}
const atomCost = await multiVaultGetAtomCost({ address, publicClient })
const txHash = await multiVaultCreateAtoms(
{ address, walletClient, publicClient },
{
args: [[uriHex], [atomCost]],
value: atomCost,
}
)
return txHash
}
const txHash = await checkAndCreate('My Unique Atom')