Documentation
¶
Index ¶
- Constants
- func GenTrustAddressID(address, symbol string) string
- func SignRawTransaction(rawTx *RawTransaction, key *hdkeystore.HDKey) error
- type APINode
- func (api *APINode) AddObserver(obj OpenwNotificationObject) error
- func (api *APINode) BindAppDevice() error
- func (api *APINode) BindDevice(deviceID string, sync bool, reqFunc func(status uint64, msg string)) error
- func (api *APINode) CreateAddress(walletID string, accountID string, count uint64, sync bool, ...) error
- func (api *APINode) CreateBatchAddress(walletID string, accountID string, count uint64, sync bool, ...) error
- func (api *APINode) CreateNormalAccount(accountParam *Account, sync bool, ...) error
- func (api *APINode) CreateSummaryTx(accountID string, sumAddress string, coin Coin, feeRate string, ...) error
- func (api *APINode) CreateTrade(accountID string, sid string, coin Coin, amount string, address string, ...) error
- func (api *APINode) CreateWallet(wallet *Wallet, sync bool, ...) error
- func (api *APINode) FindAccountByAccountID(accountID string, refresh int, sync bool, ...) error
- func (api *APINode) FindAccountByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindAccountByWalletID(walletID string, sync bool, ...) error
- func (api *APINode) FindAddressByAccountID(accountID string, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindAddressByAddress(address string, sync bool, ...) error
- func (api *APINode) FindAddressByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindTradeLog(walletID string, accountID string, symbol string, txid string, address string, ...) error
- func (api *APINode) FindTradeLogByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindWalletByParams(params map[string]interface{}, offset int, limit int, sync bool, ...) error
- func (api *APINode) FindWalletByWalletID(walletID string, sync bool, ...) error
- func (api *APINode) GetAllTokenBalanceByAccount(accountID string, symbol string, sync bool, ...) error
- func (api *APINode) GetAllTokenBalanceByAddress(accountID string, address string, symbol string, sync bool, ...) error
- func (api *APINode) GetContracts(symbol, contractID string, offset, limit int, sync bool, ...) error
- func (api *APINode) GetFeeRate(symbol string, sync bool, ...) error
- func (api *APINode) GetFeeRateList(sync bool, reqFunc func(status uint64, msg string, feeRates []SupportFeeRate)) error
- func (api *APINode) GetNotifierNodeInfo() (string, string, error)
- func (api *APINode) GetSymbolBlockList(symbol string, sync bool, ...) error
- func (api *APINode) GetSymbolList(symbol string, offset, limit, hasRole int, sync bool, ...) error
- func (api *APINode) GetTokenBalanceByAccount(accountID string, contractID string, sync bool, ...) error
- func (api *APINode) ImportAccount(accountParam *Account, sync bool, ...) error
- func (api *APINode) ImportBatchAddress(walletID, accountID, memo string, addressAndPubs map[string]string, ...) error
- func (api *APINode) NodeID() string
- func (api *APINode) OWTPNode() *owtp.OWTPNode
- func (api *APINode) ProxyNode() (*ProxyNode, error)
- func (api *APINode) RemoveObserver(obj OpenwNotificationObject) error
- func (api *APINode) ServeNotification(listenAddr string, connectType string) error
- func (api *APINode) ServeProxyNode(address string) (*ProxyNode, error)
- func (api *APINode) ServeTransmitNode(address string) error
- func (api *APINode) StopProxyNode() error
- func (api *APINode) StopServeNotification(connectType string)
- func (api *APINode) StopTransmitNode(port int) error
- func (api *APINode) SubmitTrade(rawTx []*RawTransaction, sync bool, ...) error
- func (api *APINode) Subscribe(subscribeMethod []string, listenAddr string, callbackMode int, ...) error
- func (api *APINode) TransmitNode() (*TransmitNode, error)
- func (api *APINode) VerifyAddress(symbol, address string, sync bool, ...) error
- type APINodeConfig
- type Account
- type Address
- type Balance
- type BlockHeader
- type CallbackNode
- type Coin
- type ErrorMsg
- type FailedRawTransaction
- type FeesSupportAccount
- type KeySignature
- type OpenwNotificationObject
- type ProxyNode
- func (proxyNode *ProxyNode) APINode() (*APINode, error)
- func (proxyNode *ProxyNode) Close()
- func (proxyNode *ProxyNode) Listen()
- func (proxyNode *ProxyNode) OWTPNode() (*owtp.OWTPNode, error)
- func (proxyNode *ProxyNode) SetProxyRequestHandler(h func(ctx *owtp.Context) bool)
- func (proxyNode *ProxyNode) SetProxyResponseHandler(h func(ctx *owtp.Context) bool)
- type RawTransaction
- type SummaryAccountTask
- type SummaryContractTask
- type SummarySetting
- type SummaryTask
- type SummaryTaskLog
- type SummaryWalletTask
- type SupportFeeRate
- type Symbol
- type TokenBalance
- type TokenContract
- type Transaction
- type TransmitNode
- func (transmit *TransmitNode) APINode() (*APINode, error)
- func (transmit *TransmitNode) AppendSummaryTaskViaTrustNode(nodeID string, summaryTask *SummaryTask, sync bool, ...) error
- func (transmit *TransmitNode) Close()
- func (transmit *TransmitNode) CreateAccountViaTrustNode(nodeID, walletID, alias, password, symbol string, sync bool, ...) error
- func (transmit *TransmitNode) CreateWalletViaTrustNode(nodeID, alias, password string, sync bool, ...) error
- func (transmit *TransmitNode) FindSummaryInfoByWalletIDViaTrustNode(nodeID string, walletID string, sync bool, ...) error
- func (transmit *TransmitNode) GetCurrentSummaryTaskViaTrustNode(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) GetLocalWalletListViaTrustNode(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) GetSummaryTaskLogViaTrustNode(nodeID string, offset int, limit int, sync bool, ...) error
- func (transmit *TransmitNode) GetTrustAddressListViaTrustNode(nodeID string, symbol string, sync bool, ...) error
- func (transmit *TransmitNode) GetTrustNodeInfo(nodeID string, sync bool, ...) error
- func (transmit *TransmitNode) Listen()
- func (transmit *TransmitNode) OWTPNode() (*owtp.OWTPNode, error)
- func (transmit *TransmitNode) RemoveSummaryTaskViaTrustNode(nodeID string, walletID string, accountID string, sync bool, ...) error
- func (transmit *TransmitNode) SendTransactionViaTrustNode(nodeID string, accountID string, password string, sid string, ...) error
- func (transmit *TransmitNode) SetConnectHandler(h func(transmitNode *TransmitNode, nodeInfo *TrustNodeInfo))
- func (transmit *TransmitNode) SetDisconnectHandler(h func(transmitNode *TransmitNode, nodeID string))
- func (transmit *TransmitNode) SetSummaryInfoViaTrustNode(nodeID string, summarySetting *SummarySetting, sync bool, ...) error
- func (transmit *TransmitNode) SignTransactionViaTrustNode(nodeID string, walletID string, rawTx *RawTransaction, password string, ...) error
- func (transmit *TransmitNode) StartSummaryTaskViaTrustNode(nodeID string, cycleSec int, summaryTask *SummaryTask, operateType int, ...) error
- func (transmit *TransmitNode) StopSummaryTaskViaTrustNode(nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
- func (transmit *TransmitNode) UpdateInfoViaTrustNode(nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
- type TrustAddress
- type TrustNodeInfo
- type Wallet
Constants ¶
const ( /* 回调模式 */ CallbackModeCurrentConnection = 1 //当前连接模式,长连接可以用当前连接,接收推送 CallbackModeNewConnection = 2 //新建连接模式,短连接可以采用建立回调服务接口接收推送 )
const ( /* 汇总任务操作类型 */ SummaryTaskOperateTypeReset = 0 //重置 SummaryTaskOperateTypeAdd = 1 //追加 )
const ( SubscribeToAccount = "subscribeToAccount" //订阅余额更新通信 SubscribeToTrade = "subscribeToTrade" //订阅新交易单通知 SubscribeToBlock = "subscribeToBlock" //订阅新区块链头通知 )
const (
HostNodeID = "openw-server"
)
Variables ¶
This section is empty.
Functions ¶
func GenTrustAddressID ¶ added in v1.3.8
func SignRawTransaction ¶
func SignRawTransaction(rawTx *RawTransaction, key *hdkeystore.HDKey) error
SignRawTransaction 签名交易单
Types ¶
type APINode ¶
type APINode struct {
// contains filtered or unexported fields
}
APINode APINode通信节点
func NewAPINodeWithError ¶
func NewAPINodeWithError(config *APINodeConfig) (*APINode, error)
NewAPINodeWithError 创建API节点
func (*APINode) AddObserver ¶
func (api *APINode) AddObserver(obj OpenwNotificationObject) error
AddObserver 添加观测者
func (*APINode) BindAppDevice ¶
BindAppDevice 绑定通信节点 绑定节点ID成功,才能获得授权通信
func (*APINode) BindDevice ¶ added in v1.2.19
func (api *APINode) BindDevice( deviceID string, sync bool, reqFunc func(status uint64, msg string)) error
BindDevice 绑定设备ID
func (*APINode) CreateAddress ¶
func (api *APINode) CreateAddress( walletID string, accountID string, count uint64, sync bool, reqFunc func(status uint64, msg string, addresses []*Address)) error
CreateAddress 创建资产账户的地址
func (*APINode) CreateBatchAddress ¶
func (api *APINode) CreateBatchAddress( walletID string, accountID string, count uint64, sync bool, reqFunc func(status uint64, msg string, addresses []string)) error
CreateBatchAddress 批量创建资产账户的地址
func (*APINode) CreateNormalAccount ¶
func (api *APINode) CreateNormalAccount( accountParam *Account, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
CreateAccount 创建资产账户
func (*APINode) CreateSummaryTx ¶
func (api *APINode) CreateSummaryTx( accountID string, sumAddress string, coin Coin, feeRate string, minTransfer string, retainedBalance string, addressStartIndex int, addressLimit int, confirms uint64, sid string, feesSupportAccount *FeesSupportAccount, memo string, sync bool, reqFunc func(status uint64, msg string, rawTxs []*RawTransaction)) error
CreateSummaryTx 创建汇总交易单
func (*APINode) CreateTrade ¶
func (api *APINode) CreateTrade( accountID string, sid string, coin Coin, amount string, address string, feeRate string, memo string, sync bool, reqFunc func(status uint64, msg string, rawTx *RawTransaction), ) error
CreateTrade 创建转账交易订单
func (*APINode) CreateWallet ¶
func (api *APINode) CreateWallet(wallet *Wallet, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
CreateWallet 创建钱包
func (*APINode) FindAccountByAccountID ¶
func (api *APINode) FindAccountByAccountID(accountID string, refresh int, sync bool, reqFunc func(status uint64, msg string, account *Account)) error
FindAccountByAccountID 通过资产账户ID获取资产账户信息
func (*APINode) FindAccountByParams ¶ added in v1.4.5
func (api *APINode) FindAccountByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, accounts []*Account), ) error
FindAccountByParams 根据条件查询账户列表
func (*APINode) FindAccountByWalletID ¶
func (api *APINode) FindAccountByWalletID(walletID string, sync bool, reqFunc func(status uint64, msg string, accounts []*Account)) error
FindAccountByWalletID 通过钱包ID获取资产账户列表信息
func (*APINode) FindAddressByAccountID ¶
func (api *APINode) FindAddressByAccountID(accountID string, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, addresses []*Address)) error
FindAccountByWalletID 通过资产账户ID获取交易地址列表
func (*APINode) FindAddressByAddress ¶
func (api *APINode) FindAddressByAddress(address string, sync bool, reqFunc func(status uint64, msg string, address *Address)) error
FindAddressByAddress 通获取具体交易地址信息
func (*APINode) FindAddressByParams ¶ added in v1.4.5
func (api *APINode) FindAddressByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, addresses []*Address), ) error
FindAddressByParams 过条件查询地址列表
func (*APINode) FindTradeLog ¶
func (api *APINode) FindTradeLog( walletID string, accountID string, symbol string, txid string, address string, isTmp int, orderType int, start_height int64, end_height int64, height int64, isDesc bool, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, tx []*Transaction), ) error
FindTradeLog 获取转账交易订单日志
func (*APINode) FindTradeLogByParams ¶ added in v1.2.0
func (api *APINode) FindTradeLogByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, tx []*Transaction), ) error
new
func (*APINode) FindWalletByParams ¶ added in v1.4.5
func (api *APINode) FindWalletByParams( params map[string]interface{}, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, wallets []*Wallet), ) error
FindWalletByParams 查询钱包列表
func (*APINode) FindWalletByWalletID ¶
func (api *APINode) FindWalletByWalletID(walletID string, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
FindWalletByWalletID 通过钱包ID获取钱包信息
func (*APINode) GetAllTokenBalanceByAccount ¶
func (api *APINode) GetAllTokenBalanceByAccount( accountID string, symbol string, sync bool, reqFunc func(status uint64, msg string, balance []*TokenBalance)) error
GetAllTokenBalanceByAccount 获取账户所有token余额接口
func (*APINode) GetAllTokenBalanceByAddress ¶ added in v1.2.16
func (api *APINode) GetAllTokenBalanceByAddress( accountID string, address string, symbol string, sync bool, reqFunc func(status uint64, msg string, balance []*TokenBalance)) error
GetAllTokenBalanceByAddress 获取地址的token余额接口
func (*APINode) GetContracts ¶
func (api *APINode) GetContracts( symbol, contractID string, offset, limit int, sync bool, reqFunc func(status uint64, msg string, tokenContract []*TokenContract)) error
GetContracts 获取智能合约
func (*APINode) GetFeeRate ¶
func (api *APINode) GetFeeRate( symbol string, sync bool, reqFunc func(status uint64, msg string, symbol, feeRate, unit string)) error
GetFeeRate 获取推荐手续费率接口
func (*APINode) GetFeeRateList ¶ added in v1.2.1
func (*APINode) GetNotifierNodeInfo ¶ added in v1.4.1
GetNotifierNodeInfo 获取通知者节点信息
func (*APINode) GetSymbolBlockList ¶ added in v1.2.6
func (api *APINode) GetSymbolBlockList( symbol string, sync bool, reqFunc func(status uint64, msg string, blockHeaders []*BlockHeader)) error
GetSymbolBlockList 获取币种最大高度
func (*APINode) GetSymbolList ¶
func (api *APINode) GetSymbolList(symbol string, offset, limit, hasRole int, sync bool, reqFunc func(status uint64, msg string, total int, symbols []*Symbol)) error
GetSymbolList 获取主链列表
func (*APINode) GetTokenBalanceByAccount ¶
func (api *APINode) GetTokenBalanceByAccount( accountID string, contractID string, sync bool, reqFunc func(status uint64, msg string, balance *TokenBalance)) error
GetTokenBalanceByAccount 获取token余额接口
func (*APINode) ImportAccount ¶ added in v1.2.18
func (api *APINode) ImportAccount( accountParam *Account, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
ImportAccount 导入第三方资产账户
func (*APINode) ImportBatchAddress ¶ added in v1.3.7
func (api *APINode) ImportBatchAddress( walletID, accountID, memo string, addressAndPubs map[string]string, updateBalance bool, sync bool, reqFunc func(status uint64, msg string, importAddresses []string)) error
ImportBatchAddress 批量导入地址
func (*APINode) RemoveObserver ¶
func (api *APINode) RemoveObserver(obj OpenwNotificationObject) error
RemoveObserver 移除观测者
func (*APINode) ServeNotification ¶
ServeNotification 开启监听服务,接收通知
func (*APINode) ServeProxyNode ¶ added in v1.3.9
ServeProxyNode 开启代理服务
func (*APINode) ServeTransmitNode ¶
ServeTransmitNode 启动转发服务节点
func (*APINode) StopProxyNode ¶ added in v1.3.9
StopProxyNode 停止代理节点
func (*APINode) StopServeNotification ¶
StopServeNotification 关闭监听通知
func (*APINode) StopTransmitNode ¶
StopTransmitNode 停止转发服务节点
func (*APINode) SubmitTrade ¶
func (api *APINode) SubmitTrade( rawTx []*RawTransaction, sync bool, reqFunc func(status uint64, msg string, successTx []*Transaction, failedRawTxs []*FailedRawTransaction), ) error
SubmitTrade 广播转账交易订单
func (*APINode) Subscribe ¶
func (api *APINode) Subscribe(subscribeMethod []string, listenAddr string, callbackMode int, callbackNode CallbackNode, subscribeToken string) error
Subscribe 订阅
func (*APINode) TransmitNode ¶
func (api *APINode) TransmitNode() (*TransmitNode, error)
TransmitNode 转发节点
type APINodeConfig ¶
type APINodeConfig struct {
Host string `json:"host"`
AppID string `json:"appid"`
AppKey string `json:"appkey"`
ConnectType string `json:"connectType"`
EnableKeyAgreement bool `json:"enableKeyAgreement"`
EnableSSL bool `json:"enableSSL"`
EnableSignature bool `json:"enableSignature"`
Cert owtp.Certificate `json:"cert"`
TimeoutSEC int `json:"timeoutSEC"`
}
type Account ¶
type Account struct {
AppID string `json:"appID" bson:"appID"`
WalletID string `json:"walletID" bson:"walletID"`
AccountID string `json:"accountID" bson:"accountID"`
Alias string `json:"alias" bson:"alias"`
Symbol string `json:"symbol" bson:"symbol"`
OtherOwnerKeys []string `json:"otherOwnerKeys" bson:"otherOwnerKeys"`
ReqSigs int64 `json:"reqSigs" bson:"reqSigs"`
IsTrust int64 `json:"isTrust" bson:"isTrust"`
Password string `json:"password" bson:"password"`
PublicKey string `json:"publicKey" bson:"publicKey"`
HdPath string `json:"hdPath" bson:"hdPath"`
ContractAddress string `json:"contractAddress" bson:"contractAddress"`
AccountIndex int64 `json:"accountIndex" bson:"accountIndex"`
Balance string `json:"balance" bson:"balance"`
ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"`
UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"`
ExtInfo string `json:"extInfo" bson:"extInfo"`
AddressIndex int64 `json:"addressIndex" bson:"addressIndex"`
Applytime int64 `json:"applytime" bson:"applytime"`
Dealstate int64 `json:"dealstate" bson:"dealstate"`
}
type Address ¶
type Address struct {
AppID string `json:"appID" bson:"appID"`
WalletID string `json:"walletID" bson:"walletID"`
AccountID string `json:"accountID" bson:"accountID"`
Alias string `json:"alias" bson:"alias"`
Symbol string `json:"symbol" bson:"symbol"`
AddrIndex int64 `json:"addrIndex" bson:"addrIndex"`
Address string `json:"address" bson:"address"`
Balance string `json:"balance" bson:"balance"`
ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"`
UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"`
IsMemo int64 `json:"isMemo" bson:"isMemo"`
Memo string `json:"memo" bson:"memo"`
WatchOnly int64 `json:"watchOnly" bson:"watchOnly"`
PublicKey string `json:"publicKey" bson:"publicKey"`
CreatedAt int64 `json:"createdAt" bson:"createdAt"`
Num int64 `json:"num" bson:"num"`
Tag string `json:"tag" bson:"tag"`
HdPath string `json:"hdPath" bson:"hdPath"`
IsChange int64 `json:"isChange" bson:"isChange"`
Applytime int64 `json:"applytime" bson:"applytime"`
Dealstate int64 `json:"dealstate" bson:"dealstate"`
}
type Balance ¶
type Balance struct {
Symbol string `json:"symbol" bson:"symbol"`
AccountID string `json:"accountID" bson:"accountID"`
Address string `json:"address" bson:"address"`
BalanceType int64 `json:"type" bson:"type"`
Balance string `json:"balance" bson:"balance"`
ConfirmBalance string `json:"confirmBalance" bson:"confirmBalance"`
UnconfirmBalance string `json:"unconfirmBalance" bson:"unconfirmBalance"`
}
func NewBalance ¶ added in v1.3.5
type BlockHeader ¶
type BlockHeader struct {
Hash string `json:"hash"`
Confirmations uint64 `json:"confirmations"`
Merkleroot string `json:"merkleroot"`
Previousblockhash string `json:"previousblockhash"`
Height uint64 `json:"height"`
Version uint64 `json:"version"`
Time uint64 `json:"time"`
Fork bool `json:"fork"`
Symbol string `json:"symbol"`
}
func NewBlockHeader ¶ added in v1.2.6
func NewBlockHeader(result gjson.Result) *BlockHeader
type CallbackNode ¶
type CallbackNode struct {
NodeID string `json:"nodeID"` //@required 节点ID
Address string `json:"address"` //@required 连接IP地址
ConnectType string `json:"connectType"` //@required 连接方式
EnableKeyAgreement bool `json:"enableKeyAgreement"` //是否开启owtp协议协商密码
EnableSSL bool `json:"enableSSL"` //是否开启链接SSL,https,wss
EnableSignature bool `json:"enableSignature"` //是否开启owtp协议内签名,防重放
// contains filtered or unexported fields
}
func NewCallbackNode ¶
func NewCallbackNode(result gjson.Result) *CallbackNode
type Coin ¶
type FailedRawTransaction ¶
type FailedRawTransaction struct {
RawTx *RawTransaction `json:"rawTx"`
Reason string `json:"error"`
}
type FeesSupportAccount ¶ added in v1.1.4
type FeesSupportAccount struct {
AccountID string `json:"accountID"` //手续费账户ID
LowBalanceWarning string `json:"lowBalanceWarning"` //余额过低报警值
LowBalanceStop string `json:"lowBalanceStop"` //余额过低停止手续费支持
FixSupportAmount string `json:"fixSupportAmount"`
FeesScale string `json:"feesScale"`
IsTokenContract bool `json:"isTokenContract"` //手续费是否合约代币
ContractAddress string `json:"contractAddress"` //合约地址
}
FeesSupportAccount 主币余额不足时,可选择一个账户提供手续费
type KeySignature ¶
type KeySignature struct {
EccType uint32 `json:"eccType"` //曲线类型
RSV bool `json:"rsv"` //签名是否需要拼接V
Nonce string `json:"nonce"` //nonce
Address string `json:"address"` //提供签名的地址
Signature string `json:"signed"` //未花签名
Message string `json:"msg"` //被签消息
DerivedPath string `json:"derivedPath"` //密钥路径
WalletID string `json:"walletID"` //钱包ID
InputIndex uint32 `json:"inputIndex"` //input索引位
}
type OpenwNotificationObject ¶
type OpenwNotificationObject interface {
//OpenwNewTransactionNotify openw新交易单通知
OpenwNewTransactionNotify(transaction *Transaction, subscribeToken string) (bool, error)
//OpenwNewBlockNotify openw新区块头通知
OpenwNewBlockNotify(blockHeader *BlockHeader, subscribeToken string) (bool, error)
//OpenwBalanceUpdateNotify openw余额更新
OpenwBalanceUpdateNotify(balance *Balance, tokenBalance *TokenBalance, subscribeToken string) (bool, error)
}
OpenwNotificationObject openw-server的通知对象
type ProxyNode ¶ added in v1.3.9
type ProxyNode struct {
// contains filtered or unexported fields
}
ProxyNode 代理节点,用于承担转发客户端的请求到openw-server,返回结果给客户端
func NewProxyNode ¶ added in v1.3.9
func NewProxyNode(config *APINodeConfig) *ProxyNode
NewProxyNode 创建一个代理节点实例
func (*ProxyNode) SetProxyRequestHandler ¶ added in v1.3.9
SetProxyRequestHandler 通过设置请求处理器,你可以在请求被中转前进行一些自定义操作
type RawTransaction ¶
type RawTransaction struct {
Coin Coin `json:"coin"` //@required 区块链类型标识
TxID string `json:"txID"` //交易单ID,广播后会生成
Sid string `json:"sid"` //业务订单号,保证业务不重复交易而用
RawHex string `json:"rawHex"` //区块链协议构造的交易原生数据
FeeRate string `json:"feeRate"` //自定义费率
To map[string]string `json:"to"` //@required 目的地址:转账数量
AccountID string `json:"accountID"` //@required 创建交易单的账户
Signatures map[string][]*KeySignature `json:"sigParts"` //拥有者accountID: []未花签名
Required uint64 `json:"reqSigs"` //必要签名
Fees string `json:"fees"` //手续费
ErrorMsg *ErrorMsg `json:"errorMsg"`
}
type SummaryAccountTask ¶
type SummaryAccountTask struct {
AccountID string `json:"accountID"`
Contracts map[string]*SummaryContractTask `json:"contracts"`
FeeRate string `json:"feeRate"`
OnlyContracts bool `json:"onlyContracts"`
FeesSupportAccount *FeesSupportAccount `json:"feesSupportAccount"`
SwitchSymbol string `json:"switchSymbol"`
Memo string `json:"memo"`
*SummarySetting
}
type SummaryContractTask ¶ added in v1.1.4
type SummaryContractTask struct {
*SummarySetting
}
type SummarySetting ¶
type SummarySetting struct {
WalletID string `json:"walletID"`
AccountID string `json:"accountID" storm:"id"`
SumAddress string `json:"sumAddress"`
Threshold string `json:"threshold"`
MinTransfer string `json:"minTransfer"`
RetainedBalance string `json:"retainedBalance"`
Confirms uint64 `json:"confirms"`
AddressLimit uint64 `json:"addressLimit"`
}
SummarySetting 汇总设置信息
func NewSummarySetting ¶
func NewSummarySetting(result gjson.Result) *SummarySetting
type SummaryTask ¶
type SummaryTask struct {
Wallets []*SummaryWalletTask `json:"wallets"`
}
func NewSummaryTask ¶
func NewSummaryTask(result gjson.Result) *SummaryTask
type SummaryTaskLog ¶
type SummaryTaskLog struct {
Sid string `json:"sid" storm:"id"` //汇总执行批次号
WalletID string `json:"walletID"` //汇总钱包ID
AccountID string `json:"accountID"` //汇总资产账户ID
StartAddrIndex int `json:"startAddrIndex"` //账户汇总起始的地址索引位
EndAddrIndex int `json:"endAddrIndex"` //账户汇总结束的地址索引位
Coin Coin `json:"coin"` //汇总的币种信息
SuccessCount int `json:"successCount"` //汇总交易发送的成功个数
FailCount int `json:"failCount"` //汇总交易发送的失败个数
TxIDs []string `json:"txIDs"` //汇总交易成功的txid
Sids []string `json:"sids"` //汇总交易成功批次号
TotalSumAmount string `json:"sumAmount"` //这次汇总总数
TotalCostFees string `json:"sumFees"` //这次汇总总消费手续费
CreateTime int64 `json:"createTime" storm:"index"` //汇总时间
}
type SummaryWalletTask ¶
type SummaryWalletTask struct {
WalletID string `json:"walletID"`
Password string `json:"password"`
Accounts []*SummaryAccountTask `json:"accounts"`
Wallet *Wallet
}
func NewSummaryWalletTask ¶
func NewSummaryWalletTask(result gjson.Result) *SummaryWalletTask
type SupportFeeRate ¶ added in v1.2.1
support feeRate
type Symbol ¶
type Symbol struct {
Name string `json:"name" bson:"name" storm:"id"`
Coin string `json:"coin" bson:"coin"`
Curve int64 `json:"curve" bson:"curve"`
Orderno int64 `json:"orderno" bson:"orderno"`
Confirm int64 `json:"confirm" bson:"confirm"`
Decimals int64 `json:"decimals" bson:"decimals"`
BalanceMode uint64 `json:"balanceMode" bson:"balanceMode"`
Icon string `json:"icon"`
SupportMemo uint64 `json:"supportMemo"` //交易是否支持memo, 0: false, 1: true
OnlyContract uint64 `json:"onlyContract"` //支持合约代币, 0: false, 1: true
WithdrawStop int64 `json:"withdrawStop"`
BlockStop int64 `json:"blockStop"`
}
type TokenBalance ¶
type TokenBalance struct {
ContractID string
Token string
Address string
Balance Balance
IsContract int64
}
func NewTokenBalance ¶
func NewTokenBalance(result gjson.Result) *TokenBalance
type TokenContract ¶
type TokenContract struct {
ContractID string `json:"contractID" bson:"contractID" storm:"id"`
Symbol string `json:"symbol" bson:"symbol"` //主链标记
Name string `json:"name" bson:"name"`
Decimals int64 `json:"decimals" bson:"decimals"`
Address string `json:"address" bson:"address"`
Token string `json:"token" bson:"token"` //token标记
Protocol string `json:"protocol" bson:"protocol"`
}
type Transaction ¶
type Transaction struct {
AppID string `json:"appID" bson:"appID"`
WalletID string `json:"walletID" bson:"walletID"`
AccountID string `json:"accountID" bson:"accountID"`
Sid string `json:"sid" bson:"sid"`
Txid string `json:"txid" bson:"txid"`
Wxid string `json:"wxid" bson:"wxid"`
FromAddress []string `json:"fromAddress" bson:"fromAddress"`
FromAddressV []string `json:"fromAddressV" bson:"fromAddressV"`
ToAddress []string `json:"toAddress" bson:"toAddress"`
ToAddressV []string `json:"toAddressV" bson:"toAddressV"`
Amount string `json:"amount" bson:"amount"`
Fees string `json:"fees" bson:"fees"`
Type int64 `json:"type" bson:"type"`
Symbol string `json:"symbol" bson:"symbol"`
ContractID string `json:"contractID" bson:"contractID"`
IsContract int64 `json:"isContract" bson:"isContract"`
Confirm int64 `json:"confirm" bson:"confirm"`
BlockHash string `json:"blockHash" bson:"blockHash"`
BlockHeight int64 `json:"blockHeight" bson:"blockHeight"`
IsMemo int64 `json:"isMemo" bson:"isMemo"`
IsMain int64 `json:"isMain" bson:"isMain"`
Memo string `json:"memo" bson:"memo"`
Applytime int64 `json:"applytime" bson:"applytime"`
SubmitTime int64 `json:"submitTime" bson:"submitTime"`
ConfirmTime int64 `json:"confirmTime" bson:"confirmTime"`
Decimals int64 `json:"decimals" bson:"decimals"`
Succtime int64 `json:"succtime" bson:"succtime"`
Dealstate int64 `json:"dealstate" bson:"dealstate"`
Notifystate int64 `json:"notifystate" bson:"notifystate"`
ContractID2 string `json:"contractID2" bson:"contractID2"`
ContractName string `json:"contractName" bson:"contractName"`
ContractAddr string `json:"contractAddr" bson:"contractAddr"`
Contract map[string]interface{} `json:"contract" bson:"contract"`
Success string `json:"success"` //用于判断交易单链上的真实状态,0:失败,1:成功
TxType int64 `json:"txType"` //0:转账, 1:合约调用(发生于主链), >100: 自定义
TxAction string `json:"txAction"` //执行事件, 例如:合约的Transfer事
BalanceMode uint64 `json:"balanceMode" bson:"balanceMode"` //余额模型 0.地址 1.账户
}
func (*Transaction) FromSID ¶
func (tx *Transaction) FromSID(n int) string
func (*Transaction) ToSID ¶
func (tx *Transaction) ToSID(n int) string
type TransmitNode ¶
type TransmitNode struct {
// contains filtered or unexported fields
}
func NewTransmitNode ¶
func NewTransmitNode(config *APINodeConfig) (*TransmitNode, error)
func (*TransmitNode) AppendSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) AppendSummaryTaskViaTrustNode( nodeID string, summaryTask *SummaryTask, sync bool, reqFunc func(status uint64, msg string)) error
AppendSummaryTaskViaTrustNode 指定节点,追加汇总任务
func (*TransmitNode) CreateAccountViaTrustNode ¶
func (transmit *TransmitNode) CreateAccountViaTrustNode( nodeID, walletID, alias, password, symbol string, sync bool, reqFunc func(status uint64, msg string, account *Account, addresses []*Address)) error
CreateAccountViaTrustNode 指定节点,创建种子托管钱包
func (*TransmitNode) CreateWalletViaTrustNode ¶
func (transmit *TransmitNode) CreateWalletViaTrustNode(nodeID, alias, password string, sync bool, reqFunc func(status uint64, msg string, wallet *Wallet)) error
CreateWalletViaTrustNode 指定节点,创建种子托管钱包
func (*TransmitNode) FindSummaryInfoByWalletIDViaTrustNode ¶
func (transmit *TransmitNode) FindSummaryInfoByWalletIDViaTrustNode( nodeID string, walletID string, sync bool, reqFunc func(status uint64, msg string, summarySettings []*SummarySetting)) error
FindSummaryInfoByWalletIDViaTrustNode 指定节点,获取汇总设置信息
func (*TransmitNode) GetCurrentSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) GetCurrentSummaryTaskViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string, summaryTask *SummaryTask)) error
GetCurrentSummaryTaskViaTrustNode 指定节点,获取当前的执行中的汇总任务
func (*TransmitNode) GetLocalWalletListViaTrustNode ¶ added in v1.2.11
func (transmit *TransmitNode) GetLocalWalletListViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string, wallets []*Wallet)) error
GetLocalWalletListViaTrustNode 指定节点,获取该节点创建的钱包
func (*TransmitNode) GetSummaryTaskLogViaTrustNode ¶
func (transmit *TransmitNode) GetSummaryTaskLogViaTrustNode( nodeID string, offset int, limit int, sync bool, reqFunc func(status uint64, msg string, taskLog []*SummaryTaskLog)) error
GetSummaryTaskLogViaTrustNode 指定节点,获取汇总日志列表
func (*TransmitNode) GetTrustAddressListViaTrustNode ¶ added in v1.3.8
func (transmit *TransmitNode) GetTrustAddressListViaTrustNode( nodeID string, symbol string, sync bool, reqFunc func(status uint64, msg string, trustAddressList []*TrustAddress, enableTrustAddress bool)) error
GetTrustAddressListViaTrustNode 指定节点,获取信任地址列表
func (*TransmitNode) GetTrustNodeInfo ¶
func (transmit *TransmitNode) GetTrustNodeInfo(nodeID string, sync bool, reqFunc func(status uint64, msg string, nodeInfo *TrustNodeInfo)) error
GetTrustNodeInfo 获取授信的托管节点信息
func (*TransmitNode) OWTPNode ¶ added in v1.2.4
func (transmit *TransmitNode) OWTPNode() (*owtp.OWTPNode, error)
OWTPNode
func (*TransmitNode) RemoveSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) RemoveSummaryTaskViaTrustNode( nodeID string, walletID string, accountID string, sync bool, reqFunc func(status uint64, msg string)) error
RemoveSummaryTaskViaTrustNode 指定节点,移除汇总任务
func (*TransmitNode) SendTransactionViaTrustNode ¶
func (transmit *TransmitNode) SendTransactionViaTrustNode( nodeID string, accountID string, password string, sid string, contractAddress string, amount string, address string, feeRate string, memo string, sync bool, reqFunc func(status uint64, msg string, successTx []*Transaction, failedRawTxs []*FailedRawTransaction), ) error
SendTransactionViaTrustNode 创建转账交易订单
func (*TransmitNode) SetConnectHandler ¶
func (transmit *TransmitNode) SetConnectHandler(h func(transmitNode *TransmitNode, nodeInfo *TrustNodeInfo))
SetConnectHandler 设置托管节点断开连接后的通知
func (*TransmitNode) SetDisconnectHandler ¶
func (transmit *TransmitNode) SetDisconnectHandler(h func(transmitNode *TransmitNode, nodeID string))
SetDisconnectHandler 设置托管节点连接成功的通知
func (*TransmitNode) SetSummaryInfoViaTrustNode ¶
func (transmit *TransmitNode) SetSummaryInfoViaTrustNode( nodeID string, summarySetting *SummarySetting, sync bool, reqFunc func(status uint64, msg string)) error
SetSummaryInfoViaTrustNode 指定节点,设置汇总信息
func (*TransmitNode) SignTransactionViaTrustNode ¶ added in v1.4.0
func (transmit *TransmitNode) SignTransactionViaTrustNode( nodeID string, walletID string, rawTx *RawTransaction, password string, sync bool, reqFunc func(status uint64, msg string, signedRawTx *RawTransaction), ) error
SignTransactionViaTrustNode 指定节点,签名交易单
func (*TransmitNode) StartSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) StartSummaryTaskViaTrustNode( nodeID string, cycleSec int, summaryTask *SummaryTask, operateType int, sync bool, reqFunc func(status uint64, msg string)) error
StartSummaryTaskViaTrustNode 指定节点,启动汇总任务 nodeID 节点ID cycleSec 任务周期间隔 summaryTask 汇总任务 operateType 操作类型:0:重置,1:追加
func (*TransmitNode) StopSummaryTaskViaTrustNode ¶
func (transmit *TransmitNode) StopSummaryTaskViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
StopSummaryTaskViaTrustNode 指定节点,停止汇总任务
func (*TransmitNode) UpdateInfoViaTrustNode ¶
func (transmit *TransmitNode) UpdateInfoViaTrustNode( nodeID string, sync bool, reqFunc func(status uint64, msg string)) error
UpdateInfo UpdateInfoViaTrustNode,更新主链信息和合约资料
type TrustAddress ¶ added in v1.3.8
type TrustAddress struct {
ID string `json:"id" storm:"id"`
Address string `json:"address"`
Symbol string `json:"symbol"`
Memo string `json:"memo"`
CreateTime int64 `json:"createTime"`
}
白名单地址
func NewTrustAddress ¶ added in v1.3.8
func NewTrustAddress(address, symbol, memo string) *TrustAddress
type TrustNodeInfo ¶
type Wallet ¶
type Wallet struct {
AppID string `json:"appID" bson:"appID"`
WalletID string `json:"walletID" bson:"walletID"`
Alias string `json:"alias" bson:"alias"`
IsTrust int64 `json:"isTrust" bson:"isTrust"`
PasswordType int64 `json:"passwordType" bson:"passwordType"`
Password string `json:"password" bson:"password"`
AuthKey string `json:"authKey" bson:"authKey"`
RootPath string `json:"rootPath" bson:"rootPath"`
AccountIndex int64 `json:"accountIndex" bson:"accountIndex"`
Keystore string `json:"keystore" bson:"keystore"`
Applytime int64 `json:"applytime" bson:"applytime"`
Dealstate int64 `json:"dealstate" bson:"dealstate"`
}