@unchainedshop/plugins 4.0.0-rc.15 → 4.0.0-rc.17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (302) hide show
  1. package/lib/accounts/google-oauth.d.ts +4 -0
  2. package/lib/accounts/google-oauth.d.ts.map +1 -0
  3. package/lib/accounts/google-oauth.js +145 -0
  4. package/lib/accounts/google-oauth.js.map +1 -0
  5. package/lib/accounts/linkedin-oauth.d.ts +4 -0
  6. package/lib/accounts/linkedin-oauth.d.ts.map +1 -0
  7. package/lib/accounts/linkedin-oauth.js +82 -0
  8. package/lib/accounts/linkedin-oauth.js.map +1 -0
  9. package/lib/delivery/send-message.js.map +1 -1
  10. package/lib/enrollments/licensed.js +15 -2
  11. package/lib/enrollments/licensed.js.map +1 -1
  12. package/lib/files/gridfs/adapter.js +1 -1
  13. package/lib/files/gridfs/adapter.js.map +1 -1
  14. package/lib/files/gridfs/gridfs-adapter.d.ts +3 -0
  15. package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -0
  16. package/lib/files/gridfs/gridfs-adapter.js +97 -0
  17. package/lib/files/gridfs/gridfs-adapter.js.map +1 -0
  18. package/lib/files/gridfs/gridfs-webhook.d.ts +11 -0
  19. package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -0
  20. package/lib/files/gridfs/gridfs-webhook.js +84 -0
  21. package/lib/files/gridfs/gridfs-webhook.js.map +1 -0
  22. package/lib/files/gridfs/handler-express.d.ts.map +1 -1
  23. package/lib/files/gridfs/handler-express.js +17 -24
  24. package/lib/files/gridfs/handler-express.js.map +1 -1
  25. package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
  26. package/lib/files/gridfs/handler-fastify.js +45 -11
  27. package/lib/files/gridfs/handler-fastify.js.map +1 -1
  28. package/lib/files/gridfs/module.d.ts +2 -2
  29. package/lib/files/minio/handler-express.d.ts.map +1 -1
  30. package/lib/files/minio/handler-express.js +4 -7
  31. package/lib/files/minio/handler-express.js.map +1 -1
  32. package/lib/files/minio/handler-fastify.js +2 -2
  33. package/lib/files/minio/handler-fastify.js.map +1 -1
  34. package/lib/files/minio/index.d.ts +1 -1
  35. package/lib/files/minio/index.d.ts.map +1 -1
  36. package/lib/files/minio/index.js +3 -3
  37. package/lib/files/minio/index.js.map +1 -1
  38. package/lib/files/minio/minio-adapter.d.ts +6 -0
  39. package/lib/files/minio/minio-adapter.d.ts.map +1 -0
  40. package/lib/files/minio/minio-adapter.js +181 -0
  41. package/lib/files/minio/minio-adapter.js.map +1 -0
  42. package/lib/files/minio/minio-webhook.d.ts +2 -0
  43. package/lib/files/minio/minio-webhook.d.ts.map +1 -0
  44. package/lib/files/minio/minio-webhook.js +33 -0
  45. package/lib/files/minio/minio-webhook.js.map +1 -0
  46. package/lib/filters/local-search.js +1 -1
  47. package/lib/filters/local-search.js.map +1 -1
  48. package/lib/payment/apple-iap/adapter.js +12 -10
  49. package/lib/payment/apple-iap/adapter.js.map +1 -1
  50. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -1
  51. package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +1 -1
  52. package/lib/payment/apple-iap/handler-express.d.ts.map +1 -1
  53. package/lib/payment/apple-iap/handler-express.js +14 -10
  54. package/lib/payment/apple-iap/handler-express.js.map +1 -1
  55. package/lib/payment/apple-iap/handler-fastify.d.ts.map +1 -1
  56. package/lib/payment/apple-iap/handler-fastify.js +15 -8
  57. package/lib/payment/apple-iap/handler-fastify.js.map +1 -1
  58. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +9 -0
  59. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -0
  60. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js +17 -0
  61. package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +1 -0
  62. package/lib/payment/apple-iap/module.d.ts +4 -4
  63. package/lib/payment/apple-iap/module.d.ts.map +1 -1
  64. package/lib/payment/apple-iap/module.js +4 -2
  65. package/lib/payment/apple-iap/module.js.map +1 -1
  66. package/lib/payment/braintree.js +3 -1
  67. package/lib/payment/braintree.js.map +1 -1
  68. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -1
  69. package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +1 -1
  70. package/lib/payment/cryptopay/derive-btc-address.d.ts.map +1 -1
  71. package/lib/payment/cryptopay/derive-btc-address.js +2 -3
  72. package/lib/payment/cryptopay/derive-btc-address.js.map +1 -1
  73. package/lib/payment/cryptopay/derive-eth-address.d.ts.map +1 -1
  74. package/lib/payment/cryptopay/derive-eth-address.js +2 -0
  75. package/lib/payment/cryptopay/derive-eth-address.js.map +1 -1
  76. package/lib/payment/cryptopay/handle-webhook.js +2 -2
  77. package/lib/payment/cryptopay/handle-webhook.js.map +1 -1
  78. package/lib/payment/cryptopay/handler-express.d.ts.map +1 -1
  79. package/lib/payment/cryptopay/handler-express.js +4 -7
  80. package/lib/payment/cryptopay/handler-express.js.map +1 -1
  81. package/lib/payment/cryptopay/handler-fastify.js +1 -1
  82. package/lib/payment/cryptopay/handler-fastify.js.map +1 -1
  83. package/lib/payment/cryptopay/middleware.d.ts +2 -0
  84. package/lib/payment/cryptopay/middleware.d.ts.map +1 -0
  85. package/lib/payment/cryptopay/middleware.js +75 -0
  86. package/lib/payment/cryptopay/middleware.js.map +1 -0
  87. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +25 -0
  88. package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +1 -0
  89. package/lib/payment/cryptopay/module/configureCryptopayModule.js +75 -0
  90. package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +1 -0
  91. package/lib/payment/cryptopay/module.d.ts +2 -2
  92. package/lib/payment/cryptopay/module.d.ts.map +1 -1
  93. package/lib/payment/cryptopay/module.js +4 -4
  94. package/lib/payment/cryptopay/module.js.map +1 -1
  95. package/lib/payment/cryptopay/plugin.d.ts.map +1 -1
  96. package/lib/payment/cryptopay/plugin.js +18 -4
  97. package/lib/payment/cryptopay/plugin.js.map +1 -1
  98. package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -1
  99. package/lib/payment/datatrans-v2/handler-express.js +13 -11
  100. package/lib/payment/datatrans-v2/handler-express.js.map +1 -1
  101. package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +1 -1
  102. package/lib/payment/datatrans-v2/handler-fastify.js +11 -5
  103. package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -1
  104. package/lib/payment/datatrans-v2/index.js +63 -37
  105. package/lib/payment/datatrans-v2/index.js.map +1 -1
  106. package/lib/payment/datatrans-v2/middleware.d.ts +2 -0
  107. package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -0
  108. package/lib/payment/datatrans-v2/middleware.js +68 -0
  109. package/lib/payment/datatrans-v2/middleware.js.map +1 -0
  110. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +1 -1
  111. package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +1 -1
  112. package/lib/payment/paypal-checkout.js +4 -2
  113. package/lib/payment/paypal-checkout.js.map +1 -1
  114. package/lib/payment/payrexx/api/index.d.ts +1 -1
  115. package/lib/payment/payrexx/api/index.d.ts.map +1 -1
  116. package/lib/payment/payrexx/api/makeFetcher.d.ts +1 -1
  117. package/lib/payment/payrexx/api/makeFetcher.d.ts.map +1 -1
  118. package/lib/payment/payrexx/api/makeFetcher.js +1 -1
  119. package/lib/payment/payrexx/api/makeFetcher.js.map +1 -1
  120. package/lib/payment/payrexx/handler-express.d.ts.map +1 -1
  121. package/lib/payment/payrexx/handler-express.js +15 -15
  122. package/lib/payment/payrexx/handler-express.js.map +1 -1
  123. package/lib/payment/payrexx/handler-fastify.js +23 -15
  124. package/lib/payment/payrexx/handler-fastify.js.map +1 -1
  125. package/lib/payment/payrexx/index.js +21 -15
  126. package/lib/payment/payrexx/index.js.map +1 -1
  127. package/lib/payment/payrexx/middleware.d.ts +2 -0
  128. package/lib/payment/payrexx/middleware.d.ts.map +1 -0
  129. package/lib/payment/payrexx/middleware.js +86 -0
  130. package/lib/payment/payrexx/middleware.js.map +1 -0
  131. package/lib/payment/postfinance-checkout/handler-express.js +7 -8
  132. package/lib/payment/postfinance-checkout/handler-express.js.map +1 -1
  133. package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +1 -1
  134. package/lib/payment/postfinance-checkout/handler-fastify.js +6 -4
  135. package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -1
  136. package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
  137. package/lib/payment/postfinance-checkout/index.js +20 -7
  138. package/lib/payment/postfinance-checkout/index.js.map +1 -1
  139. package/lib/payment/postfinance-checkout/middleware.d.ts +2 -0
  140. package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -0
  141. package/lib/payment/postfinance-checkout/middleware.js +38 -0
  142. package/lib/payment/postfinance-checkout/middleware.js.map +1 -0
  143. package/lib/payment/saferpay/adapter.d.ts.map +1 -1
  144. package/lib/payment/saferpay/adapter.js +9 -0
  145. package/lib/payment/saferpay/adapter.js.map +1 -1
  146. package/lib/payment/saferpay/handler-express.d.ts.map +1 -1
  147. package/lib/payment/saferpay/handler-express.js +10 -8
  148. package/lib/payment/saferpay/handler-express.js.map +1 -1
  149. package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -1
  150. package/lib/payment/saferpay/handler-fastify.js +11 -5
  151. package/lib/payment/saferpay/handler-fastify.js.map +1 -1
  152. package/lib/payment/saferpay/middleware.d.ts +2 -0
  153. package/lib/payment/saferpay/middleware.d.ts.map +1 -0
  154. package/lib/payment/saferpay/middleware.js +57 -0
  155. package/lib/payment/saferpay/middleware.js.map +1 -0
  156. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +10 -0
  157. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +1 -0
  158. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js +24 -0
  159. package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +1 -0
  160. package/lib/payment/saferpay/module.d.ts +2 -2
  161. package/lib/payment/stripe/handler-express.js +25 -17
  162. package/lib/payment/stripe/handler-express.js.map +1 -1
  163. package/lib/payment/stripe/handler-fastify.d.ts.map +1 -1
  164. package/lib/payment/stripe/handler-fastify.js +33 -12
  165. package/lib/payment/stripe/handler-fastify.js.map +1 -1
  166. package/lib/payment/stripe/index.js +19 -13
  167. package/lib/payment/stripe/index.js.map +1 -1
  168. package/lib/payment/stripe/middleware.d.ts +6 -0
  169. package/lib/payment/stripe/middleware.d.ts.map +1 -0
  170. package/lib/payment/stripe/middleware.js +114 -0
  171. package/lib/payment/stripe/middleware.js.map +1 -0
  172. package/lib/payment/stripe/stripe.d.ts +2 -2
  173. package/lib/payment/stripe/stripe.d.ts.map +1 -1
  174. package/lib/payment/stripe/stripe.js +14 -11
  175. package/lib/payment/stripe/stripe.js.map +1 -1
  176. package/lib/plugins-index.d.ts +48 -0
  177. package/lib/plugins-index.d.ts.map +1 -0
  178. package/lib/plugins-index.js +107 -0
  179. package/lib/plugins-index.js.map +1 -0
  180. package/lib/presets/all.d.ts +5 -5
  181. package/lib/presets/all.d.ts.map +1 -1
  182. package/lib/pricing/delivery-swiss-tax.d.ts.map +1 -1
  183. package/lib/pricing/delivery-swiss-tax.js +13 -11
  184. package/lib/pricing/delivery-swiss-tax.js.map +1 -1
  185. package/lib/pricing/order-discount.d.ts.map +1 -1
  186. package/lib/pricing/order-discount.js +5 -3
  187. package/lib/pricing/order-discount.js.map +1 -1
  188. package/lib/pricing/order-round.d.ts.map +1 -1
  189. package/lib/pricing/order-round.js +4 -3
  190. package/lib/pricing/order-round.js.map +1 -1
  191. package/lib/pricing/product-catalog-price.js +4 -4
  192. package/lib/pricing/product-catalog-price.js.map +1 -1
  193. package/lib/pricing/product-price-rateconversion.js +3 -3
  194. package/lib/pricing/product-price-rateconversion.js.map +1 -1
  195. package/lib/pricing/product-swiss-tax.d.ts +1 -4
  196. package/lib/pricing/product-swiss-tax.d.ts.map +1 -1
  197. package/lib/pricing/product-swiss-tax.js +9 -15
  198. package/lib/pricing/product-swiss-tax.js.map +1 -1
  199. package/lib/pricing/tax/ch.d.ts +6 -0
  200. package/lib/pricing/tax/ch.d.ts.map +1 -1
  201. package/lib/pricing/tax/ch.js +10 -0
  202. package/lib/pricing/tax/ch.js.map +1 -1
  203. package/lib/warehousing/eth-minter.js +23 -11
  204. package/lib/warehousing/eth-minter.js.map +1 -1
  205. package/lib/worker/BaseWorker.d.ts +30 -0
  206. package/lib/worker/BaseWorker.d.ts.map +1 -0
  207. package/lib/worker/BaseWorker.js +79 -0
  208. package/lib/worker/BaseWorker.js.map +1 -0
  209. package/lib/worker/EventListenerWorker.d.ts +6 -0
  210. package/lib/worker/EventListenerWorker.d.ts.map +1 -0
  211. package/lib/worker/EventListenerWorker.js +46 -0
  212. package/lib/worker/EventListenerWorker.js.map +1 -0
  213. package/lib/worker/FailedRescheduler.d.ts +15 -0
  214. package/lib/worker/FailedRescheduler.d.ts.map +1 -0
  215. package/lib/worker/FailedRescheduler.js +45 -0
  216. package/lib/worker/FailedRescheduler.js.map +1 -0
  217. package/lib/worker/IntervalWorker.d.ts +10 -0
  218. package/lib/worker/IntervalWorker.d.ts.map +1 -0
  219. package/lib/worker/IntervalWorker.js +37 -0
  220. package/lib/worker/IntervalWorker.js.map +1 -0
  221. package/lib/worker/bulk-import.d.ts +1 -1
  222. package/lib/worker/bulk-import.d.ts.map +1 -1
  223. package/lib/worker/bulk-import.js +11 -33
  224. package/lib/worker/bulk-import.js.map +1 -1
  225. package/lib/worker/enrollment-order-generator.d.ts.map +1 -1
  226. package/lib/worker/enrollment-order-generator.js +7 -49
  227. package/lib/worker/enrollment-order-generator.js.map +1 -1
  228. package/lib/worker/error-notifications.js +1 -1
  229. package/lib/worker/error-notifications.js.map +1 -1
  230. package/lib/worker/export-token.d.ts.map +1 -1
  231. package/lib/worker/export-token.js +0 -1
  232. package/lib/worker/export-token.js.map +1 -1
  233. package/lib/worker/message.d.ts +1 -1
  234. package/lib/worker/message.d.ts.map +1 -1
  235. package/lib/worker/message.js +4 -2
  236. package/lib/worker/message.js.map +1 -1
  237. package/lib/worker/sms.d.ts +2 -0
  238. package/lib/worker/sms.d.ts.map +1 -0
  239. package/lib/worker/sms.js +73 -0
  240. package/lib/worker/sms.js.map +1 -0
  241. package/lib/worker/twilio.js +4 -0
  242. package/lib/worker/twilio.js.map +1 -1
  243. package/package.json +15 -17
  244. package/src/delivery/send-message.ts +1 -1
  245. package/src/enrollments/licensed.ts +15 -2
  246. package/src/files/gridfs/adapter.ts +1 -1
  247. package/src/files/gridfs/handler-express.ts +19 -24
  248. package/src/files/gridfs/handler-fastify.ts +48 -12
  249. package/src/files/minio/handler-express.ts +4 -7
  250. package/src/files/minio/handler-fastify.ts +2 -2
  251. package/src/files/minio/index.ts +12 -12
  252. package/src/filters/local-search.ts +1 -1
  253. package/src/payment/apple-iap/adapter.ts +12 -14
  254. package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +1 -1
  255. package/src/payment/apple-iap/handler-express.ts +17 -11
  256. package/src/payment/apple-iap/handler-fastify.ts +19 -9
  257. package/src/payment/apple-iap/module.ts +9 -4
  258. package/src/payment/braintree.ts +4 -1
  259. package/src/payment/cryptopay/db/CryptopayTransactions.ts +1 -1
  260. package/src/payment/cryptopay/derive-btc-address.ts +1 -3
  261. package/src/payment/cryptopay/derive-eth-address.ts +2 -0
  262. package/src/payment/cryptopay/handle-webhook.ts +6 -6
  263. package/src/payment/cryptopay/handler-express.ts +4 -7
  264. package/src/payment/cryptopay/handler-fastify.ts +1 -1
  265. package/src/payment/cryptopay/module.ts +8 -5
  266. package/src/payment/cryptopay/plugin.ts +21 -4
  267. package/src/payment/datatrans-v2/handler-express.ts +17 -12
  268. package/src/payment/datatrans-v2/handler-fastify.ts +15 -6
  269. package/src/payment/datatrans-v2/index.ts +82 -50
  270. package/src/payment/paypal-checkout.ts +4 -2
  271. package/src/payment/payrexx/api/index.ts +1 -1
  272. package/src/payment/payrexx/api/makeFetcher.ts +2 -2
  273. package/src/payment/payrexx/handler-express.ts +24 -32
  274. package/src/payment/payrexx/handler-fastify.ts +33 -33
  275. package/src/payment/payrexx/index.ts +26 -16
  276. package/src/payment/postfinance-checkout/handler-express.ts +8 -8
  277. package/src/payment/postfinance-checkout/handler-fastify.ts +7 -4
  278. package/src/payment/postfinance-checkout/index.ts +20 -8
  279. package/src/payment/saferpay/adapter.ts +14 -2
  280. package/src/payment/saferpay/handler-express.ts +14 -13
  281. package/src/payment/saferpay/handler-fastify.ts +14 -9
  282. package/src/payment/stripe/handler-express.ts +33 -33
  283. package/src/payment/stripe/handler-fastify.ts +40 -27
  284. package/src/payment/stripe/index.ts +17 -13
  285. package/src/payment/stripe/stripe.ts +17 -12
  286. package/src/pricing/delivery-swiss-tax.ts +11 -19
  287. package/src/pricing/order-discount.ts +6 -4
  288. package/src/pricing/order-round.ts +5 -4
  289. package/src/pricing/product-catalog-price.ts +4 -4
  290. package/src/pricing/product-price-rateconversion.ts +3 -3
  291. package/src/pricing/product-swiss-tax.test.ts +1 -86
  292. package/src/pricing/product-swiss-tax.ts +11 -24
  293. package/src/pricing/tax/ch.test.ts +86 -1
  294. package/src/pricing/tax/ch.ts +23 -0
  295. package/src/warehousing/eth-minter.ts +30 -11
  296. package/src/worker/budgetsms.ts +1 -1
  297. package/src/worker/bulk-import.ts +12 -53
  298. package/src/worker/enrollment-order-generator.ts +14 -72
  299. package/src/worker/error-notifications.ts +2 -2
  300. package/src/worker/export-token.ts +0 -1
  301. package/src/worker/message.ts +5 -3
  302. package/src/worker/twilio.ts +10 -3
