Mapping<Bytes, int> Balances = new Mapping<Bytes, int>();
public Mapping<String, String> VirusToOwner = new Mapping<String, Bytes>;
public Mapping<String, int> VirusToPrice = new Mapping<String, int>();
public Mapping<String, int> RenterToVirus = new Mapping<Bytes, int>();
public int BalanceOf(Bytes tokenOwner)
return Balances.getDefault(tokenOwner, 0);
public void Transfer(String VirusHash, int tokens)
if (tokens > VirusToPrice.getDefault(VirusHash,0)) {
if (Balances.getDefault(Info.Sender(), 0) >= tokens) {
Balances.put(Info.Sender(), Balances.getDefault(Info.Sender(), 0) - tokens);
Balances.put(VirusToOwner.getDefault(VirusHash,0), Balances.getDefault(VirusToOwner.getDefault(VirusHash,0), 0) + tokens);
public void NewVirus(String VirusHash, int Price)
HashToOwner.put(VirusHash, Info.Sender());
VirusToPrice.put(VirusHash, Price);
public void Rent (String VirusHash, int Price)
HashToOwner.put(VirusHash, Info.Sender());
VirusToPrice.put(VirusHash, Price);
public void Emit(Bytes owner, int tokens)
Balances.put(owner, Balances.getDefault(owner, 0) + tokens);
public static void Main() {}