Response: {
"error": "formula {
// constants
$domain_creation_fee = 500000; // 500,000.0 bytes
$requesting_reputation_fee = 10000; // 10,000.0 bytes
$reward_pourcentage = 1; // 1% of the balance for an evalution of an attested address
$symbolic_reward= 10; // for evaluation of not attested address
$evaluation_delay = 2*24*60*60; // 1 days
$default_domain = 'base';
$default_attestor = 'UOYYSPEE7UUW3KJAB5F4Y4AWMYMDDB4Y'; // official attestor
$reputation_word_hash = '556ec7485db6ec2596054ef0374f50e4dfbcc3962c879e9464cdca80ebdfc34e';
$evaluation_count_word_hash = '039adc37a247cfd497f19d106479ac55aab96db3ae74114c74edf8143e1eb29e';
// variables directly from triggering transaction
$user = trigger.address; // Attested user (if evaluator)
$evaluated_address = trigger.data.address; // Evaluated user address (don't have to be attested) but it is better
$domain = trigger.data.domain otherwise trigger.data.d; // Evaluation domain
$evaluation = trigger.data.evaluation otherwise trigger.data.ev; // Evaluation: 0-5 or ?
$attestator = trigger.data.attestor otherwise trigger.data.a;
// deductions
$is_requesting = $evaluation == "?";
$is_contributing = $evaluation >= 0 and $start <= 5;
$domain = $domain otherwise $default_domain;
$attestator = $attestator otherwise $default_attestor;
// Preliminary checks
if(!$is_requesting or !$is_contributing)
bounce('Sorry, You have to specify a \'evaluation\' field in the data section. Use \'0\' to \'5\' to evaluate an address or use \'?\' to request the reputation of an address.'); // (money - bounce fee) is return automatically
if($evaluated_address==false)
bounce('Sorry, You have to specify which address you want to find reputation for. Please add an \'address\' field in the data section.');
// hashing to avoid to store the reputation openely in the dag (euh why?)
$user_hash = sha256($user);
$evaluated_address_hash = sha256($evaluated_address);
$domain_hash = sha256($domain);
$attestator_hash = sha256($attestor);
$attested_domain = sha256($domain_hash and $attested_domain);
$evaluation_hash = sha256($attested_domain and $user_hash and $evaluated_address_hash);
$reputation_hash = sha256($attested_domain and $evaluated_address_hash and $reputation_word_hash);
$evaluation_count_hash = sha256($attested_domain and $evaluated_address_hash and $evaluation_count_wordhash);
// confuse attestated address in the dag to avoid to gather information for free
// is it even possible ? $evaluated_address_confused = $evaluated_address(2);
// Attestation checks
$evaluated_is_attested = attestation[[attestors=$attestor_address, address=$evaluated_address, ifnone=0]];
$user_is_attested = attestation[[attestors=$attestor_address, address=$evaluated_address, ifnone=0]];
// state variable checks
$attested_domain_exist = var[$attested_domain];
$balance_in_attestator_scope = var[$attestator_hash];
$reputation = var[$reputation_hash];
$eval_count = var[$evaluation_count_hash];
$previous_evaluation = var[$evaluation_hash];
// Fee checks
$fee_received = trigger.output[[asset=base]].amount;
$creation_fee_received = $fee_received > $domain_creation_fee;
$requesting_fee_received = $fee_received > $getting_reputation_fee;
} failed: booleans cannot be compared with other types"
}