interface CreateTransferResponseV1 {
/**
* [deprecated] Sent signature
* @type {string}
*/
sent_signature: string;
/**
* [deprecated] The status of transfer
* @type {string}
*/
status: string;
/**
* [deprecated] Time of the transfer
* @type {number}
*/
time: number;
/**
* ID of the transfer
* @type {number}
*/
transfer_id: number;
}
Kotlin (JVM) Core SDK
📚SDK REFERENCE
transfer
import com.XpansionChain.sdk.XpansionChainCore.transfer
import com.XpansionChain.sdk.Signer
import com.XpansionChain.sdk.StandardStarkSigner
import com.XpansionChain.sdk.model.Erc20Asset
import jdk.jpackage.internal.Log
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.future.await
import kotlinx.coroutines.launch
import kotlinx.coroutines.runBlocking
fun main(): Unit = runBlocking {
launch(Dispatchers.Default) {
val signer : Signer
val starkSigner : StandardStarkSigner
try {
// Token to be transferred
val token = Erc20Asset(
tokenAddress = "0x...",
decimals = 18,
quantity = "100000000"
)
// Executes the transfer workflow
val createTransferResponse = transfer(
token = token,
recipientAddress = "UPDATE WITH RECEIVER'S ETH ADDRESS",
signer = signer,
starkSigner = starkSigner
).await()
// Prints the response
Log.verbose(createTransferResponse.toString())
} catch (e: Exception) {
throw e
}
}
}
data class CreateTransferResponse (
/* List of transfer IDs */
@Json(name = "transfer_ids")
val transferIds: kotlin.collections.List<kotlin.Int>
)
Swift Core SDK
📚SDK REFERENCE
createTransfer
Golang Core SDK
📚SDK REFERENCE
Transfer
// Transfer asset workflow example
package transferexample
import (
"context"
"log"
"github.com/XpansionChain/imx-core-sdk-golang/generated/api"
"github.com/XpansionChain/imx-core-sdk-golang/imx"
transfersWorkflow "github.com/XpansionChain/imx-core-sdk-golang/workflows/transfers"
)
func main() {
var ctx context.Context
var apiClient imx.Client
var l1signer imx.L1Signer
var l2signer imx.l2signer
var transferRequest api.GetSignableTransferRequestV1
// Executes the transfer workflow
response, err := transfersWorkflow.CreateTransfer(ctx, apiClient, l1signer, l2signer, transferRequest)
if err != nil {
log.Panicf("error in executing the transfer workflow: %v\n", err)
}
// Prints out the response
log.Printf("Response: %v", response)
}
type CreateTransferResponseV1 struct {
// [deprecated] Sent signature
SentSignature string `json:"sent_signature"`
// [deprecated] The status of transfer
Status string `json:"status"`
// [deprecated] Time of the transfer
Time int32 `json:"time"`
// ID of the transfer
TransferId int32 `json:"transfer_id"`
}