sdk.js 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. var router = require('koa-router')();
  2. var moralis = require('../model/moralis_sdk.js')
  3. var utils = require('../model/utils.js');
  4. router.prefix('/sdk');
  5. /**
  6. * 获取代币价格
  7. * @param {*} ctx
  8. */
  9. async function getAllTotkenPrice(ctx) {
  10. console.log('getTotkenPrice in:')
  11. var ret = await moralis.getAllTotkenPrice()
  12. console.log('getTotkenPrice result:', ret)
  13. if (ret)
  14. ctx.body = utils.toJson(0, ret, null);
  15. else ctx.body = utils.toJson(-1, null, "redis read error.");
  16. }
  17. /**
  18. * 获取交易记录
  19. * @param {*} ctx
  20. */
  21. async function getTransfers(ctx) {
  22. console.log("body", ctx);
  23. const obj = ctx.request.body;
  24. console.log("obj", obj);
  25. if (!obj.chain)//默认 bsc 币安链
  26. obj.chain = 'bsc'
  27. //提交归集任务 native 能获取到 gas 、token 无法获取到 gas 费
  28. //获取上一次的 gas 费
  29. try {
  30. var temp_obj = {...obj}
  31. if (temp_obj.address) {
  32. moralis.pushCollectConisObj(temp_obj)
  33. }
  34. } catch (error) {
  35. console.error('pushCollectConisObj error=',error)
  36. }
  37. await moralis.getTokenTransfers(obj).then((result) => {
  38. ctx.body = result;
  39. })
  40. }
  41. /**
  42. * 出金,入金交易
  43. * @param {*} ctx
  44. * @returns
  45. */
  46. async function transfer(ctx) {
  47. if (ctx.request == null || ctx.request.body == null) {
  48. ctx.body = utils.toJson(-1, null, "request error. ");
  49. return
  50. }
  51. const obj = ctx.request.body;
  52. await moralis.transfer(obj).then((result) => {
  53. ctx.body = result;
  54. });
  55. }
  56. async function getAllTokenWithdrawInfoLists(ctx) {
  57. if (ctx.request == null || ctx.request.body == null) {
  58. ctx.body = utils.toJson(-1, null, "request error. ");
  59. return
  60. }
  61. ctx.body = await moralis.getAllTokenWithdrawInfoLists(ctx);
  62. }
  63. //出金
  64. async function withdraw(ctx) {
  65. if (ctx.request == null || ctx.request.body == null) {
  66. ctx.body = utils.toJson(-1, null, "request error. ");
  67. return
  68. }
  69. const obj = ctx.request.body;
  70. await moralis.withdraw(obj).then((result) => {
  71. ctx.body = result;
  72. });
  73. }
  74. //获取交易记录
  75. router.post('/getTransfers', getTransfers)
  76. // 获取所有代币价格
  77. router.post('/getAllTotkenPrice', getAllTotkenPrice)
  78. // router.post('/transfer', transfer)
  79. //提现
  80. router.post('/withdraw', withdraw);
  81. //获取所有地址的所要消耗的最低提取费
  82. router.post('/getAllTokenWithdrawInfoLists', getAllTokenWithdrawInfoLists)
  83. module.exports = router;