@unchainedshop/plugins 2.2.3 → 2.3.0

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 (41) hide show
  1. package/lib/payment/cryptopay/plugin.js +3 -2
  2. package/lib/payment/cryptopay/plugin.js.map +1 -1
  3. package/lib/payment/postfinance-checkout/types.js +2 -2
  4. package/lib/payment/postfinance-checkout/types.js.map +1 -1
  5. package/lib/pricing/order-discount.d.ts +2 -10
  6. package/lib/pricing/order-discount.js +12 -47
  7. package/lib/pricing/order-discount.js.map +1 -1
  8. package/lib/pricing/order-items-discount.js +3 -37
  9. package/lib/pricing/order-items-discount.js.map +1 -1
  10. package/lib/pricing/product-discount.d.ts +1 -2
  11. package/lib/pricing/product-discount.js +2 -5
  12. package/lib/pricing/product-discount.js.map +1 -1
  13. package/lib/pricing/product-price-round.d.ts +0 -1
  14. package/lib/pricing/product-price-round.js +2 -2
  15. package/lib/pricing/product-price-round.js.map +1 -1
  16. package/lib/warehousing/google-sheets.js +2 -2
  17. package/lib/warehousing/google-sheets.js.map +1 -1
  18. package/lib/worker/email.js +2 -2
  19. package/lib/worker/email.js.map +1 -1
  20. package/lib/worker/sms.js +7 -0
  21. package/lib/worker/sms.js.map +1 -1
  22. package/lib/worker/update-token-ownership.js +1 -1
  23. package/lib/worker/update-token-ownership.js.map +1 -1
  24. package/package.json +29 -26
  25. package/src/payment/cryptopay/plugin.ts +5 -3
  26. package/src/pricing/configureProductPriceRounding.test.ts +0 -2
  27. package/src/pricing/free-delivery.test.ts +1 -1
  28. package/src/pricing/order-delivery.test.ts +1 -1
  29. package/src/pricing/order-discount.test.ts +4 -203
  30. package/src/pricing/order-discount.ts +21 -65
  31. package/src/pricing/order-items-discount.ts +4 -45
  32. package/src/pricing/product-discount.ts +3 -6
  33. package/src/pricing/product-price-round.ts +2 -4
  34. package/src/warehousing/google-sheets.ts +2 -2
  35. package/src/worker/email.ts +2 -2
  36. package/src/worker/sms.ts +8 -0
  37. package/src/worker/update-token-ownership.ts +1 -1
  38. package/tsconfig.json +3 -7
  39. package/src/pricing/apply-rate.test.ts +0 -92
  40. package/src/pricing/getTaxRate.test.ts +0 -69
  41. package/src/pricing/roundToNext.test.ts +0 -24
