{"action":"created","issue":{"url":"https://api.github.com/repos/nucypher/nucypher/issues/1110","repository_url":"https://api.github.com/repos/nucypher/nucypher","labels_url":"https://api.github.com/repos/nucypher/nucypher/issues/1110/labels{/name}","comments_url":"https://api.github.com/repos/nucypher/nucypher/issues/1110/comments","events_url":"https://api.github.com/repos/nucypher/nucypher/issues/1110/events","html_url":"https://github.com/nucypher/nucypher/issues/1110","id":462446157,"node_id":"MDU6SXNzdWU0NjI0NDYxNTc=","number":1110,"title":"Is UserEscrowProxy a good name?","user":{"login":"cygnusv","id":2564234,"node_id":"MDQ6VXNlcjI1NjQyMzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/2564234?v=4","gravatar_id":"","url":"https://api.github.com/users/cygnusv","html_url":"https://github.com/cygnusv","followers_url":"https://api.github.com/users/cygnusv/followers","following_url":"https://api.github.com/users/cygnusv/following{/other_user}","gists_url":"https://api.github.com/users/cygnusv/gists{/gist_id}","starred_url":"https://api.github.com/users/cygnusv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cygnusv/subscriptions","organizations_url":"https://api.github.com/users/cygnusv/orgs","repos_url":"https://api.github.com/users/cygnusv/repos","events_url":"https://api.github.com/users/cygnusv/events{/privacy}","received_events_url":"https://api.github.com/users/cygnusv/received_events","type":"User","site_admin":false},"labels":[{"id":980142235,"node_id":"MDU6TGFiZWw5ODAxNDIyMzU=","url":"https://api.github.com/repos/nucypher/nucypher/labels/ETH%20Contracts","name":"ETH Contracts","color":"a0c4e5","default":false},{"id":1246838188,"node_id":"MDU6TGFiZWwxMjQ2ODM4MTg4","url":"https://api.github.com/repos/nucypher/nucypher/labels/Naming%20stuff","name":"Naming stuff","color":"b4f79b","default":false},{"id":669680784,"node_id":"MDU6TGFiZWw2Njk2ODA3ODQ=","url":"https://api.github.com/repos/nucypher/nucypher/labels/question","name":"question","color":"cc317c","default":true}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":1,"created_at":"2019-06-30T21:00:16Z","updated_at":"2019-07-02T10:24:50Z","closed_at":null,"author_association":"MEMBER","body":"At first sight, the name `UserEscrowProxy` seems to hint that this contract act as a proxy _to_ `UserEscrow` (i.e. it intermediates between a client and `UserEscrow`). However, it acts as a proxy _for_ `UserEscrow` _to_ several staker-related functionalities of various contracts, namely, `NuCypherToken`, `StakingEscrow` and `PolicyManager`, so its name can be somewhat misleading.\r\n\r\nWhat is more, `UserEscrow` is, hopefully, just the first of many types of contracts acting as stakers in the NuCypher network (see the term `PuppetStaker` in #1057). So, from that viewpoint, the current name `UserEscrowProxy` is clearly unambitious. \r\n\r\nIn light of both reasons, what's a good name for `UserEscrowProxy`? I was thinking something like `StakingProxy`, but perhaps there's something better out there.\r\n\r\nBonus question: What's a good name for `UserEscrowLibraryLinker`? As a reminder, this contract simply acts as a pointer to the incumbent `UserEscrowProxy`. My suggestion would be something like `StakingProxyPointer` or `StakingProxyRegistry`.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/nucypher/nucypher/issues/comments/507616473","html_url":"https://github.com/nucypher/nucypher/issues/1110#issuecomment-507616473","issue_url":"https://api.github.com/repos/nucypher/nucypher/issues/1110","id":507616473,"node_id":"MDEyOklzc3VlQ29tbWVudDUwNzYxNjQ3Mw==","user":{"login":"cygnusv","id":2564234,"node_id":"MDQ6VXNlcjI1NjQyMzQ=","avatar_url":"https://avatars1.githubusercontent.com/u/2564234?v=4","gravatar_id":"","url":"https://api.github.com/users/cygnusv","html_url":"https://github.com/cygnusv","followers_url":"https://api.github.com/users/cygnusv/followers","following_url":"https://api.github.com/users/cygnusv/following{/other_user}","gists_url":"https://api.github.com/users/cygnusv/gists{/gist_id}","starred_url":"https://api.github.com/users/cygnusv/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cygnusv/subscriptions","organizations_url":"https://api.github.com/users/cygnusv/orgs","repos_url":"https://api.github.com/users/cygnusv/repos","events_url":"https://api.github.com/users/cygnusv/events{/privacy}","received_events_url":"https://api.github.com/users/cygnusv/received_events","type":"User","site_admin":false},"created_at":"2019-07-02T10:24:50Z","updated_at":"2019-07-02T10:24:50Z","author_association":"MEMBER","body":"I think `StakerProxy` can work too, but it makes me wonder again if it looks like it's a proxy to stakers (i.e., a contract in between some client an a staker). I'll refer this question to native English speakers here.\r\n\r\nWrt to Registry vs Pointer, I'm with you completely: I like Registry more, but I also thinks it makes more sense for multiple entires, so that's why I also proposed Pointer.\r\n\r\n\r\n"}}
{"actor":{"display_login":"cygnusv"}}