type WithdrawBuilder

type WithdrawBuilder struct {
	AccountId        AccountId
	SubAccountId     SubAccountId
	ToChainId        ChainId
	ToAddress        ZkLinkAddress
	L2SourceToken    TokenId
	L1TargetToken    TokenId
	Amount           BigUint
	Fee              BigUint
	Nonce            Nonce
	WithdrawFeeRatio uint16
	WithdrawToL1     bool
	Timestamp        TimeStamp

The builder is used to build the Withdraw transaction.

type Withdraw

Withdraw transaction type, it's a opaque data type.

func NewWithdraw(builder WithdrawBuilder)

func NewWithdraw(builder WithdrawBuilder) *Withdraw

Create a new Withdraw transaction.

input: builder: WithdrawBuilder

func (*Withdraw) GetBytes

func (_self *Withdraw) GetBytes() []uint8

Get the encoded bytes used to create the L3 signature.

func (*Withdraw) TxHash

func (*Withdraw) TxHash() []uint8

Get the transaction hash of Withdraw transaction

func (*Withdraw) IsValid

func (*Withdraw) IsValid() bool

Check if all the fields in Withdraw are valid. For example, if the ChainId is exceeded the maximum ChainId, it will return false.

func (*Withdraw) CreateSignedTx

func (*Withdraw) CreateSignedTx(signer *ZkLinkSigner) (*Withdraw, error)

The ZkLinkSigner will sign the [Withdraw] transaction, replace the default signature in the transaction.


func (*Withdraw) GetSignature

func (_self *Withdraw) GetSignature() ZkLinkSignature

Get L3 signature inside the transaction.

func (*Withdraw) IsSignatureValid

func (*Withdraw) IsSignatureValid() bool

Check if the L3 signature in the Withdraw transaction is valid or not.

func (*Withdraw) EthSignature

func (*Withdraw) EthSignature(ethSigner *EthSigner, l2SourceTokenSymbol string) (PackedEthSignature, error)

Create the Ethereum signature. input::

  • ethSigner: the Ethereum signer

  • l2SourceTokenSymbol: the symbol string of l2 token, for example: "USD"

func (*Withdraw) SubmitterSignature

func (_self *Withdraw) SubmitterSignature(signer *ZkLinkSigner) (ZkLinkSignature, error)

Create a submitter signature.


func (*Withdraw) ToZklinkTx

func (*Withdraw) ToZklinkTx() ZkLinkTx

Change the Withdraw transaction to the ZkLinkTx

Last updated