Withdraw

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.

input:

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.

input:

func (*Withdraw) ToZklinkTx

func (*Withdraw) ToZklinkTx() ZkLinkTx

Change the Withdraw transaction to the ZkLinkTx

Last updated