diff --git a/web/cashtab/src/utils/__mocks__/mockAddressArray.js b/web/cashtab/src/utils/__mocks__/mockAddressArray.js --- a/web/cashtab/src/utils/__mocks__/mockAddressArray.js +++ b/web/cashtab/src/utils/__mocks__/mockAddressArray.js @@ -1,12 +1,3 @@ -export const invalidAddressArrayInput = [ - 'ecash:qrqgwxrrrrrrrrrrrrrrrrrrrrrrrrr7zsvk,7', - 'ecash:qzsha6zffffffffffffffffffffffffffffwuuzel2lfzv,67', - 'ecash:qqlkeeeeeeeeeeeeeeee4wyz0v403dj,4376', - 'ecash:qz2taawwwwwwwwwwwwwwwwwwwqfqjrqst4,673728', - 'ecash:qz2tggggggggggggggggggzclqfqjrqst4,368', - 'ecash:qp0hlj2rrrrrrrrrrrrrrrrrrfhckq4zj9s6,23673', -]; - export const validAddressArrayInput = [ 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', @@ -15,247 +6,3 @@ 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', ]; - -export const validAddressArrayInputMixedPrefixes = [ - 'qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', -]; - -export const validAddressArrayOutput = [ - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', -]; - -export const validLargeAddressArrayInput = [ - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', - 'ecash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dyguh7zsvk,7', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,67', - 'ecash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wyz0v403dj,4376', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,673728', - 'ecash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqfqjrqst4,368', - 'ecash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhckq4zj9s6,23673', - 'ecash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvtdy0n9s0,983', - 'ecash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5rgq8q3ks,7834867', - 'ecash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alcy8kq39f2,348732', - 'ecash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuuzel2lfzv,3272377', -]; - -export const validLargeAddressArrayOutput = [ - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', - 'bitcoincash:qrqgwxnaxlfagezvr2zj4s9yee6rrs96dy33r4e22p,7\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,67\n', - 'bitcoincash:qqlkyzmeupf7q8t2ttf2u8xgyk286pg4wymzc75tt9,4376\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,673728\n', - 'bitcoincash:qz2taa43tljkvnvkeqv9pyx337hmg0zclqsdxgm2dz,368\n', - 'bitcoincash:qp0hlj26nwjpk9c3f0umjz7qmwpzfh0fhc0dpfflkd,23673\n', - 'bitcoincash:qzju5ql7lk2h4k5uj0cukmu6zg859zsjjvjqsyglkc,983\n', - 'bitcoincash:qq3ap93nt5trdtjuum0adv7n29xx7gl2a5695vmts8,7834867\n', - 'bitcoincash:qzq7a8vpzq5wyqgka0r3wk5t90rxw75alca2zt2l0a,348732\n', - 'bitcoincash:qzsha6zk9m0f3hlfe5q007zdwnzvn3vwuum5tpynym,3272377\n', -]; diff --git a/web/cashtab/src/utils/__tests__/cashMethods.test.js b/web/cashtab/src/utils/__tests__/cashMethods.test.js --- a/web/cashtab/src/utils/__tests__/cashMethods.test.js +++ b/web/cashtab/src/utils/__tests__/cashMethods.test.js @@ -7,8 +7,6 @@ fromLegacyDecimals, convertToEcashPrefix, isLegacyMigrationRequired, - toLegacyCash, - toLegacyCashArray, convertEtokenToEcashAddr, parseOpReturn, convertEcashtoEtokenAddr, @@ -35,14 +33,7 @@ getECPairFromWIF, } from 'utils/cashMethods'; import { currency } from 'components/Common/Ticker'; -import { - validAddressArrayInput, - validAddressArrayInputMixedPrefixes, - validAddressArrayOutput, - validLargeAddressArrayInput, - validLargeAddressArrayOutput, - invalidAddressArrayInput, -} from '../__mocks__/mockAddressArray'; +import { validAddressArrayInput } from '../__mocks__/mockAddressArray'; import { mockGenesisOpReturnScript, mockSendOpReturnScript, @@ -321,7 +312,7 @@ mockOneToManySendXecTxBuilderObj.transaction.tx.outs[3].value, ), ); // change value - destinationAddressAndValueArray = toLegacyCashArray(validAddressArrayInput); + destinationAddressAndValueArray = validAddressArrayInput; const changeAddress = wallet.Path1899.cashAddress; const outputObj = generateTxOutput( BCH, @@ -930,9 +921,7 @@ ), ); // change value - const destinationAddressAndValueArray = toLegacyCashArray( - validAddressArrayInput, - ); + const destinationAddressAndValueArray = validAddressArrayInput; let txBuilder = new TransactionBuilder(); const changeAddress = wallet.Path1899.cashAddress; @@ -1360,118 +1349,6 @@ expect(errorThrown).toStrictEqual('Invalid address: ' + address + '.'); }); - test('toLegacyCash() converts a valid ecash: prefix address to a valid bitcoincash: prefix address', async () => { - const result = toLegacyCash( - 'ecash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gtfza25mc', - ); - expect(result).toStrictEqual( - 'bitcoincash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gjykk3wa0', - ); - }); - - test('toLegacyCash() converts a valid ecash: prefixless address to a valid bitcoincash: prefix address', async () => { - const result = toLegacyCash( - 'qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gtfza25mc', - ); - expect(result).toStrictEqual( - 'bitcoincash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gjykk3wa0', - ); - }); - - test('toLegacyCash throws error if input address has invalid checksum', async () => { - const result = toLegacyCash( - 'ecash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gtfza25m', - ); - expect(result).toStrictEqual( - new Error( - 'ecash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gtfza25m is not a valid ecash address', - ), - ); - }); - - test('toLegacyCash() throws error with input of etoken: address', async () => { - const result = toLegacyCash( - 'etoken:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4g9htlunl0', - ); - expect(result).toStrictEqual( - new Error( - 'etoken:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4g9htlunl0 is not a valid ecash address', - ), - ); - }); - - test('toLegacyCash() throws error with input of legacy address', async () => { - const result = toLegacyCash('13U6nDrkRsC3Eb1pxPhNY8XJ5W9zdp6rNk'); - expect(result).toStrictEqual( - new Error( - '13U6nDrkRsC3Eb1pxPhNY8XJ5W9zdp6rNk is not a valid ecash address', - ), - ); - }); - - test('toLegacyCash() throws error with input of bitcoincash: address', async () => { - const result = toLegacyCash( - 'bitcoincash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gjykk3wa0', - ); - expect(result).toStrictEqual( - new Error( - 'bitcoincash:qqd3qn4zazjhygk5a2vzw2gvqgqwempr4gjykk3wa0 is not a valid ecash address', - ), - ); - }); - - test('toLegacyCashArray throws error if the addressArray input is null', async () => { - const result = toLegacyCashArray(null); - - expect(result).toStrictEqual(new Error('Invalid addressArray input')); - }); - - test('toLegacyCashArray throws error if the addressArray input is empty', async () => { - const result = toLegacyCashArray([]); - - expect(result).toStrictEqual(new Error('Invalid addressArray input')); - }); - - test('toLegacyCashArray throws error if the addressArray input is a number', async () => { - const result = toLegacyCashArray(12345); - - expect(result).toStrictEqual(new Error('Invalid addressArray input')); - }); - - test('toLegacyCashArray throws error if the addressArray input is undefined', async () => { - const result = toLegacyCashArray(undefined); - - expect(result).toStrictEqual(new Error('Invalid addressArray input')); - }); - - test('toLegacyCashArray successfully converts a standard sized valid addressArray input', async () => { - const result = toLegacyCashArray(validAddressArrayInput); - - expect(result).toStrictEqual(validAddressArrayOutput); - }); - - test('toLegacyCashArray successfully converts a standard sized valid addressArray input including prefixless ecash addresses', async () => { - const result = toLegacyCashArray(validAddressArrayInputMixedPrefixes); - - expect(result).toStrictEqual(validAddressArrayOutput); - }); - - test('toLegacyCashArray successfully converts a large valid addressArray input', async () => { - const result = toLegacyCashArray(validLargeAddressArrayInput); - - expect(result).toStrictEqual(validLargeAddressArrayOutput); - }); - - test('toLegacyCashArray throws an error on an addressArray with invalid addresses', async () => { - const result = toLegacyCashArray(invalidAddressArrayInput); - - expect(result).toStrictEqual( - new Error( - 'ecash:qrqgwxrrrrrrrrrrrrrrrrrrrrrrrrr7zsvk is not a valid ecash address', - ), - ); - }); - test('parseOpReturn() successfully parses a short cashtab message', async () => { const result = parseOpReturn(shortCashtabMessageInputHex); expect(result).toStrictEqual(mockParsedShortCashtabMessageArray); 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 @@ -1025,60 +1025,6 @@ } } -export function toLegacyCash(addr) { - // Confirm input is a valid ecash address - const isValidInput = isValidXecAddress(addr); - if (!isValidInput) { - return new Error(`${addr} is not a valid ecash address`); - } - - // Check for ecash: prefix - const isPrefixedXecAddress = addr.slice(0, 6) === 'ecash:'; - - // If no prefix, assume it is checksummed for an ecash: prefix - const testedXecAddr = isPrefixedXecAddress ? addr : `ecash:${addr}`; - - let legacyCashAddress; - try { - const { type, hash } = cashaddr.decode(testedXecAddr); - legacyCashAddress = cashaddr.encode(currency.legacyPrefix, type, hash); - } catch (err) { - return err; - } - return legacyCashAddress; -} - -export function toLegacyCashArray(addressArray) { - let cleanArray = []; // array of bch converted addresses to be returned - - if ( - addressArray === null || - addressArray === undefined || - !addressArray.length || - addressArray === '' - ) { - return new Error('Invalid addressArray input'); - } - - const arrayLength = addressArray.length; - - for (let i = 0; i < arrayLength; i++) { - let addressValueArr = addressArray[i].split(','); - let address = addressValueArr[0]; - let value = addressValueArr[1]; - - // NB that toLegacyCash() includes address validation; will throw error for invalid address input - const legacyAddress = toLegacyCash(address); - if (legacyAddress instanceof Error) { - return legacyAddress; - } - let convertedArrayData = legacyAddress + ',' + value + '\n'; - cleanArray.push(convertedArrayData); - } - - return cleanArray; -} - /* Converts a serialized buffer containing encrypted data into an object * that can be interpreted by the ecies-lite library. *