diff --git a/include/libbolt.h b/include/libbolt.h index 0b74c8f..a9e912c 100644 --- a/include/libbolt.h +++ b/include/libbolt.h @@ -8,38 +8,43 @@ #include "rapidjson/writer.h" #include "rapidjson/stringbuffer.h" +#ifdef __cplusplus + using namespace rapidjson; extern "C" { +#endif - // channel init - char* ffishim_bidirectional_channel_setup(const char *channel_name, unsigned int third_party_support); - char* ffishim_bidirectional_init_merchant(const char *ser_channel_state, int balance, const char *name_ptr); - char* ffishim_bidirectional_init_customer(const char *ser_channel_state, const char *ser_channel_token, int balance_customer, int balance_merchant, const char *name_ptr); +// channel init +char* ffishim_bidirectional_channel_setup(const char *channel_name, unsigned int third_party_support); +char* ffishim_bidirectional_init_merchant(const char *ser_channel_state, int balance, const char *name_ptr); +char* ffishim_bidirectional_init_customer(const char *ser_channel_state, const char *ser_channel_token, int balance_customer, int balance_merchant, const char *name_ptr); - // channel establish protocol routines - char* ffishim_bidirectional_establish_customer_generate_proof(const char *ser_channel_token, const char *ser_customer_wallet); - char* ffishim_bidirectional_establish_merchant_issue_close_token(const char *ser_channel_state, const char *ser_com, const char *ser_com_proof, int init_cust_bal, int init_merch_bal, const char *ser_merch_state); - char* ffishim_bidirectional_establish_merchant_issue_pay_token(const char *ser_channel_state, const char *ser_com, const char *ser_merch_state); - char* ffishim_bidirectional_verify_close_token(const char *ser_channel_state, const char *ser_customer_wallet, const char *ser_close_token); - char* ffishim_bidirectional_establish_customer_final(const char *ser_channel_state, const char *ser_customer_wallet, const char *ser_pay_token); +// channel establish protocol routines +char* ffishim_bidirectional_establish_customer_generate_proof(const char *ser_channel_token, const char *ser_customer_wallet); +char* ffishim_bidirectional_establish_merchant_issue_close_token(const char *ser_channel_state, const char *ser_com, const char *ser_com_proof, int init_cust_bal, int init_merch_bal, const char *ser_merch_state); +char* ffishim_bidirectional_establish_merchant_issue_pay_token(const char *ser_channel_state, const char *ser_com, const char *ser_merch_state); +char* ffishim_bidirectional_verify_close_token(const char *ser_channel_state, const char *ser_customer_wallet, const char *ser_close_token); +char* ffishim_bidirectional_establish_customer_final(const char *ser_channel_state, const char *ser_customer_wallet, const char *ser_pay_token); - // channel pay protocol routines - char* ffishim_bidirectional_pay_generate_payment_proof(const char *ser_channel_state, const char *ser_customer_wallet, int amount); - char* ffishim_bidirectional_pay_verify_payment_proof(const char *ser_channel_state, const char *ser_pay_proof, const char *ser_merch_state); - char* ffishim_bidirectional_pay_generate_revoke_token(const char *ser_channel_state, const char *ser_cust_state, const char *ser_new_cust_state, const char *ser_close_token); - char* ffishim_bidirectional_pay_verify_revoke_token(const char *ser_revoke_token, const char *ser_merch_state); - char* ffishim_bidirectional_pay_verify_payment_token(const char *ser_channel_state, const char *ser_cust_state, const char *ser_pay_token); +// channel pay protocol routines +char* ffishim_bidirectional_pay_generate_payment_proof(const char *ser_channel_state, const char *ser_customer_wallet, int amount); +char* ffishim_bidirectional_pay_verify_payment_proof(const char *ser_channel_state, const char *ser_pay_proof, const char *ser_merch_state); +char* ffishim_bidirectional_pay_generate_revoke_token(const char *ser_channel_state, const char *ser_cust_state, const char *ser_new_cust_state, const char *ser_close_token); +char* ffishim_bidirectional_pay_verify_revoke_token(const char *ser_revoke_token, const char *ser_merch_state); +char* ffishim_bidirectional_pay_verify_payment_token(const char *ser_channel_state, const char *ser_cust_state, const char *ser_pay_token); - // closing routines for both sides - char* ffishim_bidirectional_customer_close(const char *ser_channel_state, const char *ser_cust_state); - char* ffishim_bidirectional_merchant_close(const char *ser_channel_state, const char *ser_channel_token, const char *ser_address, const char *ser_cust_close, const char *ser_merch_state); +// closing routines for both sides +char* ffishim_bidirectional_customer_close(const char *ser_channel_state, const char *ser_cust_state); +char* ffishim_bidirectional_merchant_close(const char *ser_channel_state, const char *ser_channel_token, const char *ser_address, const char *ser_cust_close, const char *ser_merch_state); - // WTP logic for on-chain validation of closing messages - char* ffishim_bidirectional_wtp_verify_cust_close_message(const char *ser_channel_token, const char *ser_wpk, const char *ser_close_msg, const char *ser_close_token); - char* ffishim_bidirectional_wtp_verify_merch_close_message(const char *ser_channel_token, const char *ser_wpk, const char *ser_merch_close); +// WTP logic for on-chain validation of closing messages +char* ffishim_bidirectional_wtp_verify_cust_close_message(const char *ser_channel_token, const char *ser_wpk, const char *ser_close_msg, const char *ser_close_token); +char* ffishim_bidirectional_wtp_verify_merch_close_message(const char *ser_channel_token, const char *ser_wpk, const char *ser_merch_close); - char* ffishim_bidirectional_wtp_check_wpk(const char *wpk); +char* ffishim_bidirectional_wtp_check_wpk(const char *wpk); + +#ifdef __cplusplus const char* string_replace_all(const char* previous_string, char old_char, char new_char) { @@ -110,6 +115,7 @@ extern "C" { } return 0; } +#endif // end c++ check } #endif // LIBBOLT_INCLUDE_H_