11. Full Exit
In order to ensure the security of users' assets, users are given the right to take out their assets at any time. They can return the assets to their accounts by sending a transaction to L1.
Initialize SDK
You need to initialize the SDK in order to use it.
NFT Full Exit
Parameters needed:
Parameter
Parameter usage and meaning
Requirement
accountName
The account name used to initialize the client
✅
seed
The user's L2 seed used to initialize the client
✅
privateKey
Since this transaction involves L1, the private key of user's L1 account is needed to sign the transaction
✅
nftIndex
The unique ID of NFT in L1
✅
📚SDK REFERENCE
Example
FullExit the NFT with
nftIndex
= 130Initialize client
FullExit the NFT with
nftIndex
= 130
package main
import (
"fmt"
"github.com/Zecrey-Labs/zecrey-marketplace-go-sdk/sdk"
)
func main() {
accountName := "alice"
privateKey := "0xe94a8b4ddd33b2865a89bb764d70a0c3e3276007ece8f114a47a4e9581ec3567"
nftIndex := uint32(130)
seed := "13243b9a9fdec6dc90c7cc1eb1c939134dfb659d2f0asdfas5413213213213213"
c, err := NewClient(accountName, seed)
fullExitNftTransaction, err := c.FullExitNft(accountName, privateKey, nftIndex)
if err != nil {
t.Fatal(err)
}
fmt.Println("tx hash:", fullExitNftTransaction.Hash())
}
Example Result
tx hash: 0x3e78bf427bbe8bc6be629b6bcd3a88cb65234b7da209134787a8f39c8ace1d4a
FT Full Exit
Parameters needed
BNB、LEG、REY's token addresses are needed and the details can be obtained through GetAssetsList
Parameter
Parameter usage and meaning
Required or not
accountName
The account name used to initialize the client
✅
seed
The user's L2 seed used to initialize the client
✅
privateKey
Since this transaction involves L1, the private key of user's L1 account is needed to sign the transaction
✅
asset
asset Token address
✅
📚SDK REFERENCE
Example
Deposit 10000 BNB to L2
Initialize client
FullExit 100000 BNB
package main
import (
"fmt"
"github.com/Zecrey-Labs/zecrey-marketplace-go-sdk/sdk"
)
func main() {
accountName := "alice"
privateKey := "0xe94a8b4ddd33b2865a89bb764d70a0c3e3276007ece8f114a47a4e9581ec3567"
assetAddress := common.HexToAddress("")//_asset Token address, 0 address for BNB
seed := "13243b9a9fdec6dc90c7cc1eb1c939134dfb659d2f0asdfas5413213213213213"
c, err := NewClient(accountName, seed)
var amount int64 = 100000
if err != nil {
t.Fatal(err)
}
fullExitTransaction, err := c.FullExit(accountName, privateKey, assetAddress)
if err != nil {
t.Fatal(err)
}
fmt.Println("tx hash:",fullExitTransaction)
}
Example Result
tx hash: 0x72aac80edfcb5c2f5c34e4b7acccc4831ef8ad61b1ef0396407b9fb31ed151fd
Last updated
Was this helpful?