#include using namespace std; #include "libbolt.h" //#include "ChannelToken.h" //#include "PublicKey.h" //#include "PublicParams.h" //#include "Wallet.h" //#include "ChannelClosure.h" int main() { // Test independent verification of customer close message string channel_token = "{\"pk_c\":\"03495dad4e457a510e11b763a6cf0bc7077d0302ddb219990e4ab9093de4afcd72\",\"pk_m\":\"02cd3a749783f14c190f4739462c79069e93c1a813cf9debbd63285cfbcf1182b7\",\"cl_pk_m\":{\"X\":\"b10567ef46321800829e1b2544798ba6deb6e5c45aa9b75704772452742b7ff8fd98b8dad9c14006322d51108a31cd1218d7d58303a368022e521636332df67ee5b3b6c72136683dd814b7850e71889596dd501ed4f4968c24778189c51cb288\",\"Y\":[\"8d72dce6a8b95fd5b989cc3a273d049189208f487a28fe41e8d3728fd99463891baecd873a8e5e29847e885b460d2f681081dbea0187619450951c31d941f89819ba7802fa847c00125e10985d39a1cdd0b519e85bf1a27f35c5705eb5a08963\",\"b6091734ff6fdae0f8ba058c2b0d60549aa8f6142c7bcdcea34d6691d644ce18b88812355e7a1c7e19b3602e1116e28501aa6d27dd625373eaa663b059338dc7b19a4ea554ca58e2a55ee7e8a9f7337e72e7978f1bf442698f83b616a42b5f71\",\"8ff47a570bf9e3436fb7ea181c7e4f48c3ccaa648349301dea9c30c1e33d59536d37caa16efaff00c3583d9a429418e717f4b5206021f0d76db60e2e5479d76a4d3b45a6236f8fd9b377eba49b96388e82ed14d1affceaa6c7fc0de893bcfe2c\",\"a26171b19b8909e76c1c08663b5eb56d9058fad182e45f2a7f076471c535ae27192c1b0f7e4ba6e281cf414e142d56da15066285fe08d8face07c9802ed09765c9293642ff260a994a7da6efe3790894c0406347d0ab4304607157af7db10ee5\",\"b628e9a220c990155052ce487c3702741292ddbe2d5d14321f5c93de21197aa71b8a81f1e69c50aa73d62682091a137a12042911699d31398bfe73154cf765716c0eb0513456760353f7ed134f213a96bbab8f426452d6314e96372175218b35\"]},\"mpk\":{\"g1\":\"ac39f25d7696c1bb353f7e900542a5f43956c9f0a1d0457a6b49c67327bf05f8451ad387d7d35688f3f2acf076d3feaf\",\"g2\":\"88f59db955b6300db9ad92c66401b7c8702c7519e6e6ef4648b1423798a7edc7d08a2f99c33aa8316e569d34554b76f80cc188e48bb097f9dbc4f08bd64d4a034d0c121f26fbff7b07d46e7cc8d02c9a4cd66158b9159b03e66cc9a69e4366d2\"},\"comParams\":{\"pub_bases\":[\"ac39f25d7696c1bb353f7e900542a5f43956c9f0a1d0457a6b49c67327bf05f8451ad387d7d35688f3f2acf076d3feaf\",\"b553573d6635ce89d5e31b1111b609795ab0f2e0319e0ecef683d48dbd0be05490817d9794e04da1c1b5d13afc374640\",\"8947de6549cd362d623207bb4ff0d619fa6f545f304cc3dbd0d93e26097cd9041e2f775ea0a7c4639b628b117b6e0237\",\"ae2522426706bb6bfe9d9e309772dfa0cc579220034d891eb54aa271fe53bb6885ec797d6e85fb0eb2bef9bf3c1341f5\",\"aead29acb2bd56b576471e1a3d9b9efa176b7cd50f296ad0d955f0865f50f98719b94c36264415df7079f64df73db7ff\",\"a86b8707474607dd0fe98b88afc86a74614a37cd0dc134988bbb311d37ce11f8f8e0b0865a4bf34c86fbbd2de8d4c8a5\"]}}"; string wpk = "\"030546296c540270242bbedf2bc33cf81192eb34476e2b4a50628b47ae0a49b7c8\""; string cust_close = "{\"pkc\": [11112480445289327290, 9528849229355488622, 9953104196257979404, 2246935562847964698], \"wpk\": [4702510609848536600, 5816347499760806185, 8088553412674051630, 4443768976355663367], \"bc\": 85, \"bm\": 25, \"close\": [13608077342737179488, 9587669233036057730, 7059978277971697719, 7773536913132903437]}"; string close_token = "{\"h\": \"a471351ba5900f99c70a6a4b111cde71df7da79904b7056ee2290d6acf4f9ca449ca85ed4fa987e83f1698c5ec8fea2e\", \"H\": \"82be401e9986c2ad79de5cccdb61506876150bc2cb66c3be5ec74c37d41980bb00fd7cef39afe8e656a65953e2615c5f\"}"; int rc0 = wtp_verify_cust_close_message(channel_token.c_str(), wpk.c_str(), cust_close.c_str(), close_token.c_str()); cout << "wpk => " << wpk << endl; cout << "cust close token => " << close_token << endl; cout << "Valid WTP cust close message: " << rc0 << endl; //int rc1 = wtp_verify_merch_close_message(); return 0; }