edge-currency-plugins 2.0.4 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/lib/common/plugin/makeCurrencyTools.js +0 -5
  2. package/lib/common/plugin/types.js +3 -2
  3. package/lib/common/upgradeMemos.js +47 -0
  4. package/lib/common/utxobased/db/Models/ProcessorTransaction.js +7 -4
  5. package/lib/common/utxobased/engine/makeUtxoEngine.js +18 -18
  6. package/lib/common/utxobased/engine/utils.js +0 -13
  7. package/lib/common/utxobased/info/badcoin.js +6 -2
  8. package/lib/common/utxobased/info/bitcoin.js +6 -2
  9. package/lib/common/utxobased/info/bitcoincash.js +8 -4
  10. package/lib/common/utxobased/info/bitcoincashtestnet.js +8 -4
  11. package/lib/common/utxobased/info/bitcoingold.js +6 -2
  12. package/lib/common/utxobased/info/bitcoingoldtestnet.js +6 -2
  13. package/lib/common/utxobased/info/bitcoinsv.js +9 -5
  14. package/lib/common/utxobased/info/bitcointestnet.js +6 -2
  15. package/lib/common/utxobased/info/commonInfo.js +16 -0
  16. package/lib/common/utxobased/info/dash.js +7 -2
  17. package/lib/common/utxobased/info/digibyte.js +6 -2
  18. package/lib/common/utxobased/info/dogecoin.js +6 -2
  19. package/lib/common/utxobased/info/eboost.js +6 -2
  20. package/lib/common/utxobased/info/feathercoin.js +6 -2
  21. package/lib/common/utxobased/info/groestlcoin.js +6 -2
  22. package/lib/common/utxobased/info/litecoin.js +6 -2
  23. package/lib/common/utxobased/info/qtum.js +6 -2
  24. package/lib/common/utxobased/info/ravencoin.js +6 -2
  25. package/lib/common/utxobased/info/smartcash.js +6 -2
  26. package/lib/common/utxobased/info/ufo.js +6 -2
  27. package/lib/common/utxobased/info/vertcoin.js +6 -2
  28. package/lib/common/utxobased/info/zcoin.js +6 -2
  29. package/lib/common/utxobased/keymanager/bitcoincashUtils/base32.js +1 -2
  30. package/lib/common/utxobased/keymanager/bitcoincashUtils/cashAddress.js +1 -4
  31. package/lib/common/utxobased/keymanager/declarations/bs58smartcheck.d.js +4 -0
  32. package/lib/common/utxobased/keymanager/declarations/wif-smart.d.js +24 -0
  33. package/lib/common/utxobased/keymanager/keymanager.js +129 -84
  34. package/lib/common/utxobased/keymanager/utxopicker/utils.js +1 -3
  35. package/lib/common/validateMemos.js +107 -0
  36. package/lib/src/common/plugin/types.d.ts +6 -4
  37. package/lib/src/common/upgradeMemos.d.ts +6 -0
  38. package/lib/src/common/utxobased/engine/utils.d.ts +1 -2
  39. package/lib/src/common/utxobased/info/commonInfo.d.ts +2 -0
  40. package/lib/src/common/utxobased/keymanager/keymanager.d.ts +5 -11
  41. package/lib/src/common/validateMemos.d.ts +6 -0
  42. package/lib/src/util/cleaners.d.ts +6 -0
  43. package/lib/util/cleaners.js +18 -0
  44. package/package.json +12 -4
  45. package/lib/common/utxobased/keymanager/declarations/base58grscheck.d.js +0 -1
  46. package/lib/common/utxobased/keymanager/declarations/wifgrs.d.js +0 -1
@@ -9,7 +9,6 @@ var _cleaners = require('cleaners');
9
9
 
10
10
 
11
11
 
12
-
13
12
  var _urijs = require('uri-js'); var uri = _interopRequireWildcard(_urijs);
14
13
  var _urlparse = require('url-parse'); var _urlparse2 = _interopRequireDefault(_urlparse);
15
14
 
@@ -98,10 +97,6 @@ var _utils3 = require('./utils');
98
97
  return wasCurrencyPrivateKey(privateKey)