@@ -15,7 +15,7 @@ var CryptopayCurrencies;
15
15
  const getDerivationPath = (currency, index) => {
16
16
  const address = `${(parseInt(CRYPTOPAY_DERIVATION_START, 10) || 0) + index}`;
17
17
  if (currency === CryptopayCurrencies.ETH) {
18
- const pathComponents = ethers.utils.defaultPath.split('/');
18
+ const pathComponents = ethers.defaultPath.split('/');
19
19
  pathComponents[pathComponents.length - 1] = address;
20
20
  return pathComponents.join('/');
21
21
  }
@@ -119,7 +119,8 @@ const Cryptopay = {
119
119
  if (CRYPTOPAY_ETH_XPUB) {
120
120
  // we neuter for security reasons, it's still quite complicated for most ethereum clients to show an appropriate
121
121
  // xpub, that's why
122
- const hardenedMaster = ethers.utils.HDNode.fromExtendedKey(CRYPTOPAY_ETH_XPUB).neuter();
122
+ const hdWallet = ethers.HDNodeWallet.fromExtendedKey(CRYPTOPAY_ETH_XPUB);
123
+ const hardenedMaster = hdWallet?.neuter() || hdWallet;
123
124
  const ethDerivationNumber = await modules.cryptopay.getNextDerivationNumber(CryptopayCurrencies.ETH);
124
125
  const derivationPath = getDerivationPath(CryptopayCurrencies.ETH, ethDerivationNumber);
125
126
  const cleanedForHD = derivationPath.split('/').slice(-2).join('/');
@@ -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":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,EAAkC,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,KAAK,OAAO,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AAG/D,MAAM,MAAM,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAEhE,MAAM,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,qBAAqB,EACrB,0BAA0B,GAAG,GAAG,GACjC,GAAG,OAAO,CAAC,GAAG,CAAC;AAEhB,IAAK,mBAGJ;AAHD,WAAK,mBAAmB;IACtB,kCAAW,CAAA;IACX,kCAAW,CAAA;AACb,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,QAGvB;AASD,MAAM,iBAAiB,GAAG,CAAC,QAA6B,EAAE,KAAa,EAAU,EAAE;IACjF,MAAM,OAAO,GAAG,GAAG,CAAC,QAAQ,CAAC,0BAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,GAAG,KAAK,EAAE,CAAC;IAC7E,IAAI,QAAQ,KAAK,mBAAmB,CAAC,GAAG,EAAE;QACxC,MAAM,cAAc,GAAG,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QACrD,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,OAAO,CAAC;QACpD,OAAO,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;KACjC;IACD,IAAI,QAAQ,KAAK,mBAAmB,CAAC,GAAG,EAAE;QACxC,OAAO,iBAAiB,OAAO,EAAE,CAAC;KACnC;IACD,OAAO,KAAK,OAAO,EAAE,CAAC;AACxB,CAAC,CAAC;AAEF,MAAM,SAAS,GAAoB;IACjC,GAAG,cAAc;IAEjB,GAAG,EAAE,kCAAkC;IACvC,KAAK,EAAE,WAAW;IAClB,OAAO,EAAE,OAAO;IAEhB,aAAa,CAAC,IAAI;QAChB,OAAO,IAAI,KAAK,SAAS,CAAC;IAC5B,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,OAAoE,CAAC;QAEpG,MAAM,kBAAkB,GAAG,KAAK,EAAE,YAAoB,EAAE,iBAAwB,EAAE,EAAE;YAClF,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,CAAC;YAC3F,MAAM,gBAAgB,GAAG,MAAM,OAAO,CAAC,GAAG,CACxC,iBAAiB,CAAC,GAAG,CAAC,KAAK,EAAE,WAAW,EAAE,EAAE;gBAC1C,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;oBAC9D,OAAO,EAAE,WAAW,CAAC,QAAQ;iBAC9B,CAAC,CAAC;gBACH,IAAI,CAAC,iBAAiB,CAAC,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAC7C,MAAM,QAAQ,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAC1D,iBAAiB,EACjB,iBAAiB,CAClB,CAAC;gBACF,OAAO;oBACL,GAAG,WAAW;oBACd,sBAAsB,EAAE,QAAQ,EAAE,IAAI;oBACtC,4BAA4B,EAAE,QAAQ,EAAE,SAAS;iBAClD,CAAC;YACJ,CAAC,CAAC,CACH,CAAC;YACF,OAAO,gBAAgB,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC1C,CAAC,CAAC;QAEF,MAAM,oCAAoC,GAAG,KAAK,EAChD,cAAsB,EACtB,eAAmC,EACnC,EAAE;YACF,OAAO,OAAO,CAAC,GAAG,CAChB,eAAe,CAAC,GAAG,CAAC,KAAK,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,CAClD,OAAO,CAAC,SAAS,CAAC,8BAA8B,CAAC;gBAC/C,SAAS,EAAE,OAAO;gBAClB,QAAQ,EAAE,IAAI;gBACd,QAAQ;gBACR,cAAc;aACf,CAAC,CACH,CACF,CAAC;QACJ,CAAC,CAAC;QAEF,MAAM,cAAc,GAAG;YACrB,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC;YAEjC,2BAA2B;YAC3B,kBAAkB;gBAChB,sBAAsB;gBACtB,IAAI,CAAC,gBAAgB,EAAE;oBACrB,OAAO,YAAY,CAAC,wBAAwB,CAAC;iBAC9C;gBACD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,EAAE;oBAC9C,OAAO,YAAY,CAAC,wBAAwB,CAAC;iBAC9C;gBACD,OAAO,IAAI,CAAC;YACd,CAAC;YAED,QAAQ;gBACN,oEAAoE;gBACpE,IAAI,cAAc,CAAC,kBAAkB,EAAE,KAAK,IAAI;oBAAE,OAAO,KAAK,CAAC;gBAC/D,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAC9C,OAAO;gBACP,kDAAkD;gBAClD,mEAAmE;gBACnE,MAAM;gBACN,IAAI;gBACJ,kBAAkB;gBAClB,OAAO,IAAI,CAAC;YACd,CAAC;YAED,iBAAiB;gBACf,OAAO,KAAK,CAAC;YACf,CAAC;YAED,IAAI,EAAE,KAAK,IAAI,EAAE;gBACf,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBAEtD,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,kCAAkC,CAClF,YAAY,CAAC,GAAG,CACjB,CAAC;gBACF,IAAI,iBAAiB,CAAC,MAAM,EAAE;oBAC5B,qFAAqF;oBACrF,MAAM,kCAAkC,GAAG,MAAM,kBAAkB,CACjE,KAAK,CAAC,QAAQ,EACd,iBAAiB,CAAC,GAAG,CACnB,CAAC,EAAE,GAAG,EAAE,QAAQ,EAAE,EAAE,EAAE,CACpB,CAAC;wBACC,OAAO,EAAE,GAAG;wBACZ,QAAQ;qBACY,CAAA,CACzB,CACF,CAAC;oBACF,OAAO,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;iBAC3D;gBAED,MAAM,eAAe,GAAuB,EAAE,CAAC;gBAC/C,IAAI,kBAAkB,EAAE;oBACtB,MAAM,OAAO,GAAG,qBAAqB,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC;oBAC5F,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;oBACrE,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,mBAAmB,CAAC,GAAG,CACxB,CAAC;oBACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;oBACvF,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;oBACxD,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,mBAAmB,CAAC,GAAG;wBACjC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC;4BAC9B,MAAM,EAAE,KAAK,CAAC,SAAS;4BACvB,OAAO;yBACR,CAAC,CAAC,OAAO;qBACX,CAAC,CAAC;iBACJ;gBACD,IAAI,kBAAkB,EAAE;oBACtB,gHAAgH;oBAChH,mBAAmB;oBACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBACzE,MAAM,cAAc,GAAI,QAAyB,EAAE,MAAM,EAAE,IAAK,QAA6B,CAAC;oBAE9F,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,mBAAmB,CAAC,GAAG,CACxB,CAAC;oBACF,MAAM,cAAc,GAAG,iBAAiB,CAAC,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,CAAC,CAAC;oBACvF,MAAM,YAAY,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;oBACnE,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,mBAAmB,CAAC,GAAG;wBACjC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,OAAO;qBACzD,CAAC,CAAC;iBACJ;gBAED,MAAM,6BAA6B,GAAG,MAAM,kBAAkB,CAAC,KAAK,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;gBAChG,MAAM,oCAAoC,CAAC,YAAY,CAAC,GAAG,EAAE,eAAe,CAAC,CAAC;gBAC9E,OAAO,IAAI,CAAC,SAAS,CAAC,6BAA6B,CAAC,CAAC;YACvD,CAAC;YAED,MAAM,EAAE,KAAK,IAAI,EAAE;gBACjB,MAAM,EAAE,KAAK,EAAE,YAAY,EAAE,GAAG,MAAM,CAAC,cAAc,CAAC;gBAEtD,MAAM,wBAAwB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,kCAAkC,CACzF,YAAY,CAAC,GAAG,CACjB,CAAC;gBAEF,MAAM,qBAAqB,GAAG,wBAAwB,CAAC,IAAI,CACzD,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,CAClD,CAAC;gBAEF,MAAM,OAAO,GAAG,iBAAiB,CAAC;oBAChC,WAAW,EAAE,KAAK,CAAC,WAAW;oBAC9B,QAAQ,EAAE,KAAK,CAAC,QAAQ;iBACzB,CAAC,CAAC;gBACH,MAAM,WAAW,GAAG,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,WAAW,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC;gBAE1E,IAAI,qBAAqB,CAAC,QAAQ,KAAK,KAAK,CAAC,QAAQ,EAAE;oBACrD,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC;wBACzD,OAAO,EAAE,qBAAqB,CAAC,QAAQ;qBACxC,CAAC,CAAC;oBACH,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;oBAEzF,MAAM,EAAE,UAAU,CAAC,GAAG,EAAE,GAAG,MAAM,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,CACzE,YAAY,EACZ,aAAa,EACb,KAAK,CAAC,SAAS,IAAI,IAAI,IAAI,EAAE,CAC9B,CAAC;oBAEF,MAAM,eAAe,GACnB,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC/C,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC;oBAEvD,oBAAoB;oBACpB,0EAA0E;oBAC1E,MAAM,SAAS,GAAG,UAAU,CAAC,eAAe,CAAC,QAAQ,EAAE,CAAC,GAAG,GAAG,GAAG,KAAK,CAAC;oBAEvE,IAAI,SAAS,IAAI,SAAS,IAAI,WAAW,EAAE;wBACzC,cAAc;wBACd,OAAO;4BACL,aAAa,EAAE,qBAAqB,CAAC,GAAG;yBACzC,CAAC;qBACH;oBACD,MAAM,CAAC,IAAI,CACT,4BAA4B,qBAAqB,CAAC,GAAG,2BAA2B,SAAS,MAAM,WAAW,EAAE,CAC7G,CAAC;iBACH;gBAED,IAAI,qBAAqB,EAAE;oBACzB,gCAAgC;oBAChC,MAAM,eAAe,GACnB,MAAM,CAAC,qBAAqB,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;wBAC/C,GAAG,IAAI,CAAC,MAAM,CAAC,qBAAqB,CAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,mDAAmD;oBAE3G,IAAI,eAAe,IAAI,eAAe,IAAI,WAAW,EAAE;wBACrD,OAAO;4BACL,aAAa,EAAE,qBAAqB,CAAC,GAAG;yBACzC,CAAC;qBACH;oBACD,MAAM,CAAC,IAAI,CACT,4BAA4B,qBAAqB,CAAC,GAAG,2BAA2B,eAAe,MAAM,WAAW,EAAE,CACnH,CAAC;iBACH;gBAED,MAAM,CAAC,IAAI,CACT,8DACE,KAAK,CAAC,QACR,kBAAkB,IAAI,CAAC,SAAS,CAAC,wBAAwB,CAAC,EAAE,CAC7D,CAAC;gBAEF;;;;;;;;;;;;;;;;;kBAiBE;gBAEF,OAAO,KAAK,CAAC;YACf,CAAC;SACF,CAAC;QAEF,OAAO,cAAc,CAAC;IACxB,CAAC;CACF,CAAC;AAEF,eAAe,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;AAE3C,eAAe,SAAS,CAAC"}
@@ -3,10 +3,10 @@ export var IntegrationModes;
3
3
  IntegrationModes["PaymentPage"] = "PaymentPage";
4
4
  IntegrationModes["Lightbox"] = "Lightbox";
5
5
  IntegrationModes["iFrame"] = "iFrame";
6
- })(IntegrationModes = IntegrationModes || (IntegrationModes = {}));
6
+ })(IntegrationModes || (IntegrationModes = {}));
7
7
  export var CompletionModes;
