mirror of
https://github.com/Permissionless-Software-Foundation/ipfs-bch-wallet-consumer.git
synced 2026-09-21 16:52:03 -07:00
fix(txData): Renamed transaction REST API endpoint to txData
This commit is contained in:
@@ -299,6 +299,10 @@ class BchAdapter {
|
||||
|
||||
async getTransaction (txids) {
|
||||
try {
|
||||
console.log(
|
||||
`Getting txData on these txids: ${JSON.stringify(txids, null, 2)}`
|
||||
)
|
||||
|
||||
// Throw an error if this IPFS node has not yet made a connection to a
|
||||
// wallet service provider.
|
||||
const selectedProvider =
|
||||
@@ -308,7 +312,7 @@ class BchAdapter {
|
||||
}
|
||||
|
||||
const rpcData = {
|
||||
endpoint: 'transaction',
|
||||
endpoint: 'txData',
|
||||
txids
|
||||
}
|
||||
|
||||
@@ -330,11 +334,12 @@ class BchAdapter {
|
||||
|
||||
// Wait for data to come back from the wallet service.
|
||||
const data = await this.waitForRPCResponse(rpcId)
|
||||
console.log(`data: ${JSON.stringify(data, null, 2)}`)
|
||||
|
||||
return data
|
||||
} catch (err) {
|
||||
// console.log('createUser() error: ', err)
|
||||
wlogger.error('Error in adapters/bch.js/transaction()')
|
||||
wlogger.error('Error in adapters/bch.js/getTransaction()')
|
||||
throw err
|
||||
}
|
||||
}
|
||||
|
||||
@@ -347,10 +347,13 @@ class BchRESTControllerLib {
|
||||
}
|
||||
|
||||
/**
|
||||
* @api {post} /bch/transaction Transaction
|
||||
* @apiName Transaction
|
||||
* @api {post} /bch/txData TX Data
|
||||
* @apiName txData
|
||||
* @apiGroup REST BCH
|
||||
* @apiDescription Get data about specific transactions.
|
||||
* @apiDescription Get expanded transaction data for an array of transaction
|
||||
* IDs. Each call is limited to 20 TXIDs or less.
|
||||
*
|
||||
* Get data about specific transactions.
|
||||
* Given an array of transaction IDs this endpoint will return an array of objects
|
||||
* with the following properties
|
||||
*
|
||||
@@ -433,8 +436,16 @@ class BchRESTControllerLib {
|
||||
* "error": "Unprocessable Entity"
|
||||
* }
|
||||
*/
|
||||
async transaction (ctx) {
|
||||
async txData (ctx) {
|
||||
try {
|
||||
console.log(
|
||||
`txData called with this body data: ${JSON.stringify(
|
||||
ctx.request.body,
|
||||
null,
|
||||
2
|
||||
)}`
|
||||
)
|
||||
|
||||
const txids = ctx.request.body.txids
|
||||
|
||||
const data = await this.adapters.bch.getTransaction(txids)
|
||||
|
||||
@@ -57,7 +57,7 @@ class BchRouter {
|
||||
this.router.post('/utxos', this.postUtxos)
|
||||
this.router.post('/broadcast', this.postBroadcast)
|
||||
this.router.post('/txHistory', this.postTxHistory)
|
||||
this.router.post('/transaction', this.postTransaction)
|
||||
this.router.post('/txData', this.postTxData)
|
||||
this.router.post('/pubkey', this.postPubKey)
|
||||
|
||||
// Attach the Controller routes to the Koa app.
|
||||
@@ -89,8 +89,8 @@ class BchRouter {
|
||||
await _this.bchRESTController.txHistory(ctx, next)
|
||||
}
|
||||
|
||||
async postTransaction (ctx, next) {
|
||||
await _this.bchRESTController.transaction(ctx, next)
|
||||
async postTxData (ctx, next) {
|
||||
await _this.bchRESTController.txData(ctx, next)
|
||||
}
|
||||
|
||||
async postPubKey (ctx, next) {
|
||||
|
||||
+88
-88
@@ -28,23 +28,23 @@ describe('#BCH E2E Tests', () => {
|
||||
})
|
||||
})
|
||||
|
||||
// describe('#balance', () => {
|
||||
// it('should get the balance for an address', async () => {
|
||||
// const body = {
|
||||
// addresses: 'bitcoincash:qrl2nlsaayk6ekxn80pq0ks32dya8xfclyktem2mqj'
|
||||
// }
|
||||
//
|
||||
// const url = `${SERVER}/bch/balance`
|
||||
// const result = await axios.post(url, body)
|
||||
// // console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
//
|
||||
// assert.equal(result.data.success, true)
|
||||
// assert.equal(result.data.status, 200)
|
||||
// assert.property(result.data, 'balance')
|
||||
// assert.property(result.data.balance, 'confirmed')
|
||||
// assert.property(result.data.balance, 'unconfirmed')
|
||||
// })
|
||||
// })
|
||||
describe('#balance', () => {
|
||||
it('should get the balance for an address', async () => {
|
||||
const body = {
|
||||
addresses: 'bitcoincash:qrl2nlsaayk6ekxn80pq0ks32dya8xfclyktem2mqj'
|
||||
}
|
||||
|
||||
const url = `${SERVER}/bch/balance`
|
||||
const result = await axios.post(url, body)
|
||||
// console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
|
||||
assert.equal(result.data.success, true)
|
||||
assert.equal(result.data.status, 200)
|
||||
assert.property(result.data, 'balance')
|
||||
assert.property(result.data.balance, 'confirmed')
|
||||
assert.property(result.data.balance, 'unconfirmed')
|
||||
})
|
||||
})
|
||||
|
||||
describe('#utxos', () => {
|
||||
it('should get UTXOs for an address', async () => {
|
||||
@@ -62,59 +62,59 @@ describe('#BCH E2E Tests', () => {
|
||||
})
|
||||
})
|
||||
|
||||
// describe('#broadcast', () => {
|
||||
// it('should attempt to broadcast a transaction', async () => {
|
||||
// const body = {
|
||||
// hex: '01000000013ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000006a4730440220540986d1c58d6e76f8f05501c520c38ce55393d0ed7ed3c3a82c69af04221232022058ea43ed6c05fec0eccce749a63332ed4525460105346f11108b9c26df93cd72012103083dfc5a0254613941ddc91af39ff90cd711cdcde03a87b144b883b524660c39ffffffff01807c814a000000001976a914d7e7c4e0b70eaa67ceff9d2823d1bbb9f6df9a5188ac00000000'
|
||||
// }
|
||||
//
|
||||
// const url = `${SERVER}/bch/broadcast`
|
||||
// const result = await axios.post(url, body)
|
||||
// // console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
//
|
||||
// assert.equal(result.data.status, 422)
|
||||
// assert.equal(result.data.success, false)
|
||||
// assert.equal(result.data.message, 'Missing inputs')
|
||||
// assert.equal(result.data.endpoint, 'broadcast')
|
||||
// })
|
||||
// })
|
||||
//
|
||||
// describe('#pubkey', () => {
|
||||
// it('should return "not found" if pubkey is not on chain', async () => {
|
||||
// const body = {
|
||||
// address: 'bitcoincash:qrl2nlsaayk6ekxn80pq0ks32dya8xfclyktem2mqj'
|
||||
// }
|
||||
//
|
||||
// const url = `${SERVER}/bch/pubkey`
|
||||
// const result = await axios.post(url, body)
|
||||
// // console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
//
|
||||
// assert.equal(result.data.success, true)
|
||||
// assert.equal(result.data.status, 200)
|
||||
// assert.equal(result.data.endpoint, 'pubkey')
|
||||
// assert.equal(result.data.pubkey.success, false)
|
||||
// assert.equal(result.data.pubkey.publicKey, 'not found')
|
||||
// })
|
||||
//
|
||||
// it('should get a public key for an address', async () => {
|
||||
// const body = {
|
||||
// address: 'bitcoincash:qznxh6yegf7nfrsd0zeksed4jcqzvg7tzqlcqw3v97'
|
||||
// }
|
||||
//
|
||||
// const url = `${SERVER}/bch/pubkey`
|
||||
// const result = await axios.post(url, body)
|
||||
// // console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
//
|
||||
// assert.equal(result.data.success, true)
|
||||
// assert.equal(result.data.status, 200)
|
||||
// assert.equal(result.data.endpoint, 'pubkey')
|
||||
// assert.equal(result.data.pubkey.success, true)
|
||||
// assert.equal(
|
||||
// result.data.pubkey.publicKey,
|
||||
// '03ebd6d6aae05da1c5905445e3886b30f6a31b26a88de5980de236bd22380fa942'
|
||||
// )
|
||||
// })
|
||||
// })
|
||||
describe('#broadcast', () => {
|
||||
it('should attempt to broadcast a transaction', async () => {
|
||||
const body = {
|
||||
hex: '01000000013ba3edfd7a7b12b27ac72c3e67768f617fc81bc3888a51323a9fb8aa4b1e5e4a000000006a4730440220540986d1c58d6e76f8f05501c520c38ce55393d0ed7ed3c3a82c69af04221232022058ea43ed6c05fec0eccce749a63332ed4525460105346f11108b9c26df93cd72012103083dfc5a0254613941ddc91af39ff90cd711cdcde03a87b144b883b524660c39ffffffff01807c814a000000001976a914d7e7c4e0b70eaa67ceff9d2823d1bbb9f6df9a5188ac00000000'
|
||||
}
|
||||
|
||||
const url = `${SERVER}/bch/broadcast`
|
||||
const result = await axios.post(url, body)
|
||||
// console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
|
||||
assert.equal(result.data.status, 422)
|
||||
assert.equal(result.data.success, false)
|
||||
assert.equal(result.data.message, 'Missing inputs')
|
||||
assert.equal(result.data.endpoint, 'broadcast')
|
||||
})
|
||||
})
|
||||
|
||||
describe('#pubkey', () => {
|
||||
it('should return "not found" if pubkey is not on chain', async () => {
|
||||
const body = {
|
||||
address: 'bitcoincash:qrl2nlsaayk6ekxn80pq0ks32dya8xfclyktem2mqj'
|
||||
}
|
||||
|
||||
const url = `${SERVER}/bch/pubkey`
|
||||
const result = await axios.post(url, body)
|
||||
// console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
|
||||
assert.equal(result.data.success, true)
|
||||
assert.equal(result.data.status, 200)
|
||||
assert.equal(result.data.endpoint, 'pubkey')
|
||||
assert.equal(result.data.pubkey.success, false)
|
||||
assert.equal(result.data.pubkey.publicKey, 'not found')
|
||||
})
|
||||
|
||||
it('should get a public key for an address', async () => {
|
||||
const body = {
|
||||
address: 'bitcoincash:qznxh6yegf7nfrsd0zeksed4jcqzvg7tzqlcqw3v97'
|
||||
}
|
||||
|
||||
const url = `${SERVER}/bch/pubkey`
|
||||
const result = await axios.post(url, body)
|
||||
// console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
|
||||
assert.equal(result.data.success, true)
|
||||
assert.equal(result.data.status, 200)
|
||||
assert.equal(result.data.endpoint, 'pubkey')
|
||||
assert.equal(result.data.pubkey.success, true)
|
||||
assert.equal(
|
||||
result.data.pubkey.publicKey,
|
||||
'03ebd6d6aae05da1c5905445e3886b30f6a31b26a88de5980de236bd22380fa942'
|
||||
)
|
||||
})
|
||||
})
|
||||
|
||||
describe('#txHistory', () => {
|
||||
it('should get transaction history for an address, and sort by default in descending order.', async () => {
|
||||
@@ -187,22 +187,22 @@ describe('#BCH E2E Tests', () => {
|
||||
})
|
||||
})
|
||||
|
||||
// describe('#transaction', () => {
|
||||
// it('should get transaction details for a txid', async () => {
|
||||
// const body = {
|
||||
// txids: [
|
||||
// '01517ff1587fa5ffe6f5eb91c99cf3f2d22330cd7ee847e928ce90ca95bf781b'
|
||||
// ]
|
||||
// }
|
||||
//
|
||||
// const url = `${SERVER}/bch/transaction`
|
||||
// const result = await axios.post(url, body)
|
||||
// // console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
//
|
||||
// assert.equal(result.data.status, 200)
|
||||
// assert.isArray(result.data.txData)
|
||||
// assert.property(result.data.txData[0].txData, 'txid')
|
||||
// assert.property(result.data.txData[0].txData, 'vin')
|
||||
// })
|
||||
// })
|
||||
describe('#txData', () => {
|
||||
it('should get transaction details for a txid', async () => {
|
||||
const body = {
|
||||
txids: [
|
||||
'01517ff1587fa5ffe6f5eb91c99cf3f2d22330cd7ee847e928ce90ca95bf781b'
|
||||
]
|
||||
}
|
||||
|
||||
const url = `${SERVER}/bch/txData`
|
||||
const result = await axios.post(url, body)
|
||||
// console.log(`result.data: ${JSON.stringify(result.data, null, 2)}`)
|
||||
|
||||
assert.equal(result.data.status, 200)
|
||||
assert.isArray(result.data.txData)
|
||||
assert.property(result.data.txData[0], 'txid')
|
||||
assert.property(result.data.txData[0], 'vin')
|
||||
})
|
||||
})
|
||||
})
|
||||
|
||||
Reference in New Issue
Block a user