99
98
  },
100
99
 
101
- async validateMemo(memo) {
102
- return _utils.validateMemo.call(void 0, memo)
103
- },
104
-
105
100
  async derivePublicKey(
106
101
  unsafeWalletInfo
107
102
  ) {
@@ -1,4 +1,5 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
2
+
2
3
  var _cleaners = require('cleaners');
3
4
 
4
5
 
@@ -17,6 +18,7 @@ var _cleaners = require('cleaners');
17
18
 
18
19
 
19
20
 
21
+
20
22
  const asCurrencyFormat = _cleaners.asValue.call(void 0, 'bip32', 'bip44', 'bip49', 'bip84'); exports.asCurrencyFormat = asCurrencyFormat
21
23
 
22
24
  // Path up to changeIndex
@@ -133,7 +135,6 @@ var _cleaners = require('cleaners');
133
135
 
134
136
 
135
137
 
136
-
137
138
 
138
139
 
139
140
  const asFeeRates = _cleaners.asObject.call(void 0, {
@@ -0,0 +1,47 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
2
+
3
+ var _validateMemos = require('./validateMemos');
4
+
5
+ /**
6
+ * Upgrades the memo fields inside an EdgeSpendTarget,
7
+ * since we need to be runtime-compatible with legacy core versions.
8
+ */
9
+ function upgradeMemos(
10
+ spendInfo,
11
+ currencyInfo
12
+ ) {
13
+ const { memoType } = currencyInfo
14
+
15
+ const legacyMemos = []
16
+
17
+ // If this chain supports legacy memos, grab those:
18
+ if (memoType === 'hex' || memoType === 'number' || memoType === 'text') {
19
+ for (const target of spendInfo.spendTargets) {
20
+ if (target.memo != null) {
21
+ legacyMemos.push({
22
+ type: memoType,
23
+ value: target.memo
24
+ })
25
+ } else if (target.uniqueIdentifier != null) {
26
+ legacyMemos.push({
27
+ type: memoType,
28
+ value: target.uniqueIdentifier
29
+ })
30
+ } else if (typeof _optionalChain([target, 'access', _ => _.otherParams, 'optionalAccess', _2 => _2.uniqueIdentifier]) === 'string') {
31
+ legacyMemos.push({
32
+ type: memoType,
33
+ value: target.otherParams.uniqueIdentifier
34
+ })
35
+ }
36
+ }
37
+ }
38
+
39
+ // If we don't have modern memos, use the legacy ones:
40
+ const out = {
41
+ ...spendInfo,
42
+ memos: _nullishCoalesce(spendInfo.memos, () => ( legacyMemos))
43
+ }
44
+
45
+ _validateMemos.validateMemos.call(void 0, out, currencyInfo)
46
+ return out
47
+ } exports.upgradeMemos = upgradeMemos;
@@ -1,4 +1,5 @@
1
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(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }var _altcoinjs = require('altcoin-js');
2
+ var _biggystring = require('biggystring');
2
3
  var _bnjs = require('bn.js'); var _bnjs2 = _interopRequireDefault(_bnjs);
3
4
 
4
5
 
@@ -95,16 +96,18 @@ var _bnjs = require('bn.js'); var _bnjs2 = _interopRequireDefault(_bnjs);
95
96
  } catch (e) {}
96
97
 
97
98
  return {
98
- walletId,
99
- currencyCode: currencyInfo.currencyCode,
100
- txid: tx.txid,
101
99
  blockHeight: tx.blockHeight,
102
100
  confirmations: tx.confirmations,
101
+ currencyCode: currencyInfo.currencyCode,
103
102
  date: tx.date,
103
+ isSend: _biggystring.lt.call(void 0, tx.ourAmount, '0'),
104
+ memos: [],
104
105
  nativeAmount: tx.ourAmount,
105
106
  networkFee: tx.fees,
106
- signedTx: tx.hex,
107
107
  ourReceiveAddresses,
108
+ signedTx: tx.hex,
109
+ txid: tx.txid,
110
+ walletId,
108
111
  ...feeRes
109
112
  }
110
113
  }; exports.toEdgeTransaction = toEdgeTransaction
@@ -24,6 +24,7 @@ var _makeFees = require('../../fees/makeFees');
24
24
  var _makeEngineEmitter = require('../../plugin/makeEngineEmitter');
25
25
  var _makeMetadata = require('../../plugin/makeMetadata');
26
26
 
27
+ var _upgradeMemos = require('../../upgradeMemos');
27
28
  var _makeProcessor = require('../db/makeProcessor');
28
29
 
29
30
 
@@ -292,7 +293,8 @@ var _utils = require('./utils');
292
293
  },
