This is a contract that make deals with Filecoin storage miners (ie, is a proxy for clients).
addCID : a way to add cids to its authorized set.It is possible to put funds in a contract that takes care of storing some data for an undetermined period of time (i.e. up until funding is available).
Functions:
depositTo(amount): This function adds tokens to the internal balance of the perpetual storage contract.activatePerpetualStorage(file_id):
createDealProposal(file_id, ...) ->deal_id from Bounty contract; and then start listening to the logs (onchain events),
dealAccepted(deal_id) event, then get the deal_id_start_epoch and go to step 2,dealTerminated(deal_id) event is on chain: check internal balance, if there is enough tokens then invokes createDealProposal from Bounty contract again;current_epoch = deal_id_start_epoch + deal_duration : check internal balance, if there is enough tokens then invokes createDealProposal from Bounty contract again.