{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":488989908,"defaultBranch":"main","name":"pickhardtpayments","ownerLogin":"renepickhardt","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2022-05-05T13:46:28.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/1926816?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1683149892.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"6ef324881287a4b935e5b2075db124e4e159062e","ref":"refs/heads/RedundantOverpaymentsAndMppSplitter","pushedAt":"2023-05-03T21:38:12.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"renepickhardt","name":"Rene Pickhardt","path":"/renepickhardt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1926816?s=80&v=4"},"commit":{"message":"Proof of Concept implementation of the Dijkstra Overpayment MPP Splitter for redundant over payments. Use with caution and not in production. This is WIP","shortMessageHtmlLink":"Proof of Concept implementation of the Dijkstra Overpayment MPP Split…"}},{"before":"a66da8d2566cd55c2b61b3790c50a7f668bdd541","after":"bd7fbc562e4c3298fe854b505b8e223f17caded0","ref":"refs/heads/main","pushedAt":"2023-04-12T22:57:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"renepickhardt","name":"Rene Pickhardt","path":"/renepickhardt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1926816?s=80&v=4"},"commit":{"message":"added read the docs files\n\ncopying the documentation branch of @sebulino as he didn't create a PR","shortMessageHtmlLink":"added read the docs files"}},{"before":"d26f574f3a07aff066cde77065e92a3e68abde2f","after":"a66da8d2566cd55c2b61b3790c50a7f668bdd541","ref":"refs/heads/main","pushedAt":"2023-04-12T18:09:25.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"renepickhardt","name":"Rene Pickhardt","path":"/renepickhardt","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/1926816?s=80&v=4"},"commit":{"message":"[wip] Settle payments (#18)\n\n* introduce register payment method on OracleLightningNetwork.py\r\n\r\n* adding settlement_payment in OracleLightningNetwork\r\n\r\nfirst stub of a method as described in #16\r\nStill needs to be tested\r\n\r\n* rewriting setter for `actual_liquidity` using properties (python way)\r\n\r\n* adjust channels in both directions when payment is made\r\n\r\n* Settlement of onions with partial payments only after all onions were routed successfully\r\n\r\n* deletion of unused import\r\n\r\n* updating to rene/main\r\n\r\n* introducing logging\r\nhttps://github.com/renepickhardt/pickhardtpayments/issues/17\r\n\r\n* refactoring min cost flow solver in Payment Class\r\n\r\n* updating the PaymentSession so that the calls to the Payment method are clear.\r\nBalances are still wrong, but pushing this, so that @Lagrang3 can have a look at the PaymenSession structure\r\n\r\n* first code cleanup in PaymentSession\r\n\r\n* Settlement and Payment completely implemented.\r\n- In UncertaintyNetwork in_flights, minimum and maximum liquidity are adjusted accordingly after result of send_onion.\r\n- In OracleNetwork in_flights are adjusted after changing attempt status to INFLIGHT and SETTLED.\r\nthis is a very verbose version, lots of logging everywhere :) ideal for testing and checking if amounts are adjusted correctly in the respective situations\r\n\r\n* Verbosity removed.\r\nVerbosity removed, because a lot of the logging of nodes were tied to the specific ChannelGraph.\r\nChecks added, for\r\n- when the OracleNetwork is updated and reverse channels might not be public\r\n- when the UncertaintyNetwork is updated and reverse channels might not exist\r\n\r\n* settlement implemented\r\n\r\n* adding info on return channel when updating knowledge in UncertaintyNetwork\r\n\r\n* settle_payment changed to settle_attempt\r\nthe payment iterates over the attempts and for each attempt calls the method (on oracle and uncertainty network). Thus, naming is now correct.\r\n\r\n* example fails. logging of channel characteristics added.\r\ncurrently the example in this commit fails. This might be because the in_flights are not handled correctly and min_liquidity (of max_liquidity?) might be adjusted incorrectly.\r\nto monitor this, I added some logging verbosity for the main sections in the process.\r\n\r\n* good example to check the learning of the UncertaintyNetwork\r\nThis is an example for the current implementation of learning from successful and unsuccessful onions. for better visualisation it's run on the smaller graph `channels.sample.json` with four nodes. The logfile is very verbose and demonstrates the changes step by step.\r\n\r\n* refactoring update_knowledge\r\nnow update_knowledge does not need a flag from send_onion and takes the result from the attempt status.\r\n\r\n* adding a new example for the simulation\r\nsimulation_example.py uses the \"small graph\" and executes the pickhard payment twice - one successful payment and one failing. The logfile is rather verbose and the change of information in the uncertainty network can nicely be observed.\r\n\r\n* Channel balances now randomized again\r\n\r\n* catching error if MCF throws infeasible\r\nAdded Exception handling if MCF solver throws infeasible.\r\nAlso moved to counter for MCF computations, so that failed computations are included.\r\n\r\n* adding loglevel to method call to manage verbosity\r\n\r\n* corrected update_knowledge method\r\ncorrected update_knowledge method and added bits of comments and documentation\r\n\r\n* debug message corrected and seed added\r\nThere was a call in a debug message that lead to a reference error.\r\nIn line with Eduardo's works I added the seed initialisation with the same seed.\r\n\r\n* adding debug level in simulation example to pickhard_pay call\r\n\r\n* initialization of randomness in OracleNetwork. logging adjusted.\r\n\r\n* adding code improvements from master thesis\r\n\r\n* adding method for consistency check in uncertainty network\r\n\r\n* Raising ValueError if path Argument in Attempt() is not a List of Channels\r\n\r\n* redundancy removed when logging errors in update_knowledge method\r\n\r\n---------\r\n\r\nCo-authored-by: Sebastian ","shortMessageHtmlLink":"[wip] Settle payments (#18)"}}],"hasNextPage":false,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADJYrVAQA","startCursor":null,"endCursor":null}},"title":"Activity · renepickhardt/pickhardtpayments"}