293
294
 
294
295
  async makeSpend(edgeSpendInfo) {
295
- const { spendTargets } = edgeSpendInfo
296
+ edgeSpendInfo = _upgradeMemos.upgradeMemos.call(void 0, edgeSpendInfo, currencyInfo)
297
+ const { memos = [], spendTargets } = edgeSpendInfo
296
298
  const txOptions =
297
299
  _optionalChain([edgeSpendInfo, 'access', _5 => _5.otherParams, 'optionalAccess', _6 => _6.txOptions])
298
300
  const { outputSort = 'bip69', utxoSourceAddress, forceChangeAddress } =
@@ -330,10 +332,7 @@ var _utils = require('./utils');
330
332
  let targets = []
331
333
  const ourReceiveAddresses = []
332
334
  for (const target of spendTargets) {
333
- if (
334
- target.memo == null &&
335
- (target.publicAddress == null || target.nativeAmount == null)
336
- ) {
335
+ if (target.publicAddress == null || target.nativeAmount == null) {
337
336
  throw new Error('Invalid spend target')
338
337
  }
339
338
 
@@ -350,8 +349,7 @@ var _utils = require('./utils');
350
349
  value:
351
350
  target.nativeAmount == null
352
351
  ? undefined
353
- : parseInt(target.nativeAmount),
354
- memo: target.memo
352
+ : parseInt(target.nativeAmount)
355
353
  })
356
354
  }
357
355
  } else {
@@ -368,13 +366,12 @@ var _utils = require('./utils');
368
366
  value:
369
367
  target.nativeAmount == null
370
368
  ? undefined
371
- : parseInt(target.nativeAmount),
372
- memo: target.memo
369
+ : parseInt(target.nativeAmount)
373
370
  })
374
371
  }
375
372
  }
376
373
 
377
- if (targets.length < 1) {
374
+ if (targets.length + memos.length < 1) {
378
375
  throw new Error('Need to provide Spend Targets')
379
376
  }
380
377
 
@@ -427,6 +424,7 @@ var _utils = require('./utils');
427
424
  utxos,
428
425
  forceUseUtxo: maxUtxo != null ? [maxUtxo] : [],
429
426
  targets,
427
+ memos,
430
428
  feeRate,
431
429
  coin: coinInfo.name,
432
430
  currencyCode: currencyInfo.currencyCode,
@@ -471,19 +469,21 @@ var _utils = require('./utils');
471
469
  }
472
470
 
473
471
  const transaction = {
474
- walletId: walletInfo.id,
475
- ourReceiveAddresses,
476
- otherParams,
472
+ blockHeight: 0,
477
473
  currencyCode: currencyInfo.currencyCode,
478
- txid: '',
479
474
  date: _unixTime.unixTime.call(void 0, ),
480
- blockHeight: 0,
481
- nativeAmount,
482
- networkFee,
483
475
  feeRateUsed: {
484
476
  satPerVByte: feeRate
485
477
  },
486
- signedTx: ''
478
+ isSend: true,
479
+ memos,
480
+ nativeAmount,
481
+ networkFee,
482
+ otherParams,
483
+ ourReceiveAddresses,
484
+ signedTx: '',
485
+ txid: '',
486
+ walletId: walletInfo.id
487
487
  }
488
488
 
489
489
  return transaction
@@ -39,19 +39,6 @@ var _keymanager = require('../keymanager/keymanager');
39
39
  }
40
40
  }; exports.getCurrencyFormatFromPurposeType = getCurrencyFormatFromPurposeType
41
41
 
