@unchainedshop/plugins 3.1.0 → 3.1.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.
@@ -1,20 +1,23 @@
1
1
  import { setEmitAdapter } from '@unchainedshop/events';
2
- import { EventBridgeClient, PutEventsCommand } from '@aws-sdk/client-eventbridge';
3
2
  import { createLogger } from '@unchainedshop/logger';
4
3
  const logger = createLogger('unchained:eventbridge');
5
- const EventBridgeEventEmitter = ({ region, source, busName }) => {
4
+ const EventBridgeEventEmitter = async ({ region, source, busName }) => {
5
+ // eslint-disable-next-line
6
+ // @ts-expect-error
7
+ const { EventBridgeClient, PutEventsCommand } = await import('@aws-sdk/client-eventbridge');
6
8
  const ebClient = new EventBridgeClient({ region });
7
9
  return {
8
10
  publish: (eventName, payload) => {
9
- const entry = {
10
- Source: source,
11
- DetailType: eventName,
12
- EventBusName: busName,
13
- Detail: JSON.stringify(payload),
14
- };
15
11
  ebClient
16
12
  .send(new PutEventsCommand({
17
- Entries: [entry],
13
+ Entries: [
14
+ {
15
+ Source: source,
16
+ DetailType: eventName,
17
+ EventBusName: busName,
18
+ Detail: JSON.stringify(payload),
19
+ },
20
+ ],
18
21
  }))
19
22
  .catch((e) => {
20
23
  logger.warn(e);
@@ -27,10 +30,11 @@ const EventBridgeEventEmitter = ({ region, source, busName }) => {
27
30
  };
28
31
  const { EVENT_BRIDGE_REGION, EVENT_BRIDGE_SOURCE, EVENT_BRIDGE_BUS_NAME } = process.env;
29
32
  if (EVENT_BRIDGE_REGION && EVENT_BRIDGE_SOURCE && EVENT_BRIDGE_BUS_NAME) {
30
- setEmitAdapter(EventBridgeEventEmitter({
33
+ const eventBridgeAdapter = await EventBridgeEventEmitter({
31
34
  source: EVENT_BRIDGE_SOURCE,
32
35
  region: EVENT_BRIDGE_REGION,
33
36
  busName: EVENT_BRIDGE_BUS_NAME,
34
- }));
37
+ });
38
+ setEmitAdapter(eventBridgeAdapter);
35
39
  }
36
40
  //# sourceMappingURL=aws-eventbridge.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-eventbridge.js","sourceRoot":"","sources":["../../src/events/aws-eventbridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAyB,MAAM,6BAA6B,CAAC;AACzG,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAM,uBAAuB,GAAG,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAe,EAAE;IAC3E,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,OAAO;QACL,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;YAC9B,MAAM,KAAK,GAA0B;gBACnC,MAAM,EAAE,MAAM;gBACd,UAAU,EAAE,SAAS;gBACrB,YAAY,EAAE,OAAO;gBACrB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;aAChC,CAAC;YACF,QAAQ;iBACL,IAAI,CACH,IAAI,gBAAgB,CAAC;gBACnB,OAAO,EAAE,CAAC,KAAK,CAAC;aACjB,CAAC,CACH;iBACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACxF,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;IACxE,cAAc,CACZ,uBAAuB,CAAC;QACtB,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,qBAAqB;KAC/B,CAAC,CACH,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"aws-eventbridge.js","sourceRoot":"","sources":["../../src/events/aws-eventbridge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACpE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,MAAM,MAAM,GAAG,YAAY,CAAC,uBAAuB,CAAC,CAAC;AAErD,MAAM,uBAAuB,GAAG,KAAK,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAwB,EAAE;IAC1F,2BAA2B;IAC3B,mBAAmB;IACnB,MAAM,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,6BAA6B,CAAC,CAAC;IAC5F,MAAM,QAAQ,GAAG,IAAI,iBAAiB,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAEnD,OAAO;QACL,OAAO,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,EAAE;YAC9B,QAAQ;iBACL,IAAI,CACH,IAAI,gBAAgB,CAAC;gBACnB,OAAO,EAAE;oBACP;wBACE,MAAM,EAAE,MAAM;wBACd,UAAU,EAAE,SAAS;wBACrB,YAAY,EAAE,OAAO;wBACrB,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC;qBAChC;iBACF;aACF,CAAC,CACH;iBACA,KAAK,CAAC,CAAC,CAAC,EAAE,EAAE;gBACX,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;YACjB,CAAC,CAAC,CAAC;QACP,CAAC;QACD,SAAS,EAAE,GAAG,EAAE;YACd,MAAM,IAAI,KAAK,CAAC,qDAAqD,CAAC,CAAC;QACzE,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,qBAAqB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AACxF,IAAI,mBAAmB,IAAI,mBAAmB,IAAI,qBAAqB,EAAE,CAAC;IACxE,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC;QACvD,MAAM,EAAE,mBAAmB;QAC3B,MAAM,EAAE,mBAAmB;QAC3B,OAAO,EAAE,qBAAqB;KAC/B,CAAC,CAAC;IACH,cAAc,CAAC,kBAAkB,CAAC,CAAC;AACrC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAKA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAsC7B,QAAA,MAAM,SAAS,EAAE,eAgPhB,CAAC;AAIF,eAAe,SAAS,CAAC"}
1
+ {"version":3,"file":"plugin.d.ts","sourceRoot":"","sources":["../../../src/payment/cryptopay/plugin.ts"],"names":[],"mappings":"AAMA,OAAO,EACL,eAAe,EAKhB,MAAM,qBAAqB,CAAC;AAgD7B,QAAA,MAAM,SAAS,EAAE,eA6OhB,CAAC;AAIF,eAAe,SAAS,CAAC"}
@@ -1,28 +1,50 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { BIP32Factory } from 'bip32';
3
+ import bs58check from 'bs58check';
3
4
  import * as ecc from 'tiny-secp256k1';
4
5
  import { networks, payments } from 'bitcoinjs-lib';
5
6
  import { createLogger } from '@unchainedshop/logger';
6
7
  import { PaymentAdapter, PaymentDirector, PaymentError, OrderPricingSheet, } from '@unchainedshop/core';
7
8
  const logger = createLogger('unchained:core-payment:cryptopay');
8
- const { CRYPTOPAY_SECRET, CRYPTOPAY_BTC_XPUB, CRYPTOPAY_ETH_XPUB, CRYPTOPAY_BTC_TESTNET, CRYPTOPAY_DERIVATION_START = '0', } = process.env;
9
+ const { CRYPTOPAY_SECRET, CRYPTOPAY_BTC_XPUB, CRYPTOPAY_ETH_XPUB } = process.env;
10
+ const resolvePath = (prefix) => {
11
+ if (prefix === 'x')
12
+ return `m/44'/0'`;
13
+ if (prefix === 'y')
14
+ return `m/49'/0'`;
15
+ if (prefix === 'z')
16
+ return `m/84'/0'`;
17
+ if (prefix === 't')
18
+ return `m/44'/1'`;
19
+ if (prefix === 'u')
20
+ return `m/49'/1'`;
21
+ if (prefix === 'v')
22
+ return `m/84'/1'`;
23
+ return `m`;
24
+ };
25
+ const resolveNetwork = (prefix) => {
26
+ if (['x', 'y', 'z'].includes(prefix))
27
+ return networks.bitcoin;
28
+ return networks.testnet;
29
+ };
30
+ function convertExtendedPublicKey(z) {
31
+ const derivationPath = resolvePath(z.slice(0, 1));
32
+ const network = resolveNetwork(z.slice(0, 1));
33
+ // https://github.com/satoshilabs/slips/blob/master/slip-0132.md
34
+ let data = bs58check.decode(z);
35
+ data = data.slice(4);
36
+ data = Buffer.concat([Buffer.from('0488b21e', 'hex'), data]);
37
+ return {
38
+ xpub: bs58check.encode(data),
39
+ network,
40
+ derivationPath,
41
+ };
42
+ }
9
43
  var CryptopayCurrencies;
10
44
  (function (CryptopayCurrencies) {
11
45
  CryptopayCurrencies["BTC"] = "BTC";
12
46
  CryptopayCurrencies["ETH"] = "ETH";
13
47
  })(CryptopayCurrencies || (CryptopayCurrencies = {}));
14
- const getDerivationPath = (currency, index) => {
15
- const address = `${(parseInt(CRYPTOPAY_DERIVATION_START, 10) || 0) + index}`;
16
- if (currency === CryptopayCurrencies.ETH) {
17
- const pathComponents = ethers.defaultPath.split('/');
18
- pathComponents[pathComponents.length - 1] = address;
19
- return pathComponents.join('/');
20
- }
21
- if (currency === CryptopayCurrencies.BTC) {
22
- return `m/44'/0'/0'/0/${address}`;
23
- }
24
- return `0/${address}`;
25
- };
26
48
  const Cryptopay = {
27
49
  ...PaymentAdapter,
28
50
  key: 'shop.unchained.payment.cryptopay',
@@ -101,15 +123,14 @@ const Cryptopay = {
101
123
  }
102
124
  const cryptoAddresses = [];
103
125
  if (CRYPTOPAY_BTC_XPUB) {
104
- const network = CRYPTOPAY_BTC_TESTNET ? networks.testnet : networks.bitcoin;
126
+ const { xpub, network } = convertExtendedPublicKey(CRYPTOPAY_BTC_XPUB);
105
127
  const bip32 = BIP32Factory(ecc);
106
- const hardenedMaster = bip32.fromBase58(CRYPTOPAY_BTC_XPUB, network);
128
+ const hardenedMaster = bip32.fromBase58(xpub, network);
107
129
  const btcDerivationNumber = await modules.cryptopay.getNextDerivationNumber(CryptopayCurrencies.BTC);
108
- const derivationPath = getDerivationPath(CryptopayCurrencies.BTC, btcDerivationNumber);
109
- const child = hardenedMaster.derivePath(derivationPath);
130
+ const child = hardenedMaster.derivePath(`0/${btcDerivationNumber}`);
110
131
  cryptoAddresses.push({
111
132
  currency: CryptopayCurrencies.BTC,
112
- address: payments.p2pkh({
133
+ address: payments.p2wpkh({
113
134
  pubkey: child.publicKey,
114
135
  network,
115
136
  }).address,
@@ -121,11 +142,9 @@ const Cryptopay = {
121
142
  const hdWallet = ethers.HDNodeWallet.fromExtendedKey(CRYPTOPAY_ETH_XPUB);
122
143
  const hardenedMaster = 'neuter' in hdWallet ? hdWallet.neuter() : hdWallet;
123
144
  const ethDerivationNumber = await modules.cryptopay.getNextDerivationNumber(CryptopayCurrencies.ETH);
124
- const derivationPath = getDerivationPath(CryptopayCurrencies.ETH, ethDerivationNumber);
125
- const cleanedForHD = derivationPath.split('/').slice(-2).join('/');
126
145
  cryptoAddresses.push({
127
146
  currency: CryptopayCurrencies.ETH,
128
- address: hardenedMaster.derivePath(cleanedForHD).address,
147
+ address: hardenedMaster.derivePath(`0/${ethDerivationNumber}`).address,
129
148
  });
130
149
  }
131
150
  const cryptoAddressesWithExpiration = await setConversionRates(order.currency, cryptoAddresses);
@@ -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":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,EAAE,YAAY,EAAE,MAAM,OAAO,CAAC;AACrC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,GAAG,MAAM,gBAAgB,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAEL,cAAc,EACd,eAAe,EACf,YAAY,EACZ,iBAAiB,GAClB,MAAM,qBAAqB,CAAC;AAG7B,MAAM,MAAM,GAAG,YAAY,CAAC,kCAAkC,CAAC,CAAC;AAEhE,MAAM,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC,GAAG,CAAC;AAEjF,MAAM,WAAW,GAAG,CAAC,MAAM,EAAE,EAAE;IAC7B,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,UAAU,CAAC;IACtC,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,CAAC,MAAM,EAAE,EAAE;IAChC,IAAI,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,QAAQ,CAAC,OAAO,CAAC;IAC9D,OAAO,QAAQ,CAAC,OAAO,CAAC;AAC1B,CAAC,CAAC;AAEF,SAAS,wBAAwB,CAAC,CAAC;IACjC,MAAM,cAAc,GAAG,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAClD,MAAM,OAAO,GAAG,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IAC9C,gEAAgE;IAChE,IAAI,IAAI,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACrB,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC;IAC7D,OAAO;QACL,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;QAC5B,OAAO;QACP,cAAc;KACf,CAAC;AACJ,CAAC;AAED,IAAK,mBAGJ;AAHD,WAAK,mBAAmB;IACtB,kCAAW,CAAA;IACX,kCAAW,CAAA;AACb,CAAC,EAHI,mBAAmB,KAAnB,mBAAmB,QAGvB;AASD,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,OAAO,EAAE,EAAE;QAC3B,MAAM,EAAE,OAAO,EAAE,GAAG,OAAwD,CAAC;QAE7E,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,EAAE,QAAQ;oBAAE,OAAO,IAAI,CAAC;gBAC9C,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,EAAE,OAAO,CAAC;YAE1C,2BAA2B;YAC3B,kBAAkB;gBAChB,sBAAsB;gBACtB,IAAI,CAAC,gBAAgB,EAAE,CAAC;oBACtB,OAAO,YAAY,CAAC,wBAAwB,CAAC;gBAC/C,CAAC;gBACD,IAAI,CAAC,kBAAkB,IAAI,CAAC,kBAAkB,EAAE,CAAC;oBAC/C,OAAO,YAAY,CAAC,wBAAwB,CAAC;gBAC/C,CAAC;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,OAAO,CAAC,KAAK;oBAAE,OAAO,IAAI,CAAC;gBAChC,OAAO;gBACP,kDAAkD;gBAClD,qDAAqD;gBACrD,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,OAAO,CAAC;gBAExC,MAAM,iBAAiB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,kCAAkC,CAClF,YAAY,CAAC,GAAG,CACjB,CAAC;gBACF,IAAI,iBAAiB,CAAC,MAAM,EAAE,CAAC;oBAC7B,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;qBACT,CAAqB,CACzB,CACF,CAAC;oBACF,OAAO,IAAI,CAAC,SAAS,CAAC,kCAAkC,CAAC,CAAC;gBAC5D,CAAC;gBAED,MAAM,eAAe,GAAuB,EAAE,CAAC;gBAC/C,IAAI,kBAAkB,EAAE,CAAC;oBACvB,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,wBAAwB,CAAC,kBAAkB,CAAC,CAAC;oBACvE,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;oBAChC,MAAM,cAAc,GAAG,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;oBACvD,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,mBAAmB,CAAC,GAAG,CACxB,CAAC;oBACF,MAAM,KAAK,GAAG,cAAc,CAAC,UAAU,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC;oBACpE,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,mBAAmB,CAAC,GAAG;wBACjC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC;4BACvB,MAAM,EAAE,KAAK,CAAC,SAAmB;4BACjC,OAAO;yBACR,CAAC,CAAC,OAAO;qBACX,CAAC,CAAC;gBACL,CAAC;gBACD,IAAI,kBAAkB,EAAE,CAAC;oBACvB,gHAAgH;oBAChH,mBAAmB;oBACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,YAAY,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;oBACzE,MAAM,cAAc,GAAG,QAAQ,IAAI,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC;oBAE3E,MAAM,mBAAmB,GAAG,MAAM,OAAO,CAAC,SAAS,CAAC,uBAAuB,CACzE,mBAAmB,CAAC,GAAG,CACxB,CAAC;oBACF,eAAe,CAAC,IAAI,CAAC;wBACnB,QAAQ,EAAE,mBAAmB,CAAC,GAAG;wBACjC,OAAO,EAAE,cAAc,CAAC,UAAU,CAAC,KAAK,mBAAmB,EAAE,CAAC,CAAC,OAAO;qBACvE,CAAC,CAAC;gBACL,CAAC;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,OAAO,CAAC;gBAExC,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,CAAC;oBACtD,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,CAAC;wBAC1C,cAAc;wBACd,OAAO;4BACL,aAAa,EAAE,qBAAqB,CAAC,GAAG;yBACzC,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,4BAA4B,qBAAqB,CAAC,GAAG,2BAA2B,SAAS,MAAM,WAAW,EAAE,CAC7G,CAAC;gBACJ,CAAC;gBAED,IAAI,qBAAqB,EAAE,CAAC;oBAC1B,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,CAAC;wBACtD,OAAO;4BACL,aAAa,EAAE,qBAAqB,CAAC,GAAG;yBACzC,CAAC;oBACJ,CAAC;oBACD,MAAM,CAAC,IAAI,CACT,4BAA4B,qBAAqB,CAAC,GAAG,2BAA2B,eAAe,MAAM,WAAW,EAAE,CACnH,CAAC;gBACJ,CAAC;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@unchainedshop/plugins",
3
- "version": "3.1.0",
3
+ "version": "3.1.1",
4
4
  "main": "lib/plugins-index.js",
5
5
  "types": "lib/plugins-index.d.ts",
6
6
  "exports": {
@@ -54,8 +54,9 @@
54
54
  "@aws-sdk/client-eventbridge": ">= 3.714 < 4",
55
55
  "@paypal/checkout-server-sdk": "1.x",
56
56
  "@redis/client": "1.x",
57
- "bip32": "4.x",
57
+ "bip32": "^5.0.0-rc.0",
58
58
  "bitcoinjs-lib": ">= 6.1 <7",
59
+ "bs58check": "^4.0.0",
59
60
  "ethers": ">= 6.13 < 7",
60
61
  "expiry-map": "2.x",
61
62
  "express": "5.x",
@@ -88,6 +89,9 @@
88
89
  "bitcoinjs-lib": {
89
90
  "optional": true
90
91
  },
92
+ "bs58check": {
93
+ "optional": true
94
+ },
91
95
  "ethers": {
92
96
  "optional": true
93
97
  },
@@ -135,14 +139,14 @@
135
139
  }
136
140
  },
137
141
  "devDependencies": {
138
- "@aws-sdk/client-eventbridge": "^3.743.0",
139
142
  "@breejs/later": "^4.2.0",
140
143
  "@paypal/checkout-server-sdk": "^1.0.3",
141
144
  "@redis/client": "^1.6.0",
142
145
  "@types/express": "^5.0.0",
143
- "@types/node": "^22.13.1",
144
- "bip32": "^4.0.0",
146
+ "@types/node": "^22.13.4",
147
+ "bip32": "^5.0.0-rc.0",
145
148
  "bitcoinjs-lib": "^6.1.7",
149
+ "bs58check": "^4.0.0",
146
150
  "ethers": "^6.13.5",
147
151
  "expiry-map": "^2.0.0",
148
152
  "express": "^5.0.1",
@@ -157,7 +161,7 @@
157
161
  "stripe": "^17.6.0",
158
162
  "tiny-secp256k1": "^2.2.3",
159
163
  "ts-jest": "^29.2.5",
160
- "twilio": "^5.4.3",
164
+ "twilio": "^5.4.4",
161
165
  "typescript": "^5.7.3",
162
166
  "web-push": "^3.6.7",
163
167
  "xml-js": "^1.6.11"
@@ -1,24 +1,27 @@
1
1
  import { EmitAdapter, setEmitAdapter } from '@unchainedshop/events';
2
- import { EventBridgeClient, PutEventsCommand, PutEventsRequestEntry } from '@aws-sdk/client-eventbridge';
3
2
  import { createLogger } from '@unchainedshop/logger';
4
3
 
5
4
  const logger = createLogger('unchained:eventbridge');
6
5
 
7
- const EventBridgeEventEmitter = ({ region, source, busName }): EmitAdapter => {
6
+ const EventBridgeEventEmitter = async ({ region, source, busName }): Promise<EmitAdapter> => {
7
+ // eslint-disable-next-line
8
+ // @ts-expect-error
9
+ const { EventBridgeClient, PutEventsCommand } = await import('@aws-sdk/client-eventbridge');
8
10
  const ebClient = new EventBridgeClient({ region });
9
11
 
10
12
  return {
11
13
  publish: (eventName, payload) => {
12
- const entry: PutEventsRequestEntry = {
13
- Source: source,
14
- DetailType: eventName,
15
- EventBusName: busName,
16
- Detail: JSON.stringify(payload),
17
- };
18
14
  ebClient
19
15
  .send(
20
16
  new PutEventsCommand({
21
- Entries: [entry],
17
+ Entries: [
18
+ {
19
+ Source: source,
20
+ DetailType: eventName,
21
+ EventBusName: busName,
22
+ Detail: JSON.stringify(payload),
23
+ },
24
+ ],
22
25
  }),
23
26
  )
24
27
  .catch((e) => {
@@ -33,11 +36,10 @@ const EventBridgeEventEmitter = ({ region, source, busName }): EmitAdapter => {
33
36
 
34
37
  const { EVENT_BRIDGE_REGION, EVENT_BRIDGE_SOURCE, EVENT_BRIDGE_BUS_NAME } = process.env;
35
38
  if (EVENT_BRIDGE_REGION && EVENT_BRIDGE_SOURCE && EVENT_BRIDGE_BUS_NAME) {
36
- setEmitAdapter(
37
- EventBridgeEventEmitter({
38
- source: EVENT_BRIDGE_SOURCE,
39
- region: EVENT_BRIDGE_REGION,
40
- busName: EVENT_BRIDGE_BUS_NAME,
41
- }),
42
- );
39
+ const eventBridgeAdapter = await EventBridgeEventEmitter({
40
+ source: EVENT_BRIDGE_SOURCE,
41
+ region: EVENT_BRIDGE_REGION,
42
+ busName: EVENT_BRIDGE_BUS_NAME,
43
+ });
44
+ setEmitAdapter(eventBridgeAdapter);
43
45
  }
@@ -1,5 +1,6 @@
1
1
  import { ethers } from 'ethers';
2
2
  import { BIP32Factory } from 'bip32';
3
+ import bs58check from 'bs58check';
3
4
  import * as ecc from 'tiny-secp256k1';
4
5
  import { networks, payments } from 'bitcoinjs-lib';
5
6
  import { createLogger } from '@unchainedshop/logger';
@@ -14,13 +15,36 @@ import { CryptopayModule } from './module.js';
14
15
 
15
16
  const logger = createLogger('unchained:core-payment:cryptopay');
16
17
 
17
- const {
18
- CRYPTOPAY_SECRET,
19
- CRYPTOPAY_BTC_XPUB,
20
- CRYPTOPAY_ETH_XPUB,
21
- CRYPTOPAY_BTC_TESTNET,
22
- CRYPTOPAY_DERIVATION_START = '0',
23
- } = process.env;
18
+ const { CRYPTOPAY_SECRET, CRYPTOPAY_BTC_XPUB, CRYPTOPAY_ETH_XPUB } = process.env;
19
+
20
+ const resolvePath = (prefix) => {
21
+ if (prefix === 'x') return `m/44'/0'`;
22
+ if (prefix === 'y') return `m/49'/0'`;
23
+ if (prefix === 'z') return `m/84'/0'`;
24
+ if (prefix === 't') return `m/44'/1'`;
25
+ if (prefix === 'u') return `m/49'/1'`;
26
+ if (prefix === 'v') return `m/84'/1'`;
27
+ return `m`;
28
+ };
29
+
30
+ const resolveNetwork = (prefix) => {
31
+ if (['x', 'y', 'z'].includes(prefix)) return networks.bitcoin;
32
+ return networks.testnet;
33
+ };
34
+
35
+ function convertExtendedPublicKey(z) {
36
+ const derivationPath = resolvePath(z.slice(0, 1));
37
+ const network = resolveNetwork(z.slice(0, 1));
38
+ // https://github.com/satoshilabs/slips/blob/master/slip-0132.md
39
+ let data = bs58check.decode(z);
40
+ data = data.slice(4);
41
+ data = Buffer.concat([Buffer.from('0488b21e', 'hex'), data]);
42
+ return {
43
+ xpub: bs58check.encode(data),
44
+ network,
45
+ derivationPath,
46
+ };
47
+ }
24
48
 
25
49
  enum CryptopayCurrencies { // eslint-disable-line
26
50
  BTC = 'BTC',
@@ -34,19 +58,6 @@ type CryptopayAddress = {
34
58
  currencyConversionExpiryDate?: Date;
35
59
  };
36
60
 
37
- const getDerivationPath = (currency: CryptopayCurrencies, index: number): string => {
38
- const address = `${(parseInt(CRYPTOPAY_DERIVATION_START, 10) || 0) + index}`;
39
- if (currency === CryptopayCurrencies.ETH) {
40
- const pathComponents = ethers.defaultPath.split('/');
41
- pathComponents[pathComponents.length - 1] = address;
42
- return pathComponents.join('/');
43
- }
44
- if (currency === CryptopayCurrencies.BTC) {
45
- return `m/44'/0'/0'/0/${address}`;
46
- }
47
- return `0/${address}`;
48
- };
49
-
50
61
  const Cryptopay: IPaymentAdapter = {
51
62
  ...PaymentAdapter,
52
63
 
@@ -154,18 +165,17 @@ const Cryptopay: IPaymentAdapter = {
154
165
 
155
166
  const cryptoAddresses: CryptopayAddress[] = [];
156
167
  if (CRYPTOPAY_BTC_XPUB) {
157
- const network = CRYPTOPAY_BTC_TESTNET ? networks.testnet : networks.bitcoin;
168
+ const { xpub, network } = convertExtendedPublicKey(CRYPTOPAY_BTC_XPUB);
158
169
  const bip32 = BIP32Factory(ecc);
159
- const hardenedMaster = bip32.fromBase58(CRYPTOPAY_BTC_XPUB, network);
170
+ const hardenedMaster = bip32.fromBase58(xpub, network);
160
171
  const btcDerivationNumber = await modules.cryptopay.getNextDerivationNumber(
161
172
  CryptopayCurrencies.BTC,
162
173
  );
163
- const derivationPath = getDerivationPath(CryptopayCurrencies.BTC, btcDerivationNumber);
164
- const child = hardenedMaster.derivePath(derivationPath);
174
+ const child = hardenedMaster.derivePath(`0/${btcDerivationNumber}`);
165
175
  cryptoAddresses.push({
166
176
  currency: CryptopayCurrencies.BTC,
167
- address: payments.p2pkh({
168
- pubkey: child.publicKey,
177
+ address: payments.p2wpkh({
178
+ pubkey: child.publicKey as Buffer,
169
179
  network,
170
180
  }).address,
171
181
  });
@@ -179,11 +189,9 @@ const Cryptopay: IPaymentAdapter = {
179
189
  const ethDerivationNumber = await modules.cryptopay.getNextDerivationNumber(
180
190
  CryptopayCurrencies.ETH,
181
191
  );
182
- const derivationPath = getDerivationPath(CryptopayCurrencies.ETH, ethDerivationNumber);
183
- const cleanedForHD = derivationPath.split('/').slice(-2).join('/');
184
192
  cryptoAddresses.push({
185
193
  currency: CryptopayCurrencies.ETH,
186
- address: hardenedMaster.derivePath(cleanedForHD).address,
194
+ address: hardenedMaster.derivePath(`0/${ethDerivationNumber}`).address,
187
195
  });
188
196
  }
189
197