Convert to ace and to current Serpent. Some errors with return() will be fixed soon...
[robmyers:artworld-ethereum.git] / contract / ownership_registry_url_hash.se
1 //if tx.value < tx.basefee * 200:
2     // If not, stop
3 //    stop
4
5 // If registration is being requested
6 if msg.datasize == 3 and msg.data[0] == "register":
7     // If the url/work combination has not been claimed
8     if ! contract.storage[msg.data[1]]:
9         // Set the owner to be the provided Ethereum address
10         contract.storage[msg.data[1]] = msg.sender
11         // Store the artwork hash next to the url ownership information
12         contract.storage[msg.data[1] + 1] = msg.data[2]
13         // return success
14         return(1)
15     // If the sender was trying to overwrite a work they do not own
16     else:
17         // They cannot set it, so return failure
18         return(0)
19 // If ownership confirmation is being requested
20 // Confirm that the work and url hashes match
21 elif msg.datasize == 4 and msg.data[0] == "confirm":
22     // Check the provided hashes against the stored work and url hashes
23     return((contract.storage[msg.data[2]] == msg.data[1]) and (contract.storage[msg.data[2] + 1] == msg.data[3]))
24 // If no action was specified
25 else:
26     // Otherwise do nothing
27     return(0)