42
- // Expect memo to be a hex string
43
- const validateMemo = (memo) => {
44
- const result = {
45
- passed: true,
46
- tooLarge: false
47
- }
48
- if (Math.ceil(memo.length / 2) > 80) {
49
- result.passed = false
50
- result.tooLarge = true
51
- }
52
- return result
53
- }; exports.validateMemo = validateMemo
54
-
55
42
  const getAddressTypeFromPurposeType = (
56
43
  purpose
57
44
  ) => {
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _commonInfo = require('./commonInfo');
4
5
 
5
6
  const currencyInfo = {
6
7
  pluginId: 'badcoin',
@@ -26,12 +27,15 @@ const currencyInfo = {
26
27
  displayMultiplier: '0'
27
28
  }
28
29
  ],
29
- metaTokens: [],
30
+ ..._commonInfo.memoInfo,
30
31
 
31
32
  // Explorers:
32
33
  addressExplorer: 'https://www.blockingbad.com/address/%s',
33
34
  blockExplorer: 'https://www.blockingbad.com/block/%s',
34
- transactionExplorer: 'https://www.blockingbad.com/tx/%s'
35
+ transactionExplorer: 'https://www.blockingbad.com/tx/%s',
36
+
37
+ // Deprecated:
38
+ metaTokens: []
35
39
  }
36
40
 
