test-case-1.md (37323B)
1 ~~~ pseudocode 2 exchange.master_pub = 3cb5e9823db2b335fdb3f284ae960e56be8b081c6819b8 3 b0217f38b095b4313b 4 exchange.priv = 1bf4149fa644b3c7f2bf02da4703ff2de3fa160dce0c75 5 0eabfa0f7ac70a2442 6 exchange.pub = 4c130aae3246831808a162e2d4330de394e5f0d7dff75a 7 80f3fa045b1a43eabb 8 exchange.url = https://exchange.taler.example.org/ 9 denom₀.pub.n = ba42b9e75e48847bab175ed4797384d68a430fd849a914 10 aa68438349743b2728d9ca97709c15d5c81c7d9d11c84e 11 c9c60cec03aed4b36ad153768eb30cf9845474e97ee9d7 12 475ebc926d87135d56926b7df1cea3ec38897a74bc3e24 13 5e59ffa76e5aff2c2f2eb84e7133a879f4229221f91c7b 14 ddf96088e4020e16444d94acc30708069f4a1bde3dcbea 15 d32e3916a9f6722adb3d63bb9075dde49258fbd28a9a09 16 251fa08b64faee53a506b9f637136c72af7382b9243fa8 17 996ad4d72cc1b05cfb45271cb3187b4eeec0b5f9e847cd 18 cc0c3ddef9787164a1aee7e4e1ee6de1b95282c1ff646a 19 a70aabd1df0003f75d3585e9e740916cee4f7bca0cd82f 20 72104d 21 denom₀.pub.e = 010001 22 denom₀.priv.d = 07bc432fbc6eeb0f9ec2a4f5d2886d65228f57ee5ddac7 23 88af355493bd9fc247d449b161e41d95080f44d93bd693 24 8d162c4db5f6720f7479768ba73000f330df780e856e8d 25 3a01d1778c546e85b3157820de24bc9290238782271a36 26 94f38c6645f3420331ff70f8930377f4fea25beaccc775 27 ce796f9ca7c97d0fc82ce7a6880dd437e6b30695ca51a5 28 8f0239aef7481932550ce61b5b085313cb888c893cc1bb 29 ef6b47c607e1189f8cccb04eeb9f87b9e53f414850f8b9 30 23ce83e2859c0434a3d14d861e864fd5ce701af1161139 31 8a73515b7056b2828e564cdec6052bdbb43ff435178577 32 198de0676e5d378ade9b31844e81e2218ba3b3aec5bff9 33 a26621 34 denom₀.hash = 8653090e3f3f5efac9770a5dd0c97813940c191c9fa171 35 3367f8bb1279b1e3d27f32d16ea7699501e5fc4d176725 36 d76ab0307f9bdf9d0d263c2256a7f1c63143 37 denom₀.value = KUDOS:5.12 38 denom₀.fee_withdraw = KUDOS:0.01 39 denom₀.fee_deposit = KUDOS:0.01 40 denom₀.fee_refresh = KUDOS:0.01 41 denom₀.fee_refund = KUDOS:0.01 42 denom₁.pub.n = d5455fb79449df7bf548e384d5201d75f4f7697ef9b805 43 1eb8536f66783e70ca2d524fefa6840c1f87d9d8814868 44 15d5ace866a32269b05bdba7ff6024811c19456026b0a5 45 9da4db96f58729d286c90be8cd9cbf575d346202b43282 46 d601b5751ff77a88a0742a692349a0e3fa8ed5518fc537 47 8fcf434929b541c942573abef310b87776e976e81cf650 48 a04399fabddbde677163918250c4d45f5e90ee7539de50 49 0a8e915be1d5f17d79cb9585ccdf5dba42ef53c24eae7d 50 7c93c4e0a432788245b7c76a587f0ac6889d3038953136 51 2d51c2ad65cb1e28b4ad4cc97fcd2a4aedd6612ae8888e 52 b2dbc4de0cf30f46a43b76cc8c3245eefe013195a237f0 53 2d13b5 54 denom₁.pub.e = 010001 55 denom₁.priv.d = 5a520e0e663bbeecf55d5015d258ce8145247ec62aa5d7 56 6d422cfbb1cedccad1a4ce06527d17d1368d47221ce678 57 463eff02516d6746914ce5c2c9318364366d31675e1b53 58 9866d8249f89059a4640e0cd503ec0fe13d7fa6620c07f 59 8e789ccba4a51f7cbb4f5722bdb211f45b09a0a7f11659 60 c88ac37939b3accfba4bccf24ea260e21aaec0dfbf8571 61 78438986e963e9e356277c3badc34fc91b705d9956b4be 62 dc0947d65924d7dd31e564de798eb06837380caed6813d 63 3761d119901c5540eb74c3cb674fdfd64b67d78ebd40de 64 0cafd53c038a0a8e87890b953b8b94a9771a6efb3142ca 65 02db873053f8d1de2082db4366fc072aafc723c036a2fb 66 999605 67 denom₁.hash = 1de6052bce12feaa2d26e3bba1789b0c2295028279f3ea 68 ff8e1345448ba05390cff49656ed72a1f7ef6ee2c4a80f 69 80eefa0d0f906e74305b0215c4194ab1c7b8 70 denom₁.value = KUDOS:2.56 71 denom₁.fee_withdraw = KUDOS:0.01 72 denom₁.fee_deposit = KUDOS:0.01 73 denom₁.fee_refresh = KUDOS:0.01 74 denom₁.fee_refund = KUDOS:0.01 75 denom₂.pub.n = d1320993658042f995f09ed66ad2283e457a1f44cad96f 76 1cf5a6299ac93d61724a7448d70e56a38666ec66352a58 77 10ca3e544d957dedb5789e135589fcb8b139c65a2f70d7 78 c421dfd4e27cf38d463074d286730be23d446fc0781151 79 9b068346b28b86b94acff35524eb62436852714c92f03b 80 0bac21bb6bf727734be7871b702f928c3ced4bad9ba2d4 81 9cec6a86d1019181c65c16abf7b391f103c90c3eaaaa9d 82 5298a4a60c71bdaf0f08246327a62399bf4c424c1ed771 83 8cb5df178daa9710ec9d098e99ed0456de2fbaf7865ba4 84 7931c52d1cac78cacc1bc451782587487a6189addfe5dc 85 df6f190f28816707e3d1e104b5a1f7a570b75c1951588f 86 3289ef 87 denom₂.pub.e = 010001 88 denom₂.priv.d = 311849a8066faa083218b4e6444e8af44650e94ab7427d 89 31b232eb5bb0b3cf8d478cefd54cbfa783f0deb503f02a 90 97d226fb98f3a708a508a82c886c285bddf7dda5a7b197 91 69a7bb84961cd5f9c749b2f8ff65bb99be6033cbdb41d1 92 418d2f3ce5c519fa9d649d4a53ae4c32dea64e81b6905b 93 831b44155cbab5cef8b6defde09295662cdf2189f2763e 94 de05bea0acb707b9b6b087dcebb9ca81f1c2785d6560f9 95 3bf1a1860676cccceb079c22b48b9fdef68e1d286164f1 96 32ffddeab29fa7a704e1bc3f9f5e28c39675f17136aed8 97 542aa4470a14a7380a4016b21d43ef5b9e2b241ced017c 98 54247c12fd6beccb7bd356820b0246553c751b3e071468 99 c2efdd 100 denom₂.hash = 4f8c487d21ffb5bb7571f5d66bcf6f93f4f5c043df5483 101 669383128700064e8637afecd6029cb36dfc5a60d20ff3 102 112ff1b5ad1b53c78cf39ad13cd2531ba24e 103 denom₂.value = KUDOS:0.16 104 denom₂.fee_withdraw = KUDOS:0.01 105 denom₂.fee_deposit = KUDOS:0.01 106 denom₂.fee_refresh = KUDOS:0.01 107 denom₂.fee_refund = KUDOS:0.01 108 denom₃.pub.n = bddb1806b7b7663d94bedbeccbb515987fcae457b5920d 109 85b8485edac6ab0e73e6991780e9f1fa6f88e500e0ccd9 110 eeb80d8e3b66289a7cf1b25bd56d05081d583864ad225a 111 36f8d38391782a85bfe320d439443e8ea19f555edb36fc 112 b58af81ca5168ca7c42dda68f191bd1587b4da27703384 113 f2aad300a043549c67fc6defd98bd1074b3bab1bc0d89b 114 87d81f8a1f555a3b4ce2b4ca7b0b1d8f446fa93258db51 115 1cc3bc2ff62871cb4c746f6806d0b839db8cc560da06eb 116 5619d9d42309a77161373708db18e453ff0a1d6f63281c 117 54ffacada7c8bf5ca7281ffe7e2e5be03fc006c064d820 118 f719e672429628837399a565dd9d70f6e9ed91e1eb0567 119 978015 120 denom₃.pub.e = 010001 121 denom₃.priv.d = 1e3370867d0a0d1705b18e0d848d73f7d422f920e4aec2 122 3cea7184b9463a26c1e9704d4cacaa5952b8683eb403e7 123 8a5c628cfa1b9da0e44d9462f1b7f66c1c883b419f484e 124 d3de257e113c1828e4e5e3592f1a3bddf78d7f88927ee9 125 9892c3362ca2c226dbd90971d68a54404d069d5f5704b3 126 04e131fb3058959338781a203993804f64def2980210dc 127 3f4e77c1207400e922032952cb154bb1b776d164cce69e 128 418844f2f4b20850c0a23d30059362edadfe00fbfa04b6 129 833fc4606deda441eb345c49b52d91063da7c55ecea7b3 130 2e99a49a823264955803ce3ee220a2cc64cd4321e18ae2 131 8bb1071c7746e8a3d69adef5113e21a01cab6809668793 132 c2a94f 133 denom₃.hash = 96524d30b4398d0d5bbe2eff902c4df1cc8286629d149b 134 ee0530edcfb361c468ea5fdb1b41d538223c8b3fe1a974 135 951bb3290bbfffc6f10cbf0326585041ca4d 136 denom₃.value = KUDOS:0.08 137 denom₃.fee_withdraw = KUDOS:0.01 138 denom₃.fee_deposit = KUDOS:0.01 139 denom₃.fee_refresh = KUDOS:0.01 140 denom₃.fee_refund = KUDOS:0.01 141 merchant.priv = 7607240acc4563ebe2e38e76eaf61d74160d71c9a6670a 142 e2e5147ce848767037 143 merchant.pub = f54d646619723f7fa2ce79267953fdd8654cfcd0f2cfc0 144 c5e880e3e0d0ab19f0 145 merchant.url = https://merchant.taler.example.org/ 146 merchant.payto = payto://x-taler-bank/bank.taler.example.org/merchant 147 ~~~ 148 149 ### Withdrawal {#tc1-withdraw} 150 ~~~ pseudocode 151 (W1) reserve key generation (wallet) 152 153 reserve.priv = d9641dab5c7f2474573871c25cae2f6c8924ace4157a56 154 d128b1432e55a6c6ba 155 reserve.pub = ec8ad5e4c6abcf4d0d597f0066a0e3ea0370d221973e06 156 e73f4287148cb93c38 157 ~~~ 158 ~~~ pseudocode 159 (W2) coin generation and blinding (wallet) 160 161 batch_seed = 466431296486ed9cd71fc207254820a2c4a85aeb0b2041 162 494f8bf1f8cd30f113 163 coin_seed₀ = 88899daa409b8c4c4a91c8e39030d247d00b292eff952e 164 36067fbe33f2d7ce48 165 coin_seed₁ = f5be0b8790719072c7043c257f2c114cd8cb45ea5d98c4 166 aa25d9025f45f1caeb 167 blind_secret₀ = a3cbe2b0babf5bdfb98f45804acf63225c16e09be1677f 168 705393df3f5de98ebf 169 blind_secret₁ = 8ea6335ed3ff8a41f9fae95e9fd87382be402d6c26ef97 170 2381dee6b3c1e9d775 171 coin₀.priv = a5a38bb23a9f36564f9d4e566cdd7e3521b04f8ea4175d 172 a726ac4e3ac540b485 173 coin₁.priv = ae98c5207fe31e20a7b7a8677b780c6735ce69df32d308 174 5d504010f23c59064a 175 coin₀.pub = afbdf99f1a794add25bad59c9a3f442714e166adc99c57 176 db991947669a36b185 177 coin₁.pub = aa7118596b1adf89543e9afcf2925e516a782eed9d75c8 178 abc4a470e7efdd7fe4 179 planchet₀ = 64ede0cf40a952b95af4b09b22c6fd27a1ff6d0ae3920e 180 a03fe14a8b547f1e14a2eea98443e7aa092075f6585103 181 fb06c1d68fb4616bf33ae30a207e51840f1ae655a73418 182 4a73d804df42650ce296954c9b61e249486468f7fda8a7 183 4f85ec6ccdb34a66819fbeaf846b10087ffaf8e734428a 184 907b96c6a112f8f943b3a8d55455c01b0daf55456acf07 185 15874ff90fba45b265e2021a70997100fb18bfbef822c8 186 475820b4855f141730751bcfad2e7eb46dd6c6a400a8a6 187 a98486c4a2bce4d3407a0d0ba612faebb49428ba3a1986 188 eddadb04b6790fbb7bd27cc0bd98341c60ec5b98027520 189 2aedd4b0cf3b7ee1732c67c84db4b30b60b551cbf84922 190 2c60e1 191 planchet₁ = 41f8a6622c99b6a9c30d52d19fc2c20a39a481219de4b0 192 f3e7f604efed5d962554ea13255785d10a037e14abd75d 193 80a0aa9861df9d80a051c418ff197e68bd0eee61e6fd5d 194 3214633734659e8bbd7dd2fe566bd41c537a5759bad9bb 195 ca6b2eb7e3217e7d3cbefff192d83bd0527dbe0eff56df 196 0b2e2062670d2873ca7766a7c1255e6fcf2c37e95de19f 197 cad244f3986bab45c0a3aca726fc682455ea1166a23891 198 52d7a67d181f035de6bdb97633888f0594c2f63dd39651 199 34372507faf84f753759abd662d4c7e8df7e01149ff44d 200 a3499ed49406d9398e86c4abf12a1f57f38002115ef728 201 3e4d5422b41c752a0cce8c2c1a9b84e109b4554fc1150e 202 f578b9 203 h_planchet₀ = 888da42dbf4897a5d6d9420b827e340c74c0b0e973e140 204 ad1c7b9abfc400a9ec5a86b3185e4c656dbe8e01125604 205 616de83fa28910fae513d016f56c3ca94eb4 206 h_planchet₁ = f20015bbe0147313e59f9e64ee9e836c192b5d504dbd33 207 28fcfce41fbe9310d6aa96d91fdd77599c122cc5390ad7 208 cb86d2c6d4261bd5950e7ec0f86959613841 209 sig = 2ae0027dd4a196c4741d60e3e7ff933d7374fa5534d15f 210 1cc2e96e9ab3392894c65ab6a0af31ccdb395db5c52677 211 0077642502e27d4619d385a91dd13854e706 212 ~~~ 213 ~~~ pseudocode 214 (E1) coin issuance and signing (exchange) 215 216 total = KUDOS:7.7 217 blind_sig₀ = 139af4e7e7f6e9e0391e22f78cb0b2c334e6d6667633a1 218 92f56fde38ac9feec7841be59b2aa993084c50f70dfd96 219 73dc723eec9d84c28ebd5f8104d1b0b29cf118cd64cbe3 220 3925524a3363a1a6f24f59d47a404cf74680eee97cdeb8 221 cc44a0b84f3db4496d9bed1224c0fbda64d40f84ef5447 222 d764fb714ca8e72a23a882e749e47a519310f6d87b3e8d 223 dc3e4ac4e541cdbfe7550c92f41c511b544d9fbdc2a729 224 6b958e9df0b1394210aef4f1a780a129883d4bcb45425e 225 ef96204a7eaa9daa7d21827ecbf4571cefe6dbe65314e6 226 1c688175c1e81e01d4f0377c9c2312b6cc3487f2dd2cf8 227 d85efde346f4d1a12de70bec4038b0bea0c505087c0e67 228 ce4694 229 blind_sig₁ = 89649cf83e2ba2cd75c7a1d01809c33d5d02fec8164925 230 6215f13a8965ad37d8d47c264668ec187e46d75210ce60 231 1362fbb15f61a24ec1d337dd2589b5a4ee0e77a8d9734a 232 ca6a149b9f9b3a78c158b1f8cb243b8cbe9c2212290e8b 233 c731d02382463f3e1cf0fc86c5472b8c96c5eaeac9c906 234 4fdf7411f97935f27fd0bf88200440c7cc3e6960c5c515 235 6aedb5a820077be08f1ac4b00780258d7b843b21d7baf2 236 d969d1b3c77a08b4fe14b216fe78c7e4c0ae964fc06bf3 237 dfe7ff20ec85fa4d5e5aec24d89848645ffadb0de3da80 238 c6e41b96571ef28e3d132b7c3fd16a289e32389cffb653 239 b4744fabf882342f0db9aef110351d8ffd7a3b86701f0f 240 5034c8 241 ~~~ 242 ~~~ pseudocode 243 (W3) coin unblinding (wallet) 244 245 coin₀.sig = 9303650b8896b6619ca061f4bf44c1b02fb60784a2659d 246 e7512b599e7e6524ad5a283c81d289d3ec75fc81e7f336 247 bd41dd67a41b72a98d9171f0461c188535b555019079a1 248 8b4491903797f62a034e5f277ce8f7f3f56fbe47e44113 249 561fd414c841c2da97da1ae92df0e2cfbe3c26ad37f8ba 250 b9bd71365ac536204cda7c21dc39891b5cbb4e213f75d4 251 e09c248a7a59f6322fd011619b29ec25ad621dfa2d6fae 252 9f8b91935caf54d0d30f4a03bf6beed6637a4054efbad7 253 a41f9da434f07cfd2f7619e8a3c82b30e079ff9fe13fc0 254 23fba7d627f4fb21e14467ce1db27767831eb1c3ad5c39 255 f61437a0a70c300fd84cd9280474bb507768a868ea92fa 256 905428 257 coin₁.sig = 355aa5b6bf10591375f22a014640cd242f470834759fab 258 4421b4d237a149bc3e5fbc8f073e1348da770983cd36df 259 9cf72a30bfe55776744b2d787acb06ba25ccdef36e5269 260 771fe4a38a1109e8b96437a3cc625003f7fdf4d0cc8793 261 35584c5b13f2b29be1ea4d8a2da7826d608179d98b5edb 262 11261e2048fbbba217a52ae862d1e78e30c0787ee40908 263 f1bca708c434d5412a262eca6bcd0ac5890bfbbe7df6d6 264 9a5544d0054716dfda47791546c177223606c0645858a1 265 5b36887619a9d70a515f42897758bbe181765d7184cc92 266 b5e2d743df1db9b30394b697117ad24811812febe0a3c5 267 7cbb5cf7f6857378f57cd1149f745ed95fd1d342e9860f 268 516469 269 ~~~ 270 271 ### Payment and Deposit {#tc1-payment} 272 ~~~ pseudocode 273 (M1) order generation (merchant) 274 275 wire_salt = 4c5249caea865380e0e519fc38177686 276 order.id = ORDER-40 277 order.price = KUDOS:7.42 278 ~~~ 279 ~~~ pseudocode 280 (W1) nonce generation (wallet) 281 282 nonce.pub = 6729d69abd7d8218e02c953317b46bba2522efc2c19a7d 283 a63194e9ef40fcbd0d 284 ~~~ 285 ~~~ pseudocode 286 (M2) contract generation (merchant) 287 288 h_wire = ec4e7258747a4de49628a27907b74f0aad097cfafaa595 289 320f81786375430b67ae1ada754299bbc0472f5a1e8bae 290 6fe8e5dc52683dd09490ff06fb2fa4f20ec2 291 timestamp = Sat Feb 14 13:37:42 2026 292 pay_deadline = Sat Feb 14 14:07:42 2026 293 refund_deadline = Sun Feb 15 13:37:42 2026 294 wire_deadline = Mon Feb 16 13:37:42 2026 295 contract = { 296 "version": 0, 297 "summary": "Free Software Support", 298 "order_id": "ORDER-40", 299 "products": [], 300 "timestamp": { 301 "t_s": 1771076262 302 }, 303 "refund_deadline": { 304 "t_s": 1771162662 305 }, 306 "pay_deadline": { 307 "t_s": 1771078062 308 }, 309 "wire_transfer_deadline": { 310 "t_s": 1771249062 311 }, 312 "merchant_pub": "YN6P8SGSE8ZQZ8PEF4K7JMZXV1JMSZ6GYB7W1HF8G3HY1M5B37R0", 313 "merchant_base_url": "https://merchant.taler.example.org/", 314 "merchant": { 315 "name": "Taler Merchant" 316 }, 317 "h_wire": "XH774P3MF96Y95H8M9WGFDTF1APGJZ7TZAJSACGFG5W66XA31DKTW6PTEN19KEY08WQNM7MBNSQYHSEWA9M3VM4MJ3ZGDYSFMKS0XGG", 318 "wire_method": "XXXX", 319 "exchanges": [ 320 { 321 "url": "https://exchange.taler.example.org/", 322 "priority": 1024, 323 "master_pub": "7JTYK0HXPASKBZDKYA2AX5GEATZ8P20WD0CVHC11FWWB15DM64XG" 324 } 325 ], 326 "nonce": "CWMXD6NXFP11HR1CJMSHFD3BQ8JJ5VY2R6D7V9HHJKMYYG7WQM6G", 327 "amount": "KUDOS:7.42", 328 "max_fee": "KUDOS:0.01" 329 } 330 h_contract = cc934a29efa612754edba0453d1b0ba175d6830d3ec2b2 331 839a9a539d845a5da4622498e3819cb49206810688a93d 332 e1989c6542d2cf1d71f64dc998193e76d535 333 sig = c249ee766b4dd256560d48b367d05a41cf7169306247ec 334 56c51c39412b34c11015e365c2b2836761ba020b7175e6 335 0870572a6c7f780eeabb6f0777783064d602 336 ~~~ 337 ~~~ pseudocode 338 (W2) payment preparation (wallet) 339 340 contribution₀ = KUDOS:5.12 341 contribution₁ = KUDOS:2.3 342 sig₀ = 8876dce4ca504df355f17c783e8327ea29b2cbcd7dde60 343 8b473644af3580621d3eb429022f6d1c4937328db478c6 344 ed9784f6788e2e18dc16927efd4bc9c10908 345 sig₁ = 031283a02cb413308cea4b69bd3d1b7beef87be7788fcf 346 c1d7b83f8d97cd4ede218d0f753ba8fc92e22415a66065 347 f5c1dff402368de8e85eca0c0ac7358e3602 348 ~~~ 349 ~~~ pseudocode 350 (M3) deposit preparation (merchant) 351 352 ~~~ 353 ~~~ pseudocode 354 (E1) deposit check (exchange) 355 356 time_exchange = Sat Feb 14 13:37:44 2026 357 sig = 09338dd4b1e692431290355b7df62d627a894718db68cf 358 4a8e083bfed7b6c98a0dde3c5724f3cb3db0e6737f57c9 359 eb35136997eaf403f27f82c0a9f1cf27d308 360 ~~~ 361 ~~~ pseudocode 362 (M2) deposit verification (merchant) 363 364 sig = e66d503c843d72da4b6eb95f872396449de25cbf80b9c2 365 43d8c9ed2bde533d2460542c685bfdbf2eabc755510a60 366 b97ed289711fd3f353cd80aa791e2e2f1e0d 367 ~~~ 368 369 ### Refund {#tc1-refund} 370 ~~~ pseudocode 371 (W1) refund request (wallet) 372 373 ~~~ 374 ~~~ pseudocode 375 (M1) refund processing (merchant) 376 377 id = 14365434601518496594 378 value₀ = KUDOS:2.1 379 sig₀ = a626cc04101e3abe295c217de5636be135be8935dfaf0b 380 3589a8c7de22c3e6c7a581a031c0691476e82ee0e9798c 381 3c8c8be6bc1066bd955acf4d1ce59eb7e10d 382 ~~~ 383 ~~~ pseudocode 384 (E1) refund check and confirmation (exchange) 385 386 sig₀ = be9dd11dec0e2fb2a2dfbc778b2d9bb21c665ecfa4d1b6 387 c9d42747902f071631f84a946881bc787f8627a6871226 388 4b06410b445f37e569edb7dbf77193b5990b 389 ~~~ 390 ~~~ pseudocode 391 (M2) refund confirmation (merchant) 392 393 value = KUDOS:2.1 394 ~~~ 395 396 ### Refresh {#tc1-refresh} 397 ~~~ pseudocode 398 (W1) coin melting (wallet) 399 400 refresh_seed = 466431296486ed9cd71fc207254820a2c4a85aeb0b2041 401 494f8bf1f8cd30f11394223cf8a82995804957876e9fa7 402 1163506b4e5b8c8fa4db1b95d3e8c5c5fb5a 403 for k = 0: 404 batch_seedₖ = 415e62ec89f6397c834087efe396b127c6d5bdfe360145 405 a6abbfc7a88c6504eee6e3f59db026cc5742c4065fd917 406 bbf2b7f52e82e88409263130300279e52617 407 transferₖ₀.priv = 5a08ea181dddd480b2e1e2294e1d886efe45070858adb3 408 26e2d562dc330c8ca4 409 transferₖ₁.priv = dccf4e1880b343687c7f39df603386a27510bd356ae1bc 410 86f45ef9b7a8927613 411 transferₖ₀.pub = ab4a35f7fc78a3d07e5828f0fae0295ebbe93e9ecc63c1 412 09703f15816af8d000 413 transferₖ₁.pub = 09893d5ef58fe696207e93cbd0cceb311265aa89745705 414 9c40f366d59b028a29 415 sharedₖ₀ = a7a9524dfc565b8006470ab90cba091a809f1de14eeda0 416 dc98408f880d5cf587c2aa338ea1e3153ed8c624044f15 417 19f3d8e8d6c731d7af6d0383b136a48a8e7f 418 sharedₖ₁ = dd7051d4c4b03d78f0c5365ea0a2947f48604beee2e792 419 0349d7a4371dbff00d9986202459277250461ab936d5f7 420 45bb6c6c28e8badd7936002f25d9b97a65b2 421 coinₖ₀.priv = c4fe7e3e64453e477e736ebabe2e5a7c4919eb2fa4bf02 422 9e536d56a7eec59c9a 423 coinₖ₁.priv = 409db2ea007fff35506607da6c67e52204097be8a114b7 424 a654f53da392886e48 425 coinₖ₀.pub = 65a93d56a84e8110fc2ae9c6ace89ddd9c625bd632501b 426 663fefd047ee31feed 427 coinₖ₁.pub = 7c61cf322d34ead1de43869690c70e22d9bae8f2354e0d 428 d07e71c5736b506f41 429 blind_secretₖ₀ = 0f53bafa492d5d90dd3ad13ba7b37b3c4a8b167dffc63f 430 7940dcb340275be90b 431 blind_secretₖ₁ = 799169aeddfec48aaab23a88df8d74318870c7b6cb3922 432 5a3c43d4576db61f88 433 planchetₖ₀ = 90997841cb9d3b4bef237213b1ee1da9286e775c1cc10d 434 c78e32f836d7897500a587babeefed3f310a5b509c29d1 435 91804b89d2aee75073f4d49d7ff5f60be991e0ae1a148e 436 134b92c5c9537a59bc30516e0244e714ec2b6067337ffd 437 970fd3987799d2ac7b3e3430068c923974751864ed8f4d 438 087b0cd62e0edb807d9ac4bf70e68c9d774a0f26947413 439 0f4fa5a8f4e0a5ac67ef6c73a1cb486792605f447384ea 440 9deb040f851953db240a5f23401e0d75f93f810132ed9e 441 782ba05b4f78ce7cafc501925ce0bde12e58ef48861969 442 038a95802a1d943b2ce31a3278a1cb4f14cc12ff2ffee1 443 3aba0ee151145a3b7abdd1a00e0684a57a1b2a0fd97348 444 81243b 445 planchetₖ₁ = 0562f874175e223f087e7950f2082e869bca1ded7087be 446 27a98f1f9be30a38f33e9a98ca5efb6f15536df774ce32 447 1efd36909d67869e704db3ff352c76298c0d33014a32ff 448 636c22866b5e5d6dbc5e6c50f630d95112e8916fd23ec4 449 88eb457f55ad3a29d50c3c7387b4ee1045cbe4d37241e9 450 b958d1642b34f4a15a259b344163dbf73bc55e5b99e0d4 451 6ba59b7dca0a1fbe859f6f7d5756d6afff58571fdac617 452 48a81e5e94e784c2d5de60a192d86c0529e35f2efa29d4 453 2e0ce8526db5fd3258a470a43d55c184287fe0c639ff8a 454 eea1ee64a61d6466d15e20c8203a73ce1b2fc7b2949947 455 f9804b0710e41351af67cc30b86108dca7ea0208062ae6 456 0be2e5 457 h_planchetₖ₀ = ba016fdedb6c5033f1f870edd9ab10d0dd116c0e3a8483 458 0ddd44c9aed5a2844aea96146cf7c72153a910ca3d3de1 459 faab7fca5e1c4079e2e0c680410cf68ee27b 460 h_planchetₖ₁ = c4f4451f85f02c950fba164ccc52fd2123576ddad6ab87 461 c25b175a33aed8afff5c5866b2fbcec6ef67a1367f91e5 462 da56041371bc9e8cefd2a93ad386504568a3 463 h_planchetsₖ = 7e420d01a6413fb6cc300257031f37ab2d456583d3189c 464 3e5f7049c1c61f49c7918289b7cd169cebd0bb81ca0a83 465 2f2c4c6c7529e861a88d65c6d3ef5fd540ff 466 for k = 1: 467 batch_seedₖ = 0311a9766673b9df343498afcd6f6926b9bd6352201351 468 5c072a0b5a3af98aeb8158869f3ece08532473980a652d 469 d6479f296a28504b850791f9775e3b0f8436 470 transferₖ₀.priv = 4a3d33228a7c1d6330fb2ec827256aad75f7ea56712072 471 f8ff69238b47e98895 472 transferₖ₁.priv = ad0b2c176a9564ea7aee7c55ddd92af22d777ea4a8605b 473 d486d8ccc31bb1402f 474 transferₖ₀.pub = 1839010739d0450e9a0702167d5106dbcb0a81641e0080 475 716785850e60bc541d 476 transferₖ₁.pub = 16a20ed27a63c204d94ef3d0c2b554343567d319afc70d 477 856cc6a61c3bdaa142 478 sharedₖ₀ = 32751bb2cf2a3106593aac0fb38172943c54a96992b22a 479 7927ce37fcf0b9b4aa4671033c93ece3c70f2033e4c52a 480 953bf46254db7f6d7feb926d78b28bb60901 481 sharedₖ₁ = 2c4118e0d52fe1851410fb70b60cc5b3fa6bbb53df8acc 482 5a379c65d9f89c2ba37ea732e76d081e03d845dd2f3ef8 483 a53b682941d4e598a17823ea06cd28058e8d 484 coinₖ₀.priv = 16977a220b0bfcb2a0ef82faa3afea901d0cf3e6829905 485 85b63d9c855be5d5aa 486 coinₖ₁.priv = 1b5bab529c09f313f2a18e3d2712c1a7e0548f15651b40 487 af12b22c17ca861273 488 coinₖ₀.pub = 4b53ebc94ca1a96ca4795a0ce1254f70ba2fdd72528d57 489 4f4bb47d26fe845239 490 coinₖ₁.pub = 6de1ac4370a5336349ed50cfd4d6298b193504c1325614 491 9cb0fa85c1f9a178c7 492 blind_secretₖ₀ = 30e3a32819cdc5a2e9b28d7953bba0038eaf701ceaf691 493 a6bf44833ae6f305a9 494 blind_secretₖ₁ = 62ac62d9df0b5f71f0b43329baa15c5e79f46b09fe432f 495 cdeb3a9100b31a0fa2 496 planchetₖ₀ = 73cbbfab1a58b12c55b4eecf705c9db8fb953f52bfb4fa 497 9922f39641efb85802659d266f979c819294af91cb395c 498 f93f67a0a6b561e445b0a138f04e6428222ccb5ef92a21 499 1da2218953e8aa108f339bbce666a71640f555570d6fec 500 a446b67be82edfa3f90697d5558d7b7707bb87bf790d35 501 35e429d705367f0ceb3fea30f7666ed428679bed440540 502 3f2a9cf5cf75a43f16fc5b63276e9a18bea0c0864587c0 503 a884d1a474f3a248e36183a067e59496d8968427c55e63 504 ac3f0052fc20fea5b9f01b19ee776e7c1bdfa576be42d2 505 1e7214606bea3277878cb7beb7015a242bd9bfaee620dc 506 ccdfda8f34b7174ed28766000d22dd552cd487fdaf9cd0 507 cc1f5f 508 planchetₖ₁ = 922bf6290e8f5e8746f68cda30cee9d368f3988b93d26d 509 c753e082fe56db8191430ce8ef78f1175d651b491e6cc6 510 7e0cf34253abcf3c3bbae44b4620ca0879171710caac83 511 89704d99d5d49da5de04b44f03d03b30df9d872611d779 512 6c6903fdee77a68a29aabac5c332588aaecf2a5e8cbfe4 513 446d33f423040e7eda99268f2ca558615b541cd912ef30 514 2a9f079705b9d1785839a593d07d8b79756f0077cb5169 515 a3a88f08ee7371419c940f35250d2aa52bcfc6beab73b9 516 72f31d3b5de16e55c590788cb4443dc0de7d2cb6993555 517 0b04b8bcc2c33669f97ed1d36f29c594c6f0f84a72bd73 518 f76c7617e748356f7989a98deca97f360fcf2d087f9bcc 519 d61732 520 h_planchetₖ₀ = 6523f04c8eacea9af24c08905eb009c8e15a6c62adfae2 521 fcee6813bba22ba014c3c831cae6fb63a2a889af0e99ea 522 d40a39b57d42043dd67fe4e446c7691558c3 523 h_planchetₖ₁ = f86bf5d2bf56d182ff70b0ecf635401bce1dab4bd52f40 524 023adef27ca2a4165d19b0de911a6a6e41e5811ea1d9cd 525 9bb17dbf9ee518b1f3bfec644e8a36f7fb2e 526 h_planchetsₖ = f63471c1555835b7032ffa41db189f013d1f26dd5bf1fd 527 c79bf18ea8c3f24ec7f31f0b4c1688d7a6a729c7b2c2ee 528 f42a5ce3524ca23a566d74e708eac487b1dc 529 for k = 2: 530 batch_seedₖ = 35e8f7b41e25d3ca2c8e70d02be85843b53703f199809f 531 98527e316bda6a457a2fab9d327f96242c4e0afbd6214f 532 aee6a5172aca2b49ad37a12590dc3bbc3f58 533 transferₖ₀.priv = 1ca613b8fbe4a341b2fc617687553e778de9b8d40c462a 534 88bc1ac169d2984da7 535 transferₖ₁.priv = bb8196a4a5b9a646c5424664b8505eb8781ded006c74e7 536 cc719e7a2cc730ae88 537 transferₖ₀.pub = e21056df9fdf4cd94a4175f94a48fce623db6f2bc4097d 538 818f839ec421fe974f 539 transferₖ₁.pub = 0409b44ddfed03111d7dab5af1b71d8b2597ee50772a9f 540 272e799133718fd571 541 sharedₖ₀ = 01a355feafd4daafcd6341597b73eee6ca7ad5dfb78758 542 88a373434043d17087ab882cca24e580985068eb1b39b8 543 c0e7f81f03ccca337961cd1d6a528abd3cd1 544 sharedₖ₁ = 39cdc5377c7295d1e997a43fdc2aac0f5005e64211f7f0 545 9da36db035ddad5bc32c2dcc4bd5fe1e0d3e471ae8fcfa 546 9cac0fefa8078570b894164194829e54dabf 547 coinₖ₀.priv = 343d0b591fc0c495d2e7cb68f2cb0c24d9b274e3ae8504 548 1dd94454d2856059f6 549 coinₖ₁.priv = 57c9447a9a34e4b7ed5f4bc71122d76dee9583cb578eb8 550 eff2e837bc9a0591e6 551 coinₖ₀.pub = 3b9fb220f7679b3488f8e2710f41d5e6cfee1b6c23bef3 552 04d9dbfc404341fccd 553 coinₖ₁.pub = 6ee277e7bcd2584c5ee8f46cc24b531515a33388e6035d 554 00b33df8ce6a7edaee 555 blind_secretₖ₀ = f5d25d0124dce3b3529325b6512fd34293448b710217fa 556 885ba5d80705d16a64 557 blind_secretₖ₁ = 974dc1b68e4a7613346375372ead838842bab6335d1696 558 af3b6a2ad249fee4ee 559 planchetₖ₀ = 55e3f72dfd4c53ba21f6f9e108c34f8f6bf0b69dd8daab 560 bf4386a7e3a31c7e33ecda1dc54a31a1d5f97b810806f9 561 d845af20716f4aad733026ff0f6ad0219a1f92d937ade7 562 6b268f8d436fdf6ca63d9051008efa3af022c9846fdecc 563 79ce27c8e59042795f2f8a4bc0a792b44bc64c8e6e7c27 564 3a107d96081142b1d06718e28b32bc733ff36e7b95538f 565 b2ec30d1242965f9ab40debe4ed845227b7a4a4d795286 566 6b798253cf1eb664a1d832c2397d044122d24982fb88bd 567 68f81efa45f80bdbe918680004bdea5dc2e4e76dfed297 568 af200350793f820aa094e1b26c79e2c2faff866410e741 569 1bb662c94be10a841ec9db1432d198a4a01c2911326cec 570 da502a 571 planchetₖ₁ = 978fca7d513afac1d6ec6561fd967218bf0d84e388a23f 572 b085f1c37493d765090b90c0c23ba20647114c0f34d8db 573 1041809a66dfeab96c36477be8342ff4f2660cfd8f0011 574 14f2aab3d12d983d82b92fcfb38e97fa83142980a9f919 575 7e794859f439b18491600ea92bcdc1af7ebe4784eb0229 576 bd287b9c71cdde177d4576d7907f9d643a363e09685293 577 b7474c990d5d8cdc119d7448d768412e40e8461ea88109 578 461e37f3a76178df074c942e99062ce717eba48903c7a0 579 cd27889429ac5a657ca50efd441363c18f9968b33962e4 580 960bf2005fc0fb2b8050024bf34e8f608f4dade5554aab 581 1d28478f5bc1c5939c939ff5b9b11f225e7eb275887d3a 582 475a34 583 h_planchetₖ₀ = 5c9603dc7240248f0a93107bce217562d60943c9976770 584 d11c1fd4c9f73fe7f2f3696696b37fb0fa73331c301e8d 585 d7adceafb23456bfcb6d44063d61f5db239e 586 h_planchetₖ₁ = d905de829b86b21eb19c036320d3e11571e6ca8390e81f 587 86e4569e3cc12189ea10cd752c738972a809fa292818a1 588 f13367c389a3f505f084c5001615de3b647e 589 h_planchetsₖ = 802838537720786bbe61a0752397056c3a7f7bc332a54d 590 c5a649452a9a74fef79c2c59deaf1e03cf73f85f241f28 591 61a50f2f859d95c3c660ab5e57b448526036 592 value = KUDOS:0.25 593 commitment = ba2a18eb9cc878b20dde4679910aede08b37b58e47df25 594 2a245598e0671ed6fc012c9cc245d13f9759d777d80d51 595 d4a29bcdba486109d83075b8bf47fc518928 596 sig = 62ce04a6a6dd6b3f50792e34b51ccc10d2552425800566 597 90248790f6280db11f6f29753f601f19e8504ea378574a 598 dec5b1fc6f5509f3ec79af3110bb4cd4670a 599 ~~~ 600 ~~~ pseudocode 601 (E1) gamma selection and coin signing (exchange) 602 603 ɣ = 1 604 blind_sig₀ = 1885a01f26936f28dfd201a7dd615dacd68a287e17aa8d 605 d1e4f3a1925047049a491c1b76ca687431faf6fd290deb 606 4dc80601ba79d7754c84a8d8550a0b166104b6ec7e611f 607 bc577aff339033d421035578029068a84bd4fe5e212670 608 fd2ce7091ef9950ee48778aae2855a99555308ae90b72a 609 b1fb53fea714841c94e256705aae8efeebc877efd376a8 610 78c6e2cb4e811a267484e4da8e13206c1dde7ef3646528 611 c1d8bf48096eabcc454ed5ee180e3fe7229785a51a3b8b 612 d3fba176c05baf0eb82e99d225cfa5f9359d07d2510013 613 301a7bdf815a7db36d400bc00ca861dbe1402ec6dacbba 614 901e8c8e4e8f1912e63e2a440e667cea243d46e08026d3 615 738fab 616 blind_sig₁ = 9c10e5b88fe3563bdaba5934447baad4d05e66a9075102 617 7a5cbdd2cf0cd9bcaaec68935d3c85509894247ab569d9 618 7fd4825a7972d48dbab1c9cbf791776c96a8dcf48caf2e 619 542f5e50f86d794066b7bc82e975c55995b40cf10d00e6 620 4904530dad5c396543fadf88b79f81b00c8ebbaf2f6731 621 f434c5c3d72b451586d0412b0272a6c6ac5ba5ef59af57 622 969d4f985ea513187c8020a318d4a9c9711ccfdb5aa8b9 623 ebd93b20e129c3447771a1dfb1b1bbdccaef56323005c5 624 6116b1df97ace4ae6f6865e5467a96d2fad9cb4c9cf0c0 625 3cf774ad1dd8f5b0a0fe218ac78b37c4435e4f5616c2fd 626 96dba36f3c7c1973835fe53c95839ed11c792ad011c9fb 627 1ce55c 628 sig = 6eb68d755e7e554ade9f9f21e3a04b83a74753ec136f98 629 981ec2369d0fd56f88c274fe44482f425f1142a447627b 630 71e2117d9991d89dfbf97441b881963a360a 631 ~~~ 632 ~~~ pseudocode 633 (W2) secret revelation (wallet) 634 635 revealed_seed₀ = 415e62ec89f6397c834087efe396b127c6d5bdfe360145 636 a6abbfc7a88c6504eee6e3f59db026cc5742c4065fd917 637 bbf2b7f52e82e88409263130300279e52617 638 revealed_seed₂ = 35e8f7b41e25d3ca2c8e70d02be85843b53703f199809f 639 98527e316bda6a457a2fab9d327f96242c4e0afbd6214f 640 aee6a5172aca2b49ad37a12590dc3bbc3f58 641 ~~~ 642 ~~~ pseudocode 643 (E2) commitment validation (exchange) 644 645 ~~~ 646 ~~~ pseudocode 647 (W3) coin unblinding (wallet) 648 649 coinᵧ₀.sig = 68773443fe6cf88ddea6f6614213f12ec7ded4fbb39fa0 650 a4ffc1a68bbfc363be0b33bd03a41d31c8ffe331614ee4 651 b986679ac8e51aaa0903eee492d0ff81327589c842ac80 652 a6b47e0833840935e9cd543fbbb91c5b80a591e01eb34d 653 7bb5aa3fe837b22f8dcfcaf0ee9d71d93c866f00a8f787 654 def0b79eaa4e6e96c420990b05c2b82c378757ce220e96 655 734e547a6962148848d2ebb66e9c67a40115a958d21c05 656 c7e0a0db72e505076e35ddca7b09b603b55dad394c1d12 657 ff4b6b219feafc3ca24c43c36ad2da9fa632ec1bcfc057 658 2db80d0afcc9875182def7983385f872005033d7ea7080 659 bce0df982a134f5ae2dccb2cdc304278c809979252ac28 660 2a76e1 661 coinᵧ₁.sig = 1551b2dcf6daa264d4c96452f46c88e7b4ca3955642da4 662 5e375cb319602897ceb75eda64060afd17002b63fdd39c 663 c0f86c473a530813c23958573431e2fcd2277cc853f5ab 664 6a20a9e7499154420f0cd8d13990d45423e61a6651a614 665 7e8a146a10fd5d63e085c2c4c133d4db0827df1d4fed10 666 d1e6eadc566e167a17fd36ee884900db9a8cc4b82a02b7 667 ca0cfacb7d391f535da3011ca469146f239d621fcdfc10 668 563bfe6ac4c962109e2fc39aa236151f15a9c85b8e0e4e 669 2ee4f6b6b5f54337c184936e2fe4029e2d39ffe6953f7d 670 cf208ba062334e8595dbb9784857df770377a59dee2a8b 671 ee4e9c10e662f15dedd0379849ebc4a7a02a31f1ebd8a8 672 e55432 673 coin₂ = coinᵧ₀ 674 coin₃ = coinᵧ₁ 675 ~~~ 676 677 ### Link {#tc1-link} 678 ~~~ pseudocode 679 (W1) history request (wallet) 680 681 sig = ceb8dc24e263252b479376b15ae141e4da28dd712c37c4 682 81a163d549b44afdd018d04fe709462a56739b3cc0671c 683 2cc0333b7e5da25210b8bda54d83d25f5407 684 ~~~ 685 ~~~ pseudocode 686 (E1) refresh secret lookup (exchange) 687 688 ~~~ 689 ~~~ pseudocode 690 (W2) coin acquisition (wallet) 691 692 ~~~ 693 694 ### Account Creation {#tc1-w2w-account} 695 696 ### Push Payment {#tc1-w2w-push} 697 698 ### Pull Payment {#tc1-w2w-pull} 699 700 ### Recoup Withdrawal {#tc1-withdraw-recoup} 701 702 ### Recoup Refresh {#tc1-refresh-recoup}