{"action":"created","issue":{"url":"https://api.github.com/repos/ElementsProject/lightning/issues/2342","repository_url":"https://api.github.com/repos/ElementsProject/lightning","labels_url":"https://api.github.com/repos/ElementsProject/lightning/issues/2342/labels{/name}","comments_url":"https://api.github.com/repos/ElementsProject/lightning/issues/2342/comments","events_url":"https://api.github.com/repos/ElementsProject/lightning/issues/2342/events","html_url":"https://github.com/ElementsProject/lightning/pull/2342","id":408890613,"node_id":"MDExOlB1bGxSZXF1ZXN0MjUxOTk3OTc5","number":2342,"title":"Allow setting feerate on per-channel basis","user":{"login":"m-schmoock","id":4090425,"node_id":"MDQ6VXNlcjQwOTA0MjU=","avatar_url":"https://avatars2.githubusercontent.com/u/4090425?v=4","gravatar_id":"","url":"https://api.github.com/users/m-schmoock","html_url":"https://github.com/m-schmoock","followers_url":"https://api.github.com/users/m-schmoock/followers","following_url":"https://api.github.com/users/m-schmoock/following{/other_user}","gists_url":"https://api.github.com/users/m-schmoock/gists{/gist_id}","starred_url":"https://api.github.com/users/m-schmoock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-schmoock/subscriptions","organizations_url":"https://api.github.com/users/m-schmoock/orgs","repos_url":"https://api.github.com/users/m-schmoock/repos","events_url":"https://api.github.com/users/m-schmoock/events{/privacy}","received_events_url":"https://api.github.com/users/m-schmoock/received_events","type":"User","site_admin":false},"labels":[{"id":669479200,"node_id":"MDU6TGFiZWw2Njk0NzkyMDA=","url":"https://api.github.com/repos/ElementsProject/lightning/labels/Work%20in%20Progress","name":"Work in Progress","color":"5319e7","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":{"url":"https://api.github.com/repos/ElementsProject/lightning/milestones/8","html_url":"https://github.com/ElementsProject/lightning/milestone/8","labels_url":"https://api.github.com/repos/ElementsProject/lightning/milestones/8/labels","id":4080571,"node_id":"MDk6TWlsZXN0b25lNDA4MDU3MQ==","number":8,"title":"0.7.1","description":null,"creator":{"login":"rustyrussell","id":775844,"node_id":"MDQ6VXNlcjc3NTg0NA==","avatar_url":"https://avatars2.githubusercontent.com/u/775844?v=4","gravatar_id":"","url":"https://api.github.com/users/rustyrussell","html_url":"https://github.com/rustyrussell","followers_url":"https://api.github.com/users/rustyrussell/followers","following_url":"https://api.github.com/users/rustyrussell/following{/other_user}","gists_url":"https://api.github.com/users/rustyrussell/gists{/gist_id}","starred_url":"https://api.github.com/users/rustyrussell/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rustyrussell/subscriptions","organizations_url":"https://api.github.com/users/rustyrussell/orgs","repos_url":"https://api.github.com/users/rustyrussell/repos","events_url":"https://api.github.com/users/rustyrussell/events{/privacy}","received_events_url":"https://api.github.com/users/rustyrussell/received_events","type":"User","site_admin":false},"open_issues":3,"closed_issues":0,"state":"open","created_at":"2019-02-23T00:38:24Z","updated_at":"2019-02-23T09:45:42Z","due_on":null,"closed_at":null},"comments":3,"created_at":"2019-02-11T17:22:39Z","updated_at":"2019-02-24T11:40:30Z","closed_at":null,"author_association":"CONTRIBUTOR","pull_request":{"url":"https://api.github.com/repos/ElementsProject/lightning/pulls/2342","html_url":"https://github.com/ElementsProject/lightning/pull/2342","diff_url":"https://github.com/ElementsProject/lightning/pull/2342.diff","patch_url":"https://github.com/ElementsProject/lightning/pull/2342.patch"},"body":"# PR for issue #2316  \r\nProgress:\r\n\r\n> * [x]  Add db fields for per-channel feebase + ppm\r\n> * [x]  Put these fields into struct channel\r\n> * [x]  Use the fields in forward_htlc instead of global values\r\n> * [x]  Show fields in listchannels\r\n> * [x]  Plumb db fields through to gossipd for advertising.\r\n> * [x]  Provide API eg. `setchannelfee id <base> <ppm>`\r\n> * [x]  Create tests, CHANGELOG.md, man page.\r\n> * [ ]  Dance a happy dance.\r\n\r\nCurrently workin on: **FINALIZATIONS**\r\n\r\nTodos:\r\n- json: maybe return global values if `base` or `ppm` were not set?\r\n- logic: maybe do min/max constraint checks\r\n\r\nIssues:\r\n- are zero values allowed for `base` or `ppm`?\r\n- do there have to be any min/max checks for the values, if so, which exactly?\r\n- Are there be channel states where it should be possible to set the fees other than state `CHANNELD_NORMAL`?\r\n- the TXT version of the manpage was generated by `groff -t -e -mandoc -Tascii ./${1} | col -bx > ./${1}.txt` and not asciidoc, as I am missing manpage XML stuff used in other files. looks fine though.\r\n\r\nNotes:\r\n- currently disabling the feature is done by leaving out or ppm/base values setting zero (0). the database stores '0' in this case."},"comment":{"url":"https://api.github.com/repos/ElementsProject/lightning/issues/comments/466766143","html_url":"https://github.com/ElementsProject/lightning/pull/2342#issuecomment-466766143","issue_url":"https://api.github.com/repos/ElementsProject/lightning/issues/2342","id":466766143,"node_id":"MDEyOklzc3VlQ29tbWVudDQ2Njc2NjE0Mw==","user":{"login":"m-schmoock","id":4090425,"node_id":"MDQ6VXNlcjQwOTA0MjU=","avatar_url":"https://avatars2.githubusercontent.com/u/4090425?v=4","gravatar_id":"","url":"https://api.github.com/users/m-schmoock","html_url":"https://github.com/m-schmoock","followers_url":"https://api.github.com/users/m-schmoock/followers","following_url":"https://api.github.com/users/m-schmoock/following{/other_user}","gists_url":"https://api.github.com/users/m-schmoock/gists{/gist_id}","starred_url":"https://api.github.com/users/m-schmoock/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/m-schmoock/subscriptions","organizations_url":"https://api.github.com/users/m-schmoock/orgs","repos_url":"https://api.github.com/users/m-schmoock/repos","events_url":"https://api.github.com/users/m-schmoock/events{/privacy}","received_events_url":"https://api.github.com/users/m-schmoock/received_events","type":"User","site_admin":false},"created_at":"2019-02-24T11:40:30Z","updated_at":"2019-02-24T11:40:30Z","author_association":"CONTRIBUTOR","body":"@cdecker @rustyrussell Thanks for all your your input. I will come back with an update.\r\n\r\n**No Magic Zero**\r\nIn order to support '0' fees without disabling it (which btw I also find very uncool), I think I need one of the following databse changes:\r\n\r\n1. Allow -1 in the database to indicate that channel specific fee is turned of, which is kinda iffy, but probably the least invasive solution.\r\n2. **OR** Add one or two bool (database Integers) that indicate the activation of channel specific fees. Two are needed if one of the args base/ppm can be optional, which I find good.\r\n3. **OR** Add one Integer field that is interpreted bitwise to check if channel specific values ought to be applied or not.\r\n\r\n**Return global values if unset/unchanged/defaulted**\r\nAs written above, I need to add code to access global `ln->config` within the `lightningd/peer_control.c`. Should I add it?\r\n\r\n**Min/Max constraint checks**\r\nShould I add protection for the user against himself, trying to set too low/high values? If so, what values and should it just return a warning or prevent usage? \r\n\r\nCan you please give me an indication which of the solutions you find appropriate?\r\n"}}
{"actor":{"display_login":"m-schmoock"}}