edge-currency-monero 1.3.1 → 1.3.2

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/CHANGELOG.md CHANGED
@@ -2,6 +2,10 @@
2
2
 
3
3
  # Unreleased
4
4
 
5
+ # 1.3.2 (2024-11-19)
6
+
7
+ - fixed: URI parsing and creation according to the correct format
8
+
5
9
  # 1.3.1 (2024-03-21)
6
10
 
7
11
  - fixed: Include missing files in the NPM package.
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }var _biggystring = require('biggystring');
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } }var _biggystring = require('biggystring');
2
2
 
3
3
 
4
4
 
@@ -115,7 +115,10 @@ function getParameterByName(param, url) {
115
115
  throw new Error('InvalidPublicAddressError')
116
116
  }
117
117
 
118
- const amountStr = getParameterByName('amount', uri)
118
+ // Prioritize the correct Monero URI format, while falling back to BIP21
119
+ // formats.
120
+ const amountStr =
121
+ _nullishCoalesce(getParameterByName('tx_amount', uri), () => ( getParameterByName('amount', uri)))
119
122
  if (amountStr != null) {
120
123
  const denom = getDenomInfo('XMR')
121
124
  if (denom == null) {
@@ -126,8 +129,12 @@ function getParameterByName(param, url) {
126
129
  currencyCode = 'XMR'
127
130
  }
128
131
  const uniqueIdentifier = getParameterByName('tx_payment_id', uri)
129
- const label = getParameterByName('label', uri)
130
- const message = getParameterByName('message', uri)
132
+ const label =
133
+ _nullishCoalesce(getParameterByName('recipient_name', uri), () => (
134
+ getParameterByName('label', uri)))
135
+ const message =
136
+ _nullishCoalesce(getParameterByName('tx_description', uri), () => (
137
+ getParameterByName('message', uri)))
131
138
  const category = getParameterByName('category', uri)
132
139
 
133
140
  const edgeParsedUri = {
@@ -184,13 +191,13 @@ function getParameterByName(param, url) {
184
191
  }
185
192
  const amount = _biggystring.div.call(void 0, nativeAmount, denom.multiplier, 12)
186
193
 
187
- queryString += 'amount=' + amount + '&'
194
+ queryString += 'tx_amount=' + amount + '&'
188
195
  }
189
196
  if (typeof obj.label === 'string') {
190
- queryString += 'label=' + obj.label + '&'
197
+ queryString += 'recipient_name=' + obj.label + '&'
191
198
  }
192
199
  if (typeof obj.message === 'string') {
193
- queryString += 'message=' + obj.message + '&'
200
+ queryString += 'tx_description=' + obj.message + '&'
194
201
  }
195
202
  queryString = queryString.substr(0, queryString.length - 1)
196
203
 
@@ -3460,6 +3460,8 @@ var MoneroTools = /*#__PURE__*/function () {
3460
3460
  key: "parseUri",
3461
3461
  value: function () {
3462
3462
  var _parseUri = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(uri) {
3463
+ var _getParameterByName, _getParameterByName2, _getParameterByName3;
3464
+
3463
3465
  var parsedUri, address, nativeAmount, currencyCode, amountStr, denom, uniqueIdentifier, label, message, category, edgeParsedUri;
3464
3466
  return regeneratorRuntime.wrap(function _callee3$(_context3) {
3465
3467
  while (1) {
@@ -3514,7 +3516,9 @@ var MoneroTools = /*#__PURE__*/function () {
3514
3516
  throw new Error('InvalidPublicAddressError');
3515
3517
 
3516
3518
  case 21:
3517
- amountStr = getParameterByName('amount', uri);
3519
+ // Prioritize the correct Monero URI format, while falling back to BIP21
3520
+ // formats.
3521
+ amountStr = (_getParameterByName = getParameterByName('tx_amount', uri)) !== null && _getParameterByName !== void 0 ? _getParameterByName : getParameterByName('amount', uri);
3518
3522
 
3519
3523
  if (!(amountStr != null)) {
3520
3524
  _context3.next = 29;
@@ -3537,8 +3541,8 @@ var MoneroTools = /*#__PURE__*/function () {
3537
3541
 
3538
3542
  case 29:
3539
3543
  uniqueIdentifier = getParameterByName('tx_payment_id', uri);
3540
- label = getParameterByName('label', uri);
3541
- message = getParameterByName('message', uri);
3544
+ label = (_getParameterByName2 = getParameterByName('recipient_name', uri)) !== null && _getParameterByName2 !== void 0 ? _getParameterByName2 : getParameterByName('label', uri);
3545
+ message = (_getParameterByName3 = getParameterByName('tx_description', uri)) !== null && _getParameterByName3 !== void 0 ? _getParameterByName3 : getParameterByName('message', uri);
3542
3546
  category = getParameterByName('category', uri);
3543
3547
  edgeParsedUri = {
3544
3548
  publicAddress: address
@@ -3647,15 +3651,15 @@ var MoneroTools = /*#__PURE__*/function () {
3647
3651
 
3648
3652
  case 21:
3649
3653
  amount = (0,biggystring__WEBPACK_IMPORTED_MODULE_0__.div)(nativeAmount, denom.multiplier, 12);
3650
- queryString += 'amount=' + amount + '&';
3654
+ queryString += 'tx_amount=' + amount + '&';
3651
3655
 
3652
3656
  case 23:
3653
3657
  if (typeof obj.label === 'string') {
3654
- queryString += 'label=' + obj.label + '&';
3658
+ queryString += 'recipient_name=' + obj.label + '&';
3655
3659
  }
3656
3660
 
3657
3661
  if (typeof obj.message === 'string') {
3658
- queryString += 'message=' + obj.message + '&';
3662
+ queryString += 'tx_description=' + obj.message + '&';
3659
3663
  }
3660
3664
 
3661
3665
  queryString = queryString.substr(0, queryString.length - 1);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "edge-currency-monero",
3
- "version": "1.3.1",
3
+ "version": "1.3.2",
4
4
  "description": "Edge Monero currency plugin",
5
5
  "homepage": "https://edge.app",
6
6
  "repository": {