Skip to main content

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
ParameterType
chainChain
walletClient{ }
publicClient{ }
Returns

NucleusAtomicQueueHandler

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
ParameterTypeDescription
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
ParameterTypeDescription
offerToken`0x${string}`Token being offered
user`0x${string}`User address
requestAtomicRequestAtomic 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
ParameterTypeDescription
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
ParameterTypeDescription
offerToken`0x${string}`Token being offered
wantToken`0x${string}`Token being requested
requestAtomicRequestNew 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
ParameterTypeDescription
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

PropertyTypeDefined in
atomicPricebigintlib/contracts/handlers/nucleus-atomic-queue-handler.ts:16
deadlinebigintlib/contracts/handlers/nucleus-atomic-queue-handler.ts:15
inSolvebooleanlib/contracts/handlers/nucleus-atomic-queue-handler.ts:18
offerAmountbigintlib/contracts/handlers/nucleus-atomic-queue-handler.ts:17

SolveMetaData

SolveMetaData = object

Defined in: lib/contracts/handlers/nucleus-atomic-queue-handler.ts:21

Properties

PropertyTypeDefined in
assetsForWantbigintlib/contracts/handlers/nucleus-atomic-queue-handler.ts:25
assetsToOfferbigintlib/contracts/handlers/nucleus-atomic-queue-handler.ts:24
flagsnumberlib/contracts/handlers/nucleus-atomic-queue-handler.ts:23
userAddresslib/contracts/handlers/nucleus-atomic-queue-handler.ts:22