sdk.js 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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. //提交归集任务
  28. //获取上一次的 gas 费
  29. try {
  30. if (obj.address) {
  31. moralis.pushCollectConisObj(obj)
  32. }
  33. } catch (error) {
  34. console.error('pushCollectConisObj')
  35. }
  36. await moralis.getTokenTransfers(obj).then((result) => {
  37. ctx.body = result;
  38. })
  39. }
  40. /**
  41. * 出金,入金交易
  42. * @param {*} ctx
  43. * @returns
  44. */
  45. async function transfer(ctx) {
  46. if (ctx.request == null || ctx.request.body == null) {
  47. ctx.body = utils.toJson(-1, null, "request error. ");
  48. return
  49. }
  50. const obj = ctx.request.body;
  51. await moralis.transfer(obj).then((result) => {
  52. ctx.body = result;
  53. });
  54. }
  55. async function getAllTokenWithdrawInfoLists(ctx) {
  56. if (ctx.request == null || ctx.request.body == null) {
  57. ctx.body = utils.toJson(-1, null, "request error. ");
  58. return
  59. }
  60. ctx.body = await moralis.getAllTokenWithdrawInfoLists(ctx);
  61. }
  62. //出金
  63. async function withdraw(ctx) {
  64. if (ctx.request == null || ctx.request.body == null) {
  65. ctx.body = utils.toJson(-1, null, "request error. ");
  66. return
  67. }
  68. const obj = ctx.request.body;
  69. await moralis.withdraw(obj).then((result) => {
  70. ctx.body = result;
  71. });
  72. }
  73. //获取交易记录
  74. router.post('/getTransfers', getTransfers)
  75. // 获取所有代币价格
  76. router.post('/getAllTotkenPrice', getAllTotkenPrice)
  77. //归集 获取当前余额是否大于 1 美刀,大于就将用户充币地址的余额转移到归集地址
  78. router.post('/transfer', transfer)
  79. //提现
  80. router.post('/withdraw', withdraw);
  81. //获取所有地址的所要消耗的最低提取费
  82. router.post('/getAllTokenWithdrawInfoLists', getAllTokenWithdrawInfoLists)
  83. async function crypto_test(ctx) {
  84. if (ctx.request == null || ctx.request.body == null) {
  85. ctx.body = utils.toJson(-1, null, "request error. ");
  86. return;
  87. }
  88. const obj = ctx.request.body;
  89. var crypt_key = obj.key;
  90. var message = obj.privateKey;
  91. //process.env.NODE_ENV
  92. console.log("NDK_HOME", process.env.NDK_HOME);
  93. var de_message = utils.decryptPrivityKey(crypt_key, message);
  94. console.log("decrypt message:", message);
  95. ctx.body = {
  96. decrypt: de_message
  97. }
  98. }
  99. router.post('/crypto_test', crypto_test)
  100. module.exports = router;