Page MenuHomePhabricator

D13134.id37989.diff
No OneTemporary

D13134.id37989.diff

diff --git a/web/cashtab/src/utils/__mocks__/chronikTxHistory.js b/web/cashtab/src/utils/__mocks__/chronikTxHistory.js
--- a/web/cashtab/src/utils/__mocks__/chronikTxHistory.js
+++ b/web/cashtab/src/utils/__mocks__/chronikTxHistory.js
@@ -1,3 +1,981 @@
+export const mockFilteredSortedAliasTxHistoryWithDuplicateTxs = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 100000000,
+ },
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
+export const mockUnfilteredSortedAliasTxHistoryWithDuplicateTxs = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100c1dce1385c8185c5a058b3679966a1b68f7f8e0c74ac3c03c11870e8dfe4ce3d022016f3574a846b12ffc440528263a0139d170527dd2efdb46ae643dd30b3da969741210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '22329',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '21318',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '051e293de9b61292ae46ed9570fc2d05f169a0372a7bbf7069d3c86afa5f0781',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '0000000000000000110940de16f07da16b7a5441694d2a5ace3e8faa7e04fc4e',
+ timestamp: '1671109291',
+ },
+ timeFirstSeen: '1671108616',
+ size: 250,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 100000000,
+ },
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
+export const mockSortedAliasTxHistoryWithTxsInSameBlock = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100c1dce1385c8185c5a058b3679966a1b68f7f8e0c74ac3c03c11870e8dfe4ce3d022016f3574a846b12ffc440528263a0139d170527dd2efdb46ae643dd30b3da969741210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '22329',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e78656303666f6f',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '21318',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '051e293de9b61292ae46ed9570fc2d05f169a0372a7bbf7069d3c86afa5f0781',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '0000000000000000110940de16f07da16b7a5441694d2a5ace3e8faa7e04fc4e',
+ timestamp: '1671109291',
+ },
+ timeFirstSeen: '1671108616',
+ size: 250,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 100000000,
+ },
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
+export const mockUnsortedAliasTxHistoryWithTxsInSameBlock = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100c1dce1385c8185c5a058b3679966a1b68f7f8e0c74ac3c03c11870e8dfe4ce3d022016f3574a846b12ffc440528263a0139d170527dd2efdb46ae643dd30b3da969741210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '22329',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e78656303666f6f',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '21318',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '051e293de9b61292ae46ed9570fc2d05f169a0372a7bbf7069d3c86afa5f0781',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '0000000000000000110940de16f07da16b7a5441694d2a5ace3e8faa7e04fc4e',
+ timestamp: '1671109291',
+ },
+ timeFirstSeen: '1671108616',
+ size: 250,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
+export const mockSortedAliasTxHistoryWithUnconfirmedTxs = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100c1dce1385c8185c5a058b3679966a1b68f7f8e0c74ac3c03c11870e8dfe4ce3d022016f3574a846b12ffc440528263a0139d170527dd2efdb46ae643dd30b3da969741210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '22329',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e78656303666f6f',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '21318',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '051e293de9b61292ae46ed9570fc2d05f169a0372a7bbf7069d3c86afa5f0781',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770452,
+ hash: '0000000000000000110940de16f07da16b7a5441694d2a5ace3e8faa7e04fc4e',
+ timestamp: '1671109291',
+ },
+ timeFirstSeen: '1671108616',
+ size: 250,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 100000000,
+ },
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
+export const mockUnsortedAliasTxHistoryWithUnconfirmedTxs = [
+ {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '1cc67f99c0da539449a9bb9f2ded3340d8de169115e8484562c8492159ad59d6',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100ad8dc3a6eaefbcdcceca15474c826e7454759f3f55c12af30e8b4ccdd66fe13f02204bbd62e3865499366f22063c34b471148679f82a88f3d4b66bd1395eccf2997941210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: 'd826198de42c449731961fd4ba81b3d8b36a49ab85cd6bb846adf9bd8f460a90',
+ outIdx: 2,
+ },
+ inputScript:
+ '4830450221009a585d7a20e87f0b7a123c3674fabd6fd2907d50b6a0adfef705a62466b5737502202b540834f20b70c26f56df096044780254b14d5b4c7ed44e3e172c934a3b38d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '78689',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a040074616205657468616e',
+ },
+ {
+ value: '55400',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ spentBy: {
+ txid: 'fd4ce09c3d527922870b5b22ee844edd0d3aadfcc86fac189afdf266fc9fa757',
+ outIdx: 0,
+ },
+ },
+ {
+ value: '23087',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 1,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770450,
+ hash: '00000000000000000fe787306e26f0f28f7d1b46c4888890fc84537dde647f1c',
+ timestamp: '1671107720',
+ },
+ timeFirstSeen: '1671107230',
+ size: 395,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: 'fe9ae60ad1d947dfe041499b8f56b902779374fb2fb6662f91d5683c4c3ddb8b',
+ outIdx: 1,
+ },
+ inputScript:
+ '483045022100fad2532abe7c1e2b57ebdbee0a43c4176f6f3389c27b178cb6b27a89fc607a2b02200276ab355eb99f0a6943e4551b2010ddf97b2afe25774b061140d62cd38b42d041210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '550',
+ sequenceNo: 4294967295,
+ },
+ {
+ prevOut: {
+ txid: '03bc75198ecd0491faed1cd03e14c97bd9ec205f4ecf0f6b239a538f5f0d8479',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100a245067515681caacf1d6da90a8cc4964f0e6282e32325149a6ae7e5c6ae70ed02204bb213450b3f7bbf0a38ba045936157481261e8709c464f092e925ac4a1ee33f41210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '23087',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e786563036e6673',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '22329',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ size: 398,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+ {
+ txid: '4a0ac372d9edfbc88c908a1f477b2414461fbe2ec729d19710b0a6871ab95dba',
+ version: 2,
+ inputs: [
+ {
+ prevOut: {
+ txid: '363de571114fca54a7a7ef6fba7338f0d55ebe364d90c1fca44594f9e48c7b95',
+ outIdx: 2,
+ },
+ inputScript:
+ '483045022100c1dce1385c8185c5a058b3679966a1b68f7f8e0c74ac3c03c11870e8dfe4ce3d022016f3574a846b12ffc440528263a0139d170527dd2efdb46ae643dd30b3da969741210260dbd59a80d14b548c68772328fa7afc8f2ea25f6c2a9cce13f9cba77199e0de',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ value: '22329',
+ sequenceNo: 4294967295,
+ },
+ ],
+ outputs: [
+ {
+ value: '0',
+ outputScript: '6a0400746162042e78656303666f6f',
+ },
+ {
+ value: '556',
+ outputScript:
+ '76a914638568e36d0b5d7d49a6e99854caa27d9772b09388ac',
+ },
+ {
+ value: '21318',
+ outputScript:
+ '76a914f627e51001a51a1a92d8927808701373cf29267f88ac',
+ spentBy: {
+ txid: '051e293de9b61292ae46ed9570fc2d05f169a0372a7bbf7069d3c86afa5f0781',
+ outIdx: 0,
+ },
+ },
+ ],
+ lockTime: 0,
+ block: {
+ height: 770452,
+ hash: '0000000000000000110940de16f07da16b7a5441694d2a5ace3e8faa7e04fc4e',
+ timestamp: '1671109291',
+ },
+ timeFirstSeen: '1671108616',
+ size: 250,
+ isCoinbase: false,
+ network: 'XEC',
+ },
+];
+
export const mockTxHistoryLastPageResponse25Txs = {
txs: [
{
diff --git a/web/cashtab/src/utils/__tests__/chronik.test.js b/web/cashtab/src/utils/__tests__/chronik.test.js
--- a/web/cashtab/src/utils/__tests__/chronik.test.js
+++ b/web/cashtab/src/utils/__tests__/chronik.test.js
@@ -12,6 +12,8 @@
isAliasRegistered,
getAddressFromAlias,
calculateAliasTxCount,
+ sortAliasTxsByTxidAndBlockheight,
+ filterDuplicateAliasTxs,
} from 'utils/chronik';
import {
mockChronikUtxos,
@@ -61,6 +63,12 @@
mockTxHistoryOfAliasPaymentAddress,
mockTxHistoryLastPageResponse23Txs,
mockTxHistoryLastPageResponse25Txs,
+ mockUnsortedAliasTxHistoryWithUnconfirmedTxs,
+ mockSortedAliasTxHistoryWithUnconfirmedTxs,
+ mockSortedAliasTxHistoryWithTxsInSameBlock,
+ mockUnsortedAliasTxHistoryWithTxsInSameBlock,
+ mockFilteredSortedAliasTxHistoryWithDuplicateTxs,
+ mockUnfilteredSortedAliasTxHistoryWithDuplicateTxs,
} from '../__mocks__/chronikTxHistory';
import {
mintingTxTabCash,
@@ -76,6 +84,30 @@
import { ChronikClient } from 'chronik-client';
import { when } from 'jest-when';
+it(`sortAliasTxsByTxidAndBlockheight correctly sorts an alias payment tx history with unconfirmed transactions`, async () => {
+ expect(
+ sortAliasTxsByTxidAndBlockheight(
+ mockUnsortedAliasTxHistoryWithUnconfirmedTxs,
+ ),
+ ).toStrictEqual(mockSortedAliasTxHistoryWithUnconfirmedTxs);
+});
+
+it(`sortAliasTxsByTxidAndBlockheight correctly sorts an alias payment tx history with unconfirmed transactions in the same block`, async () => {
+ expect(
+ sortAliasTxsByTxidAndBlockheight(
+ mockUnsortedAliasTxHistoryWithTxsInSameBlock,
+ ),
+ ).toStrictEqual(mockSortedAliasTxHistoryWithTxsInSameBlock);
+});
+
+it(`filterDuplicateAliasTxs correctly filters out subsequent duplicate alias registrations for the same alias`, async () => {
+ expect(
+ filterDuplicateAliasTxs(
+ mockUnfilteredSortedAliasTxHistoryWithDuplicateTxs,
+ ),
+ ).toStrictEqual(mockFilteredSortedAliasTxHistoryWithDuplicateTxs);
+});
+
it(`calculateAliasTxCount returns a correct tx count for a final page containing less than the full 25 txs`, async () => {
const txCount = calculateAliasTxCount(
mockTxHistoryLastPageResponse23Txs,
@@ -762,7 +794,7 @@
);
});
-it(`Successfully extracts aliases from an alias payment address tx history`, () => {
+it(`Successfully extracts unique aliases from an alias payment address tx history`, () => {
expect(
getAliasAndAddresses(mockTxHistoryOfAliasPaymentAddress),
).toStrictEqual([
@@ -778,14 +810,6 @@
alias: 'foo',
address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
},
- {
- alias: 'foo',
- address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
- },
- {
- alias: 'foo',
- address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
- },
{
alias: 'joey',
address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
@@ -794,10 +818,6 @@
alias: 'nfs',
address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
},
- {
- alias: 'nfs',
- address: 'ecash:qzvydd4n3lm3xv62cx078nu9rg0e3srmqq0knykfed',
- },
]);
});
diff --git a/web/cashtab/src/utils/cashMethods.js b/web/cashtab/src/utils/cashMethods.js
--- a/web/cashtab/src/utils/cashMethods.js
+++ b/web/cashtab/src/utils/cashMethods.js
@@ -41,7 +41,6 @@
registrationFee = fee.eightChar;
break;
}
-
return registrationFee;
};
diff --git a/web/cashtab/src/utils/chronik.js b/web/cashtab/src/utils/chronik.js
--- a/web/cashtab/src/utils/chronik.js
+++ b/web/cashtab/src/utils/chronik.js
@@ -106,6 +106,7 @@
customPagesToIterate = 0,
) => {
let allTxHistory = [];
+ let sortedAllTxHistory = [];
let txHistoryFirstPageResponse, secondPageIndex;
txHistoryFirstPageResponse = await getTxHistoryPage(
@@ -176,7 +177,65 @@
}
}
- return allTxHistory;
+ // sort allTxHistory based on blockheight and txid
+ sortedAllTxHistory = sortAliasTxsByTxidAndBlockheight(allTxHistory);
+
+ return sortedAllTxHistory;
+};
+
+export const filterDuplicateAliasTxs = sortedAllTxHistory => {
+ let uniqueSortedAllTxHistory = [];
+ // filter out duplicate aliases
+ sortedAllTxHistory.forEach(function (aliasTx) {
+ // if this is the first instance of this alias OP_RETURN script, add to uniqueSortedAllTxHistory
+ if (
+ !JSON.stringify(uniqueSortedAllTxHistory).includes(
+ JSON.stringify(aliasTx.outputs[0].outputScript),
+ )
+ ) {
+ uniqueSortedAllTxHistory.push(aliasTx);
+ }
+ });
+
+ return uniqueSortedAllTxHistory;
+};
+
+export const sortAliasTxsByTxidAndBlockheight = unsortedAliasTxs => {
+ // arbitrary to set unconfirmed txs at blockheight of 100,000,000
+ // note that this constant must be adjusted in the fall of 3910 A.D., assuming 10 min blocks
+ // setting it high instead of zero because it's important we sort aliases by blockheight
+ // for sortAliasTxsByTxidAndBlockheight function
+ unsortedAliasTxs.forEach(function (aliasTx) {
+ if (!aliasTx.block) {
+ // if this tx does not have a block attribute, i.e. unconfirmed
+ aliasTx.block = { height: 100000000 };
+ console.log(
+ `unconfirmed tx found, setting .block attribute to 100000000`,
+ );
+ }
+ });
+
+ // First, sort the aliases array by alphabetical txid
+ // (alphabetical first to last, 0 comes before a comes before b comes before c, etc)
+ const aliasesTxsSortedByTxid = unsortedAliasTxs.sort((a, b) => {
+ return a.txid.localeCompare(b.txid);
+ });
+
+ // Next, sort the aliases array by blockheight. This will preserve the alphabetical txid sort
+ // 735,625 comes before 735,626 comes before 100,000,000 etc
+ const aliasTxsSortedByTxidAndBlockheight = aliasesTxsSortedByTxid.sort(
+ (a, b) => {
+ return a.block.height - b.block.height;
+ },
+ );
+
+ // temporary log for reviewer
+ console.log(
+ `aliasTxsSortedByTxidAndBlockheight: `,
+ JSON.stringify(aliasTxsSortedByTxidAndBlockheight),
+ );
+
+ return aliasTxsSortedByTxidAndBlockheight;
};
export const getAddressFromAlias = (alias, cachedAliases) => {
@@ -194,18 +253,17 @@
};
export const isAliasAvailable = async (chronik, alias) => {
- // TODO: Implement caching mechanism to reduce the API call below
- // if isLocalAliasStateLatest() is true then retrieve incoming tx history from localStorage
- // else retrieve via chronik and update localStorage
-
// retrieve alias payment address tx history
let aliasPaymentTxs = await getAllTxHistory(
chronik,
currency.aliasSettings.aliasPaymentHash160,
);
+ // filter out duplicate alias registrations
+ let uniqueRegisteredAlaises = filterDuplicateAliasTxs(aliasPaymentTxs);
+
// extract aliases from payment address' tx history
- let registeredAliases = getAliasAndAddresses(aliasPaymentTxs);
+ let registeredAliases = getAliasAndAddresses(uniqueRegisteredAlaises);
// check if the chosen alias has already been registered onchain
let isAliasTaken = isAliasRegistered(registeredAliases, alias);
@@ -226,9 +284,10 @@
return false;
};
-export const getAliasAndAddresses = aliasPaymentTxs => {
+export const getAliasAndAddresses = unfilteredAliasPaymentTxs => {
const registeredAliases = [];
let aliasName;
+ let aliasPaymentTxs = filterDuplicateAliasTxs(unfilteredAliasPaymentTxs);
// parse through each txs in alias payment address
for (let i = 0; i < aliasPaymentTxs.length; i += 1) {
@@ -334,7 +393,6 @@
alias: aliasName,
address: aliasAddress,
});
-
// reset fee increment for the next aliasPaymentTxs[i]
totalAliasFeePaid = new BigNumber(0);
}

File Metadata

Mime Type
text/plain
Expires
Sat, Apr 26, 10:38 (1 h, 13 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
5570089
Default Alt Text
D13134.id37989.diff (46 KB)

Event Timeline