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