sdk.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  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. var ret = await moralis.getAllTotkenPrice()
  11. console.log('getTotkenPrice result:', ret)
  12. if (ret)
  13. ctx.body = utils.toJson(0, ret, null);
  14. else ctx.body = utils.toJson(-1, null, "redis read error.");
  15. }
  16. /**
  17. * 获取交易记录
  18. * @param {*} ctx
  19. */
  20. async function getTransfers(ctx) {
  21. console.log("body", ctx);
  22. const obj = ctx.request.body;
  23. console.log("obj", obj);
  24. if (!obj.chain)//默认 bsc 币安链
  25. obj.chain = 'bsc'
  26. await moralis.getTokenTransfers(obj).then((result) => {
  27. ctx.body = result;
  28. })
  29. }
  30. /**
  31. * 出金,入金交易
  32. * @param {*} ctx
  33. * @returns
  34. */
  35. async function transfer(ctx) {
  36. if (ctx.request == null || ctx.request.body == null) {
  37. ctx.body = utils.toJson(-1, null, "request error. ");
  38. return
  39. }
  40. const obj = ctx.request.body;
  41. await moralis.transfer(obj).then((result) => {
  42. ctx.body = result;
  43. });
  44. }
  45. async function getAllTokenWithdrawInfoLists(ctx) {
  46. if (ctx.request == null || ctx.request.body == null) {
  47. ctx.body = utils.toJson(-1, null, "request error. ");
  48. return
  49. }
  50. ctx.body = await moralis.getAllTokenWithdrawInfoLists(ctx);
  51. }
  52. async function withdraw(ctx) {
  53. if (ctx.request == null || ctx.request.body == null) {
  54. ctx.body = utils.toJson(-1, null, "request error. ");
  55. return
  56. }
  57. const obj = ctx.request.body;
  58. await moralis.withdraw(obj).then((result) => {
  59. ctx.body = result;
  60. });
  61. }
  62. //获取交易记录
  63. router.post('/getTransfers', getTransfers)
  64. // 获取所有代币价格
  65. router.post('/getAllTotkenPrice', getAllTotkenPrice)
  66. //归集 获取当前余额是否大于 1 美刀,大于就将用户充币地址的余额转移到归集地址
  67. router.post('/transfer', transfer)
  68. //提现
  69. router.post('/withdraw', withdraw);
  70. //获取所有地址的所要消耗的最低提取费
  71. router.post('/getAllTokenWithdrawInfoLists', getAllTokenWithdrawInfoLists)
  72. async function crypto_test(ctx) {
  73. if (ctx.request == null || ctx.request.body == null) {
  74. ctx.body = utils.toJson(-1, null, "request error. ");
  75. return;
  76. }
  77. const obj = ctx.request.body;
  78. var crypt_key = obj.key;
  79. var message = obj.privateKey;
  80. //process.env.NODE_ENV
  81. console.log("NDK_HOME", process.env.NDK_HOME);
  82. var de_message = utils.decryptPrivityKey(crypt_key, message);
  83. console.log("decrypt message:", message);
  84. ctx.body = {
  85. decrypt: de_message
  86. }
  87. }
  88. router.post('/crypto_test', crypto_test)
  89. module.exports = router;