8
8
  (function (CompletionModes) {
9
9
  CompletionModes["Immediate"] = "Immediate";
10
10
  CompletionModes["Deferred"] = "Deferred";
11
- })(CompletionModes = CompletionModes || (CompletionModes = {}));
11
+ })(CompletionModes || (CompletionModes = {}));
12
12
  //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payment/postfinance-checkout/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,GAAhB,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,GAAf,eAAe,KAAf,eAAe,QAG1B"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/payment/postfinance-checkout/types.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,gBAIX;AAJD,WAAY,gBAAgB;IAC1B,+CAA2B,CAAA;IAC3B,yCAAqB,CAAA;IACrB,qCAAiB,CAAA;AACnB,CAAC,EAJW,gBAAgB,KAAhB,gBAAgB,QAI3B;AAED,MAAM,CAAN,IAAY,eAGX;AAHD,WAAY,eAAe;IACzB,0CAAuB,CAAA;IACvB,wCAAqB,CAAA;AACvB,CAAC,EAHW,eAAe,KAAf,eAAe,QAG1B"}
@@ -1,10 +1,2 @@
1
- export declare const resolveRatioAndTaxDivisorForPricingSheet: (pricing: any, total: any) => {
2
- ratio: number;
3
- taxDivisor: number;
4
- };
5
- export declare const resolveAmountAndTax: ({ ratio, taxDivisor }: {
6
- ratio: any;
7
- taxDivisor: any;
8
- }, amount: any) => number[];
9
- export declare const applyDiscountToMultipleShares: (shares: any, amount: any) => any;
10
- export declare const calculateAmountToSplit: (configuration: any, amount: any) => number;
1
+ import { IOrderPricingAdapter } from '@unchainedshop/types/orders.pricing.js';
2
+ export declare const OrderDiscount: IOrderPricingAdapter;
@@ -1,44 +1,7 @@
1
1
  import { OrderPricingRowCategory } from '@unchainedshop/types/orders.pricing.js';
2
2
  import { OrderPricingDirector, OrderPricingAdapter } from '@unchainedshop/core-orders';
