@unchainedshop/plugins 3.1.14 → 3.1.16

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 (33) hide show
  1. package/lib/files/gridfs/adapter.d.ts.map +1 -1
  2. package/lib/files/gridfs/adapter.js +3 -2
  3. package/lib/files/gridfs/adapter.js.map +1 -1
  4. package/lib/files/gridfs/handler-express.d.ts.map +1 -1
  5. package/lib/files/gridfs/handler-express.js +1 -2
  6. package/lib/files/gridfs/handler-express.js.map +1 -1
  7. package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
  8. package/lib/files/gridfs/handler-fastify.js +1 -2
  9. package/lib/files/gridfs/handler-fastify.js.map +1 -1
  10. package/lib/payment/stripe/stripe.d.ts.map +1 -1
  11. package/lib/payment/stripe/stripe.js +3 -3
  12. package/lib/payment/stripe/stripe.js.map +1 -1
  13. package/package.json +1 -1
  14. package/src/files/gridfs/adapter.ts +7 -2
  15. package/src/files/gridfs/handler-express.ts +5 -2
  16. package/src/files/gridfs/handler-fastify.ts +5 -2
  17. package/src/payment/stripe/stripe.ts +5 -3
  18. package/lib/payment/cryptopay/denote-amount.d.ts +0 -25
  19. package/lib/payment/cryptopay/denote-amount.d.ts.map +0 -1
  20. package/lib/payment/cryptopay/denote-amount.js +0 -31
  21. package/lib/payment/cryptopay/denote-amount.js.map +0 -1
  22. package/lib/payment/cryptopay/derive-btc-address.d.ts +0 -3
  23. package/lib/payment/cryptopay/derive-btc-address.d.ts.map +0 -1
  24. package/lib/payment/cryptopay/derive-btc-address.js +0 -39
  25. package/lib/payment/cryptopay/derive-btc-address.js.map +0 -1
  26. package/lib/payment/cryptopay/derive-eth-address.d.ts +0 -3
  27. package/lib/payment/cryptopay/derive-eth-address.d.ts.map +0 -1
  28. package/lib/payment/cryptopay/derive-eth-address.js +0 -32
  29. package/lib/payment/cryptopay/derive-eth-address.js.map +0 -1
  30. package/lib/payment/cryptopay/handle-webhook.d.ts +0 -26
  31. package/lib/payment/cryptopay/handle-webhook.d.ts.map +0 -1
  32. package/lib/payment/cryptopay/handle-webhook.js +0 -61
  33. package/lib/payment/cryptopay/handle-webhook.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,YAAY,EACb,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAYrD,eAAO,MAAM,aAAa,EAAE,YAAY,CACtC,aAAa,GAAG;IACd,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAiIF,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/adapter.ts"],"names":[],"mappings":"AAGA,OAAO,EAKL,YAAY,EACb,MAAM,4BAA4B,CAAC;AAIpC,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAYrD,eAAO,MAAM,aAAa,EAAE,YAAY,CACtC,aAAa,GAAG;IACd,OAAO,EAAE,uBAAuB,CAAC;CAClC,CAsIF,CAAC"}
@@ -41,7 +41,7 @@ export const GridFSAdapter = {
41
41
  url,
42
42
  };
43
43
  },
