contracts/handlers/nucleus-atomic-queue-handler
Classes
NucleusAtomicQueueHandler
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:31
Handler for the AtomicQueue contract.
Constructors
Constructor
new NucleusAtomicQueueHandler(
chain,walletClient,publicClient):NucleusAtomicQueueHandler
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:34
Parameters
| Parameter | Type |
|---|---|
chain | Chain |
walletClient | { } |
publicClient | { } |
Returns
Methods
getContract()
getContract():
object
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:42
Returns
object
getUserAtomicRequest()
getUserAtomicRequest(
user,offerToken,wantToken):Promise<{atomicPrice:bigint;deadline:bigint;inSolve:boolean;offerAmount:bigint; }>
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:61
Get the atomic request details for a specific user (wallet address).
Parameters
| Parameter | Type | Description |
|---|---|---|
user | `0x${string}` | User address |
offerToken | `0x${string}` | Token being offered |
wantToken | `0x${string}` | Token being requested |
Returns
Promise<{ atomicPrice: bigint; deadline: bigint; inSolve: boolean; offerAmount: bigint; }>
isAtomicRequestValid()
isAtomicRequestValid(
offerToken,user,request):Promise<boolean>
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:79
Check if an atomic request is valid.
Parameters
| Parameter | Type | Description |
|---|---|---|
offerToken | `0x${string}` | Token being offered |
user | `0x${string}` | User address |
request | AtomicRequest | Atomic request details |
Returns
Promise<boolean>
solve()
solve(
offerToken,wantToken,users,runData,solver):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:99
Solve atomic requests for multiple users.
Parameters
| Parameter | Type | Description |
|---|---|---|
offerToken | `0x${string}` | Token being offered |
wantToken | `0x${string}` | Token being requested |
users | `0x${string}`[] | Array of user addresses |
runData | `0x${string}` | Execution data for the solve |
solver | `0x${string}` | Address of the solver |
Returns
Promise<`0x${string}`>
updateAtomicRequest()
updateAtomicRequest(
offerToken,wantToken,request,ownerAddress):Promise<`0x${string}`>
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:121
Update an atomic request.
Parameters
| Parameter | Type | Description |
|---|---|---|
offerToken | `0x${string}` | Token being offered |
wantToken | `0x${string}` | Token being requested |
request | AtomicRequest | New atomic request details |
ownerAddress | `0x${string}` | - |
Returns
Promise<`0x${string}`>
userAtomicRequest()
userAtomicRequest(
user,offerToken,wantToken):Promise<readonly [bigint,bigint,bigint,boolean]>
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:139
Get user's atomic request details directly from storage.
Parameters
| Parameter | Type | Description |
|---|---|---|
user | `0x${string}` | User address |
offerToken | `0x${string}` | Token being offered |
wantToken | `0x${string}` | Token being requested |
Returns
Promise<readonly [bigint, bigint, bigint, boolean]>
Type Aliases
AtomicRequest
AtomicRequest =
object
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:14
Properties
| Property | Type | Defined in |
|---|---|---|
atomicPrice | bigint | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:16 |
deadline | bigint | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:15 |
inSolve | boolean | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:18 |
offerAmount | bigint | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:17 |
SolveMetaData
SolveMetaData =
object
Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:21
Properties
| Property | Type | Defined in |
|---|---|---|
assetsForWant | bigint | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:25 |
assetsToOffer | bigint | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:24 |
flags | number | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:23 |
user | Address | lib/contracts/handlers/nucleus-atomic-queue-handler.ts:22 |