3
- export const resolveRatioAndTaxDivisorForPricingSheet = (pricing, total) => {
4
- if (total === 0 || !pricing) {
5
- return {
6
- ratio: 1,
7
- taxDivisor: 1,
8
- };
9
- }
10
- const tax = pricing.taxSum();
11
- const gross = pricing.gross();
12
- if (gross - tax === 0) {
13
- return {
14
- ratio: 0,
15
- taxDivisor: 0,
16
- };
17
- }
18
- return {
19
- ratio: gross / total,
20
- taxDivisor: gross / (gross - tax),
21
- };
22
- };
23
- export const resolveAmountAndTax = ({ ratio, taxDivisor }, amount) => {
24
- const shareAmount = Number.isFinite(ratio) ? amount * ratio : 0;
25
- const shareTaxAmount = Number.isFinite(taxDivisor) && taxDivisor !== 0 ? shareAmount - shareAmount / taxDivisor : 0;
26
- return [shareAmount, shareTaxAmount];
27
- };
28
- // TODO: move to separate file because its used in multiple places
29
- export const applyDiscountToMultipleShares = (shares, amount) => {
30
- return shares.reduce(([currentDiscountAmount, currentTaxAmount], share) => {
31
- const [shareAmount, shareTaxAmount] = resolveAmountAndTax(share, amount);
32
- return [currentDiscountAmount + shareAmount, currentTaxAmount + shareTaxAmount];
33
- }, [0, 0]);
34
- };
35
- export const calculateAmountToSplit = (configuration, amount) => {
36
- const deductionAmount = configuration.rate ? amount * configuration.rate : configuration.fixedRate;
37
- const leftInDiscount = Math.max(0, deductionAmount - (configuration.alreadyDeductedForDiscount || 0));
38
- const leftToDeduct = Math.min(configuration.amountLeft, leftInDiscount);
39
- return Math.max(0, leftToDeduct);
40
- };
41
- const OrderDiscount = {
3
+ import { calculation as calcUtils } from '@unchainedshop/utils';
4
+ export const OrderDiscount = {
42
5
  ...OrderPricingAdapter,
43
6
  key: 'shop.unchained.pricing.order-discount',
44
7
  version: '1.0.0',
@@ -65,22 +28,24 @@ const OrderDiscount = {
65
28
  params.calculationSheet.sum({
66
29
  category: OrderPricingRowCategory.Delivery,
67
30
  });
68
- const itemShares = orderPositions.map((orderPosition) => resolveRatioAndTaxDivisorForPricingSheet(modules.orders.positions.pricingSheet(orderPosition, order.currency, params.context), totalAmountOfItems));
69
- const deliveryShare = resolveRatioAndTaxDivisorForPricingSheet(orderDelivery &&
31
+ const itemShares = orderPositions.map((orderPosition) => calcUtils.resolveRatioAndTaxDivisorForPricingSheet(modules.orders.positions.pricingSheet(orderPosition, order.currency, params.context), totalAmountOfItems));
32
+ const deliveryShare = calcUtils.resolveRatioAndTaxDivisorForPricingSheet(orderDelivery &&
70
33
  modules.orders.deliveries.pricingSheet(orderDelivery, order.currency, params.context), totalAmountOfPaymentAndDelivery);
71
- const paymentShare = resolveRatioAndTaxDivisorForPricingSheet(orderPayment &&
34
+ const paymentShare = calcUtils.resolveRatioAndTaxDivisorForPricingSheet(orderPayment &&
72
35
  modules.orders.payments.pricingSheet(orderPayment, order.currency, params.context), totalAmountOfPaymentAndDelivery);
73
36
  let amountLeft = totalAmountOfPaymentAndDelivery + totalAmountOfItems;
74
37
  params.discounts.forEach(({ configuration, discountId }) => {
75
38
  // First, we deduce the discount from the items
76
- let alreadyDeductedForDiscount = 0;
77
- const [itemsDiscountAmount, itemsTaxAmount] = applyDiscountToMultipleShares(itemShares, calculateAmountToSplit({ ...configuration, amountLeft, alreadyDeductedForDiscount }, totalAmountOfItems));
39
+ let alreadyDeducted = 0;
40
+ const leftInDiscountToSplit = calcUtils.calculateAmountToSplit({ ...configuration, alreadyDeducted }, totalAmountOfItems);
41
+ const [itemsDiscountAmount, itemsTaxAmount] = calcUtils.applyDiscountToMultipleShares(itemShares, Math.max(0, Math.min(amountLeft, leftInDiscountToSplit)));
78
42
  amountLeft -= itemsDiscountAmount;
79
- alreadyDeductedForDiscount += itemsDiscountAmount;
43
+ alreadyDeducted += itemsDiscountAmount;
80
44
  // After the items, we deduct the remaining discount from payment & delivery fees
81
- const [deliveryAndPaymentDiscountAmount, deliveryAndPaymentTaxAmount] = applyDiscountToMultipleShares([deliveryShare, paymentShare], calculateAmountToSplit({ ...configuration, amountLeft, alreadyDeductedForDiscount }, totalAmountOfPaymentAndDelivery));
45
+ const leftInFeesToSplit = calcUtils.calculateAmountToSplit({ ...configuration, alreadyDeducted }, totalAmountOfPaymentAndDelivery);
46
+ const [deliveryAndPaymentDiscountAmount, deliveryAndPaymentTaxAmount] = calcUtils.applyDiscountToMultipleShares([deliveryShare, paymentShare], Math.max(0, Math.min(amountLeft, leftInFeesToSplit)));
82
47
  amountLeft -= deliveryAndPaymentDiscountAmount;
83
- alreadyDeductedForDiscount += itemsDiscountAmount;
48
+ alreadyDeducted += itemsDiscountAmount;
84
49
  const discountAmount = itemsDiscountAmount + deliveryAndPaymentDiscountAmount;
85
50
  const taxAmount = itemsTaxAmount + deliveryAndPaymentTaxAmount;
86
51
  if (discountAmount) {
@@ -1 +1 @@
1
- {"version":3,"file":"order-discount.js","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-discount.js","sourceRoot":"","sources":["../../src/pricing/order-discount.ts"],"names":[],"mappings":"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"}
@@ -1,40 +1,6 @@
1
1
  import { OrderPricingRowCategory } from '@unchainedshop/types/orders.pricing.js';
2
2
  import { OrderPricingDirector, OrderPricingAdapter } from '@unchainedshop/core-orders';
3
- // TODO: move into separate file and share multiple places
4
- const resolveRatioAndTaxDivisorForPricingSheet = (pricing, total) => {
5
- if (total === 0 || !pricing) {
6
- return {
7
- ratio: 1,
8
- taxDivisor: 1,
9
- };
10
- }
11
- const tax = pricing.taxSum();
12
- const gross = pricing.gross();
13
- return {
14
- ratio: gross / total,
15
- taxDivisor: gross / (gross - tax),
16
- };
17
- };
18
- // TODO: move into separate file and share multiple places
19
- const resolveAmountAndTax = ({ ratio, taxDivisor }, amount) => {
20
- const shareAmount = Number.isFinite(ratio) ? amount * ratio : 0;
21
- const shareTaxAmount = Number.isFinite(taxDivisor) ? shareAmount - shareAmount / taxDivisor : 0;
22
- return [shareAmount, shareTaxAmount];
23
- };
24
- // TODO: move into separate file and share multiple places
25
- const applyDiscountToMultipleShares = (shares, amount) => {
26
- return shares.reduce(([currentDiscountAmount, currentTaxAmount], share) => {
27
- const [shareAmount, shareTaxAmount] = resolveAmountAndTax(share, amount);
28
- return [currentDiscountAmount + shareAmount, currentTaxAmount + shareTaxAmount];
29
- }, [0, 0]);
30
- };
31
- // TODO: move into separate file and share multiple places
32
- const calculateAmountToSplit = (configuration, amount) => {
33
- const deductionAmount = configuration.rate
34
- ? amount * configuration.rate
35
- : Math.min(configuration.fixedRate, amount);
36
- return Math.max(0, deductionAmount - (configuration.alreadyDeducted || 0));
37
- };
3
+ import { calculation as calcUtils } from '@unchainedshop/utils';
38
4
  const OrderItemsDiscount = {
39
5
  ...OrderPricingAdapter,
40
6
  key: 'shop.unchained.pricing.order-items-discount',
@@ -56,11 +22,11 @@ const OrderItemsDiscount = {
56
22
  const totalAmountOfItems = params.calculationSheet.sum({
57
23
  category: OrderPricingRowCategory.Items,
58
24
  });
59
- const itemShares = orderPositions.map((orderPosition) => resolveRatioAndTaxDivisorForPricingSheet(modules.orders.positions.pricingSheet(orderPosition, order.currency, params.context), totalAmountOfItems));
25
+ const itemShares = orderPositions.map((orderPosition) => calcUtils.resolveRatioAndTaxDivisorForPricingSheet(modules.orders.positions.pricingSheet(orderPosition, order.currency, params.context), totalAmountOfItems));
60
26
  let alreadyDeducted = 0;
61
27
  params.discounts.forEach(({ configuration, discountId }) => {
62
28
  // First, we deduce the discount from the items
63
- const [itemsDiscountAmount, itemsTaxAmount] = applyDiscountToMultipleShares(itemShares, calculateAmountToSplit({ ...configuration, alreadyDeducted }, totalAmountOfItems));
29
+ const [itemsDiscountAmount, itemsTaxAmount] = calcUtils.applyDiscountToMultipleShares(itemShares, calcUtils.calculateAmountToSplit({ ...configuration, alreadyDeducted }, totalAmountOfItems));
64
30
  alreadyDeducted = +itemsDiscountAmount;
65
31
  const discountAmount = itemsDiscountAmount;
66
32
  const taxAmount = itemsTaxAmount;
@@ -1 +1 @@
1
- {"version":3,"file":"order-items-discount.js","sourceRoot":"","sources":["../../src/pricing/order-items-discount.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"order-items-discount.js","sourceRoot":"","sources":["../../src/pricing/order-items-discount.ts"],"names":[],"mappings":"AAAA,OAAO,EAAwB,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,kBAAkB,GAAyB;IAC/C,GAAG,mBAAmB;IAEtB,GAAG,EAAE,6CAA6C;IAClD,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,yCAAyC;IAChD,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,mBAAmB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAC3D,MAAM,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;QAE1D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,0CAA0C;gBAC1C,2CAA2C;gBAC3C,uCAAuC;gBAEvC,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBACrD,QAAQ,EAAE,uBAAuB,CAAC,KAAK;iBACxC,CAAC,CAAC;gBAEH,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,CAAC,aAAa,EAAE,EAAE,CACtD,SAAS,CAAC,wCAAwC,CAChD,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,YAAY,CAAC,aAAa,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,CAAC,OAAO,CAAC,EACpF,kBAAkB,CACnB,CACF,CAAC;gBAEF,IAAI,eAAe,GAAG,CAAC,CAAC;gBAExB,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,EAAE,EAAE;oBACzD,+CAA+C;oBAC/C,MAAM,CAAC,mBAAmB,EAAE,cAAc,CAAC,GAAG,SAAS,CAAC,6BAA6B,CACnF,UAAU,EACV,SAAS,CAAC,sBAAsB,CAAC,EAAE,GAAG,aAAa,EAAE,eAAe,EAAE,EAAE,kBAAkB,CAAC,CAC5F,CAAC;oBACF,eAAe,GAAG,CAAC,mBAAmB,CAAC;oBAEvC,MAAM,cAAc,GAAG,mBAAmB,CAAC;oBAC3C,MAAM,SAAS,GAAG,cAAc,CAAC;oBACjC,IAAI,cAAc,EAAE;wBAClB,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;4BACvC,MAAM,EAAE,cAAc,GAAG,CAAC,CAAC;4BAC3B,UAAU;4BACV,SAAS,EAAE,KAAK;4BAChB,UAAU,EAAE,KAAK;4BACjB,IAAI,EAAE;gCACJ,OAAO,EAAE,kBAAkB,CAAC,GAAG;6BAChC;yBACF,CAAC,CAAC;wBACH,IAAI,SAAS,KAAK,CAAC,EAAE;4BACnB,cAAc,CAAC,WAAW,EAAE,CAAC,MAAM,CAAC;gCAClC,MAAM,EAAE,SAAS,GAAG,CAAC,CAAC;gCACtB,IAAI,EAAE;oCACJ,UAAU;oCACV,OAAO,EAAE,kBAAkB,CAAC,GAAG;iCAChC;6BACF,CAAC,CAAC;yBACJ;qBACF;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,oBAAoB,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC"}
@@ -1,2 +1 @@
1
- import type { DiscountConfiguration } from '@unchainedshop/types/discount.js';
2
- export declare const applyRate: (configuration: DiscountConfiguration, amount: any) => number;
1
+ export {};
@@ -1,9 +1,6 @@
1
1
  import { ProductPricingRowCategory, } from '@unchainedshop/types/products.pricing.js';
2
2
  import { ProductPricingDirector, ProductPricingAdapter } from '@unchainedshop/core-products';
3
- export const applyRate = (configuration, amount) => {
4
- const { rate, fixedRate } = configuration;
5
- return rate ? amount * rate : Math.min(fixedRate || 0, amount);
6
- };
3
+ import { calculation as calcUtils } from '@unchainedshop/utils';
7
4
  const ProductDiscount = {
8
5
  ...ProductPricingAdapter,
9
6
  key: 'shop.unchained.pricing.product-discount',
@@ -18,7 +15,7 @@ const ProductDiscount = {
18
15
  const addDiscount = (discount, total, isTaxable) => {
19
16
  const { configuration, discountId } = discount;
20
17
  const { isNetPrice = false, ...meta } = configuration;
21
- const amount = applyRate(configuration, total);
18
+ const amount = calcUtils.applyRate(configuration, total);
22
19
  pricingAdapter.resultSheet().addDiscount({
23
20
  amount: amount * -1,
24
21
  discountId,
@@ -1 +1 @@
1
- {"version":3,"file":"product-discount.js","sourceRoot":"","sources":["../../src/pricing/product-discount.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,aAAoC,EAAE,MAAM,EAAE,EAAE;IACxE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,aAAa,CAAC;IAC1C,OAAO,IAAI,CAAC,CAAC,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AACjE,CAAC,CAAC;AACF,MAAM,eAAe,GAA2B;IAC9C,GAAG,qBAAqB;IAExB,GAAG,EAAE,yCAAyC;IAC9C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kCAAkC;IACzC,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,KAAa,EAAE,SAAkB,EAAE,EAAE;YAC5E,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;YAC/C,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC;YACtD,MAAM,MAAM,GAAG,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAE/C,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;gBACvC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;gBACnB,UAAU;gBACV,UAAU;gBACV,SAAS;gBACT,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAC/C,QAAQ,EAAE,yBAAyB,CAAC,IAAI;oBACxC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAClD,QAAQ,EAAE,yBAAyB,CAAC,IAAI;oBACxC,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;gBAEH,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpC,IAAI,YAAY,KAAK,CAAC,EAAE;wBACtB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;qBAC3C;oBACD,IAAI,eAAe,KAAK,CAAC,EAAE;wBACzB,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;qBAC/C;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"product-discount.js","sourceRoot":"","sources":["../../src/pricing/product-discount.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,yBAAyB,GAC1B,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,sBAAsB,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEhE,MAAM,eAAe,GAA2B;IAC9C,GAAG,qBAAqB;IAExB,GAAG,EAAE,yCAAyC;IAC9C,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kCAAkC;IACzC,UAAU,EAAE,EAAE;IAEd,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,MAAM,WAAW,GAAG,CAAC,QAAkB,EAAE,KAAa,EAAE,SAAkB,EAAE,EAAE;YAC5E,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,QAAQ,CAAC;YAC/C,MAAM,EAAE,UAAU,GAAG,KAAK,EAAE,GAAG,IAAI,EAAE,GAAG,aAAa,CAAC;YACtD,MAAM,MAAM,GAAG,SAAS,CAAC,SAAS,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;YAEzD,cAAc,CAAC,WAAW,EAAE,CAAC,WAAW,CAAC;gBACvC,MAAM,EAAE,MAAM,GAAG,CAAC,CAAC;gBACnB,UAAU;gBACV,UAAU;gBACV,SAAS;gBACT,IAAI,EAAE,EAAE,OAAO,EAAE,eAAe,CAAC,GAAG,EAAE,GAAG,IAAI,EAAE;aAChD,CAAC,CAAC;QACL,CAAC,CAAC;QAEF,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,YAAY,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAC/C,QAAQ,EAAE,yBAAyB,CAAC,IAAI;oBACxC,SAAS,EAAE,IAAI;iBAChB,CAAC,CAAC;gBACH,MAAM,eAAe,GAAG,MAAM,CAAC,gBAAgB,CAAC,GAAG,CAAC;oBAClD,QAAQ,EAAE,yBAAyB,CAAC,IAAI;oBACxC,SAAS,EAAE,KAAK;iBACjB,CAAC,CAAC;gBAEH,MAAM,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;oBACpC,IAAI,YAAY,KAAK,CAAC,EAAE;wBACtB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;qBAC3C;oBACD,IAAI,eAAe,KAAK,CAAC,EAAE;wBACzB,WAAW,CAAC,QAAQ,EAAE,eAAe,EAAE,KAAK,CAAC,CAAC;qBAC/C;gBACH,CAAC,CAAC,CAAC;gBAEH,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC"}
@@ -1,5 +1,4 @@
1
1
  import { IProductPricingAdapter } from '@unchainedshop/types/products.pricing.js';
2
- export declare const roundToNext: (value: any, precision: any) => number;
3
2
  interface PriceRoundSettings {
4
3
  configurations: Record<string, number>;
5
4
  defaultPrecision: number;
@@ -1,5 +1,5 @@
1
1
  import { ProductPricingAdapter, ProductPricingDirector } from '@unchainedshop/core-products';
2
- export const roundToNext = (value, precision) => Math.ceil(value / precision) * precision;
2
+ import { calculation as calcUtils } from '@unchainedshop/utils';
3
3
  export const ProductPriceRoundSettings = {
4
4
  configurations: {},
5
5
  defaultPrecision: 50,
@@ -38,7 +38,7 @@ export const ProductPriceRound = {
38
38
  const [productPrice] = calculation;
39
39
  pricingAdapter.resultSheet().resetCalculation(params.calculationSheet);
40
40
  pricingAdapter.resultSheet().addItem({
41
- amount: roundToNext(productPrice.amount, roundPrecision) * quantity,
41
+ amount: calcUtils.roundToNext(productPrice.amount, roundPrecision) * quantity,
42
42
  isTaxable: productPrice.isTaxable,
43
43
  isNetPrice: productPrice.isNetPrice,
44
44
  meta: { adapter: ProductPriceRound.key },
@@ -1 +1 @@
1
- {"version":3,"file":"product-price-round.js","sourceRoot":"","sources":["../../src/pricing/product-price-round.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAE7F,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,KAAK,EAAE,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;AAS1F,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,cAAc,EACd,gBAAgB,EAChB,IAAI,GACe,EAAE,EAAE;IACvB,IAAI,gBAAgB;QAAE,yBAAyB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACpF,IAAI,cAAc;QAAE,yBAAyB,CAAC,cAAc,GAAG,cAAc,CAAC;IAC9E,IAAI,IAAI,EAAE,MAAM;QAAE,yBAAyB,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAE1B;IACF,GAAG,qBAAqB;IAExB,GAAG,EAAE,oCAAoC;IACzC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kDAAkD;IACzD,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,EAAE,6BAA6B;IAExC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9C,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,CAAC;gBAC7E,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAErD,IAAI,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAAE,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBAEtE,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;gBAEtE,IAAI,WAAW,EAAE,MAAM,IAAI,cAAc,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;oBACnC,cAAc,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACvE,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,QAAQ;wBACnE,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE;qBACzC,CAAC,CAAC;iBACJ;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC"}
1
+ {"version":3,"file":"product-price-round.js","sourceRoot":"","sources":["../../src/pricing/product-price-round.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAC7F,OAAO,EAAE,WAAW,IAAI,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAQhE,MAAM,CAAC,MAAM,yBAAyB,GAAuB;IAC3D,cAAc,EAAE,EAAE;IAClB,gBAAgB,EAAE,EAAE;IACpB,IAAI,EAAE,EAAE;CACT,CAAC;AAEF,MAAM,CAAC,MAAM,6BAA6B,GAAG,CAAC,EAC5C,cAAc,EACd,gBAAgB,EAChB,IAAI,GACe,EAAE,EAAE;IACvB,IAAI,gBAAgB;QAAE,yBAAyB,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IACpF,IAAI,cAAc;QAAE,yBAAyB,CAAC,cAAc,GAAG,cAAc,CAAC;IAC9E,IAAI,IAAI,EAAE,MAAM;QAAE,yBAAyB,CAAC,IAAI,GAAG,IAAI,CAAC;AAC1D,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAE1B;IACF,GAAG,qBAAqB;IAExB,GAAG,EAAE,oCAAoC;IACzC,OAAO,EAAE,OAAO;IAChB,KAAK,EAAE,kDAAkD;IACzD,UAAU,EAAE,CAAC;IAEb,cAAc,EAAE,GAAG,EAAE;QACnB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,SAAS,EAAE,6BAA6B;IAExC,OAAO,EAAE,CAAC,MAAM,EAAE,EAAE;QAClB,MAAM,cAAc,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;QAE7D,OAAO;YACL,GAAG,cAAc;YAEjB,SAAS,EAAE,KAAK,IAAI,EAAE;gBACpB,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC,OAAO,CAAC;gBAC9C,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,gBAAgB,EAAE,GAAG,yBAAyB,CAAC;gBAC7E,MAAM,EAAE,WAAW,GAAG,EAAE,EAAE,GAAG,MAAM,CAAC,gBAAgB,CAAC;gBAErD,IAAI,IAAI,EAAE,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;oBAAE,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;gBAEtE,MAAM,cAAc,GAAG,cAAc,EAAE,CAAC,QAAQ,CAAC,IAAI,gBAAgB,CAAC;gBAEtE,IAAI,WAAW,EAAE,MAAM,IAAI,cAAc,EAAE;oBACzC,MAAM,CAAC,YAAY,CAAC,GAAG,WAAW,CAAC;oBACnC,cAAc,CAAC,WAAW,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;oBACvE,cAAc,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC;wBACnC,MAAM,EAAE,SAAS,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,cAAc,CAAC,GAAG,QAAQ;wBAC7E,SAAS,EAAE,YAAY,CAAC,SAAS;wBACjC,UAAU,EAAE,YAAY,CAAC,UAAU;wBACnC,IAAI,EAAE,EAAE,OAAO,EAAE,iBAAiB,CAAC,GAAG,EAAE;qBACzC,CAAC,CAAC;iBACJ;gBAED,OAAO,cAAc,CAAC,SAAS,EAAE,CAAC;YACpC,CAAC;SACF,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,sBAAsB,CAAC,eAAe,CAAC,iBAAiB,CAAC,CAAC"}
@@ -2,7 +2,7 @@ import { WarehousingDirector, WarehousingAdapter, WarehousingProviderType, } fro
2
2
  import Sheets from 'node-sheets';
3
3
  import { log, LogLevel } from '@unchainedshop/logger';
4
4
  import 'abort-controller/polyfill.js';
5
- import LRU from 'lru-cache';
5
+ import { LRUCache } from 'lru-cache';
6
6
  const { NODE_ENV, GOOGLE_SHEETS_ID, GOOGLE_SHEETS_PRIVATE_KEY_DATA } = process.env;
7
7
  const ttl = NODE_ENV === 'production' ? 1000 * 60 : 0; // 1 minute or 1 second
8
8
  const downloadSpreadsheet = async () => {
@@ -41,7 +41,7 @@ const updateGoogleCache = async (cache) => {
41
41
  }
42
42
  return null;
43
43
  };
44
- const googleCache = new LRU({
44
+ const googleCache = new LRUCache({
45
45
  max: 500,
46
46
  ttl,
47
47
  allowStale: true,
@@ -1 +1 @@
1
- {"version":3,"file":"google-sheets.js","sourceRoot":"","sources":["../../src/warehousing/google-sheets.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"google-sheets.js","sourceRoot":"","sources":["../../src/warehousing/google-sheets.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import { WorkerDirector, WorkerAdapter } from '@unchainedshop/core-worker';
2
2
  import { createLogger } from '@unchainedshop/logger';
3
3
  import fs from 'fs';
4
- import { join } from 'path';
4
+ import { join, isAbsolute } from 'path';
5
5
  import os from 'os';
6
6
  import open from 'open';
7
7
  import nodemailer from 'nodemailer';
@@ -11,7 +11,7 @@ export const checkEmailInterceptionEnabled = () => {
11
11
  };
12
12
  const buildLink = ({ filename, content, href, contentType, encoding, path }) => {
13
13
  if (path) {
14
- return `<a href="${join(process.cwd(), path)}">${filename}</a>`;
14
+ return `<a href="${isAbsolute(path) ? path : join(process.cwd(), path)}">${filename}</a>`;
15
15
  }
16
16
  if (href) {
17
17
  return `<a href="${href}">${filename}</a>`;
@@ -1 +1 @@
1
- {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/worker/email.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/worker/email.ts"],"names":[],"mappings":"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"}
package/lib/worker/sms.js CHANGED
@@ -3,6 +3,13 @@ import { createLogger } from '@unchainedshop/logger';
3
3
  import Twilio from 'twilio';
4
4
  const { TWILIO_ACCOUNT_SID, TWILIO_AUTH_TOKEN, TWILIO_SMS_FROM } = process.env;
5
5
  const logger = createLogger('unchained:plugins:worker:sms');
6
+ /* Potential: no need for twilio npm
7
+ curl -X POST "https://api.twilio.com/2010-04-01/Accounts/$TWILIO_ACCOUNT_SID/Messages.json" \
8
+ --data-urlencode "From=+15017122661" \
9
+ --data-urlencode "Body=Hi there" \
10
+ --data-urlencode "To=+15558675310" \
11
+ -u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN
12
+ */
6
13
  const SmsWorkerPlugin = {
7
14
  ...WorkerAdapter,
8
15
  key: 'shop.unchained.worker-plugin.sms',
@@ -1 +1 @@
1
- {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/worker/sms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE/E,MAAM,MAAM,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAE5D,MAAM,eAAe,GAOjB;IACF,GAAG,aAAa;IAEhB,GAAG,EAAE,kCAAkC;IACvC,KAAK,EAAE,2BAA2B;IAClC,OAAO,EAAE,OAAO;IAEhB,IAAI,EAAE,KAAK;IAEX,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,eAAe,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,8CAA8C;iBACxD;aACF,CAAC;SACH;QAED,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;SACH;QAED,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;YAC7D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,eAAe;gBAC7B,EAAE;aACH,CAAC,CAAC;YACH,IAAI,YAAY,EAAE;gBAChB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE;qBACjC;iBACF,CAAC;aACH;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,GAAG;iBACJ;gBACD,KAAK,EAAE,IAAI;aACZ,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB;aACF,CAAC;SACH;IACH,CAAC;CACF,CAAC;AAEF,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"sms.js","sourceRoot":"","sources":["../../src/worker/sms.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,MAAM,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,eAAe,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAE/E,MAAM,MAAM,GAAG,YAAY,CAAC,8BAA8B,CAAC,CAAC;AAE5D;;;;;;EAME;AAEF,MAAM,eAAe,GAOjB;IACF,GAAG,aAAa;IAEhB,GAAG,EAAE,kCAAkC;IACvC,KAAK,EAAE,2BAA2B;IAClC,OAAO,EAAE,OAAO;IAEhB,IAAI,EAAE,KAAK;IAEX,MAAM,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE;QACnC,MAAM,CAAC,KAAK,CAAC,GAAG,eAAe,CAAC,GAAG,eAAe,IAAI,OAAO,EAAE,EAAE,CAAC,CAAC;QAEnE,IAAI,CAAC,eAAe,IAAI,CAAC,IAAI,EAAE;YAC7B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,iBAAiB;oBACvB,OAAO,EAAE,8CAA8C;iBACxD;aACF,CAAC;SACH;QAED,IAAI,CAAC,EAAE,EAAE;YACP,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,oBAAoB;oBAC1B,OAAO,EAAE,mBAAmB;iBAC7B;aACF,CAAC;SACH;QAED,IAAI;YACF,MAAM,MAAM,GAAG,MAAM,CAAC,kBAAkB,EAAE,iBAAiB,CAAC,CAAC;YAC7D,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzD,IAAI,EAAE,IAAI;gBACV,IAAI,EAAE,IAAI,IAAI,eAAe;gBAC7B,EAAE;aACH,CAAC,CAAC;YACH,IAAI,YAAY,EAAE;gBAChB,OAAO;oBACL,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,cAAc;wBACpB,OAAO,EAAE,YAAY,CAAC,QAAQ,EAAE;qBACjC;iBACF,CAAC;aACH;YACD,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE;oBACN,GAAG;iBACJ;gBACD,KAAK,EAAE,IAAI;aACZ,CAAC;SACH;QAAC,OAAO,GAAG,EAAE;YACZ,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,OAAO,EAAE,GAAG,CAAC,OAAO;oBACpB,KAAK,EAAE,GAAG,CAAC,KAAK;iBACjB;aACF,CAAC;SACH;IACH,CAAC;CACF,CAAC;AAEF,cAAc,CAAC,eAAe,CAAC,eAAe,CAAC,CAAC"}
@@ -22,7 +22,7 @@ export const RefreshTokens = {
22
22
  async doWork(input, unchainedAPI) {
23
23
  const { modules } = unchainedAPI;
24
24
  const tokens = await modules.warehousing.findTokens({});
25
- const users = await modules.users.findUsers({ includeGuests: true });
25
+ const users = await modules.users.findUsers({ includeGuests: true, 'services.web3.verified': true });
26
26
  const accounts = users.flatMap((user) => {
27
27
  return user?.services?.web3?.flatMap((service) => {
28
28
  if (service.verified)
@@ -1 +1 @@
1
- {"version":3,"file":"update-token-ownership.js","sourceRoot":"","sources":["../../src/worker/update-token-ownership.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"update-token-ownership.js","sourceRoot":"","sources":["../../src/worker/update-token-ownership.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "2.2.3",
3
+ "version": "2.3.0",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -72,31 +72,36 @@
72
72
  },
73
73
  "homepage": "https://github.com/unchainedshop/unchained#readme",
74
74
  "optionalDependencies": {
75
+ "bip32": "^4.0.0",
75
76
  "escape-string-regexp": "^5.0.0",
76
- "express": "^4.18.2"
77
+ "ethers": "^6.6.2",
78
+ "express": "^4.18.2",
79
+ "mongodb": "^4.0.0",
80
+ "stripe": "^12.11.0",
81
+ "tiny-secp256k1": "^2.2.3"
77
82
  },
78
83
  "devDependencies": {
79
- "@types/node": "^18.16.16",
80
- "@unchainedshop/api": "^2.2.3",
81
- "@unchainedshop/core-delivery": "^2.2.3",
82
- "@unchainedshop/core-enrollments": "^2.2.3",
83
- "@unchainedshop/core-filters": "^2.2.3",
84
- "@unchainedshop/core-messaging": "^2.2.3",
85
- "@unchainedshop/core-orders": "^2.2.3",
86
- "@unchainedshop/core-payment": "^2.2.3",
87
- "@unchainedshop/core-products": "^2.2.3",
88
- "@unchainedshop/core-quotations": "^2.2.3",
89
- "@unchainedshop/core-warehousing": "^2.2.3",
90
- "@unchainedshop/core-worker": "^2.2.3",
91
- "@unchainedshop/events": "^2.2.3",
92
- "@unchainedshop/file-upload": "^2.2.3",
93
- "@unchainedshop/logger": "^2.2.3",
94
- "@unchainedshop/types": "^2.2.3",
95
- "@unchainedshop/utils": "^2.2.3",
84
+ "@types/node": "^18.16.19",
85
+ "@unchainedshop/api": "^2.3.0",
86
+ "@unchainedshop/core-delivery": "^2.3.0",
87
+ "@unchainedshop/core-enrollments": "^2.3.0",
88
+ "@unchainedshop/core-filters": "^2.3.0",
89
+ "@unchainedshop/core-messaging": "^2.3.0",
90
+ "@unchainedshop/core-orders": "^2.3.0",
91
+ "@unchainedshop/core-payment": "^2.3.0",
92
+ "@unchainedshop/core-products": "^2.3.0",
93
+ "@unchainedshop/core-quotations": "^2.3.0",
94
+ "@unchainedshop/core-warehousing": "^2.3.0",
95
+ "@unchainedshop/core-worker": "^2.3.0",
96
+ "@unchainedshop/events": "^2.3.0",
97
+ "@unchainedshop/file-upload": "^2.3.0",
98
+ "@unchainedshop/logger": "^2.3.0",
99
+ "@unchainedshop/types": "^2.3.0",
100
+ "@unchainedshop/utils": "^2.3.0",
96
101
  "bluebird": "^3.7.2",
97
102
  "event-iterator": "^2.0.0",
98
103
  "express": "^4.18.2",
99
- "jest": "^29.5.0",
104
+ "jest": "^29.6.0",
100
105
  "JSONStream": "^1.3.5",
101
106
  "minio": "^7.1.1",
102
107
  "mongodb": "^4.16.0",
@@ -105,11 +110,9 @@
105
110
  "open": "^9.1.0",
106
111
  "redis": "^4.6.7",
107
112
  "request": "^2.88.2",
108
- "stripe": "^10.17.0",
109
- "ts-jest": "^29.1.0",
110
- "typescript": "^4.9.5",
111
- "web-push": "^3.6.1",
112
- "xml-js": "^1.6.11",
113
- "xml2js": "0.4.23"
113
+ "ts-jest": "^29.1.1",
114
+ "typescript": "^5.1.6",
115
+ "web-push": "^3.6.3",
116
+ "xml-js": "^1.6.11"
114
117
  }
115
118
  }
@@ -1,6 +1,6 @@
1
1
  import { IPaymentAdapter } from '@unchainedshop/types/payments.js';
2
2
  import { PaymentAdapter, PaymentDirector, PaymentError } from '@unchainedshop/core-payment';
3
- import { ethers } from 'ethers';
3
+ import { HDNodeVoidWallet, HDNodeWallet, ethers } from 'ethers';
4
4
  import { BIP32Factory } from 'bip32';
5
5
  import * as ecc from 'tiny-secp256k1';
6
6
  import * as bitcoin from 'bitcoinjs-lib';
@@ -34,7 +34,7 @@ type CryptopayAddress = {
34
34
  const getDerivationPath = (currency: CryptopayCurrencies, index: number): string => {
35
35
  const address = `${(parseInt(CRYPTOPAY_DERIVATION_START, 10) || 0) + index}`;
36
36
  if (currency === CryptopayCurrencies.ETH) {
37
- const pathComponents = ethers.utils.defaultPath.split('/');
37
+ const pathComponents = ethers.defaultPath.split('/');
38
38
  pathComponents[pathComponents.length - 1] = address;
39
39
  return pathComponents.join('/');
40
40
  }
@@ -170,7 +170,9 @@ const Cryptopay: IPaymentAdapter = {
170
170
  if (CRYPTOPAY_ETH_XPUB) {
171
171
  // we neuter for security reasons, it's still quite complicated for most ethereum clients to show an appropriate
172
172
  // xpub, that's why
173
- const hardenedMaster = ethers.utils.HDNode.fromExtendedKey(CRYPTOPAY_ETH_XPUB).neuter();
173
+ const hdWallet = ethers.HDNodeWallet.fromExtendedKey(CRYPTOPAY_ETH_XPUB);
174
+ const hardenedMaster = (hdWallet as HDNodeWallet)?.neuter() || (hdWallet as HDNodeVoidWallet);
175
+
174
176
  const ethDerivationNumber = await modules.cryptopay.getNextDerivationNumber(
175
177
  CryptopayCurrencies.ETH,
176
178
  );
@@ -1,7 +1,5 @@
1
1
  import {configureProductPriceRounding, ProductPriceRoundSettings } from './product-price-round.js'
2
2
 
3
-
4
-
5
3
  describe('configureProductPriceRounding', () => {
6
4
  beforeEach(() => {
7
5
  ProductPriceRoundSettings.configurations = {};
@@ -5,7 +5,7 @@ import { DeliveryFreePrice } from "./free-delivery.js";
5
5
  describe("DeliveryFreePrice", () => {
6
6
 
7
7
  it('should return true', () => {
8
- expect(DeliveryFreePrice.isActivatedFor(undefined)).toBeTruthy();
8
+ expect(DeliveryFreePrice.isActivatedFor(undefined as any)).toBeTruthy();
9
9
 
10
10
  });
11
11