@unchainedshop/plugins 4.0.0-rc.9 → 4.0.1
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/accounts/google-oauth.d.ts +4 -0
- package/lib/accounts/google-oauth.d.ts.map +1 -0
- package/lib/accounts/google-oauth.js +145 -0
- package/lib/accounts/google-oauth.js.map +1 -0
- package/lib/accounts/linkedin-oauth.d.ts +4 -0
- package/lib/accounts/linkedin-oauth.d.ts.map +1 -0
- package/lib/accounts/linkedin-oauth.js +82 -0
- package/lib/accounts/linkedin-oauth.js.map +1 -0
- package/lib/delivery/send-message.js.map +1 -1
- package/lib/enrollments/licensed.js +15 -2
- package/lib/enrollments/licensed.js.map +1 -1
- package/lib/files/gridfs/adapter.d.ts.map +1 -1
- package/lib/files/gridfs/adapter.js +11 -8
- package/lib/files/gridfs/adapter.js.map +1 -1
- package/lib/files/gridfs/gridfs-adapter.d.ts +3 -0
- package/lib/files/gridfs/gridfs-adapter.d.ts.map +1 -0
- package/lib/files/gridfs/gridfs-adapter.js +97 -0
- package/lib/files/gridfs/gridfs-adapter.js.map +1 -0
- package/lib/files/gridfs/gridfs-webhook.d.ts +11 -0
- package/lib/files/gridfs/gridfs-webhook.d.ts.map +1 -0
- package/lib/files/gridfs/gridfs-webhook.js +84 -0
- package/lib/files/gridfs/gridfs-webhook.js.map +1 -0
- package/lib/files/gridfs/handler-express.d.ts.map +1 -1
- package/lib/files/gridfs/handler-express.js +21 -25
- package/lib/files/gridfs/handler-express.js.map +1 -1
- package/lib/files/gridfs/handler-fastify.d.ts.map +1 -1
- package/lib/files/gridfs/handler-fastify.js +50 -13
- package/lib/files/gridfs/handler-fastify.js.map +1 -1
- package/lib/files/gridfs/module.d.ts +2 -2
- package/lib/files/minio/handler-express.d.ts.map +1 -1
- package/lib/files/minio/handler-express.js +4 -7
- package/lib/files/minio/handler-express.js.map +1 -1
- package/lib/files/minio/handler-fastify.js +2 -2
- package/lib/files/minio/handler-fastify.js.map +1 -1
- package/lib/files/minio/index.d.ts +1 -1
- package/lib/files/minio/index.d.ts.map +1 -1
- package/lib/files/minio/index.js +7 -7
- package/lib/files/minio/index.js.map +1 -1
- package/lib/files/minio/minio-adapter.d.ts +6 -0
- package/lib/files/minio/minio-adapter.d.ts.map +1 -0
- package/lib/files/minio/minio-adapter.js +181 -0
- package/lib/files/minio/minio-adapter.js.map +1 -0
- package/lib/files/minio/minio-webhook.d.ts +2 -0
- package/lib/files/minio/minio-webhook.d.ts.map +1 -0
- package/lib/files/minio/minio-webhook.js +33 -0
- package/lib/files/minio/minio-webhook.js.map +1 -0
- package/lib/filters/local-search.js +1 -1
- package/lib/filters/local-search.js.map +1 -1
- package/lib/filters/strict-equal.js +0 -18
- package/lib/filters/strict-equal.js.map +1 -1
- package/lib/payment/apple-iap/adapter.js +12 -10
- package/lib/payment/apple-iap/adapter.js.map +1 -1
- package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts +1 -1
- package/lib/payment/apple-iap/db/AppleTransactionsCollection.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-express.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-express.js +14 -10
- package/lib/payment/apple-iap/handler-express.js.map +1 -1
- package/lib/payment/apple-iap/handler-fastify.d.ts.map +1 -1
- package/lib/payment/apple-iap/handler-fastify.js +15 -8
- package/lib/payment/apple-iap/handler-fastify.js.map +1 -1
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts +9 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.d.ts.map +1 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js +17 -0
- package/lib/payment/apple-iap/module/configureAppleTransactionsModule.js.map +1 -0
- package/lib/payment/apple-iap/module.d.ts +4 -4
- package/lib/payment/apple-iap/module.d.ts.map +1 -1
- package/lib/payment/apple-iap/module.js +4 -2
- package/lib/payment/apple-iap/module.js.map +1 -1
- package/lib/payment/braintree.js +3 -1
- package/lib/payment/braintree.js.map +1 -1
- package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts +1 -1
- package/lib/payment/cryptopay/db/CryptopayTransactions.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-btc-address.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-btc-address.js +2 -3
- package/lib/payment/cryptopay/derive-btc-address.js.map +1 -1
- package/lib/payment/cryptopay/derive-eth-address.d.ts.map +1 -1
- package/lib/payment/cryptopay/derive-eth-address.js +5 -3
- package/lib/payment/cryptopay/derive-eth-address.js.map +1 -1
- package/lib/payment/cryptopay/handle-webhook.js +2 -2
- package/lib/payment/cryptopay/handle-webhook.js.map +1 -1
- package/lib/payment/cryptopay/handler-express.d.ts.map +1 -1
- package/lib/payment/cryptopay/handler-express.js +4 -7
- package/lib/payment/cryptopay/handler-express.js.map +1 -1
- package/lib/payment/cryptopay/handler-fastify.js +1 -1
- package/lib/payment/cryptopay/handler-fastify.js.map +1 -1
- package/lib/payment/cryptopay/middleware.d.ts +2 -0
- package/lib/payment/cryptopay/middleware.d.ts.map +1 -0
- package/lib/payment/cryptopay/middleware.js +75 -0
- package/lib/payment/cryptopay/middleware.js.map +1 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts +25 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.d.ts.map +1 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.js +75 -0
- package/lib/payment/cryptopay/module/configureCryptopayModule.js.map +1 -0
- package/lib/payment/cryptopay/module.d.ts +2 -2
- package/lib/payment/cryptopay/module.d.ts.map +1 -1
- package/lib/payment/cryptopay/module.js +4 -4
- package/lib/payment/cryptopay/module.js.map +1 -1
- package/lib/payment/cryptopay/plugin.d.ts.map +1 -1
- package/lib/payment/cryptopay/plugin.js +18 -4
- package/lib/payment/cryptopay/plugin.js.map +1 -1
- package/lib/payment/datatrans-v2/handler-express.d.ts.map +1 -1
- package/lib/payment/datatrans-v2/handler-express.js +13 -11
- package/lib/payment/datatrans-v2/handler-express.js.map +1 -1
- package/lib/payment/datatrans-v2/handler-fastify.d.ts.map +1 -1
- package/lib/payment/datatrans-v2/handler-fastify.js +11 -5
- package/lib/payment/datatrans-v2/handler-fastify.js.map +1 -1
- package/lib/payment/datatrans-v2/index.js +63 -37
- package/lib/payment/datatrans-v2/index.js.map +1 -1
- package/lib/payment/datatrans-v2/middleware.d.ts +2 -0
- package/lib/payment/datatrans-v2/middleware.d.ts.map +1 -0
- package/lib/payment/datatrans-v2/middleware.js +68 -0
- package/lib/payment/datatrans-v2/middleware.js.map +1 -0
- package/lib/payment/datatrans-v2/parseRegistrationData.d.ts +1 -1
- package/lib/payment/datatrans-v2/parseRegistrationData.d.ts.map +1 -1
- package/lib/payment/paypal-checkout.js +4 -2
- package/lib/payment/paypal-checkout.js.map +1 -1
- package/lib/payment/payrexx/api/index.d.ts +1 -1
- package/lib/payment/payrexx/api/index.d.ts.map +1 -1
- package/lib/payment/payrexx/api/makeFetcher.d.ts +1 -1
- package/lib/payment/payrexx/api/makeFetcher.d.ts.map +1 -1
- package/lib/payment/payrexx/api/makeFetcher.js +1 -1
- package/lib/payment/payrexx/api/makeFetcher.js.map +1 -1
- package/lib/payment/payrexx/handler-express.d.ts.map +1 -1
- package/lib/payment/payrexx/handler-express.js +15 -15
- package/lib/payment/payrexx/handler-express.js.map +1 -1
- package/lib/payment/payrexx/handler-fastify.js +23 -15
- package/lib/payment/payrexx/handler-fastify.js.map +1 -1
- package/lib/payment/payrexx/index.js +21 -15
- package/lib/payment/payrexx/index.js.map +1 -1
- package/lib/payment/payrexx/middleware.d.ts +2 -0
- package/lib/payment/payrexx/middleware.d.ts.map +1 -0
- package/lib/payment/payrexx/middleware.js +86 -0
- package/lib/payment/payrexx/middleware.js.map +1 -0
- package/lib/payment/postfinance-checkout/api-client.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/api-client.js +7 -7
- package/lib/payment/postfinance-checkout/api-client.js.map +1 -1
- package/lib/payment/postfinance-checkout/handler-express.js +7 -8
- package/lib/payment/postfinance-checkout/handler-express.js.map +1 -1
- package/lib/payment/postfinance-checkout/handler-fastify.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/handler-fastify.js +6 -4
- package/lib/payment/postfinance-checkout/handler-fastify.js.map +1 -1
- package/lib/payment/postfinance-checkout/index.d.ts.map +1 -1
- package/lib/payment/postfinance-checkout/index.js +20 -7
- package/lib/payment/postfinance-checkout/index.js.map +1 -1
- package/lib/payment/postfinance-checkout/middleware.d.ts +2 -0
- package/lib/payment/postfinance-checkout/middleware.d.ts.map +1 -0
- package/lib/payment/postfinance-checkout/middleware.js +38 -0
- package/lib/payment/postfinance-checkout/middleware.js.map +1 -0
- package/lib/payment/saferpay/adapter.d.ts.map +1 -1
- package/lib/payment/saferpay/adapter.js +9 -0
- package/lib/payment/saferpay/adapter.js.map +1 -1
- package/lib/payment/saferpay/handler-express.d.ts.map +1 -1
- package/lib/payment/saferpay/handler-express.js +10 -8
- package/lib/payment/saferpay/handler-express.js.map +1 -1
- package/lib/payment/saferpay/handler-fastify.d.ts.map +1 -1
- package/lib/payment/saferpay/handler-fastify.js +11 -5
- package/lib/payment/saferpay/handler-fastify.js.map +1 -1
- package/lib/payment/saferpay/middleware.d.ts +2 -0
- package/lib/payment/saferpay/middleware.d.ts.map +1 -0
- package/lib/payment/saferpay/middleware.js +57 -0
- package/lib/payment/saferpay/middleware.js.map +1 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts +10 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.d.ts.map +1 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js +24 -0
- package/lib/payment/saferpay/module/configureSaferpayTransactionsModule.js.map +1 -0
- package/lib/payment/saferpay/module.d.ts +2 -2
- package/lib/payment/stripe/handler-express.js +25 -17
- package/lib/payment/stripe/handler-express.js.map +1 -1
- package/lib/payment/stripe/handler-fastify.d.ts.map +1 -1
- package/lib/payment/stripe/handler-fastify.js +33 -12
- package/lib/payment/stripe/handler-fastify.js.map +1 -1
- package/lib/payment/stripe/index.js +21 -15
- package/lib/payment/stripe/index.js.map +1 -1
- package/lib/payment/stripe/middleware.d.ts +6 -0
- package/lib/payment/stripe/middleware.d.ts.map +1 -0
- package/lib/payment/stripe/middleware.js +114 -0
- package/lib/payment/stripe/middleware.js.map +1 -0
- package/lib/payment/stripe/stripe.d.ts +2 -2
- package/lib/payment/stripe/stripe.d.ts.map +1 -1
- package/lib/payment/stripe/stripe.js +14 -11
- package/lib/payment/stripe/stripe.js.map +1 -1
- package/lib/plugins-index.d.ts +48 -0
- package/lib/plugins-index.d.ts.map +1 -0
- package/lib/plugins-index.js +107 -0
- package/lib/plugins-index.js.map +1 -0
- package/lib/presets/all.d.ts +5 -5
- package/lib/presets/all.d.ts.map +1 -1
- package/lib/pricing/delivery-swiss-tax.d.ts.map +1 -1
- package/lib/pricing/delivery-swiss-tax.js +13 -20
- package/lib/pricing/delivery-swiss-tax.js.map +1 -1
- package/lib/pricing/order-discount.d.ts.map +1 -1
- package/lib/pricing/order-discount.js +5 -3
- package/lib/pricing/order-discount.js.map +1 -1
- package/lib/pricing/order-round.d.ts.map +1 -1
- package/lib/pricing/order-round.js +4 -3
- package/lib/pricing/order-round.js.map +1 -1
- package/lib/pricing/product-catalog-price-options.d.ts +2 -0
- package/lib/pricing/product-catalog-price-options.d.ts.map +1 -0
- package/lib/pricing/product-catalog-price-options.js +52 -0
- package/lib/pricing/product-catalog-price-options.js.map +1 -0
- package/lib/pricing/product-catalog-price.d.ts.map +1 -1
- package/lib/pricing/product-catalog-price.js +26 -2
- package/lib/pricing/product-catalog-price.js.map +1 -1
- package/lib/pricing/product-price-rateconversion.js +3 -3
- package/lib/pricing/product-price-rateconversion.js.map +1 -1
- package/lib/pricing/product-swiss-tax.d.ts +1 -5
- package/lib/pricing/product-swiss-tax.d.ts.map +1 -1
- package/lib/pricing/product-swiss-tax.js +26 -22
- package/lib/pricing/product-swiss-tax.js.map +1 -1
- package/lib/pricing/tax/ch.d.ts +7 -2
- package/lib/pricing/tax/ch.d.ts.map +1 -1
- package/lib/pricing/tax/ch.js +16 -1
- package/lib/pricing/tax/ch.js.map +1 -1
- package/lib/pricing/utils/isDeliveryAddressInCountry.d.ts +7 -0
- package/lib/pricing/utils/isDeliveryAddressInCountry.d.ts.map +1 -0
- package/lib/pricing/utils/isDeliveryAddressInCountry.js +13 -0
- package/lib/pricing/utils/isDeliveryAddressInCountry.js.map +1 -0
- package/lib/warehousing/eth-minter.js +23 -11
- package/lib/warehousing/eth-minter.js.map +1 -1
- package/lib/worker/bulk-import.d.ts +1 -1
- package/lib/worker/bulk-import.d.ts.map +1 -1
- package/lib/worker/bulk-import.js +11 -33
- package/lib/worker/bulk-import.js.map +1 -1
- package/lib/worker/email.d.ts.map +1 -1
- package/lib/worker/email.js +25 -7
- package/lib/worker/email.js.map +1 -1
- package/lib/worker/enrollment-order-generator.d.ts.map +1 -1
- package/lib/worker/enrollment-order-generator.js +7 -49
- package/lib/worker/enrollment-order-generator.js.map +1 -1
- package/lib/worker/error-notifications.js +1 -1
- package/lib/worker/error-notifications.js.map +1 -1
- package/lib/worker/export-token.d.ts.map +1 -1
- package/lib/worker/export-token.js +0 -1
- package/lib/worker/export-token.js.map +1 -1
- package/lib/worker/message.d.ts +1 -1
- package/lib/worker/message.d.ts.map +1 -1
- package/lib/worker/message.js +4 -2
- package/lib/worker/message.js.map +1 -1
- package/lib/worker/sms.js +17 -17
- package/lib/worker/sms.js.map +1 -1
- package/lib/worker/twilio.js +4 -0
- package/lib/worker/twilio.js.map +1 -1
- package/package.json +22 -33
- package/src/delivery/send-message.ts +1 -1
- package/src/enrollments/licensed.ts +15 -2
- package/src/files/gridfs/adapter.ts +12 -7
- package/src/files/gridfs/handler-express.ts +23 -25
- package/src/files/gridfs/handler-fastify.ts +53 -14
- package/src/files/minio/handler-express.ts +4 -7
- package/src/files/minio/handler-fastify.ts +2 -2
- package/src/files/minio/index.ts +16 -16
- package/src/filters/local-search.ts +1 -1
- package/src/filters/strict-equal.ts +0 -21
- package/src/payment/apple-iap/adapter.ts +12 -14
- package/src/payment/apple-iap/db/AppleTransactionsCollection.ts +1 -1
- package/src/payment/apple-iap/handler-express.ts +17 -11
- package/src/payment/apple-iap/handler-fastify.ts +19 -9
- package/src/payment/apple-iap/module.ts +9 -4
- package/src/payment/braintree.ts +4 -1
- package/src/payment/cryptopay/db/CryptopayTransactions.ts +1 -1
- package/src/payment/cryptopay/derive-btc-address.ts +1 -3
- package/src/payment/cryptopay/derive-eth-address.ts +5 -3
- package/src/payment/cryptopay/handle-webhook.ts +6 -6
- package/src/payment/cryptopay/handler-express.ts +4 -7
- package/src/payment/cryptopay/handler-fastify.ts +1 -1
- package/src/payment/cryptopay/module.ts +8 -5
- package/src/payment/cryptopay/plugin.ts +21 -4
- package/src/payment/datatrans-v2/handler-express.ts +17 -12
- package/src/payment/datatrans-v2/handler-fastify.ts +15 -6
- package/src/payment/datatrans-v2/index.ts +82 -50
- package/src/payment/paypal-checkout.ts +4 -2
- package/src/payment/payrexx/api/index.ts +1 -1
- package/src/payment/payrexx/api/makeFetcher.ts +2 -2
- package/src/payment/payrexx/handler-express.ts +24 -32
- package/src/payment/payrexx/handler-fastify.ts +33 -33
- package/src/payment/payrexx/index.ts +26 -16
- package/src/payment/postfinance-checkout/api-client.ts +13 -8
- package/src/payment/postfinance-checkout/handler-express.ts +8 -8
- package/src/payment/postfinance-checkout/handler-fastify.ts +7 -4
- package/src/payment/postfinance-checkout/index.ts +20 -8
- package/src/payment/saferpay/adapter.ts +14 -2
- package/src/payment/saferpay/handler-express.ts +14 -13
- package/src/payment/saferpay/handler-fastify.ts +14 -9
- package/src/payment/stripe/handler-express.ts +33 -33
- package/src/payment/stripe/handler-fastify.ts +40 -27
- package/src/payment/stripe/index.ts +18 -16
- package/src/payment/stripe/stripe.ts +17 -12
- package/src/pricing/delivery-swiss-tax.ts +16 -31
- package/src/pricing/order-discount.ts +6 -4
- package/src/pricing/order-round.ts +5 -4
- package/src/pricing/product-catalog-price-options.ts +67 -0
- package/src/pricing/product-catalog-price.ts +25 -2
- package/src/pricing/product-price-rateconversion.ts +3 -3
- package/src/pricing/product-swiss-tax.ts +39 -40
- package/src/pricing/tax/ch.ts +33 -7
- package/src/pricing/utils/isDeliveryAddressInCountry.test.ts +106 -0
- package/src/pricing/utils/isDeliveryAddressInCountry.ts +26 -0
- package/src/warehousing/eth-minter.ts +30 -11
- package/src/worker/budgetsms.ts +1 -1
- package/src/worker/bulk-import.ts +12 -53
- package/src/worker/email.ts +30 -8
- package/src/worker/enrollment-order-generator.ts +14 -72
- package/src/worker/error-notifications.ts +2 -2
- package/src/worker/export-token.ts +0 -1
- package/src/worker/message.ts +5 -3
- package/src/worker/twilio.ts +10 -3
- package/src/pricing/product-swiss-tax.test.ts +0 -139
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { AppleTransactionsCollection } from '../db/AppleTransactionsCollection.js';
|
|
2
|
+
export const configureAppleTransactionsModule = async ({ db }) => {
|
|
3
|
+
const AppleTransactions = await AppleTransactionsCollection(db);
|
|
4
|
+
return {
|
|
5
|
+
findTransactionById: async (transactionIdentifier) => {
|
|
6
|
+
return AppleTransactions.findOne({ _id: transactionIdentifier });
|
|
7
|
+
},
|
|
8
|
+
createTransaction: async (doc) => {
|
|
9
|
+
await AppleTransactions.insertOne({
|
|
10
|
+
...doc,
|
|
11
|
+
created: new Date(),
|
|
12
|
+
});
|
|
13
|
+
return doc._id;
|
|
14
|
+
},
|
|
15
|
+
};
|
|
16
|
+
};
|
|
17
|
+
//# sourceMappingURL=configureAppleTransactionsModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureAppleTransactionsModule.js","sourceRoot":"","sources":["../../../../src/payment/apple-iap/module/configureAppleTransactionsModule.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,2BAA2B,EAAE,MAAM,sCAAsC,CAAC;AAQrG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAoC,EAAE;IACjG,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAAqB,EAAE,EAAE;YACnD,OAAO,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE;YAC/B,MAAM,iBAAiB,CAAC,SAAS,CAAC;gBAChC,GAAG,GAAG;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,OAAO,GAAG,CAAC,GAAG,CAAC;QACjB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -2,16 +2,16 @@ import { AppleTransaction } from './db/AppleTransactionsCollection.js';
|
|
|
2
2
|
export declare const configureAppleTransactionsModule: ({ db }: {
|
|
3
3
|
db: any;
|
|
4
4
|
}) => Promise<{
|
|
5
|
-
findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction>;
|
|
6
|
-
createTransaction: (doc: AppleTransaction) => Promise<string>;
|
|
5
|
+
findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction | null>;
|
|
6
|
+
createTransaction: (doc: Omit<AppleTransaction, "_id" | "created"> & Pick<Partial<AppleTransaction>, "_id" | "created">) => Promise<string>;
|
|
7
7
|
}>;
|
|
8
8
|
declare const _default: {
|
|
9
9
|
appleTransactions: {
|
|
10
10
|
configure: ({ db }: {
|
|
11
11
|
db: any;
|
|
12
12
|
}) => Promise<{
|
|
13
|
-
findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction>;
|
|
14
|
-
createTransaction: (doc: AppleTransaction) => Promise<string>;
|
|
13
|
+
findTransactionById: (transactionIdentifier: string) => Promise<AppleTransaction | null>;
|
|
14
|
+
createTransaction: (doc: Omit<AppleTransaction, "_id" | "created"> & Pick<Partial<AppleTransaction>, "_id" | "created">) => Promise<string>;
|
|
15
15
|
}>;
|
|
16
16
|
};
|
|
17
17
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAA+B,MAAM,qCAAqC,CAAC;AAEpG,eAAO,MAAM,gCAAgC,GAAU;;CAAM;iDAIN,MAAM,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;6BAKrF,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,SAAS,CAAC,GAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;EAUzD,CAAC;;;;;;yDAhBqD,MAAM,KAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC;qCAKrF,IAAI,CAAC,gBAAgB,EAAE,KAAK,GAAG,SAAS,CAAC,GAC5C,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,EAAE,KAAK,GAAG,SAAS,CAAC;;;;AAY1D,wBAIE;AAEF,MAAM,WAAW,uBAAuB;IACtC,iBAAiB,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,gCAAgC,CAAC,CAAC,CAAC;CACjF"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { generateDbObjectId } from '@unchainedshop/mongodb';
|
|
1
2
|
import { AppleTransactionsCollection } from './db/AppleTransactionsCollection.js';
|
|
2
3
|
export const configureAppleTransactionsModule = async ({ db }) => {
|
|
3
4
|
const AppleTransactions = await AppleTransactionsCollection(db);
|
|
@@ -6,11 +7,12 @@ export const configureAppleTransactionsModule = async ({ db }) => {
|
|
|
6
7
|
return AppleTransactions.findOne({ _id: transactionIdentifier });
|
|
7
8
|
},
|
|
8
9
|
createTransaction: async (doc) => {
|
|
9
|
-
await AppleTransactions.insertOne({
|
|
10
|
+
const { insertedId } = await AppleTransactions.insertOne({
|
|
11
|
+
_id: generateDbObjectId(),
|
|
10
12
|
...doc,
|
|
11
13
|
created: new Date(),
|
|
12
14
|
});
|
|
13
|
-
return
|
|
15
|
+
return insertedId;
|
|
14
16
|
},
|
|
15
17
|
};
|
|
16
18
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEpG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/D,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAA6B,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/apple-iap/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAC5D,OAAO,EAAoB,2BAA2B,EAAE,MAAM,qCAAqC,CAAC;AAEpG,MAAM,CAAC,MAAM,gCAAgC,GAAG,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE;IAC/D,MAAM,iBAAiB,GAAG,MAAM,2BAA2B,CAAC,EAAE,CAAC,CAAC;IAEhE,OAAO;QACL,mBAAmB,EAAE,KAAK,EAAE,qBAA6B,EAAoC,EAAE;YAC7F,OAAO,iBAAiB,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,qBAAqB,EAAE,CAAC,CAAC;QACnE,CAAC;QAED,iBAAiB,EAAE,KAAK,EACtB,GACoD,EACpD,EAAE;YACF,MAAM,EAAE,UAAU,EAAE,GAAG,MAAM,iBAAiB,CAAC,SAAS,CAAC;gBACvD,GAAG,EAAE,kBAAkB,EAAE;gBACzB,GAAG,GAAG;gBACN,OAAO,EAAE,IAAI,IAAI,EAAE;aACpB,CAAC,CAAC;YACH,OAAO,UAAU,CAAC;QACpB,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,eAAe;IACb,iBAAiB,EAAE;QACjB,SAAS,EAAE,gCAAgC;KAC5C;CACF,CAAC"}
|
package/lib/payment/braintree.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
2
2
|
import { PaymentAdapter, PaymentDirector, PaymentError, OrderPricingSheet, } from '@unchainedshop/core';
|
|
3
|
-
const logger = createLogger('unchained:
|
|
3
|
+
const logger = createLogger('unchained:braintree');
|
|
4
4
|
const { BRAINTREE_SANDBOX_TOKEN, BRAINTREE_PRIVATE_KEY } = process.env;
|
|
5
5
|
const BraintreeDirect = {
|
|
6
6
|
...PaymentAdapter,
|
|
@@ -86,6 +86,8 @@ const BraintreeDirect = {
|
|
|
86
86
|
},
|
|
87
87
|
charge: async ({ paypalPaymentMethodNonce }) => {
|
|
88
88
|
const { order } = context;
|
|
89
|
+
if (!order)
|
|
90
|
+
throw new Error('Order is missing in payment context');
|
|
89
91
|
if (!paypalPaymentMethodNonce)
|
|
90
92
|
throw new Error('You have to provide paypalPaymentMethodNonce in paymentContext');
|
|
91
93
|
// eslint-disable-next-line
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"braintree.js","sourceRoot":"","sources":["../../src/payment/braintree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAE7B,MAAM,MAAM,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"braintree.js","sourceRoot":"","sources":["../../src/payment/braintree.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CryptopayTransactions.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/db/CryptopayTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,
|
|
1
|
+
{"version":3,"file":"CryptopayTransactions.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/db/CryptopayTransactions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AAEzD,MAAM,MAAM,oBAAoB,GAAG;IACjC,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,qBAAqB,EAAE,MAAM,CAAC;IAC9B,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC;IAC3B,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,eAAe,CAAC;AAEpB,eAAO,MAAM,+BAA+B,GAAI,IAAI,OAAO,CAAC,EAAE,6CAE7D,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,wBA2BE"}
|
|
@@ -29,9 +29,8 @@ export default (xpub, index) => {
|
|
|
29
29
|
});
|
|
30
30
|
hardenedMaster.wipePrivateData(); // Neuter
|
|
31
31
|
const child = hardenedMaster.deriveChild(0).deriveChild(index);
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
// const child = hardenedMaster.derive(`${derivationPath}/0/${btcDerivationNumber}`);
|
|
32
|
+
if (!child.publicKey)
|
|
33
|
+
throw new Error('Cannot derive public key from extended public key');
|
|
35
34
|
const network = resolveNetwork(prefix);
|
|
36
35
|
const pubKey = p2wpkh(child.publicKey /* hex.decode( as string)*/, network);
|
|
37
36
|
return pubKey.address;
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;IAE3F,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 +1 @@
|
|
|
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,
|
|
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,wBAeE"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { HDKey } from '@scure/bip32';
|
|
2
|
-
import { keccak_256 } from '@noble/hashes/sha3';
|
|
3
|
-
import { secp256k1 } from '@noble/curves/secp256k1';
|
|
2
|
+
import { keccak_256 } from '@noble/hashes/sha3.js';
|
|
3
|
+
import { secp256k1 } from '@noble/curves/secp256k1.js';
|
|
4
4
|
function getChecksumAddress(address) {
|
|
5
5
|
const chars = address.split('');
|
|
6
6
|
const expanded = new Uint8Array(40);
|
|
@@ -22,8 +22,10 @@ export default (xpub, index) => {
|
|
|
22
22
|
const hardenedMaster = HDKey.fromExtendedKey(xpub);
|
|
23
23
|
hardenedMaster.wipePrivateData(); // Neuter
|
|
24
24
|
const child = hardenedMaster.deriveChild(0).deriveChild(index);
|
|
25
|
+
if (!child.publicKey)
|
|
26
|
+
throw new Error('Could not derive child key from extended public key');
|
|
25
27
|
// ETH Address (secp256k1 + keccak_256 + checksum)
|
|
26
|
-
const childSigningKey = secp256k1.
|
|
28
|
+
const childSigningKey = secp256k1.Point.fromBytes(child.publicKey).toBytes(false);
|
|
27
29
|
const address = Buffer.from(keccak_256(childSigningKey.slice(1)))
|
|
28
30
|
.toString('hex')
|
|
29
31
|
.substring(24);
|
|
@@ -1 +1 @@
|
|
|
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,
|
|
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,uBAAuB,CAAC;AACnD,OAAO,EAAE,SAAS,EAAE,MAAM,4BAA4B,CAAC;AAEvD,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,IAAI,CAAC,KAAK,CAAC,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;IAE7F,kDAAkD;IAClD,MAAM,eAAe,GAAG,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAClF,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,7 +1,7 @@
|
|
|
1
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
2
2
|
import { OrderStatus } from '@unchainedshop/core-orders';
|
|
3
3
|
const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
|
|
4
|
-
const logger = createLogger('unchained:
|
|
4
|
+
const logger = createLogger('unchained:cryptopay:handler');
|
|
5
5
|
export default async function handleWebhook({ secret, wallet, price, ping, }, context) {
|
|
6
6
|
const { modules, services } = context;
|
|
7
7
|
if (secret !== CRYPTOPAY_SECRET) {
|
|
@@ -16,7 +16,7 @@ export default async function handleWebhook({ secret, wallet, price, ping, }, co
|
|
|
16
16
|
blockHeight,
|
|
17
17
|
amount,
|
|
18
18
|
contract,
|
|
19
|
-
decimals,
|
|
19
|
+
decimals: decimals ?? 0,
|
|
20
20
|
currencyCode,
|
|
21
21
|
});
|
|
22
22
|
const orderPayment = orderPaymentId &&
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEzE,MAAM,MAAM,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"handle-webhook.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handle-webhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,
|
|
1
|
+
{"version":3,"file":"handler-express.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAKA,QAAA,MAAM,gBAAgB,GAAU,QAAG,EAAE,QAAG,kBAavC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,23 +1,20 @@
|
|
|
1
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
2
2
|
import handleWebhook from './handle-webhook.js';
|
|
3
|
-
const logger = createLogger('unchained:
|
|
3
|
+
const logger = createLogger('unchained:cryptopay:handler');
|
|
4
4
|
const cryptopayHandler = async (req, res) => {
|
|
5
5
|
if (req.method === 'POST') {
|
|
6
6
|
try {
|
|
7
7
|
await handleWebhook(req.body, req.unchainedContext);
|
|
8
|
-
res.
|
|
9
|
-
res.end(JSON.stringify({ success: true }));
|
|
8
|
+
res.status(200).send({ success: true });
|
|
10
9
|
return;
|
|
11
10
|
}
|
|
12
11
|
catch (e) {
|
|
13
12
|
logger.error(e);
|
|
14
|
-
res.
|
|
15
|
-
res.end(JSON.stringify({ success: false, error: e.message }));
|
|
13
|
+
res.status(500).send({ success: false, error: e.message });
|
|
16
14
|
return;
|
|
17
15
|
}
|
|
18
16
|
}
|
|
19
|
-
res.
|
|
20
|
-
res.end(JSON.stringify({ success: false }));
|
|
17
|
+
res.status(404).send();
|
|
21
18
|
};
|
|
22
19
|
export default cryptopayHandler;
|
|
23
20
|
//# sourceMappingURL=handler-express.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"handler-express.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-express.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAEhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IAC1C,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;YACpD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACxC,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YAChB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;YAC3D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { createLogger } from '@unchainedshop/logger';
|
|
2
2
|
import handleWebhook from './handle-webhook.js';
|
|
3
|
-
const logger = createLogger('unchained:
|
|
3
|
+
const logger = createLogger('unchained:cryptopay:handler');
|
|
4
4
|
const cryptopayHandler = async (req, reply) => {
|
|
5
5
|
try {
|
|
6
6
|
await handleWebhook(req.body, req.unchainedContext);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"handler-fastify.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/handler-fastify.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,aAAa,MAAM,qBAAqB,CAAC;AAGhD,MAAM,MAAM,GAAG,YAAY,CAAC,6BAA6B,CAAC,CAAC;AAE3D,MAAM,gBAAgB,GAAuB,KAAK,EAChD,GAEC,EACD,KAAK,EACL,EAAE;IACF,IAAI,CAAC;QACH,MAAM,aAAa,CAAC,GAAG,CAAC,IAAW,EAAE,GAAG,CAAC,gBAAgB,CAAC,CAAC;QAC3D,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC,CAAC;AAEF,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,gBAAgB,uCA0E5B,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { createLogger } from '@unchainedshop/logger';
|
|
2
|
+
import { OrderStatus } from '@unchainedshop/core-orders';
|
|
3
|
+
const { CRYPTOPAY_SECRET, CRYPTOPAY_MAX_RATE_AGE = '360' } = process.env;
|
|
4
|
+
const logger = createLogger('unchained:core-payment:cryptopay');
|
|
5
|
+
export const cryptopayHandler = async (req, res) => {
|
|
6
|
+
const resolvedContext = req.unchainedContext;
|
|
7
|
+
const modules = resolvedContext.modules;
|
|
8
|
+
if (req.method === 'POST') {
|
|
9
|
+
try {
|
|
10
|
+
const { secret, price, wallet, ping } = req.body;
|
|
11
|
+
if (secret !== CRYPTOPAY_SECRET) {
|
|
12
|
+
logger.warn(`Cryptopay Plugin: Invalid Cryptopay Secret provided`);
|
|
13
|
+
throw new Error('Secret invalid');
|
|
14
|
+
}
|
|
15
|
+
if (wallet) {
|
|
16
|
+
const { address, blockHeight, amount, contract, decimals, currency } = wallet;
|
|
17
|
+
const { orderPaymentId } = await modules.cryptopay.updateWalletAddress({
|
|
18
|
+
addressId: address,
|
|
19
|
+
blockHeight,
|
|
20
|
+
amount,
|
|
21
|
+
contract,
|
|
22
|
+
decimals,
|
|
23
|
+
currency,
|
|
24
|
+
});
|
|
25
|
+
const orderPayment = orderPaymentId &&
|
|
26
|
+
(await modules.orders.payments.findOrderPayment({
|
|
27
|
+
orderPaymentId,
|
|
28
|
+
}));
|
|
29
|
+
if (orderPayment) {
|
|
30
|
+
// Try to process order to next status
|
|
31
|
+
// TODO: Not sure if it's correct to use processOrder here if status is PENDING!
|
|
32
|
+
const order = await modules.orders.findOrder({ orderId: orderPayment.orderId });
|
|
33
|
+
if (order.status === null) {
|
|
34
|
+
await modules.orders.checkout(order._id, {}, resolvedContext);
|
|
35
|
+
}
|
|
36
|
+
else if (order.status === OrderStatus.PENDING) {
|
|
37
|
+
await modules.orders.processOrder(order, {}, resolvedContext);
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
throw new Error('Already processed');
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
if (price) {
|
|
45
|
+
const { baseCurrency, token, rate, timestamp } = price;
|
|
46
|
+
const timestampDate = new Date(timestamp);
|
|
47
|
+
const expiresAt = new Date(new Date().getTime() + parseInt(CRYPTOPAY_MAX_RATE_AGE, 10) * 1000);
|
|
48
|
+
const rateData = {
|
|
49
|
+
baseCurrency,
|
|
50
|
+
quoteCurrency: token,
|
|
51
|
+
rate,
|
|
52
|
+
expiresAt,
|
|
53
|
+
timestamp: timestampDate,
|
|
54
|
+
};
|
|
55
|
+
logger.verbose(`update rate ${JSON.stringify(price)}, ${JSON.stringify(rateData)}`);
|
|
56
|
+
await resolvedContext.modules.products.prices.rates.updateRates([rateData]);
|
|
57
|
+
}
|
|
58
|
+
if (ping) {
|
|
59
|
+
const { blockHeight, currency } = ping;
|
|
60
|
+
await modules.cryptopay.updateMostRecentBlock(currency, blockHeight);
|
|
61
|
+
}
|
|
62
|
+
res.writeHead(200);
|
|
63
|
+
res.end(JSON.stringify({ success: true }));
|
|
64
|
+
return;
|
|
65
|
+
}
|
|
66
|
+
catch (e) {
|
|
67
|
+
res.writeHead(500);
|
|
68
|
+
res.end(JSON.stringify({ success: false, error: e.message }));
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
res.writeHead(404);
|
|
73
|
+
res.end(JSON.stringify({ success: false }));
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=middleware.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"middleware.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/middleware.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAIrD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAIzD,MAAM,EAAE,gBAAgB,EAAE,sBAAsB,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEzE,MAAM,MAAM,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAEhE,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;IACjD,MAAM,eAAe,GAAG,GAAG,CAAC,gBAA2B,CAAC;IACxD,MAAM,OAAO,GAAG,eAAe,CAAC,OAAoE,CAAC;IACrG,IAAI,GAAG,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;QAC1B,IAAI,CAAC;YACH,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC;YACjD,IAAI,MAAM,KAAK,gBAAgB,EAAE,CAAC;gBAChC,MAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;gBACnE,MAAM,IAAI,KAAK,CAAC,gBAAgB,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;gBAC9E,MAAM,EAAE,cAAc,EAAE,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,mBAAmB,CAAC;oBACrE,SAAS,EAAE,OAAO;oBAClB,WAAW;oBACX,MAAM;oBACN,QAAQ;oBACR,QAAQ;oBACR,QAAQ;iBACT,CAAC,CAAC;gBACH,MAAM,YAAY,GAChB,cAAc;oBACd,CAAC,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,gBAAgB,CAAC;wBAC9C,cAAc;qBACf,CAAC,CAAC,CAAC;gBAEN,IAAI,YAAY,EAAE,CAAC;oBACjB,sCAAsC;oBACtC,gFAAgF;oBAChF,MAAM,KAAK,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;oBAChF,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;wBAC1B,MAAM,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;oBAChE,CAAC;yBAAM,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;wBAChD,MAAM,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,KAAK,EAAE,EAAE,EAAE,eAAe,CAAC,CAAC;oBAChE,CAAC;yBAAM,CAAC;wBACN,MAAM,IAAI,KAAK,CAAC,mBAAmB,CAAC,CAAC;oBACvC,CAAC;gBACH,CAAC;YACH,CAAC;YAED,IAAI,KAAK,EAAE,CAAC;gBACV,MAAM,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,KAAK,CAAC;gBAEvD,MAAM,aAAa,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,QAAQ,CAAC,sBAAsB,EAAE,EAAE,CAAC,GAAG,IAAI,CAAC,CAAC;gBAE/F,MAAM,QAAQ,GAAqB;oBACjC,YAAY;oBACZ,aAAa,EAAE,KAAK;oBACpB,IAAI;oBACJ,SAAS;oBACT,SAAS,EAAE,aAAa;iBACzB,CAAC;gBACF,MAAM,CAAC,OAAO,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,KAAK,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;gBACpF,MAAM,eAAe,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9E,CAAC;YAED,IAAI,IAAI,EAAE,CAAC;gBACT,MAAM,EAAE,WAAW,EAAE,QAAQ,EAAE,GAAG,IAAI,CAAC;gBACvC,MAAM,OAAO,CAAC,SAAS,CAAC,qBAAqB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YACvE,CAAC;YAED,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC3C,OAAO;QACT,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACX,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;YACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;YAC9D,OAAO;QACT,CAAC;IACH,CAAC;IACD,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;IACnB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { CryptopayTransaction } from '../db/CryptopayTransactions.js';
|
|
2
|
+
export interface CryptopayModule {
|
|
3
|
+
getWalletAddress: (addressId: string) => Promise<CryptopayTransaction>;
|
|
4
|
+
getWalletAddressesByOrderPaymentId: (orderPaymentId: string) => Promise<CryptopayTransaction[]>;
|
|
5
|
+
updateMostRecentBlock: (currency: string, blockHeight: number) => Promise<void>;
|
|
6
|
+
updateWalletAddress: (walletData: {
|
|
7
|
+
addressId: string;
|
|
8
|
+
blockHeight: number;
|
|
9
|
+
amount: string;
|
|
10
|
+
contract: string;
|
|
11
|
+
currency: string;
|
|
12
|
+
decimals: number;
|
|
13
|
+
}) => Promise<CryptopayTransaction>;
|
|
14
|
+
mapOrderPaymentToWalletAddress: (walletData: {
|
|
15
|
+
addressId: string;
|
|
16
|
+
contract: string;
|
|
17
|
+
currency: string;
|
|
18
|
+
orderPaymentId: string;
|
|
19
|
+
}) => Promise<CryptopayTransaction>;
|
|
20
|
+
getNextDerivationNumber: (currency: string) => Promise<number>;
|
|
21
|
+
}
|
|
22
|
+
export declare const configureCryptopayModule: ({ db }: {
|
|
23
|
+
db: any;
|
|
24
|
+
}) => CryptopayModule;
|
|
25
|
+
//# sourceMappingURL=configureCryptopayModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureCryptopayModule.d.ts","sourceRoot":"","sources":["../../../../src/payment/cryptopay/module/configureCryptopayModule.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,gCAAgC,CAAC;AAEvG,MAAM,WAAW,eAAe;IAC9B,gBAAgB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACvE,kCAAkC,EAAE,CAAC,cAAc,EAAE,MAAM,KAAK,OAAO,CAAC,oBAAoB,EAAE,CAAC,CAAC;IAChG,qBAAqB,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,mBAAmB,EAAE,CAAC,UAAU,EAAE;QAChC,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,8BAA8B,EAAE,CAAC,UAAU,EAAE;QAC3C,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,CAAC;QACjB,QAAQ,EAAE,MAAM,CAAC;QACjB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAK,OAAO,CAAC,oBAAoB,CAAC,CAAC;IACpC,uBAAuB,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;CAChE;AAED,eAAO,MAAM,wBAAwB;;MAAa,eA2GjD,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { mongodb } from '@unchainedshop/mongodb';
|
|
2
|
+
import { CryptopayTransactionsCollection } from '../db/CryptopayTransactions.js';
|
|
3
|
+
export const configureCryptopayModule = ({ db }) => {
|
|
4
|
+
const CryptoTransactions = CryptopayTransactionsCollection(db);
|
|
5
|
+
const getWalletAddress = async (addressId) => {
|
|
6
|
+
return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
|
|
7
|
+
};
|
|
8
|
+
const updateMostRecentBlock = async (currency, blockHeight) => {
|
|
9
|
+
await CryptoTransactions.updateMany({
|
|
10
|
+
currency,
|
|
11
|
+
}, {
|
|
12
|
+
$set: {
|
|
13
|
+
mostRecentBlockHeight: blockHeight,
|
|
14
|
+
},
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
const mapOrderPaymentToWalletAddress = async ({ addressId, contract, currency, orderPaymentId, }) => {
|
|
18
|
+
await CryptoTransactions.updateOne({
|
|
19
|
+
_id: addressId.toLowerCase(),
|
|
20
|
+
}, {
|
|
21
|
+
$setOnInsert: {
|
|
22
|
+
_id: addressId.toLowerCase(),
|
|
23
|
+
contract,
|
|
24
|
+
currency,
|
|
25
|
+
decimals: null,
|
|
26
|
+
mostRecentBlockHeight: 0,
|
|
27
|
+
blockHeight: 0,
|
|
28
|
+
amount: mongodb.Decimal128.fromString('0'),
|
|
29
|
+
created: new Date(),
|
|
30
|
+
},
|
|
31
|
+
$set: {
|
|
32
|
+
orderPaymentId,
|
|
33
|
+
updated: new Date(),
|
|
34
|
+
},
|
|
35
|
+
}, { upsert: true });
|
|
36
|
+
return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
|
|
37
|
+
};
|
|
38
|
+
const getNextDerivationNumber = async (currency) => {
|
|
39
|
+
return (await CryptoTransactions.countDocuments({ currency })) + 1;
|
|
40
|
+
};
|
|
41
|
+
const getWalletAddressesByOrderPaymentId = async (orderPaymentId) => {
|
|
42
|
+
return CryptoTransactions.find({
|
|
43
|
+
orderPaymentId,
|
|
44
|
+
}).toArray();
|
|
45
|
+
};
|
|
46
|
+
const updateWalletAddress = async ({ addressId, blockHeight, amount, contract, currency, decimals, }) => {
|
|
47
|
+
await CryptoTransactions.updateOne({
|
|
48
|
+
_id: addressId.toLowerCase(),
|
|
49
|
+
}, {
|
|
50
|
+
$setOnInsert: {
|
|
51
|
+
_id: addressId.toLowerCase(),
|
|
52
|
+
currency,
|
|
53
|
+
contract,
|
|
54
|
+
created: new Date(),
|
|
55
|
+
},
|
|
56
|
+
$set: {
|
|
57
|
+
decimals,
|
|
58
|
+
blockHeight,
|
|
59
|
+
mostRecentBlockHeight: blockHeight,
|
|
60
|
+
amount: mongodb.Decimal128.fromString(amount),
|
|
61
|
+
updated: new Date(),
|
|
62
|
+
},
|
|
63
|
+
}, { upsert: true });
|
|
64
|
+
return CryptoTransactions.findOne({ _id: addressId.toLowerCase() });
|
|
65
|
+
};
|
|
66
|
+
return {
|
|
67
|
+
getWalletAddress,
|
|
68
|
+
updateMostRecentBlock,
|
|
69
|
+
updateWalletAddress,
|
|
70
|
+
mapOrderPaymentToWalletAddress,
|
|
71
|
+
getNextDerivationNumber,
|
|
72
|
+
getWalletAddressesByOrderPaymentId,
|
|
73
|
+
};
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=configureCryptopayModule.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"configureCryptopayModule.js","sourceRoot":"","sources":["../../../../src/payment/cryptopay/module/configureCryptopayModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -2,7 +2,7 @@ import { CryptopayTransaction } from './db/CryptopayTransactions.js';
|
|
|
2
2
|
declare const configureCryptopayModule: ({ db }: {
|
|
3
3
|
db: any;
|
|
4
4
|
}) => {
|
|
5
|
-
getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction>;
|
|
5
|
+
getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction | null>;
|
|
6
6
|
updateMostRecentBlock: (currencyCode: string, blockHeight: number) => Promise<void>;
|
|
7
7
|
updateWalletAddress: ({ address, blockHeight, amount, contract, currencyCode, decimals, }: {
|
|
8
8
|
address: string;
|
|
@@ -26,7 +26,7 @@ declare const _default: {
|
|
|
26
26
|
configure: ({ db }: {
|
|
27
27
|
db: any;
|
|
28
28
|
}) => {
|
|
29
|
-
getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction>;
|
|
29
|
+
getWalletAddress: (address: string, contract?: string) => Promise<CryptopayTransaction | null>;
|
|
30
30
|
updateMostRecentBlock: (currencyCode: string, blockHeight: number) => Promise<void>;
|
|
31
31
|
updateWalletAddress: ({ address, blockHeight, amount, contract, currencyCode, decimals, }: {
|
|
32
32
|
address: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,+BAA+B,CAAC;AAEtG,QAAA,MAAM,wBAAwB,GAAI;;CAAM;
|
|
1
|
+
{"version":3,"file":"module.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,oBAAoB,EAAmC,MAAM,+BAA+B,CAAC;AAEtG,QAAA,MAAM,wBAAwB,GAAI;;CAAM;gCAI3B,MAAM,aACJ,MAAM,KAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;0CAKY,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;+FA0E3F;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;QACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;KAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;2FA/D9B;QACD,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,EAAE,MAAM,CAAC;KACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;4CAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;yDAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;CA2DnC,CAAC;;;;;;wCAxHW,MAAM,aACJ,MAAM,KAChB,OAAO,CAAC,oBAAoB,GAAG,IAAI,CAAC;kDAKY,MAAM,eAAe,MAAM,KAAG,OAAO,CAAC,IAAI,CAAC;uGA0E3F;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,WAAW,EAAE,MAAM,CAAC;gBACpB,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC;gBACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,QAAQ,EAAE,MAAM,CAAC;aAClB,KAAG,OAAO,CAAC,oBAAoB,CAAC;mGA/D9B;gBACD,OAAO,EAAE,MAAM,CAAC;gBAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;gBAClB,YAAY,EAAE,MAAM,CAAC;gBACrB,cAAc,EAAE,MAAM,CAAC;aACxB,KAAG,OAAO,CAAC,oBAAoB,CAAC;oDAyBoB,MAAM,KAAG,OAAO,CAAC,MAAM,CAAC;iEAK3D,MAAM,KACrB,OAAO,CAAC,oBAAoB,EAAE,CAAC;;;;AA6DpC,wBAIE;AAEF,MAAM,WAAW,eAAe;IAC9B,SAAS,EAAE,UAAU,CAAC,OAAO,wBAAwB,CAAC,CAAC;CACxD"}
|
|
@@ -17,7 +17,7 @@ const configureCryptopayModule = ({ db }) => {
|
|
|
17
17
|
};
|
|
18
18
|
const mapOrderPaymentToWalletAddress = async ({ address, contract, currencyCode, orderPaymentId, }) => {
|
|
19
19
|
const addressId = [address, contract].filter(Boolean).join(':');
|
|
20
|
-
return CryptoTransactions.findOneAndUpdate({
|
|
20
|
+
return (await CryptoTransactions.findOneAndUpdate({
|
|
21
21
|
_id: addressId,
|
|
22
22
|
}, {
|
|
23
23
|
$setOnInsert: {
|
|
@@ -32,7 +32,7 @@ const configureCryptopayModule = ({ db }) => {
|
|
|
32
32
|
orderPaymentId,
|
|
33
33
|
updated: new Date(),
|
|
34
34
|
},
|
|
35
|
-
}, { upsert: true, returnDocument: 'after' });
|
|
35
|
+
}, { upsert: true, returnDocument: 'after' }));
|
|
36
36
|
};
|
|
37
37
|
const getNextDerivationNumber = async (currencyCode) => {
|
|
38
38
|
return (await CryptoTransactions.countDocuments({ currencyCode })) + 1;
|
|
@@ -48,7 +48,7 @@ const configureCryptopayModule = ({ db }) => {
|
|
|
48
48
|
};
|
|
49
49
|
const updateWalletAddress = async ({ address, blockHeight, amount, contract, currencyCode, decimals, }) => {
|
|
50
50
|
const addressId = [address, contract].filter(Boolean).join(':');
|
|
51
|
-
return CryptoTransactions.findOneAndUpdate({
|
|
51
|
+
return (await CryptoTransactions.findOneAndUpdate({
|
|
52
52
|
_id: addressId,
|
|
53
53
|
}, {
|
|
54
54
|
$setOnInsert: {
|
|
@@ -63,7 +63,7 @@ const configureCryptopayModule = ({ db }) => {
|
|
|
63
63
|
amount: mongodb.Decimal128.fromString(typeof amount === 'number' ? `${amount}` : amount),
|
|
64
64
|
updated: new Date(),
|
|
65
65
|
},
|
|
66
|
-
}, { upsert: true, returnDocument: 'after' });
|
|
66
|
+
}, { upsert: true, returnDocument: 'after' }));
|
|
67
67
|
};
|
|
68
68
|
return {
|
|
69
69
|
getWalletAddress,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAC;AACjD,OAAO,EAAwB,+BAA+B,EAAE,MAAM,+BAA+B,CAAC;AAEtG,MAAM,wBAAwB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE;IAC1C,MAAM,kBAAkB,GAAG,+BAA+B,CAAC,EAAE,CAAC,CAAC;IAE/D,MAAM,gBAAgB,GAAG,KAAK,
|
|
1
|
+
{"version":3,"file":"module.js","sourceRoot":"","sources":["../../../src/payment/cryptopay/module.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAwB7B,QAAA,MAAM,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAwB7B,QAAA,MAAM,SAAS,EAAE,eAuPhB,CAAC;AAIF,eAAe,SAAS,CAAC"}
|