37
41
  const engineInfo = {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _constants = require('../../constants');
4
4
 
5
+ var _commonInfo = require('./commonInfo');
5
6
 
6
7
  const currencyInfo = {
7
8
  pluginId: 'bitcoin',
@@ -36,7 +37,7 @@ const currencyInfo = {
36
37
  displayMultiplier: '0'
37
38
  }
38
39
  ],
39
- metaTokens: [],
40
+ ..._commonInfo.memoInfo,
40
41
 
41
42
  // Explorers:
42
43
  blockExplorer: 'https://blockchair.com/bitcoin/block/%s',
@@ -45,7 +46,10 @@ const currencyInfo = {
45
46
 
46
47
  // Images:
47
48
  symbolImage: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`,
48
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`
49
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`,
50
+
51
+ // Deprecated:
52
+ metaTokens: []
49
53
  }
50
54
 
51
55
  const engineInfo = {
@@ -1,9 +1,10 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _altcoinjs = require('altcoin-js'); var bitcoin = _interopRequireWildcard(_altcoinjs);
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _altcoinjs = require('altcoin-js');
2
2
  var _cleaners = require('cleaners');
3
3
 
4
4
 
5
5
  var _constants = require('../../constants');
6
6
 
7
+ var _commonInfo = require('./commonInfo');
7
8
  var _bitcoincashScriptTemplates = require('./scriptTemplates/bitcoincashScriptTemplates');
8
9
 
9
10
  const currencyInfo = {
@@ -37,7 +38,7 @@ const currencyInfo = {
37
38
  displayMultiplier: '0'
38
39
  }
39
40
  ],
40
- metaTokens: [],
41
+ ..._commonInfo.memoInfo,
41
42
 
42
43
  // Explorers:
43
44
  blockExplorer: 'https://blockchair.com/bitcoin-cash/block/%s',
@@ -47,7 +48,10 @@ const currencyInfo = {
47
48
 
48
49
  // Images:
49
50
  symbolImage: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`,
50
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`
51
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`,
52
+
53
+ // Deprecated:
54
+ metaTokens: []
51
55
  }
52
56
 
53
57
  const engineInfo = {
@@ -76,7 +80,7 @@ const engineInfo = {
76
80
  const coinInfo = {
77
81
  name: 'bitcoincash',
78
82
  segwit: false,
79
- sighash: bitcoin.Psbt.BCH_SIGHASH_ALL,
83
+ sighash: _altcoinjs.Psbt.BCH_SIGHASH_ALL,
80
84
  coinType: 145,
81
85
 
82
86
  prefixes: {
@@ -1,8 +1,9 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _altcoinjs = require('altcoin-js'); var bitcoin = _interopRequireWildcard(_altcoinjs);
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _altcoinjs = require('altcoin-js');
2
2
 
3
3
 
4
4
  var _constants = require('../../constants');
5
5
 
6
+ var _commonInfo = require('./commonInfo');
6
7
  var _bitcoincashScriptTemplates = require('./scriptTemplates/bitcoincashScriptTemplates');
7
8
 
8
9
  const currencyInfo = {
@@ -22,7 +23,7 @@ const currencyInfo = {
22
23
  blockbookServers: [],
23
24
  enableCustomServers: false
24
25
  },
25
- metaTokens: [],
26
+ ..._commonInfo.memoInfo,
26
27
 
27
28
  // Explorers:
28
29
  blockExplorer: 'https://blockchair.com/bitcoin-cash/block/%s',
@@ -32,7 +33,10 @@ const currencyInfo = {
32
33
 
33
34
  // Images:
34
35
  symbolImage: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`,
35
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`
36
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoincash-logo-solo-64.png`,
37
+
38
+ // Deprecated:
39
+ metaTokens: []
36
40
  }
37
41
 
38
42
  const engineInfo = {
@@ -55,7 +59,7 @@ const engineInfo = {
55
59
  const coinInfo = {
56
60
  name: 'bitcoincashtestnet',
57
61
  segwit: false,
58
- sighash: bitcoin.Psbt.BCH_SIGHASH_ALL,
62
+ sighash: _altcoinjs.Psbt.BCH_SIGHASH_ALL,
59
63
  coinType: 1,
60
64
 
61
65
  prefixes: {
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
 
5
+ var _commonInfo = require('./commonInfo');
5
6
 
6
7
  const currencyInfo = {
7
8
  pluginId: 'bitcoingold',
@@ -34,12 +35,15 @@ const currencyInfo = {
34
35
  displayMultiplier: '0'
35
36
  }
36
37
  ],
37
- metaTokens: [],
38
+ ..._commonInfo.memoInfo,
38
39
 
39
40
  // Explorers:
40
41
  addressExplorer: 'https://explorer.bitcoingold.org/insight/address/%s',
41
42
  blockExplorer: 'https://explorer.bitcoingold.org/insight/block/%s',
42
- transactionExplorer: 'https://explorer.bitcoingold.org/insight/tx/%s'
43
+ transactionExplorer: 'https://explorer.bitcoingold.org/insight/tx/%s',
44
+
45
+ // Deprecated:
46
+ metaTokens: []
43
47
  }
44
48
 
45
49
  const engineInfo = {
@@ -2,6 +2,7 @@
2
2
 
3
3
 
4
4
 
5
+ var _commonInfo = require('./commonInfo');
5
6
 
6
7
  const currencyInfo = {
7
8
  pluginId: 'bitcoingoldtestnet',
@@ -20,12 +21,15 @@ const currencyInfo = {
20
21
  blockbookServers: [],
21
22
  enableCustomServers: false
22
23
  },
23
- metaTokens: [],
24
+ ..._commonInfo.memoInfo,
24
25
 
25
26
  // Explorers:
26
27
  addressExplorer: 'https://explorer.bitcoingold.org/insight/address/%s',
27
28
  blockExplorer: 'https://explorer.bitcoingold.org/insight/block/%s',
28
- transactionExplorer: 'https://explorer.bitcoingold.org/insight/tx/%s'
29
+ transactionExplorer: 'https://explorer.bitcoingold.org/insight/tx/%s',
30
+
31
+ // Deprecated:
32
+ metaTokens: []
29
33
  }
30
34
 
31
35
  const engineInfo = {
@@ -1,4 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }var _altcoinjs = require('altcoin-js'); var bitcoin = _interopRequireWildcard(_altcoinjs);
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});var _altcoinjs = require('altcoin-js');
2
2
  var _cleaners = require('cleaners');
3
3
 
4
4
 
@@ -9,6 +9,7 @@ var _constants = require('../../constants');
9
9
 
10
10
 
11
11
  var _keymanager = require('../keymanager/keymanager');
12
+ var _commonInfo = require('./commonInfo');
12
13
 
13
14
  const currencyInfo = {
14
15
  pluginId: 'bitcoinsv',
@@ -35,7 +36,7 @@ const currencyInfo = {
35
36
  displayMultiplier: '0'
36
37
  }
37
38
  ],
38
- metaTokens: [],
39
+ ..._commonInfo.memoInfo,
39
40
 
40
41
  // Explorers:
41
42
  blockExplorer: 'https://whatsonchain.com/block/%s',
@@ -44,7 +45,10 @@ const currencyInfo = {
44
45
 
45
46
  // Images:
46
47
  symbolImage: `${_constants.IMAGE_SERVER_URL}/bitcoinsv-logo-solo-64.png`,
47
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoinsv-logo-solo-64.png`
48
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoinsv-logo-solo-64.png`,
49
+
50
+ // Deprecated:
51
+ metaTokens: []
48
52
  }
49
53
 
50
54
  const engineInfo = {
@@ -64,7 +68,7 @@ const engineInfo = {
64
68
  /*
65
69
  This is to support cashaddr and 1-addresses coming from the network.
66
70
  We always convert to a 1-address for internal use.
67
- We send 1-address to the network because all servers should support legacy
71
+ We send 1-address to the network because all servers should support legacy
68
72
  address (this is the uncleaner).
69
73
  */
70
74
  asBlockbookAddress: _cleaners.asCodec.call(void 0,
@@ -94,7 +98,7 @@ const engineInfo = {
94
98
  const coinInfo = {
95
99
  name: 'bitcoinsv',
96
100
  segwit: false,
97
- sighash: bitcoin.Psbt.BCH_SIGHASH_ALL,
101
+ sighash: _altcoinjs.Psbt.BCH_SIGHASH_ALL,
98
102
  coinType: 236,
99
103
 
100
104
  prefixes: {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _constants = require('../../constants');
4
4
 
5
+ var _commonInfo = require('./commonInfo');
5
6
 
6
7
  const currencyInfo = {
7
8
  pluginId: 'bitcointestnet',
@@ -30,7 +31,7 @@ var _constants = require('../../constants');
30
31
  displayMultiplier: '0'
31
32
  }
32
33
  ],
33
- metaTokens: [],
34
+ ..._commonInfo.memoInfo,
34
35
 
35
36
  // Explorers:
36
37
  blockExplorer: 'https://blockchair.com/bitcoin/testnet/block/%s',
@@ -39,7 +40,10 @@ var _constants = require('../../constants');
39
40
 
40
41
  // Images:
41
42
  symbolImage: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`,
42
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`
43
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/bitcoin-logo-solo-64.png`,
44
+
45
+ // Deprecated:
46
+ metaTokens: []
43
47
  }; exports.currencyInfo = currencyInfo
44
48
 
45
49
  const engineInfo = {
@@ -0,0 +1,16 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
+
3
+ const memoInfo = {
4
+ memoOptions: [
5
+ {
6
+ type: 'hex',
7
+ hidden: true,
8
+ maxBytes: 80,
9
+ memoName: 'OP_RETURN'
10
+ }
11
+ ],
12
+
13
+ // Deprecated:
14
+ memoMaxLength: 80,
15
+ memoType: 'text'
16
+ }; exports.memoInfo = memoInfo
@@ -3,6 +3,7 @@
3
3
 
4
4
 
5
5
 
6
+ var _commonInfo = require('./commonInfo');
6
7
 
7
8
  const currencyInfo = {
8
9
  pluginId: 'dash',
@@ -34,12 +35,16 @@ const currencyInfo = {
34
35
  displayMultiplier: '0'
35
36
  }
36
37
  ],
37
- metaTokens: [],
38
+ ..._commonInfo.memoInfo,
38
39
 
39
40
  // Explorers:
40
41
  addressExplorer: 'https://blockchair.com/dash/address/%s?from=edgeapp',
41
42
  blockExplorer: 'https://blockchair.com/dash/block/%s?from=edgeapp',
42
- transactionExplorer: 'https://blockchair.com/dash/transaction/%s?from=edgeapp'
43
+ transactionExplorer:
44
+ 'https://blockchair.com/dash/transaction/%s?from=edgeapp',
45
+
46
+ // Deprecated:
47
+ metaTokens: []
43
48
  }
44
49
 
45
50
  const engineInfo = {
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _commonInfo = require('./commonInfo');
4
5
 
5
6
  const currencyInfo = {
6
7
  pluginId: 'digibyte',
@@ -26,12 +27,15 @@ const currencyInfo = {
26
27
  displayMultiplier: '0'
27
28
  }
28
29
  ],
29
- metaTokens: [],
30
+ ..._commonInfo.memoInfo,
30
31
 
31
32
  // Explorers:
32
33
  addressExplorer: 'https://digiexplorer.info/address/%s',
33
34
  blockExplorer: 'https://digiexplorer.info/block/%s',
34
- transactionExplorer: 'https://digiexplorer.info/tx/%s'
35
+ transactionExplorer: 'https://digiexplorer.info/tx/%s',
36
+
37
+ // Deprecated:
38
+ metaTokens: []
35
39
  }
36
40
 
37
41
  const engineInfo = {
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _commonInfo = require('./commonInfo');
4
5
  var _dogeUtxoPicker = require('./utxoPickers/dogeUtxoPicker');
5
6
 
6
7
  const currencyInfo = {
@@ -30,13 +31,16 @@ const currencyInfo = {
30
31
  displayMultiplier: '0'
31
32
  }
32
33
  ],
33
- metaTokens: [],
34
+ ..._commonInfo.memoInfo,
34
35
 
35
36
  // Explorers:
36
37
  addressExplorer: 'https://blockchair.com/dogecoin/address/%s?from=edgeapp',
37
38
  blockExplorer: 'https://blockchair.com/dogecoin/block/%s?from=edgeapp',
38
39
  transactionExplorer:
39
- 'https://blockchair.com/dogecoin/transaction/%s?from=edgeapp'
40
+ 'https://blockchair.com/dogecoin/transaction/%s?from=edgeapp',
41
+
42
+ // Deprecated:
43
+ metaTokens: []
40
44
  }
41
45
 
42
46
  const engineInfo = {
@@ -1,6 +1,7 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
2
 
3
3
 
4
+ var _commonInfo = require('./commonInfo');
4
5
 
5
6
  const currencyInfo = {
6
7
  pluginId: 'eboost',
@@ -26,12 +27,15 @@ const currencyInfo = {
26
27
  displayMultiplier: '0'
27
28
  }
28
29
  ],
29
- metaTokens: [],
30
+ ..._commonInfo.memoInfo,
30
31
 
31
32
  // Explorers:
32
33
  addressExplorer: 'https://www.blockexperts.com/ebst/address/%s',
33
34
  blockExplorer: 'https://www.blockexperts.com/ebst/hash/%s',
34
- transactionExplorer: 'https://www.blockexperts.com/ebst/tx/%s'
35
+ transactionExplorer: 'https://www.blockexperts.com/ebst/tx/%s',
36
+
37
+ // Deprecated:
38
+ metaTokens: []
35
39
  }
36
40
 
37
41
  const engineInfo = {
@@ -2,6 +2,7 @@
2
2
 
3
3
  var _constants = require('../../constants');
4
4
 
5
+ var _commonInfo = require('./commonInfo');
5
6
 
6
7
  const currencyInfo = {
7
8
  pluginId: 'feathercoin',
@@ -27,7 +28,7 @@ var _constants = require('../../constants');
27
28
  displayMultiplier: '0'
28
29
  }
29
30
  ],
30
- metaTokens: [],
31
+ ..._commonInfo.memoInfo,
31
32
 
32
33
  // Explorers:
33
34
  addressExplorer: 'https://fsight.chain.tips/address/%s',
@@ -36,7 +37,10 @@ var _constants = require('../../constants');
36
37
 
37
38
  // Images:
38
39
  symbolImage: `${_constants.IMAGE_SERVER_URL}/feathercoin-logo-solo-64.png`,
39
- symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/feathercoin-logo-solo-64.png`
40
+ symbolImageDarkMono: `${_constants.IMAGE_SERVER_URL}/feathercoin-logo-solo-64.png`,
41
+
42
+ // Deprecated:
43
+ metaTokens: []
40
44
  }; exports.currencyInfo = currencyInfo
41
45
 
42
46
  const engineInfo = {