Documentation ¶
Overview ¶
Methods and types to interact with the Bridge protocol. Bridge protocol defines how clients can exchange tokens between 0chain and Ethereum blockchains. It defines the functionality to Mint/Burn native or ERC20 Züs tokens.
Index ¶
- Constants
- Variables
- func AccountExists(homedir, address string) bool
- func ConfirmEthereumTransaction(hash string, times int, duration time.Duration) (int, error)
- func ConvertIntToHex(value int64) string
- func CreateKeyStorage(homedir, password string) error
- func DeleteAccount(homedir, address string) bool
- func EncodePackInt64(key string, param int64) common.Hash
- func GetAuthorizer(id string) (res []byte, err error)
- func GetAuthorizers(active bool) (res []byte, err error)
- func GetGlobalConfig() (res []byte, err error)
- func GetTransactionStatus(hash string) (int, error)
- func ImportAccount(homedir, mnemonic, password string, accountAddrIndex ...AccountAddressIndex) (string, error)
- func ListStorageAccounts(homedir string) []common.Address
- type AccountAddressIndex
- type AlchemyGasEstimationRequest
- type AuthorizerNode
- type AuthorizerNodesResponse
- type AuthorizerResponse
- type BancorTokenDetails
- type BridgeClient
- func (b *BridgeClient) AddEthereumAuthorizer(ctx context.Context, address common.Address) (*types.Transaction, error)
- func (b *BridgeClient) AddEthereumAuthorizers(configDir string)
- func (b *BridgeClient) ApproveUSDCSwap(ctx context.Context, source uint64) (*types.Transaction, error)
- func (b *BridgeClient) BurnWZCN(ctx context.Context, amountTokens uint64) (*types.Transaction, error)
- func (b *BridgeClient) BurnZCN(amount uint64) (string, string, error)
- func (b *BridgeClient) CreateSignedTransactionFromKeyStore(client EthereumClient, gasLimitUnits uint64) *bind.TransactOpts
- func (b *BridgeClient) EstimateBurnWZCNGasAmount(ctx context.Context, from, to, amountTokens string) (float64, error)
- func (b *BridgeClient) EstimateGasPrice(ctx context.Context) (float64, error)
- func (b *BridgeClient) EstimateMintWZCNGasAmount(ctx context.Context, from, to, zcnTransactionRaw, amountToken string, ...) (float64, error)
- func (b *BridgeClient) GetETHSwapAmount(ctx context.Context, source uint64) (*big.Int, error)
- func (b *BridgeClient) GetTokenBalance() (*big.Int, error)
- func (b *BridgeClient) GetUserNonceMinted(ctx context.Context, rawEthereumAddress string) (*big.Int, error)
- func (b *BridgeClient) IncreaseBurnerAllowance(ctx context.Context, allowanceAmount uint64) (*types.Transaction, error)
- func (b *BridgeClient) MintWZCN(ctx context.Context, payload *ethereum.MintPayload) (*types.Transaction, error)
- func (b *BridgeClient) MintZCN(payload *zcnsc.MintPayload) (string, error)
- func (b *BridgeClient) NFTConfigGetAddress(ctx context.Context, key string) (string, string, error)
- func (b *BridgeClient) NFTConfigGetUint256(ctx context.Context, key string, keyParam ...int64) (string, int64, error)
- func (b *BridgeClient) NFTConfigSetAddress(ctx context.Context, key, address string) (*types.Transaction, error)
- func (b *BridgeClient) NFTConfigSetUint256(ctx context.Context, key string, value int64) (*types.Transaction, error)
- func (b *BridgeClient) NFTConfigSetUint256Raw(ctx context.Context, key common.Hash, value int64) (*types.Transaction, error)
- func (b *BridgeClient) QueryEthereumBurnEvents(startNonce string) ([]*ethereum.BurnEvent, error)
- func (b *BridgeClient) QueryEthereumMintPayload(zchainBurnHash string) (*ethereum.MintPayload, error)
- func (b *BridgeClient) QueryZChainMintPayload(ethBurnHash string) (*zcnsc.MintPayload, error)
- func (b *BridgeClient) RemoveEthereumAuthorizer(ctx context.Context, address common.Address) (*types.Transaction, error)
- func (b *BridgeClient) ResetUserNonceMinted(ctx context.Context) (*types.Transaction, error)
- func (b *BridgeClient) SignWithEthereumChain(message string) ([]byte, error)
- func (b *BridgeClient) SwapETH(ctx context.Context, source uint64, target uint64) (*types.Transaction, error)
- func (b *BridgeClient) SwapUSDC(ctx context.Context, source uint64, target uint64) (*types.Transaction, error)
- type BridgeSDKConfig
- type DetailedAccount
- type EthereumBurnEvents
- type EthereumClient
- type GasEstimationRequest
- type GasPriceEstimationResult
- type JobError
- type JobResult
- type JobStatus
- type KeyStore
- type ProofEthereumBurn
- type ProofZCNBurn
- type WZCNBurnEvent
Constants ¶
const ( TenderlyProvider = iota AlchemyProvider UnknownProvider )
const ( UniswapRouterAddress = "0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D" UsdcTokenAddress = "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" WethTokenAddress = "0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2" )
const ( // SCRestAPIPrefix represents base URL path to execute smart contract rest points. SCRestAPIPrefix = "v1/screst/" RestPrefix = SCRestAPIPrefix + zcncore.ZCNSCSmartContractAddress PathGetAuthorizerNodes = "/getAuthorizerNodes?active=%t" PathGetGlobalConfig = "/getGlobalConfig" PathGetAuthorizer = "/getAuthorizer" )
const (
EthereumWalletStorageDir = "wallets"
)
Variables ¶
var ( DefaultClientIDEncoder = func(id string) []byte { result, err := hex.DecodeString(id) if err != nil { Logger.Fatal(err) } return result } )
var Logger logger.Logger
Functions ¶
func AccountExists ¶ added in v1.3.5
AccountExists checks if account exists
- homedir is the home directory
- address is the account address
func ConfirmEthereumTransaction ¶
ConfirmEthereumTransaction confirms Ethereum transaction by hash.
- hash is the transaction hash to confirm.
- times is the number of times to try confirming the transaction.
- duration is the duration to wait between each confirmation attempt.
func ConvertIntToHex ¶ added in v1.13.4
ConvertIntToHex converts given int value to hex string.
func CreateKeyStorage ¶ added in v1.3.5
CreateKeyStorage create, restore or unlock key storage
- homedir is the home directory
- password is the password
func DeleteAccount ¶ added in v1.4.7
DeleteAccount deletes account from wallet
- homedir is the home directory
- address is the account address
func EncodePackInt64 ¶ added in v1.11.0
EncodePackInt do abi.encodedPack(string, int), it is used for setting plan id for royalty
- key key for the plan
- param plan id
func GetAuthorizer ¶ added in v1.7.1
GetAuthorizer returned authorizer information from Züs Blockchain by the ID
- id is the authorizer ID
- cb is the callback function to handle the response asynchronously
func GetAuthorizers ¶
GetAuthorizers Returns all or only active authorizers
- active is the flag to get only active authorizers
- cb is the callback function to handle the response asynchronously
func GetGlobalConfig ¶ added in v1.7.1
GetGlobalConfig Returns global config
- cb is the callback function to handle the response asynchronously
func GetTransactionStatus ¶
func ImportAccount ¶ added in v1.3.5
func ImportAccount(homedir, mnemonic, password string, accountAddrIndex ...AccountAddressIndex) (string, error)
ImportAccount imports account using mnemonic
- homedir is the home directory
- mnemonic is the mnemonic phrase
- password is the password
- accountAddrIndex is the account and address indexes used for the derivation of the ethereum account
func ListStorageAccounts ¶ added in v1.3.5
ListStorageAccounts List available accounts
- homedir is the home directory
Types ¶
type AccountAddressIndex ¶ added in v1.11.0
type AccountAddressIndex struct { AccountIndex int AddressIndex int // Bip32 flag indicates if the account is derived using BIP32 derivation path. Bip32 bool }
AccountAddressIndex represents client account and address indexes for multi-key wallet. Used to derive ethereum account.
type AlchemyGasEstimationRequest ¶ added in v1.13.8
type AlchemyGasEstimationRequest struct { From string `json:"from"` To string `json:"to"` Value string `json:"value"` Data string `json:"data"` }
AlchemyGasEstimationRequest describes request used for Alchemy enhanced JSON-RPC API.
type AuthorizerNode ¶
AuthorizerNode represents an authorizer node
type AuthorizerNodesResponse ¶ added in v1.7.1
type AuthorizerNodesResponse struct {
Nodes []*AuthorizerNode `json:"nodes"`
}
AuthorizerNodesResponse represents the response of the request to get authorizers
type AuthorizerResponse ¶ added in v1.7.1
type AuthorizerResponse struct { AuthorizerID string `json:"id"` URL string `json:"url"` // Configuration Fee common.Balance `json:"fee"` // Geolocation Latitude float64 `json:"latitude"` Longitude float64 `json:"longitude"` // Stats LastHealthCheck int64 `json:"last_health_check"` // stake_pool_settings DelegateWallet string `json:"delegate_wallet"` MinStake common.Balance `json:"min_stake"` MaxStake common.Balance `json:"max_stake"` NumDelegates int `json:"num_delegates"` ServiceCharge float64 `json:"service_charge"` }
AuthorizerResponse represents the response of the request to get authorizer info from the sharders.
type BancorTokenDetails ¶ added in v1.11.0
type BancorTokenDetails struct { Data struct { Rate struct { ETH string `json:"eth"` BNT string `json:"bnt"` USDC string `json:"usd"` EURC string `json:"eur"` } } `json:"data"` }
BancorTokenDetails describes Bancor ZCN zcntoken pool details
type BridgeClient ¶ added in v1.3.5
type BridgeClient struct { BridgeAddress, TokenAddress, AuthorizersAddress, UniswapAddress, NFTConfigAddress, EthereumAddress, EthereumNodeURL, Password string BancorAPIURL string ConsensusThreshold float64 GasLimit uint64 // contains filtered or unexported fields }
BridgeClient is a wrapper, which exposes Ethereum KeyStore methods used by DEX bridge.
func NewBridgeClient ¶ added in v1.11.0
func NewBridgeClient( bridgeAddress, tokenAddress, authorizersAddress, uniswapAddress, ethereumAddress, ethereumNodeURL, password string, gasLimit uint64, consensusThreshold float64, ethereumClient EthereumClient, keyStore KeyStore) *BridgeClient
NewBridgeClient creates BridgeClient with the given parameters.
- bridgeAddress is the address of the bridge smart contract on the Ethereum network.
- tokenAddress is the address of the token smart contract on the Ethereum network.
- authorizersAddress is the address of the authorizers smart contract on the Ethereum network.
- authorizersAddress is the address of the authorizers smart contract on the Ethereum network.
- uniswapAddress is the address of the user's ethereum wallet (on UniSwap).
- ethereumAddress is the address of the user's ethereum wallet.
- ethereumNodeURL is the URL of the Ethereum node.
- password is the password for the user's ethereum wallet.
- gasLimit is the gas limit for the transactions.
- consensusThreshold is the consensus threshold, the minimum percentage of authorizers that need to agree on a transaction.
- ethereumClient is the Ethereum JSON-RPC client.
- transactionProvider provider interface for the transaction entity.
- keyStore is the Ethereum KeyStore instance.
func SetupBridgeClientSDK ¶ added in v1.3.5
func SetupBridgeClientSDK(cfg *BridgeSDKConfig) *BridgeClient
SetupBridgeClientSDK initializes new bridge client. Meant to be used from standalone application with 0chain SDK initialized.
- cfg is the configuration for the bridge SDK.
func (*BridgeClient) AddEthereumAuthorizer ¶ added in v1.8.17
func (b *BridgeClient) AddEthereumAuthorizer(ctx context.Context, address common.Address) (*types.Transaction, error)
AddEthereumAuthorizer Adds authorizer to Ethereum bridge. Only contract deployer can call this method
- ctx go context instance to run the transaction
- address Ethereum address of the authorizer
func (*BridgeClient) AddEthereumAuthorizers ¶ added in v1.8.17
func (b *BridgeClient) AddEthereumAuthorizers(configDir string)
AddEthereumAuthorizers add bridge authorizers to the Ethereum authorizers contract
- configDir - configuration directory
func (*BridgeClient) ApproveUSDCSwap ¶ added in v1.15.0
func (b *BridgeClient) ApproveUSDCSwap(ctx context.Context, source uint64) (*types.Transaction, error)
ApproveUSDCSwap provides opportunity to approve swap operation for ERC20 tokens
- ctx go context instance to run the transaction
- source source amount
func (*BridgeClient) BurnWZCN ¶ added in v1.3.5
func (b *BridgeClient) BurnWZCN(ctx context.Context, amountTokens uint64) (*types.Transaction, error)
BurnWZCN Burns WZCN tokens on behalf of the 0ZCN client
- ctx go context instance to run the transaction
- amountTokens amount of tokens to burn
ERC20 signature: "burn(uint256,bytes)"
func (*BridgeClient) BurnZCN ¶ added in v1.3.5
func (b *BridgeClient) BurnZCN(amount uint64) (string, string, error)
BurnZCN burns ZCN tokens before conversion from ZCN to WZCN as a first step
- ctx go context instance to run the transaction
- amount amount of tokens to burn
- txnfee transaction fee
func (*BridgeClient) CreateSignedTransactionFromKeyStore ¶ added in v1.8.17
func (b *BridgeClient) CreateSignedTransactionFromKeyStore(client EthereumClient, gasLimitUnits uint64) *bind.TransactOpts
CreateSignedTransactionFromKeyStore creates signed transaction from key store - client - Ethereum client - gasLimitUnits - gas limit in units
func (*BridgeClient) EstimateBurnWZCNGasAmount ¶ added in v1.13.8
func (b *BridgeClient) EstimateBurnWZCNGasAmount(ctx context.Context, from, to, amountTokens string) (float64, error)
EstimateBurnWZCNGasAmount performs gas amount estimation for the given wzcn burn transaction.
- ctx go context instance to run the transaction
- from source address
- to target address
- amountTokens amount of tokens to burn
func (*BridgeClient) EstimateGasPrice ¶ added in v1.13.4
func (b *BridgeClient) EstimateGasPrice(ctx context.Context) (float64, error)
EstimateGasPrice performs gas estimation for the given transaction.
- ctx go context instance to run the transaction
func (*BridgeClient) EstimateMintWZCNGasAmount ¶ added in v1.13.8
func (b *BridgeClient) EstimateMintWZCNGasAmount( ctx context.Context, from, to, zcnTransactionRaw, amountToken string, nonceRaw int64, signaturesRaw [][]byte) (float64, error)
EstimateMintWZCNGasAmount performs gas amount estimation for the given wzcn mint transaction.
- ctx go context instance to run the transaction
- from source address
- to target address
- zcnTransactionRaw zcn transaction (hashed)
- amountToken amount of tokens to mint
- nonceRaw nonce
- signaturesRaw authorizer signatures
func (*BridgeClient) GetETHSwapAmount ¶ added in v1.15.0
GetETHSwapAmount retrieves ETH swap amount from the given source.
- ctx go context instance to run the transaction
- source source amount
func (*BridgeClient) GetTokenBalance ¶ added in v1.11.0
func (b *BridgeClient) GetTokenBalance() (*big.Int, error)
GetTokenBalance returns balance of the current client for the zcntoken address
func (*BridgeClient) GetUserNonceMinted ¶ added in v1.8.11
func (b *BridgeClient) GetUserNonceMinted(ctx context.Context, rawEthereumAddress string) (*big.Int, error)
GetUserNonceMinted Returns nonce for a specified Ethereum address
- ctx go context instance to run the transaction
- rawEthereumAddress Ethereum address
func (*BridgeClient) IncreaseBurnerAllowance ¶ added in v1.3.5
func (b *BridgeClient) IncreaseBurnerAllowance(ctx context.Context, allowanceAmount uint64) (*types.Transaction, error)
IncreaseBurnerAllowance Increases allowance for bridge contract address to transfer ERC-20 tokens on behalf of the zcntoken owner to the Burn TokenPool During the burn the script transfers amount from zcntoken owner to the bridge burn zcntoken pool Example: owner wants to burn some amount. The contract will transfer some amount from owner address to the pool. So the owner must call IncreaseAllowance of the WZCN zcntoken with 2 parameters: spender address which is the bridge contract and amount to be burned (transferred) Token signature: "increaseApproval(address,uint256)"
- ctx go context instance to run the transaction
- allowanceAmount amount to increase
func (*BridgeClient) MintWZCN ¶ added in v1.3.5
func (b *BridgeClient) MintWZCN(ctx context.Context, payload *ethereum.MintPayload) (*types.Transaction, error)
MintWZCN Mint ZCN tokens on behalf of the 0ZCN client
- ctx go context instance to run the transaction
- payload received from authorizers
ERC20 signature: "mint(address,uint256,bytes,uint256,bytes[])"
func (*BridgeClient) MintZCN ¶ added in v1.3.5
func (b *BridgeClient) MintZCN(payload *zcnsc.MintPayload) (string, error)
MintZCN mints ZCN tokens after receiving proof-of-burn of WZCN tokens
- ctx go context instance to run the transaction
- payload received from authorizers
func (*BridgeClient) NFTConfigGetAddress ¶ added in v1.11.0
NFTConfigGetAddress retrieves an address field in the NFT config, given the key as a string
- ctx go context instance to run the transaction
- key key for this field
func (*BridgeClient) NFTConfigGetUint256 ¶ added in v1.11.0
func (b *BridgeClient) NFTConfigGetUint256(ctx context.Context, key string, keyParam ...int64) (string, int64, error)
NFTConfigGetUint256 retrieves a uint256 field in the NFT config, given the key as a string
- ctx go context instance to run the transaction
- key key for this field
- keyParam additional key parameter, only the first item is used
func (*BridgeClient) NFTConfigSetAddress ¶ added in v1.11.0
func (b *BridgeClient) NFTConfigSetAddress(ctx context.Context, key, address string) (*types.Transaction, error)
NFTConfigSetAddress sets an address field in the NFT config, given the key as a string
- ctx go context instance to run the transaction
- key key for this field
- address address to set
func (*BridgeClient) NFTConfigSetUint256 ¶ added in v1.11.0
func (b *BridgeClient) NFTConfigSetUint256(ctx context.Context, key string, value int64) (*types.Transaction, error)
NFTConfigSetUint256 sets a uint256 field in the NFT config, given the key as a string
- ctx go context instance to run the transaction
- key key for this field
- value value to set
func (*BridgeClient) NFTConfigSetUint256Raw ¶ added in v1.11.0
func (b *BridgeClient) NFTConfigSetUint256Raw(ctx context.Context, key common.Hash, value int64) (*types.Transaction, error)
NFTConfigSetUint256Raw sets a uint256 field in the NFT config, given the key as a Keccak256 hash
- ctx go context instance to run the transaction
- key key for this field (hased)
- value value to set
func (*BridgeClient) QueryEthereumBurnEvents ¶ added in v1.8.16
func (b *BridgeClient) QueryEthereumBurnEvents(startNonce string) ([]*ethereum.BurnEvent, error)
QueryEthereumBurnEvents gets ethereum burn events
func (*BridgeClient) QueryEthereumMintPayload ¶ added in v1.3.5
func (b *BridgeClient) QueryEthereumMintPayload(zchainBurnHash string) (*ethereum.MintPayload, error)
QueryEthereumMintPayload gets burn ticket and creates mint payload to be minted in the Ethereum chain zchainBurnHash - Ethereum burn transaction hash
func (*BridgeClient) QueryZChainMintPayload ¶ added in v1.3.5
func (b *BridgeClient) QueryZChainMintPayload(ethBurnHash string) (*zcnsc.MintPayload, error)
QueryZChainMintPayload gets burn ticket and creates mint payload to be minted in the ZChain ethBurnHash - Ethereum burn transaction hash
func (*BridgeClient) RemoveEthereumAuthorizer ¶ added in v1.8.17
func (b *BridgeClient) RemoveEthereumAuthorizer(ctx context.Context, address common.Address) (*types.Transaction, error)
RemoveEthereumAuthorizer Removes authorizer from Ethereum bridge. Only contract deployer can call this method
- ctx go context instance to run the transaction
- address Ethereum address of the authorizer
func (*BridgeClient) ResetUserNonceMinted ¶ added in v1.11.0
func (b *BridgeClient) ResetUserNonceMinted(ctx context.Context) (*types.Transaction, error)
ResetUserNonceMinted Resets nonce for a specified Ethereum address
- ctx go context instance to run the transaction
func (*BridgeClient) SignWithEthereumChain ¶ added in v1.3.5
func (b *BridgeClient) SignWithEthereumChain(message string) ([]byte, error)
SignWithEthereumChain signs the digest with Ethereum chain signer taking key from the current user key storage
- message message to sign
func (*BridgeClient) SwapETH ¶ added in v1.15.0
func (b *BridgeClient) SwapETH(ctx context.Context, source uint64, target uint64) (*types.Transaction, error)
SwapETH provides opportunity to perform zcn token swap operation using ETH as source token.
- ctx go context instance to run the transaction
- source source amount
- target target amount
func (*BridgeClient) SwapUSDC ¶ added in v1.15.0
func (b *BridgeClient) SwapUSDC(ctx context.Context, source uint64, target uint64) (*types.Transaction, error)
SwapUSDC provides opportunity to perform zcn token swap operation using USDC as source token.
- ctx go context instance to run the transaction
- source source amount
- target target amount
type BridgeSDKConfig ¶ added in v1.3.5
type BridgeSDKConfig struct { LogLevel *string LogPath *string ConfigChainFile *string ConfigDir *string Development *bool }
BridgeSDKConfig describes the configuration for the bridge SDK.
type DetailedAccount ¶ added in v1.11.0
DetailedAccount describes detailed account
type EthereumBurnEvents ¶ added in v1.8.16
type EthereumBurnEvents struct { AuthorizerID string `json:"authorizer_id,omitempty"` BurnEvents []struct { Nonce int64 `json:"nonce"` Amount int64 `json:"amount"` TransactionHash string `json:"transaction_hash"` } `json:"burn_events"` }
EthereumBurnEvents represents burn events returned by authorizers
func (*EthereumBurnEvents) Data ¶ added in v1.8.16
func (r *EthereumBurnEvents) Data() interface{}
func (*EthereumBurnEvents) Error ¶ added in v1.8.16
func (r *EthereumBurnEvents) Error() error
func (*EthereumBurnEvents) GetAuthorizerID ¶ added in v1.8.16
func (r *EthereumBurnEvents) GetAuthorizerID() string
func (*EthereumBurnEvents) SetAuthorizerID ¶ added in v1.8.16
func (r *EthereumBurnEvents) SetAuthorizerID(id string)
type EthereumClient ¶ added in v1.11.0
type EthereumClient interface { bind.ContractBackend ChainID(ctx context.Context) (*big.Int, error) }
EthereumClient describes Ethereum JSON-RPC client generealized interface
type GasEstimationRequest ¶ added in v1.13.4
type GasEstimationRequest struct { From string `json:"from"` To string `json:"to"` Value string `json:"value"` }
GasEstimationRequest describes request used for Alchemy enhanced JSON-RPC API.
type GasPriceEstimationResult ¶ added in v1.13.4
type GasPriceEstimationResult struct {
Value float64 `json:"value"`
}
GasPriceEstimationResult represents result of the gas price estimation operation execution.
type JobError ¶
type JobError struct {
// contains filtered or unexported fields
}
JobError result of internal request wrapped in authorizer job
func (*JobError) MarshalJSON ¶
func (*JobError) UnmarshalJSON ¶
type JobResult ¶
type JobResult interface { // Error = Status of Authorizer job on authorizer server Error() error // Data returns the actual result Data() interface{} // SetAuthorizerID Assigns authorizer ID to the Job SetAuthorizerID(ID string) // GetAuthorizerID returns authorizer ID GetAuthorizerID() string }
JobResult = Authorizer task result, it wraps actual result of the query inside authorizer
type KeyStore ¶ added in v1.11.0
type KeyStore interface { Find(accounts.Account) (accounts.Account, error) TimedUnlock(accounts.Account, string, time.Duration) error SignHash(account accounts.Account, hash []byte) ([]byte, error) GetEthereumKeyStore() *keystore.KeyStore }
KeyStore is a wrapper, which exposes Ethereum KeyStore methods used by DEX bridge.
func NewKeyStore ¶ added in v1.11.0
NewKeyStore creates new KeyStore wrapper instance
type ProofEthereumBurn ¶
type ProofEthereumBurn struct { TxnID string `json:"ethereum_txn_id"` Nonce int64 `json:"nonce"` Amount int64 `json:"amount"` ReceivingClientID string `json:"receiving_client_id"` // 0ZCN address Signature string `json:"signature"` }
ProofEthereumBurn Authorizer returns this type for Ethereum transaction
type ProofZCNBurn ¶
type ProofZCNBurn struct { AuthorizerID string `json:"authorizer_id,omitempty"` TxnID string `json:"0chain_txn_id"` To string `json:"to"` Nonce int64 `json:"nonce"` Amount int64 `json:"amount"` Signature []byte `json:"signature"` }
ProofZCNBurn Authorizer returns this type for ZCN transaction
func (*ProofZCNBurn) Data ¶
func (r *ProofZCNBurn) Data() interface{}
func (*ProofZCNBurn) Error ¶
func (r *ProofZCNBurn) Error() error
func (*ProofZCNBurn) GetAuthorizerID ¶
func (r *ProofZCNBurn) GetAuthorizerID() string
func (*ProofZCNBurn) SetAuthorizerID ¶
func (r *ProofZCNBurn) SetAuthorizerID(id string)
type WZCNBurnEvent ¶
type WZCNBurnEvent struct { // AuthorizerID Authorizer ID AuthorizerID string `json:"authorizer_id,omitempty"` // BurnTicket Returns burn ticket BurnTicket *ProofEthereumBurn `json:"ticket,omitempty"` // Err gives error of job on server side Err *JobError `json:"err,omitempty"` // Status gives job status on server side (authoriser) Status JobStatus `json:"status,omitempty"` }
WZCNBurnEvent returned from burn ticket handler of: /v1/ether/burnticket/get
func (*WZCNBurnEvent) Data ¶
func (r *WZCNBurnEvent) Data() interface{}
func (*WZCNBurnEvent) Error ¶
func (r *WZCNBurnEvent) Error() error
func (*WZCNBurnEvent) GetAuthorizerID ¶
func (r *WZCNBurnEvent) GetAuthorizerID() string
func (*WZCNBurnEvent) SetAuthorizerID ¶
func (r *WZCNBurnEvent) SetAuthorizerID(id string)
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Methods and types to interact with the authorizer nodes.
|
Methods and types to interact with the authorizer nodes. |
Methods and types to support cryptographic operations.
|
Methods and types to support cryptographic operations. |
Error struct and functions.
|
Error struct and functions. |
Methods and types to interact with Züs smart contracts on the Ethereum blockchain (Züs ERC20 tokens).
|
Methods and types to interact with Züs smart contracts on the Ethereum blockchain (Züs ERC20 tokens). |
Utility methods and types to work with HTTP requests and responses.
|
Utility methods and types to work with HTTP requests and responses. |
Logging methods and types for the ZCN bridge SDK.
|
Logging methods and types for the ZCN bridge SDK. |
AUTOGENERATED! Do not use.
|
AUTOGENERATED! Do not use. |
Utility functions to handle the time.
|
Utility functions to handle the time. |
Methods and types to interact with native Züs transactions.
|
Methods and types to interact with native Züs transactions. |
Miscellaneous utility functions.
|
Miscellaneous utility functions. |
Methods and types to represent client's wallet.
|
Methods and types to represent client's wallet. |
Utilities to interact with native ZCN smart contract functions.
|
Utilities to interact with native ZCN smart contract functions. |