IMX Provider

IMX Provider

A provider is an interface for abstracting the user's wallet implementation from the application, which enables the development of wallet-agnostic applications.

For the XpansionChain StarkEx network, XpansionChain has defined a Provider interface incorporating the IMX-specific signable actions, such as creating an order, withdrawals, and more.

The following list details all the signable actions supported by the IMX Provider along with definitions of the request and response payloads.

IMXProvider Methods

  • batchNftTransfer

  • cancelOrder

  • completeWithdrawal

  • createOrder

  • createTrade

  • deposit

  • exchangeTransfer

  • getAddress

  • isRegisteredOnchain

  • prepareWithdrawal

  • registerOffchain

  • transfer

Method Details

batchNftTransfer

batchNftTransfer(request): Promise<CreateTransferResponse>

Create a batch of NFT transfer requests

Parameters

Returns

Promise<CreateTransferResponse>

Resolves a promise that resolves with the list of Transfer IDs

Defined in

src/modules/provider/imxProvider.ts:73


cancelOrder

cancelOrder(request): Promise<CancelOrderResponse>

Cancel an Order

Parameters

Returns

Promise<CancelOrderResponse>

Returns a promise that resolves with the cancelled Order

Defined in

src/modules/provider/imxProvider.ts:52


completeWithdrawal

completeWithdrawal(starkPublicKey, token): Promise<TransactionResponse>

Completes a Withdrawal

Parameters

Returns

Promise<TransactionResponse>

Returns a promise that resolves with the transaction

Defined in

src/modules/provider/imxProvider.ts:102


createOrder

createOrder(request): Promise<CreateOrderResponse>

Create an Order

Parameters

Returns

Promise<CreateOrderResponse>

Returns a promise that resolves with the created Order

Defined in

src/modules/provider/imxProvider.ts:45


createTrade

createTrade(request): Promise<CreateTradeResponse>

Create a Trade

Parameters

Returns

Promise<CreateTradeResponse>

Returns a promise that resolves with the created Trade

Defined in

src/modules/provider/imxProvider.ts:59


deposit

deposit(deposit): Promise<TransactionResponse>

Deposit either ETH, ERC20 or ERC721 tokens

Parameters

Returns

Promise<TransactionResponse>

Returns a promise that resolves with the transaction

Defined in

src/modules/provider/imxProvider.ts:87


exchangeTransfer

exchangeTransfer(request): Promise<CreateTransferResponseV1>

Create a new Exchange transaction

Parameters

Returns

Promise<CreateTransferResponseV1>

Returns a promise that resolves with the created Exchange Transaction

Defined in

src/modules/provider/imxProvider.ts:80


getAddress

getAddress(): Promise<string>

Get the Signer address

Returns

Promise<string>

Returns a promise that resolves with the signer's address

Defined in

src/modules/provider/imxProvider.ts:26


isRegisteredOnchain

isRegisteredOnchain(): Promise<boolean>

Checks if a User is registered on-chain

Returns

Promise<boolean>

Returns a promise that resolves with true if the User is registered, false otherwise

Defined in

src/modules/provider/imxProvider.ts:38


prepareWithdrawal

prepareWithdrawal(request): Promise<CreateWithdrawalResponse>

Create a Withdrawal

Parameters

Returns

Promise<CreateWithdrawalResponse>

Returns a promise that resolves with the created Withdrawal

Defined in

src/modules/provider/imxProvider.ts:94


registerOffchain

registerOffchain(): Promise<RegisterUserResponse>

Register a User to XpansionChain if they are not already registered

Returns

Promise<RegisterUserResponse>

Returns a promise that resolves with the user registration response

Defined in

src/modules/provider/imxProvider.ts:32


transfer

transfer(request): Promise<CreateTransferResponseV1>

Create a new Transfer request

Parameters

Returns

Promise<CreateTransferResponseV1>

Returns a promise that resolves with the created Transfer

Defined in

src/modules/provider/imxProvider.ts:66


Types

AnyToken

EthToken

An ETH token

ERC721Token

An ERC721 token

ERC20Token

An ERC20 token

TokenAmount

ExchangeTokenAmount

ETHAmount

ERC20Amount

FeeEntry

Request & Response Types

NftTransferDetails

CreateTransferResponse


GetSignableCancelOrderRequest


CancelOrderResponse


UnsignedOrderRequest


CreateOrderResponse


GetSignableTradeRequest


CreateTradeResponse


UnsignedExchangeTransferRequest


UnsignedTransferRequest


CreateTransferResponseV1


CreateWithdrawalResponse


RegisterUserResponse

Last updated