Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
39 changes: 39 additions & 0 deletions include/kth/py-native/capsule_names.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,9 @@
extern "C" {
#endif

#define KTH_PY_CAPSULE_CHAIN_ABLA "kth.chain.abla"
#define KTH_PY_CAPSULE_CHAIN_ABLA_CONFIG "kth.chain.abla_config"
#define KTH_PY_CAPSULE_CHAIN_ABLA_STATE "kth.chain.abla_state"
#define KTH_PY_CAPSULE_CHAIN_BLOCK "kth.chain.block"
#define KTH_PY_CAPSULE_CHAIN_BLOCK_LIST "kth.chain.block_list"
#define KTH_PY_CAPSULE_CHAIN_CHAIN_STATE "kth.chain.chain_state"
Expand All @@ -39,6 +42,7 @@ extern "C" {
#define KTH_PY_CAPSULE_CHAIN_HISTORY_COMPACT_LIST "kth.chain.history_compact_list"
#define KTH_PY_CAPSULE_CHAIN_INPUT "kth.chain.input"
#define KTH_PY_CAPSULE_CHAIN_INPUT_LIST "kth.chain.input_list"
#define KTH_PY_CAPSULE_CHAIN_INPUT_POINT "kth.chain.input_point"
#define KTH_PY_CAPSULE_CHAIN_MERKLE_BLOCK "kth.chain.merkle_block"
#define KTH_PY_CAPSULE_CHAIN_METRICS "kth.chain.metrics"
#define KTH_PY_CAPSULE_CHAIN_OPERATION "kth.chain.operation"
Expand All @@ -61,23 +65,46 @@ extern "C" {
#define KTH_PY_CAPSULE_CHAIN_UTXO_LIST "kth.chain.utxo_list"
#define KTH_PY_CAPSULE_CORE_BINARY "kth.core.binary"
#define KTH_PY_CAPSULE_CORE_BOOL_LIST "kth.core.bool_list"
#define KTH_PY_CAPSULE_CORE_DOUBLE_LIST "kth.core.double_list"
#define KTH_PY_CAPSULE_CORE_HASH_LIST "kth.core.hash_list"
#define KTH_PY_CAPSULE_CORE_STRING_LIST "kth.core.string_list"
#define KTH_PY_CAPSULE_CORE_U32_LIST "kth.core.u32_list"
#define KTH_PY_CAPSULE_CORE_U64_LIST "kth.core.u64_list"
#define KTH_PY_CAPSULE_VM_BIG_NUMBER "kth.vm.big_number"
#define KTH_PY_CAPSULE_VM_DEBUG_SNAPSHOT "kth.vm.debug_snapshot"
#define KTH_PY_CAPSULE_VM_DEBUG_SNAPSHOT_LIST "kth.vm.debug_snapshot_list"
#define KTH_PY_CAPSULE_VM_INTERPRETER "kth.vm.interpreter"
#define KTH_PY_CAPSULE_VM_METRICS "kth.vm.metrics"
#define KTH_PY_CAPSULE_VM_NUMBER "kth.vm.number"
#define KTH_PY_CAPSULE_VM_PROGRAM "kth.vm.program"
#define KTH_PY_CAPSULE_VM_SCRIPT_EXECUTION_CONTEXT "kth.vm.script_execution_context"
#define KTH_PY_CAPSULE_WALLET_BITCOIN_URI "kth.wallet.bitcoin_uri"
#define KTH_PY_CAPSULE_WALLET_CASHADDR "kth.wallet.cashaddr"
#define KTH_PY_CAPSULE_WALLET_COIN_SELECTION "kth.wallet.coin_selection"
#define KTH_PY_CAPSULE_WALLET_COIN_SELECTION_RESULT "kth.wallet.coin_selection_result"
#define KTH_PY_CAPSULE_WALLET_DICTIONARY "kth.wallet.dictionary"
#define KTH_PY_CAPSULE_WALLET_DICTIONARY_LIST "kth.wallet.dictionary_list"
#define KTH_PY_CAPSULE_WALLET_EC_COMPRESSED_LIST "kth.wallet.ec_compressed_list"
#define KTH_PY_CAPSULE_WALLET_EC_PRIVATE "kth.wallet.ec_private"
#define KTH_PY_CAPSULE_WALLET_EC_PUBLIC "kth.wallet.ec_public"
#define KTH_PY_CAPSULE_WALLET_EK_PRIVATE "kth.wallet.ek_private"
#define KTH_PY_CAPSULE_WALLET_EK_PUBLIC "kth.wallet.ek_public"
#define KTH_PY_CAPSULE_WALLET_EK_TOKEN "kth.wallet.ek_token"
#define KTH_PY_CAPSULE_WALLET_ENCRYPTED_KEYS "kth.wallet.encrypted_keys"
#define KTH_PY_CAPSULE_WALLET_HD_PRIVATE "kth.wallet.hd_private"
#define KTH_PY_CAPSULE_WALLET_HD_PUBLIC "kth.wallet.hd_public"
#define KTH_PY_CAPSULE_WALLET_LANGUAGE "kth.wallet.language"
#define KTH_PY_CAPSULE_WALLET_MESSAGE "kth.wallet.message"
#define KTH_PY_CAPSULE_WALLET_MNEMONIC "kth.wallet.mnemonic"
#define KTH_PY_CAPSULE_WALLET_PAYMENT_ADDRESS "kth.wallet.payment_address"
#define KTH_PY_CAPSULE_WALLET_PAYMENT_ADDRESS_LIST "kth.wallet.payment_address_list"
#define KTH_PY_CAPSULE_WALLET_STEALTH_ADDRESS "kth.wallet.stealth_address"
#define KTH_PY_CAPSULE_WALLET_STEALTH_RECEIVER "kth.wallet.stealth_receiver"
#define KTH_PY_CAPSULE_WALLET_STEALTH_SENDER "kth.wallet.stealth_sender"
#define KTH_PY_CAPSULE_WALLET_WALLET_DATA "kth.wallet.wallet_data"

void kth_py_native_chain_abla_config_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_abla_state_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_block_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_block_list_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_compact_block_capsule_dtor(PyObject* capsule);
Expand All @@ -90,6 +117,7 @@ void kth_py_native_chain_history_compact_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_history_compact_list_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_input_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_input_list_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_input_point_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_merkle_block_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_operation_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_operation_list_capsule_dtor(PyObject* capsule);
Expand All @@ -110,16 +138,27 @@ void kth_py_native_chain_transaction_list_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_utxo_capsule_dtor(PyObject* capsule);
void kth_py_native_chain_utxo_list_capsule_dtor(PyObject* capsule);
void kth_py_native_core_binary_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_big_number_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_debug_snapshot_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_debug_snapshot_list_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_metrics_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_number_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_program_capsule_dtor(PyObject* capsule);
void kth_py_native_vm_script_execution_context_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_bitcoin_uri_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_coin_selection_result_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_ec_private_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_ec_public_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_ek_private_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_ek_public_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_ek_token_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_hd_private_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_hd_public_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_payment_address_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_payment_address_list_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_stealth_address_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_stealth_receiver_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_stealth_sender_capsule_dtor(PyObject* capsule);
void kth_py_native_wallet_wallet_data_capsule_dtor(PyObject* capsule);

#ifdef __cplusplus
Expand Down
27 changes: 27 additions & 0 deletions include/kth/py-native/chain/abla.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
// Copyright (c) 2016-present Knuth Project developers.
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef KTH_PY_NATIVE_CHAIN_ABLA_H_
#define KTH_PY_NATIVE_CHAIN_ABLA_H_

#define PY_SSIZE_T_CLEAN
#include <Python.h>

#ifdef __cplusplus
extern "C" {
#endif

PyObject* kth_py_native_chain_abla_set_max(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_default_config(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_validate_config(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_block_size_limit(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_validate_state(PyObject* self, PyObject* args, PyObject* kwds);

extern PyMethodDef kth_py_native_chain_abla_methods[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif // KTH_PY_NATIVE_CHAIN_ABLA_H_
42 changes: 42 additions & 0 deletions include/kth/py-native/chain/abla_config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
// Copyright (c) 2016-present Knuth Project developers.
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef KTH_PY_NATIVE_CHAIN_ABLA_CONFIG_H_
#define KTH_PY_NATIVE_CHAIN_ABLA_CONFIG_H_

#define PY_SSIZE_T_CLEAN
#include <Python.h>

#ifdef __cplusplus
extern "C" {
#endif

PyObject* kth_py_native_chain_abla_config_copy(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_destruct(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_epsilon0(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_epsilon0(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_beta0(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_beta0(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_n0(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_n0(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_gamma_reciprocal(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_gamma_reciprocal(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_zeta_xB7(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_zeta_xB7(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_theta_reciprocal(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_theta_reciprocal(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_delta(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_delta(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_epsilon_max(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_epsilon_max(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_config_beta_max(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_config_set_beta_max(PyObject* self, PyObject* args, PyObject* kwds);

extern PyMethodDef kth_py_native_chain_abla_config_methods[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif // KTH_PY_NATIVE_CHAIN_ABLA_CONFIG_H_
32 changes: 32 additions & 0 deletions include/kth/py-native/chain/abla_state.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
// Copyright (c) 2016-present Knuth Project developers.
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef KTH_PY_NATIVE_CHAIN_ABLA_STATE_H_
#define KTH_PY_NATIVE_CHAIN_ABLA_STATE_H_

#define PY_SSIZE_T_CLEAN
#include <Python.h>

#ifdef __cplusplus
extern "C" {
#endif

PyObject* kth_py_native_chain_abla_state_construct_default(PyObject* self, PyObject* args);
PyObject* kth_py_native_chain_abla_state_construct(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_state_copy(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_state_destruct(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_state_block_size(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_state_set_block_size(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_state_control_block_size(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_state_set_control_block_size(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_abla_state_elastic_buffer_size(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_abla_state_set_elastic_buffer_size(PyObject* self, PyObject* args, PyObject* kwds);

extern PyMethodDef kth_py_native_chain_abla_state_methods[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif // KTH_PY_NATIVE_CHAIN_ABLA_STATE_H_
40 changes: 40 additions & 0 deletions include/kth/py-native/chain/input_point.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
// Copyright (c) 2016-present Knuth Project developers.
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef KTH_PY_NATIVE_CHAIN_INPUT_POINT_H_
#define KTH_PY_NATIVE_CHAIN_INPUT_POINT_H_

#define PY_SSIZE_T_CLEAN
#include <Python.h>

#ifdef __cplusplus
extern "C" {
#endif

PyObject* kth_py_native_chain_input_point_construct_default(PyObject* self, PyObject* args);
PyObject* kth_py_native_chain_input_point_construct_from_data(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_construct(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_copy(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_destruct(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_equals(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_null(PyObject* self, PyObject* args);
PyObject* kth_py_native_chain_input_point_is_valid(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_to_data(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_satoshi_fixed_size(PyObject* self, PyObject* args);
PyObject* kth_py_native_chain_input_point_serialized_size(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_hash(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_set_hash(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_index(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_set_index(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_input_point_checksum(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_is_null(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_input_point_reset(PyObject* self, PyObject* arg);

extern PyMethodDef kth_py_native_chain_input_point_methods[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif // KTH_PY_NATIVE_CHAIN_INPUT_POINT_H_
1 change: 1 addition & 0 deletions include/kth/py-native/chain/output_point.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ PyObject* kth_py_native_chain_output_point_construct_from_hash_index(PyObject* s
PyObject* kth_py_native_chain_output_point_construct_from_point(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_output_point_copy(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_output_point_destruct(PyObject* self, PyObject* arg);
PyObject* kth_py_native_chain_output_point_null(PyObject* self, PyObject* args);
PyObject* kth_py_native_chain_output_point_equals(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_output_point_is_mature(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_chain_output_point_is_valid(PyObject* self, PyObject* arg);
Expand Down
53 changes: 53 additions & 0 deletions include/kth/py-native/vm/big_number.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
// Copyright (c) 2016-present Knuth Project developers.
// Distributed under the MIT software license, see the accompanying
// file COPYING or http://www.opensource.org/licenses/mit-license.php.

#ifndef KTH_PY_NATIVE_VM_BIG_NUMBER_H_
#define KTH_PY_NATIVE_VM_BIG_NUMBER_H_

#define PY_SSIZE_T_CLEAN
#include <Python.h>

#ifdef __cplusplus
extern "C" {
#endif

PyObject* kth_py_native_vm_big_number_construct_default(PyObject* self, PyObject* args);
PyObject* kth_py_native_vm_big_number_construct_from_value(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_construct_from_decimal_str(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_copy(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_destruct(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_from_hex(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_serialize(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_deserialize(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_to_string(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_to_hex(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_sign(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_is_zero(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_is_nonzero(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_is_negative(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_to_int32_saturating(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_byte_count(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_compare(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_equals(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_add(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_subtract(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_multiply(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_abs(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_negate(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_pow(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_pow_mod(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_math_modulo(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_data(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_set_data(PyObject* self, PyObject* args, PyObject* kwds);
PyObject* kth_py_native_vm_big_number_is_true(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_is_false(PyObject* self, PyObject* arg);
PyObject* kth_py_native_vm_big_number_is_minimally_encoded(PyObject* self, PyObject* args, PyObject* kwds);

extern PyMethodDef kth_py_native_vm_big_number_methods[];

#ifdef __cplusplus
} // extern "C"
#endif

#endif // KTH_PY_NATIVE_VM_BIG_NUMBER_H_
Loading
Loading