Right now, the CustomerVerifyMerchantFunding part of the Establish protocol assumes that when the customer verifies funding, they will wait some specified amount of time before giving up on the funding existing. However, the Tezos API is currently implemented to check the funding at a specific point in time and immediately fail if it does not exist.
The protocol should account for this behavior by having the merchant tell the customer when they have finished funding the channel. Then the customer can check whether the funding exists. This is how the other side MerchantVerifyCustomerFunding works.
pub type CustomerVerifyMerchantFunding {
recv ContractFunded;
ChooseAbort<Activate, Error>;
}
This is a bug, but it hasn't been triggered yet because (at time of posting issue) we do not allow merchant-funded channels.
Right now, the
CustomerVerifyMerchantFunding
part of theEstablish
protocol assumes that when the customer verifies funding, they will wait some specified amount of time before giving up on the funding existing. However, the Tezos API is currently implemented to check the funding at a specific point in time and immediately fail if it does not exist.The protocol should account for this behavior by having the merchant tell the customer when they have finished funding the channel. Then the customer can check whether the funding exists. This is how the other side
MerchantVerifyCustomerFunding
works.This is a bug, but it hasn't been triggered yet because (at time of posting issue) we do not allow merchant-funded channels.