@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.
- package/lib/payment/cryptopay/plugin.js +3 -2
- package/lib/payment/cryptopay/plugin.js.map +1 -1
- package/lib/payment/postfinance-checkout/types.js +2 -2
- package/lib/payment/postfinance-checkout/types.js.map +1 -1
- package/lib/pricing/order-discount.d.ts +2 -10
- package/lib/pricing/order-discount.js +12 -47
- package/lib/pricing/order-discount.js.map +1 -1
- package/lib/pricing/order-items-discount.js +3 -37
- package/lib/pricing/order-items-discount.js.map +1 -1
- package/lib/pricing/product-discount.d.ts +1 -2
- package/lib/pricing/product-discount.js +2 -5
- package/lib/pricing/product-discount.js.map +1 -1
- package/lib/pricing/product-price-round.d.ts +0 -1
- package/lib/pricing/product-price-round.js +2 -2
- package/lib/pricing/product-price-round.js.map +1 -1
- package/lib/warehousing/google-sheets.js +2 -2
- package/lib/warehousing/google-sheets.js.map +1 -1
- package/lib/worker/email.js +2 -2
- package/lib/worker/email.js.map +1 -1
- package/lib/worker/sms.js +7 -0
- package/lib/worker/sms.js.map +1 -1
- package/lib/worker/update-token-ownership.js +1 -1
- package/lib/worker/update-token-ownership.js.map +1 -1
- package/package.json +29 -26
- package/src/payment/cryptopay/plugin.ts +5 -3
- package/src/pricing/configureProductPriceRounding.test.ts +0 -2
- package/src/pricing/free-delivery.test.ts +1 -1
- package/src/pricing/order-delivery.test.ts +1 -1
- package/src/pricing/order-discount.test.ts +4 -203
- package/src/pricing/order-discount.ts +21 -65
- package/src/pricing/order-items-discount.ts +4 -45
- package/src/pricing/product-discount.ts +3 -6
- package/src/pricing/product-price-round.ts +2 -4
- package/src/warehousing/google-sheets.ts +2 -2
- package/src/worker/email.ts +2 -2
- package/src/worker/sms.ts +8 -0
- package/src/worker/update-token-ownership.ts +1 -1
- package/tsconfig.json +3 -7
- package/src/pricing/apply-rate.test.ts +0 -92
- package/src/pricing/getTaxRate.test.ts +0 -69
- 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.
|
|
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
|
|
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":"AACA,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAC5F,OAAO,
|
|
1
|
+
{"version":3,"file":"plugin.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,10 +3,10 @@ export var IntegrationModes;
|
|
|
3
3
|
IntegrationModes["PaymentPage"] = "PaymentPage";
|
|
4
4
|
IntegrationModes["Lightbox"] = "Lightbox";
|
|
5
5
|
IntegrationModes["iFrame"] = "iFrame";
|
|
6
|
-
})(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
|
|
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,
|
|
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
|
-
|
|
2
|
-
|
|
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
|
-
|
|
4
|
-
|
|
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
|
|
77
|
-
const
|
|
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
|
-
|
|
43
|
+
alreadyDeducted += itemsDiscountAmount;
|
|
80
44
|
// After the items, we deduct the remaining discount from payment & delivery fees
|
|
81
|
-
const
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAwB,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;
|
|
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
|
-
|
|
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":"AAAA,OAAO,EAAwB,uBAAuB,EAAE,MAAM,wCAAwC,CAAC;AACvG,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACvF,
|
|
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
|
-
|
|
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
|
-
|
|
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;
|
|
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,5 @@
|
|
|
1
1
|
import { ProductPricingAdapter, ProductPricingDirector } from '@unchainedshop/core-products';
|
|
2
|
-
|
|
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;
|
|
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
|
|
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
|
|
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":"AAAA,OAAO,EACL,mBAAmB,EACnB,kBAAkB,EAClB,uBAAuB,GACxB,MAAM,iCAAiC,CAAC;AACzC,OAAO,MAAM,MAAM,aAAa,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,8BAA8B,CAAC;AACtC,OAAO,
|
|
1
|
+
{"version":3,"file":"google-sheets.js","sourceRoot":"","sources":["../../src/warehousing/google-sheets.ts"],"names":[],"mappings":"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"}
|
package/lib/worker/email.js
CHANGED
|
@@ -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>`;
|
package/lib/worker/email.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"email.js","sourceRoot":"","sources":["../../src/worker/email.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAC3E,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,MAAM,IAAI,CAAC;AACpB,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;
|
|
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',
|
package/lib/worker/sms.js.map
CHANGED
|
@@ -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":"AACA,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,4BAA4B,CAAC;AAE7F,OAAO,KAAK,MAAM,eAAe,CAAC;AAElC,MAAM,WAAW,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;AAElD,MAAM,CAAC,MAAM,oBAAoB,GAA+B;IAC9D,GAAG,aAAa;IAEhB,GAAG,EAAE,qDAAqD;IAC1D,KAAK,EAAE,wDAAwD;IAC/D,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,wBAAwB;IAC9B,QAAQ,EAAE,IAAI;IAEd,KAAK,CAAC,MAAM;QACV,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAA8B;IACtD,GAAG,aAAa;IAEhB,GAAG,EAAE,6CAA6C;IAClD,KAAK,EAAE,uCAAuC;IAC9C,OAAO,EAAE,OAAO;IAChB,IAAI,EAAE,gBAAgB;IACtB,QAAQ,EAAE,KAAK;IAEf,KAAK,CAAC,MAAM,CAAC,KAAK,EAAE,YAAY;QAC9B,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;QAEjC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,KAAK,CAAC,SAAS,CAAC,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;
|
|
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.
|
|
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
|
-
"
|
|
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.
|
|
80
|
-
"@unchainedshop/api": "^2.
|
|
81
|
-
"@unchainedshop/core-delivery": "^2.
|
|
82
|
-
"@unchainedshop/core-enrollments": "^2.
|
|
83
|
-
"@unchainedshop/core-filters": "^2.
|
|
84
|
-
"@unchainedshop/core-messaging": "^2.
|
|
85
|
-
"@unchainedshop/core-orders": "^2.
|
|
86
|
-
"@unchainedshop/core-payment": "^2.
|
|
87
|
-
"@unchainedshop/core-products": "^2.
|
|
88
|
-
"@unchainedshop/core-quotations": "^2.
|
|
89
|
-
"@unchainedshop/core-warehousing": "^2.
|
|
90
|
-
"@unchainedshop/core-worker": "^2.
|
|
91
|
-
"@unchainedshop/events": "^2.
|
|
92
|
-
"@unchainedshop/file-upload": "^2.
|
|
93
|
-
"@unchainedshop/logger": "^2.
|
|
94
|
-
"@unchainedshop/types": "^2.
|
|
95
|
-
"@unchainedshop/utils": "^2.
|
|
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.
|
|
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
|
-
"
|
|
109
|
-
"
|
|
110
|
-
"
|
|
111
|
-
"
|
|
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.
|
|
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
|
|
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
|
);
|
|
@@ -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
|
|