13 size_t bytecode_len = bytecode.size();
15 auto bytecode_field_at = [&](
size_t i) ->
FF {
18 if (bytecode_len - i >= 32) {
19 as_int = from_buffer<uint256_t>(bytecode, i);
21 std::vector<uint8_t> tail(bytecode.begin() +
static_cast<ssize_t
>(i), bytecode.end());
23 as_int = from_buffer<uint256_t>(tail, 0);
28 std::vector<FF> contract_bytecode_fields;
29 auto number_of_fields = (bytecode_len + 30) / 31;
30 contract_bytecode_fields.reserve(number_of_fields);
32 for (uint32_t i = 0; i < bytecode_len; i += 31) {
33 FF bytecode_field = bytecode_field_at(i);
34 contract_bytecode_fields.push_back(bytecode_field);
37 return contract_bytecode_fields;
56 std::vector<FF> public_keys_hash_fields = public_keys.
to_fields();
59 for (
size_t i = 0; i < public_keys_hash_fields.size(); i += 2) {
60 public_key_hash_vec.push_back(public_keys_hash_fields[i]);
61 public_key_hash_vec.push_back(public_keys_hash_fields[i + 1]);
63 public_key_hash_vec.push_back(
FF::zero());