├── .clang-format ├── .clang-tidy ├── .codacy.yml ├── .codecov.yml ├── .gitattributes ├── .githooks └── pre-commit ├── .github ├── ISSUE_TEMPLATE │ └── ISSUE_TEMPLATE.md ├── PULL_REQUEST_TEMPLATE └── workflows │ ├── git-checks.yml │ ├── release.yml │ ├── static-code-analysis.yml │ ├── unit-test.yml │ ├── valgrind.yml │ ├── windows-mingw-unit-test.yml │ └── windows-unit-test.yml ├── .gitignore ├── .readthedocs.yaml ├── CHANGELOG.md ├── CMakeLists.txt ├── CODE_STYLE.md ├── CONTRIBUTING.md ├── CONTRIBUTORS.md ├── COPYING ├── MISRA.md ├── README.md ├── VERSION ├── assets ├── cardano-c-logo-small.png └── misra_c.png ├── clang-format-config.json ├── cmake ├── CMakeInstallDirs.cmake ├── CrossToolchain.cmake ├── FindGmp.cmake ├── FindGoogleMocks.cmake ├── FindJsonc.cmake ├── FindSodium.cmake ├── FindSphinx.cmake ├── ProcessDebugInformation.cmake └── TargetArch.cmake ├── doc ├── doxyfile.in ├── sphinx │ ├── Makefile │ ├── conf.py.in │ ├── make.bat │ └── requirements.txt └── src │ ├── _static │ ├── custom.css │ ├── custom.js │ └── logo.png │ ├── _templates │ └── sidebar-nav-bs.html │ └── sections │ ├── api │ ├── address │ │ ├── address.rst │ │ ├── address_type.rst │ │ ├── base_address.rst │ │ ├── byron_address.rst │ │ ├── byron_address_attributes.rst │ │ ├── byron_address_type.rst │ │ ├── enterprise_address.rst │ │ ├── index.rst │ │ ├── pointer_address.rst │ │ ├── reward_address.rst │ │ └── stake_pointer.rst │ ├── assets │ │ ├── asset_id.rst │ │ ├── asset_id_list.rst │ │ ├── asset_id_map.rst │ │ ├── asset_name.rst │ │ ├── asset_name_list.rst │ │ ├── asset_name_map.rst │ │ ├── index.rst │ │ ├── multi-asset.rst │ │ └── policy_id_list.rst │ ├── auxiliary_data │ │ ├── auxiliary_data.rst │ │ ├── index.rst │ │ ├── metadatum.rst │ │ ├── metadatum_kind.rst │ │ ├── metadatum_label_list.rst │ │ ├── metadatum_list.rst │ │ ├── metadatum_map.rst │ │ ├── plutus_v1_script_list.rst │ │ ├── plutus_v2_script_list.rst │ │ ├── plutus_v3_script_list.rst │ │ └── transaction_metadata.rst │ ├── bip39.rst │ ├── buffer.rst │ ├── cbor │ │ ├── cbor_major_type.rst │ │ ├── cbor_reader.rst │ │ ├── cbor_reader_state.rst │ │ ├── cbor_simple_value.rst │ │ ├── cbor_tag.rst │ │ ├── cbor_writer.rst │ │ └── index.rst │ ├── certs │ │ ├── auth_committee_hot_cert.rst │ │ ├── cert_type.rst │ │ ├── certificate.rst │ │ ├── certificate_set.rst │ │ ├── genesis_key_delegation_cert.rst │ │ ├── index.rst │ │ ├── mir_cert.rst │ │ ├── mir_cert_pot_type.rst │ │ ├── mir_cert_type.rst │ │ ├── mir_to_pot_cert.rst │ │ ├── mir_to_stake_creds_cert.rst │ │ ├── pool_registration_cert.rst │ │ ├── pool_retirement_cert.rst │ │ ├── register_drep_cert.rst │ │ ├── registration_cert.rst │ │ ├── resign_committee_cold_cert.rst │ │ ├── stake_delegation_cert.rst │ │ ├── stake_deregistration_cert.rst │ │ ├── stake_registration_cert.rst │ │ ├── stake_registration_delegation_cert.rst │ │ ├── stake_vote_delegation_cert.rst │ │ ├── stake_vote_registration_delegation_cert.rst │ │ ├── unregister_drep_cert.rst │ │ ├── unregistration_cert.rst │ │ ├── update_drep_cert.rst │ │ ├── vote_delegation_cert.rst │ │ └── vote_registration_delegation_cert.rst │ ├── common │ │ ├── anchor.rst │ │ ├── bigint.rst │ │ ├── byte_order.rst │ │ ├── credential.rst │ │ ├── credential_type.rst │ │ ├── datum.rst │ │ ├── datum_type.rst │ │ ├── drep.rst │ │ ├── drep_type.rst │ │ ├── ex_units.rst │ │ ├── governance_action_id.rst │ │ ├── governance_key_type.rst │ │ ├── index.rst │ │ ├── network_id.rst │ │ ├── protocol_version.rst │ │ ├── reward_address_list.rst │ │ ├── unit_interval.rst │ │ ├── utxo.rst │ │ ├── utxo_list.rst │ │ └── withdrawal_map.rst │ ├── cryptography │ │ ├── bip32_private_key.rst │ │ ├── bip32_public_key.rst │ │ ├── blake2b_hash.rst │ │ ├── blake2b_hash_set.rst │ │ ├── blake2b_hash_size.rst │ │ ├── ed25519_private_key.rst │ │ ├── ed25519_public_key.rst │ │ ├── ed25519_signature.rst │ │ ├── emip3.rst │ │ ├── index.rst │ │ └── pbkdf2.rst │ ├── encoding │ │ ├── base58.rst │ │ ├── bech32.rst │ │ └── index.rst │ ├── error.rst │ ├── json │ │ ├── index.rst │ │ ├── json_context.rst │ │ ├── json_format.rst │ │ ├── json_object.rst │ │ ├── json_object_type.rst │ │ └── json_writer.rst │ ├── key_handlers │ │ ├── account_derivation_path.rst │ │ ├── derivation_path.rst │ │ ├── index.rst │ │ ├── secure_key_handler.rst │ │ ├── secure_key_handler_impl.rst │ │ ├── secure_key_handler_type.rst │ │ └── software_secure_key_handler.rst │ ├── object.rst │ ├── plutus_data │ │ ├── constr_plutus_data.rst │ │ ├── index.rst │ │ ├── plutus_data.rst │ │ ├── plutus_data_kind.rst │ │ ├── plutus_list.rst │ │ └── plutus_map.rst │ ├── pool_params │ │ ├── index.rst │ │ ├── ipv4.rst │ │ ├── ipv6.rst │ │ ├── multi_host_name_relay.rst │ │ ├── pool_metadata.rst │ │ ├── pool_owners.rst │ │ ├── pool_params.rst │ │ ├── relay.rst │ │ ├── relay_type.rst │ │ ├── relays.rst │ │ ├── single_host_addr_relay.rst │ │ └── single_host_name_relay.rst │ ├── proposal_procedures │ │ ├── committee.rst │ │ ├── committee_members_map.rst │ │ ├── constitution.rst │ │ ├── credential_set.rst │ │ ├── governance_action_type.rst │ │ ├── hard_fork_initiation_action.rst │ │ ├── index.rst │ │ ├── info_action.rst │ │ ├── new_constitution_action.rst │ │ ├── no_confidence_action.rst │ │ ├── parameter_change_action.rst │ │ ├── proposal_procedure.rst │ │ ├── proposal_procedure_set.rst │ │ ├── treasury_withdrawals_action.rst │ │ └── update_committee_action.rst │ ├── protocol_params │ │ ├── cost_model.rst │ │ ├── costmdls.rst │ │ ├── drep_voting_thresholds.rst │ │ ├── ex_units_prices.rst │ │ ├── index.rst │ │ ├── pool_voting_thresholds.rst │ │ ├── proposed_param_updates.rst │ │ ├── protocol_param_update.rst │ │ ├── protocol_parameters.rst │ │ └── update.rst │ ├── providers │ │ ├── index.rst │ │ ├── provider.rst │ │ └── provider_impl.rst │ ├── scripts │ │ ├── index.rst │ │ ├── native_script.rst │ │ ├── native_script_list.rst │ │ ├── native_script_type.rst │ │ ├── plutus_language_version.rst │ │ ├── plutus_v1_script.rst │ │ ├── plutus_v2_script.rst │ │ ├── plutus_v3_script.rst │ │ ├── script.rst │ │ ├── script_all.rst │ │ ├── script_any.rst │ │ ├── script_invalid_after.rst │ │ ├── script_invalid_before.rst │ │ ├── script_language.rst │ │ ├── script_n_of_k.rst │ │ └── script_pubkey.rst │ ├── time.rst │ ├── transaction │ │ ├── index.rst │ │ └── transaction.rst │ ├── transaction_body │ │ ├── index.rst │ │ ├── transaction_body.rst │ │ ├── transaction_input.rst │ │ ├── transaction_input_set.rst │ │ ├── transaction_output.rst │ │ ├── transaction_output_list.rst │ │ └── value.rst │ ├── transaction_builder │ │ ├── coin_selector.rst │ │ ├── coin_selector_impl.rst │ │ ├── fee.rst │ │ ├── implicit_coin.rst │ │ ├── index.rst │ │ ├── input_to_redeemer_map.rst │ │ ├── large_first_coin_selector.rst │ │ ├── provider_tx_evaluator.rst │ │ ├── script_data_hash.rst │ │ ├── transaction_balancing.rst │ │ ├── transaction_builder.rst │ │ ├── tx_evaluator.rst │ │ └── tx_evaluator_impl.rst │ ├── voting_procedures │ │ ├── governance_action_id_list.rst │ │ ├── index.rst │ │ ├── vote.rst │ │ ├── voter.rst │ │ ├── voter_list.rst │ │ ├── voter_type.rst │ │ ├── voting_procedure.rst │ │ └── voting_procedures.rst │ └── witness_set │ │ ├── bootstrap_witness.rst │ │ ├── bootstrap_witness_set.rst │ │ ├── index.rst │ │ ├── native_script_set.rst │ │ ├── plutus_data_set.rst │ │ ├── plutus_v1_script_set.rst │ │ ├── plutus_v2_script_set.rst │ │ ├── plutus_v3_script_set.rst │ │ ├── redeemer.rst │ │ ├── redeemer_list.rst │ │ ├── redeemer_tag.rst │ │ ├── vkey_witness.rst │ │ ├── vkey_witness_set.rst │ │ └── witness_set.rst │ ├── getting_started.rst │ └── index.rst ├── examples ├── CMakeLists.txt └── src │ ├── bip39_example.c │ ├── donate_to_treasury_example.c │ ├── drep_pubkey_example.c │ ├── drep_script_example.c │ ├── mint_burn_native_script_example.c │ ├── mint_burn_plutus_script_example.c │ ├── propose_treasury_withdrawal_example.c │ ├── provider_example.c │ ├── providers │ ├── blockfrost │ │ ├── blockfrost_provider.c │ │ ├── common │ │ │ ├── blockfrost_common.c │ │ │ ├── blockfrost_common.h │ │ │ ├── blockfrost_url_builders.c │ │ │ └── blockfrost_url_builders.h │ │ └── parsers │ │ │ ├── blockfrost_datum_parser.c │ │ │ ├── blockfrost_parsers.h │ │ │ ├── blockfrost_pparam_parser.c │ │ │ ├── blockfrost_rewards_parser.c │ │ │ ├── blockfrost_script_parser.c │ │ │ ├── blockfrost_tx_eval_parser.c │ │ │ └── blockfrost_utxos_parser.c │ └── provider_factory.h │ ├── reward_account_pubkey_example.c │ ├── reward_account_script_example.c │ ├── secure_key_handler_example.c │ ├── send_lovelace_example.c │ ├── spend_from_native_script_example.c │ ├── spend_from_validator_example.c │ ├── utils │ ├── console.c │ ├── console.h │ ├── utils.c │ └── utils.h │ ├── vote_for_proposal_pubkey_example.c │ └── vote_for_proposal_script_example.c ├── fuzz ├── CMakeLists.txt ├── cbor_reader_fuzzer.c ├── corpus │ ├── array_0.cbor │ ├── array_1.cbor │ ├── array_10.cbor │ ├── array_11.cbor │ ├── array_2.cbor │ ├── array_3.cbor │ ├── array_4.cbor │ ├── array_5.cbor │ ├── array_6.cbor │ ├── array_7.cbor │ ├── array_8.cbor │ ├── array_9.cbor │ ├── attestation_obj_u2f_1.cbor │ ├── attestation_obj_u2f_2.cbor │ ├── byte_string_0.cbor │ ├── byte_string_1.cbor │ ├── byte_string_2.cbor │ ├── cose_0.cbor │ ├── cose_1.cbor │ ├── cose_10.cbor │ ├── cose_11.cbor │ ├── cose_12.cbor │ ├── cose_13.cbor │ ├── cose_14.cbor │ ├── cose_15.cbor │ ├── cose_16.cbor │ ├── cose_2.cbor │ ├── cose_3.cbor │ ├── cose_4.cbor │ ├── cose_5.cbor │ ├── cose_6.cbor │ ├── cose_7.cbor │ ├── cose_8.cbor │ ├── cose_9.cbor │ ├── cwt_claims_0.cbor │ ├── cwt_cose_0.cbor │ ├── cwt_cose_1.cbor │ ├── cwt_cose_2.cbor │ ├── cwt_encrypted_0.cbor │ ├── cwt_maced_0.cbor │ ├── cwt_maced_1.cbor │ ├── cwt_nested_0.cbor │ ├── cwt_signed_0.cbor │ ├── float16_0.cbor │ ├── float16_1.cbor │ ├── float16_10.cbor │ ├── float16_2.cbor │ ├── float16_3.cbor │ ├── float16_4.cbor │ ├── float16_5.cbor │ ├── float16_6.cbor │ ├── float16_7.cbor │ ├── float16_8.cbor │ ├── float16_9.cbor │ ├── float32_0.cbor │ ├── float32_1.cbor │ ├── float32_2.cbor │ ├── float32_3.cbor │ ├── float32_4.cbor │ ├── float64_0.cbor │ ├── float64_1.cbor │ ├── float64_2.cbor │ ├── float64_3.cbor │ ├── float64_4.cbor │ ├── float64_5.cbor │ ├── map_0.cbor │ ├── map_1.cbor │ ├── map_2.cbor │ ├── map_3.cbor │ ├── map_4.cbor │ ├── map_5.cbor │ ├── negative_integer_0.cbor │ ├── negative_integer_1.cbor │ ├── negative_integer_2.cbor │ ├── negative_integer_3.cbor │ ├── negative_integer_4.cbor │ ├── positive_integer_0.cbor │ ├── positive_integer_1.cbor │ ├── positive_integer_10.cbor │ ├── positive_integer_2.cbor │ ├── positive_integer_3.cbor │ ├── positive_integer_4.cbor │ ├── positive_integer_5.cbor │ ├── positive_integer_6.cbor │ ├── positive_integer_7.cbor │ ├── positive_integer_8.cbor │ ├── positive_integer_9.cbor │ ├── primitives_0.cbor │ ├── primitives_1.cbor │ ├── primitives_2.cbor │ ├── primitives_3.cbor │ ├── primitives_5.cbor │ ├── primitives_6.cbor │ ├── struct_0.cbor │ ├── struct_keyasint_0.cbor │ ├── struct_toarray_0.cbor │ ├── tag_0.cbor │ ├── tag_1.cbor │ ├── tag_2.cbor │ ├── tag_3.cbor │ ├── tag_4.cbor │ ├── tag_5.cbor │ ├── tag_6.cbor │ ├── tag_7.cbor │ ├── text_string_0.cbor │ ├── text_string_1.cbor │ ├── text_string_2.cbor │ ├── text_string_3.cbor │ ├── text_string_4.cbor │ ├── text_string_5.cbor │ ├── text_string_6.cbor │ └── text_string_7.cbor ├── json_corpus │ ├── blockfrost_tx.json │ ├── blockfrost_utxo.json │ ├── number_-9223372036854775808.json │ ├── number_-9223372036854775809.json │ ├── number_1.0.json │ ├── number_1.000000000000000005.json │ ├── number_1000000000000000.json │ ├── number_10000000000000000999.json │ ├── number_1e-999.json │ ├── number_1e6.json │ ├── number_9223372036854775807.json │ ├── number_9223372036854775808.json │ ├── object_key_nfc_nfd.json │ ├── object_key_nfd_nfc.json │ ├── object_same_key_different_values.json │ ├── object_same_key_same_value.json │ ├── object_same_key_unclear_values.json │ ├── pparam.json │ ├── string_1_escaped_invalid_codepoint.json │ ├── string_1_invalid_codepoint.json │ ├── string_2_escaped_invalid_codepoints.json │ ├── string_2_invalid_codepoints.json │ ├── string_3_escaped_invalid_codepoints.json │ ├── string_3_invalid_codepoints.json │ ├── string_with_escaped_NULL.json │ ├── tx.json │ ├── utf8_emojis.json │ ├── y_array_arraysWithSpaces.json │ ├── y_array_empty-string.json │ ├── y_array_empty.json │ ├── y_array_ending_with_newline.json │ ├── y_array_false.json │ ├── y_array_heterogeneous.json │ ├── y_array_null.json │ ├── y_array_with_1_and_newline.json │ ├── y_array_with_leading_space.json │ ├── y_array_with_several_null.json │ ├── y_array_with_trailing_space.json │ ├── y_number.json │ ├── y_number_0e+1.json │ ├── y_number_0e1.json │ ├── y_number_after_space.json │ ├── y_number_double_close_to_zero.json │ ├── y_number_int_with_exp.json │ ├── y_number_minus_zero.json │ ├── y_number_negative_int.json │ ├── y_number_negative_one.json │ ├── y_number_negative_zero.json │ ├── y_number_real_capital_e.json │ ├── y_number_real_capital_e_neg_exp.json │ ├── y_number_real_capital_e_pos_exp.json │ ├── y_number_real_exponent.json │ ├── y_number_real_fraction_exponent.json │ ├── y_number_real_neg_exp.json │ ├── y_number_real_pos_exponent.json │ ├── y_number_simple_int.json │ ├── y_number_simple_real.json │ ├── y_object.json │ ├── y_object_basic.json │ ├── y_object_duplicated_key.json │ ├── y_object_duplicated_key_and_value.json │ ├── y_object_empty.json │ ├── y_object_empty_key.json │ ├── y_object_escaped_null_in_key.json │ ├── y_object_extreme_numbers.json │ ├── y_object_long_strings.json │ ├── y_object_simple.json │ ├── y_object_string_unicode.json │ ├── y_object_with_newlines.json │ ├── y_string_1_2_3_bytes_UTF-8_sequences.json │ ├── y_string_accepted_surrogate_pair.json │ ├── y_string_accepted_surrogate_pairs.json │ ├── y_string_allowed_escapes.json │ ├── y_string_backslash_and_u_escaped_zero.json │ ├── y_string_backslash_doublequotes.json │ ├── y_string_comments.json │ ├── y_string_double_escape_a.json │ ├── y_string_double_escape_n.json │ ├── y_string_escaped_control_character.json │ ├── y_string_escaped_noncharacter.json │ ├── y_string_in_array.json │ ├── y_string_in_array_with_leading_space.json │ ├── y_string_last_surrogates_1_and_2.json │ ├── y_string_nbsp_uescaped.json │ ├── y_string_nonCharacterInUTF-8_U+10FFFF.json │ ├── y_string_nonCharacterInUTF-8_U+FFFF.json │ ├── y_string_null_escape.json │ ├── y_string_one-byte-utf-8.json │ ├── y_string_pi.json │ ├── y_string_reservedCharacterInUTF-8_U+1BFFF.json │ ├── y_string_simple_ascii.json │ ├── y_string_space.json │ ├── y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json │ ├── y_string_three-byte-utf-8.json │ ├── y_string_two-byte-utf-8.json │ ├── y_string_u+2028_line_sep.json │ ├── y_string_u+2029_par_sep.json │ ├── y_string_uEscape.json │ ├── y_string_uescaped_newline.json │ ├── y_string_unescaped_char_delete.json │ ├── y_string_unicode.json │ ├── y_string_unicodeEscapedBackslash.json │ ├── y_string_unicode_2.json │ ├── y_string_unicode_U+10FFFE_nonchar.json │ ├── y_string_unicode_U+1FFFE_nonchar.json │ ├── y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json │ ├── y_string_unicode_U+2064_invisible_plus.json │ ├── y_string_unicode_U+FDD0_nonchar.json │ ├── y_string_unicode_U+FFFE_nonchar.json │ ├── y_string_unicode_escaped_double_quote.json │ ├── y_string_utf8.json │ ├── y_string_with_del_character.json │ ├── y_structure_lonely_false.json │ ├── y_structure_lonely_int.json │ ├── y_structure_lonely_negative_real.json │ ├── y_structure_lonely_null.json │ ├── y_structure_lonely_string.json │ ├── y_structure_lonely_true.json │ ├── y_structure_string_empty.json │ ├── y_structure_trailing_newline.json │ ├── y_structure_true_in_array.json │ └── y_structure_whitespace_array.json ├── json_object_fuzzer.c ├── transaction_fuzzer.c └── tx_corpus │ ├── crash-23986f99679cd8b4f69c6b2ccc79c2ef0886e0b3 │ ├── crash-4073a91ce14a0deb88f60f5105b813c306181cd5 │ ├── crash-ec2ecebd94f6745491104b3cbc195d0eabbcfd5e │ ├── crash-f5ca50f4204486f1b6284ee29ecfad3f6ed4ce28 │ ├── leak-3313ef1bb4ed55d4f9f0591bdd3e3a02d6138966 │ ├── leak-ce2bb0d6a1f2acf9ba28c5889c9dbfc38f31532a │ ├── leak-e61e847e47a640bbe0d0db6ae4390efc742c28f3 │ ├── oom-893f002584ceb91b3e986886611cbd35687eb4b9 │ ├── oom-e3250b7c58f7ea55178aa7f82a859c457c7823f4 │ ├── tx_cbor.hex │ ├── tx_cbor2.hex │ ├── tx_cbor3.hex │ ├── tx_cbor4.hex │ └── tx_cbor5.hex ├── lib ├── CMakeLists.txt ├── cardano-c.pc.in ├── external │ ├── gmp │ │ ├── README │ │ ├── mini-gmp.c │ │ └── mini-gmp.h │ └── libsodium │ │ ├── AUTHORS │ │ ├── LICENSE │ │ ├── README.markdown │ │ ├── crypto_aead │ │ └── chacha20poly1305 │ │ │ └── aead_chacha20poly1305.c │ │ ├── crypto_auth │ │ ├── crypto_auth.c │ │ ├── hmacsha256 │ │ │ └── auth_hmacsha256.c │ │ ├── hmacsha512 │ │ │ └── auth_hmacsha512.c │ │ └── hmacsha512256 │ │ │ └── auth_hmacsha512256.c │ │ ├── crypto_core │ │ ├── ed25519 │ │ │ ├── core_ed25519.c │ │ │ ├── core_ristretto255.c │ │ │ └── ref10 │ │ │ │ ├── ed25519_ref10.c │ │ │ │ ├── fe_25_5 │ │ │ │ ├── base.h │ │ │ │ ├── base2.h │ │ │ │ ├── constants.h │ │ │ │ └── fe.h │ │ │ │ └── fe_51 │ │ │ │ ├── base.h │ │ │ │ ├── base2.h │ │ │ │ ├── constants.h │ │ │ │ └── fe.h │ │ ├── hchacha20 │ │ │ └── core_hchacha20.c │ │ ├── hsalsa20 │ │ │ ├── core_hsalsa20.c │ │ │ └── ref2 │ │ │ │ └── core_hsalsa20_ref2.c │ │ └── salsa │ │ │ └── ref │ │ │ └── core_salsa_ref.c │ │ ├── crypto_generichash │ │ ├── blake2b │ │ │ ├── generichash_blake2.c │ │ │ └── ref │ │ │ │ ├── blake2.h │ │ │ │ ├── blake2b-compress-avx2.c │ │ │ │ ├── blake2b-compress-avx2.h │ │ │ │ ├── blake2b-compress-ref.c │ │ │ │ ├── blake2b-compress-sse41.c │ │ │ │ ├── blake2b-compress-sse41.h │ │ │ │ ├── blake2b-compress-ssse3.c │ │ │ │ ├── blake2b-compress-ssse3.h │ │ │ │ ├── blake2b-load-avx2.h │ │ │ │ ├── blake2b-load-sse2.h │ │ │ │ ├── blake2b-load-sse41.h │ │ │ │ ├── blake2b-ref.c │ │ │ │ └── generichash_blake2b.c │ │ └── crypto_generichash.c │ │ ├── crypto_hash │ │ ├── crypto_hash.c │ │ ├── sha256 │ │ │ ├── cp │ │ │ │ └── hash_sha256_cp.c │ │ │ └── hash_sha256.c │ │ └── sha512 │ │ │ ├── cp │ │ │ └── hash_sha512_cp.c │ │ │ └── hash_sha512.c │ │ ├── crypto_onetimeauth │ │ ├── crypto_onetimeauth.c │ │ └── poly1305 │ │ │ ├── donna │ │ │ ├── poly1305_donna.c │ │ │ ├── poly1305_donna.h │ │ │ ├── poly1305_donna32.h │ │ │ └── poly1305_donna64.h │ │ │ ├── onetimeauth_poly1305.c │ │ │ ├── onetimeauth_poly1305.h │ │ │ └── sse2 │ │ │ ├── poly1305_sse2.c │ │ │ └── poly1305_sse2.h │ │ ├── crypto_scalarmult │ │ ├── crypto_scalarmult.c │ │ ├── curve25519 │ │ │ ├── ref10 │ │ │ │ ├── x25519_ref10.c │ │ │ │ └── x25519_ref10.h │ │ │ ├── sandy2x │ │ │ │ ├── consts.S │ │ │ │ ├── consts_namespace.h │ │ │ │ ├── curve25519_sandy2x.c │ │ │ │ ├── curve25519_sandy2x.h │ │ │ │ ├── fe.h │ │ │ │ ├── fe51.h │ │ │ │ ├── fe51_invert.c │ │ │ │ ├── fe51_mul.S │ │ │ │ ├── fe51_namespace.h │ │ │ │ ├── fe51_nsquare.S │ │ │ │ ├── fe51_pack.S │ │ │ │ ├── fe_frombytes_sandy2x.c │ │ │ │ ├── ladder.S │ │ │ │ ├── ladder.h │ │ │ │ ├── ladder_namespace.h │ │ │ │ └── sandy2x.S │ │ │ ├── scalarmult_curve25519.c │ │ │ └── scalarmult_curve25519.h │ │ └── ed25519 │ │ │ └── ref10 │ │ │ └── scalarmult_ed25519_ref10.c │ │ ├── crypto_secretstream │ │ └── xchacha20poly1305 │ │ │ └── secretstream_xchacha20poly1305.c │ │ ├── crypto_sign │ │ ├── crypto_sign.c │ │ └── ed25519 │ │ │ ├── ref10 │ │ │ ├── keypair.c │ │ │ ├── obsolete.c │ │ │ ├── open.c │ │ │ ├── sign.c │ │ │ └── sign_ed25519_ref10.h │ │ │ └── sign_ed25519.c │ │ ├── crypto_stream │ │ ├── chacha20 │ │ │ ├── dolbeau │ │ │ │ ├── chacha20_dolbeau-avx2.c │ │ │ │ ├── chacha20_dolbeau-avx2.h │ │ │ │ ├── chacha20_dolbeau-ssse3.c │ │ │ │ ├── chacha20_dolbeau-ssse3.h │ │ │ │ ├── u0.h │ │ │ │ ├── u1.h │ │ │ │ ├── u4.h │ │ │ │ └── u8.h │ │ │ ├── ref │ │ │ │ ├── chacha20_ref.c │ │ │ │ └── chacha20_ref.h │ │ │ ├── stream_chacha20.c │ │ │ └── stream_chacha20.h │ │ ├── crypto_stream.c │ │ ├── salsa20 │ │ │ ├── ref │ │ │ │ ├── salsa20_ref.c │ │ │ │ └── salsa20_ref.h │ │ │ ├── stream_salsa20.c │ │ │ ├── stream_salsa20.h │ │ │ ├── xmm6 │ │ │ │ ├── salsa20_xmm6-asm.S │ │ │ │ ├── salsa20_xmm6.c │ │ │ │ └── salsa20_xmm6.h │ │ │ └── xmm6int │ │ │ │ ├── salsa20_xmm6int-avx2.c │ │ │ │ ├── salsa20_xmm6int-avx2.h │ │ │ │ ├── salsa20_xmm6int-sse2.c │ │ │ │ ├── salsa20_xmm6int-sse2.h │ │ │ │ ├── u0.h │ │ │ │ ├── u1.h │ │ │ │ ├── u4.h │ │ │ │ └── u8.h │ │ ├── salsa2012 │ │ │ ├── ref │ │ │ │ └── stream_salsa2012_ref.c │ │ │ └── stream_salsa2012.c │ │ ├── salsa208 │ │ │ ├── ref │ │ │ │ └── stream_salsa208_ref.c │ │ │ └── stream_salsa208.c │ │ ├── xchacha20 │ │ │ └── stream_xchacha20.c │ │ └── xsalsa20 │ │ │ └── stream_xsalsa20.c │ │ ├── crypto_verify │ │ └── verify.c │ │ ├── include │ │ ├── sodium.h │ │ └── sodium │ │ │ ├── core.h │ │ │ ├── crypto_aead_aegis128l.h │ │ │ ├── crypto_aead_aegis256.h │ │ │ ├── crypto_aead_aes256gcm.h │ │ │ ├── crypto_aead_chacha20poly1305.h │ │ │ ├── crypto_aead_xchacha20poly1305.h │ │ │ ├── crypto_auth.h │ │ │ ├── crypto_auth_hmacsha256.h │ │ │ ├── crypto_auth_hmacsha512.h │ │ │ ├── crypto_auth_hmacsha512256.h │ │ │ ├── crypto_box.h │ │ │ ├── crypto_box_curve25519xchacha20poly1305.h │ │ │ ├── crypto_box_curve25519xsalsa20poly1305.h │ │ │ ├── crypto_core_ed25519.h │ │ │ ├── crypto_core_hchacha20.h │ │ │ ├── crypto_core_hsalsa20.h │ │ │ ├── crypto_core_ristretto255.h │ │ │ ├── crypto_core_salsa20.h │ │ │ ├── crypto_core_salsa2012.h │ │ │ ├── crypto_core_salsa208.h │ │ │ ├── crypto_generichash.h │ │ │ ├── crypto_generichash_blake2b.h │ │ │ ├── crypto_hash.h │ │ │ ├── crypto_hash_sha256.h │ │ │ ├── crypto_hash_sha512.h │ │ │ ├── crypto_kdf.h │ │ │ ├── crypto_kdf_blake2b.h │ │ │ ├── crypto_kdf_hkdf_sha256.h │ │ │ ├── crypto_kdf_hkdf_sha512.h │ │ │ ├── crypto_kx.h │ │ │ ├── crypto_onetimeauth.h │ │ │ ├── crypto_onetimeauth_poly1305.h │ │ │ ├── crypto_pwhash.h │ │ │ ├── crypto_pwhash_argon2i.h │ │ │ ├── crypto_pwhash_argon2id.h │ │ │ ├── crypto_pwhash_scryptsalsa208sha256.h │ │ │ ├── crypto_scalarmult.h │ │ │ ├── crypto_scalarmult_curve25519.h │ │ │ ├── crypto_scalarmult_ed25519.h │ │ │ ├── crypto_scalarmult_ristretto255.h │ │ │ ├── crypto_secretbox.h │ │ │ ├── crypto_secretbox_xchacha20poly1305.h │ │ │ ├── crypto_secretbox_xsalsa20poly1305.h │ │ │ ├── crypto_secretstream_xchacha20poly1305.h │ │ │ ├── crypto_shorthash.h │ │ │ ├── crypto_shorthash_siphash24.h │ │ │ ├── crypto_sign.h │ │ │ ├── crypto_sign_ed25519.h │ │ │ ├── crypto_sign_edwards25519sha512batch.h │ │ │ ├── crypto_stream.h │ │ │ ├── crypto_stream_chacha20.h │ │ │ ├── crypto_stream_salsa20.h │ │ │ ├── crypto_stream_salsa2012.h │ │ │ ├── crypto_stream_salsa208.h │ │ │ ├── crypto_stream_xchacha20.h │ │ │ ├── crypto_stream_xsalsa20.h │ │ │ ├── crypto_verify_16.h │ │ │ ├── crypto_verify_32.h │ │ │ ├── crypto_verify_64.h │ │ │ ├── export.h │ │ │ ├── private │ │ │ ├── asm_cet.h │ │ │ ├── chacha20_ietf_ext.h │ │ │ ├── common.h │ │ │ ├── ed25519_ref10.h │ │ │ ├── ed25519_ref10_fe_25_5.h │ │ │ ├── ed25519_ref10_fe_51.h │ │ │ ├── implementations.h │ │ │ ├── mutex.h │ │ │ ├── softaes.h │ │ │ └── sse2_64_32.h │ │ │ ├── randombytes.h │ │ │ ├── randombytes_internal_random.h │ │ │ ├── randombytes_sysrandom.h │ │ │ ├── runtime.h │ │ │ ├── utils.h │ │ │ └── version.h │ │ ├── randombytes │ │ ├── internal │ │ │ └── randombytes_internal_random.c │ │ ├── randombytes.c │ │ └── sysrandom │ │ │ └── randombytes_sysrandom.c │ │ └── sodium │ │ ├── codecs.c │ │ ├── core.c │ │ ├── runtime.c │ │ ├── utils.c │ │ └── version.c ├── include │ └── cardano │ │ ├── address │ │ ├── address.h │ │ ├── address_type.h │ │ ├── base_address.h │ │ ├── byron_address.h │ │ ├── byron_address_attributes.h │ │ ├── byron_address_type.h │ │ ├── enterprise_address.h │ │ ├── pointer_address.h │ │ ├── reward_address.h │ │ └── stake_pointer.h │ │ ├── assets │ │ ├── asset_id.h │ │ ├── asset_id_list.h │ │ ├── asset_id_map.h │ │ ├── asset_name.h │ │ ├── asset_name_list.h │ │ ├── asset_name_map.h │ │ ├── multi_asset.h │ │ └── policy_id_list.h │ │ ├── auxiliary_data │ │ ├── auxiliary_data.h │ │ ├── metadatum.h │ │ ├── metadatum_kind.h │ │ ├── metadatum_label_list.h │ │ ├── metadatum_list.h │ │ ├── metadatum_map.h │ │ ├── plutus_v1_script_list.h │ │ ├── plutus_v2_script_list.h │ │ ├── plutus_v3_script_list.h │ │ └── transaction_metadata.h │ │ ├── bip39.h │ │ ├── buffer.h │ │ ├── cardano.h │ │ ├── cbor │ │ ├── cbor_major_type.h │ │ ├── cbor_reader.h │ │ ├── cbor_reader_state.h │ │ ├── cbor_simple_value.h │ │ ├── cbor_tag.h │ │ └── cbor_writer.h │ │ ├── certs │ │ ├── auth_committee_hot_cert.h │ │ ├── cert_type.h │ │ ├── certificate.h │ │ ├── certificate_set.h │ │ ├── genesis_key_delegation_cert.h │ │ ├── mir_cert.h │ │ ├── mir_cert_pot_type.h │ │ ├── mir_cert_type.h │ │ ├── mir_to_pot_cert.h │ │ ├── mir_to_stake_creds_cert.h │ │ ├── pool_registration_cert.h │ │ ├── pool_retirement_cert.h │ │ ├── register_drep_cert.h │ │ ├── registration_cert.h │ │ ├── resign_committee_cold_cert.h │ │ ├── stake_delegation_cert.h │ │ ├── stake_deregistration_cert.h │ │ ├── stake_registration_cert.h │ │ ├── stake_registration_delegation_cert.h │ │ ├── stake_vote_delegation_cert.h │ │ ├── stake_vote_registration_delegation_cert.h │ │ ├── unregister_drep_cert.h │ │ ├── unregistration_cert.h │ │ ├── update_drep_cert.h │ │ ├── vote_delegation_cert.h │ │ └── vote_registration_delegation_cert.h │ │ ├── common │ │ ├── anchor.h │ │ ├── bigint.h │ │ ├── byte_order.h │ │ ├── credential.h │ │ ├── credential_type.h │ │ ├── datum.h │ │ ├── datum_type.h │ │ ├── drep.h │ │ ├── drep_type.h │ │ ├── ex_units.h │ │ ├── governance_action_id.h │ │ ├── governance_key_type.h │ │ ├── network_id.h │ │ ├── network_magic.h │ │ ├── protocol_version.h │ │ ├── reward_address_list.h │ │ ├── unit_interval.h │ │ ├── utxo.h │ │ ├── utxo_list.h │ │ └── withdrawal_map.h │ │ ├── crypto │ │ ├── bip32_private_key.h │ │ ├── bip32_public_key.h │ │ ├── blake2b_hash.h │ │ ├── blake2b_hash_set.h │ │ ├── blake2b_hash_size.h │ │ ├── crc32.h │ │ ├── ed25519_private_key.h │ │ ├── ed25519_public_key.h │ │ ├── ed25519_signature.h │ │ ├── emip3.h │ │ └── pbkdf2.h │ │ ├── encoding │ │ ├── base58.h │ │ └── bech32.h │ │ ├── error.h │ │ ├── export.h │ │ ├── json │ │ ├── json_context.h │ │ ├── json_format.h │ │ ├── json_object.h │ │ ├── json_object_type.h │ │ └── json_writer.h │ │ ├── key_handlers │ │ ├── account_derivation_path.h │ │ ├── cip_1852_constants.h │ │ ├── derivation_path.h │ │ ├── secure_key_handler.h │ │ ├── secure_key_handler_impl.h │ │ ├── secure_key_handler_type.h │ │ └── software_secure_key_handler.h │ │ ├── object.h │ │ ├── plutus_data │ │ ├── constr_plutus_data.h │ │ ├── plutus_data.h │ │ ├── plutus_data_kind.h │ │ ├── plutus_list.h │ │ └── plutus_map.h │ │ ├── pool_params │ │ ├── ipv4.h │ │ ├── ipv6.h │ │ ├── multi_host_name_relay.h │ │ ├── pool_metadata.h │ │ ├── pool_owners.h │ │ ├── pool_params.h │ │ ├── relay.h │ │ ├── relay_type.h │ │ ├── relays.h │ │ ├── single_host_addr_relay.h │ │ └── single_host_name_relay.h │ │ ├── proposal_procedures │ │ ├── committee.h │ │ ├── committee_members_map.h │ │ ├── constitution.h │ │ ├── credential_set.h │ │ ├── governance_action_type.h │ │ ├── hard_fork_initiation_action.h │ │ ├── info_action.h │ │ ├── new_constitution_action.h │ │ ├── no_confidence_action.h │ │ ├── parameter_change_action.h │ │ ├── proposal_procedure.h │ │ ├── proposal_procedure_set.h │ │ ├── treasury_withdrawals_action.h │ │ └── update_committee_action.h │ │ ├── protocol_params │ │ ├── cost_model.h │ │ ├── costmdls.h │ │ ├── drep_voting_thresholds.h │ │ ├── ex_unit_prices.h │ │ ├── pool_voting_thresholds.h │ │ ├── proposed_param_updates.h │ │ ├── protocol_param_update.h │ │ ├── protocol_parameters.h │ │ └── update.h │ │ ├── providers │ │ ├── provider.h │ │ └── provider_impl.h │ │ ├── scripts │ │ ├── native_scripts │ │ │ ├── native_script.h │ │ │ ├── native_script_list.h │ │ │ ├── native_script_type.h │ │ │ ├── script_all.h │ │ │ ├── script_any.h │ │ │ ├── script_invalid_after.h │ │ │ ├── script_invalid_before.h │ │ │ ├── script_n_of_k.h │ │ │ └── script_pubkey.h │ │ ├── plutus_scripts │ │ │ ├── plutus_language_version.h │ │ │ ├── plutus_v1_script.h │ │ │ ├── plutus_v2_script.h │ │ │ └── plutus_v3_script.h │ │ ├── script.h │ │ └── script_language.h │ │ ├── time.h │ │ ├── transaction │ │ └── transaction.h │ │ ├── transaction_body │ │ ├── transaction_body.h │ │ ├── transaction_input.h │ │ ├── transaction_input_set.h │ │ ├── transaction_output.h │ │ ├── transaction_output_list.h │ │ └── value.h │ │ ├── transaction_builder │ │ ├── balancing │ │ │ ├── implicit_coin.h │ │ │ ├── input_to_redeemer_map.h │ │ │ └── transaction_balancing.h │ │ ├── coin_selection │ │ │ ├── coin_selector.h │ │ │ ├── coin_selector_impl.h │ │ │ └── large_first_coin_selector.h │ │ ├── evaluation │ │ │ ├── provider_tx_evaluator.h │ │ │ ├── tx_evaluator.h │ │ │ └── tx_evaluator_impl.h │ │ ├── fee.h │ │ ├── script_data_hash.h │ │ └── transaction_builder.h │ │ ├── typedefs.h │ │ ├── voting_procedures │ │ ├── governance_action_id_list.h │ │ ├── vote.h │ │ ├── voter.h │ │ ├── voter_list.h │ │ ├── voter_type.h │ │ ├── voting_procedure.h │ │ ├── voting_procedure_list.h │ │ └── voting_procedures.h │ │ └── witness_set │ │ ├── bootstrap_witness.h │ │ ├── bootstrap_witness_set.h │ │ ├── native_script_set.h │ │ ├── plutus_data_set.h │ │ ├── plutus_v1_script_set.h │ │ ├── plutus_v2_script_set.h │ │ ├── plutus_v3_script_set.h │ │ ├── redeemer.h │ │ ├── redeemer_list.h │ │ ├── redeemer_tag.h │ │ ├── vkey_witness.h │ │ ├── vkey_witness_set.h │ │ └── witness_set.h ├── src │ ├── address │ │ ├── address.c │ │ ├── base_address.c │ │ ├── byron_address.c │ │ ├── enterprise_address.c │ │ ├── internals │ │ │ ├── addr_common.c │ │ │ ├── addr_common.h │ │ │ ├── base_addr_pack.c │ │ │ ├── base_addr_pack.h │ │ │ ├── byron_addr_pack.c │ │ │ ├── byron_addr_pack.h │ │ │ ├── byron_address_content.h │ │ │ ├── enterprise_addr_pack.c │ │ │ ├── enterprise_addr_pack.h │ │ │ ├── pointer_addr_pack.c │ │ │ ├── pointer_addr_pack.h │ │ │ ├── reward_addr_pack.c │ │ │ └── reward_addr_pack.h │ │ ├── pointer_address.c │ │ └── reward_address.c │ ├── allocators.c │ ├── allocators.h │ ├── assets │ │ ├── asset_id.c │ │ ├── asset_id_list.c │ │ ├── asset_id_map.c │ │ ├── asset_name.c │ │ ├── asset_name_list.c │ │ ├── asset_name_map.c │ │ ├── multi_asset.c │ │ └── policy_id_list.c │ ├── auxiliary_data │ │ ├── auxiliary_data.c │ │ ├── metadatum.c │ │ ├── metadatum_label_list.c │ │ ├── metadatum_list.c │ │ ├── metadatum_map.c │ │ ├── plutus_v1_script_list.c │ │ ├── plutus_v2_script_list.c │ │ ├── plutus_v3_script_list.c │ │ └── transaction_metadata.c │ ├── bip39 │ │ ├── bip39.c │ │ └── bip39_wordlist_en.h │ ├── buffer │ │ └── buffer.c │ ├── cardano.c │ ├── cbor │ │ ├── cbor_additional_info.h │ │ ├── cbor_initial_byte.c │ │ ├── cbor_initial_byte.h │ │ ├── cbor_major_type.c │ │ ├── cbor_reader │ │ │ ├── cbor_reader.c │ │ │ ├── cbor_reader_collections.c │ │ │ ├── cbor_reader_collections.h │ │ │ ├── cbor_reader_core.c │ │ │ ├── cbor_reader_core.h │ │ │ ├── cbor_reader_numeric.c │ │ │ ├── cbor_reader_numeric.h │ │ │ ├── cbor_reader_simple_values.c │ │ │ ├── cbor_reader_simple_values.h │ │ │ ├── cbor_reader_tags.c │ │ │ └── cbor_reader_tags.h │ │ ├── cbor_reader_state.c │ │ ├── cbor_simple_value.c │ │ ├── cbor_tag.c │ │ ├── cbor_validation.c │ │ ├── cbor_validation.h │ │ └── cbor_writer.c │ ├── certs │ │ ├── auth_committee_hot_cert.c │ │ ├── cert_type.c │ │ ├── certificate.c │ │ ├── certificate_set.c │ │ ├── genesis_key_delegation_cert.c │ │ ├── mir_cert.c │ │ ├── mir_to_pot_cert.c │ │ ├── mir_to_stake_creds_cert.c │ │ ├── pool_registration_cert.c │ │ ├── pool_retirement_cert.c │ │ ├── register_drep_cert.c │ │ ├── registration_cert.c │ │ ├── resign_committee_cold_cert.c │ │ ├── stake_delegation_cert.c │ │ ├── stake_deregistration_cert.c │ │ ├── stake_registration_cert.c │ │ ├── stake_registration_delegation_cert.c │ │ ├── stake_vote_delegation_cert.c │ │ ├── stake_vote_registration_delegation_cert.c │ │ ├── unregister_drep_cert.c │ │ ├── unregistration_cert.c │ │ ├── update_drep_cert.c │ │ ├── vote_delegation_cert.c │ │ └── vote_registration_delegation_cert.c │ ├── collections │ │ ├── array.c │ │ ├── array.h │ │ ├── set.c │ │ └── set.h │ ├── common │ │ ├── anchor.c │ │ ├── bigint.c │ │ ├── credential.c │ │ ├── datum.c │ │ ├── drep.c │ │ ├── ex_units.c │ │ ├── governance_action_id.c │ │ ├── network_magic.c │ │ ├── protocol_version.c │ │ ├── reward_address_list.c │ │ ├── unit_interval.c │ │ ├── utxo.c │ │ ├── utxo_list.c │ │ └── withdrawal_map.c │ ├── config.h.in │ ├── crypto │ │ ├── arithmetic.c │ │ ├── arithmetic.h │ │ ├── bip32_key_derivation.c │ │ ├── bip32_key_derivation.h │ │ ├── bip32_private_key.c │ │ ├── bip32_public_key.c │ │ ├── blake2b_hash.c │ │ ├── blake2b_hash_set.c │ │ ├── crc32.c │ │ ├── ed25519_private_key.c │ │ ├── ed25519_public_key.c │ │ ├── ed25519_signature.c │ │ ├── emip3.c │ │ └── pbkdf2.c │ ├── encoding │ │ ├── base58.c │ │ └── bech32.c │ ├── endian.c │ ├── endian.h │ ├── error.c │ ├── json │ │ ├── internals │ │ │ ├── json_object_common.c │ │ │ ├── json_object_common.h │ │ │ ├── json_object_serialization.c │ │ │ ├── json_object_serialization.h │ │ │ ├── json_parser.c │ │ │ ├── json_parser.h │ │ │ ├── json_writer_common.c │ │ │ ├── json_writer_common.h │ │ │ ├── utf8.c │ │ │ └── utf8.h │ │ ├── json_object.c │ │ └── json_writer.c │ ├── key_handlers │ │ ├── secure_key_handler.c │ │ └── software_secure_key_handler.c │ ├── object.c │ ├── plutus_data │ │ ├── constr_plutus_data.c │ │ ├── plutus_data.c │ │ ├── plutus_list.c │ │ └── plutus_map.c │ ├── pool_params │ │ ├── ipv4.c │ │ ├── ipv6.c │ │ ├── multi_host_name_relay.c │ │ ├── pool_metadata.c │ │ ├── pool_owners.c │ │ ├── pool_params.c │ │ ├── relay.c │ │ ├── relay_type.c │ │ ├── relays.c │ │ ├── single_host_addr_relay.c │ │ └── single_host_name_relay.c │ ├── proposal_procedures │ │ ├── committee.c │ │ ├── committee_members_map.c │ │ ├── constitution.c │ │ ├── credential_set.c │ │ ├── governance_action_type.c │ │ ├── hard_fork_initiation_action.c │ │ ├── info_action.c │ │ ├── new_constitution_action.c │ │ ├── no_confidence_action.c │ │ ├── parameter_change_action.c │ │ ├── proposal_procedure.c │ │ ├── proposal_procedure_set.c │ │ ├── treasury_withdrawals_action.c │ │ └── update_committee_action.c │ ├── protocol_params │ │ ├── cost_model.c │ │ ├── costmdls.c │ │ ├── drep_voting_thresholds.c │ │ ├── ex_unit_prices.c │ │ ├── pool_voting_thresholds.c │ │ ├── proposed_param_updates.c │ │ ├── protocol_param_update.c │ │ ├── protocol_parameters.c │ │ └── update.c │ ├── providers │ │ ├── emscripten │ │ │ └── emscripten_provider.c │ │ └── provider.c │ ├── scripts │ │ ├── native_scripts │ │ │ ├── native_script.c │ │ │ ├── native_script_list.c │ │ │ ├── native_script_type.c │ │ │ ├── script_all.c │ │ │ ├── script_any.c │ │ │ ├── script_invalid_after.c │ │ │ ├── script_invalid_before.c │ │ │ ├── script_n_of_k.c │ │ │ └── script_pubkey.c │ │ ├── plutus_scripts │ │ │ ├── plutus_v1_script.c │ │ │ ├── plutus_v2_script.c │ │ │ └── plutus_v3_script.c │ │ └── script.c │ ├── string_safe.c │ ├── string_safe.h │ ├── time.c │ ├── transaction │ │ └── transaction.c │ ├── transaction_body │ │ ├── transaction_body.c │ │ ├── transaction_input.c │ │ ├── transaction_input_set.c │ │ ├── transaction_output.c │ │ ├── transaction_output_list.c │ │ └── value.c │ ├── transaction_builder │ │ ├── balancing │ │ │ ├── implicit_coin.c │ │ │ ├── input_to_redeemer_map.c │ │ │ ├── internals │ │ │ │ ├── collateral.c │ │ │ │ ├── collateral.h │ │ │ │ ├── unique_signers.c │ │ │ │ └── unique_signers.h │ │ │ └── transaction_balancing.c │ │ ├── coin_selection │ │ │ ├── coin_selector.c │ │ │ └── internals │ │ │ │ ├── emscripten_coin_selector.c │ │ │ │ ├── large_first_coin_selector.c │ │ │ │ ├── large_first_helpers.c │ │ │ │ └── large_first_helpers.h │ │ ├── evaluation │ │ │ ├── emscripten_tx_evaluator.c │ │ │ ├── provider_tx_evaluator.c │ │ │ └── tx_evaluator.c │ │ ├── fee.c │ │ ├── internals │ │ │ ├── blake2b_hash_to_redeemer_map.c │ │ │ └── blake2b_hash_to_redeemer_map.h │ │ ├── script_data_hash.c │ │ └── transaction_builder.c │ ├── voting_procedures │ │ ├── governance_action_id_list.c │ │ ├── vote.c │ │ ├── voter.c │ │ ├── voter_list.c │ │ ├── voter_type.c │ │ ├── voting_procedure.c │ │ ├── voting_procedure_list.c │ │ ├── voting_procedure_map.c │ │ ├── voting_procedure_map.h │ │ └── voting_procedures.c │ └── witness_set │ │ ├── bootstrap_witness.c │ │ ├── bootstrap_witness_set.c │ │ ├── native_script_set.c │ │ ├── plutus_data_set.c │ │ ├── plutus_v1_script_set.c │ │ ├── plutus_v2_script_set.c │ │ ├── plutus_v3_script_set.c │ │ ├── redeemer.c │ │ ├── redeemer_list.c │ │ ├── vkey_witness.c │ │ ├── vkey_witness_set.c │ │ └── witness_set.c └── tests │ ├── address │ ├── address.cpp │ ├── address_internals.cpp │ ├── base_address.cpp │ ├── byron_address.cpp │ ├── cip19_test_vectors.h │ ├── enterprise_address.cpp │ ├── pointer_address.cpp │ └── reward_address.cpp │ ├── allocators.cpp │ ├── allocators_helpers.cpp │ ├── allocators_helpers.h │ ├── assets │ ├── asset_id.cpp │ ├── asset_id_list.cpp │ ├── asset_id_map.cpp │ ├── asset_name.cpp │ ├── asset_name_list.cpp │ ├── asset_name_map.cpp │ ├── multi_asset.cpp │ └── policy_id_list.cpp │ ├── auxiliary_data │ ├── auxiliary_data.cpp │ ├── metadatum.cpp │ ├── metadatum_label_list.cpp │ ├── metadatum_list.cpp │ ├── metadatum_map.cpp │ ├── plutus_v1_script_list.cpp │ ├── plutus_v2_script_list.cpp │ ├── plutus_v3_script_list.cpp │ └── transaction_metadata.cpp │ ├── bip39.cpp │ ├── buffer │ └── buffer.cpp │ ├── cardano.cpp │ ├── cbor │ ├── cbor_initial_byte.cpp │ ├── cbor_major_type.cpp │ ├── cbor_reader.cpp │ ├── cbor_reader_state.cpp │ ├── cbor_simple_value.cpp │ ├── cbor_tag.cpp │ ├── cbor_validation.cpp │ └── cbor_writer.cpp │ ├── certs │ ├── auth_committee_hot_cert.cpp │ ├── certificate.cpp │ ├── certificate_set.cpp │ ├── certs_type.cpp │ ├── genesis_key_delegation_cert.cpp │ ├── mir_cert.cpp │ ├── mir_to_pot_cert.cpp │ ├── mir_to_stake_creds_cert.cpp │ ├── pool_registration_cert.cpp │ ├── pool_retirement_cert.cpp │ ├── register_drep_cert.cpp │ ├── registration_cert.cpp │ ├── resign_committee_cold_cert.cpp │ ├── stake_delegation_cert.cpp │ ├── stake_deregistration_cert.cpp │ ├── stake_registration_cert.cpp │ ├── stake_registration_delegation_cert.cpp │ ├── stake_vote_delegation_cert.cpp │ ├── stake_vote_registration_delegation_cert.cpp │ ├── unregister_drep_cert.cpp │ ├── unregistration_cert.cpp │ ├── update_drep_cert.cpp │ ├── vote_delegation_cert.cpp │ └── vote_registration_delegation_cert.cpp │ ├── collections │ ├── array.cpp │ └── set.cpp │ ├── common │ ├── anchor.cpp │ ├── bigint.cpp │ ├── credential.cpp │ ├── datum.cpp │ ├── drep.cpp │ ├── ex_units.cpp │ ├── governance_action_id.cpp │ ├── network_magic.cpp │ ├── protocol_version.cpp │ ├── reward_address_list.cpp │ ├── unit_interval.cpp │ ├── utxo.cpp │ ├── utxo_list.cpp │ └── withdrawal_map.cpp │ ├── crypto │ ├── bip32_private_key.cpp │ ├── bip32_public_key.cpp │ ├── blake2b_hash.cpp │ ├── blake2b_hash_set.cpp │ ├── crc32.cpp │ ├── ed25519_private_key.cpp │ ├── ed25519_public_key.cpp │ ├── ed25519_signature.cpp │ ├── ed25519_vectors.h │ ├── emip3.cpp │ └── pbkdf2.cpp │ ├── encoding │ ├── base58.cpp │ └── bech32.cpp │ ├── endian.cpp │ ├── error.cpp │ ├── json │ ├── json_object.cpp │ └── json_writer.cpp │ ├── key_handlers │ ├── secure_key_handler.cpp │ └── software_secure_key_handler.cpp │ ├── object.cpp │ ├── plutus_data │ ├── constr_plutus_data.cpp │ ├── plutus_data.cpp │ ├── plutus_list.cpp │ └── plutus_map.cpp │ ├── pool_params │ ├── ipv4.cpp │ ├── ipv6.cpp │ ├── multi_host_name_relay.cpp │ ├── pool_metadata.cpp │ ├── pool_owners.cpp │ ├── pool_params.cpp │ ├── relay.cpp │ ├── relay_type.cpp │ ├── relays.cpp │ ├── single_host_addr_relay.cpp │ └── single_host_name_relay.cpp │ ├── proposal_procedures │ ├── committee.cpp │ ├── committee_members_map.cpp │ ├── constitution.cpp │ ├── credential_set.cpp │ ├── governance_action_type.cpp │ ├── hard_fork_initiation_action.cpp │ ├── info_action.cpp │ ├── new_constitution_action.cpp │ ├── no_confidence_action.cpp │ ├── parameter_change_action.cpp │ ├── proposal_procedure.cpp │ ├── proposal_procedure_set.cpp │ ├── treasury_withdrawals_action.cpp │ └── update_committee_action.cpp │ ├── protocol_params │ ├── cost_model.cpp │ ├── costdmls.cpp │ ├── drep_voting_thresholds.cpp │ ├── ex_unit_prices.cpp │ ├── pool_voting_thresholds.cpp │ ├── proposed_param_updates.cpp │ ├── protocol_param_update.cpp │ ├── protocol_parameters.cpp │ └── update.cpp │ ├── providers │ └── provider.cpp │ ├── scripts │ ├── native_scripts │ │ ├── native_script.cpp │ │ ├── native_script_list.cpp │ │ ├── native_script_type.cpp │ │ ├── script_all.cpp │ │ ├── script_any.cpp │ │ ├── script_invalid_after.cpp │ │ ├── script_invalid_before.cpp │ │ ├── script_n_of_k.cpp │ │ └── script_pubkey.cpp │ ├── plutus_scripts │ │ ├── plutus_v1_script.cpp │ │ ├── plutus_v2_script.cpp │ │ └── plutus_v3_script.cpp │ └── script.cpp │ ├── string_safe.cpp │ ├── time.cpp │ ├── transaction │ └── transaction.cpp │ ├── transaction_body │ ├── transaction_body.cpp │ ├── transaction_input.cpp │ ├── transaction_input_set.cpp │ ├── transaction_output.cpp │ ├── transaction_output_list.cpp │ └── value.cpp │ ├── transaction_builder │ ├── balancing │ │ ├── implicit_coin.cpp │ │ ├── input_to_redeemer_map.cpp │ │ ├── internals │ │ │ ├── collateral.cpp │ │ │ └── unique_signers.cpp │ │ └── transaction_balancing.cpp │ ├── coin_selection │ │ ├── coin_selector.cpp │ │ └── large_first_coin_selector.cpp │ ├── evaluation │ │ ├── provider_tx_evaluator.cpp │ │ └── tx_evaluator.cpp │ ├── fee.cpp │ ├── internals │ │ └── blake2b_hash_to_redeemer_map.cpp │ ├── script_data_hash.cpp │ └── transaction_builder.cpp │ ├── voting_procedures │ ├── governance_action_id_list.cpp │ ├── vote.cpp │ ├── voter.cpp │ ├── voter_list.cpp │ ├── voter_type.cpp │ ├── voting_procedure.cpp │ ├── voting_procedure_list.cpp │ ├── voting_procedure_map.cpp │ └── voting_procedures.cpp │ └── witness_set │ ├── bootstrap_witness.cpp │ ├── bootstrap_witness_set.cpp │ ├── native_script_set.cpp │ ├── plutus_data_set.cpp │ ├── plutus_v1_script_set.cpp │ ├── plutus_v2_script_set.cpp │ ├── plutus_v3_script_set.cpp │ ├── redeemer.cpp │ ├── redeemer_list.cpp │ ├── vkey_witness.cpp │ ├── vkey_witness_set.cpp │ └── witness_set.cpp ├── project_catalyst ├── final_poa │ ├── MISRA_c_compliance_report_038948e7134b5cb06f14f102f947edbca89ce38f.pdf │ └── PROOF_OF_ACHIVEMENT.md ├── m01_poa │ ├── MISRA_c_compliance_report_6fd2cd9cbc1a1096ae974afec5941f95db91ea04‬.pdf │ └── PROOF_OF_ACHIVEMENT.md ├── m02_poa │ ├── MISRA_c_compliance_report_8a533e7d9722b5cb579fb8d35ff11f67df9d3805.pdf │ └── PROOF_OF_ACHIVEMENT.md ├── m03_poa │ ├── MISRA_c_compliance_report_4fcca311f8dbbb1e0468eddbf54a0899f0fdb426.pdf │ └── PROOF_OF_ACHIVEMENT.md └── m04_poa │ ├── MISRA_c_compliance_report_199ddbf8354a2ee8790f88351f06baf943b7de18.pdf │ └── PROOF_OF_ACHIVEMENT.md └── scripts ├── clean.sh ├── create-code-coverage-report.sh ├── create-deb-package.sh ├── create-debug-makefiles.sh ├── create-docs-makefiles.sh ├── create-fuzz-makefiles.sh ├── create-release-makefiles.sh ├── generate-sphinx-definitions.sh ├── misra ├── check_misra.sh ├── misra.json └── suppressions ├── run-clang-format.sh ├── run-valgrind-on-changes.sh ├── run-valgrind.sh └── verify-documentation.sh /.clang-tidy: -------------------------------------------------------------------------------- 1 | Checks: 'clang-diagnostic-*,clang-analyzer-*,readability-*,modernize-*,bugprone-*,misc-*,google-runtime-int,fuchsia-restrict-system-includes,-clang-analyzer-valist.Uninitialized,-clang-analyzer-security.insecureAPI.rand,-clang-analyzer-alpha.*,-readability-magic-numbers,-readability-redundant-casting,-readability-else-after-return,-readability-isolate-declaration,-readability-uppercase-literal-suffix,-bugprone-sizeof-expression,-bugprone-easily-swappable-parameters,-readability-identifier-length,-misc-no-recursion,-readability-function-cognitive-complexity,-readability-magic-numbers,-bugprone-reserved-identifier,-misc-include-cleaner,-bugprone-multi-level-implicit-pointer-conversion,-bugprone-casting-through-void,-clang-analyzer-security.insecureAPI.DeprecatedOrUnsafeBufferHandling' 2 | WarningsAsErrors: '*' 3 | HeaderFilterRegex: '.*\.[h|inl]$' 4 | FormatStyle: 'file' -------------------------------------------------------------------------------- /.codacy.yml: -------------------------------------------------------------------------------- 1 | --- 2 | exclude_paths: 3 | - "tests/*" 4 | - "examples/*" 5 | - "examples/src/*" 6 | - "examples/src/utils/*" 7 | - "examples/src/providers/*" 8 | - "examples/src/providers/blockfrost/*" 9 | - "examples/src/providers/blockfrost/common/*" 10 | - "examples/src/providers/blockfrost/parsers/*" 11 | - "fuzz/*" 12 | - "scripts/*" 13 | - "doc/*" 14 | - "project_catalyst/*" 15 | - "cmake/*" 16 | - "assets/*" 17 | - "lib/external/*" -------------------------------------------------------------------------------- /.codecov.yml: -------------------------------------------------------------------------------- 1 | coverage: 2 | status: 3 | project: 4 | default: 5 | target: 90% 6 | ignore: 7 | - "lib/external" 8 | - "**/external/*" -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | lib/tests/*/** linguist-vendored 2 | lib/tests/*/*.cpp linguist-vendored 3 | lib/tests/* linguist-vendored 4 | lib/tests/*.cpp linguist-vendored 5 | 6 | * text=auto 7 | -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/ISSUE_TEMPLATE.md: -------------------------------------------------------------------------------- 1 | ## Expected Behavior 2 | 3 | 4 | ## Actual Behavior 5 | 6 | 7 | ## Steps to Reproduce the Problem 8 | 9 | 1. 10 | 2. 11 | 3. 12 | 13 | ## Specifications 14 | 15 | - Version: 16 | - Platform: 17 | - Subsystem: -------------------------------------------------------------------------------- /.github/PULL_REQUEST_TEMPLATE: -------------------------------------------------------------------------------- 1 | ## Description 2 | 3 | What changes and why 4 | 5 | ## Checklist 6 | 7 | - [ ] I have read followed [CONTRIBUTING.md](https://github.com/Biglup/cardano-c/blob/master/CONTRIBUTING.md) 8 | - [ ] I have added tests 9 | - [ ] I have updated the documentation 10 | - [ ] I have updated the CHANGELOG 11 | - [ ] Are there any breaking changes? 12 | - [ ] If yes: I have marked them in the CHANGELOG 13 | - [ ] Does this PR introduce any platform specific code? 14 | - [ ] Security: Does this PR potentially affect security? 15 | - [ ] Performance: Does this PR potentially affect performance? -------------------------------------------------------------------------------- /.github/workflows/git-checks.yml: -------------------------------------------------------------------------------- 1 | name: Git Checks 2 | 3 | on: [pull_request] 4 | 5 | jobs: 6 | block-fixup: 7 | runs-on: ubuntu-22.04 8 | 9 | steps: 10 | - uses: actions/checkout@v3 11 | - name: Block Fixup Commit Merge 12 | uses: 13rac1/block-fixup-merge-action@v2.0.0 -------------------------------------------------------------------------------- /.github/workflows/valgrind.yml: -------------------------------------------------------------------------------- 1 | name: Memory Leak Detection 2 | on: 3 | pull_request: 4 | types: [opened, synchronize, reopened] 5 | jobs: 6 | build_and_run_valgrind: 7 | runs-on: ubuntu-22.04 8 | steps: 9 | - name: Install Dependencies 10 | run: | 11 | sudo apt update 12 | sudo apt install build-essential 13 | sudo apt install cmake 14 | sudo apt install libgtest-dev 15 | sudo apt install dos2unix 16 | sudo apt install valgrind 17 | sudo apt install m4 18 | 19 | - name: Setup Gtest 20 | run: | 21 | cd $(mktemp -d) 22 | cmake /usr/src/googletest 23 | make 24 | sudo make install 25 | cd - 26 | 27 | - name: Checkout the repository 28 | uses: actions/checkout@v3 29 | with: 30 | fetch-depth: 0 31 | submodules: "true" 32 | 33 | - name: Build 34 | run: | 35 | ./scripts/create-debug-makefiles.sh 36 | make 37 | 38 | - name: Run Unit Tests 39 | run: | 40 | chmod +x ./scripts/run-valgrind-on-changes.sh 41 | dos2unix ./scripts/run-valgrind-on-changes.sh 42 | ./scripts/run-valgrind-on-changes.sh -------------------------------------------------------------------------------- /.readthedocs.yaml: -------------------------------------------------------------------------------- 1 | # .readthedocs.yaml 2 | # Read the Docs configuration file 3 | # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details 4 | 5 | # Required 6 | version: 2 7 | 8 | # Set the version of Python and other tools you might need 9 | build: 10 | os: ubuntu-22.04 11 | tools: 12 | python: "3.11" 13 | apt_packages: 14 | - doxygen 15 | - cmake 16 | jobs: 17 | post_create_environment: 18 | - pip install sphinx sphinx-immaterial breathe 19 | post_install: 20 | - ./scripts/create-docs-makefiles.sh 21 | post_build: 22 | - find ./_readthedocs/html -type f -exec sed -i 's/C++/C/g' {} \; 23 | - find ./_readthedocs/html -type f -exec sed -i 's/CPP/C/g' {} \; 24 | 25 | sphinx: 26 | configuration: build/release/doc/conf.py 27 | 28 | # We recommend specifying your dependencies to enable reproducible builds: 29 | # https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html 30 | python: 31 | install: 32 | - requirements: doc/sphinx/requirements.txt -------------------------------------------------------------------------------- /CONTRIBUTORS.md: -------------------------------------------------------------------------------- 1 | # Contributors 2 | 3 | ## Special thanks for all the people who had helped this project so far: 4 | 5 | * [Angel Castillo ](https://github.com/AngelCastilloB) 6 | * [Luis Daniel Bianchi ](https://github.com/luisdbianchi) 7 | * -------------------------------------------------------------------------------- /VERSION: -------------------------------------------------------------------------------- 1 | VERSION_MAJOR=1 2 | VERSION_MINOR=1 3 | VERSION_PATCH=10 4 | -------------------------------------------------------------------------------- /assets/cardano-c-logo-small.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/assets/cardano-c-logo-small.png -------------------------------------------------------------------------------- /assets/misra_c.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/assets/misra_c.png -------------------------------------------------------------------------------- /clang-format-config.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": 1, 3 | "paths": [ 4 | { 5 | "path": "lib/src/**/*.c", 6 | "recursive": true 7 | }, 8 | { 9 | "path": "lib/include/**/*.h", 10 | "recursive": true 11 | }, 12 | { 13 | "path": "lib/tests/**/*.cpp", 14 | "recursive": true 15 | } 16 | ] 17 | } -------------------------------------------------------------------------------- /cmake/FindGoogleMocks.cmake: -------------------------------------------------------------------------------- 1 | INCLUDE (FindPackageHandleStandardArgs) 2 | 3 | FIND_PACKAGE (Threads REQUIRED) 4 | 5 | FIND_PATH ( 6 | GOOGLE_MOCKS_INCLUDE_DIRS 7 | NAME gmock-actions.h 8 | DOC "Directory containing gmock-actions.h" 9 | PATH 10 | /usr/include 11 | /usr/local/include 12 | /opt/local/include 13 | PATH_SUFFIXES gmock 14 | ) 15 | 16 | FIND_LIBRARY ( 17 | GOOGLE_MOCKS_LIBRARY 18 | NAMES gmock gmock_main 19 | DOC "Path to the Google Mocks library" 20 | PATHS 21 | /usr/lib 22 | /usr/local/lib 23 | /opt/local/lib 24 | ) 25 | 26 | FIND_PACKAGE_HANDLE_STANDARD_ARGS (GoogleMocks REQUIRED_VARS GOOGLE_MOCKS_LIBRARY GOOGLE_MOCKS_INCLUDE_DIRS) 27 | 28 | SET (GOOGLE_MOCKS_LIBRARIES ${GOOGLE_MOCKS_LIBRARY} ${CMAKE_THREAD_LIBS_INIT}) 29 | 30 | MARK_AS_ADVANCED (GOOGLE_MOCKS_LIBRARIES GOOGLE_MOCKS_INCLUDE_DIRS) 31 | -------------------------------------------------------------------------------- /cmake/FindSphinx.cmake: -------------------------------------------------------------------------------- 1 | #Look for an executable called sphinx-build 2 | FIND_PROGRAM(SPHINX_EXECUTABLE 3 | NAMES sphinx-build 4 | DOC "Path to sphinx-build executable") 5 | 6 | INCLUDE(FindPackageHandleStandardArgs) 7 | 8 | #Handle standard arguments to find_package like REQUIRED and QUIET 9 | FIND_PACKAGE_HANDLE_STANDARD_ARGS(Sphinx 10 | "Failed to find sphinx-build executable" 11 | SPHINX_EXECUTABLE) -------------------------------------------------------------------------------- /doc/sphinx/Makefile: -------------------------------------------------------------------------------- 1 | # Minimal makefile for Sphinx documentation 2 | # 3 | 4 | # You can set these variables from the command line, and also 5 | # from the environment for the first two. 6 | SPHINXOPTS ?= 7 | SPHINXBUILD ?= sphinx-build 8 | SOURCEDIR = . 9 | BUILDDIR = _build 10 | 11 | # Put it first so that "make" without argument is like "make help". 12 | help: 13 | @$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 14 | 15 | .PHONY: help Makefile 16 | 17 | # Catch-all target: route all unknown targets to Sphinx using the new 18 | # "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS). 19 | %: Makefile 20 | @$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O) 21 | -------------------------------------------------------------------------------- /doc/sphinx/make.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | 3 | pushd %~dp0 4 | 5 | REM Command file for Sphinx documentation 6 | 7 | if "%SPHINXBUILD%" == "" ( 8 | set SPHINXBUILD=sphinx-build 9 | ) 10 | set SOURCEDIR=. 11 | set BUILDDIR=_build 12 | 13 | %SPHINXBUILD% >NUL 2>NUL 14 | if errorlevel 9009 ( 15 | echo. 16 | echo.The 'sphinx-build' command was not found. Make sure you have Sphinx 17 | echo.installed, then set the SPHINXBUILD environment variable to point 18 | echo.to the full path of the 'sphinx-build' executable. Alternatively you 19 | echo.may add the Sphinx directory to PATH. 20 | echo. 21 | echo.If you don't have Sphinx installed, grab it from 22 | echo.https://www.sphinx-doc.org/ 23 | exit /b 1 24 | ) 25 | 26 | if "%1" == "" goto help 27 | 28 | %SPHINXBUILD% -M %1 %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 29 | goto end 30 | 31 | :help 32 | %SPHINXBUILD% -M help %SOURCEDIR% %BUILDDIR% %SPHINXOPTS% %O% 33 | 34 | :end 35 | popd 36 | -------------------------------------------------------------------------------- /doc/sphinx/requirements.txt: -------------------------------------------------------------------------------- 1 | alabaster==0.7.16 2 | annotated-types==0.6.0 3 | appdirs==1.4.4 4 | Babel==2.14.0 5 | breathe==4.35.0 6 | certifi==2024.7.4 7 | charset-normalizer==3.3.2 8 | docutils==0.20.1 9 | idna==3.6 10 | imagesize==1.4.1 11 | Jinja2==3.1.3 12 | MarkupSafe==2.1.5 13 | packaging==24.0 14 | pydantic==2.6.3 15 | pydantic-extra-types==2.6.0 16 | pydantic_core==2.16.3 17 | Pygments==2.17.2 18 | readthedocs-sphinx-ext==2.2.5 19 | requests==2.31.0 20 | snowballstemmer==2.2.0 21 | Sphinx==7.2.6 22 | sphinx_immaterial==0.11.11 23 | sphinxcontrib-applehelp==1.0.8 24 | sphinxcontrib-devhelp==1.0.6 25 | sphinxcontrib-htmlhelp==2.0.5 26 | sphinxcontrib-jsmath==1.0.1 27 | sphinxcontrib-qthelp==1.0.7 28 | sphinxcontrib-serializinghtml==1.1.10 29 | typing_extensions==4.10.0 30 | urllib3==2.2.1 -------------------------------------------------------------------------------- /doc/src/_static/custom.css: -------------------------------------------------------------------------------- 1 | html { 2 | --pst-header-height: 4rem; 3 | --pst-header-article-height: calc(var(--pst-header-height) * 2 / 3); 4 | --pst-sidebar-secondary: 25rem; 5 | } 6 | 7 | .bd-page-width { 8 | max-width: 80%; 9 | } 10 | 11 | .bd-sidebar-primary { 12 | margin-left: 0; 13 | max-width: 12rem; 14 | overflow-y: hidden; 15 | } 16 | 17 | .bd-article { 18 | display: flex; 19 | flex-direction: column; 20 | justify-content: start; 21 | max-width: 90em; 22 | overflow-x: auto; 23 | padding: 1rem; 24 | width: 100%; 25 | } -------------------------------------------------------------------------------- /doc/src/_static/custom.js: -------------------------------------------------------------------------------- 1 | // Simplify the sidebar TOC 2 | window.addEventListener('DOMContentLoaded', function () { 3 | [].forEach.call(document.querySelectorAll('.toc-h3'), function (el) { 4 | el.parentElement.remove() 5 | }); 6 | }) -------------------------------------------------------------------------------- /doc/src/_static/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/doc/src/_static/logo.png -------------------------------------------------------------------------------- /doc/src/_templates/sidebar-nav-bs.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /doc/src/sections/api/address/address_type.rst: -------------------------------------------------------------------------------- 1 | Address Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_address_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/address/byron_address_attributes.rst: -------------------------------------------------------------------------------- 1 | Byron Address Attributes 2 | ========================== 3 | 4 | .. doxygenstruct:: cardano_byron_address_attributes_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/address/byron_address_type.rst: -------------------------------------------------------------------------------- 1 | Byron Address Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_byron_address_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/address/stake_pointer.rst: -------------------------------------------------------------------------------- 1 | Stake Pointer 2 | ========================== 3 | 4 | .. doxygenstruct:: cardano_stake_pointer_t -------------------------------------------------------------------------------- /doc/src/sections/api/assets/asset_id_list.rst: -------------------------------------------------------------------------------- 1 | Asset ID List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_asset_id_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_asset_id_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_asset_id_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_asset_id_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_asset_id_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_asset_id_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_asset_id_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_asset_id_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_asset_id_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_asset_id_list_get_last_error 41 | 42 | -------------------------------------------------------------------------------- /doc/src/sections/api/assets/asset_name_list.rst: -------------------------------------------------------------------------------- 1 | Asset Name List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_asset_name_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_asset_name_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_asset_name_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_asset_name_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_asset_name_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_asset_name_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_asset_name_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_asset_name_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_asset_name_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_asset_name_list_get_last_error 41 | -------------------------------------------------------------------------------- /doc/src/sections/api/assets/policy_id_list.rst: -------------------------------------------------------------------------------- 1 | Policy ID List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_policy_id_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_policy_id_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_policy_id_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_policy_id_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_policy_id_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_policy_id_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_policy_id_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_policy_id_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_policy_id_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_policy_id_list_get_last_error 41 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/index.rst: -------------------------------------------------------------------------------- 1 | Auxiliary Data 2 | ========================== 3 | 4 | The Auxiliary Data allows anyone to embed metadata into transactions, which is then stored in the blockchain. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./auxiliary_data 10 | ./metadatum 11 | ./metadatum_kind 12 | ./metadatum_label_list 13 | ./metadatum_list 14 | ./metadatum_map 15 | ./plutus_v1_script_list 16 | ./plutus_v2_script_list 17 | ./plutus_v3_script_list 18 | ./transaction_metadata 19 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/metadatum_kind.rst: -------------------------------------------------------------------------------- 1 | Metadatum Kind 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_metadatum_kind_t -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/metadatum_label_list.rst: -------------------------------------------------------------------------------- 1 | Metadatum Label List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_metadatum_label_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_metadatum_label_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_metadatum_label_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_metadatum_label_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_metadatum_label_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_metadatum_label_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_metadatum_label_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_metadatum_label_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_metadatum_label_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_metadatum_label_list_get_last_error 41 | 42 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/metadatum_list.rst: -------------------------------------------------------------------------------- 1 | Metadatum List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_metadatum_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_metadatum_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_metadatum_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_metadatum_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_metadatum_list_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_metadatum_list_get_length 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_metadatum_list_get 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_metadatum_list_add 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_metadatum_list_equals 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_metadatum_list_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_metadatum_list_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_metadatum_list_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_metadatum_list_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_metadatum_list_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/plutus_v1_script_list.rst: -------------------------------------------------------------------------------- 1 | PlutusV1 Script List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_plutus_v1_script_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_plutus_v1_script_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_plutus_v1_script_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_plutus_v1_script_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_plutus_v1_script_list_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_plutus_v1_script_list_get_length 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_plutus_v1_script_list_get 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_plutus_v1_script_list_add 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_plutus_v1_script_list_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_plutus_v1_script_list_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_plutus_v1_script_list_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_plutus_v1_script_list_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_plutus_v1_script_list_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/plutus_v2_script_list.rst: -------------------------------------------------------------------------------- 1 | PlutusV2 Script List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_plutus_v2_script_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_plutus_v2_script_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_plutus_v2_script_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_plutus_v2_script_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_plutus_v2_script_list_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_plutus_v2_script_list_get_length 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_plutus_v2_script_list_get 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_plutus_v2_script_list_add 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_plutus_v2_script_list_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_plutus_v2_script_list_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_plutus_v2_script_list_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_plutus_v2_script_list_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_plutus_v2_script_list_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/auxiliary_data/plutus_v3_script_list.rst: -------------------------------------------------------------------------------- 1 | PlutusV3 Script List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_plutus_v3_script_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_plutus_v3_script_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_plutus_v3_script_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_plutus_v3_script_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_plutus_v3_script_list_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_plutus_v3_script_list_get_length 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_plutus_v3_script_list_get 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_plutus_v3_script_list_add 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_plutus_v3_script_list_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_plutus_v3_script_list_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_plutus_v3_script_list_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_plutus_v3_script_list_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_plutus_v3_script_list_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/bip39.rst: -------------------------------------------------------------------------------- 1 | BIP-039 2 | ========================== 3 | 4 | The functions in this section implement support for the BIP-39 standard, which defines the process of converting entropy into a human-readable mnemonic phrase and vice versa. These mnemonics are widely used in cryptocurrency wallets for secure key generation and backup. 5 | 6 | Currently, the implementation only supports the **English BIP-39 wordlist**. This limitation is intentional to simplify the library and focus on the most widely used configuration. Future versions of the library may include support for additional languages. 7 | 8 | ------------ 9 | 10 | .. doxygenfunction:: cardano_bip39_entropy_to_mnemonic_words 11 | 12 | ------------ 13 | 14 | .. doxygenfunction:: cardano_bip39_mnemonic_words_to_entropy 15 | -------------------------------------------------------------------------------- /doc/src/sections/api/cbor/cbor_major_type.rst: -------------------------------------------------------------------------------- 1 | CBOR Major Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_cbor_major_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/cbor/cbor_reader_state.rst: -------------------------------------------------------------------------------- 1 | CBOR Reader State 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_cbor_reader_state_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/cbor/cbor_simple_value.rst: -------------------------------------------------------------------------------- 1 | CBOR Simple Value 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_cbor_simple_value_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/cbor/cbor_tag.rst: -------------------------------------------------------------------------------- 1 | CBOR Tag 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_cbor_tag_t -------------------------------------------------------------------------------- /doc/src/sections/api/cbor/index.rst: -------------------------------------------------------------------------------- 1 | CBOR 2 | ========================== 3 | 4 | Concise Binary Object Representation (`CBOR`_) is a binary data serialization format that aims for compactness and efficiency. CBOR's design is particularly suited for applications where bandwidth or storage efficiency is crucial, making it a preferred choice within the Cardano ecosystem for serializing domain objects and facilitating seamless data interchange. 5 | 6 | This section of the documentation provides detailed information on each function offered by this library to both generate and parse `CBOR`_ encoded data: 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | ./cbor_writer 12 | ./cbor_reader 13 | ./cbor_major_type 14 | ./cbor_reader_state 15 | ./cbor_simple_value 16 | ./cbor_tag 17 | 18 | .. _CBOR: https://www.rfc-editor.org/info/std94 -------------------------------------------------------------------------------- /doc/src/sections/api/certs/cert_type.rst: -------------------------------------------------------------------------------- 1 | Certificate Types 2 | ===================================== 3 | 4 | .. doxygenenum:: cardano_cert_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/certificate_set.rst: -------------------------------------------------------------------------------- 1 | Certificate Set 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_certificate_set_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_certificate_set_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_certificate_set_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_certificate_set_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_certificate_set_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_certificate_set_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_certificate_set_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_certificate_set_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_certificate_set_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_certificate_set_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_certificate_set_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_certificate_set_get_last_error 49 | 50 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/index.rst: -------------------------------------------------------------------------------- 1 | Certificates 2 | ========================== 3 | 4 | In Cardano, certificates are tools used to facilitate various network operations integral to the platform's staking and governance mechanisms. These digital certificates represent actions or requests related to the validation process, stake delegation, incentive schemes, and governance decisions. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./auth_committee_hot_cert 10 | ./cert_type 11 | ./certificate 12 | ./certificate_set 13 | ./genesis_key_delegation_cert 14 | ./mir_cert 15 | ./mir_cert_pot_type 16 | ./mir_cert_type 17 | ./mir_to_pot_cert 18 | ./mir_to_stake_creds_cert 19 | ./pool_registration_cert 20 | ./pool_retirement_cert 21 | ./register_drep_cert 22 | ./registration_cert 23 | ./resign_committee_cold_cert 24 | ./stake_delegation_cert 25 | ./stake_deregistration_cert 26 | ./stake_registration_cert 27 | ./stake_registration_delegation_cert 28 | ./stake_vote_delegation_cert 29 | ./stake_vote_registration_delegation_cert 30 | ./unregister_drep_cert 31 | ./unregistration_cert 32 | ./update_drep_cert 33 | ./vote_delegation_cert 34 | ./vote_registration_delegation_cert -------------------------------------------------------------------------------- /doc/src/sections/api/certs/mir_cert.rst: -------------------------------------------------------------------------------- 1 | Move Instantaneous Rewards Certificate (MIR) 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_mir_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_mir_cert_new_to_other_pot 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_mir_cert_new_to_stake_creds 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_mir_cert_from_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_mir_cert_to_cbor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_mir_cert_get_type 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_mir_cert_as_to_other_pot 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_mir_cert_as_to_stake_creds 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_mir_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_mir_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_mir_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_mir_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_mir_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/mir_cert_pot_type.rst: -------------------------------------------------------------------------------- 1 | Move Instantaneous Rewards Pot Types 2 | ===================================== 3 | 4 | .. doxygenenum:: cardano_mir_cert_pot_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/mir_cert_type.rst: -------------------------------------------------------------------------------- 1 | Move Instantaneous Rewards Types 2 | ===================================== 3 | 4 | .. doxygenenum:: cardano_mir_cert_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/mir_to_pot_cert.rst: -------------------------------------------------------------------------------- 1 | MIR Between Pots 2 | ================= 3 | 4 | .. doxygentypedef:: cardano_mir_to_pot_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_mir_to_pot_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_mir_to_pot_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_mir_to_pot_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_mir_to_pot_cert_get_pot 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_mir_to_pot_cert_set_pot 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_mir_to_pot_cert_get_amount 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_mir_to_pot_cert_set_amount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_mir_to_pot_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_mir_to_pot_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_mir_to_pot_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_mir_to_pot_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_mir_to_pot_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/pool_registration_cert.rst: -------------------------------------------------------------------------------- 1 | Pool Registration Certificate 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_pool_registration_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_pool_registration_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_pool_registration_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_pool_registration_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_pool_registration_cert_get_params 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_pool_registration_cert_set_params 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_pool_registration_cert_unref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_pool_registration_cert_ref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_pool_registration_cert_refcount 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_pool_registration_cert_set_last_error 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_pool_registration_cert_get_last_error 45 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/registration_cert.rst: -------------------------------------------------------------------------------- 1 | Registration Certificate 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_registration_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_registration_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_registration_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_registration_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_registration_cert_get_stake_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_registration_cert_set_stake_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_registration_cert_get_deposit 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_registration_cert_set_deposit 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_registration_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_registration_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_registration_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_registration_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_registration_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/stake_deregistration_cert.rst: -------------------------------------------------------------------------------- 1 | Stake De-Registration Certificate 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_stake_deregistration_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_stake_deregistration_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_stake_deregistration_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_stake_deregistration_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_stake_deregistration_cert_get_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_stake_deregistration_cert_set_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_stake_deregistration_cert_unref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_stake_deregistration_cert_ref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_stake_deregistration_cert_refcount 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_stake_deregistration_cert_set_last_error 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_stake_deregistration_cert_get_last_error 45 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/stake_registration_cert.rst: -------------------------------------------------------------------------------- 1 | Stake Registration Certificate 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_stake_registration_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_stake_registration_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_stake_registration_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_stake_registration_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_stake_registration_cert_get_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_stake_registration_cert_set_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_stake_registration_cert_unref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_stake_registration_cert_ref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_stake_registration_cert_refcount 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_stake_registration_cert_set_last_error 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_stake_registration_cert_get_last_error 45 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/unregistration_cert.rst: -------------------------------------------------------------------------------- 1 | Unregistration Certificate 2 | ============================================== 3 | 4 | .. doxygentypedef:: cardano_unregistration_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_unregistration_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_unregistration_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_unregistration_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_unregistration_cert_get_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_unregistration_cert_set_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_unregistration_cert_get_deposit 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_unregistration_cert_set_deposit 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_unregistration_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_unregistration_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_unregistration_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_unregistration_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_unregistration_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/update_drep_cert.rst: -------------------------------------------------------------------------------- 1 | Update DRep Certificate 2 | ============================================== 3 | 4 | .. doxygentypedef:: cardano_update_drep_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_update_drep_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_update_drep_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_update_drep_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_update_drep_cert_set_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_update_drep_cert_get_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_update_drep_cert_get_anchor 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_update_drep_cert_set_anchor 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_update_drep_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_update_drep_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_update_drep_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_update_drep_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_update_drep_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/certs/vote_delegation_cert.rst: -------------------------------------------------------------------------------- 1 | Vote Delegation Certificate 2 | ============================================== 3 | 4 | .. doxygentypedef:: cardano_vote_delegation_cert_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_vote_delegation_cert_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_vote_delegation_cert_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_vote_delegation_cert_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_vote_delegation_cert_get_credential 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_vote_delegation_cert_set_credential 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_vote_delegation_cert_get_drep 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_vote_delegation_cert_set_drep 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_vote_delegation_cert_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_vote_delegation_cert_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_vote_delegation_cert_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_vote_delegation_cert_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_vote_delegation_cert_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/byte_order.rst: -------------------------------------------------------------------------------- 1 | Byte Order 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_byte_order_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/credential_type.rst: -------------------------------------------------------------------------------- 1 | Credential Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_credential_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/datum_type.rst: -------------------------------------------------------------------------------- 1 | Datum Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_datum_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/drep.rst: -------------------------------------------------------------------------------- 1 | DRep 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_drep_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_drep_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_drep_from_string 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_drep_from_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_drep_to_cbor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_drep_get_string_size 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_drep_to_string 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_drep_get_credential 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_drep_set_credential 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_drep_get_type 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_drep_set_type 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_drep_unref 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_drep_ref 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_drep_refcount 57 | 58 | ------------ 59 | 60 | .. doxygenfunction:: cardano_drep_set_last_error 61 | 62 | ------------ 63 | 64 | .. doxygenfunction:: cardano_drep_get_last_error 65 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/drep_type.rst: -------------------------------------------------------------------------------- 1 | DRep Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_drep_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/ex_units.rst: -------------------------------------------------------------------------------- 1 | Execution Units 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ex_units_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ex_units_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ex_units_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ex_units_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ex_units_get_memory 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ex_units_set_memory 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ex_units_get_cpu_steps 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ex_units_set_cpu_steps 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ex_units_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ex_units_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ex_units_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_ex_units_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_ex_units_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/common/governance_key_type.rst: -------------------------------------------------------------------------------- 1 | Governance Key Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_governance_key_type_t -------------------------------------------------------------------------------- /doc/src/sections/api/common/index.rst: -------------------------------------------------------------------------------- 1 | Common 2 | ========================== 3 | 4 | The "Common" section of this documentation explores fundamental domain entities used throughout the Cardano ecosystem. These entities, play different roles in various functionalities within the blockchain. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./anchor 10 | ./bigint 11 | ./byte_order 12 | ./credential 13 | ./credential_type 14 | ./datum 15 | ./datum_type 16 | ./drep 17 | ./drep_type 18 | ./ex_units 19 | ./governance_action_id 20 | ./governance_key_type 21 | ./network_id 22 | ./protocol_version 23 | ./reward_address_list 24 | ./unit_interval 25 | ./utxo 26 | ./utxo_list 27 | ./withdrawal_map 28 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/network_id.rst: -------------------------------------------------------------------------------- 1 | Network Id 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_network_id_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/protocol_version.rst: -------------------------------------------------------------------------------- 1 | Protocol Version 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_protocol_version_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_protocol_version_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_protocol_version_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_protocol_version_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_protocol_version_get_major 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_protocol_version_set_major 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_protocol_version_get_minor 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_protocol_version_set_minor 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_protocol_version_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_protocol_version_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_protocol_version_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_protocol_version_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_protocol_version_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/common/reward_address_list.rst: -------------------------------------------------------------------------------- 1 | Reward Address List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_reward_address_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_reward_address_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_reward_address_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_reward_address_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_reward_address_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_reward_address_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_reward_address_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_reward_address_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_reward_address_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_reward_address_list_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/common/utxo.rst: -------------------------------------------------------------------------------- 1 | Unspent Transaction Output (UTxO) 2 | ================================= 3 | 4 | .. doxygentypedef:: cardano_utxo_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_utxo_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_utxo_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_utxo_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_utxo_get_input 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_utxo_set_input 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_utxo_get_output 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_utxo_set_output 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_utxo_equals 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_utxo_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_utxo_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_utxo_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_utxo_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_utxo_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/blake2b_hash_set.rst: -------------------------------------------------------------------------------- 1 | BLAKE2b Hash Set 2 | ============================================ 3 | 4 | .. doxygentypedef:: cardano_blake2b_hash_set_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_blake2b_hash_set_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_blake2b_hash_set_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_blake2b_hash_set_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_blake2b_hash_set_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_blake2b_hash_set_get_length 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_blake2b_hash_set_get 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_blake2b_hash_set_add 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_blake2b_hash_set_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_blake2b_hash_set_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_blake2b_hash_set_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_blake2b_hash_set_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_blake2b_hash_set_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/blake2b_hash_size.rst: -------------------------------------------------------------------------------- 1 | BLAKE2b Hash Size 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_blake2b_hash_size_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/ed25519_public_key.rst: -------------------------------------------------------------------------------- 1 | ED25519 Public Key 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ed25519_public_key_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ed25519_public_key_from_bytes 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ed25519_public_key_from_hex 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ed25519_public_key_unref 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ed25519_public_key_ref 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ed25519_public_key_refcount 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ed25519_public_verify 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ed25519_public_key_get_data 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ed25519_public_key_get_bytes_size 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ed25519_public_key_to_bytes 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ed25519_public_key_get_hex_size 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_ed25519_public_key_to_hex 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_ed25519_public_key_to_hash 53 | 54 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/ed25519_signature.rst: -------------------------------------------------------------------------------- 1 | ED25519 Signature 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ed25519_signature_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ed25519_signature_from_bytes 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ed25519_signature_from_hex 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ed25519_signature_unref 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ed25519_signature_ref 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ed25519_signature_refcount 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ed25519_signature_get_data 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ed25519_signature_get_bytes_size 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ed25519_signature_to_bytes 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ed25519_signature_get_hex_size 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ed25519_signature_to_hex 45 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/emip3.rst: -------------------------------------------------------------------------------- 1 | EMIP-003 2 | ========= 3 | 4 | .. doxygenfunction:: cardano_crypto_emip3_encrypt 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_crypto_emip3_decrypt 9 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/index.rst: -------------------------------------------------------------------------------- 1 | Cryptography 2 | ========================== 3 | 4 | This section of the documentation provides detailed information on each cryptographic function offered by this library: 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./bip32_private_key 10 | ./bip32_public_key 11 | ./ed25519_private_key 12 | ./ed25519_public_key 13 | ./ed25519_signature 14 | ./blake2b_hash 15 | ./blake2b_hash_set 16 | ./blake2b_hash_size 17 | ./emip3 18 | ./pbkdf2 19 | -------------------------------------------------------------------------------- /doc/src/sections/api/cryptography/pbkdf2.rst: -------------------------------------------------------------------------------- 1 | PBKDF2 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_crypto_pbkdf2_hmac_sha512 -------------------------------------------------------------------------------- /doc/src/sections/api/encoding/base58.rst: -------------------------------------------------------------------------------- 1 | Base58 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_encoding_base58_get_encoded_length 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_encoding_base58_encode 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_encoding_base58_get_decoded_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_encoding_base58_decode 17 | -------------------------------------------------------------------------------- /doc/src/sections/api/encoding/bech32.rst: -------------------------------------------------------------------------------- 1 | Bech32 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_encoding_bech32_get_encoded_length 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_encoding_bech32_encode 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_encoding_bech32_get_decoded_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_encoding_bech32_decode 17 | -------------------------------------------------------------------------------- /doc/src/sections/api/error.rst: -------------------------------------------------------------------------------- 1 | Error 2 | ============================= 3 | 4 | .. doxygenenum:: cardano_error_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/json/index.rst: -------------------------------------------------------------------------------- 1 | JSON 2 | ========================== 3 | 4 | JavaScript Object Notation (`JSON`_) is a text-based data serialization format that is widely used for its simplicity and readability. JSON's design is particularly suited for applications where human-readable structured data is required, making it a preferred choice for data interchange and configuration formats. 5 | 6 | This section of the documentation provides detailed information on each function offered by this library to both generate and parse `JSON`_ encoded data: 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | ./json_writer 12 | ./json_context 13 | ./json_format 14 | ./json_object 15 | ./json_object_type 16 | 17 | .. _JSON: https://www.json.org -------------------------------------------------------------------------------- /doc/src/sections/api/json/json_context.rst: -------------------------------------------------------------------------------- 1 | JSON Context 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_json_context_t -------------------------------------------------------------------------------- /doc/src/sections/api/json/json_format.rst: -------------------------------------------------------------------------------- 1 | JSON Format 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_json_format_t -------------------------------------------------------------------------------- /doc/src/sections/api/json/json_object_type.rst: -------------------------------------------------------------------------------- 1 | JSON Object Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_json_object_type_t -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/account_derivation_path.rst: -------------------------------------------------------------------------------- 1 | Account Derivation Path 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_account_derivation_path_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/derivation_path.rst: -------------------------------------------------------------------------------- 1 | Derivation Path 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_derivation_path_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/index.rst: -------------------------------------------------------------------------------- 1 | Key Handlers 2 | ============= 3 | 4 | A key handler securely manages cryptographic key operations, providing a unified interface for handling both BIP32 (HD) and Ed25519 keys. It ensures that keys are stored encrypted, only decrypted when needed for operations like signing, and cleared from memory afterward. Key handlers can also abstract interactions with hardware wallets, where keys never leave the device. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | account_derivation_path 10 | derivation_path 11 | secure_key_handler 12 | secure_key_handler_impl 13 | secure_key_handler_type 14 | software_secure_key_handler -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/secure_key_handler_impl.rst: -------------------------------------------------------------------------------- 1 | Secure Key Handler Implentation 2 | ================================ 3 | 4 | .. doxygentypedef:: cardano_secure_key_handler_impl_t 5 | 6 | ------------ 7 | 8 | .. doxygentypedef:: cardano_bip32_sign_transaction_func_t 9 | 10 | ------------ 11 | 12 | .. doxygentypedef:: cardano_bip32_get_extended_account_public_key_func_t 13 | 14 | ------------ 15 | 16 | .. doxygentypedef:: cardano_ed25519_sign_transaction_func_t 17 | 18 | ------------ 19 | 20 | .. doxygentypedef:: cardano_ed25519_get_public_key_func_t 21 | 22 | ------------ 23 | 24 | .. doxygentypedef:: cardano_serialize_secure_key_handler_func_t -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/secure_key_handler_type.rst: -------------------------------------------------------------------------------- 1 | Secure Key Handler Type 2 | ===================================== 3 | 4 | .. doxygenenum:: cardano_secure_key_handler_type_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/key_handlers/software_secure_key_handler.rst: -------------------------------------------------------------------------------- 1 | Software Secure Key Handler 2 | ============================ 3 | 4 | .. doxygenfunction:: cardano_software_secure_key_handler_new 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_software_secure_key_handler_ed25519_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_software_secure_key_handler_deserialize 13 | -------------------------------------------------------------------------------- /doc/src/sections/api/object.rst: -------------------------------------------------------------------------------- 1 | Object 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_object_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_object_unref 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_object_ref 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_object_refcount 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_object_set_last_error 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_object_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/plutus_data/index.rst: -------------------------------------------------------------------------------- 1 | Plutus Data 2 | =========== 3 | 4 | This section of the documentation introduces the Plutus data types within the Cardano ecosystem. Plutus data types play a crucial role in representing various kinds of data within smart contracts and decentralized applications (dApps). 5 | 6 | These types encompass a wide range of structured data formats, including lists, maps, integers, bytes, and constructors/sum types. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | constr_plutus_data 12 | plutus_data 13 | plutus_data_kind 14 | plutus_list 15 | plutus_map -------------------------------------------------------------------------------- /doc/src/sections/api/plutus_data/plutus_data_kind.rst: -------------------------------------------------------------------------------- 1 | Plutus Data Kind 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_plutus_data_kind_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/plutus_data/plutus_list.rst: -------------------------------------------------------------------------------- 1 | Plutus List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_plutus_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_plutus_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_plutus_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_plutus_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_plutus_list_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_plutus_list_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_plutus_list_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_plutus_list_equals 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_plutus_list_clear_cbor_cache 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_plutus_list_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_plutus_list_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_plutus_list_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_plutus_list_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_plutus_list_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/index.rst: -------------------------------------------------------------------------------- 1 | Pool Parameters 2 | ================ 3 | 4 | Pool parameters in Cardano define the configuration and characteristics of a staking pool, which is an essential component of the network's proof-of-stake consensus mechanism. 5 | 6 | These parameters include details such as the operator's key hash, the pledge amount (the amount of ADA staked by the pool operator), operational costs, margin, reward account, pool owners, relays, and metadata. 7 | 8 | Together, these parameters govern how the staking pool operates, distributes rewards, and interacts with other nodes in the Cardano network. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | ipv4 14 | ipv6 15 | multi_host_name_relay 16 | pool_metadata 17 | pool_owners 18 | pool_params 19 | relay 20 | relay_type 21 | relays 22 | single_host_addr_relay 23 | single_host_name_relay -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/ipv4.rst: -------------------------------------------------------------------------------- 1 | IPv4 Address 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ipv4_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ipv4_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ipv4_from_string 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ipv4_from_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ipv4_to_cbor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ipv4_get_bytes_size 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ipv4_get_bytes 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ipv4_get_string_size 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ipv4_get_string 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ipv4_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ipv4_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_ipv4_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_ipv4_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_ipv4_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/ipv6.rst: -------------------------------------------------------------------------------- 1 | IPv6 Address 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ipv6_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ipv6_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ipv6_from_string 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ipv6_from_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ipv6_to_cbor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ipv6_get_bytes_size 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ipv6_get_bytes 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ipv6_get_string_size 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ipv6_get_string 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ipv6_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ipv6_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_ipv6_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_ipv6_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_ipv6_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/multi_host_name_relay.rst: -------------------------------------------------------------------------------- 1 | Multi Hostname Relay 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_multi_host_name_relay_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_multi_host_name_relay_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_multi_host_name_relay_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_multi_host_name_relay_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_multi_host_name_relay_get_dns_size 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_multi_host_name_relay_get_dns 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_multi_host_name_relay_set_dns 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_multi_host_name_relay_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_multi_host_name_relay_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_multi_host_name_relay_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_multi_host_name_relay_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_multi_host_name_relay_get_last_error 49 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/pool_metadata.rst: -------------------------------------------------------------------------------- 1 | Pool Metadata 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_pool_metadata_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_pool_metadata_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_pool_metadata_from_hash_hex 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_pool_metadata_from_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_pool_metadata_get_url_size 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_pool_metadata_get_url 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_pool_metadata_set_url 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_pool_metadata_get_hash 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_pool_metadata_set_hash 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_pool_metadata_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_pool_metadata_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_pool_metadata_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_pool_metadata_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_pool_metadata_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/pool_owners.rst: -------------------------------------------------------------------------------- 1 | Pool Owners 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_pool_owners_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_pool_owners_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_pool_owners_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_pool_owners_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_pool_owners_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_pool_owners_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_pool_owners_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_pool_owners_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_pool_owners_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_pool_owners_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_pool_owners_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_pool_owners_get_last_error 49 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/relay.rst: -------------------------------------------------------------------------------- 1 | Relay 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_relay_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_relay_new_single_host_addr 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_relay_new_single_host_name 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_relay_new_multi_host_name 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_relay_from_cbor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_relay_to_cbor 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_relay_get_type 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_relay_to_single_host_addr 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_relay_to_single_host_name 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_relay_to_multi_host_name 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_relay_unref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_relay_ref 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_relay_refcount 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_relay_set_last_error 57 | 58 | ------------ 59 | 60 | .. doxygenfunction:: cardano_relay_get_last_error 61 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/relay_type.rst: -------------------------------------------------------------------------------- 1 | Relay Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_relay_type_t 5 | 6 | -------------------------------------------------------------------------------- /doc/src/sections/api/pool_params/relays.rst: -------------------------------------------------------------------------------- 1 | Relays 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_relays_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_relays_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_relays_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_relays_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_relays_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_relays_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_relays_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_relays_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_relays_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_relays_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_relays_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_relays_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/constitution.rst: -------------------------------------------------------------------------------- 1 | Constitution 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_constitution_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_constitution_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_constitution_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_constitution_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_constitution_set_anchor 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_constitution_get_anchor 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_constitution_set_script_hash 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_constitution_get_script_hash 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_constitution_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_constitution_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_constitution_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_constitution_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_constitution_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/credential_set.rst: -------------------------------------------------------------------------------- 1 | Credential Set 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_credential_set_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_credential_set_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_credential_set_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_credential_set_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_credential_set_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_credential_set_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_credential_set_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_credential_set_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_credential_set_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_credential_set_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_credential_set_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_credential_set_get_last_error 49 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/governance_action_type.rst: -------------------------------------------------------------------------------- 1 | Governance Action Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_governance_action_type_t 5 | 6 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/index.rst: -------------------------------------------------------------------------------- 1 | Proposal Procedures 2 | ======================== 3 | 4 | Governance proposal procedure for the Cardano blockchain, it supports various types of governance actions: 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | committee 10 | committee_members_map 11 | constitution 12 | credential_set 13 | governance_action_type 14 | hard_fork_initiation_action 15 | info_action 16 | new_constitution_action 17 | no_confidence_action 18 | parameter_change_action 19 | proposal_procedure 20 | proposal_procedure_set 21 | treasury_withdrawals_action 22 | update_committee_action 23 | 24 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/info_action.rst: -------------------------------------------------------------------------------- 1 | Info Action 2 | ============================ 3 | 4 | .. doxygentypedef:: cardano_info_action_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_info_action_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_info_action_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_info_action_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_info_action_unref 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_info_action_ref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_info_action_refcount 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_info_action_set_last_error 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_info_action_get_last_error 37 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/no_confidence_action.rst: -------------------------------------------------------------------------------- 1 | No Confidence Action 2 | ============================ 3 | 4 | .. doxygentypedef:: cardano_no_confidence_action_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_no_confidence_action_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_no_confidence_action_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_no_confidence_action_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_no_confidence_action_set_governance_action_id 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_no_confidence_action_get_governance_action_id 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_no_confidence_action_unref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_no_confidence_action_ref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_no_confidence_action_refcount 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_no_confidence_action_set_last_error 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_no_confidence_action_get_last_error 45 | -------------------------------------------------------------------------------- /doc/src/sections/api/proposal_procedures/proposal_procedure_set.rst: -------------------------------------------------------------------------------- 1 | Proposal Procedure Set 2 | ============================ 3 | 4 | .. doxygentypedef:: cardano_proposal_procedure_set_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_proposal_procedure_set_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_proposal_procedure_set_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_proposal_procedure_set_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_proposal_procedure_set_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_proposal_procedure_set_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_proposal_procedure_set_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_proposal_procedure_set_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_proposal_procedure_set_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_proposal_procedure_set_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_proposal_procedure_set_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_proposal_procedure_set_get_last_error 49 | 50 | -------------------------------------------------------------------------------- /doc/src/sections/api/protocol_params/cost_model.rst: -------------------------------------------------------------------------------- 1 | Cost Model 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_cost_model_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_cost_model_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_cost_model_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_cost_model_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_cost_model_set_cost 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_cost_model_get_cost 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_cost_model_get_costs_size 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_cost_model_get_costs 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_cost_model_get_language 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_cost_model_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_cost_model_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_cost_model_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_cost_model_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_cost_model_get_last_error 57 | -------------------------------------------------------------------------------- /doc/src/sections/api/protocol_params/costmdls.rst: -------------------------------------------------------------------------------- 1 | Cost Models 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_costmdls_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_costmdls_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_costmdls_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_costmdls_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_costmdls_insert 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_costmdls_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_costmdls_has 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_costmdls_get_language_views_encoding 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_costmdls_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_costmdls_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_costmdls_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_costmdls_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_costmdls_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/protocol_params/ex_units_prices.rst: -------------------------------------------------------------------------------- 1 | Execution Units Prices 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_ex_unit_prices_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_ex_unit_prices_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_ex_unit_prices_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_ex_unit_prices_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_ex_unit_prices_get_memory_prices 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_ex_unit_prices_get_steps_prices 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_ex_unit_prices_set_memory_prices 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_ex_unit_prices_set_steps_prices 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_ex_unit_prices_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_ex_unit_prices_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_ex_unit_prices_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_ex_unit_prices_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_ex_unit_prices_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/protocol_params/index.rst: -------------------------------------------------------------------------------- 1 | Protocol Parameters 2 | =================== 3 | 4 | This section of the documentation introduces the protocol parameters related types within the Cardano ecosystem. 5 | 6 | Protocol parameters on Cardano are the various settings that define the blockchain's behavior. Some protocol parameters are stable and non-updatable while others can be adjusted to adapt to changing conditions over time. 7 | 8 | Examples of important Cardano protocol parameters include the maximum block size, the transaction fee structure, the block production schedule, and the minimum ada balance required for staking (read more in the following sections). Parameter choices can have a significant impact on the network's performance, security, and usability, and their alteration must be carefully considered. 9 | 10 | .. toctree:: 11 | :maxdepth: 1 12 | 13 | cost_model 14 | costmdls 15 | drep_voting_thresholds 16 | ex_units_prices 17 | pool_voting_thresholds 18 | proposed_param_updates 19 | protocol_param_update 20 | protocol_parameters 21 | update -------------------------------------------------------------------------------- /doc/src/sections/api/protocol_params/update.rst: -------------------------------------------------------------------------------- 1 | Update 2 | ==================================== 3 | 4 | .. doxygentypedef:: cardano_update_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_update_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_update_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_update_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_update_get_epoch 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_update_get_proposed_parameters 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_update_set_epoch 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_update_set_proposed_parameters 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_update_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_update_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_update_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_update_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_update_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/providers/index.rst: -------------------------------------------------------------------------------- 1 | Providers 2 | =================== 3 | 4 | This section of the documentation introduces the data providers for interacting with the Cardano blockchain: 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | provider 10 | provider_impl -------------------------------------------------------------------------------- /doc/src/sections/api/providers/provider_impl.rst: -------------------------------------------------------------------------------- 1 | Provider Implementation 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_provider_impl_t 5 | 6 | ------------ 7 | 8 | .. doxygentypedef:: cardano_get_parameters_func_t 9 | 10 | ------------ 11 | 12 | .. doxygentypedef:: cardano_get_unspent_outputs_func_t 13 | 14 | ------------ 15 | 16 | .. doxygentypedef:: cardano_get_rewards_balance_func_t 17 | 18 | ------------ 19 | 20 | .. doxygentypedef:: cardano_get_unspent_outputs_with_asset_func_t 21 | 22 | ------------ 23 | 24 | .. doxygentypedef:: cardano_get_unspent_output_by_nft_func_t 25 | 26 | ------------ 27 | 28 | .. doxygentypedef:: cardano_resolve_unspent_outputs_func_t 29 | 30 | 31 | ------------ 32 | 33 | .. doxygentypedef:: cardano_resolve_datum_func_t 34 | 35 | ------------ 36 | 37 | .. doxygentypedef:: cardano_confirm_transaction_func_t 38 | 39 | 40 | ------------ 41 | 42 | .. doxygentypedef:: cardano_submit_transaction_func_t 43 | 44 | 45 | ------------ 46 | 47 | .. doxygentypedef:: cardano_evaluate_transaction_func_t 48 | 49 | -------------------------------------------------------------------------------- /doc/src/sections/api/scripts/index.rst: -------------------------------------------------------------------------------- 1 | Scripts 2 | ======== 3 | 4 | This section of the documentation provides an in-depth look at the various script types utilized within the Cardano ecosystem. Scripts are fundamental components in Cardano's smart contract infrastructure, enabling the execution of complex logic in a decentralized manner. The Plutus scripting language, along with its data types, allows for the creation of robust and secure smart contracts and decentralized applications (dApps). 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | script 10 | native_script 11 | native_script_list 12 | native_script_type 13 | script_all 14 | script_any 15 | script_invalid_after 16 | script_invalid_before 17 | script_language 18 | script_n_of_k 19 | script_pubkey 20 | plutus_language_version 21 | plutus_v1_script 22 | plutus_v2_script 23 | plutus_v3_script 24 | 25 | -------------------------------------------------------------------------------- /doc/src/sections/api/scripts/native_script_type.rst: -------------------------------------------------------------------------------- 1 | Native Script Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_native_script_type_t -------------------------------------------------------------------------------- /doc/src/sections/api/scripts/plutus_language_version.rst: -------------------------------------------------------------------------------- 1 | Plutus Language Version 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_plutus_language_version_t -------------------------------------------------------------------------------- /doc/src/sections/api/scripts/script_language.rst: -------------------------------------------------------------------------------- 1 | Script Language 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_script_language_t -------------------------------------------------------------------------------- /doc/src/sections/api/scripts/script_pubkey.rst: -------------------------------------------------------------------------------- 1 | Native Script - Require Signature 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_script_pubkey_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_script_pubkey_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_script_pubkey_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_script_pubkey_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_script_pubkey_to_cip116_json 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_script_pubkey_from_json 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_script_pubkey_get_key_hash 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_script_pubkey_set_key_hash 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_script_pubkey_equals 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_script_pubkey_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_script_pubkey_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_script_pubkey_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_script_pubkey_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_script_pubkey_get_last_error 57 | 58 | -------------------------------------------------------------------------------- /doc/src/sections/api/time.rst: -------------------------------------------------------------------------------- 1 | Time 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_compute_slot_from_unix_time 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_compute_unix_time_from_slot 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_compute_epoch_from_unix_time 13 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_body/index.rst: -------------------------------------------------------------------------------- 1 | Transaction Body 2 | ========================== 3 | 4 | The transaction body is the core structure of a transaction. It includes the details of what is being spent, where the assets are going, and additional metadata, such as the fees and validity intervals. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./transaction_body 10 | ./transaction_input 11 | ./transaction_input_set 12 | ./transaction_output 13 | ./transaction_output_list 14 | ./value 15 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_body/transaction_input_set.rst: -------------------------------------------------------------------------------- 1 | Transaction Input Set 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_transaction_input_set_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_transaction_input_set_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_transaction_input_set_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_transaction_input_set_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_transaction_input_set_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_transaction_input_set_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_transaction_input_set_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_transaction_input_set_is_tagged 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_transaction_input_set_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_transaction_input_set_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_transaction_input_set_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_transaction_input_set_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_transaction_input_set_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_body/transaction_output_list.rst: -------------------------------------------------------------------------------- 1 | Transaction Output List 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_transaction_output_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_transaction_output_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_transaction_output_list_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_transaction_output_list_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_transaction_output_list_get_length 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_transaction_output_list_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_transaction_output_list_add 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_transaction_output_list_unref 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_transaction_output_list_ref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_transaction_output_list_refcount 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_transaction_output_list_set_last_error 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_transaction_output_list_get_last_error 49 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/coin_selector.rst: -------------------------------------------------------------------------------- 1 | Coin Selector 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_coin_selector_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_coin_selector_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_coin_selector_get_name 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_coin_selector_select 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_coin_selector_unref 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_coin_selector_ref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_coin_selector_refcount 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_coin_selector_set_last_error 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_coin_selector_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/coin_selector_impl.rst: -------------------------------------------------------------------------------- 1 | Coin Selector Implementation 2 | ============================== 3 | 4 | .. doxygentypedef:: cardano_coin_selector_impl_t 5 | 6 | ------------ 7 | 8 | .. doxygentypedef:: cardano_coin_select_func_t 9 | 10 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/fee.rst: -------------------------------------------------------------------------------- 1 | Fee 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_compute_transaction_fee 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_compute_min_ada_required 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_compute_min_script_fee 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_compute_min_fee_without_scripts 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_compute_script_ref_fee 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_get_total_ex_units_in_redeemers 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_get_serialized_coin_size 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_get_serialized_output_size 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_get_serialized_script_size 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_get_serialized_transaction_size 41 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/implicit_coin.rst: -------------------------------------------------------------------------------- 1 | Implicit Coin 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_implicit_coin_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_compute_implicit_coin 9 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/index.rst: -------------------------------------------------------------------------------- 1 | Transaction Builder 2 | ========================== 3 | 4 | The Transaction Builder is a utility designed to simplify the process of creating Cardano blockchain transactions. It provides a high-level interface to construct complex transactions by adding inputs, outputs, scripts, metadata, and witnesses. The builder handles the intricate steps of assembling a valid transaction, such as fee calculations, balancing inputs and outputs, and setting necessary scripts. This abstraction allows developers to focus on defining the transaction's components without needing to manage low-level details, making it easier to create robust and secure transactions that adhere to the protocol's constraints. 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | ./coin_selector 10 | ./transaction_balancing 11 | ./transaction_builder 12 | ./large_first_coin_selector 13 | ./coin_selector_impl 14 | ./fee 15 | ./implicit_coin 16 | ./tx_evaluator 17 | ./tx_evaluator_impl 18 | ./provider_tx_evaluator 19 | ./script_data_hash 20 | ./input_to_redeemer_map -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/large_first_coin_selector.rst: -------------------------------------------------------------------------------- 1 | Large First Coin Selector 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_large_first_coin_selector_new 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/provider_tx_evaluator.rst: -------------------------------------------------------------------------------- 1 | Provider Transaction Evaluator 2 | =============================== 3 | 4 | .. doxygenfunction:: cardano_tx_evaluator_from_provider 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/script_data_hash.rst: -------------------------------------------------------------------------------- 1 | Script Data Hash 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_compute_script_data_hash 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/transaction_balancing.rst: -------------------------------------------------------------------------------- 1 | Transaction Balancing 2 | ========================== 3 | 4 | .. doxygenfunction:: cardano_balance_transaction 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_is_transaction_balanced 9 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/tx_evaluator.rst: -------------------------------------------------------------------------------- 1 | Transaction Evaluator 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_tx_evaluator_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_tx_evaluator_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_tx_evaluator_get_name 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_tx_evaluator_evaluate 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_tx_evaluator_unref 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_tx_evaluator_ref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_tx_evaluator_refcount 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_tx_evaluator_set_last_error 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_tx_evaluator_get_last_error 37 | 38 | -------------------------------------------------------------------------------- /doc/src/sections/api/transaction_builder/tx_evaluator_impl.rst: -------------------------------------------------------------------------------- 1 | Transaction Evaluator Implementation 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_tx_evaluator_impl_t 5 | 6 | ------------ 7 | 8 | .. doxygentypedef:: cardano_tx_evaluate_func_t 9 | 10 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/governance_action_id_list.rst: -------------------------------------------------------------------------------- 1 | Governance Action ID List 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_governance_action_id_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_governance_action_id_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_governance_action_id_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_governance_action_id_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_governance_action_id_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_governance_action_id_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_governance_action_id_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_governance_action_id_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_governance_action_id_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_governance_action_id_list_get_last_error 41 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/index.rst: -------------------------------------------------------------------------------- 1 | Voting Procedures 2 | ======================== 3 | 4 | This section of the documentation provides an in-depth look at voting procedures: 5 | 6 | .. toctree:: 7 | :maxdepth: 1 8 | 9 | vote 10 | voter 11 | voter_type 12 | voting_procedure 13 | voting_procedures 14 | voter_list 15 | governance_action_id_list 16 | 17 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/vote.rst: -------------------------------------------------------------------------------- 1 | Vote 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_vote_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_vote_to_string 9 | 10 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/voter.rst: -------------------------------------------------------------------------------- 1 | Voter 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_voter_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_voter_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_voter_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_voter_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_voter_set_type 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_voter_get_type 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_voter_get_credential 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_voter_set_credential 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_voter_equals 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_voter_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_voter_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_voter_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_voter_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_voter_get_last_error -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/voter_list.rst: -------------------------------------------------------------------------------- 1 | Voter List 2 | ===================================== 3 | 4 | .. doxygentypedef:: cardano_voter_list_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_voter_list_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_voter_list_get_length 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_voter_list_get 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_voter_list_add 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_voter_list_unref 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_voter_list_ref 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_voter_list_refcount 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_voter_list_set_last_error 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_voter_list_get_last_error 41 | 42 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/voter_type.rst: -------------------------------------------------------------------------------- 1 | Voter Type 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_voter_type_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_voter_type_to_string 9 | 10 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/voting_procedure.rst: -------------------------------------------------------------------------------- 1 | Voting Procedure 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_voting_procedure_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_voting_procedure_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_voting_procedure_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_voting_procedure_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_voting_procedure_get_vote 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_voting_procedure_set_vote 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_voting_procedure_get_anchor 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_voting_procedure_set_anchor 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_voting_procedure_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_voting_procedure_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_voting_procedure_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_voting_procedure_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_voting_procedure_get_last_error 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /doc/src/sections/api/voting_procedures/voting_procedures.rst: -------------------------------------------------------------------------------- 1 | Voting Procedures 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_voting_procedures_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_voting_procedures_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_voting_procedures_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_voting_procedures_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_voting_procedures_insert 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_voting_procedures_get 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_voting_procedures_get_governance_ids_by_voter 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_voting_procedures_get_voters 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_voting_procedures_unref 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_voting_procedures_ref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_voting_procedures_refcount 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_voting_procedures_set_last_error 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_voting_procedures_get_last_error 53 | -------------------------------------------------------------------------------- /doc/src/sections/api/witness_set/index.rst: -------------------------------------------------------------------------------- 1 | Witness Set 2 | ============ 3 | 4 | A witness is a piece of information that allows you to efficiently verify the authenticity of the transaction (also known as proof). 5 | 6 | In Cardano, transactions have multiple types of authentication proofs, these can range from signatures for spending UTxOs, to scripts (with its arguments, datums and redeemers) for smart contract execution. 7 | 8 | .. toctree:: 9 | :maxdepth: 1 10 | 11 | bootstrap_witness 12 | bootstrap_witness_set 13 | native_script_set 14 | plutus_data_set 15 | plutus_v1_script_set 16 | plutus_v2_script_set 17 | plutus_v3_script_set 18 | redeemer 19 | redeemer_list 20 | redeemer_tag 21 | vkey_witness 22 | vkey_witness_set 23 | witness_set -------------------------------------------------------------------------------- /doc/src/sections/api/witness_set/redeemer_tag.rst: -------------------------------------------------------------------------------- 1 | Redeemer Tag 2 | ========================== 3 | 4 | .. doxygenenum:: cardano_redeemer_tag_t 5 | -------------------------------------------------------------------------------- /doc/src/sections/api/witness_set/vkey_witness.rst: -------------------------------------------------------------------------------- 1 | VKey Witness 2 | ========================== 3 | 4 | .. doxygentypedef:: cardano_vkey_witness_t 5 | 6 | ------------ 7 | 8 | .. doxygenfunction:: cardano_vkey_witness_new 9 | 10 | ------------ 11 | 12 | .. doxygenfunction:: cardano_vkey_witness_from_cbor 13 | 14 | ------------ 15 | 16 | .. doxygenfunction:: cardano_vkey_witness_to_cbor 17 | 18 | ------------ 19 | 20 | .. doxygenfunction:: cardano_vkey_witness_has_public_key 21 | 22 | ------------ 23 | 24 | .. doxygenfunction:: cardano_vkey_witness_get_vkey 25 | 26 | ------------ 27 | 28 | .. doxygenfunction:: cardano_vkey_witness_set_vkey 29 | 30 | ------------ 31 | 32 | .. doxygenfunction:: cardano_vkey_witness_get_signature 33 | 34 | ------------ 35 | 36 | .. doxygenfunction:: cardano_vkey_witness_set_signature 37 | 38 | ------------ 39 | 40 | .. doxygenfunction:: cardano_vkey_witness_unref 41 | 42 | ------------ 43 | 44 | .. doxygenfunction:: cardano_vkey_witness_ref 45 | 46 | ------------ 47 | 48 | .. doxygenfunction:: cardano_vkey_witness_refcount 49 | 50 | ------------ 51 | 52 | .. doxygenfunction:: cardano_vkey_witness_set_last_error 53 | 54 | ------------ 55 | 56 | .. doxygenfunction:: cardano_vkey_witness_get_last_error 57 | -------------------------------------------------------------------------------- /examples/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | FILE(GLOB EXAMPLE_SOURCES "src/*_example.c") 2 | 3 | FILE(GLOB_RECURSE PROVIDERS_HEADER_DIRS RELATIVE ${CMAKE_SOURCE_DIR} src/utils/ src/providers/) 4 | 5 | FILE(GLOB_RECURSE PROVIDERS_SOURCE_FILES src/utils/*.c src/providers/*.c) 6 | 7 | FIND_PACKAGE(CURL REQUIRED) 8 | 9 | FOREACH(EXAMPLE_SOURCE ${EXAMPLE_SOURCES}) 10 | GET_FILENAME_COMPONENT(EXAMPLE_TARGET_NAME ${EXAMPLE_SOURCE} NAME_WE) # Extract the filename without extension 11 | 12 | ADD_EXECUTABLE(${EXAMPLE_TARGET_NAME} ${EXAMPLE_SOURCE} ${PROVIDERS_SOURCE_FILES}) 13 | MESSAGE(STATUS "Example source: ${EXAMPLE_TARGET_NAME}") 14 | 15 | TARGET_INCLUDE_DIRECTORIES(${EXAMPLE_TARGET_NAME} PRIVATE ${CARDANO_C_INCLUDE_DIR}) 16 | TARGET_INCLUDE_DIRECTORIES(${EXAMPLE_TARGET_NAME} PRIVATE src/utils src/providers) 17 | 18 | TARGET_LINK_LIBRARIES(${EXAMPLE_TARGET_NAME} PRIVATE cardano-c ${CURL_LIBRARIES}) 19 | ENDFOREACH() -------------------------------------------------------------------------------- /fuzz/cbor_reader_fuzzer.c: -------------------------------------------------------------------------------- 1 | #include 2 | 3 | int 4 | LLVMFuzzerTestOneInput(const uint8_t* data, size_t size) 5 | { 6 | cardano_cbor_reader_t* reader = cardano_cbor_reader_new(data, size); 7 | 8 | cardano_cbor_reader_state_t state = CARDANO_CBOR_READER_STATE_UNDEFINED; 9 | 10 | while (state != CARDANO_CBOR_READER_STATE_FINISHED) 11 | { 12 | cardano_error_t result = cardano_cbor_reader_skip_value(reader); 13 | 14 | if (result != CARDANO_SUCCESS) 15 | { 16 | break; 17 | } 18 | 19 | result = cardano_cbor_reader_peek_state(reader, &state); 20 | 21 | if (result != CARDANO_SUCCESS) 22 | { 23 | break; 24 | } 25 | } 26 | 27 | cardano_cbor_reader_unref(&reader); 28 | return 0; 29 | } -------------------------------------------------------------------------------- /fuzz/corpus/array_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_10.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_10.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_11.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_11.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_6.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_6.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_7.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_7.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_8.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_8.cbor -------------------------------------------------------------------------------- /fuzz/corpus/array_9.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/array_9.cbor -------------------------------------------------------------------------------- /fuzz/corpus/attestation_obj_u2f_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/attestation_obj_u2f_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/attestation_obj_u2f_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/attestation_obj_u2f_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/byte_string_0.cbor: -------------------------------------------------------------------------------- 1 | @ -------------------------------------------------------------------------------- /fuzz/corpus/byte_string_1.cbor: -------------------------------------------------------------------------------- 1 | D -------------------------------------------------------------------------------- /fuzz/corpus/byte_string_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/byte_string_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_10.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_10.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_11.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_11.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_12.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_12.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_13.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_13.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_14.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_14.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_15.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_15.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_16.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_16.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_6.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_6.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_7.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_7.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_8.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_8.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cose_9.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cose_9.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_claims_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_claims_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_cose_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_cose_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_cose_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_cose_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_cose_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_cose_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_encrypted_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_encrypted_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_maced_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_maced_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_maced_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_maced_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_nested_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_nested_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/cwt_signed_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/cwt_signed_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_10.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_10.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_6.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_6.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_7.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_7.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_8.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_8.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float16_9.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float16_9.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float32_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float32_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float32_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float32_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float32_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float32_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float32_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float32_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float32_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float32_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/float64_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/float64_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/map_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/map_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/negative_integer_0.cbor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fuzz/corpus/negative_integer_1.cbor: -------------------------------------------------------------------------------- 1 | ) -------------------------------------------------------------------------------- /fuzz/corpus/negative_integer_2.cbor: -------------------------------------------------------------------------------- 1 | 8c -------------------------------------------------------------------------------- /fuzz/corpus/negative_integer_3.cbor: -------------------------------------------------------------------------------- 1 | 9� -------------------------------------------------------------------------------- /fuzz/corpus/negative_integer_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/negative_integer_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_0.cbor: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_1.cbor: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_10.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/positive_integer_10.cbor -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_2.cbor: -------------------------------------------------------------------------------- 1 | 2 | -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_3.cbor: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_4.cbor: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_5.cbor: -------------------------------------------------------------------------------- 1 |  -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_6.cbor: -------------------------------------------------------------------------------- 1 | d -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_7.cbor: -------------------------------------------------------------------------------- 1 | � -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_8.cbor: -------------------------------------------------------------------------------- 1 | B@ -------------------------------------------------------------------------------- /fuzz/corpus/positive_integer_9.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/positive_integer_9.cbor -------------------------------------------------------------------------------- /fuzz/corpus/primitives_0.cbor: -------------------------------------------------------------------------------- 1 | � -------------------------------------------------------------------------------- /fuzz/corpus/primitives_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/primitives_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/primitives_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/primitives_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/primitives_3.cbor: -------------------------------------------------------------------------------- 1 | � -------------------------------------------------------------------------------- /fuzz/corpus/primitives_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/primitives_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/primitives_6.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/primitives_6.cbor -------------------------------------------------------------------------------- /fuzz/corpus/struct_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/struct_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/struct_keyasint_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/struct_keyasint_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/struct_toarray_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/struct_toarray_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_0.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_0.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_1.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_1.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_2.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_2.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_3.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_3.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_4.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_4.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_5.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_5.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_6.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_6.cbor -------------------------------------------------------------------------------- /fuzz/corpus/tag_7.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/tag_7.cbor -------------------------------------------------------------------------------- /fuzz/corpus/text_string_0.cbor: -------------------------------------------------------------------------------- 1 | ` -------------------------------------------------------------------------------- /fuzz/corpus/text_string_1.cbor: -------------------------------------------------------------------------------- 1 | aa -------------------------------------------------------------------------------- /fuzz/corpus/text_string_2.cbor: -------------------------------------------------------------------------------- 1 | dIETF -------------------------------------------------------------------------------- /fuzz/corpus/text_string_3.cbor: -------------------------------------------------------------------------------- 1 | b"\ -------------------------------------------------------------------------------- /fuzz/corpus/text_string_4.cbor: -------------------------------------------------------------------------------- 1 | bü -------------------------------------------------------------------------------- /fuzz/corpus/text_string_5.cbor: -------------------------------------------------------------------------------- 1 | c水 -------------------------------------------------------------------------------- /fuzz/corpus/text_string_6.cbor: -------------------------------------------------------------------------------- 1 | d𐅑 -------------------------------------------------------------------------------- /fuzz/corpus/text_string_7.cbor: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/corpus/text_string_7.cbor -------------------------------------------------------------------------------- /fuzz/json_corpus/blockfrost_tx.json: -------------------------------------------------------------------------------- 1 | { 2 | "hash": "1e043f100dce12d107f679685acd2fc0610e10f72a92d412794c9773d11d8477", 3 | "block": "356b7d7dbb696ccd12775c016941057a9dc70898d87a63fc752271bb46856940", 4 | "block_height": 123456, 5 | "block_time": 1635505891, 6 | "slot": 42000000, 7 | "index": 1, 8 | "output_amount": [ 9 | { 10 | "unit": "lovelace", 11 | "quantity": "42000000" 12 | }, 13 | { 14 | "unit": "b0d07d45fe9514f80213f4020e5a61241458be626841cde717cb38a76e7574636f696e", 15 | "quantity": "12" 16 | } 17 | ], 18 | "fees": "182485", 19 | "deposit": "0", 20 | "size": 433, 21 | "invalid_before": null, 22 | "invalid_hereafter": "13885913", 23 | "utxo_count": 4, 24 | "withdrawal_count": 0, 25 | "mir_cert_count": 0, 26 | "delegation_count": 0, 27 | "stake_cert_count": 0, 28 | "pool_update_count": 0, 29 | "pool_retire_count": 0, 30 | "asset_mint_or_burn_count": 0, 31 | "redeemer_count": 0, 32 | "valid_contract": true 33 | } -------------------------------------------------------------------------------- /fuzz/json_corpus/number_-9223372036854775808.json: -------------------------------------------------------------------------------- 1 | [-9223372036854775808] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_-9223372036854775809.json: -------------------------------------------------------------------------------- 1 | [-9223372036854775809] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_1.0.json: -------------------------------------------------------------------------------- 1 | [1.0] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_1.000000000000000005.json: -------------------------------------------------------------------------------- 1 | [1.000000000000000005] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_1000000000000000.json: -------------------------------------------------------------------------------- 1 | [1000000000000000] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_10000000000000000999.json: -------------------------------------------------------------------------------- 1 | [10000000000000000999] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_1e-999.json: -------------------------------------------------------------------------------- 1 | [1E-999] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_1e6.json: -------------------------------------------------------------------------------- 1 | [1E6] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_9223372036854775807.json: -------------------------------------------------------------------------------- 1 | [9223372036854775807] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/number_9223372036854775808.json: -------------------------------------------------------------------------------- 1 | [9223372036854775808] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/object_key_nfc_nfd.json: -------------------------------------------------------------------------------- 1 | {"é":"NFC","é":"NFD"} -------------------------------------------------------------------------------- /fuzz/json_corpus/object_key_nfd_nfc.json: -------------------------------------------------------------------------------- 1 | {"é":"NFD","é":"NFC"} -------------------------------------------------------------------------------- /fuzz/json_corpus/object_same_key_different_values.json: -------------------------------------------------------------------------------- 1 | {"a":1,"a":2} -------------------------------------------------------------------------------- /fuzz/json_corpus/object_same_key_same_value.json: -------------------------------------------------------------------------------- 1 | {"a":1,"a":1} -------------------------------------------------------------------------------- /fuzz/json_corpus/object_same_key_unclear_values.json: -------------------------------------------------------------------------------- 1 | {"a":0, "a":-0} 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/string_1_escaped_invalid_codepoint.json: -------------------------------------------------------------------------------- 1 | ["\uD800"] -------------------------------------------------------------------------------- /fuzz/json_corpus/string_1_invalid_codepoint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/json_corpus/string_1_invalid_codepoint.json -------------------------------------------------------------------------------- /fuzz/json_corpus/string_2_escaped_invalid_codepoints.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800"] -------------------------------------------------------------------------------- /fuzz/json_corpus/string_2_invalid_codepoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/json_corpus/string_2_invalid_codepoints.json -------------------------------------------------------------------------------- /fuzz/json_corpus/string_3_escaped_invalid_codepoints.json: -------------------------------------------------------------------------------- 1 | ["\uD800\uD800\uD800"] -------------------------------------------------------------------------------- /fuzz/json_corpus/string_3_invalid_codepoints.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/json_corpus/string_3_invalid_codepoints.json -------------------------------------------------------------------------------- /fuzz/json_corpus/string_with_escaped_NULL.json: -------------------------------------------------------------------------------- 1 | ["A\u0000B"] -------------------------------------------------------------------------------- /fuzz/json_corpus/utf8_emojis.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_arraysWithSpaces.json: -------------------------------------------------------------------------------- 1 | [[] ] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_empty-string.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_empty.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_ending_with_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_false.json: -------------------------------------------------------------------------------- 1 | [false] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_heterogeneous.json: -------------------------------------------------------------------------------- 1 | [null, 1, "1", {}] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_null.json: -------------------------------------------------------------------------------- 1 | [null] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_with_1_and_newline.json: -------------------------------------------------------------------------------- 1 | [1 2 | ] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [1] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_with_several_null.json: -------------------------------------------------------------------------------- 1 | [1,null,null,null,2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_array_with_trailing_space.json: -------------------------------------------------------------------------------- 1 | [2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number.json: -------------------------------------------------------------------------------- 1 | [123e65] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_0e+1.json: -------------------------------------------------------------------------------- 1 | [0e+1] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_0e1.json: -------------------------------------------------------------------------------- 1 | [0e1] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_after_space.json: -------------------------------------------------------------------------------- 1 | [ 4] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_double_close_to_zero.json: -------------------------------------------------------------------------------- 1 | [-0.000000000000000000000000000000000000000000000000000000000000000000000000000001] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_int_with_exp.json: -------------------------------------------------------------------------------- 1 | [20e1] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_minus_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_negative_int.json: -------------------------------------------------------------------------------- 1 | [-123] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_negative_one.json: -------------------------------------------------------------------------------- 1 | [-1] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_negative_zero.json: -------------------------------------------------------------------------------- 1 | [-0] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_capital_e.json: -------------------------------------------------------------------------------- 1 | [1E22] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_capital_e_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1E-2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_capital_e_pos_exp.json: -------------------------------------------------------------------------------- 1 | [1E+2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_exponent.json: -------------------------------------------------------------------------------- 1 | [123e45] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_fraction_exponent.json: -------------------------------------------------------------------------------- 1 | [123.456e78] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_neg_exp.json: -------------------------------------------------------------------------------- 1 | [1e-2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_real_pos_exponent.json: -------------------------------------------------------------------------------- 1 | [1e+2] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_simple_int.json: -------------------------------------------------------------------------------- 1 | [123] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_number_simple_real.json: -------------------------------------------------------------------------------- 1 | [123.456789] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf", "dfg":"fgh"} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_basic.json: -------------------------------------------------------------------------------- 1 | {"asd":"sdf"} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_duplicated_key.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"c"} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_duplicated_key_and_value.json: -------------------------------------------------------------------------------- 1 | {"a":"b","a":"b"} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_empty.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_empty_key.json: -------------------------------------------------------------------------------- 1 | {"":0} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_escaped_null_in_key.json: -------------------------------------------------------------------------------- 1 | {"foo\u0000bar": 42} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_extreme_numbers.json: -------------------------------------------------------------------------------- 1 | { "min": -1.0e+28, "max": 1.0e+28 } -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_long_strings.json: -------------------------------------------------------------------------------- 1 | {"x":[{"id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"}], "id": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_simple.json: -------------------------------------------------------------------------------- 1 | {"a":[]} -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_string_unicode.json: -------------------------------------------------------------------------------- 1 | {"title":"\u041f\u043e\u043b\u0442\u043e\u0440\u0430 \u0417\u0435\u043c\u043b\u0435\u043a\u043e\u043f\u0430" } -------------------------------------------------------------------------------- /fuzz/json_corpus/y_object_with_newlines.json: -------------------------------------------------------------------------------- 1 | { 2 | "a": "b" 3 | } -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_1_2_3_bytes_UTF-8_sequences.json: -------------------------------------------------------------------------------- 1 | ["\u0060\u012a\u12AB"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_accepted_surrogate_pair.json: -------------------------------------------------------------------------------- 1 | ["\uD801\udc37"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_accepted_surrogate_pairs.json: -------------------------------------------------------------------------------- 1 | ["\ud83d\ude39\ud83d\udc8d"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_allowed_escapes.json: -------------------------------------------------------------------------------- 1 | ["\"\\\/\b\f\n\r\t"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_backslash_and_u_escaped_zero.json: -------------------------------------------------------------------------------- 1 | ["\\u0000"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_backslash_doublequotes.json: -------------------------------------------------------------------------------- 1 | ["\""] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_comments.json: -------------------------------------------------------------------------------- 1 | ["a/*b*/c/*d//e"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_double_escape_a.json: -------------------------------------------------------------------------------- 1 | ["\\a"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_double_escape_n.json: -------------------------------------------------------------------------------- 1 | ["\\n"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_escaped_control_character.json: -------------------------------------------------------------------------------- 1 | ["\u0012"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_escaped_noncharacter.json: -------------------------------------------------------------------------------- 1 | ["\uFFFF"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_in_array.json: -------------------------------------------------------------------------------- 1 | ["asd"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_in_array_with_leading_space.json: -------------------------------------------------------------------------------- 1 | [ "asd"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_last_surrogates_1_and_2.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFF"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_nbsp_uescaped.json: -------------------------------------------------------------------------------- 1 | ["new\u00A0line"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_nonCharacterInUTF-8_U+10FFFF.json: -------------------------------------------------------------------------------- 1 | ["􏿿"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_nonCharacterInUTF-8_U+FFFF.json: -------------------------------------------------------------------------------- 1 | ["￿"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_null_escape.json: -------------------------------------------------------------------------------- 1 | ["\u0000"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_one-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u002c"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_pi.json: -------------------------------------------------------------------------------- 1 | ["π"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_reservedCharacterInUTF-8_U+1BFFF.json: -------------------------------------------------------------------------------- 1 | ["𛿿"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_simple_ascii.json: -------------------------------------------------------------------------------- 1 | ["asd "] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_space.json: -------------------------------------------------------------------------------- 1 | " " -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_surrogates_U+1D11E_MUSICAL_SYMBOL_G_CLEF.json: -------------------------------------------------------------------------------- 1 | ["\uD834\uDd1e"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_three-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0821"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_two-byte-utf-8.json: -------------------------------------------------------------------------------- 1 | ["\u0123"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_u+2028_line_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_u+2029_par_sep.json: -------------------------------------------------------------------------------- 1 | ["
"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_uEscape.json: -------------------------------------------------------------------------------- 1 | ["\u0061\u30af\u30EA\u30b9"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_uescaped_newline.json: -------------------------------------------------------------------------------- 1 | ["new\u000Aline"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unescaped_char_delete.json: -------------------------------------------------------------------------------- 1 | [""] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode.json: -------------------------------------------------------------------------------- 1 | ["\uA66D"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicodeEscapedBackslash.json: -------------------------------------------------------------------------------- 1 | ["\u005C"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_2.json: -------------------------------------------------------------------------------- 1 | ["⍂㈴⍂"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+10FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uDBFF\uDFFE"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+1FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uD83F\uDFFE"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+200B_ZERO_WIDTH_SPACE.json: -------------------------------------------------------------------------------- 1 | ["\u200B"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+2064_invisible_plus.json: -------------------------------------------------------------------------------- 1 | ["\u2064"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+FDD0_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFDD0"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_U+FFFE_nonchar.json: -------------------------------------------------------------------------------- 1 | ["\uFFFE"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_unicode_escaped_double_quote.json: -------------------------------------------------------------------------------- 1 | ["\u0022"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_utf8.json: -------------------------------------------------------------------------------- 1 | ["€𝄞"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_string_with_del_character.json: -------------------------------------------------------------------------------- 1 | ["aa"] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_false.json: -------------------------------------------------------------------------------- 1 | false -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_int.json: -------------------------------------------------------------------------------- 1 | 42 -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_negative_real.json: -------------------------------------------------------------------------------- 1 | -0.1 -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_null.json: -------------------------------------------------------------------------------- 1 | null -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_string.json: -------------------------------------------------------------------------------- 1 | "asd" -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_lonely_true.json: -------------------------------------------------------------------------------- 1 | true -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_string_empty.json: -------------------------------------------------------------------------------- 1 | "" -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_trailing_newline.json: -------------------------------------------------------------------------------- 1 | ["a"] 2 | -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_true_in_array.json: -------------------------------------------------------------------------------- 1 | [true] -------------------------------------------------------------------------------- /fuzz/json_corpus/y_structure_whitespace_array.json: -------------------------------------------------------------------------------- 1 | [] -------------------------------------------------------------------------------- /fuzz/tx_corpus/crash-23986f99679cd8b4f69c6b2ccc79c2ef0886e0b3: -------------------------------------------------------------------------------- 1 | 85A0A406854646ABA0A4068546ABA0A406854646ABA0A406858546ABE406A0A4015F -------------------------------------------------------------------------------- /fuzz/tx_corpus/crash-ec2ecebd94f6745491104b3cbc195d0eabbcfd5e: -------------------------------------------------------------------------------- 1 | 84a600d9010281825820260aed6e7a24044b1254a87a509468a649f522a4e54e830ac10f27ea7b5ec61f010183a300581d70b429738bd6cc58b5c7932d001aa2bd05cfea47020a556c8c753d4436011a004c4b40028200582007845f8f3841996e3d815747c4649c6a69d2b645cd1428a339ba011a04636769a200583900b1814238b0d287a8a46ce7348c6ad79ab8995b0e6d46010e2d9e1c68042f1946335c498d2e7556c5c647c4649c6a69d2b645cd1428a339ba01821a00177a6ea2581c648823ffdad1610b4162f4dbc87bd47f6f9cf45d772ddef661eff198a5467742544319271044774554481a0031f9194577444f474500583900b1814238b0d287a8a46ce7348c6ad79ab8995b0e6d46010e2d9e1c68042f1946335c498d2e7556c5c647c4649c6a69d2b645cd1428a339ba01821a00177a6ea2581c648823ffdad1610b4162f4dbc87bd47f6f9cf45d772ddef661eff198a5467742544319271044774554481a0031f9194577444f47451a0056898d4577555344431a000fc589467753484942411a000103c2581c659ab0b5658687c2e74cd10dba8244015b713bf503b90557769d77a7a14a57696e675269646572731a02269552021a0002e665031a01353f84081a013531740b58204107eada9c7a90Ae1a0056898d4577555344431a000fc589467753484942411a000103c2581c659ab0b5658687c2e74cd10dba8244015b713bf503b90557769d77a7a14a57696e675269646572731a02269552021a0002e665031a01353f84081a013531740b58204107eada9c7a90Aeb9ada7c3f0A26823b1de36610b4162f4dbc87bd4d87980190c8efffff4f6 -------------------------------------------------------------------------------- /fuzz/tx_corpus/crash-f5ca50f4204486f1b6284ee29ecfad3f6ed4ce28: -------------------------------------------------------------------------------- 1 | 90A0A1039f5f -------------------------------------------------------------------------------- /fuzz/tx_corpus/leak-3313ef1bb4ed55d4f9f0591bdd3e3a02d6138966: -------------------------------------------------------------------------------- 1 | 88A2080210A2010000F0 -------------------------------------------------------------------------------- /fuzz/tx_corpus/leak-ce2bb0d6a1f2acf9ba28c5889c9dbfc38f31532a: -------------------------------------------------------------------------------- 1 | 9A80820260A30208048010A30108010A30100424008f37086f30088f88fff8f9889898 -------------------------------------------------------------------------------- /fuzz/tx_corpus/leak-e61e847e47a640bbe0d0db6ae4390efc742c28f3: -------------------------------------------------------------------------------- 1 | 84A104818206820101 -------------------------------------------------------------------------------- /fuzz/tx_corpus/oom-e3250b7c58f7ea55178aa7f82a859c457c7823f4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/fuzz/tx_corpus/oom-e3250b7c58f7ea55178aa7f82a859c457c7823f4 -------------------------------------------------------------------------------- /fuzz/tx_corpus/tx_cbor5.hex: -------------------------------------------------------------------------------- 1 | 84a70081825820857753f212e04d4cf8adaf337cdf6fa648d4bc1f8a915101c524665c04c7dbee00018182583900f892eeda68418590c4e63a0b3ab6e298eddafcab732b76c3cbe0d565fb49ad91d5fb425d08d2e2b1d7e970d633a026d6175dbf692b9b157c1a00495b0f021a0002f031031a01bba3a6075820fd27fd29ca1594192304ae5567be38a8844cb4b6bb002dc5d4ff027596c45a9f081a01bb95960e81581cfb49ad91d5fb425d08d2e2b1d7e970d633a026d6175dbf692b9b157ca100818258204b41aa92e8d7a4043768b54cf4c361e11b3948cdadd239dc422fe7d77e710dfe584007b735f80294c2c96d1bcbedd1e3712524c18f97f7e52b9bc5a7b3b6975295b688ecc0bdce420ab3dd75bb215481dfad0a1d0335f38dc7d1e63769bba2520a0bf5a1191679a15820d537310257db727ed1ec0263a6740f48babd9e69132c7ccc13f3cc7e62eb8c56a4656f776e6572583900f892eeda68418590c4e63a0b3ab6e298eddafcab732b76c3cbe0d565fb49ad91d5fb425d08d2e2b1d7e970d633a026d6175dbf692b9b157c65706f7765721b0000000167dfb6fc657574786f73858258205f105a4df66762a0b499dfb6869dcd8c705aa20ba0bfa3f62f5c4020dfbdfe0802825820bb849a8b2f35da7ec65f5398e9ea7760f513ca57dcf9c16a610698056f34616d02825820600fc9e7ff1975093b0d39f390f8bcd965330f486eac459ce0586e563fd1769901825820efe87104870689a48467c8c110b930bfbbed95798a3be97b18db93b1ba1efecb018258205f105a4df66762a0b499dfb6869dcd8c705aa20ba0bfa3f62f5c4020dfbdfe08006763686f69636573a15820d537310257db727ed1ec0263a6740f48babd9e69132c7ccc13f3cc7e62eb8c5601 -------------------------------------------------------------------------------- /lib/cardano-c.pc.in: -------------------------------------------------------------------------------- 1 | prefix=@CMAKE_INSTALL_PREFIX@ 2 | exec_prefix=@CMAKE_INSTALL_BINDIR@ 3 | libdir=@CMAKE_INSTALL_LIBDIR@ 4 | includedir=@CMAKE_INSTALL_PREFIX@/include/ 5 | 6 | Name: libcardano-c 7 | Description: A C library for interacting with the Cardano blockchain. 8 | Version: @CARDANO_C_VERSION@ 9 | Libs: -L@CMAKE_INSTALL_PREFIX@/@CMAKE_SHARED_LIBRARY_PREFIX@ -lcardano-c 10 | Cflags: -I@CMAKE_INSTALL_PREFIX@/include -------------------------------------------------------------------------------- /lib/external/libsodium/LICENSE: -------------------------------------------------------------------------------- 1 | /* 2 | * ISC License 3 | * 4 | * Copyright (c) 2013-2023 5 | * Frank Denis 6 | * 7 | * Permission to use, copy, modify, and/or distribute this software for any 8 | * purpose with or without fee is hereby granted, provided that the above 9 | * copyright notice and this permission notice appear in all copies. 10 | * 11 | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 12 | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 13 | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 14 | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 15 | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 16 | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 17 | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 18 | */ 19 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_auth/crypto_auth.c: -------------------------------------------------------------------------------- 1 | 2 | #include "crypto_auth.h" 3 | #include "randombytes.h" 4 | 5 | size_t 6 | crypto_auth_bytes(void) 7 | { 8 | return crypto_auth_BYTES; 9 | } 10 | 11 | size_t 12 | crypto_auth_keybytes(void) 13 | { 14 | return crypto_auth_KEYBYTES; 15 | } 16 | 17 | const char * 18 | crypto_auth_primitive(void) 19 | { 20 | return crypto_auth_PRIMITIVE; 21 | } 22 | 23 | int 24 | crypto_auth(unsigned char *out, const unsigned char *in, 25 | unsigned long long inlen, const unsigned char *k) 26 | { 27 | return crypto_auth_hmacsha512256(out, in, inlen, k); 28 | } 29 | 30 | int 31 | crypto_auth_verify(const unsigned char *h, const unsigned char *in, 32 | unsigned long long inlen,const unsigned char *k) 33 | { 34 | return crypto_auth_hmacsha512256_verify(h, in, inlen, k); 35 | } 36 | 37 | void 38 | crypto_auth_keygen(unsigned char k[crypto_auth_KEYBYTES]) 39 | { 40 | randombytes_buf(k, crypto_auth_KEYBYTES); 41 | } 42 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_core/hsalsa20/core_hsalsa20.c: -------------------------------------------------------------------------------- 1 | #include "crypto_core_hsalsa20.h" 2 | 3 | size_t 4 | crypto_core_hsalsa20_outputbytes(void) { 5 | return crypto_core_hsalsa20_OUTPUTBYTES; 6 | } 7 | 8 | size_t 9 | crypto_core_hsalsa20_inputbytes(void) { 10 | return crypto_core_hsalsa20_INPUTBYTES; 11 | } 12 | 13 | size_t 14 | crypto_core_hsalsa20_keybytes(void) { 15 | return crypto_core_hsalsa20_KEYBYTES; 16 | } 17 | 18 | size_t 19 | crypto_core_hsalsa20_constbytes(void) { 20 | return crypto_core_hsalsa20_CONSTBYTES; 21 | } 22 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_hash/crypto_hash.c: -------------------------------------------------------------------------------- 1 | 2 | #include "crypto_hash.h" 3 | 4 | size_t 5 | crypto_hash_bytes(void) 6 | { 7 | return crypto_hash_BYTES; 8 | } 9 | 10 | int 11 | crypto_hash(unsigned char *out, const unsigned char *in, 12 | unsigned long long inlen) 13 | { 14 | return crypto_hash_sha512(out, in, inlen); 15 | } 16 | 17 | const char * 18 | crypto_hash_primitive(void) { 19 | return crypto_hash_PRIMITIVE; 20 | } 21 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_hash/sha256/hash_sha256.c: -------------------------------------------------------------------------------- 1 | #include "crypto_hash_sha256.h" 2 | 3 | size_t 4 | crypto_hash_sha256_bytes(void) 5 | { 6 | return crypto_hash_sha256_BYTES; 7 | } 8 | 9 | size_t 10 | crypto_hash_sha256_statebytes(void) 11 | { 12 | return sizeof(crypto_hash_sha256_state); 13 | } 14 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_hash/sha512/hash_sha512.c: -------------------------------------------------------------------------------- 1 | #include "crypto_hash_sha512.h" 2 | 3 | size_t 4 | crypto_hash_sha512_bytes(void) 5 | { 6 | return crypto_hash_sha512_BYTES; 7 | } 8 | 9 | size_t 10 | crypto_hash_sha512_statebytes(void) 11 | { 12 | return sizeof(crypto_hash_sha512_state); 13 | } 14 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_onetimeauth/poly1305/donna/poly1305_donna.h: -------------------------------------------------------------------------------- 1 | #ifndef poly1305_donna_H 2 | #define poly1305_donna_H 3 | 4 | #include 5 | 6 | #include "crypto_onetimeauth_poly1305.h" 7 | #include "external/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h" 8 | 9 | extern struct crypto_onetimeauth_poly1305_implementation 10 | crypto_onetimeauth_poly1305_donna_implementation; 11 | 12 | #endif /* poly1305_donna_H */ 13 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef onetimeauth_poly1305_H 3 | #define onetimeauth_poly1305_H 4 | 5 | #include "crypto_onetimeauth_poly1305.h" 6 | 7 | typedef struct crypto_onetimeauth_poly1305_implementation { 8 | int (*onetimeauth)(unsigned char *out, const unsigned char *in, 9 | unsigned long long inlen, const unsigned char *k); 10 | int (*onetimeauth_verify)(const unsigned char *h, const unsigned char *in, 11 | unsigned long long inlen, const unsigned char *k); 12 | int (*onetimeauth_init)(crypto_onetimeauth_poly1305_state *state, 13 | const unsigned char * key); 14 | int (*onetimeauth_update)(crypto_onetimeauth_poly1305_state *state, 15 | const unsigned char * in, 16 | unsigned long long inlen); 17 | int (*onetimeauth_final)(crypto_onetimeauth_poly1305_state *state, 18 | unsigned char * out); 19 | } crypto_onetimeauth_poly1305_implementation; 20 | 21 | #endif 22 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_onetimeauth/poly1305/sse2/poly1305_sse2.h: -------------------------------------------------------------------------------- 1 | #ifndef poly1305_sse2_H 2 | #define poly1305_sse2_H 3 | 4 | #include 5 | 6 | #include "crypto_onetimeauth_poly1305.h" 7 | #include "external/libsodium/crypto_onetimeauth/poly1305/onetimeauth_poly1305.h" 8 | 9 | extern struct crypto_onetimeauth_poly1305_implementation 10 | crypto_onetimeauth_poly1305_sse2_implementation; 11 | 12 | #endif /* poly1305_sse2_H */ 13 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/crypto_scalarmult.c: -------------------------------------------------------------------------------- 1 | 2 | #include "crypto_scalarmult.h" 3 | 4 | const char * 5 | crypto_scalarmult_primitive(void) 6 | { 7 | return crypto_scalarmult_PRIMITIVE; 8 | } 9 | 10 | int 11 | crypto_scalarmult_base(unsigned char *q, const unsigned char *n) 12 | { 13 | return crypto_scalarmult_curve25519_base(q, n); 14 | } 15 | 16 | int 17 | crypto_scalarmult(unsigned char *q, const unsigned char *n, 18 | const unsigned char *p) 19 | { 20 | return crypto_scalarmult_curve25519(q, n, p); 21 | } 22 | 23 | size_t 24 | crypto_scalarmult_bytes(void) 25 | { 26 | return crypto_scalarmult_BYTES; 27 | } 28 | 29 | size_t 30 | crypto_scalarmult_scalarbytes(void) 31 | { 32 | return crypto_scalarmult_SCALARBYTES; 33 | } 34 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/ref10/x25519_ref10.h: -------------------------------------------------------------------------------- 1 | #ifndef x25519_ref10_H 2 | #define x25519_ref10_H 3 | 4 | #include "crypto_scalarmult_curve25519.h" 5 | #include "external/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h" 6 | 7 | extern struct crypto_scalarmult_curve25519_implementation 8 | crypto_scalarmult_curve25519_ref10_implementation; 9 | 10 | #endif 11 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/consts.S: -------------------------------------------------------------------------------- 1 | #ifdef IN_SANDY2X 2 | 3 | /* 4 | REDMASK51 is from amd64-51/consts.s. 5 | */ 6 | 7 | #include "consts_namespace.h" 8 | .data 9 | .p2align 4 10 | v0_0: .quad 0, 0 11 | v1_0: .quad 1, 0 12 | v2_1: .quad 2, 1 13 | v9_0: .quad 9, 0 14 | v9_9: .quad 9, 9 15 | v19_19: .quad 19, 19 16 | v38_1: .quad 38, 1 17 | v38_38: .quad 38, 38 18 | v121666_121666: .quad 121666, 121666 19 | m25: .quad 33554431, 33554431 20 | m26: .quad 67108863, 67108863 21 | subc0: .quad 0x07FFFFDA, 0x03FFFFFE 22 | subc2: .quad 0x07FFFFFE, 0x03FFFFFE 23 | REDMASK51: .quad 0x0007FFFFFFFFFFFF 24 | 25 | #endif 26 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/consts_namespace.h: -------------------------------------------------------------------------------- 1 | #ifndef consts_namespace_H 2 | #define consts_namespace_H 3 | 4 | #define v0_0 crypto_scalarmult_curve25519_sandy2x_v0_0 5 | #define v1_0 crypto_scalarmult_curve25519_sandy2x_v1_0 6 | #define v2_1 crypto_scalarmult_curve25519_sandy2x_v2_1 7 | #define v9_0 crypto_scalarmult_curve25519_sandy2x_v9_0 8 | #define v9_9 crypto_scalarmult_curve25519_sandy2x_v9_9 9 | #define v19_19 crypto_scalarmult_curve25519_sandy2x_v19_19 10 | #define v38_1 crypto_scalarmult_curve25519_sandy2x_v38_1 11 | #define v38_38 crypto_scalarmult_curve25519_sandy2x_v38_38 12 | #define v121666_121666 crypto_scalarmult_curve25519_sandy2x_v121666_121666 13 | #define m25 crypto_scalarmult_curve25519_sandy2x_m25 14 | #define m26 crypto_scalarmult_curve25519_sandy2x_m26 15 | #define subc0 crypto_scalarmult_curve25519_sandy2x_subc0 16 | #define subc2 crypto_scalarmult_curve25519_sandy2x_subc2 17 | #define REDMASK51 crypto_scalarmult_curve25519_sandy2x_REDMASK51 18 | 19 | #endif /* ifndef consts_namespace_H */ 20 | 21 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/curve25519_sandy2x.h: -------------------------------------------------------------------------------- 1 | #ifndef curve25519_sandy2x_H 2 | #define curve25519_sandy2x_H 3 | 4 | #include "crypto_scalarmult_curve25519.h" 5 | 6 | extern struct crypto_scalarmult_curve25519_implementation 7 | crypto_scalarmult_curve25519_sandy2x_implementation; 8 | 9 | #endif 10 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/fe.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is adapted from ref10/fe.h: 3 | All the redundant functions are removed. 4 | */ 5 | 6 | #ifndef fe_H 7 | #define fe_H 8 | 9 | #include 10 | #include 11 | 12 | typedef uint64_t fe[10]; 13 | 14 | /* 15 | fe means field element. 16 | Here the field is \Z/(2^255-19). 17 | An element t, entries t[0]...t[9], represents the integer 18 | t[0]+2^26 t[1]+2^51 t[2]+2^77 t[3]+2^102 t[4]+...+2^230 t[9]. 19 | Bounds on each t[i] vary depending on context. 20 | */ 21 | 22 | #define fe_frombytes crypto_scalarmult_curve25519_sandy2x_fe_frombytes 23 | 24 | extern void fe_frombytes(fe, const unsigned char *); 25 | 26 | #endif 27 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51.h: -------------------------------------------------------------------------------- 1 | /* 2 | This file is adapted from amd64-51/fe25519.h: 3 | 'fe25519' is renamed as 'fe51'; 4 | All the redundant functions are removed; 5 | New function fe51_nsquare is introduced. 6 | */ 7 | 8 | #ifndef fe51_H 9 | #define fe51_H 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | 15 | #include 16 | #include 17 | 18 | #include "fe51_namespace.h" 19 | 20 | typedef struct 21 | { 22 | uint64_t v[5]; 23 | } 24 | fe51; 25 | 26 | extern void fe51_pack(unsigned char *, const fe51 *); 27 | extern void fe51_mul(fe51 *, const fe51 *, const fe51 *); 28 | extern void fe51_nsquare(fe51 *, const fe51 *, int); 29 | extern void fe51_invert(fe51 *, const fe51 *); 30 | 31 | #ifdef __cplusplus 32 | } 33 | #endif 34 | 35 | #endif 36 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/fe51_namespace.h: -------------------------------------------------------------------------------- 1 | #ifndef fe51_namespace_H 2 | #define fe51_namespace_H 3 | 4 | #define fe51 crypto_scalarmult_curve25519_sandy2x_fe51 5 | #define _fe51 _crypto_scalarmult_curve25519_sandy2x_fe51 6 | #define fe51_pack crypto_scalarmult_curve25519_sandy2x_fe51_pack 7 | #define _fe51_pack _crypto_scalarmult_curve25519_sandy2x_fe51_pack 8 | #define fe51_mul crypto_scalarmult_curve25519_sandy2x_fe51_mul 9 | #define _fe51_mul _crypto_scalarmult_curve25519_sandy2x_fe51_mul 10 | #define fe51_nsquare crypto_scalarmult_curve25519_sandy2x_fe51_nsquare 11 | #define _fe51_nsquare _crypto_scalarmult_curve25519_sandy2x_fe51_nsquare 12 | 13 | #define fe51_invert crypto_scalarmult_curve25519_sandy2x_fe51_invert 14 | 15 | #endif /* ifndef fe51_namespace_H */ 16 | 17 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder.h: -------------------------------------------------------------------------------- 1 | #ifndef ladder_H 2 | #define ladder_H 3 | 4 | #ifdef __cplusplus 5 | extern "C" { 6 | #endif 7 | 8 | #include "fe.h" 9 | #include "ladder_namespace.h" 10 | 11 | extern void ladder(fe *, const unsigned char *); 12 | 13 | #ifdef __cplusplus 14 | } 15 | #endif 16 | 17 | #endif /* ifndef ladder_H */ 18 | 19 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/ladder_namespace.h: -------------------------------------------------------------------------------- 1 | #ifndef ladder_namespace_H 2 | #define ladder_namespace_H 3 | 4 | #define ladder crypto_scalarmult_curve25519_sandy2x_ladder 5 | #define _ladder _crypto_scalarmult_curve25519_sandy2x_ladder 6 | 7 | #endif /* ifndef ladder_namespace_H */ 8 | 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/sandy2x/sandy2x.S: -------------------------------------------------------------------------------- 1 | 2 | #ifdef HAVE_AVX_ASM 3 | 4 | #define IN_SANDY2X 5 | 6 | #include "consts.S" 7 | #include "fe51_mul.S" 8 | #include "fe51_nsquare.S" 9 | #include "fe51_pack.S" 10 | #include "ladder.S" 11 | 12 | #if defined(__linux__) && defined(__ELF__) 13 | .section .note.GNU-stack,"",%progbits 14 | #endif 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_scalarmult/curve25519/scalarmult_curve25519.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef scalarmult_poly1305_H 3 | #define scalarmult_poly1305_H 4 | 5 | typedef struct crypto_scalarmult_curve25519_implementation { 6 | int (*mult)(unsigned char *q, const unsigned char *n, 7 | const unsigned char *p); 8 | int (*mult_base)(unsigned char *q, const unsigned char *n); 9 | } crypto_scalarmult_curve25519_implementation; 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_sign/ed25519/ref10/sign_ed25519_ref10.h: -------------------------------------------------------------------------------- 1 | #ifndef sign_ed25519_ref10_H 2 | #define sign_ed25519_ref10_H 3 | 4 | void _crypto_sign_ed25519_ref10_hinit(crypto_hash_sha512_state *hs, 5 | int prehashed); 6 | 7 | int _crypto_sign_ed25519_detached(unsigned char *sig, 8 | unsigned long long *siglen_p, 9 | const unsigned char *m, 10 | unsigned long long mlen, 11 | const unsigned char *sk, int prehashed); 12 | 13 | int _crypto_sign_ed25519_verify_detached(const unsigned char *sig, 14 | const unsigned char *m, 15 | unsigned long long mlen, 16 | const unsigned char *pk, 17 | int prehashed); 18 | #endif 19 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-avx2.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_chacha20.h" 5 | #include "crypto_stream_chacha20.h" 6 | 7 | extern struct crypto_stream_chacha20_implementation 8 | crypto_stream_chacha20_dolbeau_avx2_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/chacha20/dolbeau/chacha20_dolbeau-ssse3.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_chacha20.h" 5 | #include "crypto_stream_chacha20.h" 6 | 7 | extern struct crypto_stream_chacha20_implementation 8 | crypto_stream_chacha20_dolbeau_ssse3_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/chacha20/ref/chacha20_ref.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_chacha20.h" 5 | #include "crypto_stream_chacha20.h" 6 | 7 | extern struct crypto_stream_chacha20_implementation 8 | crypto_stream_chacha20_ref_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/chacha20/stream_chacha20.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef stream_chacha20_H 3 | #define stream_chacha20_H 4 | 5 | #include 6 | 7 | typedef struct crypto_stream_chacha20_implementation { 8 | int (*stream)(unsigned char *c, unsigned long long clen, 9 | const unsigned char *n, const unsigned char *k); 10 | int (*stream_ietf_ext)(unsigned char *c, unsigned long long clen, 11 | const unsigned char *n, const unsigned char *k); 12 | int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, 13 | unsigned long long mlen, 14 | const unsigned char *n, uint64_t ic, 15 | const unsigned char *k); 16 | int (*stream_ietf_ext_xor_ic)(unsigned char *c, const unsigned char *m, 17 | unsigned long long mlen, 18 | const unsigned char *n, uint32_t ic, 19 | const unsigned char *k); 20 | } crypto_stream_chacha20_implementation; 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/crypto_stream.c: -------------------------------------------------------------------------------- 1 | 2 | #include "crypto_stream.h" 3 | #include "randombytes.h" 4 | 5 | size_t 6 | crypto_stream_keybytes(void) 7 | { 8 | return crypto_stream_KEYBYTES; 9 | } 10 | 11 | size_t 12 | crypto_stream_noncebytes(void) 13 | { 14 | return crypto_stream_NONCEBYTES; 15 | } 16 | 17 | size_t 18 | crypto_stream_messagebytes_max(void) 19 | { 20 | return crypto_stream_MESSAGEBYTES_MAX; 21 | } 22 | 23 | const char * 24 | crypto_stream_primitive(void) 25 | { 26 | return crypto_stream_PRIMITIVE; 27 | } 28 | 29 | int 30 | crypto_stream(unsigned char *c, unsigned long long clen, 31 | const unsigned char *n, const unsigned char *k) 32 | { 33 | return crypto_stream_xsalsa20(c, clen, n, k); 34 | } 35 | 36 | 37 | int 38 | crypto_stream_xor(unsigned char *c, const unsigned char *m, 39 | unsigned long long mlen, const unsigned char *n, 40 | const unsigned char *k) 41 | { 42 | return crypto_stream_xsalsa20_xor(c, m, mlen, n, k); 43 | } 44 | 45 | void 46 | crypto_stream_keygen(unsigned char k[crypto_stream_KEYBYTES]) 47 | { 48 | randombytes_buf(k, crypto_stream_KEYBYTES); 49 | } 50 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/ref/salsa20_ref.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_salsa20.h" 5 | #include "crypto_stream_salsa20.h" 6 | 7 | extern struct crypto_stream_salsa20_implementation 8 | crypto_stream_salsa20_ref_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/stream_salsa20.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef stream_salsa20_H 3 | #define stream_salsa20_H 4 | 5 | #include 6 | 7 | typedef struct crypto_stream_salsa20_implementation { 8 | int (*stream)(unsigned char *c, unsigned long long clen, 9 | const unsigned char *n, const unsigned char *k); 10 | int (*stream_xor_ic)(unsigned char *c, const unsigned char *m, 11 | unsigned long long mlen, 12 | const unsigned char *n, uint64_t ic, 13 | const unsigned char *k); 14 | } crypto_stream_salsa20_implementation; 15 | 16 | #endif 17 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.c: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "utils.h" 5 | 6 | #include "../stream_salsa20.h" 7 | #include "salsa20_xmm6.h" 8 | 9 | #ifdef HAVE_AMD64_ASM 10 | 11 | #ifdef __cplusplus 12 | extern "C" { 13 | #endif 14 | extern int stream_salsa20_xmm6(unsigned char *c, unsigned long long clen, 15 | const unsigned char *n, const unsigned char *k); 16 | 17 | extern int stream_salsa20_xmm6_xor_ic(unsigned char *c, const unsigned char *m, 18 | unsigned long long mlen, 19 | const unsigned char *n, 20 | uint64_t ic, const unsigned char *k); 21 | #ifdef __cplusplus 22 | } 23 | #endif 24 | 25 | struct crypto_stream_salsa20_implementation 26 | crypto_stream_salsa20_xmm6_implementation = { 27 | SODIUM_C99(.stream =) stream_salsa20_xmm6, 28 | SODIUM_C99(.stream_xor_ic =) stream_salsa20_xmm6_xor_ic, 29 | }; 30 | 31 | #endif 32 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/xmm6/salsa20_xmm6.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_salsa20.h" 5 | #include "crypto_stream_salsa20.h" 6 | 7 | extern struct crypto_stream_salsa20_implementation 8 | crypto_stream_salsa20_xmm6_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-avx2.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_salsa20.h" 5 | #include "crypto_stream_salsa20.h" 6 | 7 | extern struct crypto_stream_salsa20_implementation 8 | crypto_stream_salsa20_xmm6int_avx2_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa20/xmm6int/salsa20_xmm6int-sse2.h: -------------------------------------------------------------------------------- 1 | 2 | #include 3 | 4 | #include "../stream_salsa20.h" 5 | #include "crypto_stream_salsa20.h" 6 | 7 | extern struct crypto_stream_salsa20_implementation 8 | crypto_stream_salsa20_xmm6int_sse2_implementation; 9 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa2012/stream_salsa2012.c: -------------------------------------------------------------------------------- 1 | #include "crypto_stream_salsa2012.h" 2 | #include "randombytes.h" 3 | 4 | size_t 5 | crypto_stream_salsa2012_keybytes(void) 6 | { 7 | return crypto_stream_salsa2012_KEYBYTES; 8 | } 9 | 10 | size_t 11 | crypto_stream_salsa2012_noncebytes(void) 12 | { 13 | return crypto_stream_salsa2012_NONCEBYTES; 14 | } 15 | 16 | size_t 17 | crypto_stream_salsa2012_messagebytes_max(void) 18 | { 19 | return crypto_stream_salsa2012_MESSAGEBYTES_MAX; 20 | } 21 | 22 | void 23 | crypto_stream_salsa2012_keygen(unsigned char k[crypto_stream_salsa2012_KEYBYTES]) 24 | { 25 | randombytes_buf(k, crypto_stream_salsa2012_KEYBYTES); 26 | } 27 | -------------------------------------------------------------------------------- /lib/external/libsodium/crypto_stream/salsa208/stream_salsa208.c: -------------------------------------------------------------------------------- 1 | #include "crypto_stream_salsa208.h" 2 | #include "randombytes.h" 3 | 4 | size_t 5 | crypto_stream_salsa208_keybytes(void) 6 | { 7 | return crypto_stream_salsa208_KEYBYTES; 8 | } 9 | 10 | size_t 11 | crypto_stream_salsa208_noncebytes(void) 12 | { 13 | return crypto_stream_salsa208_NONCEBYTES; 14 | } 15 | 16 | size_t 17 | crypto_stream_salsa208_messagebytes_max(void) 18 | { 19 | return crypto_stream_salsa208_MESSAGEBYTES_MAX; 20 | } 21 | 22 | void 23 | crypto_stream_salsa208_keygen(unsigned char k[crypto_stream_salsa208_KEYBYTES]) 24 | { 25 | randombytes_buf(k, crypto_stream_salsa208_KEYBYTES); 26 | } 27 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/core.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef sodium_core_H 3 | #define sodium_core_H 4 | 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | SODIUM_EXPORT 12 | int sodium_init(void) 13 | __attribute__ ((warn_unused_result)); 14 | 15 | /* ---- */ 16 | 17 | SODIUM_EXPORT 18 | int sodium_set_misuse_handler(void (*handler)(void)); 19 | 20 | SODIUM_EXPORT 21 | void sodium_misuse(void) 22 | __attribute__ ((noreturn)); 23 | 24 | #ifdef __cplusplus 25 | } 26 | #endif 27 | 28 | #endif 29 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_core_hchacha20.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_core_hchacha20_H 2 | #define crypto_core_hchacha20_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_core_hchacha20_OUTPUTBYTES 32U 12 | SODIUM_EXPORT 13 | size_t crypto_core_hchacha20_outputbytes(void); 14 | 15 | #define crypto_core_hchacha20_INPUTBYTES 16U 16 | SODIUM_EXPORT 17 | size_t crypto_core_hchacha20_inputbytes(void); 18 | 19 | #define crypto_core_hchacha20_KEYBYTES 32U 20 | SODIUM_EXPORT 21 | size_t crypto_core_hchacha20_keybytes(void); 22 | 23 | #define crypto_core_hchacha20_CONSTBYTES 16U 24 | SODIUM_EXPORT 25 | size_t crypto_core_hchacha20_constbytes(void); 26 | 27 | SODIUM_EXPORT 28 | int crypto_core_hchacha20(unsigned char *out, const unsigned char *in, 29 | const unsigned char *k, const unsigned char *c) 30 | __attribute__ ((nonnull(1, 2, 3))); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_core_hsalsa20.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_core_hsalsa20_H 2 | #define crypto_core_hsalsa20_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_core_hsalsa20_OUTPUTBYTES 32U 12 | SODIUM_EXPORT 13 | size_t crypto_core_hsalsa20_outputbytes(void); 14 | 15 | #define crypto_core_hsalsa20_INPUTBYTES 16U 16 | SODIUM_EXPORT 17 | size_t crypto_core_hsalsa20_inputbytes(void); 18 | 19 | #define crypto_core_hsalsa20_KEYBYTES 32U 20 | SODIUM_EXPORT 21 | size_t crypto_core_hsalsa20_keybytes(void); 22 | 23 | #define crypto_core_hsalsa20_CONSTBYTES 16U 24 | SODIUM_EXPORT 25 | size_t crypto_core_hsalsa20_constbytes(void); 26 | 27 | SODIUM_EXPORT 28 | int crypto_core_hsalsa20(unsigned char *out, const unsigned char *in, 29 | const unsigned char *k, const unsigned char *c) 30 | __attribute__ ((nonnull(1, 2, 3))); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_core_salsa20.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_core_salsa20_H 2 | #define crypto_core_salsa20_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_core_salsa20_OUTPUTBYTES 64U 12 | SODIUM_EXPORT 13 | size_t crypto_core_salsa20_outputbytes(void); 14 | 15 | #define crypto_core_salsa20_INPUTBYTES 16U 16 | SODIUM_EXPORT 17 | size_t crypto_core_salsa20_inputbytes(void); 18 | 19 | #define crypto_core_salsa20_KEYBYTES 32U 20 | SODIUM_EXPORT 21 | size_t crypto_core_salsa20_keybytes(void); 22 | 23 | #define crypto_core_salsa20_CONSTBYTES 16U 24 | SODIUM_EXPORT 25 | size_t crypto_core_salsa20_constbytes(void); 26 | 27 | SODIUM_EXPORT 28 | int crypto_core_salsa20(unsigned char *out, const unsigned char *in, 29 | const unsigned char *k, const unsigned char *c) 30 | __attribute__ ((nonnull(1, 2, 3))); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_core_salsa2012.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_core_salsa2012_H 2 | #define crypto_core_salsa2012_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_core_salsa2012_OUTPUTBYTES 64U 12 | SODIUM_EXPORT 13 | size_t crypto_core_salsa2012_outputbytes(void); 14 | 15 | #define crypto_core_salsa2012_INPUTBYTES 16U 16 | SODIUM_EXPORT 17 | size_t crypto_core_salsa2012_inputbytes(void); 18 | 19 | #define crypto_core_salsa2012_KEYBYTES 32U 20 | SODIUM_EXPORT 21 | size_t crypto_core_salsa2012_keybytes(void); 22 | 23 | #define crypto_core_salsa2012_CONSTBYTES 16U 24 | SODIUM_EXPORT 25 | size_t crypto_core_salsa2012_constbytes(void); 26 | 27 | SODIUM_EXPORT 28 | int crypto_core_salsa2012(unsigned char *out, const unsigned char *in, 29 | const unsigned char *k, const unsigned char *c) 30 | __attribute__ ((nonnull(1, 2, 3))); 31 | 32 | #ifdef __cplusplus 33 | } 34 | #endif 35 | 36 | #endif 37 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_core_salsa208.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_core_salsa208_H 2 | #define crypto_core_salsa208_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_core_salsa208_OUTPUTBYTES 64U 12 | SODIUM_EXPORT 13 | size_t crypto_core_salsa208_outputbytes(void) 14 | __attribute__ ((deprecated)); 15 | 16 | #define crypto_core_salsa208_INPUTBYTES 16U 17 | SODIUM_EXPORT 18 | size_t crypto_core_salsa208_inputbytes(void) 19 | __attribute__ ((deprecated)); 20 | 21 | #define crypto_core_salsa208_KEYBYTES 32U 22 | SODIUM_EXPORT 23 | size_t crypto_core_salsa208_keybytes(void) 24 | __attribute__ ((deprecated)); 25 | 26 | #define crypto_core_salsa208_CONSTBYTES 16U 27 | SODIUM_EXPORT 28 | size_t crypto_core_salsa208_constbytes(void) 29 | __attribute__ ((deprecated)); 30 | 31 | SODIUM_EXPORT 32 | int crypto_core_salsa208(unsigned char *out, const unsigned char *in, 33 | const unsigned char *k, const unsigned char *c) 34 | __attribute__ ((nonnull(1, 2, 3))); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_hash.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_hash_H 2 | #define crypto_hash_H 3 | 4 | /* 5 | * WARNING: Unless you absolutely need to use SHA512 for interoperability, 6 | * purposes, you might want to consider crypto_generichash() instead. 7 | * Unlike SHA512, crypto_generichash() is not vulnerable to length 8 | * extension attacks. 9 | */ 10 | 11 | #include 12 | 13 | #include "crypto_hash_sha512.h" 14 | #include "export.h" 15 | 16 | #ifdef __cplusplus 17 | # ifdef __GNUC__ 18 | # pragma GCC diagnostic ignored "-Wlong-long" 19 | # endif 20 | extern "C" { 21 | #endif 22 | 23 | #define crypto_hash_BYTES crypto_hash_sha512_BYTES 24 | SODIUM_EXPORT 25 | size_t crypto_hash_bytes(void); 26 | 27 | SODIUM_EXPORT 28 | int crypto_hash(unsigned char *out, const unsigned char *in, 29 | unsigned long long inlen) __attribute__ ((nonnull(1))); 30 | 31 | #define crypto_hash_PRIMITIVE "sha512" 32 | SODIUM_EXPORT 33 | const char *crypto_hash_primitive(void) 34 | __attribute__ ((warn_unused_result)); 35 | 36 | #ifdef __cplusplus 37 | } 38 | #endif 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_shorthash.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_shorthash_H 2 | #define crypto_shorthash_H 3 | 4 | #include 5 | 6 | #include "crypto_shorthash_siphash24.h" 7 | #include "export.h" 8 | 9 | #ifdef __cplusplus 10 | # ifdef __GNUC__ 11 | # pragma GCC diagnostic ignored "-Wlong-long" 12 | # endif 13 | extern "C" { 14 | #endif 15 | 16 | #define crypto_shorthash_BYTES crypto_shorthash_siphash24_BYTES 17 | SODIUM_EXPORT 18 | size_t crypto_shorthash_bytes(void); 19 | 20 | #define crypto_shorthash_KEYBYTES crypto_shorthash_siphash24_KEYBYTES 21 | SODIUM_EXPORT 22 | size_t crypto_shorthash_keybytes(void); 23 | 24 | #define crypto_shorthash_PRIMITIVE "siphash24" 25 | SODIUM_EXPORT 26 | const char *crypto_shorthash_primitive(void); 27 | 28 | SODIUM_EXPORT 29 | int crypto_shorthash(unsigned char *out, const unsigned char *in, 30 | unsigned long long inlen, const unsigned char *k) 31 | __attribute__ ((nonnull(1, 4))); 32 | 33 | SODIUM_EXPORT 34 | void crypto_shorthash_keygen(unsigned char k[crypto_shorthash_KEYBYTES]) 35 | __attribute__ ((nonnull)); 36 | 37 | #ifdef __cplusplus 38 | } 39 | #endif 40 | 41 | #endif 42 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_verify_16.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_16_H 2 | #define crypto_verify_16_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_verify_16_BYTES 16U 12 | SODIUM_EXPORT 13 | size_t crypto_verify_16_bytes(void); 14 | 15 | SODIUM_EXPORT 16 | int crypto_verify_16(const unsigned char *x, const unsigned char *y) 17 | __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_verify_32.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_32_H 2 | #define crypto_verify_32_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_verify_32_BYTES 32U 12 | SODIUM_EXPORT 13 | size_t crypto_verify_32_bytes(void); 14 | 15 | SODIUM_EXPORT 16 | int crypto_verify_32(const unsigned char *x, const unsigned char *y) 17 | __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/crypto_verify_64.h: -------------------------------------------------------------------------------- 1 | #ifndef crypto_verify_64_H 2 | #define crypto_verify_64_H 3 | 4 | #include 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | #define crypto_verify_64_BYTES 64U 12 | SODIUM_EXPORT 13 | size_t crypto_verify_64_bytes(void); 14 | 15 | SODIUM_EXPORT 16 | int crypto_verify_64(const unsigned char *x, const unsigned char *y) 17 | __attribute__ ((warn_unused_result)) __attribute__ ((nonnull)); 18 | 19 | #ifdef __cplusplus 20 | } 21 | #endif 22 | 23 | #endif 24 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/private/asm_cet.h: -------------------------------------------------------------------------------- 1 | #ifndef asm_cet_H 2 | #define asm_cet_H 1 3 | 4 | #if HAVE_CET_H 5 | # include 6 | #endif 7 | #ifndef _CET_ENDBR 8 | # define _CET_ENDBR 9 | #endif 10 | 11 | #endif 12 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/private/chacha20_ietf_ext.h: -------------------------------------------------------------------------------- 1 | #ifndef chacha20_ietf_ext_H 2 | #define chacha20_ietf_ext_H 3 | 4 | #include 5 | 6 | /* The ietf_ext variant allows the internal counter to overflow into the IV */ 7 | 8 | int crypto_stream_chacha20_ietf_ext(unsigned char *c, unsigned long long clen, 9 | const unsigned char *n, const unsigned char *k); 10 | 11 | int crypto_stream_chacha20_ietf_ext_xor_ic(unsigned char *c, const unsigned char *m, 12 | unsigned long long mlen, 13 | const unsigned char *n, uint32_t ic, 14 | const unsigned char *k); 15 | #endif 16 | 17 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/private/implementations.h: -------------------------------------------------------------------------------- 1 | #ifndef implementations_H 2 | #define implementations_H 3 | 4 | int _crypto_generichash_blake2b_pick_best_implementation(void); 5 | int _crypto_onetimeauth_poly1305_pick_best_implementation(void); 6 | int _crypto_pwhash_argon2_pick_best_implementation(void); 7 | int _crypto_scalarmult_curve25519_pick_best_implementation(void); 8 | int _crypto_stream_chacha20_pick_best_implementation(void); 9 | int _crypto_stream_salsa20_pick_best_implementation(void); 10 | int _crypto_aead_aegis128l_pick_best_implementation(void); 11 | int _crypto_aead_aegis256_pick_best_implementation(void); 12 | 13 | #endif 14 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/private/mutex.h: -------------------------------------------------------------------------------- 1 | #ifndef mutex_H 2 | #define mutex_H 1 3 | 4 | extern int sodium_crit_enter(void); 5 | extern int sodium_crit_leave(void); 6 | 7 | #endif 8 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/randombytes_internal_random.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef randombytes_internal_random_H 3 | #define randombytes_internal_random_H 4 | 5 | #include "export.h" 6 | #include "randombytes.h" 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | SODIUM_EXPORT 13 | extern struct randombytes_implementation randombytes_internal_implementation; 14 | 15 | /* Backwards compatibility with libsodium < 1.0.18 */ 16 | #define randombytes_salsa20_implementation randombytes_internal_implementation 17 | 18 | #ifdef __cplusplus 19 | } 20 | #endif 21 | 22 | #endif 23 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/randombytes_sysrandom.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef randombytes_sysrandom_H 3 | #define randombytes_sysrandom_H 4 | 5 | #include "export.h" 6 | #include "randombytes.h" 7 | 8 | #ifdef __cplusplus 9 | extern "C" { 10 | #endif 11 | 12 | SODIUM_EXPORT 13 | extern struct randombytes_implementation randombytes_sysrandom_implementation; 14 | 15 | #ifdef __cplusplus 16 | } 17 | #endif 18 | 19 | #endif 20 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/runtime.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef sodium_runtime_H 3 | #define sodium_runtime_H 4 | 5 | #include "export.h" 6 | 7 | #ifdef __cplusplus 8 | extern "C" { 9 | #endif 10 | 11 | SODIUM_EXPORT_WEAK 12 | int sodium_runtime_has_neon(void); 13 | 14 | SODIUM_EXPORT_WEAK 15 | int sodium_runtime_has_armcrypto(void); 16 | 17 | SODIUM_EXPORT_WEAK 18 | int sodium_runtime_has_sse2(void); 19 | 20 | SODIUM_EXPORT_WEAK 21 | int sodium_runtime_has_sse3(void); 22 | 23 | SODIUM_EXPORT_WEAK 24 | int sodium_runtime_has_ssse3(void); 25 | 26 | SODIUM_EXPORT_WEAK 27 | int sodium_runtime_has_sse41(void); 28 | 29 | SODIUM_EXPORT_WEAK 30 | int sodium_runtime_has_avx(void); 31 | 32 | SODIUM_EXPORT_WEAK 33 | int sodium_runtime_has_avx2(void); 34 | 35 | SODIUM_EXPORT_WEAK 36 | int sodium_runtime_has_avx512f(void); 37 | 38 | SODIUM_EXPORT_WEAK 39 | int sodium_runtime_has_pclmul(void); 40 | 41 | SODIUM_EXPORT_WEAK 42 | int sodium_runtime_has_aesni(void); 43 | 44 | SODIUM_EXPORT_WEAK 45 | int sodium_runtime_has_rdrand(void); 46 | 47 | /* ------------------------------------------------------------------------- */ 48 | 49 | int _sodium_runtime_get_cpu_features(void); 50 | 51 | #ifdef __cplusplus 52 | } 53 | #endif 54 | 55 | #endif 56 | -------------------------------------------------------------------------------- /lib/external/libsodium/include/sodium/version.h: -------------------------------------------------------------------------------- 1 | 2 | #ifndef sodium_version_H 3 | #define sodium_version_H 4 | 5 | #include "export.h" 6 | 7 | #define SODIUM_VERSION_STRING "1.0.19" 8 | 9 | #define SODIUM_LIBRARY_VERSION_MAJOR 26 10 | #define SODIUM_LIBRARY_VERSION_MINOR 1 11 | 12 | 13 | #ifdef __cplusplus 14 | extern "C" { 15 | #endif 16 | 17 | SODIUM_EXPORT 18 | const char *sodium_version_string(void); 19 | 20 | SODIUM_EXPORT 21 | int sodium_library_version_major(void); 22 | 23 | SODIUM_EXPORT 24 | int sodium_library_version_minor(void); 25 | 26 | SODIUM_EXPORT 27 | int sodium_library_minimal(void); 28 | 29 | #ifdef __cplusplus 30 | } 31 | #endif 32 | 33 | #endif 34 | -------------------------------------------------------------------------------- /lib/external/libsodium/sodium/version.c: -------------------------------------------------------------------------------- 1 | 2 | #include "version.h" 3 | 4 | const char * 5 | sodium_version_string(void) 6 | { 7 | return SODIUM_VERSION_STRING; 8 | } 9 | 10 | int 11 | sodium_library_version_major(void) 12 | { 13 | return SODIUM_LIBRARY_VERSION_MAJOR; 14 | } 15 | 16 | int 17 | sodium_library_version_minor(void) 18 | { 19 | return SODIUM_LIBRARY_VERSION_MINOR; 20 | } 21 | 22 | int 23 | sodium_library_minimal(void) 24 | { 25 | #ifdef SODIUM_LIBRARY_MINIMAL 26 | return 1; 27 | #else 28 | return 0; 29 | #endif 30 | } 31 | -------------------------------------------------------------------------------- /project_catalyst/final_poa/MISRA_c_compliance_report_038948e7134b5cb06f14f102f947edbca89ce38f.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/project_catalyst/final_poa/MISRA_c_compliance_report_038948e7134b5cb06f14f102f947edbca89ce38f.pdf -------------------------------------------------------------------------------- /project_catalyst/m01_poa/MISRA_c_compliance_report_6fd2cd9cbc1a1096ae974afec5941f95db91ea04‬.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/project_catalyst/m01_poa/MISRA_c_compliance_report_6fd2cd9cbc1a1096ae974afec5941f95db91ea04‬.pdf -------------------------------------------------------------------------------- /project_catalyst/m02_poa/MISRA_c_compliance_report_8a533e7d9722b5cb579fb8d35ff11f67df9d3805.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/project_catalyst/m02_poa/MISRA_c_compliance_report_8a533e7d9722b5cb579fb8d35ff11f67df9d3805.pdf -------------------------------------------------------------------------------- /project_catalyst/m03_poa/MISRA_c_compliance_report_4fcca311f8dbbb1e0468eddbf54a0899f0fdb426.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/project_catalyst/m03_poa/MISRA_c_compliance_report_4fcca311f8dbbb1e0468eddbf54a0899f0fdb426.pdf -------------------------------------------------------------------------------- /project_catalyst/m04_poa/MISRA_c_compliance_report_199ddbf8354a2ee8790f88351f06baf943b7de18.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Biglup/cardano-c/34a1a338816921cadb6477d5a95f7c079d37898d/project_catalyst/m04_poa/MISRA_c_compliance_report_199ddbf8354a2ee8790f88351f06baf943b7de18.pdf -------------------------------------------------------------------------------- /scripts/generate-sphinx-definitions.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Check if a file path is provided as an argument 4 | if [ "$#" -ne 1 ]; then 5 | echo "Usage: $0 path_to_header_file.h" 6 | exit 1 7 | fi 8 | 9 | # Define the header file from the first argument 10 | HEADER_FILE="$1" 11 | 12 | # Check if the header file exists 13 | if [ ! -f "$HEADER_FILE" ]; then 14 | echo "File not found: $HEADER_FILE" 15 | exit 1 16 | fi 17 | 18 | # Use an associative array to track seen functions 19 | declare -A seen 20 | 21 | # Extracting function names and generating the Sphinx directives 22 | # Using sed to remove comments and then grep to find function declarations 23 | sed '/\/\*/,/\*\//d' "$HEADER_FILE" | \ 24 | grep -oP '\bcardano_[a-zA-Z0-9_]+\s*\(' | \ 25 | sed 's/($//' | \ 26 | while read -r line 27 | do 28 | func_name=$(echo "$line" | awk '{print $1}') 29 | if [[ "$func_name" =~ ^cardano_ ]] && [ -z "${seen[$func_name]}" ]; then 30 | seen[$func_name]=1 31 | echo "" 32 | echo "------------" 33 | echo "" 34 | echo ".. doxygenfunction:: $func_name" 35 | fi 36 | done -------------------------------------------------------------------------------- /scripts/misra/misra.json: -------------------------------------------------------------------------------- 1 | { 2 | "script": "misra.py", 3 | "args": [ 4 | "--rule-texts=./misra2012" 5 | ] 6 | } -------------------------------------------------------------------------------- /scripts/misra/suppressions: -------------------------------------------------------------------------------- 1 | # Advisory 2 | misra-c2012-11.5 3 | misra-c2012-15.5 4 | 5 | # Style 6 | misra-c2012-21.6 7 | 8 | # Required 9 | misra-c2012-21.3 -------------------------------------------------------------------------------- /scripts/run-valgrind.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | script_folder="$(dirname $(readlink -f $0))" 4 | 5 | if [ "$#" -eq 1 ]; then 6 | test_name_regex="$1" 7 | echo "Running memcheck for tests matching: $test_name_regex" 8 | ctest -R "$test_name_regex" -T memcheck 9 | else 10 | ctest -T memcheck 11 | fi 12 | 13 | # Count lines for memory leaks 14 | error_count=$(cat ./Testing/Temporary/MemoryChecker.*.log | wc -l) 15 | 16 | if [ "$error_count" -gt 0 ]; then 17 | echo "Memory leaks detected:" 18 | cat ./Testing/Temporary/MemoryChecker.*.log 19 | else 20 | echo "No memory leaks detected." 21 | fi 22 | 23 | exit $error_count -------------------------------------------------------------------------------- /scripts/verify-documentation.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | # Run Sphinx to build the documentation 4 | ./scripts/create-docs-makefiles.sh > sphinx-build.log 2>&1 5 | 6 | # Check for warnings in the Sphinx output 7 | if grep -i ": warning:" sphinx-build.log; then 8 | echo "Sphinx documentation generation has warnings." 9 | exit 1 10 | else 11 | echo "Sphinx documentation generated without warnings." 12 | fi --------------------------------------------------------------------------------