Skip to content

Commit

Permalink
add(tx struct): add new api for tx struct to adapt to balance (#189)
Browse files Browse the repository at this point in the history
  • Loading branch information
LucasLi1024 authored Dec 13, 2023
1 parent 6734721 commit a6c64cf
Show file tree
Hide file tree
Showing 8 changed files with 1,766 additions and 246 deletions.
8 changes: 4 additions & 4 deletions .github/workflows/workflow.yml
Original file line number Diff line number Diff line change
Expand Up @@ -91,8 +91,8 @@ jobs:
vcpkg-gcc-v1-notest-${{ runner.temp }}-
- name: install Ubuntu dependencies
run: sudo apt install -y git curl openssl build-essential cmake ccache lcov
- name: fetch vcpkg
run: cd /usr/local/share/vcpkg/ && git fetch && git reset --hard && git pull && cd -
# - name: fetch vcpkg
# run: cd /usr/local/share/vcpkg/ && git fetch --all && git checkout master && git pull && cd -
- name: configure
run: |
export CC='gcc-10'; export CXX='g++-10'
Expand Down Expand Up @@ -156,8 +156,8 @@ jobs:
ln -s /usr/local/cmake/bin/cmake /usr/bin/cmake
cmake --version
git --version
- name: fetch vcpkg
run: cd /usr/local/share/vcpkg/ && git fetch && git reset --hard && git pull && cd -
# - name: fetch vcpkg
# run: cd /usr/local/share/vcpkg/ && git fetch --all && git checkout master && git pull && cd -
- name: configure
run: |
export PATH="/usr/lib/ccache:/usr/local/opt/ccache/libexec:$PATH"
Expand Down
28 changes: 28 additions & 0 deletions bcos-c-sdk/bcos_sdk_c_common.h
Original file line number Diff line number Diff line change
Expand Up @@ -209,6 +209,23 @@ struct bcos_sdk_c_transaction_data
struct bcos_sdk_c_bytes* input;
};

struct bcos_sdk_c_transaction_data_v2
{
int32_t version;
int64_t block_limit;
char* chain_id;
char* group_id;
char* nonce;
char* to;
char* abi;
struct bcos_sdk_c_bytes* input;
char* value;
char* gas_price;
int64_t gas_limit;
char* max_fee_per_gas;
char* max_priority_fee_per_gas;
};

/**
* @brief: transaction
*
Expand All @@ -224,6 +241,17 @@ struct bcos_sdk_c_transaction
char* extra_data;
};

struct bcos_sdk_c_transaction_v2
{
struct bcos_sdk_c_transaction_data_v2* transaction_data;
struct bcos_sdk_c_bytes* data_hash;
struct bcos_sdk_c_bytes* signature;
struct bcos_sdk_c_bytes* sender;
int64_t import_time;
int32_t attribute;
char* extra_data;
};

//--------------- transaction end---------------------------------

#ifdef __cplusplus
Expand Down
852 changes: 852 additions & 0 deletions bcos-c-sdk/bcos_sdk_c_uti_tx_struct.cpp

Large diffs are not rendered by default.

46 changes: 46 additions & 0 deletions bcos-c-sdk/bcos_sdk_c_uti_tx_struct.h
Original file line number Diff line number Diff line change
Expand Up @@ -193,6 +193,52 @@ struct bcos_sdk_c_transaction* bcos_sdk_decode_transaction_struct(const char* tr
struct bcos_sdk_c_transaction* bcos_sdk_decode_transaction_struct_with_json(
const char* transaction_json_str);

struct bcos_sdk_c_transaction_data_v2* bcos_sdk_create_transaction_data_struct_with_hex_input_v2(
const char* group_id, const char* chain_id, const char* to, const char* input, const char* abi,
int64_t block_limit, const char* value, const char* gas_price, int64_t gas_limit, const char* max_fee_per_gas, const char* max_priority_fee_per_gas);

struct bcos_sdk_c_transaction_data_v2* bcos_sdk_create_transaction_data_struct_with_bytes_v2(
const char* group_id, const char* chain_id, const char* to, const unsigned char* bytes_input,
uint32_t bytes_input_length, const char* abi, int64_t block_limit, const char* value, const char* gas_price, int64_t gas_limit, const char* max_fee_per_gas, const char* max_priority_fee_per_gas);

void bcos_sdk_destroy_transaction_data_struct_v2(struct bcos_sdk_c_transaction_data_v2* transaction_data);

const char* bcos_sdk_encode_transaction_data_struct_v2(struct bcos_sdk_c_transaction_data_v2* transaction_data);

const char* bcos_sdk_encode_transaction_data_struct_to_json_v2(struct bcos_sdk_c_transaction_data_v2* transaction_data);

struct bcos_sdk_c_transaction_data_v2* bcos_sdk_decode_transaction_data_struct_v2(
const char* transaction_data_hex_str);

struct bcos_sdk_c_transaction_data_v2* bcos_sdk_decode_transaction_data_struct_with_json_v2(
const char* transaction_data_json_str);

const char* bcos_sdk_calc_transaction_data_struct_hash_v2(
int crypto_type, struct bcos_sdk_c_transaction_data_v2* transaction_data);

const char* bcos_sdk_calc_transaction_data_struct_hash_with_hex_v2(
int crypto_type, const char* transaction_data_hex);

struct bcos_sdk_c_transaction_v2* bcos_sdk_create_transaction_struct_v2(
struct bcos_sdk_c_transaction_data_v2* transaction_data, const char* signature,
const char* transaction_data_hash, int32_t attribute, const char* extra_data);

void bcos_sdk_destroy_transaction_struct_v2(struct bcos_sdk_c_transaction_v2* transaction);

const char* bcos_sdk_create_encoded_transaction_v2(
struct bcos_sdk_c_transaction_data_v2* transaction_data, const char* signature,
const char* transaction_data_hash, int32_t attribute, const char* extra_data);

const char* bcos_sdk_encode_transaction_struct_v2(struct bcos_sdk_c_transaction_v2* transaction);

const char* bcos_sdk_encode_transaction_struct_to_json_v2(struct bcos_sdk_c_transaction_v2* transaction);

struct bcos_sdk_c_transaction_v2* bcos_sdk_decode_transaction_struct_v2(
const char* transaction_hex_str);

struct bcos_sdk_c_transaction_v2* bcos_sdk_decode_transaction_struct_with_json_v2(
const char* transaction_json_str);

#ifdef __cplusplus
}
#endif
Expand Down
Loading

0 comments on commit a6c64cf

Please sign in to comment.