Skip to content
This repository has been archived by the owner on Dec 26, 2022. It is now read-only.

Commit

Permalink
feat: Cleanup send/receive mam API
Browse files Browse the repository at this point in the history
entangled implement MAM JS binding related APIs. Synchronize entangled to current commit to meet our needs.
  • Loading branch information
howjmay committed Jun 19, 2019
1 parent cc02c57 commit c4f88e9
Show file tree
Hide file tree
Showing 4 changed files with 33 additions and 32 deletions.
4 changes: 2 additions & 2 deletions WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ load("//third_party:third_party.bzl", "third_party_deps")

git_repository(
name = "rules_iota",
commit = "8a302aaeba60b9eb38f6500d48249b8cbba16c73",
commit = "be6081052283769b9b934d66b824f31695014c82",
remote = "https://github.com/iotaledger/rules_iota.git",
)

Expand All @@ -15,7 +15,7 @@ git_repository(

git_repository(
name = "entangled",
commit = "6ad56514a8a13fb1bf01beb10934cb9e3fd1a8a4",
commit = "46cab95db5fa1e03274446d9f2df9a4b7ba12462",
remote = "https://github.com/iotaledger/entangled.git",
)

Expand Down
8 changes: 4 additions & 4 deletions accelerator/apis.c
Original file line number Diff line number Diff line change
Expand Up @@ -237,13 +237,13 @@ status_t api_mam_send_message(const iota_config_t* const tangle, const iota_clie
const bool last_packet = true;
bundle_transactions_t* bundle = NULL;
bundle_transactions_new(&bundle);
tryte_t channel_id[MAM_CHANNEL_ID_SIZE];
tryte_t channel_id[MAM_CHANNEL_ID_TRYTE_SIZE];
trit_t msg_id[MAM_MSG_ID_SIZE];
ta_send_mam_req_t* req = send_mam_req_new();
ta_send_mam_res_t* res = send_mam_res_new();

// Loading and creating MAM API
if ((rc = mam_api_load(tangle->mam_file, &mam)) == RC_UTILS_FAILED_TO_OPEN_FILE) {
if ((rc = mam_api_load(tangle->mam_file, &mam, NULL, NULL)) == RC_UTILS_FAILED_TO_OPEN_FILE) {
if (mam_api_init(&mam, (tryte_t*)SEED)) {
ret = SC_MAM_FAILED_INIT;
goto done;
Expand All @@ -260,7 +260,7 @@ status_t api_mam_send_message(const iota_config_t* const tangle, const iota_clie

// Create mam channel
if (mam_channel_t_set_size(mam.channels) == 0) {
mam_api_create_channel(&mam, tangle->mss_depth, channel_id);
mam_api_channel_create(&mam, tangle->mss_depth, channel_id);
} else {
mam_channel_t* channel = &mam.channels->value;
trits_to_trytes(trits_begin(mam_channel_id(channel)), channel_id, NUM_TRITS_ADDRESS);
Expand Down Expand Up @@ -290,7 +290,7 @@ status_t api_mam_send_message(const iota_config_t* const tangle, const iota_clie
done:
// Save and destroying MAM API
if (ret != SC_MAM_FAILED_INIT) {
if (mam_api_save(&mam, tangle->mam_file) || mam_api_destroy(&mam)) {
if (mam_api_save(&mam, tangle->mam_file, NULL, NULL) || mam_api_destroy(&mam)) {
ret = SC_MAM_FAILED_DESTROYED;
}
}
Expand Down
19 changes: 10 additions & 9 deletions tests/iota_api_mock.cc
Original file line number Diff line number Diff line change
@@ -1,8 +1,9 @@
#include "iota_api_mock.hh"

extern APIMock APIMockObj;

retcode_t iota_client_get_transactions_to_approve(const iota_client_service_t* const service,
const get_transactions_to_approve_req_t* const req,
retcode_t iota_client_get_transactions_to_approve(iota_client_service_t const* const service,
get_transactions_to_approve_req_t const* const req,
get_transactions_to_approve_res_t* res) {
flex_trit_t hash_trits_1[FLEX_TRIT_SIZE_243], hash_trits_2[FLEX_TRIT_SIZE_243];
flex_trits_from_trytes(hash_trits_1, NUM_TRITS_HASH, (const tryte_t*)TRYTES_81_1, NUM_TRYTES_HASH, NUM_TRYTES_HASH);
Expand All @@ -12,23 +13,23 @@ retcode_t iota_client_get_transactions_to_approve(const iota_client_service_t* c
return APIMockObj.iota_client_get_transactions_to_approve(service, req, res);
}

retcode_t iota_client_get_tips(const iota_client_service_t* const service, get_tips_res_t* res) {
retcode_t iota_client_get_tips(iota_client_service_t const* const service, get_tips_res_t* res) {
flex_trit_t hash_trits_1[FLEX_TRIT_SIZE_243];
flex_trits_from_trytes(hash_trits_1, NUM_TRITS_HASH, (const tryte_t*)TRYTES_81_1, NUM_TRYTES_HASH, NUM_TRYTES_HASH);
hash243_stack_push(&res->hashes, hash_trits_1);
return APIMockObj.iota_client_get_tips(service, res);
}

retcode_t iota_client_find_transactions(const iota_client_service_t* const service,
const find_transactions_req_t* const req, find_transactions_res_t* res) {
retcode_t iota_client_find_transactions(iota_client_service_t const* const service,
find_transactions_req_t const* const req, find_transactions_res_t* res) {
flex_trit_t hash_trits_1[FLEX_TRIT_SIZE_243];
flex_trits_from_trytes(hash_trits_1, NUM_TRITS_HASH, (const tryte_t*)TRYTES_81_1, NUM_TRYTES_HASH, NUM_TRYTES_HASH);
hash243_queue_push(&res->hashes, hash_trits_1);
return APIMockObj.iota_client_find_transactions(service, req, res);
}

retcode_t iota_client_find_transaction_objects(const iota_client_service_t* const service,
const find_transactions_req_t* const req, transaction_array_t* tx_objs) {
retcode_t iota_client_find_transaction_objects(iota_client_service_t const* const service,
find_transactions_req_t const* const req, transaction_array_t* tx_objs) {
flex_trit_t tx_trits[FLEX_TRIT_SIZE_8019];
iota_transaction_t tx;

Expand All @@ -47,7 +48,7 @@ retcode_t iota_client_get_new_address(iota_client_service_t const* const serv, f
return APIMockObj.iota_client_get_new_address(serv, seed, addr_opt, out_addresses);
}

retcode_t iota_client_get_trytes(const iota_client_service_t* const service, get_trytes_req_t* const req,
retcode_t iota_client_get_trytes(iota_client_service_t const* const service, get_trytes_req_t const* const req,
get_trytes_res_t* res) {
flex_trit_t tx_trits[FLEX_TRIT_SIZE_8019];
flex_trits_from_trytes(tx_trits, NUM_TRITS_SERIALIZED_TRANSACTION, (const tryte_t*)TRYTES_2673_1,
Expand All @@ -56,7 +57,7 @@ retcode_t iota_client_get_trytes(const iota_client_service_t* const service, get
return APIMockObj.iota_client_get_trytes(service, req, res);
}

status_t ta_send_trytes(const iota_config_t* const tangle, const iota_client_service_t* const service,
status_t ta_send_trytes(iota_config_t const* const tangle, const iota_client_service_t* const service,
hash8019_array_p trytes) {
return APIMockObj.ta_send_trytes(tangle, service, trytes);
}
34 changes: 17 additions & 17 deletions tests/iota_api_mock.hh
Original file line number Diff line number Diff line change
Expand Up @@ -12,33 +12,33 @@
class IotaAPI {
public:
virtual ~IotaAPI() {}
virtual retcode_t iota_client_get_transactions_to_approve(const iota_client_service_t* const service,
const get_transactions_to_approve_req_t* const req,
virtual retcode_t iota_client_get_transactions_to_approve(iota_client_service_t const* const service,
get_transactions_to_approve_req_t const* const req,
get_transactions_to_approve_res_t* res) {
return RC_OK;
}
virtual retcode_t iota_client_get_tips(const iota_client_service_t* const service, get_tips_res_t* res) {
virtual retcode_t iota_client_get_tips(iota_client_service_t const* const service, get_tips_res_t* res) {
return RC_OK;
}
virtual retcode_t iota_client_find_transactions(const iota_client_service_t* const service,
const find_transactions_req_t* const req,
virtual retcode_t iota_client_find_transactions(iota_client_service_t const* const service,
find_transactions_req_t const* const req,
find_transactions_res_t* res) {
return RC_OK;
}
virtual retcode_t iota_client_find_transaction_objects(const iota_client_service_t* const service,
const find_transactions_req_t* const req,
virtual retcode_t iota_client_find_transaction_objects(iota_client_service_t const* const service,
find_transactions_req_t const* const req,
transaction_array_t* tx_objs) {
return RC_OK;
}
virtual retcode_t iota_client_get_new_address(iota_client_service_t const* const serv, flex_trit_t const* const seed,
address_opt_t const addr_opt, hash243_queue_t* out_addresses) {
return RC_OK;
}
virtual retcode_t iota_client_get_trytes(const iota_client_service_t* const service, get_trytes_req_t* const req,
get_trytes_res_t* res) {
virtual retcode_t iota_client_get_trytes(iota_client_service_t const* const service,
get_trytes_req_t const* const req, get_trytes_res_t* res) {
return RC_OK;
}
virtual status_t ta_send_trytes(const iota_config_t* const tangle, const iota_client_service_t* const service,
virtual status_t ta_send_trytes(iota_config_t const* const tangle, const iota_client_service_t* const service,
hash8019_array_p trytes) {
return SC_OK;
}
Expand All @@ -53,20 +53,20 @@ class APIMock : public IotaAPI {
public:
virtual ~APIMock() {}
MOCK_METHOD3(iota_client_get_transactions_to_approve,
retcode_t(const iota_client_service_t* const service, const get_transactions_to_approve_req_t* const req,
retcode_t(iota_client_service_t const* const service, get_transactions_to_approve_req_t const* const req,
get_transactions_to_approve_res_t* res));
MOCK_METHOD2(iota_client_get_tips, retcode_t(const iota_client_service_t* const service, get_tips_res_t* res));
MOCK_METHOD2(iota_client_get_tips, retcode_t(iota_client_service_t const* const service, get_tips_res_t* res));
MOCK_METHOD3(iota_client_find_transactions,
retcode_t(const iota_client_service_t* const service, const find_transactions_req_t* const req,
retcode_t(iota_client_service_t const* const service, find_transactions_req_t const* const req,
find_transactions_res_t* res));
MOCK_METHOD3(iota_client_find_transaction_objects,
retcode_t(const iota_client_service_t* const service, const find_transactions_req_t* const req,
retcode_t(iota_client_service_t const* const service, find_transactions_req_t const* const req,
transaction_array_t* tx_objs));
MOCK_METHOD4(iota_client_get_new_address,
retcode_t(iota_client_service_t const* const serv, flex_trit_t const* const seed,
address_opt_t const addr_opt, hash243_queue_t* out_addresses));
MOCK_METHOD3(iota_client_get_trytes, retcode_t(const iota_client_service_t* const service,
get_trytes_req_t* const req, get_trytes_res_t* res));
MOCK_METHOD3(ta_send_trytes, status_t(const iota_config_t* const tangle, const iota_client_service_t* const service,
MOCK_METHOD3(iota_client_get_trytes, retcode_t(iota_client_service_t const* const service,
get_trytes_req_t const* const req, get_trytes_res_t* res));
MOCK_METHOD3(ta_send_trytes, status_t(iota_config_t const* const tangle, const iota_client_service_t* const service,
hash8019_array_p trytes));
};

0 comments on commit c4f88e9

Please sign in to comment.