44
- async uploadFileFromStream(directoryName, rawFile, { modules }) {
44
+ async uploadFileFromStream(directoryName, rawFile, { modules }, options = {}) {
45
45
  let stream;
46
46
  let fileName;
47
47
  if (rawFile instanceof Promise) {
@@ -58,8 +58,9 @@ export const GridFSAdapter = {
58
58
  const type = mimeType.lookup(fileName) || (await Promise.resolve(rawFile)).mimetype;
59
59
  const writeStream = await modules.gridfsFileUploads.createWriteStream(directoryName, hashedFilename, fileName, {
60
60
  metadata: { 'content-type': type },
61
+ ...options,
61
62
  });
62
- await pipeline(stream, new PassThrough({ allowHalfOpen: true }), writeStream);
63
+ await pipeline(stream, new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }), writeStream);
63
64
  const { length } = writeStream;
64
65
  const url = `/gridfs/${directoryName}/${encodeURIComponent(hashedFilename)}`;
65
66
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/files/gridfs/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/files/gridfs/adapter.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/handler-express.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C,QAAA,MAAM,aAAa,GACjB,KAAK,OAAO,CAAC,OAAO,GAAG;IACrB,gBAAgB,EAAE,OAAO,GAAG;QAC1B,OAAO,EAAE,uBAAuB,CAAC;KAClC,CAAC;CACH,EACD,KAAK,OAAO,CAAC,QAAQ,kBA+GtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/handler-express.ts"],"names":[],"mappings":"AAGA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,uBAAuB,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAQ7C,QAAA,MAAM,aAAa,GACjB,KAAK,OAAO,CAAC,OAAO,GAAG;IACrB,gBAAgB,EAAE,OAAO,GAAG;QAC1B,OAAO,EAAE,uBAAuB,CAAC;KAClC,CAAC;CACH,EACD,KAAK,OAAO,CAAC,QAAQ,kBAkHtB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -41,9 +41,8 @@ const gridfsHandler = async (req, res) => {
41
41
  : req.header('Content-Type') || file.type;
42
42
  const writeStream = await modules.gridfsFileUploads.createWriteStream(directoryName, fileId, fileName, {
43
43
  metadata: { 'content-type': type },
44
- chunkSizeBytes: 1024 * 1024 * 5, // 5MB chunks
45
44
  });
46
- await pipeline(req, new PassThrough(), writeStream);
45
+ await pipeline(req, new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }), writeStream);
47
46
  const { length } = writeStream;
48
47
  await services.files.linkFile({ fileId, size: length, type });
49
48
  res.statusCode = 200;
@@ -1 +1 @@
1
- {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/files/gridfs/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEjC,MAAM,MAAM,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAExD,MAAM,aAAa,GAAG,KAAK,EACzB,GAIC,EACD,GAAqB,EACrB,EAAE;IACF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACnD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC;QACvC,MAAM,CAAC,EAAE,gBAAgB,EAAE,WAAW,CAAC,GAAG,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAClE,MAAM,aAAa,GAAG,kBAAkB,CAAC,gBAAgB,CAAC,CAAC;QAC3D,MAAM,QAAQ,GAAG,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAEjD;yEACiE;QACjE,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC;QAC1D,GAAG,CAAC,SAAS,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAC9D,GAAG,CAAC,SAAS,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAElD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YACvD,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAyB,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC1B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,GAAG,CAAC,qBAAqB,CAAC,CAAC;oBAC/B,OAAO;gBACT,CAAC;gBACD,wEAAwE;gBACxE,sCAAsC;gBACtC,MAAM,IAAI,GACR,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,0BAA0B;oBACvD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC;oBACzC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;gBAE9C,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CACnE,aAAa,EACb,MAAM,EACN,QAAQ,EACR;oBACE,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;oBAClC,cAAc,EAAE,IAAI,GAAG,IAAI,GAAG,CAAC,EAAE,aAAa;iBAC/C,CACF,CAAC;gBACF,MAAM,QAAQ,CAAC,GAAG,EAAE,IAAI,WAAW,EAAE,EAAE,WAAW,CAAC,CAAC;gBAEpD,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;gBAC/B,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE9D,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;gBACrB,GAAG,CAAC,GAAG,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC;YACxB,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,KAAK,CAAC;YACvD,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,IAAI,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAyB,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACzB,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,GAAG,CAAC,6BAA6B,CAAC,CAAC;oBACvC,OAAO;gBACT,CAAC;gBAED,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAElF,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACtE,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;oBACrB,GAAG,CAAC,GAAG,CAAC,uCAAuC,CAAC,CAAC;oBACjD,OAAO;gBACT,CAAC;YACH,CAAC;YACD,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,GAAG,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YAC/D,CAAC;YACD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,GAAG,CAAC,SAAS,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC3D,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAC3F,UAAU,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;YACrC,MAAM,QAAQ,CAAC,UAAU,CAAC,CAAC;YAC3B,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,EAAE,CAAC;YACV,OAAO;QACT,CAAC;QACD,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;QACrB,GAAG,CAAC,GAAG,EAAE,CAAC;IACZ,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;QACrB,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,GAAG,CAAC,UAAU,GAAG,GAAG,CAAC;YACrB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QAC9E,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/files/gridfs/handler-express.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/handler-fastify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAU7D,QAAA,MAAM,aAAa,EAAE,kBA8GpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
1
+ {"version":3,"file":"handler-fastify.d.ts","sourceRoot":"","sources":["../../../src/files/gridfs/handler-fastify.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAU7D,QAAA,MAAM,aAAa,EAAE,kBAiHpB,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -35,9 +35,8 @@ const gridfsHandler = async (req, reply) => {
35
35
  : req.headers['content-type'] || file.type;
36
36
  const writeStream = await modules.gridfsFileUploads.createWriteStream(directoryName, fileId, fileName, {
37
37
  metadata: { 'content-type': type },
38
- chunkSizeBytes: 1024 * 1024 * 5, // 5MB chunks
39
38
  });
40
- await pipeline(req.raw, new PassThrough(), writeStream);
39
+ await pipeline(req.raw, new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }), writeStream);
41
40
  const { length } = writeStream;
42
41
  await services.files.linkFile({ fileId, size: length, type });
43
42
  reply.status(200);
@@ -1 +1 @@
1
- {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/files/gridfs/handler-fastify.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/files/gridfs/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,cAAc,EAAE,MAAM,2BAA2B,CAAC;AAE3D,MAAM,MAAM,GAAG,YAAY,CAAC,0BAA0B,CAAC,CAAC;AAExD,MAAM,aAAa,GAAuB,KAAK,EAC7C,GAIC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,EAAE,QAAQ,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,gBAAgB,CAAC;QACnD,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC,MAAa,CAAC;QAEtD;yEACiE;QACjE,KAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,UAAU,CAAC,CAAC;QACzD,KAAK,CAAC,MAAM,CAAC,8BAA8B,EAAE,cAAc,CAAC,CAAC;QAC7D,KAAK,CAAC,MAAM,CAAC,6BAA6B,EAAE,GAAG,CAAC,CAAC;QAEjD,IAAI,GAAG,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;YAC7B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,KAA+B,CAAC;YACjF,MAAM,UAAU,GAAG,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAyB,EAAE,EAAE,CAAC,CAAC,CAAC;YACrE,MAAM,MAAM,GAAG,MAAM,mBAAmB,CAAC,aAAa,EAAE,QAAQ,EAAE,UAAU,CAAC,CAAC;YAC9E,IAAI,CAAC,MAAM,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,CAAC,KAAK,SAAS,EAAE,CAAC;gBAC5E,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;gBACtD,IAAI,IAAI,CAAC,OAAO,KAAK,IAAI,EAAE,CAAC;oBAC1B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO,KAAK,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;gBAC3C,CAAC;gBACD,wEAAwE;gBACxE,sCAAsC;gBACtC,MAAM,IAAI,GACR,GAAG,CAAC,OAAO,CAAC,cAAc,CAAC,KAAK,0BAA0B;oBACxD,CAAC,CAAC,IAAI,CAAC,IAAI,IAAK,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY;oBACtD,CAAC,CAAE,GAAG,CAAC,OAAO,CAAC,cAAc,CAAY,IAAI,IAAI,CAAC,IAAI,CAAC;gBAE3D,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CACnE,aAAa,EACb,MAAM,EACN,QAAQ,EACR;oBACE,QAAQ,EAAE,EAAE,cAAc,EAAE,IAAI,EAAE;iBACnC,CACF,CAAC;gBAEF,MAAM,QAAQ,CACZ,GAAG,CAAC,GAAG,EACP,IAAI,WAAW,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,GAAG,IAAI,EAAE,CAAC,EACpE,WAAW,CACZ,CAAC;gBAEF,MAAM,EAAE,MAAM,EAAE,GAAG,WAAW,CAAC;gBAC/B,MAAM,QAAQ,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;gBAE9D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;gBAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;YACtB,CAAC;YAED,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;QACtB,CAAC;QAED,IAAI,GAAG,CAAC,MAAM,KAAK,KAAK,EAAE,CAAC;YACzB,MAAM,MAAM,GAAG,QAAQ,CAAC;YACxB,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,eAAe,EAAE,GAAG,GAAG,CAAC,KAA+B,CAAC;YACjF,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAChF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;YAC9D,IAAI,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC;gBAClC,MAAM,MAAM,GAAG,QAAQ,CAAC,eAAyB,EAAE,EAAE,CAAC,CAAC;gBACvD,IAAI,MAAM,IAAI,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;oBACzB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO,KAAK,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;gBACnD,CAAC;gBAED,MAAM,iBAAiB,GAAG,cAAc,EAAE,CAAC;gBAC3C,MAAM,SAAS,GAAG,MAAM,iBAAiB,CAAC,iBAAiB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;gBAElF,IAAI,IAAI,GAAG,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE,CAAC;oBACtE,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;oBAClB,OAAO,KAAK,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;gBAC7D,CAAC;YACH,CAAC;YAED,IAAI,IAAI,EAAE,QAAQ,EAAE,CAAC,cAAc,CAAC,EAAE,CAAC;gBACrC,KAAK,CAAC,MAAM,CAAC,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC,CAAC;YAC9D,CAAC;YACD,IAAI,IAAI,EAAE,MAAM,EAAE,CAAC;gBACjB,KAAK,CAAC,MAAM,CAAC,gBAAgB,EAAE,IAAI,EAAE,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC1D,CAAC;YAED,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,iBAAiB,CAAC,gBAAgB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAC;YAE3F,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAChC,CAAC;QAED,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACf,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;YAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;QACxE,CAAC;IACH,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,aAAa,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAQ9C,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,UAAU,CAY3D,CAAC;AAIF,MAAM,CAAC,OAAO,yBAEb;AAID,eAAO,MAAM,cAAc,GAAU;;;;CAAuB,KAAG,OAAO,CAAC,MAAM,CAiC5E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,+DAMG;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,yDAiBlC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,0EAQG;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,2DAwBlC,CAAC"}
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAEjE,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,QAAQ,CAAC;AAQ9C,eAAO,MAAM,gBAAgB,QAAa,OAAO,CAAC,UAAU,CAY3D,CAAC;AAIF,MAAM,CAAC,OAAO,yBAEb;AAID,eAAO,MAAM,cAAc,GAAU;;;;CAAuB,KAAG,OAAO,CAAC,MAAM,CAiC5E,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,+DAMG;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,yDAkBlC,CAAC;AAEF,eAAO,MAAM,wBAAwB,GACnC,0EAQG;IACD,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,KAAK,CAAC;IACb,YAAY,EAAE,YAAY,CAAC;IAC3B,OAAO,EAAE,kBAAkB,CAAC;IAC5B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B,EACD,UAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAM,2DAyBlC,CAAC"}
@@ -11,7 +11,7 @@ export const initStripeClient = async () => {
11
11
  // @ts-ignore
12
12
  const { default: Stripe } = await import('stripe');
13
13
  stripe = new Stripe(STRIPE_SECRET, {
14
- apiVersion: '2025-05-28.basil',
14
+ apiVersion: '2025-06-30.basil',
15
15
  });
16
16
  return stripe;
17
17
  };
@@ -53,7 +53,7 @@ export const upsertCustomer = async ({ userId, name, email }) => {
53
53
  };
54
54
  export const createRegistrationIntent = async ({ userId, name, email, paymentProviderId, descriptorPrefix, }, options = {}) => {
55
55
  const customer = options?.customer || (await upsertCustomer({ userId, name, email }));
56
- const description = `${descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
56
+ const description = `${options?.description || descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
57
57
  const setupIntent = await stripe.setupIntents.create({
58
58
  description,
59
59
  customer,
@@ -68,7 +68,7 @@ export const createRegistrationIntent = async ({ userId, name, email, paymentPro
68
68
  return setupIntent;
69
69
  };
70
70
  export const createOrderPaymentIntent = async ({ userId, name, email, order, orderPayment, pricing, descriptorPrefix, }, options = {}) => {
71
- const description = `${descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
71
+ const description = `${options?.description || descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
72
72
  const customer = options?.customer || (await upsertCustomer({ userId, name, email }));
73
73
  const { currency, amount } = pricing.total({ useNetPrice: false });
74
74
  const paymentIntent = await stripe.paymentIntents.create({
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../../src/payment/stripe/stripe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "3.1.14",
3
+ "version": "3.1.16",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -69,7 +69,7 @@ export const GridFSAdapter: IFileAdapter<
69
69
  } as UploadFileData & { putURL: string };
70
70
  },
71
71
 
72
- async uploadFileFromStream(directoryName: string, rawFile: any, { modules }) {
72
+ async uploadFileFromStream(directoryName: string, rawFile: any, { modules }, options = {}) {
73
73
  let stream: Readable;
74
74
  let fileName;
75
75
  if (rawFile instanceof Promise) {
@@ -91,9 +91,14 @@ export const GridFSAdapter: IFileAdapter<
91
91
  fileName,
92
92
  {
93
93
  metadata: { 'content-type': type },
94
+ ...options,
94
95
  },
95
96
  );
96
- await pipeline(stream, new PassThrough({ allowHalfOpen: true }), writeStream);
97
+ await pipeline(
98
+ stream,
99
+ new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }),
100
+ writeStream,
101
+ );
97
102
  const { length } = writeStream;
98
103
  const url = `/gridfs/${directoryName}/${encodeURIComponent(hashedFilename)}`;
99
104
 
@@ -63,10 +63,13 @@ const gridfsHandler = async (
63
63
  fileName,
64
64
  {
65
65
  metadata: { 'content-type': type },
66
- chunkSizeBytes: 1024 * 1024 * 5, // 5MB chunks
67
66
  },
68
67
  );
69
- await pipeline(req, new PassThrough(), writeStream);
68
+ await pipeline(
69
+ req,
70
+ new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }),
71
+ writeStream,
72
+ );
70
73
 
71
74
  const { length } = writeStream;
72
75
  await services.files.linkFile({ fileId, size: length, type });
@@ -56,11 +56,14 @@ const gridfsHandler: RouteHandlerMethod = async (
56
56
  fileName,
57
57
  {
58
58
  metadata: { 'content-type': type },
59
- chunkSizeBytes: 1024 * 1024 * 5, // 5MB chunks
60
59
  },
61
60
  );
62
61
 
63
- await pipeline(req.raw, new PassThrough(), writeStream);
62
+ await pipeline(
63
+ req.raw,
64
+ new PassThrough({ allowHalfOpen: true, highWaterMark: 1024 * 1024 }),
65
+ writeStream,
66
+ );
64
67
 
65
68
  const { length } = writeStream;
66
69
  await services.files.linkFile({ fileId, size: length, type });
@@ -18,7 +18,7 @@ export const initStripeClient = async (): Promise<StripeType> => {
18
18
  // @ts-ignore
19
19
  const { default: Stripe } = await import('stripe');
20
20
  stripe = new Stripe(STRIPE_SECRET, {
21
- apiVersion: '2025-05-28.basil',
21
+ apiVersion: '2025-06-30.basil',
22
22
  });
23
23
  return stripe;
24
24
  };
@@ -83,7 +83,8 @@ export const createRegistrationIntent = async (
83
83
  options: Record<string, any> = {},
84
84
  ) => {
85
85
  const customer = options?.customer || (await upsertCustomer({ userId, name, email }));
86
- const description = `${descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
86
+ const description =
87
+ `${options?.description || descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
87
88
 
88
89
  const setupIntent = await stripe.setupIntents.create({
89
90
  description,
@@ -119,7 +120,8 @@ export const createOrderPaymentIntent = async (
119
120
  },
120
121
  options: Record<string, any> = {},
121
122
  ) => {
122
- const description = `${descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
123
+ const description =
124
+ `${options?.description || descriptorPrefix || EMAIL_WEBSITE_NAME || 'Unchained'}`.trim();
123
125
  const customer = options?.customer || (await upsertCustomer({ userId, name, email }));
124
126
 
125
127
  const { currency, amount } = pricing.total({ useNetPrice: false });
@@ -1,25 +0,0 @@
1
- /**
2
- * Converts a cryptocurrency amount from its smallest unit (e.g., wei, satoshi) to a normalized value
3
- * with 9 decimal places of precision.
4
- *
5
- * This function handles the denomination of cryptocurrency amounts by converting from the
6
- * blockchain's native smallest units (like wei for Ethereum which is 10^-18 ETH, or satoshi for Bitcoin
7
- * which is 10^-8 BTC) to a standardized format with 9 decimal places for consistent handling across
8
- * different cryptocurrencies.
9
- *
10
- * @param {string} amountAsString - The amount in the cryptocurrency's smallest unit (e.g., wei, satoshi)
11
- * represented as a string to handle large numbers
12
- * @param {number} decimals - The number of decimal places used by the cryptocurrency
13
- * (e.g., 18 for Ethereum, 8 for Bitcoin)
14
- * @returns {number} The converted amount with 9 decimal places of precision
15
- *
16
- * @example
17
- * // Convert 1 ETH in wei (1000000000000000000) to normalized format
18
- * denoteAmount("1000000000000000000", 18)
19
- *
20
- * @example
21
- * // Convert 1 BTC in satoshi (100000000) to normalized format
22
- * denoteAmount("100000000", 8)
23
- */
24
- export default function denoteAmount(amountAsString: string, decimals: number): bigint;
25
- //# sourceMappingURL=denote-amount.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"denote-amount.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/denote-amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,UAK5E"}
@@ -1,31 +0,0 @@
1
- /**
2
- * Converts a cryptocurrency amount from its smallest unit (e.g., wei, satoshi) to a normalized value
3
- * with 9 decimal places of precision.
4
- *
5
- * This function handles the denomination of cryptocurrency amounts by converting from the
6
- * blockchain's native smallest units (like wei for Ethereum which is 10^-18 ETH, or satoshi for Bitcoin
7
- * which is 10^-8 BTC) to a standardized format with 9 decimal places for consistent handling across
8
- * different cryptocurrencies.
9
- *
10
- * @param {string} amountAsString - The amount in the cryptocurrency's smallest unit (e.g., wei, satoshi)
11
- * represented as a string to handle large numbers
12
- * @param {number} decimals - The number of decimal places used by the cryptocurrency
13
- * (e.g., 18 for Ethereum, 8 for Bitcoin)
14
- * @returns {number} The converted amount with 9 decimal places of precision
15
- *
16
- * @example
17
- * // Convert 1 ETH in wei (1000000000000000000) to normalized format
18
- * denoteAmount("1000000000000000000", 18)
19
- *
20
- * @example
21
- * // Convert 1 BTC in satoshi (100000000) to normalized format
22
- * denoteAmount("100000000", 8)
23
- */
24
- export default function denoteAmount(amountAsString, decimals) {
25
- if (decimals <= 9)
26
- return BigInt(amountAsString); // No conversion needed if decimals are 9 or less
27
- const exponent = BigInt(decimals) - 9n;
28
- const amount = BigInt(amountAsString);
29
- return amount / 10n ** exponent; // Denote to 9 decimals
30
- }
31
- //# sourceMappingURL=denote-amount.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"denote-amount.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/denote-amount.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,MAAM,CAAC,OAAO,UAAU,YAAY,CAAC,cAAsB,EAAE,QAAgB;IAC3E,IAAI,QAAQ,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC,cAAc,CAAC,CAAC,CAAC,iDAAiD;IACnG,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,cAAc,CAAC,CAAC;IACtC,OAAO,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,CAAC,uBAAuB;AAC1D,CAAC"}
@@ -1,3 +0,0 @@
1
- declare const _default: (xpub: any, index: any) => string;
2
- export default _default;
3
- //# sourceMappingURL=derive-btc-address.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-btc-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"yBAkBgB,SAAI,EAAE,UAAK;AAA3B,wBA6BE"}
@@ -1,39 +0,0 @@
1
- import { HDKey } from '@scure/bip32';
2
- import { NETWORK, p2wpkh, TEST_NETWORK } from '@scure/btc-signer';
3
- // const resolvePath = (prefix) => {
4
- // if (prefix === 'x') return `m/44'/0'`;
5
- // if (prefix === 'y') return `m/49'/0'`;
6
- // if (prefix === 'z') return `m/84'/0'`;
7
- // if (prefix === 't') return `m/44'/1'`;
8
- // if (prefix === 'u') return `m/49'/1'`;
9
- // if (prefix === 'v') return `m/84'/1'`;
10
- // return `m`;
11
- // };
12
- const resolveNetwork = (prefix) => {
13
- if (['x', 'y', 'z'].includes(prefix))
14
- return NETWORK;
15
- return TEST_NETWORK;
16
- };
17
- export default (xpub, index) => {
18
- const prefix = xpub.slice(0, 1);
19
- if (prefix !== 'z' && prefix !== 'v')
20
- throw new Error('Cryptopay only supports native segwit (zpub/vpub) extended key format for BTC');
21
- const hardenedMaster = HDKey.fromExtendedKey(xpub, prefix === 'z'
22
- ? {
23
- public: 0x04b24746, // zpub public
24
- private: 0x04b2430c, // zpriv private
25
- }
26
- : {
27
- public: 0x045f1cf6,
28
- private: 0x045f18bc,
29
- });
30
- hardenedMaster.wipePrivateData(); // Neuter
31
- const child = hardenedMaster.deriveChild(0).deriveChild(index);
32
- // We don't need this AFAIK:
33
- // const derivationPath = resolvePath(prefix);
34
- // const child = hardenedMaster.derive(`${derivationPath}/0/${btcDerivationNumber}`);
35
- const network = resolveNetwork(prefix);
36
- const pubKey = p2wpkh(child.publicKey /* hex.decode( as string)*/, network);
37
- return pubKey.address;
38
- };
39
- //# sourceMappingURL=derive-btc-address.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-btc-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-btc-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAElE,oCAAoC;AACpC,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,2CAA2C;AAC3C,gBAAgB;AAChB,KAAK;AAEL,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,OAAO,CAAC;IACrD,OAAO,YAAY,CAAC;AACtB,CAAC,CAAC;AAEF,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAChC,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAClC,MAAM,IAAI,KAAK,CAAC,+EAA+E,CAAC,CAAC;IAEnG,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAC1C,IAAI,EACJ,MAAM,KAAK,GAAG;QACZ,CAAC,CAAC;YACE,MAAM,EAAE,UAAU,EAAE,cAAc;YAClC,OAAO,EAAE,UAAU,EAAE,gBAAgB;SACtC;QACH,CAAC,CAAC;YACE,MAAM,EAAE,UAAU;YAClB,OAAO,EAAE,UAAU;SACpB,CACN,CAAC;IACF,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,4BAA4B;IAC5B,8CAA8C;IAC9C,qFAAqF;IAErF,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC;IACvC,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,2BAA2B,EAAE,OAAO,CAAC,CAAC;IAE5E,OAAO,MAAM,CAAC,OAAO,CAAC;AACxB,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- declare const _default: (xpub: any, index: any) => string;
2
- export default _default;
3
- //# sourceMappingURL=derive-eth-address.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-eth-address.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"yBAwBgB,SAAI,EAAE,UAAK;AAA3B,wBAaE"}
@@ -1,32 +0,0 @@
1
- import { HDKey } from '@scure/bip32';
2
- import { keccak_256 } from '@noble/hashes/sha3';
3
- import { secp256k1 } from '@noble/curves/secp256k1';
4
- function getChecksumAddress(address) {
5
- const chars = address.split('');
6
- const expanded = new Uint8Array(40);
7
- for (let i = 0; i < 40; i++) {
8
- expanded[i] = chars[i].charCodeAt(0);
9
- }
10
- const hashed = keccak_256(expanded);
11
- for (let i = 0; i < 40; i += 2) {
12
- if (hashed[i >> 1] >> 4 >= 8) {
13
- chars[i] = chars[i].toUpperCase();
14
- }
15
- if ((hashed[i >> 1] & 0x0f) >= 8) {
16
- chars[i + 1] = chars[i + 1].toUpperCase();
17
- }
18
- }
19
- return '0x' + chars.join('');
20
- }
21
- export default (xpub, index) => {
22
- const hardenedMaster = HDKey.fromExtendedKey(xpub);
23
- hardenedMaster.wipePrivateData(); // Neuter
24
- const child = hardenedMaster.deriveChild(0).deriveChild(index);
25
- // ETH Address (secp256k1 + keccak_256 + checksum)
26
- const childSigningKey = secp256k1.ProjectivePoint.fromHex(child.publicKey).toRawBytes(false);
27
- const address = Buffer.from(keccak_256(childSigningKey.slice(1)))
28
- .toString('hex')
29
- .substring(24);
30
- return getChecksumAddress(address);
31
- };
32
- //# sourceMappingURL=derive-eth-address.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"derive-eth-address.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/derive-eth-address.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAEpD,SAAS,kBAAkB,CAAC,OAAO;IACjC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IAChC,MAAM,QAAQ,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;QAC5B,QAAQ,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,MAAM,MAAM,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEpC,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,EAAE,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QAC/B,IAAI,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7B,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QACpC,CAAC;QACD,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,OAAO,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAC/B,CAAC;AAED,eAAe,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;IAC7B,MAAM,cAAc,GAAG,KAAK,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC;IACnD,cAAc,CAAC,eAAe,EAAE,CAAC,CAAC,SAAS;IAE3C,MAAM,KAAK,GAAG,cAAc,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE/D,kDAAkD;IAClD,MAAM,eAAe,GAAG,SAAS,CAAC,eAAe,CAAC,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;IAC7F,MAAM,OAAO,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D,QAAQ,CAAC,KAAK,CAAC;SACf,SAAS,CAAC,EAAE,CAAC,CAAC;IAEjB,OAAO,kBAAkB,CAAC,OAAO,CAAC,CAAC;AACrC,CAAC,CAAC"}
@@ -1,26 +0,0 @@
1
- import { Context } from '@unchainedshop/api';
2
- import { CryptopayModule } from './module.js';
3
- export default function handleWebhook({ secret, wallet, price, ping, }: {
4
- secret: string;
5
- wallet?: {
6
- address: string;
7
- blockHeight: number;
8
- amount: string;
9
- contract?: string;
10
- decimals?: number;
11
- currencyCode: string;
12
- };
13
- price?: {
14
- baseCurrency: string;
15
- token: string;
16
- rate: number;
17
- timestamp: string;
18
- };
19
- ping?: {
20
- blockHeight: number;
21
- currencyCode: string;
22
- };
23
- }, context: Context & {
24
- modules: CryptopayModule;
25
- }): Promise<void>;
26
- //# sourceMappingURL=handle-webhook.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-webhook.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAO9C,wBAA8B,aAAa,CACzC,EACE,MAAM,EACN,MAAM,EACN,KAAK,EACL,IAAI,GACL,EAAE;IACD,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE;QACP,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE;QACN,YAAY,EAAE,MAAM,CAAC;QACrB,KAAK,EAAE,MAAM,CAAC;QACd,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;IACF,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;QACpB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH,EACD,OAAO,EAAE,OAAO,GAAG;IACjB,OAAO,EAAE,eAAe,CAAC;CAC1B,iBA+DF"}
@@ -1,61 +0,0 @@
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 default async function handleWebhook({ secret, wallet, price, ping, }, context) {
6
- const { modules, services } = context;
7
- if (secret !== CRYPTOPAY_SECRET) {
8
- logger.warn(`webhook called with invalid secret`);
9
- throw new Error('Secret invalid');
10
- }
11
- if (wallet) {
12
- const { address, blockHeight, amount, contract, decimals, currencyCode } = wallet;
13
- logger.debug('webhook received wallet data', wallet);
14
- const { orderPaymentId } = await modules.cryptopay.updateWalletAddress({
15
- address,
16
- blockHeight,
17
- amount,
18
- contract,
19
- decimals,
20
- currencyCode,
21
- });
22
- const orderPayment = orderPaymentId &&
23
- (await modules.orders.payments.findOrderPayment({
24
- orderPaymentId,
25
- }));
26
- if (orderPayment) {
27
- // Try to process order to next status
28
- // TODO: Not sure if it's correct to use processOrder here if status is PENDING!
29
- const order = await modules.orders.findOrder({ orderId: orderPayment.orderId });
30
- if (order.status === null) {
31
- await services.orders.checkoutOrder(order._id, {});
32
- }
33
- else if (order.status === OrderStatus.PENDING) {
34
- await services.orders.processOrder(order, {});
35
- }
36
- else {
37
- throw new Error('Already processed');
38
- }
39
- }
40
- }
41
- if (price) {
42
- logger.debug('webhook received price data', price);
43
- const { baseCurrency, token, rate, timestamp } = price;
44
- const timestampDate = new Date(timestamp);
45
- const expiresAt = new Date(new Date().getTime() + parseInt(CRYPTOPAY_MAX_RATE_AGE, 10) * 1000);
46
- const rateData = {
47
- baseCurrency,
48
- quoteCurrency: token,
49
- rate,
50
- expiresAt,
51
- timestamp: timestampDate,
52
- };
53
- await modules.products.prices.rates.updateRates([rateData]);
54
- }
55
- if (ping) {
56
- logger.debug('webhook received ping data', ping);
57
- const { blockHeight, currencyCode } = ping;
58
- await modules.cryptopay.updateMostRecentBlock(currencyCode, blockHeight);
59
- }
60
- }
61
- //# sourceMappingURL=handle-webhook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}