chain33-rpc-api
Advanced tools
Comparing version 1.3.1 to 1.4.0
import HttpProvider from './HttpProvider'; | ||
import { SignParams, CreateRawTransactionParams, TokenTxParams, CreateRawTokenParams, SendToAddressParams } from './interfaces'; | ||
/** | ||
@@ -15,14 +16,8 @@ * @description 封装不依赖钱包的chain33 API | ||
* @description 构造交易 | ||
* @param {*} params to: 发送到地址。 | ||
amount: 发送金额。 | ||
fee 手续费 | ||
note: 备注。 | ||
isToken: 是否是token类型的转账 (非token转账这个不用填) | ||
isWithdraw:是否为取款交易 | ||
tokenSymbol: token 的 symbol (非token转账这个不用填) | ||
execName:合约名称("none", "coins", "hashlock", "retrieve", "ticket", "token", "trade"等等) | ||
* @param {CreateRawTransactionParams} params 构造交易参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
createRawTransaction(params: any, url?: string): Promise<any>; | ||
createRawTransaction(params: CreateRawTransactionParams, url?: string): Promise<any>; | ||
/** | ||
@@ -46,2 +41,43 @@ * @description 发送签名后的交易 | ||
/** | ||
* @description 交易签名 SignRawTx | ||
* @param {SignParams} params 交易签名参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
signRawTx(params: SignParams, url?: string): Promise<any>; | ||
/** | ||
* @description 构造并发送不收手续费交易 CreateNoBalanceTransaction(平行链) | ||
* @param {string} txHex 十六进制交易文本 | ||
* @param {string} payAddr 用于付费的地址,这个地址要在主链上存在,并且里面有比特元用于支付手续费 | ||
* @param {string} [privkey=''] 对应于payAddr的私钥。如果payAddr已经导入到平行链,那么这个私钥可以不传(建议做法是在平行链上导入地址,保证私钥安全) | ||
* @param {string} [url=''] | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
createNoBalanceTransaction(txHex: string, payAddr: string, privkey?: string, url?: string): Promise<any>; | ||
/** | ||
* @description 构造交易组 CreateRawTxGroup | ||
* @param {string[]} txs 十六进制格式交易数组 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
createRawTxGroup(txs: string[], url?: string): Promise<any>; | ||
/** | ||
* @description 转账 | ||
* @param {SendToAddressParams} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
sendToAddress(params: SendToAddressParams, url?: string): Promise<any>; | ||
/** | ||
* @description 解析十六进制交易文本 | ||
* @param {string} txHex 十六进制交易文本 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
decodeRawTransaction(txHex: string, url?: string): Promise<any>; | ||
/** | ||
* @description 查询地址余额 | ||
@@ -145,13 +181,7 @@ * @param {string[]} addresses 地址数组 | ||
* @description 查询token相关的交易 | ||
* @param {string} symbol token标记符 | ||
* @param {string} addr 可选, 不填返回和token相关的交易, 填写返回和token以及to/from 是这个地址的相关的交易 | ||
* @param {number} flag 0:addr 的所有交易;1:当 addr 为发送方时的交易;2:当 addr 为接收方时的交易 | ||
* @param {number} count 数量 | ||
* @param {number} direction 0:向后获取 1:向后获取 | ||
* @param {number} height 交易所在的block高度,-1:表示从最新的开始向后取;大于等于0的值,从具体的高度+具体index开始取 | ||
* @param {number} index 交易所在block中的索引,取值0--100000 | ||
* @param {TokenTxParams} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
getTxByToken(symbol: string, addr: string, count: number, flag: number, height: number, index: number, direction: number, url?: string): Promise<any>; | ||
getTxByToken(params: TokenTxParams, url?: string): Promise<any>; | ||
/** | ||
@@ -209,2 +239,47 @@ * @description 查询指定创建成功的token | ||
/** | ||
* @description 通过区块哈希获取区块信息 | ||
* @param {string[]} hashes 区块哈希列表 | ||
* @param {boolean} disableDetail 是否打印区块详细信息 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getBlockByHashes(hashes: string[], disableDetail: boolean, url?: string): Promise<any>; | ||
/** | ||
* @description 获取区块的序列信息 | ||
* @param {number} start 开始区块高度 | ||
* @param {number} end 结束区块高度 | ||
* @param {boolean} isDetail 是否打印区块详细信息 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getBlockSequences(start: number, end: number, isDetail: boolean, url?: string): Promise<any>; | ||
/** | ||
* @description 获取最新区块的序列号 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getLastBlockSequence(url?: string): Promise<any>; | ||
/** | ||
* @description 增加区块序列号变更回调 | ||
* @param {string} name 回调名称,长度不能超过128, | ||
* @param {string} URL 序列号变化通知的URL,长度不能超过1024;当name相同,URL为空时取消通知 | ||
* @param {string} encode 数据编码方式;json 或者 proto | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
addSeqCallBack(name: string, URL: string, encode: string, url?: string): Promise<any>; | ||
/** | ||
* @description 列举区块序列号回调 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
listSeqCallBack(url?: string): Promise<any>; | ||
/** | ||
* @description 获取某回调最新序列号的值 | ||
* @param {string} data 回调名 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getSeqCallBackLastNum(data: string, url?: string): Promise<any>; | ||
/** | ||
* @description 获取远程节点列表 | ||
@@ -233,3 +308,142 @@ * @returns {Promise<any>} | ||
isSync(url?: string): Promise<any>; | ||
callPromiseAPI(apiName: string, params?: any, url?: string, prefix?: string): Promise<any>; | ||
/** | ||
* @description 获取 GetMempool | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getMempool(url?: string): Promise<any>; | ||
/** | ||
* @description 生成预创建token 的交易(未签名) | ||
* @param {CreateRawTokenParams} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenPreCreateTx(params: CreateRawTokenParams, url?: string): Promise<any>; | ||
/** | ||
* @description 生成完成创建token 的交易(未签名) | ||
* @param {string} symbol token标记符,最大长度是16个字符,且必须为大写字符 | ||
* @param {string} owner token拥有者地址 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenFinishTx(symbol: string, owner: string, url?: string): Promise<any>; | ||
/** | ||
* @description 生成撤销创建token 的交易(未签名) | ||
* @param {string} symbol token标记符,最大长度是16个字符,且必须为大写字符 | ||
* @param {string} owner token拥有者地址 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenRevokeTx(symbol: string, owner: string, url?: string): Promise<any>; | ||
/** | ||
* @description 查询地址对应的买单 | ||
* @param {string} addr 买单持有人 | ||
* @param {string[]} [token=[]] 具体的token的标识符,可以是多个 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesBuyOrder(addr: string, token?: string[], url?: string): Promise<any>; | ||
/** | ||
* @description 分状态查询地址的买单 | ||
* @param {string} addr 买单持有人 | ||
* @param {number} status 买单状态 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesBuyOrderWithStatus(addr: string, status: number, url?: string): Promise<any>; | ||
/** | ||
* @description 显示一个token 指定数量的买单 | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getTokenBuyOrderByStatus(params: any, url?: string): Promise<any>; | ||
/** | ||
* @description 显示指定token出售者的一个或多个token 或 不指定token 的卖单 | ||
* @param {string} addr 卖单持有人 | ||
* @param {string[]} [token=[]] 具体的token的标识符,可以是多个, 或不指定 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesSellOrder(addr: string, token?: string[], url?: string): Promise<any>; | ||
/** | ||
* @description 显示指定状态下的某地址卖单 | ||
* @param {string} addr 买单持有人 | ||
* @param {number} status 买单状态 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getAllSellOrderWithStatus(addr: string, status: number, url?: string): Promise<any>; | ||
/** | ||
* @description 显示一个token 指定数量的卖单 | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getTokenSellOrderByStatus(params: any, url?: string): Promise<any>; | ||
/** | ||
* @description 生成 卖出token的交易(未签名) | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeSellTx(params: any, url?: string): Promise<any>; | ||
/** | ||
* @description 生成买入指定卖单卖出的token的交易(未签名) | ||
* @param {string} sellID 卖单id | ||
* @param {number} boardlotCnt 购买数量,单位手 | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeBuyTx(sellID: string, boardlotCnt: number, fee: number, url?: string): Promise<any>; | ||
/** | ||
* @description 生成撤销卖出token(卖单)的交易(未签名) | ||
* @param {string} sellID 卖单id | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeRevokeTx(sellID: string, fee: number, url?: string): Promise<any>; | ||
/** | ||
* @description 生成 买入token的交易(未签名) | ||
* @param {*} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeBuyLimitTx(params: any, url?: string): Promise<any>; | ||
/** | ||
* @description 生成卖出指定买单的token的交易(未签名) | ||
* @param {string} buyID 买单id | ||
* @param {number} boardlotCnt 购买数量,单位手 | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeSellMarketTx(buyID: string, boardlotCnt: number, fee: number, url?: string): Promise<any>; | ||
/** | ||
* @description 生成撤销买入token(买单)的交易(未签名) | ||
* @param {string} buyID 买单id | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeRevokeBuyTx(buyID: string, fee: number, url?: string): Promise<any>; | ||
/** | ||
* @description 根据状态分页列出某地址的订单(包括买单卖单) | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
GetOnesOrderWithStatus(params: any, url?: string): Promise<any>; | ||
/** | ||
* @description 请求chain33接口 | ||
* @param {string} apiName 接口名 | ||
* @param {*} [params={}] 请求参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @param {string} [prefix='Chain33'] method前缀 | ||
* @param {string} [method=''] method全称填写这个参数后无视 apiName和 prefix | ||
* @returns {Promise<any>} | ||
*/ | ||
callPromiseAPI(apiName: string, params?: any, url?: string, prefix?: string, method?: string): Promise<any>; | ||
} |
@@ -29,10 +29,4 @@ "use strict"; | ||
* @description 构造交易 | ||
* @param {*} params to: 发送到地址。 | ||
amount: 发送金额。 | ||
fee 手续费 | ||
note: 备注。 | ||
isToken: 是否是token类型的转账 (非token转账这个不用填) | ||
isWithdraw:是否为取款交易 | ||
tokenSymbol: token 的 symbol (非token转账这个不用填) | ||
execName:合约名称("none", "coins", "hashlock", "retrieve", "ticket", "token", "trade"等等) | ||
* @param {CreateRawTransactionParams} params 构造交易参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
@@ -73,2 +67,61 @@ * @memberof BtyBaseSdk | ||
/** | ||
* @description 交易签名 SignRawTx | ||
* @param {SignParams} params 交易签名参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
signRawTx(params, url = '') { | ||
return this.callPromiseAPI('SignRawTx', params, url); | ||
} | ||
/** | ||
* @description 构造并发送不收手续费交易 CreateNoBalanceTransaction(平行链) | ||
* @param {string} txHex 十六进制交易文本 | ||
* @param {string} payAddr 用于付费的地址,这个地址要在主链上存在,并且里面有比特元用于支付手续费 | ||
* @param {string} [privkey=''] 对应于payAddr的私钥。如果payAddr已经导入到平行链,那么这个私钥可以不传(建议做法是在平行链上导入地址,保证私钥安全) | ||
* @param {string} [url=''] | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
createNoBalanceTransaction(txHex, payAddr, privkey = '', url = '') { | ||
return this.callPromiseAPI('CreateNoBalanceTransaction', { | ||
txHex, | ||
payAddr, | ||
privkey, | ||
}, url); | ||
} | ||
/** | ||
* @description 构造交易组 CreateRawTxGroup | ||
* @param {string[]} txs 十六进制格式交易数组 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
createRawTxGroup(txs, url = '') { | ||
return this.callPromiseAPI('CreateRawTxGroup', { | ||
txs, | ||
}, url); | ||
} | ||
/** | ||
* @description 转账 | ||
* @param {SendToAddressParams} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
sendToAddress(params, url = '') { | ||
return this.callPromiseAPI('SendToAddress', params, url); | ||
} | ||
/** | ||
* @description 解析十六进制交易文本 | ||
* @param {string} txHex 十六进制交易文本 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
decodeRawTransaction(txHex, url = '') { | ||
return this.callPromiseAPI('DecodeRawTransaction', { | ||
txHex, | ||
}); | ||
} | ||
/** | ||
* @description 查询地址余额 | ||
@@ -99,3 +152,3 @@ * @param {string[]} addresses 地址数组 | ||
tokenSymbol, | ||
}, url); | ||
}, url, 'token'); | ||
} | ||
@@ -158,3 +211,5 @@ /** | ||
for (let i = 0; i < res.result.txs.length; i++) { | ||
res.result.txs[i]['txHash'] = hashes[i]; | ||
if (res.result.txs[i]) { | ||
res.result.txs[i]['txHash'] = hashes[i]; | ||
} | ||
} | ||
@@ -267,25 +322,11 @@ } | ||
* @description 查询token相关的交易 | ||
* @param {string} symbol token标记符 | ||
* @param {string} addr 可选, 不填返回和token相关的交易, 填写返回和token以及to/from 是这个地址的相关的交易 | ||
* @param {number} flag 0:addr 的所有交易;1:当 addr 为发送方时的交易;2:当 addr 为接收方时的交易 | ||
* @param {number} count 数量 | ||
* @param {number} direction 0:向后获取 1:向后获取 | ||
* @param {number} height 交易所在的block高度,-1:表示从最新的开始向后取;大于等于0的值,从具体的高度+具体index开始取 | ||
* @param {number} index 交易所在block中的索引,取值0--100000 | ||
* @param {TokenTxParams} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
* @memberof BtyBaseSdk | ||
*/ | ||
getTxByToken(symbol, addr, count, flag, height, index, direction, url = '') { | ||
getTxByToken(params, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'token', | ||
funcName: 'GetTxByToken', | ||
payload: { | ||
symbol, | ||
addr, | ||
count, | ||
flag, | ||
height, | ||
index, | ||
direction, | ||
}, | ||
payload: params, | ||
}, url); | ||
@@ -377,2 +418,72 @@ } | ||
/** | ||
* @description 通过区块哈希获取区块信息 | ||
* @param {string[]} hashes 区块哈希列表 | ||
* @param {boolean} disableDetail 是否打印区块详细信息 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getBlockByHashes(hashes, disableDetail, url = '') { | ||
return this.callPromiseAPI('GetBlockByHashes', { | ||
hashes, | ||
disableDetail, | ||
}, url); | ||
} | ||
/** | ||
* @description 获取区块的序列信息 | ||
* @param {number} start 开始区块高度 | ||
* @param {number} end 结束区块高度 | ||
* @param {boolean} isDetail 是否打印区块详细信息 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getBlockSequences(start, end, isDetail, url = '') { | ||
return this.callPromiseAPI('GetBlockSequences', { | ||
start, | ||
end, | ||
isDetail, | ||
}, url); | ||
} | ||
/** | ||
* @description 获取最新区块的序列号 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getLastBlockSequence(url = '') { | ||
return this.callPromiseAPI('GetBlockSequences', {}, url); | ||
} | ||
/** | ||
* @description 增加区块序列号变更回调 | ||
* @param {string} name 回调名称,长度不能超过128, | ||
* @param {string} URL 序列号变化通知的URL,长度不能超过1024;当name相同,URL为空时取消通知 | ||
* @param {string} encode 数据编码方式;json 或者 proto | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
addSeqCallBack(name, URL, encode, url = '') { | ||
return this.callPromiseAPI('AddSeqCallBack', { | ||
name, | ||
URL, | ||
encode, | ||
}, url); | ||
} | ||
/** | ||
* @description 列举区块序列号回调 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
listSeqCallBack(url = '') { | ||
return this.callPromiseAPI('ListSeqCallBack', {}, url); | ||
} | ||
/** | ||
* @description 获取某回调最新序列号的值 | ||
* @param {string} data 回调名 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getSeqCallBackLastNum(data, url = '') { | ||
return this.callPromiseAPI('GetSeqCallBackLastNum', { | ||
data, | ||
}, url); | ||
} | ||
/** | ||
* @description 获取远程节点列表 | ||
@@ -409,3 +520,236 @@ * @returns {Promise<any>} | ||
} | ||
callPromiseAPI(apiName, params = {}, url = '', prefix = 'Chain33') { | ||
/** | ||
* @description 获取 GetMempool | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getMempool(url = '') { | ||
return this.callPromiseAPI('GetMempool', {}, url); | ||
} | ||
/** | ||
* @description 生成预创建token 的交易(未签名) | ||
* @param {CreateRawTokenParams} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenPreCreateTx(params, url = '') { | ||
return this.callPromiseAPI('CreateRawTokenPreCreateTx', params, url, 'token'); | ||
} | ||
/** | ||
* @description 生成完成创建token 的交易(未签名) | ||
* @param {string} symbol token标记符,最大长度是16个字符,且必须为大写字符 | ||
* @param {string} owner token拥有者地址 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenFinishTx(symbol, owner, url = '') { | ||
return this.callPromiseAPI('CreateRawTokenFinishTx', { | ||
symbol, | ||
owner, | ||
}, url, 'token'); | ||
} | ||
/** | ||
* @description 生成撤销创建token 的交易(未签名) | ||
* @param {string} symbol token标记符,最大长度是16个字符,且必须为大写字符 | ||
* @param {string} owner token拥有者地址 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTokenRevokeTx(symbol, owner, url = '') { | ||
return this.callPromiseAPI('CreateRawTokenRevokeTx', { | ||
symbol, | ||
owner, | ||
}, url, 'token'); | ||
} | ||
/** | ||
* @description 查询地址对应的买单 | ||
* @param {string} addr 买单持有人 | ||
* @param {string[]} [token=[]] 具体的token的标识符,可以是多个 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesBuyOrder(addr, token = [], url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetOnesBuyOrder', | ||
payload: { | ||
addr, | ||
token, | ||
}, | ||
}, url); | ||
} | ||
/** | ||
* @description 分状态查询地址的买单 | ||
* @param {string} addr 买单持有人 | ||
* @param {number} status 买单状态 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesBuyOrderWithStatus(addr, status, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetOnesBuyOrderWithStatus', | ||
payload: { | ||
addr, | ||
status, | ||
}, | ||
}, url); | ||
} | ||
/** | ||
* @description 显示一个token 指定数量的买单 | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getTokenBuyOrderByStatus(params, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetTokenBuyOrderByStatus', | ||
payload: params, | ||
}, url); | ||
} | ||
/** | ||
* @description 显示指定token出售者的一个或多个token 或 不指定token 的卖单 | ||
* @param {string} addr 卖单持有人 | ||
* @param {string[]} [token=[]] 具体的token的标识符,可以是多个, 或不指定 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getOnesSellOrder(addr, token = [], url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetOnesSellOrder', | ||
payload: { | ||
addr, | ||
token, | ||
}, | ||
}, url); | ||
} | ||
/** | ||
* @description 显示指定状态下的某地址卖单 | ||
* @param {string} addr 买单持有人 | ||
* @param {number} status 买单状态 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getAllSellOrderWithStatus(addr, status, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetAllSellOrderWithStatus', | ||
payload: { | ||
addr, | ||
status, | ||
}, | ||
}, url); | ||
} | ||
/** | ||
* @description 显示一个token 指定数量的卖单 | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
getTokenSellOrderByStatus(params, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetTokenSellOrderByStatus', | ||
payload: params, | ||
}, url); | ||
} | ||
/** | ||
* @description 生成 卖出token的交易(未签名) | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeSellTx(params, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeSellTx', params, url, 'trade'); | ||
} | ||
/** | ||
* @description 生成买入指定卖单卖出的token的交易(未签名) | ||
* @param {string} sellID 卖单id | ||
* @param {number} boardlotCnt 购买数量,单位手 | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeBuyTx(sellID, boardlotCnt, fee, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeBuyTx', { | ||
sellID, | ||
boardlotCnt, | ||
fee, | ||
}, url, 'trade'); | ||
} | ||
/** | ||
* @description 生成撤销卖出token(卖单)的交易(未签名) | ||
* @param {string} sellID 卖单id | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeRevokeTx(sellID, fee, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeRevokeTx', { | ||
sellID, | ||
fee, | ||
}, url, 'trade'); | ||
} | ||
/** | ||
* @description 生成 买入token的交易(未签名) | ||
* @param {*} params 参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeBuyLimitTx(params, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeBuyLimitTx', params, url, 'trade'); | ||
} | ||
/** | ||
* @description 生成卖出指定买单的token的交易(未签名) | ||
* @param {string} buyID 买单id | ||
* @param {number} boardlotCnt 购买数量,单位手 | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeSellMarketTx(buyID, boardlotCnt, fee, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeSellMarketTx', { | ||
buyID, | ||
boardlotCnt, | ||
fee, | ||
}, url, 'trade'); | ||
} | ||
/** | ||
* @description 生成撤销买入token(买单)的交易(未签名) | ||
* @param {string} buyID 买单id | ||
* @param {number} fee 交易的手续费 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
createRawTradeRevokeBuyTx(buyID, fee, url = '') { | ||
return this.callPromiseAPI('CreateRawTradeRevokeBuyTx', { | ||
buyID, | ||
fee, | ||
}, url, 'trade'); | ||
} | ||
/** | ||
* @description 根据状态分页列出某地址的订单(包括买单卖单) | ||
* @param {*} params 查询参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @returns {Promise<any>} | ||
*/ | ||
GetOnesOrderWithStatus(params, url = '') { | ||
return this.callPromiseAPI('Query', { | ||
execer: 'trade', | ||
funcName: 'GetOnesOrderWithStatus', | ||
payload: params, | ||
}, url); | ||
} | ||
/** | ||
* @description 请求chain33接口 | ||
* @param {string} apiName 接口名 | ||
* @param {*} [params={}] 请求参数 | ||
* @param {string} [url=''] 接口地址 | ||
* @param {string} [prefix='Chain33'] method前缀 | ||
* @param {string} [method=''] method全称填写这个参数后无视 apiName和 prefix | ||
* @returns {Promise<any>} | ||
*/ | ||
callPromiseAPI(apiName, params = {}, url = '', prefix = 'Chain33', method = '') { | ||
return this.httpProvider.doFetch({ | ||
@@ -416,3 +760,3 @@ url, | ||
jsonrpc: '2.0', | ||
method: `${prefix}.${apiName}`, | ||
method: method || `${prefix}.${apiName}`, | ||
params: [params], | ||
@@ -419,0 +763,0 @@ }, |
{ | ||
"name": "chain33-rpc-api", | ||
"version": "1.3.1", | ||
"version": "1.4.0", | ||
"description": "chain33 rpc 接口封装", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.js", |
# chain33 接口调用工具 | ||
- 封装了chain33 rpc接口除Wallet接口和挖矿接口外的所有系统接口,Token和Trade系统合约接口。[2018/12/10] | ||
- [chain33 rpc接口文档](https://chain.33.cn/document/95) | ||
@@ -4,0 +6,0 @@ - http://114.55.101.159:8801 是测试链的一个节点 |
Sorry, the diff of this file is not supported yet
75292
13
1656
43