@@ -1,7 +1,7 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import { OrderStatus } from '@unchainedshop/core-orders';
3
3
  const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
4
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
4
+ const logger = createLogger('unchained:cryptopay:handler');
5
5
  export default async function handleWebhook({ secret, wallet, price, ping, }, context) {
6
6
  const { modules, services } = context;
7
7
  if (secret !== CRYPTOPAY_SECRET) {
@@ -16,7 +16,7 @@ export default async function handleWebhook({ secret, wallet, price, ping, }, co
16
16
  blockHeight,
17
17
  amount,
18
18
  contract,
19
- decimals,
19
+ decimals: decimals ?? 0,
20
20
  currencyCode,
21
21
  });
22
22
  const orderPayment = orderPaymentId &&
@@ -1 +1 @@
1
- {"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,kBAgBvC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,kBAavC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,23 +1,20 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import handleWebhook from './handle-webhook.js';
3
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
3
+ const logger = createLogger('unchained:cryptopay:handler');
4
4
  const cryptopayHandler = async (req, res) => {
5
5
  if (req.method === 'POST') {
6
6
  try {
7
7
  await handleWebhook(req.body, req.unchainedContext);
8
- res.writeHead(200);
9
- res.end(JSON.stringify({ success: true }));
8
+ res.status(200).send({ success: true });
10
9
  return;
11
10
  }
12
11
  catch (e) {
13
12
  logger.error(e);
14
- res.writeHead(500);
15
- res.end(JSON.stringify({ success: false, error: e.message }));
13
+ res.status(500).send({ success: false, error: e.message });
16
14
  return;
17
15
  }
18
16
  }
19
- res.writeHead(404);
20
- res.end(JSON.stringify({ success: false }));
17
+ res.status(404).send();
21
18
  };
22
19
  export default cryptopayHandler;
23
20
  //# sourceMappingURL=handler-express.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -1,6 +1,6 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import handleWebhook from './handle-webhook.js';
3
- const logger = createLogger('unchained:core-payment:cryptopay:handler');
3
+ const logger = createLogger('unchained:cryptopay:handler');
4
4
  const cryptopayHandler = async (req, reply) => {
5
5
  try {
6
6
  await handleWebhook(req.body, req.unchainedContext);
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,0CAA0C,CAAC,CAAC;AAExE,MAAM,gBAAgB,GAAuB,KAAK,EAChD,GAEC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
1
+ {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAuB,KAAK,EAChD,GAEC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare const cryptopayHandler: (req: any, res: any) => Promise<void>;
2
+ //# sourceMappingURL=middleware.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,gBAAgB,uCA0E5B,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { createLogger } from '@unchainedshop/logger';
2
+ import { OrderStatus } from '@unchainedshop/core-orders';
3
+ const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
4
+ const logger = createLogger('unchained:core-payment:cryptopay');
5
+ export const cryptopayHandler = async (req, res) => {
6
+ const resolvedContext = req.unchainedContext;
7
+ const modules = resolvedContext.modules;
8
+ if (req.method === 'POST') {
9
+ try {
10
+ const { secret, price, wallet, ping } = req.body;
11
+ if (secret !== CRYPTOPAY_SECRET) {
12
+ logger.warn(`Cryptopay Plugin: Invalid Cryptopay Secret provided`);
13
+ throw new Error('Secret invalid');
14
+ }
15
+ if (wallet) {
16
+ const { address, blockHeight, amount, contract, decimals, currency } = wallet;
17
+ const { orderPaymentId } = await modules.cryptopay.updateWalletAddress({
18
+ addressId: address,
19
+ blockHeight,
20
+ amount,
21
+ contract,
22
+ decimals,
23
+ currency,
24
+ });
25
+ const orderPayment = orderPaymentId &&
26
+ (await modules.orders.payments.findOrderPayment({
27
+ orderPaymentId,
28
+ }));
29
+ if (orderPayment) {
30
+ // Try to process order to next status
31
+ // TODO: Not sure if it's correct to use processOrder here if status is PENDING!
32
+ const order = await modules.orders.findOrder({ orderId: orderPayment.orderId });
33
+ if (order.status === null) {
34
+ await modules.orders.checkout(order._id, {}, resolvedContext);
35
+ }
36
+ else if (order.status === OrderStatus.PENDING) {
37
+ await modules.orders.processOrder(order, {}, resolvedContext);
38
+ }
39
+ else {
40
+ throw new Error('Already processed');
41
+ }
42
+ }
43
+ }
44
+ if (price) {
45
+ const { baseCurrency, token, rate, timestamp } = price;
46
+ const timestampDate = new Date(timestamp);
47
+ const expiresAt = new Date(new Date().getTime() + parseInt(CRYPTOPAY_MAX_RATE_AGE, 10) * 1000);
48
+ const rateData = {
49
+ baseCurrency,
50
+ quoteCurrency: token,
51
+ rate,
52
+ expiresAt,
53
+ timestamp: timestampDate,
54
+ };
55
+ logger.verbose(`update rate ${JSON.stringify(price)}, ${JSON.stringify(rateData)}`);
56
+ await resolvedContext.modules.products.prices.rates.updateRates([rateData]);
57
+ }
58
+ if (ping) {
59
+ const { blockHeight, currency } = ping;
60
+ await modules.cryptopay.updateMostRecentBlock(currency, blockHeight);
61
+ }
62
+ res.writeHead(200);
63
+ res.end(JSON.stringify({ success: true }));
64
+ return;
65
+ }
66
+ catch (e) {
67
+ res.writeHead(500);
68
+ res.end(JSON.stringify({ success: false, error: e.message }));
69
+ return;
70
+ }
71
+ }
72
+ res.writeHead(404);
73
+ res.end(JSON.stringify({ success: false }));
74
+ };
75
+ //# sourceMappingURL=middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,25 @@
1
+ import { CryptopayTransaction } from '../db/CryptopayTransactions.js';
2
+ export interface CryptopayModule {
3
+ getWalletAddress: (addressId: string) => Promise<CryptopayTransaction>;
4
+ getWalletAddressesByOrderPaymentId: (orderPaymentId: string) => Promise<CryptopayTransaction[]>;
5
+ updateMostRecentBlock: (currency: string, blockHeight: number) => Promise<void>;
6
+ updateWalletAddress: (walletData: {
7
+ addressId: string;
8
+ blockHeight: number;
9
+ amount: string;
10
+ contract: string;
11
+ currency: string;
12
+ decimals: number;
13
+ }) => Promise<CryptopayTransaction>;
14
+ mapOrderPaymentToWalletAddress: (walletData: {
15
+ addressId: string;
16
+ contract: string;
17
+ currency: string;
18
+ orderPaymentId: string;
19
+ }) => Promise<CryptopayTransaction>;
20
+ getNextDerivationNumber: (currency: string) => Promise<number>;
21
+ }
22
+ export declare const configureCryptopayModule: ({ db }: {
23
+ db: any;
24
+ }) => CryptopayModule;
25
+ //# sourceMappingURL=configureCryptopayModule.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureCryptopayModule.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/module/configureCryptopayModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,gCAAgC,CAAC;AAEvG,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvE,kCAAkC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChG,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,UAAU,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,8BAA8B,EAAE,CAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,wBAAwB;;MAAa,eA2GjD,CAAC"}
@@ -0,0 +1,75 @@
1
+ import { mongodb } from '@unchainedshop/mongodb';
2
+ import { CryptopayTransactionsCollection } from '../db/CryptopayTransactions.js';
3
+ export const configureCryptopayModule = ({ db }) => {
4
+ const CryptoTransactions = CryptopayTransactionsCollection(db);
5
+ const getWalletAddress = async (addressId) => {
6
+ return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
7
+ };
8
+ const updateMostRecentBlock = async (currency, blockHeight) => {
9
+ await CryptoTransactions.updateMany({
10
+ currency,
11
+ }, {
12
+ $set: {
13
+ mostRecentBlockHeight: blockHeight,
14
+ },
15
+ });
16
+ };
17
+ const mapOrderPaymentToWalletAddress = async ({ addressId, contract, currency, orderPaymentId, }) => {
18
+ await CryptoTransactions.updateOne({
19
+ _id: addressId.toLowerCase(),
20
+ }, {
21
+ $setOnInsert: {
22
+ _id: addressId.toLowerCase(),
23
+ contract,
24
+ currency,
25
+ decimals: null,
26
+ mostRecentBlockHeight: 0,
27
+ blockHeight: 0,
28
+ amount: mongodb.Decimal128.fromString('0'),
29
+ created: new Date(),
30
+ },
31
+ $set: {
32
+ orderPaymentId,
33
+ updated: new Date(),
34
+ },
35
+ }, { upsert: true });
36
+ return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
37
+ };
38
+ const getNextDerivationNumber = async (currency) => {
39
+ return (await CryptoTransactions.countDocuments({ currency })) + 1;
40
+ };
41
+ const getWalletAddressesByOrderPaymentId = async (orderPaymentId) => {
42
+ return CryptoTransactions.find({
43
+ orderPaymentId,
44
+ }).toArray();
45
+ };
46
+ const updateWalletAddress = async ({ addressId, blockHeight, amount, contract, currency, decimals, }) => {
47
+ await CryptoTransactions.updateOne({
48
+ _id: addressId.toLowerCase(),
49
+ }, {
50
+ $setOnInsert: {
51
+ _id: addressId.toLowerCase(),
52
+ currency,
53
+ contract,
54
+ created: new Date(),
55
+ },
56
+ $set: {
57
+ decimals,
58
+ blockHeight,
59
+ mostRecentBlockHeight: blockHeight,
60
+ amount: mongodb.Decimal128.fromString(amount),
61
+ updated: new Date(),
62
+ },
63
+ }, { upsert: true });
64
+ return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
65
+ };
66
+ return {
67
+ getWalletAddress,
68
+ updateMostRecentBlock,
69
+ updateWalletAddress,
70
+ mapOrderPaymentToWalletAddress,
71
+ getNextDerivationNumber,
72
+ getWalletAddressesByOrderPaymentId,
73
+ };
74
+ };
75
+ //# sourceMappingURL=configureCryptopayModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"configureCryptopayModule.js","sourceRoot":"","sources":["../../../../src/payment/cryptopay/module/configureCryptopayModule.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@ import { CryptopayTransaction } from './db/CryptopayTransactions.js';
2
2
  declare const configureCryptopayModule: ({ db }: {
3
3
  db: any;
4
4
  }) => {
5
- getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction>;
5
+ getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction | null>;
6
6
  updateMostRecentBlock: (currencyCode: string, blockHeight: number) => Promise<void>;
7
7
  updateWalletAddress: ({ address, blockHeight, amount, contract, currencyCode, decimals, }: {
8
8
  address: string;
@@ -26,7 +26,7 @@ declare const _default: {
26
26
  configure: ({ db }: {
27
27
  db: any;
28
28
  }) => {
29
- getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction>;
29
+ getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction | null>;
30
30
  updateMostRecentBlock: (currencyCode: string, blockHeight: number) => Promise<void>;
31
31
  updateWalletAddress: ({ address, blockHeight, amount, contract, currencyCode, decimals, }: {
32
32
  address: string;
@@ -1 +1 @@
1
- {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,+BAA+B,CAAC;AAEtG,QAAA,MAAM,wBAAwB,GAAI;;CAAM;gCAGG,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC;0CAK/C,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;+FA0E3F;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;2FA/D9B;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;4CAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;yDAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2DnC,CAAC;;;;;;wCAtHyC,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,oBAAoB,CAAC;kDAK/C,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;uGA0E3F;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,QAAQ,EAAE,MAAM,CAAC;aAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;mGA/D9B;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,cAAc,EAAE,MAAM,CAAC;aACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;oDAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;iEAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;;;;AA6DpC,wBAIE;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxD"}
1
+ {"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,+BAA+B,CAAC;AAEtG,QAAA,MAAM,wBAAwB,GAAI;;CAAM;gCAI3B,MAAM,aACJ,MAAM,KAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;0CAKY,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;+FA0E3F;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;2FA/D9B;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;4CAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;yDAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2DnC,CAAC;;;;;;wCAxHW,MAAM,aACJ,MAAM,KAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;kDAKY,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;uGA0E3F;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,QAAQ,EAAE,MAAM,CAAC;aAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;mGA/D9B;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,cAAc,EAAE,MAAM,CAAC;aACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;oDAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;iEAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;;;;AA6DpC,wBAIE;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxD"}
@@ -17,7 +17,7 @@ const configureCryptopayModule = ({ db }) => {
17
17
  };
18
18
  const mapOrderPaymentToWalletAddress = async ({ address, contract, currencyCode, orderPaymentId, }) => {
19
19
  const addressId = [address, contract].filter(Boolean).join(':');
20
- return CryptoTransactions.findOneAndUpdate({
20
+ return (await CryptoTransactions.findOneAndUpdate({
21
21
  _id: addressId,
22
22
  }, {
23
23
  $setOnInsert: {
@@ -32,7 +32,7 @@ const configureCryptopayModule = ({ db }) => {
32
32
  orderPaymentId,
33
33
  updated: new Date(),
34
34
  },
35
- }, { upsert: true, returnDocument: 'after' });
35
+ }, { upsert: true, returnDocument: 'after' }));
36
36
  };
37
37
  const getNextDerivationNumber = async (currencyCode) => {
38
38
  return (await CryptoTransactions.countDocuments({ currencyCode })) + 1;
@@ -48,7 +48,7 @@ const configureCryptopayModule = ({ db }) => {
48
48
  };
49
49
  const updateWalletAddress = async ({ address, blockHeight, amount, contract, currencyCode, decimals, }) => {
50
50
  const addressId = [address, contract].filter(Boolean).join(':');
51
- return CryptoTransactions.findOneAndUpdate({
51
+ return (await CryptoTransactions.findOneAndUpdate({
52
52
  _id: addressId,
53
53
  }, {
54
54
  $setOnInsert: {
@@ -63,7 +63,7 @@ const configureCryptopayModule = ({ db }) => {
63
63
  amount: mongodb.Decimal128.fromString(typeof amount === 'number' ? `${amount}` : amount),
64
64
  updated: new Date(),
65
65
  },
66
- }, { upsert: true, returnDocument: 'after' });
66
+ }, { upsert: true, returnDocument: 'after' }));
67
67
  };
68
68
  return {
69
69
  getWalletAddress,
@@ -1 +1 @@
1
- {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAwB7B,QAAA,MAAM,SAAS,EAAE,eAsOhB,CAAC;AAIF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAwB7B,QAAA,MAAM,SAAS,EAAE,eAuPhB,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -3,7 +3,7 @@ import { createLogger } from '@unchainedshop/logger';
3
3
  import deriveBtcAddress from './derive-btc-address.js';
4
4
  import deriveEthAddress from './derive-eth-address.js';
5
5
  import denoteAmount from './denote-amount.js';
6
- const logger = createLogger('unchained:core-payment:cryptopay');
6
+ const logger = createLogger('unchained:cryptopay');
7
7
  const { CRYPTOPAY_SECRET, CRYPTOPAY_BTC_XPUB, CRYPTOPAY_ETH_XPUB } = process.env;
8
8
  var CryptopayCurrencies;
9
9
  (function (CryptopayCurrencies) {
@@ -22,6 +22,8 @@ const Cryptopay = {
22
22
  const { modules } = context;
23
23
  const setConversionRates = async (currencyCode, existingAddresses) => {
24
24
  const originCurrencyObj = await modules.currencies.findCurrency({ isoCode: currencyCode });
25
+ if (!originCurrencyObj?.isActive)
26
+ throw new Error('Origin currency is not supported');
25
27
  const updatedAddresses = await Promise.all(existingAddresses.map(async (addressData) => {
26
28
  const targetCurrencyObj = await modules.currencies.findCurrency({
27
29
  isoCode: addressData.currencyCode,
@@ -79,6 +81,8 @@ const Cryptopay = {
79
81
  const { orderPayment, order } = context;
80
82
  if (!orderPayment)
81
83
  throw new Error('Payment Credential Registration is not yet supported for Cryptopay');
84
+ if (!order)
85
+ throw new Error('Order context is required for signing with Cryptopay');
82
86
  const existingAddresses = await modules.cryptopay.getWalletAddressesByOrderPaymentId(orderPayment._id);
83
87
  if (existingAddresses.length) {
84
88
  // Do not derive addresses a second time for order payment, return existing addresses
@@ -111,6 +115,10 @@ const Cryptopay = {
111
115
  },
112
116
  charge: async () => {
113
117
  const { order, orderPayment } = context;
118
+ if (!orderPayment)
119
+ throw new Error('Order Payment context is required for charging with Cryptopay');
120
+ if (!order)
121
+ throw new Error('Order context is required for charging with Cryptopay');
114
122
  const foundWalletsWithBalances = await modules.cryptopay.getWalletAddressesByOrderPaymentId(orderPayment._id);
115
123
  const walletForOrderPayment = foundWalletsWithBalances.find((wallet) => BigInt(wallet.amount.toString()) > 0n);
116
124
  const pricing = OrderPricingSheet({
@@ -118,16 +126,22 @@ const Cryptopay = {
118
126
  currencyCode: order.currencyCode,
119
127
  });
120
128
  const totalAmount = BigInt(pricing?.total({ useNetPrice: false }).amount);
121
- if (walletForOrderPayment.currencyCode !== order.currencyCode) {
129
+ if (walletForOrderPayment && walletForOrderPayment.currencyCode !== order.currencyCode) {
122
130
  const baseCurrency = await modules.currencies.findCurrency({
123
131
  isoCode: walletForOrderPayment.currencyCode,
124
132
  });
133
+ if (!baseCurrency)
134
+ throw new Error('Base currency not found');
125
135
  const quoteCurrency = await modules.currencies.findCurrency({ isoCode: order.currencyCode });
126
- const { /* min, */ max } = await modules.products.prices.rates.getRateRange(baseCurrency, quoteCurrency, order.confirmed || new Date());
136
+ if (!quoteCurrency)
137
+ throw new Error('Quote currency not found');
138
+ const rate = await modules.products.prices.rates.getRateRange(baseCurrency, quoteCurrency, order.confirmed || new Date());
139
+ if (!rate)
140
+ throw new Error('No conversion rate found');
127
141
  const convertedAmount = denoteAmount(walletForOrderPayment.amount.toString(), walletForOrderPayment.decimals);
128
142
  // Add a Promille 🍻
129
143
  // const minAmount = parseFloat(convertedAmount.toString()) * min * 0.999;
130
- const maxAmount = parseFloat(convertedAmount.toString()) * max * 1.001;
144
+ const maxAmount = parseFloat(convertedAmount.toString()) * rate.max * 1.001;
131
145
  if (maxAmount && maxAmount >= totalAmount) {
132
146
  // Enough sent
133
147
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-express.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,kBAwE9C,CAAC"}
1
+ {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-express.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,kBA6E9C,CAAC"}
@@ -1,11 +1,16 @@
1
1
  import { createLogger } from '@unchainedshop/logger';
2
2
  import generateSignature, { Security } from './generateSignature.js';
3
3
  const { DATATRANS_SIGN_KEY, DATATRANS_SIGN2_KEY, DATATRANS_SECURITY = Security.DYNAMIC_SIGN, } = process.env;
4
- const logger = createLogger('unchained:core-payment:datatrans:handler');
4
+ const logger = createLogger('unchained:datatrans:handler');
5
5
  export const datatransHandler = async (req, res) => {
6
6
  const resolvedContext = req.unchainedContext;
7
7
  const { modules, services } = resolvedContext;
8
8
  const signature = req.headers['datatrans-signature'];
9
+ if (!DATATRANS_SIGN_KEY && !DATATRANS_SIGN2_KEY) {
10
+ logger.warn('No sign key configured');
11
+ res.status(404).end();
12
+ return;
13
+ }
9
14
  if (req.method === 'POST' && signature) {
10
15
  const [rawTimestamp, rawHash] = signature.split(',');
11
16
  const [, hash] = rawHash.split('=');
@@ -16,8 +21,7 @@ export const datatransHandler = async (req, res) => {
16
21
  })(timestamp, req.body);
17
22
  if (hash !== comparableSignature) {
18
23
  logger.error(`hash mismatch: ${signature} / ${comparableSignature}`, req.body);
19
- res.writeHead(403);
20
- res.end('Hash mismatch');
24
+ res.status(403).send('Hash mismatch');
21
25
  return;
22
26
  }
23
27
  const transaction = JSON.parse(req.body);
@@ -34,8 +38,7 @@ export const datatransHandler = async (req, res) => {
34
38
  logger.info(`registered payment credentials for ${userId}`, {
35
39
  userId,
36
40
  });
37
- res.writeHead(200);
38
- res.end(JSON.stringify(paymentCredentials));
41
+ res.status(200).send(paymentCredentials);
39
42
  return;
40
43
  }
41
44
  if (transaction.type === 'payment') {
@@ -48,23 +51,22 @@ export const datatransHandler = async (req, res) => {
48
51
  const order = await services.orders.checkoutOrder(orderPayment.orderId, {
49
52
  paymentContext: { userId, transactionId: transaction.transactionId },
50
53
  });
51
- res.writeHead(200);
54
+ if (!order)
55
+ throw new Error(`Order with id ${orderPayment.orderId} not found`);
52
56
  logger.info(`confirmed checkout for order ${order.orderNumber}`, {
53
57
  orderId: order._id,
54
58
  });
55
- res.end(JSON.stringify(order));
59
+ res.status(200).send(order);
56
60
  return;
57
61
  }
58
62
  }
59
63
  catch (e) {
60
64
  logger.error(`rejected to checkout with message`, e);
61
- res.writeHead(500);
62
- res.end(JSON.stringify({ name: e.name, code: e.code, message: e.message }));
65
+ res.status(500).send({ name: e.name, code: e.code, message: e.message });
63
66
  return;
64
67
  }
65
68
  }
66
69
  }
67
- res.writeHead(404);
68
- res.end();
70
+ res.status(404).end();
69
71
  };
70
72
  //# sourceMappingURL=handler-express.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-express.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,iBAAiB,EAAE,EAAE,QAAQ,EAAE,MAAM,wBAAwB,CAAC;AAGrE,MAAM,EACJ,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GAAG,QAAQ,CAAC,YAAY,GAC3C,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,GAAG,CAAC,gBAA2B,CAAC;IACxD,MAAM,EAAE,OAAO,EAAE,QAAQ,EAAE,GAAG,eAAe,CAAC;IAC9C,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,qBAAqB,CAAC,CAAC;IAErD,IAAI,CAAC,kBAAkB,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAChD,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACtC,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;QACtB,OAAO;IACT,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,IAAI,SAAS,EAAE,CAAC;QACvC,MAAM,CAAC,YAAY,EAAE,OAAO,CAAC,GAAG,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,MAAM,CAAC,EAAE,IAAI,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACpC,MAAM,CAAC,EAAE,SAAS,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAE9C,MAAM,mBAAmB,GAAG,MAAM,iBAAiB,CAAC;YAClD,QAAQ,EAAE,kBAAyB;YACnC,OAAO,EAAE,mBAAoB,IAAI,kBAAmB;SACrD,CAAC,CAAC,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;QAExB,IAAI,IAAI,KAAK,mBAAmB,EAAE,CAAC;YACjC,MAAM,CAAC,KAAK,CAAC,kBAAkB,SAAS,MAAM,mBAAmB,EAAE,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAC/E,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YACtC,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAA0B,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAA0B,CAAC;QAEzF,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YAC9B,IAAI,EAAE,WAAW,CAAC,IAAI;SACvB,CAAC,CAAC;QAEH,IAAI,WAAW,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;YACxC,MAAM,MAAM,GAAG,WAAW,CAAC,MAAM,CAAC;YAClC,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;YAE7E,IAAI,CAAC;gBACH,IAAI,WAAW,CAAC,IAAI,KAAK,YAAY,EAAE,CAAC;oBACtC,MAAM,iBAAiB,GAAG,WAAW,CAAC;oBACtC,MAAM,kBAAkB,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,0BAA0B,CACzE,iBAAiB,EACjB,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE,EAAE,CAC7E,CAAC;oBACF,MAAM,CAAC,IAAI,CAAC,sCAAsC,MAAM,EAAE,EAAE;wBAC1D,MAAM;qBACP,CAAC,CAAC;oBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;oBACzC,OAAO;gBACT,CAAC;gBACD,IAAI,WAAW,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;oBACnC,MAAM,cAAc,GAAG,WAAW,CAAC;oBACnC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBAClE,cAAc;qBACf,CAAC,CAAC;oBACH,IAAI,CAAC,YAAY;wBAAE,MAAM,IAAI,KAAK,CAAC,yBAAyB,cAAc,YAAY,CAAC,CAAC;oBAExF,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,EAAE;wBACtE,cAAc,EAAE,EAAE,MAAM,EAAE,aAAa,EAAE,WAAW,CAAC,aAAa,EAAE;qBACrE,CAAC,CAAC;oBAEH,IAAI,CAAC,KAAK;wBAAE,MAAM,IAAI,KAAK,CAAC,iBAAiB,YAAY,CAAC,OAAO,YAAY,CAAC,CAAC;oBAE/E,MAAM,CAAC,IAAI,CAAC,gCAAgC,KAAK,CAAC,WAAW,EAAE,EAAE;wBAC/D,OAAO,EAAE,KAAK,CAAC,GAAG;qBACnB,CAAC,CAAC;oBACH,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBAC5B,OAAO;gBACT,CAAC;YACH,CAAC;YAAC,OAAO,CAAC,EAAE,CAAC;gBACX,MAAM,CAAC,KAAK,CAAC,mCAAmC,EAAE,CAAC,CAAC,CAAC;gBACrD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;gBACzE,OAAO;YACT,CAAC;QACH,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC;AACxB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAU7D,eAAO,MAAM,gBAAgB,EAAE,kBAyE9B,CAAC"}
1
+ {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/payment/datatrans-v2/handler-fastify.ts"],"names":[],"mappings":"AAIA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAU7D,eAAO,MAAM,gBAAgB,EAAE,kBAkF9B,CAAC"}