diff --git a/components/brave_rewards/browser/rewards_database_browsertest.cc b/components/brave_rewards/browser/rewards_database_browsertest.cc index b149f25c72ad..ca2ecfa54a2d 100644 --- a/components/brave_rewards/browser/rewards_database_browsertest.cc +++ b/components/brave_rewards/browser/rewards_database_browsertest.cc @@ -845,3 +845,64 @@ IN_PROC_BROWSER_TEST_F( EXPECT_EQ(contribution_queue.completed_at, 0u); } } + +IN_PROC_BROWSER_TEST_F( + RewardsDatabaseBrowserTest, + Migration_26_UnblindedTokens) { + { + base::ScopedAllowBlockingForTesting allow_blocking; + InitDB(); + + EXPECT_EQ(CountTableRows("unblinded_tokens"), 10); + + const std::string query = + "SELECT token_id, token_value, public_key, value, creds_id, " + "expires_at, redeemed_at, redeem_id, redeem_type " + "FROM unblinded_tokens"; + sql::Statement sql(db_.GetUniqueStatement(query.c_str())); + + ledger::UnblindedTokenPtr token; + std::vector actual_values; + while (sql.Step()) { + if (!token) { + token = ledger::UnblindedToken::New(); + token->id = sql.ColumnInt(0); + token->token_value = sql.ColumnString(1); + token->public_key = sql.ColumnString(2); + token->value = sql.ColumnDouble(3); + token->creds_id = sql.ColumnString(4); + token->expires_at = sql.ColumnInt(5); + token->redeemed_at = sql.ColumnInt(6); + token->redeem_id = sql.ColumnString(7); + token->redeem_type = static_cast(sql.ColumnInt(8)); + } + + actual_values.push_back(sql.ColumnString(1)); + } + + std::vector expected_values { + "CAuK3b4QJFJFt7+3YRcQsVJyyxkXHxb/+iFOVMIlcmbwqPkgp/ZvDVjBAQgycZwzAZiy+16qMfkV2BKbnqHaZsZPNLL/k7mzU8TRN+ATPd9OFzPxjaMl47VRY5WdTWBg", // NOLINT + "hMVLYdVOXqdQG6YIBQsnwspHicBNxCsGNyNOIFcPnI6rcNG95kKTsSlX24zDtGj+embVm5NnGAZExsj8nSEoupDg9SP7X0Rjs47u7lU4MJL6pXtzq9rG7k1XxSF/FM55", // NOLINT + "9G2sE0OVjaL0q0irv9ORUcSLEDOTGlTkqdNKDJ8WdmupKLKHKCpLQg2o1pIM2A05RXuzFnmmRx2fNzOiLm8gTbiRU8IpYxtDbrJho7onf4jlpWVPKT00SveDjIQI9vFQ", // NOLINT + "0SYyiiPh/wCriIvT5nrvclMWQ9vgBBYs2iNvauTjzAj2ASUPMaD0tzY7Hc+JYrjnEJsjGE8Sv9q0lAOYpUsI3VbFDjVHol1LZ4gG9Ocr8M6hVC+NhOmS86h+tefIaLIQ", // NOLINT + "/pdeeRaAzPuixPkQMTAV0jh7N96MNF260LSrWgYvkg6oXmcOJL96R6TqWn/Xg04Gfa6tqHxCa5u/XRuAYnLdoWBLdsRrnbTOuCyeqz/ZSIC3nJas+ekarGjvs4gWJM0c", // NOLINT + "w8z/jYtWFmEs2UApoZspA2r1arHfPLKe6iDkmeuLSf6OqMytazevGPhL3fJmiCFgIKlH9GJxV9eoE3I3eN4XtY5FNctfkBobBosTmBsYL3F+wyjd2VJaUD8G+cVgbjxr", // NOLINT + "stDkJ7aVeYxwDeQ/2BMaGIF0OeJ8mzsHeWC9bvAoN3vZ00tg5n+v5H2+RxQjH9N/AKTMCpgofrzrY9jLopu80aCQLKyUHPwvBTFzAWcB52WKezKJSF3w/4dPmxMtWuIh", // NOLINT + "I314N1AbpsngcTnCtF1yBvZwkgsG0CxH9r6PAz9XqqUGf2kSJydzt3kFJn+9uXWxXtwQVT4geeUjes7kQEm2Qwy4HU//AI40wss/eNo2wF89jJQXf7q/hEGMh2fgoe00", // NOLINT + "p9OnZd7B+z5HowTYKMZfSiXZrwKa6mg9QqcyUcrNlGL+mfb67ELH0ZkzI3mIPcoTGtcfjlPEw8mPZ3PJSgUJ09TrCSOyMBiDInziQdmsNs0W4scEfeOldjt5at/XZaN5", // NOLINT + "xflp6Qq67V2d+ImPjy510woQktdQhIL5z5TZO9toUhj912+viJ6qIEiwQf/AG+JI7sQzsLudysEM4H2mJ+i7HGQi0ZYoW5GnYz9WocOB3L8MXtsM91IzdYPIPXnAzgMh" // NOLINT + }; + + EXPECT_EQ(expected_values, actual_values); + EXPECT_EQ(token->id, 1ul); + EXPECT_EQ(token->token_value, "CAuK3b4QJFJFt7+3YRcQsVJyyxkXHxb/+iFOVMIlcmbwqPkgp/ZvDVjBAQgycZwzAZiy+16qMfkV2BKbnqHaZsZPNLL/k7mzU8TRN+ATPd9OFzPxjaMl47VRY5WdTWBg"); // NOLINT + EXPECT_EQ(token->public_key, + "7oIW+qlloH8W0WS0nTNrkm4y58jaxQk3hui/tlhRSyE="); + EXPECT_EQ(token->value, 0.25); + EXPECT_EQ(token->creds_id, "ffccd899-8cba-422e-a762-a58c47a728ac"); + EXPECT_EQ(token->expires_at, 1595870924ul); + EXPECT_EQ(token->redeemed_at, 1594870924ul); + EXPECT_EQ(token->redeem_id, "ew5suU8UjcRdwc2+dUjzsr1iOJpOMzRK"); + EXPECT_EQ(token->redeem_type, ledger::RewardsType::ONE_TIME_TIP); + } +} diff --git a/test/data/rewards-data/creds_tokens_prod_resp.json b/test/data/rewards-data/creds_tokens_prod_resp.json index 5d74246b6cd3..902324f1e777 100644 --- a/test/data/rewards-data/creds_tokens_prod_resp.json +++ b/test/data/rewards-data/creds_tokens_prod_resp.json @@ -1,125 +1,125 @@ { "signedCreds": [ - "Fo0lNiiLJZvehAe0Nucrrhr9/qgBaJt0QQTN0GZx9FQ=", - "ip8ds6Pg6wlG8dVk6eSb1uFBV7nh13vUyFbQPiht0C4=", - "NkeBxhN1lZk7n/5wh9/DN5E7jeLB9gfn7nWUxJ9rLQE=", - "sE0SZYd4qNzgGPTGnJrw1ZxrTY+GPrYtiO+76ceyAS0=", - "kq9dk8p0niCfuka7O1C3Rq0JtZuBoX0aI4V808g7kBA=", - "SrEAjDWUAMo8Y4H/hfc8PDyAZYbSAgzetciKxGvlNzs=", - "oD8PlMXI4PKDOUY9BnEOirKAqR9ctaNRPPZMYl7jemU=", - "7DaTre9eKjurqVF2FYLz/R1xBDB8fItlYGB8kjweSRs=", - "pDqBpYvA93d3hYyTq8MkUglSo4bwnuG1o/2ArYJ7hhU=", - "Yp0fiwu5tOY8TkCLbARuV+1ihx2UNsLZzWuahLAguVY=", - "wrNNe2mjv4Zs09qoyBusIrqGoPKWzAnvLo8dtMHDuBE=", - "7JvEhi8L4QZuFufk6EvOM1HWnDXVxxYYlaq9mmqTZCg=", - "VL/zyImLugLeF1eAImWmPF+ljsyzXT61c+o9QbEPxjE=", - "shn3lvJAmKwu2cZxOTkw4L9gQGbWH7hOc7ZZ7iimJQw=", - "0EEaSFtPGsdlY+HDjy/SHo6Kf/Bp+V9wnpt1sAMyRUE=", - "UsSOBPiKJIKzz0tMoaR3kFW8wSubgcp+hkSuLcPP31A=", - "+JO5gMIYpP0OfB1IBByEZeM6XXRCRXXriJVOZZRsXk0=", - "upE0n2vEXZtnozYD6/2YZlfy/RQBES+3Oa8T9s79vXo=", - "/h1e5mBYrAXj63rb8nhPCZRLOyedNozlBKYPjcsZUHg=", - "/miQ7ewkoIArdMtUqXO+MEwJnPhf1bYjTwTWyDUHFAU=", - "4tcBnAHQrKzR0tvg6E+IfFekfFZOKKDv+e43S2m+k1w=", - "qsRP0Z7mxkZXXjgTNEtwA76myraE/8ErfR6sd8S8/AI=", - "dL9QSFWoiw27y84mEURNe/54O4Lcp/lKkbidAkO+xUU=", - "GjsgRbFhVNaCrgAHrpUsh+NGRQbJsvA89krWPtbraw0=", - "TmsSl1/zn+tKf39WY5KEatWWxnhZ0S7cGRgGBRxtqxw=", - "RPOHgRxUdf1X+lkAxCkFp0aXr70GUPWaNkc6ojk11y0=", - "DvdwEkodKpsFOk1qLMQVkhyrG7TDvIwH+mYTt1LyB1s=", - "BB3WSaFe30xPSMLt2bRGvIk3qD24N3eDbMUfJk7TxzY=", - "mGa4X18fXYEClTd0+SZAyhza8qZ6H8aHzmLi3pDhNkI=", - "vGKSvhnEWOBh9o5ZcxXAPHXIq9RERowI48uUOie4oW4=", - "NNX6FaWipF7/QWJuwfa89Z2mxTz0HGXwMIW1fJjMW2Y=", - "xN4REvse67v+3/z2comPXJvR5NTU/yTltDcah1hgIEI=", - "aJrkjU8GDASMyitbZn0X8f995AIy/AZPwN+heg12kF8=", - "/KQpDjyOfi4unbzmevZ/zmsr8XLkGJMjAm1w1lJ5HQ0=", - "6JniWAa2EhZHl824vkhMMiNFLIR97yZcBp374mpJRD0=", - "jow6OBDiYult6v7xNRtZIalwsFrkGdxB9Tr+7dmc+S4=", - "SP1BW8CKGZnUdDWsfbOY/aLJPdjEyAfsqWNxyguifRg=", - "YiwIJ8sCxxnC+4KxcZWnDp8uZr/1MbYX6KxQ2j1OljE=", - "EgAoqpPstDgJcYTaiJzeGB03Psd5ptZ4SyaWl8uc1E8=", - "3ko9Zr3CThxLbkbP1BroaSE+ffxs7VCFm40qq4M7L3I=", - "DOm6dkf7vATf+7IAJkUEaK8ZfmFFwZ3V4yRWvFGvrBQ=", - "loS9EkzqwwJ1++nUkcSZhetuz7TKzQvtz/g1pdx7HX8=", - "9gD/iWPFJ8p4Dho9lVFXgPqd1EYulgK5VjXvz+RBqi0=", - "8FdnB+qklQZx+715mhMK2aEr7y5QzKvlRHwmWv7Wrw0=", - "GjV+srUWdi19ru34/oMrIWNdpYK1Bz6zqFKBhKCiMwY=", - "1rxWJjfzJttV4GoEuTJBMGVK5fkQM0r/Gh5uPmagMR0=", - "WMGoS7vftRF65KPhByPeXaeWE3c7V3BQajl0DlD63Wc=", - "sIqey9z6yP2Zysp8jPzuABYo9cXEYB05m4WkwppzZkc=", - "usjICudNQU9OUDM47IcEmgW753Kyaa7yEo9z30FsaFM=", - "etDK97tchgvLzSFmzcGhGT34KaVa6DVUU2iNB9Urxgk=", - "WHEkYm2TWZNMw9JJBqhjZA4XEoyfMC0+PwbIIEkVDWA=", - "apudufgT9BH4FBscLbBlCis7ZxJatVnYx7FBaIFZkgI=", - "qPCAKh+/UBfQIrPpjzd5JY9pY8WHHdaiuW8UAHDCnRY=", - "gHpyNe4wMiHjGXtO3iweM4LJE6VZXORxqJXLkL8dVn0=", - "+FiSWS2ziu/jQ9RBA2jjsUQsAbyC3Z0tMwv5pFb+GWk=", - "QBkt7L/PJ+FU0d7cRuJDYErrYdga2L1acuflsmBFu2c=", - "NE7WsQD3xLIIa6Gajg8jASTXQmwMCaHjkwV0uY+6l1M=", - "ElFQOPytNPhqjCK2Nj3MmrkDBZk/f49psDzFIeK12Fc=", - "rCWgydzNURQiOuLTYWHJ07XXcvbyMjopULT3N/MAeXo=", - "1NzGCBGcYcG7A7+9eXkOL+QxSjVCSEgJ+t6RXw35fkM=", - "1jv/61WgljwI6GGjuHR7hl9mxIyUL/ioPF/Tswm9Rx8=", - "tqzuISO+YnrMQ5JdwSJZsLmCrX1snpNVPx0RFDfHWgw=", - "rGktvfaEUFZQpEAOpzCihblkNTh4SiyNN9atHKriN3Q=", - "2LPZ5hVuyric9uFHTiU8D+3ejHeIoSbHdBdhBqF96Rg=", - "vtgi6GgGD+czcRcyMDdPeZLRdkDstIq+ElfpK5mvNQk=", - "4JNlmdJQ+ezLlNp0t6bpv4mqD9wttXjOjvjak80WYnE=", - "AktTILzogHjYVOCa2GW+6fjOJQPQxCnsP9qIfiy+dmk=", - "GsK55frSU7TQT0pKJFxyCSu0EaMi47q2zn+LFQC8vk0=", - "9jjAy07Hhm9lOzi+uuCitmH3WsXdAgdGbPlPPFibbEQ=", - "EPccEqmtJS0BD2Z5aOehAXsvG5XhmU2lU1H++QZe5AE=", - "Fo0lNiiLJZvehAe0Nucrrhr9/qgBaJt0QQTN0GZx9FQ=", - "ip8ds6Pg6wlG8dVk6eSb1uFBV7nh13vUyFbQPiht0C4=", - "NkeBxhN1lZk7n/5wh9/DN5E7jeLB9gfn7nWUxJ9rLQE=", - "sE0SZYd4qNzgGPTGnJrw1ZxrTY+GPrYtiO+76ceyAS0=", - "kq9dk8p0niCfuka7O1C3Rq0JtZuBoX0aI4V808g7kBA=", - "SrEAjDWUAMo8Y4H/hfc8PDyAZYbSAgzetciKxGvlNzs=", - "oD8PlMXI4PKDOUY9BnEOirKAqR9ctaNRPPZMYl7jemU=", - "7DaTre9eKjurqVF2FYLz/R1xBDB8fItlYGB8kjweSRs=", - "pDqBpYvA93d3hYyTq8MkUglSo4bwnuG1o/2ArYJ7hhU=", - "Yp0fiwu5tOY8TkCLbARuV+1ihx2UNsLZzWuahLAguVY=", - "wrNNe2mjv4Zs09qoyBusIrqGoPKWzAnvLo8dtMHDuBE=", - "7JvEhi8L4QZuFufk6EvOM1HWnDXVxxYYlaq9mmqTZCg=", - "VL/zyImLugLeF1eAImWmPF+ljsyzXT61c+o9QbEPxjE=", - "shn3lvJAmKwu2cZxOTkw4L9gQGbWH7hOc7ZZ7iimJQw=", - "0EEaSFtPGsdlY+HDjy/SHo6Kf/Bp+V9wnpt1sAMyRUE=", - "UsSOBPiKJIKzz0tMoaR3kFW8wSubgcp+hkSuLcPP31A=", - "+JO5gMIYpP0OfB1IBByEZeM6XXRCRXXriJVOZZRsXk0=", - "upE0n2vEXZtnozYD6/2YZlfy/RQBES+3Oa8T9s79vXo=", - "/h1e5mBYrAXj63rb8nhPCZRLOyedNozlBKYPjcsZUHg=", - "/miQ7ewkoIArdMtUqXO+MEwJnPhf1bYjTwTWyDUHFAU=", - "4tcBnAHQrKzR0tvg6E+IfFekfFZOKKDv+e43S2m+k1w=", - "qsRP0Z7mxkZXXjgTNEtwA76myraE/8ErfR6sd8S8/AI=", - "dL9QSFWoiw27y84mEURNe/54O4Lcp/lKkbidAkO+xUU=", - "GjsgRbFhVNaCrgAHrpUsh+NGRQbJsvA89krWPtbraw0=", - "TmsSl1/zn+tKf39WY5KEatWWxnhZ0S7cGRgGBRxtqxw=", - "RPOHgRxUdf1X+lkAxCkFp0aXr70GUPWaNkc6ojk11y0=", - "DvdwEkodKpsFOk1qLMQVkhyrG7TDvIwH+mYTt1LyB1s=", - "BB3WSaFe30xPSMLt2bRGvIk3qD24N3eDbMUfJk7TxzY=", - "mGa4X18fXYEClTd0+SZAyhza8qZ6H8aHzmLi3pDhNkI=", - "vGKSvhnEWOBh9o5ZcxXAPHXIq9RERowI48uUOie4oW4=", - "NNX6FaWipF7/QWJuwfa89Z2mxTz0HGXwMIW1fJjMW2Y=", - "xN4REvse67v+3/z2comPXJvR5NTU/yTltDcah1hgIEI=", - "aJrkjU8GDASMyitbZn0X8f995AIy/AZPwN+heg12kF8=", - "/KQpDjyOfi4unbzmevZ/zmsr8XLkGJMjAm1w1lJ5HQ0=", - "6JniWAa2EhZHl824vkhMMiNFLIR97yZcBp374mpJRD0=", - "jow6OBDiYult6v7xNRtZIalwsFrkGdxB9Tr+7dmc+S4=", - "SP1BW8CKGZnUdDWsfbOY/aLJPdjEyAfsqWNxyguifRg=", - "YiwIJ8sCxxnC+4KxcZWnDp8uZr/1MbYX6KxQ2j1OljE=", - "EgAoqpPstDgJcYTaiJzeGB03Psd5ptZ4SyaWl8uc1E8=", - "3ko9Zr3CThxLbkbP1BroaSE+ffxs7VCFm40qq4M7L3I=", - "DOm6dkf7vATf+7IAJkUEaK8ZfmFFwZ3V4yRWvFGvrBQ=", - "loS9EkzqwwJ1++nUkcSZhetuz7TKzQvtz/g1pdx7HX8=", - "9gD/iWPFJ8p4Dho9lVFXgPqd1EYulgK5VjXvz+RBqi0=", - "8FdnB+qklQZx+715mhMK2aEr7y5QzKvlRHwmWv7Wrw0=", - "GjV+srUWdi19ru34/oMrIWNdpYK1Bz6zqFKBhKCiMwY=", - "1rxWJjfzJttV4GoEuTJBMGVK5fkQM0r/Gh5uPmagMR0=", - "WMGoS7vftRF65KPhByPeXaeWE3c7V3BQajl0DlD63Wc=", - "sIqey9z6yP2Zysp8jPzuABYo9cXEYB05m4WkwppzZkc=", - "usjICudNQU9OUDM47IcEmgW753Kyaa7yEo9z30FsaFM=", - "etDK97tchgvLzSFmzcGhGT34KaVa6DVUU2iNB9Urxgk=" + "dgLbHfLuF+mam7rtR5KFURW3dFuUDv2Ej7vMJ3ymCjI=", + "KmzoyiA4g7XbZLTGjtbf231DNacaaw7UQrg8VDbGxXI=", + "TBkrszSXXYS0rnNQ2eWE7eE9+zQn4V4OCoE1CllPjx4=", + "gg/J+nsinhpKJHwdKYmPTvHvDvcrR8mxjw+nuHwXuFs=", + "sMLxtzOpZIhwKEeTlYMoRpMwNEojnMK62a6k6cH7cig=", + "dDXf+jbXXhaCmRpMfukAB0OJjk0pmNpIwiLEwO9Q7Qc=", + "QHwVFEvwck9KR0I+d/lHtQXrnUlE2H8IYmwmV3oNkRA=", + "9AlnuXQMSAUI/JT5tcAKsgwp0De1l2j5mX04CExOQSI=", + "klLE1W+Vua8TwtWu3zzoUk0bWQahrcs/BU8cAB22/jo=", + "qlFwzjVGlqRAgA2p8TUOwUDEa+aByug4Zq6uxFdDmzs=", + "1GiZEyoo1CkT7jfvktmpAD4BICE/t5y3hGrU7qkjD30=", + "TlsJfVw9WqBvBAeyxOGIqQZWWVQNU6ihsRrzhVMk/k0=", + "bqQjq6NUwnh9eOfqeBjStM1nkD8iyK5El642aS4hJWU=", + "yE4wA/mIITOBbQmoMrZZsFtVBq0Di2yF6+DUl7cv/S8=", + "8GlL/Jo94kgJTKbC+wlNbrqpGyDBSIobu4wbkPmfijM=", + "BIWT9Z54Py8DSbNDel8AldDv2TxTTSIY1EXMCxsF7TQ=", + "ZKyN42f0SaMNyK1Aurttbq4hRacdqMRH2bt7HUwsWFU=", + "xg9IYsN4vQQEcv7RnWqa10EdQVfoKpqZIqe1dmu+UW4=", + "Yt2zvYwJeqB6uKqohj3/AV+CtVzgyvm+XuMjArpjpig=", + "kEjmAVqWJb+Jlv+2yVrL52aVfYYi+PEG3vZHjUUC90Q=", + "VgFuVqZoaz9X6dLpiE+TD8NzzZbr1tzHF+SjnFIP9gk=", + "RlrVX934E26GYHDf7NyqO3GOul4ohSzDGG2/3C3Q6gU=", + "6IY9v9tuAbk8scX00xwzeKQFcrOG/rb9dvbogFDb61M=", + "jJ1RRJ2PnAN+ERNnU29/3YDKsSvm2QfKaVw/kK6DcFI=", + "ehmnybQiZDvW8wD4nDYAXH4k/mK7Ry9IfaMpjMeRgEY=", + "GrTzmJQLfeim/nP6eUERxsCsB85GmZeZi3ZkPJCcpQQ=", + "JkuGYW1QH3q8ZCQ4roqfpzpYhealf8GioJtT4O80Tw4=", + "Ygwm5ZNF76IM5PNyRbIYuna7qYyQeteChwvML3cvi1s=", + "nOvUVlb+esYcEWfysCDYpZAwH5YIN+dEHeoit4R9Nx0=", + "gpLw/AIJISzgopbwK6lu2cSrDNeJW3p+vpb7pBATgzg=", + "TGDO380gFUO8NGTI0kXd6N3paMfQXOZB53imuv5z03I=", + "9LP77n+9bVdlg+vahvnHvnPSmx/GOafreL6o6BPQ3SI=", + "vv90MWWJ67x7nn+GikZV+awNkzFtqmvUP0aDyF76Nj4=", + "+hV0DeUjha6hirfcw7EcrTR5uwYxuby4/R3tefCx7i4=", + "2qnSrQYBtGJUY3H8kqBe1uA1jXuuzaN6tJrhWO8u+B4=", + "Hn7LC3GXPK9kY85LfkhaJCvSYqHTk/fBEqbSmM+g+Eg=", + "KJhiD4zHpzMIPbNbKPcD0a+iSrpOkAloW06/lzFt7jg=", + "pGy/fzUt8uhK/lgc1OGmSeSr8nTdkgJPlbRBU9MTnUc=", + "VAb0p+VZvl/qVz6UdsYxq8SNbXyDPdVJ5xn0ECDcTng=", + "/qkGNbqO2CrTPBfP2ohOtcoc9tMYDm9AOkAjIEf0bmE=", + "JJeUw1yL3B4CuFkrPvN4YrTNuwE6NPUYTu4+p4DIQWQ=", + "VoOWOttuE93xYOko05flllmgj5Ipm7HcSzN/S9yjahY=", + "NqdJnAQqYKyqQwS33ZbK0iZHr7QyUssUth97P56vfmA=", + "1Nu+Lz/90nFG+mb39Q3HvtME3UegqZ1gAKofZi+7M0M=", + "5LEfLbQUP/2xykbaD3p8xQ0VSAGbWiSTrB6cmZrZDVs=", + "Uoc6i2b2OFPlZAFZ3SA/pmOJPth4ELl2hzTPpdHfxTg=", + "zoXcDWz2KZ3TGmq5DnXQ3/HRYHLxVTVR/2fM0migQH0=", + "aPMeoy9XOuFzOaYuQagQwLyApO8YAEP6SntBcXCAtxw=", + "BC7x7u1qGtmMzjWcHHLFON++w2XVWlIOGwnRtK7L+zE=", + "oMVde7Q1hrBEpaUHccuGr1egSSuXViQm+zhM1XZvUlE=", + "Dj9vHF15GZ8SOS4ihiFXR62uSqJNkA5WUfvGH9batBs=", + "tIzZcIFPkaFjO/Z1quBY97V6+BhgBRFGGnSstHlaXBw=", + "gKTMZ6dPVtS5du1CPrNQpjKkkvtu8vbpsOI/ROerHz4=", + "0KTHHlt3G1Evayb6aD/U4T4pprIy+70NDEgaQmdrFyE=", + "pHa3F5ggIULOZzPcEqz4uc1UY0ezdnD1OO3FGqqVTCE=", + "fsIn1jQCoB0G64eELGD9i9XoPoRvXNxZR4031VnArD4=", + "8qbEcmU33DVZ1PCyBh9jzdkVTST7CYJLLMy09xFiciI=", + "uuHzi9APkoUSZO7ONsWR57oGQ/P2iXt9CbbZSqZelyk=", + "8KuBTEfzkjydH7ODeb8H2KJeqCQZml9sE43AquD4cDE=", + "dncTeRPLHA83LJ8paXQVNvMVk7FWqOR6gGu0kMYtC3A=", + "IBhWQF+UalDb3VPOPDojq8mVJ1DDq4EJdMNN10VpbCg=", + "6lj2XuwvJzcqDmx6RqTXvAMF2I0AGC62d/F0MUH0r1A=", + "uvAqtU+yZ60xjdmkwwb1szplbM4S4XGLaTjQefYYER0=", + "UG8p6iDAxxGrsNxxySpGZ5oAiSv4uYCy1z9u5h94q0k=", + "YAgf5h7uOR7CiKoMiMP34azShCkz6ZiVvobL6ky4RWw=", + "1BLHDNog42yy01sDVcFpLrh8DnpybeJfyTQiCrAfQFw=", + "KhpZEmH9G7lfH0I0xF1AyBj15upFZ8vopNoKL7cXLg0=", + "bqamxlafnQK3DE2FzeUzh2ItM82BY1E5AQc3tkiPlUA=", + "spXLrMj2wudiqOhE86uDz5EjdFDrLgO8jMVlW9+OwSM=", + "GFaCUbtXn+LGHV5gWh5E1TQdK888LZlC/TKweh9pJEw=", + "mkaJit4Fy3kw/k0inZX0U1c71H9OrHafd6IhYeDDbDY=", + "st8oAMKlERVRnbeP50MFQRzjt6xofKmvLWCCngeIvTE=", + "Iq3FyQpUVGTtrMr32hOImNkwmPWvSA5ta2lQZT26nzA=", + "GKqgH8Ljo+P92roTgk7zD3P53t6OyILSrCruF8iSGCA=", + "+h0G+j4DKzKvIEPsfPytH8ZFUTzq+Ri6ZBTXJHcMik4=", + "Xu0dIC6wDNotzF/DfANljsANVBpE1abRAM9oQYMpUWM=", + "fhkGonFw73DgHlwEKWFSxESsGOMdYVpu5IpKfzmTJnA=", + "hnbDkYo7pdPO82thq9vOfy4cQctIgxE1G/K6rWB/fBg=", + "/P/aC2qt1tWOObRRDScEnYUZY5bqKt0QBdBkq0l8uFM=", + "KOrHKY3i+B3dUg9QsY0xO7yek1tb69NRypr7HXOioDU=", + "lEz976b5FE2hb0GiB5Y+06s9QEKqtbILt1J1Vi/2ZxQ=", + "mO0SANRN45tE972LfvH+W0X4u+HzzupMpn3isi3lfxg=", + "zBoA9xoYGQnKatidho5tprAu6ViPFXX8CYMN2/gjXwQ=", + "omSfZ9rO2Nch8cwbiG7THwyyCI3X9/6M4zE81FxuUnU=", + "OpolgLRWpulumnoN8441VZlWZt/6XHk1V3YZXzDhsSA=", + "0DSoC0K51mPzGGmRMF/xcLrdpwg6pavtD9JqoGb1mko=", + "yn7YBLU//7YQc8YmisCvYI2mNBiM9/5/ZtG73DpWUhs=", + "DskRCkjHbXOH+0ML52/EpQ4q5GOtCYEIiwxjwbzX3Tk=", + "YDadBjGMB0h/YbOfJY4gpItmVdTiTtL/vqdPcFZ7pnw=", + "LtOwO25U39vEKYLLyZx2L+imVpqXNWl01bdEijcOBRs=", + "4O0d0HlLtXTDq+LMMknGg26+oaKFA6Y0lrIaQsTQRUE=", + "kE0L8HPNoGppuhAG7BWgRPBHa5t2tslhtBSciN1NE1U=", + "IBww3/7ar2sb/0ZsNvg9Fr3+Ul0El4zEY1JrohJr6Q8=", + "zrDWv1Bu/SPvCEfkFuBS7Wc3biy6P17uCEIJ6/jDjSw=", + "dF7NOt6eP+ulktFJvbQye58N7tK2z5eOZ+itBFozmDY=", + "nuzrTZhZeYkqiC1eQnNHmDQzlMYJ6a5s8bUqw40HLjQ=", + "DCtwUQtRgoOMJ6UyTgSSf5NxQRJcxG0f8F3giydbSjw=", + "GAT/GrTE1slxXVih0Nfkooug7MuDiOqspFflLv1xHTY=", + "PLEdqP1DFAZ6lrf67mq8p8+Fwjmm9cW4dSfRTQVtdC4=", + "Gi+suxTJK8lxCQcOmLvHGJQb5RpVW9yFeCUoRJrRbmM=", + "bD6Fev+awMJdaIwrYTOZXK1wtWehm2eezAHb+nni8Tc=", + "2uxoj/G8Tv7PzZncsQ7BDYrPNCX8fG7FkxNr6gsZ8ms=", + "0DxL95V1rSo+UuDbJxcRUau+QO+rG9iZRor9iOpF1l8=", + "LIS7sl1vvD+fEY28DvvZEkkSZG0CyJ6R1d3Naac/bFc=", + "fgTLMARJhmqZP8uMuVcyfrWa6L1NPiqnZZoBQhLrWHM=", + "rOy67DYQ/ygUByLns1T73du2675QGE/2d5OVMXCWORk=", + "Jq+ecscCfr+nJIIzCdu9FScBD9u2/afodxOX0WoOElE=", + "eChOwG6Yps5GR8aIOSGAQc0gvlmQvJ55UTsPBjUF1H8=", + "Gv730RS9Hr4sdo8Ix/z7sFdPzXvJSeLpBt1mnPlnxXk=", + "zI8YzUOta0jEG5hOF2MXFYgeQqVHb7XN1qaMWBL70l0=", + "aOwJdM+4BhmrChFdVPpb8qLU8zJVuPAB6XlCKyV/DXo=", + "ELurTesDeZVu/ETVJYkFyZsOj+67VXIK02w7LZwuLSU=", + "3JGkikzS0Plwjzjwell6giI+IcBr4WwE5YypKnJDbAw=", + "HEcuEgg1gcoA4U+DAokoBO3i2+Np/pY+I1R8X+jPciI=", + "ZHjdwiACwL3dYiXVMHi4w8t9L6o2zG8EY/rGJhnSQlA=", + "Hu7zscqnTlu59E6uX6vKah7rQ17GuMxbNNahovdLpU4=", + "rKJvd9oM701/lvBF4HDMqtwMHiRNwx2rVQr+TsVasDg=", + "Tj3fPRUYVAUfDlyMnNPKuJ1NOpanjxGjJn09q8duLG8=", + "LDiHFnXQR69Qi7EYIOGJFPjqKqcj10WLx+P2TXYRpSM=", + "QL3FmNpT4dZ2CV0dxungRFnHMwbzcIaSdJaNH3zlvzA=" ], "batchProof": "Z6+3SJ3DtDskOZ6pXdzmIiHB28qdTXsdyYorvv3fdwJc0JAmdvQ24HOqHp1JQ0+VUhT99zc0KgX2oaR52OJiDA==", "publicKey": "yr4w9Y0XZQISBOToATNEl5ADspDUgm7cBSOhfYgPWx4=" diff --git a/test/data/rewards-data/creds_tokens_resp.json b/test/data/rewards-data/creds_tokens_resp.json index ea8a90548ac3..1ea1519dd3ef 100644 --- a/test/data/rewards-data/creds_tokens_resp.json +++ b/test/data/rewards-data/creds_tokens_resp.json @@ -1,125 +1,125 @@ { "signedCreds": [ - "Fo0lNiiLJZvehAe0Nucrrhr9/qgBaJt0QQTN0GZx9FQ=", - "ip8ds6Pg6wlG8dVk6eSb1uFBV7nh13vUyFbQPiht0C4=", - "NkeBxhN1lZk7n/5wh9/DN5E7jeLB9gfn7nWUxJ9rLQE=", - "sE0SZYd4qNzgGPTGnJrw1ZxrTY+GPrYtiO+76ceyAS0=", - "kq9dk8p0niCfuka7O1C3Rq0JtZuBoX0aI4V808g7kBA=", - "SrEAjDWUAMo8Y4H/hfc8PDyAZYbSAgzetciKxGvlNzs=", - "oD8PlMXI4PKDOUY9BnEOirKAqR9ctaNRPPZMYl7jemU=", - "7DaTre9eKjurqVF2FYLz/R1xBDB8fItlYGB8kjweSRs=", - "pDqBpYvA93d3hYyTq8MkUglSo4bwnuG1o/2ArYJ7hhU=", - "Yp0fiwu5tOY8TkCLbARuV+1ihx2UNsLZzWuahLAguVY=", - "wrNNe2mjv4Zs09qoyBusIrqGoPKWzAnvLo8dtMHDuBE=", - "7JvEhi8L4QZuFufk6EvOM1HWnDXVxxYYlaq9mmqTZCg=", - "VL/zyImLugLeF1eAImWmPF+ljsyzXT61c+o9QbEPxjE=", - "shn3lvJAmKwu2cZxOTkw4L9gQGbWH7hOc7ZZ7iimJQw=", - "0EEaSFtPGsdlY+HDjy/SHo6Kf/Bp+V9wnpt1sAMyRUE=", - "UsSOBPiKJIKzz0tMoaR3kFW8wSubgcp+hkSuLcPP31A=", - "+JO5gMIYpP0OfB1IBByEZeM6XXRCRXXriJVOZZRsXk0=", - "upE0n2vEXZtnozYD6/2YZlfy/RQBES+3Oa8T9s79vXo=", - "/h1e5mBYrAXj63rb8nhPCZRLOyedNozlBKYPjcsZUHg=", - "/miQ7ewkoIArdMtUqXO+MEwJnPhf1bYjTwTWyDUHFAU=", - "4tcBnAHQrKzR0tvg6E+IfFekfFZOKKDv+e43S2m+k1w=", - "qsRP0Z7mxkZXXjgTNEtwA76myraE/8ErfR6sd8S8/AI=", - "dL9QSFWoiw27y84mEURNe/54O4Lcp/lKkbidAkO+xUU=", - "GjsgRbFhVNaCrgAHrpUsh+NGRQbJsvA89krWPtbraw0=", - "TmsSl1/zn+tKf39WY5KEatWWxnhZ0S7cGRgGBRxtqxw=", - "RPOHgRxUdf1X+lkAxCkFp0aXr70GUPWaNkc6ojk11y0=", - "DvdwEkodKpsFOk1qLMQVkhyrG7TDvIwH+mYTt1LyB1s=", - "BB3WSaFe30xPSMLt2bRGvIk3qD24N3eDbMUfJk7TxzY=", - "mGa4X18fXYEClTd0+SZAyhza8qZ6H8aHzmLi3pDhNkI=", - "vGKSvhnEWOBh9o5ZcxXAPHXIq9RERowI48uUOie4oW4=", - "NNX6FaWipF7/QWJuwfa89Z2mxTz0HGXwMIW1fJjMW2Y=", - "xN4REvse67v+3/z2comPXJvR5NTU/yTltDcah1hgIEI=", - "aJrkjU8GDASMyitbZn0X8f995AIy/AZPwN+heg12kF8=", - "/KQpDjyOfi4unbzmevZ/zmsr8XLkGJMjAm1w1lJ5HQ0=", - "6JniWAa2EhZHl824vkhMMiNFLIR97yZcBp374mpJRD0=", - "jow6OBDiYult6v7xNRtZIalwsFrkGdxB9Tr+7dmc+S4=", - "SP1BW8CKGZnUdDWsfbOY/aLJPdjEyAfsqWNxyguifRg=", - "YiwIJ8sCxxnC+4KxcZWnDp8uZr/1MbYX6KxQ2j1OljE=", - "EgAoqpPstDgJcYTaiJzeGB03Psd5ptZ4SyaWl8uc1E8=", - "3ko9Zr3CThxLbkbP1BroaSE+ffxs7VCFm40qq4M7L3I=", - "DOm6dkf7vATf+7IAJkUEaK8ZfmFFwZ3V4yRWvFGvrBQ=", - "loS9EkzqwwJ1++nUkcSZhetuz7TKzQvtz/g1pdx7HX8=", - "9gD/iWPFJ8p4Dho9lVFXgPqd1EYulgK5VjXvz+RBqi0=", - "8FdnB+qklQZx+715mhMK2aEr7y5QzKvlRHwmWv7Wrw0=", - "GjV+srUWdi19ru34/oMrIWNdpYK1Bz6zqFKBhKCiMwY=", - "1rxWJjfzJttV4GoEuTJBMGVK5fkQM0r/Gh5uPmagMR0=", - "WMGoS7vftRF65KPhByPeXaeWE3c7V3BQajl0DlD63Wc=", - "sIqey9z6yP2Zysp8jPzuABYo9cXEYB05m4WkwppzZkc=", - "usjICudNQU9OUDM47IcEmgW753Kyaa7yEo9z30FsaFM=", - "etDK97tchgvLzSFmzcGhGT34KaVa6DVUU2iNB9Urxgk=", - "WHEkYm2TWZNMw9JJBqhjZA4XEoyfMC0+PwbIIEkVDWA=", - "apudufgT9BH4FBscLbBlCis7ZxJatVnYx7FBaIFZkgI=", - "qPCAKh+/UBfQIrPpjzd5JY9pY8WHHdaiuW8UAHDCnRY=", - "gHpyNe4wMiHjGXtO3iweM4LJE6VZXORxqJXLkL8dVn0=", - "+FiSWS2ziu/jQ9RBA2jjsUQsAbyC3Z0tMwv5pFb+GWk=", - "QBkt7L/PJ+FU0d7cRuJDYErrYdga2L1acuflsmBFu2c=", - "NE7WsQD3xLIIa6Gajg8jASTXQmwMCaHjkwV0uY+6l1M=", - "ElFQOPytNPhqjCK2Nj3MmrkDBZk/f49psDzFIeK12Fc=", - "rCWgydzNURQiOuLTYWHJ07XXcvbyMjopULT3N/MAeXo=", - "1NzGCBGcYcG7A7+9eXkOL+QxSjVCSEgJ+t6RXw35fkM=", - "1jv/61WgljwI6GGjuHR7hl9mxIyUL/ioPF/Tswm9Rx8=", - "tqzuISO+YnrMQ5JdwSJZsLmCrX1snpNVPx0RFDfHWgw=", - "rGktvfaEUFZQpEAOpzCihblkNTh4SiyNN9atHKriN3Q=", - "2LPZ5hVuyric9uFHTiU8D+3ejHeIoSbHdBdhBqF96Rg=", - "vtgi6GgGD+czcRcyMDdPeZLRdkDstIq+ElfpK5mvNQk=", - "4JNlmdJQ+ezLlNp0t6bpv4mqD9wttXjOjvjak80WYnE=", - "AktTILzogHjYVOCa2GW+6fjOJQPQxCnsP9qIfiy+dmk=", - "GsK55frSU7TQT0pKJFxyCSu0EaMi47q2zn+LFQC8vk0=", - "9jjAy07Hhm9lOzi+uuCitmH3WsXdAgdGbPlPPFibbEQ=", - "EPccEqmtJS0BD2Z5aOehAXsvG5XhmU2lU1H++QZe5AE=", - "Fo0lNiiLJZvehAe0Nucrrhr9/qgBaJt0QQTN0GZx9FQ=", - "ip8ds6Pg6wlG8dVk6eSb1uFBV7nh13vUyFbQPiht0C4=", - "NkeBxhN1lZk7n/5wh9/DN5E7jeLB9gfn7nWUxJ9rLQE=", - "sE0SZYd4qNzgGPTGnJrw1ZxrTY+GPrYtiO+76ceyAS0=", - "kq9dk8p0niCfuka7O1C3Rq0JtZuBoX0aI4V808g7kBA=", - "SrEAjDWUAMo8Y4H/hfc8PDyAZYbSAgzetciKxGvlNzs=", - "oD8PlMXI4PKDOUY9BnEOirKAqR9ctaNRPPZMYl7jemU=", - "7DaTre9eKjurqVF2FYLz/R1xBDB8fItlYGB8kjweSRs=", - "pDqBpYvA93d3hYyTq8MkUglSo4bwnuG1o/2ArYJ7hhU=", - "Yp0fiwu5tOY8TkCLbARuV+1ihx2UNsLZzWuahLAguVY=", - "wrNNe2mjv4Zs09qoyBusIrqGoPKWzAnvLo8dtMHDuBE=", - "7JvEhi8L4QZuFufk6EvOM1HWnDXVxxYYlaq9mmqTZCg=", - "VL/zyImLugLeF1eAImWmPF+ljsyzXT61c+o9QbEPxjE=", - "shn3lvJAmKwu2cZxOTkw4L9gQGbWH7hOc7ZZ7iimJQw=", - "0EEaSFtPGsdlY+HDjy/SHo6Kf/Bp+V9wnpt1sAMyRUE=", - "UsSOBPiKJIKzz0tMoaR3kFW8wSubgcp+hkSuLcPP31A=", - "+JO5gMIYpP0OfB1IBByEZeM6XXRCRXXriJVOZZRsXk0=", - "upE0n2vEXZtnozYD6/2YZlfy/RQBES+3Oa8T9s79vXo=", - "/h1e5mBYrAXj63rb8nhPCZRLOyedNozlBKYPjcsZUHg=", - "/miQ7ewkoIArdMtUqXO+MEwJnPhf1bYjTwTWyDUHFAU=", - "4tcBnAHQrKzR0tvg6E+IfFekfFZOKKDv+e43S2m+k1w=", - "qsRP0Z7mxkZXXjgTNEtwA76myraE/8ErfR6sd8S8/AI=", - "dL9QSFWoiw27y84mEURNe/54O4Lcp/lKkbidAkO+xUU=", - "GjsgRbFhVNaCrgAHrpUsh+NGRQbJsvA89krWPtbraw0=", - "TmsSl1/zn+tKf39WY5KEatWWxnhZ0S7cGRgGBRxtqxw=", - "RPOHgRxUdf1X+lkAxCkFp0aXr70GUPWaNkc6ojk11y0=", - "DvdwEkodKpsFOk1qLMQVkhyrG7TDvIwH+mYTt1LyB1s=", - "BB3WSaFe30xPSMLt2bRGvIk3qD24N3eDbMUfJk7TxzY=", - "mGa4X18fXYEClTd0+SZAyhza8qZ6H8aHzmLi3pDhNkI=", - "vGKSvhnEWOBh9o5ZcxXAPHXIq9RERowI48uUOie4oW4=", - "NNX6FaWipF7/QWJuwfa89Z2mxTz0HGXwMIW1fJjMW2Y=", - "xN4REvse67v+3/z2comPXJvR5NTU/yTltDcah1hgIEI=", - "aJrkjU8GDASMyitbZn0X8f995AIy/AZPwN+heg12kF8=", - "/KQpDjyOfi4unbzmevZ/zmsr8XLkGJMjAm1w1lJ5HQ0=", - "6JniWAa2EhZHl824vkhMMiNFLIR97yZcBp374mpJRD0=", - "jow6OBDiYult6v7xNRtZIalwsFrkGdxB9Tr+7dmc+S4=", - "SP1BW8CKGZnUdDWsfbOY/aLJPdjEyAfsqWNxyguifRg=", - "YiwIJ8sCxxnC+4KxcZWnDp8uZr/1MbYX6KxQ2j1OljE=", - "EgAoqpPstDgJcYTaiJzeGB03Psd5ptZ4SyaWl8uc1E8=", - "3ko9Zr3CThxLbkbP1BroaSE+ffxs7VCFm40qq4M7L3I=", - "DOm6dkf7vATf+7IAJkUEaK8ZfmFFwZ3V4yRWvFGvrBQ=", - "loS9EkzqwwJ1++nUkcSZhetuz7TKzQvtz/g1pdx7HX8=", - "9gD/iWPFJ8p4Dho9lVFXgPqd1EYulgK5VjXvz+RBqi0=", - "8FdnB+qklQZx+715mhMK2aEr7y5QzKvlRHwmWv7Wrw0=", - "GjV+srUWdi19ru34/oMrIWNdpYK1Bz6zqFKBhKCiMwY=", - "1rxWJjfzJttV4GoEuTJBMGVK5fkQM0r/Gh5uPmagMR0=", - "WMGoS7vftRF65KPhByPeXaeWE3c7V3BQajl0DlD63Wc=", - "sIqey9z6yP2Zysp8jPzuABYo9cXEYB05m4WkwppzZkc=", - "usjICudNQU9OUDM47IcEmgW753Kyaa7yEo9z30FsaFM=", - "etDK97tchgvLzSFmzcGhGT34KaVa6DVUU2iNB9Urxgk=" + "dgLbHfLuF+mam7rtR5KFURW3dFuUDv2Ej7vMJ3ymCjI=", + "KmzoyiA4g7XbZLTGjtbf231DNacaaw7UQrg8VDbGxXI=", + "TBkrszSXXYS0rnNQ2eWE7eE9+zQn4V4OCoE1CllPjx4=", + "gg/J+nsinhpKJHwdKYmPTvHvDvcrR8mxjw+nuHwXuFs=", + "sMLxtzOpZIhwKEeTlYMoRpMwNEojnMK62a6k6cH7cig=", + "dDXf+jbXXhaCmRpMfukAB0OJjk0pmNpIwiLEwO9Q7Qc=", + "QHwVFEvwck9KR0I+d/lHtQXrnUlE2H8IYmwmV3oNkRA=", + "9AlnuXQMSAUI/JT5tcAKsgwp0De1l2j5mX04CExOQSI=", + "klLE1W+Vua8TwtWu3zzoUk0bWQahrcs/BU8cAB22/jo=", + "qlFwzjVGlqRAgA2p8TUOwUDEa+aByug4Zq6uxFdDmzs=", + "1GiZEyoo1CkT7jfvktmpAD4BICE/t5y3hGrU7qkjD30=", + "TlsJfVw9WqBvBAeyxOGIqQZWWVQNU6ihsRrzhVMk/k0=", + "bqQjq6NUwnh9eOfqeBjStM1nkD8iyK5El642aS4hJWU=", + "yE4wA/mIITOBbQmoMrZZsFtVBq0Di2yF6+DUl7cv/S8=", + "8GlL/Jo94kgJTKbC+wlNbrqpGyDBSIobu4wbkPmfijM=", + "BIWT9Z54Py8DSbNDel8AldDv2TxTTSIY1EXMCxsF7TQ=", + "ZKyN42f0SaMNyK1Aurttbq4hRacdqMRH2bt7HUwsWFU=", + "xg9IYsN4vQQEcv7RnWqa10EdQVfoKpqZIqe1dmu+UW4=", + "Yt2zvYwJeqB6uKqohj3/AV+CtVzgyvm+XuMjArpjpig=", + "kEjmAVqWJb+Jlv+2yVrL52aVfYYi+PEG3vZHjUUC90Q=", + "VgFuVqZoaz9X6dLpiE+TD8NzzZbr1tzHF+SjnFIP9gk=", + "RlrVX934E26GYHDf7NyqO3GOul4ohSzDGG2/3C3Q6gU=", + "6IY9v9tuAbk8scX00xwzeKQFcrOG/rb9dvbogFDb61M=", + "jJ1RRJ2PnAN+ERNnU29/3YDKsSvm2QfKaVw/kK6DcFI=", + "ehmnybQiZDvW8wD4nDYAXH4k/mK7Ry9IfaMpjMeRgEY=", + "GrTzmJQLfeim/nP6eUERxsCsB85GmZeZi3ZkPJCcpQQ=", + "JkuGYW1QH3q8ZCQ4roqfpzpYhealf8GioJtT4O80Tw4=", + "Ygwm5ZNF76IM5PNyRbIYuna7qYyQeteChwvML3cvi1s=", + "nOvUVlb+esYcEWfysCDYpZAwH5YIN+dEHeoit4R9Nx0=", + "gpLw/AIJISzgopbwK6lu2cSrDNeJW3p+vpb7pBATgzg=", + "TGDO380gFUO8NGTI0kXd6N3paMfQXOZB53imuv5z03I=", + "9LP77n+9bVdlg+vahvnHvnPSmx/GOafreL6o6BPQ3SI=", + "vv90MWWJ67x7nn+GikZV+awNkzFtqmvUP0aDyF76Nj4=", + "+hV0DeUjha6hirfcw7EcrTR5uwYxuby4/R3tefCx7i4=", + "2qnSrQYBtGJUY3H8kqBe1uA1jXuuzaN6tJrhWO8u+B4=", + "Hn7LC3GXPK9kY85LfkhaJCvSYqHTk/fBEqbSmM+g+Eg=", + "KJhiD4zHpzMIPbNbKPcD0a+iSrpOkAloW06/lzFt7jg=", + "pGy/fzUt8uhK/lgc1OGmSeSr8nTdkgJPlbRBU9MTnUc=", + "VAb0p+VZvl/qVz6UdsYxq8SNbXyDPdVJ5xn0ECDcTng=", + "/qkGNbqO2CrTPBfP2ohOtcoc9tMYDm9AOkAjIEf0bmE=", + "JJeUw1yL3B4CuFkrPvN4YrTNuwE6NPUYTu4+p4DIQWQ=", + "VoOWOttuE93xYOko05flllmgj5Ipm7HcSzN/S9yjahY=", + "NqdJnAQqYKyqQwS33ZbK0iZHr7QyUssUth97P56vfmA=", + "1Nu+Lz/90nFG+mb39Q3HvtME3UegqZ1gAKofZi+7M0M=", + "5LEfLbQUP/2xykbaD3p8xQ0VSAGbWiSTrB6cmZrZDVs=", + "Uoc6i2b2OFPlZAFZ3SA/pmOJPth4ELl2hzTPpdHfxTg=", + "zoXcDWz2KZ3TGmq5DnXQ3/HRYHLxVTVR/2fM0migQH0=", + "aPMeoy9XOuFzOaYuQagQwLyApO8YAEP6SntBcXCAtxw=", + "BC7x7u1qGtmMzjWcHHLFON++w2XVWlIOGwnRtK7L+zE=", + "oMVde7Q1hrBEpaUHccuGr1egSSuXViQm+zhM1XZvUlE=", + "Dj9vHF15GZ8SOS4ihiFXR62uSqJNkA5WUfvGH9batBs=", + "tIzZcIFPkaFjO/Z1quBY97V6+BhgBRFGGnSstHlaXBw=", + "gKTMZ6dPVtS5du1CPrNQpjKkkvtu8vbpsOI/ROerHz4=", + "0KTHHlt3G1Evayb6aD/U4T4pprIy+70NDEgaQmdrFyE=", + "pHa3F5ggIULOZzPcEqz4uc1UY0ezdnD1OO3FGqqVTCE=", + "fsIn1jQCoB0G64eELGD9i9XoPoRvXNxZR4031VnArD4=", + "8qbEcmU33DVZ1PCyBh9jzdkVTST7CYJLLMy09xFiciI=", + "uuHzi9APkoUSZO7ONsWR57oGQ/P2iXt9CbbZSqZelyk=", + "8KuBTEfzkjydH7ODeb8H2KJeqCQZml9sE43AquD4cDE=", + "dncTeRPLHA83LJ8paXQVNvMVk7FWqOR6gGu0kMYtC3A=", + "IBhWQF+UalDb3VPOPDojq8mVJ1DDq4EJdMNN10VpbCg=", + "6lj2XuwvJzcqDmx6RqTXvAMF2I0AGC62d/F0MUH0r1A=", + "uvAqtU+yZ60xjdmkwwb1szplbM4S4XGLaTjQefYYER0=", + "UG8p6iDAxxGrsNxxySpGZ5oAiSv4uYCy1z9u5h94q0k=", + "YAgf5h7uOR7CiKoMiMP34azShCkz6ZiVvobL6ky4RWw=", + "1BLHDNog42yy01sDVcFpLrh8DnpybeJfyTQiCrAfQFw=", + "KhpZEmH9G7lfH0I0xF1AyBj15upFZ8vopNoKL7cXLg0=", + "bqamxlafnQK3DE2FzeUzh2ItM82BY1E5AQc3tkiPlUA=", + "spXLrMj2wudiqOhE86uDz5EjdFDrLgO8jMVlW9+OwSM=", + "GFaCUbtXn+LGHV5gWh5E1TQdK888LZlC/TKweh9pJEw=", + "mkaJit4Fy3kw/k0inZX0U1c71H9OrHafd6IhYeDDbDY=", + "st8oAMKlERVRnbeP50MFQRzjt6xofKmvLWCCngeIvTE=", + "Iq3FyQpUVGTtrMr32hOImNkwmPWvSA5ta2lQZT26nzA=", + "GKqgH8Ljo+P92roTgk7zD3P53t6OyILSrCruF8iSGCA=", + "+h0G+j4DKzKvIEPsfPytH8ZFUTzq+Ri6ZBTXJHcMik4=", + "Xu0dIC6wDNotzF/DfANljsANVBpE1abRAM9oQYMpUWM=", + "fhkGonFw73DgHlwEKWFSxESsGOMdYVpu5IpKfzmTJnA=", + "hnbDkYo7pdPO82thq9vOfy4cQctIgxE1G/K6rWB/fBg=", + "/P/aC2qt1tWOObRRDScEnYUZY5bqKt0QBdBkq0l8uFM=", + "KOrHKY3i+B3dUg9QsY0xO7yek1tb69NRypr7HXOioDU=", + "lEz976b5FE2hb0GiB5Y+06s9QEKqtbILt1J1Vi/2ZxQ=", + "mO0SANRN45tE972LfvH+W0X4u+HzzupMpn3isi3lfxg=", + "zBoA9xoYGQnKatidho5tprAu6ViPFXX8CYMN2/gjXwQ=", + "omSfZ9rO2Nch8cwbiG7THwyyCI3X9/6M4zE81FxuUnU=", + "OpolgLRWpulumnoN8441VZlWZt/6XHk1V3YZXzDhsSA=", + "0DSoC0K51mPzGGmRMF/xcLrdpwg6pavtD9JqoGb1mko=", + "yn7YBLU//7YQc8YmisCvYI2mNBiM9/5/ZtG73DpWUhs=", + "DskRCkjHbXOH+0ML52/EpQ4q5GOtCYEIiwxjwbzX3Tk=", + "YDadBjGMB0h/YbOfJY4gpItmVdTiTtL/vqdPcFZ7pnw=", + "LtOwO25U39vEKYLLyZx2L+imVpqXNWl01bdEijcOBRs=", + "4O0d0HlLtXTDq+LMMknGg26+oaKFA6Y0lrIaQsTQRUE=", + "kE0L8HPNoGppuhAG7BWgRPBHa5t2tslhtBSciN1NE1U=", + "IBww3/7ar2sb/0ZsNvg9Fr3+Ul0El4zEY1JrohJr6Q8=", + "zrDWv1Bu/SPvCEfkFuBS7Wc3biy6P17uCEIJ6/jDjSw=", + "dF7NOt6eP+ulktFJvbQye58N7tK2z5eOZ+itBFozmDY=", + "nuzrTZhZeYkqiC1eQnNHmDQzlMYJ6a5s8bUqw40HLjQ=", + "DCtwUQtRgoOMJ6UyTgSSf5NxQRJcxG0f8F3giydbSjw=", + "GAT/GrTE1slxXVih0Nfkooug7MuDiOqspFflLv1xHTY=", + "PLEdqP1DFAZ6lrf67mq8p8+Fwjmm9cW4dSfRTQVtdC4=", + "Gi+suxTJK8lxCQcOmLvHGJQb5RpVW9yFeCUoRJrRbmM=", + "bD6Fev+awMJdaIwrYTOZXK1wtWehm2eezAHb+nni8Tc=", + "2uxoj/G8Tv7PzZncsQ7BDYrPNCX8fG7FkxNr6gsZ8ms=", + "0DxL95V1rSo+UuDbJxcRUau+QO+rG9iZRor9iOpF1l8=", + "LIS7sl1vvD+fEY28DvvZEkkSZG0CyJ6R1d3Naac/bFc=", + "fgTLMARJhmqZP8uMuVcyfrWa6L1NPiqnZZoBQhLrWHM=", + "rOy67DYQ/ygUByLns1T73du2675QGE/2d5OVMXCWORk=", + "Jq+ecscCfr+nJIIzCdu9FScBD9u2/afodxOX0WoOElE=", + "eChOwG6Yps5GR8aIOSGAQc0gvlmQvJ55UTsPBjUF1H8=", + "Gv730RS9Hr4sdo8Ix/z7sFdPzXvJSeLpBt1mnPlnxXk=", + "zI8YzUOta0jEG5hOF2MXFYgeQqVHb7XN1qaMWBL70l0=", + "aOwJdM+4BhmrChFdVPpb8qLU8zJVuPAB6XlCKyV/DXo=", + "ELurTesDeZVu/ETVJYkFyZsOj+67VXIK02w7LZwuLSU=", + "3JGkikzS0Plwjzjwell6giI+IcBr4WwE5YypKnJDbAw=", + "HEcuEgg1gcoA4U+DAokoBO3i2+Np/pY+I1R8X+jPciI=", + "ZHjdwiACwL3dYiXVMHi4w8t9L6o2zG8EY/rGJhnSQlA=", + "Hu7zscqnTlu59E6uX6vKah7rQ17GuMxbNNahovdLpU4=", + "rKJvd9oM701/lvBF4HDMqtwMHiRNwx2rVQr+TsVasDg=", + "Tj3fPRUYVAUfDlyMnNPKuJ1NOpanjxGjJn09q8duLG8=", + "LDiHFnXQR69Qi7EYIOGJFPjqKqcj10WLx+P2TXYRpSM=", + "QL3FmNpT4dZ2CV0dxungRFnHMwbzcIaSdJaNH3zlvzA=" ], "batchProof": "Z6+3SJ3DtDskOZ6pXdzmIiHB28qdTXsdyYorvv3fdwJc0JAmdvQ24HOqHp1JQ0+VUhT99zc0KgX2oaR52OJiDA==", "publicKey": "mMMWZrWPlO5b9IB8vF5kUJW4f7ULH1wuEop3NOYqNW0=" diff --git a/test/data/rewards-data/migration/publisher_info_db_v13 b/test/data/rewards-data/migration/publisher_info_db_v13 index 9665f4254731..a0a50e5a5eaf 100644 Binary files a/test/data/rewards-data/migration/publisher_info_db_v13 and b/test/data/rewards-data/migration/publisher_info_db_v13 differ diff --git a/test/data/rewards-data/migration/publisher_info_db_v25 b/test/data/rewards-data/migration/publisher_info_db_v25 new file mode 100644 index 000000000000..d8d2c21914f3 Binary files /dev/null and b/test/data/rewards-data/migration/publisher_info_db_v25 differ diff --git a/test/data/rewards-data/migration/publisher_info_schema_current.txt b/test/data/rewards-data/migration/publisher_info_schema_current.txt index 12be681353d9..4301e07e0f7f 100644 --- a/test/data/rewards-data/migration/publisher_info_schema_current.txt +++ b/test/data/rewards-data/migration/publisher_info_schema_current.txt @@ -38,6 +38,7 @@ index|sqlite_autoindex_server_publisher_links_1|server_publisher_links| index|sqlite_autoindex_sku_order_1|sku_order| index|sqlite_autoindex_sku_order_items_1|sku_order_items| index|sqlite_autoindex_sku_transaction_1|sku_transaction| +index|sqlite_autoindex_unblinded_tokens_1|unblinded_tokens| index|unblinded_tokens_creds_id_index|unblinded_tokens|CREATE INDEX unblinded_tokens_creds_id_index ON unblinded_tokens (creds_id) index|unblinded_tokens_redeem_id_index|unblinded_tokens|CREATE INDEX unblinded_tokens_redeem_id_index ON unblinded_tokens (redeem_id) table|activity_info|activity_info|CREATE TABLE activity_info (publisher_id LONGVARCHAR NOT NULL,duration INTEGER DEFAULT 0 NOT NULL,visits INTEGER DEFAULT 0 NOT NULL,score DOUBLE DEFAULT 0 NOT NULL,percent INTEGER DEFAULT 0 NOT NULL,weight DOUBLE DEFAULT 0 NOT NULL,reconcile_stamp INTEGER DEFAULT 0 NOT NULL,CONSTRAINT activity_unique UNIQUE (publisher_id, reconcile_stamp)) @@ -62,4 +63,4 @@ table|sku_order|sku_order|CREATE TABLE sku_order (order_id TEXT NOT NULL,total_a table|sku_order_items|sku_order_items|CREATE TABLE sku_order_items (order_item_id TEXT NOT NULL,order_id TEXT NOT NULL,sku TEXT,quantity INTEGER,price DOUBLE,name TEXT,description TEXT,type INTEGER,expires_at TIMESTAMP,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,CONSTRAINT sku_order_items_unique UNIQUE (order_item_id, order_id)) table|sku_transaction|sku_transaction|CREATE TABLE sku_transaction (transaction_id TEXT NOT NULL,order_id TEXT NOT NULL,external_transaction_id TEXT NOT NULL,type INTEGER NOT NULL,amount DOUBLE NOT NULL,status INTEGER NOT NULL,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (transaction_id)) table|sqlite_sequence|sqlite_sequence|CREATE TABLE sqlite_sequence(name,seq) -table|unblinded_tokens|unblinded_tokens|CREATE TABLE unblinded_tokens (token_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,token_value TEXT,public_key TEXT,value DOUBLE NOT NULL DEFAULT 0,creds_id TEXT,expires_at TIMESTAMP NOT NULL DEFAULT 0,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP, redeemed_at TIMESTAMP NOT NULL DEFAULT 0, redeem_id TEXT, redeem_type INTEGER NOT NULL DEFAULT 0) +table|unblinded_tokens|unblinded_tokens|CREATE TABLE unblinded_tokens (token_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL,token_value TEXT,public_key TEXT,value DOUBLE NOT NULL DEFAULT 0,creds_id TEXT,expires_at TIMESTAMP NOT NULL DEFAULT 0,created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP,redeemed_at TIMESTAMP NOT NULL DEFAULT 0,redeem_id TEXT,redeem_type INTEGER NOT NULL DEFAULT 0,CONSTRAINT unblinded_tokens_unique UNIQUE (token_value, public_key)) diff --git a/vendor/bat-native-ledger/include/bat/ledger/public/interfaces/ledger.mojom b/vendor/bat-native-ledger/include/bat/ledger/public/interfaces/ledger.mojom index 00f2aec14ff2..e7c454081d9e 100644 --- a/vendor/bat-native-ledger/include/bat/ledger/public/interfaces/ledger.mojom +++ b/vendor/bat-native-ledger/include/bat/ledger/public/interfaces/ledger.mojom @@ -393,6 +393,9 @@ struct UnblindedToken { double value; string creds_id; uint64 expires_at; + uint64 redeemed_at; + string redeem_id; + RewardsType redeem_type; }; enum Platform { diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc index 7573b8ed4b76..1ad33eae3d0e 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.cc @@ -106,6 +106,36 @@ bool DatabaseUnblindedToken::CreateTableV18( return true; } +bool DatabaseUnblindedToken::CreateTableV26( + ledger::DBTransaction* transaction) { + DCHECK(transaction); + + const std::string query = base::StringPrintf( + "CREATE TABLE %s (" + "token_id INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL," + "token_value TEXT," + "public_key TEXT," + "value DOUBLE NOT NULL DEFAULT 0," + "creds_id TEXT," + "expires_at TIMESTAMP NOT NULL DEFAULT 0," + "created_at TIMESTAMP NOT NULL DEFAULT CURRENT_TIMESTAMP," + "redeemed_at TIMESTAMP NOT NULL DEFAULT 0," + "redeem_id TEXT," + "redeem_type INTEGER NOT NULL DEFAULT 0," + "CONSTRAINT %s_unique " + " UNIQUE (token_value, public_key)" + ")", + kTableName, + kTableName); + + auto command = ledger::DBCommand::New(); + command->type = ledger::DBCommand::Type::EXECUTE; + command->command = query; + transaction->commands.push_back(std::move(command)); + + return true; +} + bool DatabaseUnblindedToken::CreateIndexV10( ledger::DBTransaction* transaction) { DCHECK(transaction); @@ -140,6 +170,19 @@ bool DatabaseUnblindedToken::CreateIndexV20( return this->InsertIndex(transaction, kTableName, "redeem_id"); } +bool DatabaseUnblindedToken::CreateIndexV26( + ledger::DBTransaction* transaction) { + DCHECK(transaction); + + bool success = this->InsertIndex(transaction, kTableName, "creds_id"); + + if (!success) { + return false; + } + + return this->InsertIndex(transaction, kTableName, "redeem_id"); +} + bool DatabaseUnblindedToken::Migrate( ledger::DBTransaction* transaction, const int target) { @@ -161,6 +204,9 @@ bool DatabaseUnblindedToken::Migrate( case 20: { return MigrateToV20(transaction); } + case 26: { + return MigrateToV26(transaction); + } default: { return true; } @@ -370,6 +416,56 @@ bool DatabaseUnblindedToken::MigrateToV20(ledger::DBTransaction* transaction) { return true; } +bool DatabaseUnblindedToken::MigrateToV26(ledger::DBTransaction* transaction) { + DCHECK(transaction); + const std::string temp_table_name = base::StringPrintf( + "%s_temp", + kTableName); + if (!RenameDBTable(transaction, kTableName, temp_table_name)) { + BLOG(0, "Table couldn't be renamed"); + return false; + } + + std::string query = + "DROP INDEX IF EXISTS unblinded_tokens_creds_id_index; " + "DROP INDEX IF EXISTS unblinded_tokens_redeem_id_index;"; + auto command = ledger::DBCommand::New(); + command->type = ledger::DBCommand::Type::EXECUTE; + command->command = query; + transaction->commands.push_back(std::move(command)); + + if (!CreateTableV26(transaction)) { + BLOG(0, "Table couldn't be created"); + return false; + } + + if (!CreateIndexV26(transaction)) { + BLOG(0, "Index couldn't be created"); + return false; + } + + query = base::StringPrintf( + "INSERT OR IGNORE INTO %s " + "(token_id, token_value, public_key, value, creds_id, expires_at, " + "created_at, redeemed_at, redeem_id, redeem_type) " + "SELECT token_id, token_value, public_key, value, creds_id, expires_at, " + "created_at, redeemed_at, redeem_id, redeem_type " + "FROM %s", + kTableName, + temp_table_name.c_str()); + command = ledger::DBCommand::New(); + command->type = ledger::DBCommand::Type::EXECUTE; + command->command = query; + transaction->commands.push_back(std::move(command)); + + if (!DropTable(transaction, temp_table_name)) { + BLOG(0, "Table couldn't be dropped"); + return false; + } + + return true; +} + void DatabaseUnblindedToken::InsertOrUpdateList( ledger::UnblindedTokenList list, ledger::ResultCallback callback) { diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h index 883f2ccd8dd1..e3b9f3f20da2 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_unblinded_token.h @@ -45,6 +45,8 @@ class DatabaseUnblindedToken: public DatabaseTable { bool CreateTableV18(ledger::DBTransaction* transaction); + bool CreateTableV26(ledger::DBTransaction* transaction); + bool CreateIndexV10(ledger::DBTransaction* transaction); bool CreateIndexV15(ledger::DBTransaction* transaction); @@ -53,6 +55,8 @@ class DatabaseUnblindedToken: public DatabaseTable { bool CreateIndexV20(ledger::DBTransaction* transaction); + bool CreateIndexV26(ledger::DBTransaction* transaction); + bool MigrateToV10(ledger::DBTransaction* transaction); bool MigrateToV14(ledger::DBTransaction* transaction); @@ -63,6 +67,8 @@ class DatabaseUnblindedToken: public DatabaseTable { bool MigrateToV20(ledger::DBTransaction* transaction); + bool MigrateToV26(ledger::DBTransaction* transaction); + void OnGetRecords( ledger::DBCommandResponsePtr response, ledger::GetUnblindedTokenListCallback callback); diff --git a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_util.cc b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_util.cc index 02cb470723a5..3878a903b8da 100644 --- a/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_util.cc +++ b/vendor/bat-native-ledger/src/bat/ledger/internal/database/database_util.cc @@ -11,7 +11,7 @@ namespace { -const int kCurrentVersionNumber = 25; +const int kCurrentVersionNumber = 26; const int kCompatibleVersionNumber = 1; } // namespace