1) no address(0) check for arbiter address during escrow deployment <<< But I see now that this is actually OK but only if arbiter can be selected post escrow deployment, and then can always add checks to ensure arbiter can only be selected once per deployed escrow, unless protocol intends to allow for changing arbiter multiple times?
2) seemingly no functionality to select/add valid arbiter address post escrow deployment.
I still think that not being able to set/select an arbiter post escrow deployment is likely an unwanted issue to sit with, especially if an arbiter is needed at some point.
Scenarios:
Both seller & buyer could be honest, but a dispute needs resolving.
Buyer decides to pull out for whatever valid reason, early on.
Seller for whatever valid reason, cannot commit any longer to providing audit service to buyer
Malicious buyer or seller chancing it
Buyer & Seller agreeing to increase/decrease escrowed funds
Summary:
Either a valid non-zero arbiter address needs to be added during escrow deployment, or functionality should be implemented to enable adding of arbiter post escrow deployment. Either solution solves the problem.
Right now neither is implemented.
Two potential issues I mentioned here:
1) no address(0) check for arbiter address during escrow deployment <<< But I see now that this is actually OK but only if arbiter can be selected post escrow deployment, and then can always add checks to ensure arbiter can only be selected once per deployed escrow, unless protocol intends to allow for changing arbiter multiple times?
2) seemingly no functionality to select/add valid arbiter address post escrow deployment.
I still think that not being able to set/select an arbiter post escrow deployment is likely an unwanted issue to sit with, especially if an arbiter is needed at some point.
Scenarios:
Summary: Either a valid non-zero arbiter address needs to be added during escrow deployment, or functionality should be implemented to enable adding of arbiter post escrow deployment. Either solution solves the problem. Right now neither is implemented.
Originally posted by @dappconsulting in https://github.com/Cyfrin/2023-07-escrow/issues/841#issuecomment-1699429821