Skip to content
Snippets Groups Projects
Commit 523b2ec8 authored by alexey.stratulat's avatar alexey.stratulat
Browse files

[*] Merged master into branch 'features-5386'

parents 66659b8a e6fa24a8
No related branches found
No related tags found
1 merge request!73Features-5386 to develop
This commit is part of merge request !73. Comments created here will be created in the context of that merge request.
...@@ -3,18 +3,19 @@ ...@@ -3,18 +3,19 @@
PyObject *wrapping_dap_chain_tx_out_cond_get_ts_expires(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_out_cond_get_ts_expires(PyObject *self, void *closure){
(void)closure; (void)closure;
PyDateTime_IMPORT; PyDateTime_IMPORT;
return PyDateTime_FromTimestamp((time_t)((PyDapChainTxOutCondObject*)self)->out_cond->header.ts_expires); PyObject *timestamp = Py_BuildValue("k", ((PyDapChainTxOutCondObject*)self)->out_cond->header.ts_expires);
return PyDateTime_FromTimestamp(timestamp);
} }
PyObject *wrapping_dap_chain_tx_out_cond_get_value(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_out_cond_get_value(PyObject *self, void *closure){
(void)closure; (void)closure;
Py_BuildValue("k", ((PyDapChainTxOutCondObject*)self)->out_cond->header.value); return Py_BuildValue("k", ((PyDapChainTxOutCondObject*)self)->out_cond->header.value);
} }
PyObject *wrapping_dap_chain_tx_out_cond_get_type_subtype(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_out_cond_get_type_subtype(PyObject *self, void *closure){
(void)closure; (void)closure;
PyDapChainTxOutCondSubTypeObject *obj_type_subtype = PyObject_New(PyDapChainTxOutCondSubTypeObject, PyDapChainTxOutCondSubTypeObject *obj_type_subtype = PyObject_New(PyDapChainTxOutCondSubTypeObject,
&DapChainTxOutCondSubType_DapChainTxOutCondSubTypeType); &DapChainTxOutCondSubType_DapChainTxOutCondSubTypeType);
PyObject_Dir((PyObject*)obj_type_subtype); PyObject_Dir((PyObject*)obj_type_subtype);
obj_type_subtype->out_cond_subtype = ((PyDapChainTxOutCondObject*)self)->out_cond->header.subtype; obj_type_subtype->out_cond_subtype = &((PyDapChainTxOutCondObject*)self)->out_cond->header.subtype;
return (PyObject*)obj_type_subtype; return (PyObject*)obj_type_subtype;
} }
PyObject *wrapping_dap_chain_tx_out_cond_get_subtype(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_out_cond_get_subtype(PyObject *self, void *closure){
......
...@@ -18,6 +18,6 @@ PyObject *wrapping_dap_chain_tx_pkey_seq_no(PyObject *self, void *closure){ ...@@ -18,6 +18,6 @@ PyObject *wrapping_dap_chain_tx_pkey_seq_no(PyObject *self, void *closure){
PyObject *wrapping_dap_chain_tx_pkey_get_pkey(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_pkey_get_pkey(PyObject *self, void *closure){
(void)closure; (void)closure;
PyDapPkeyObject *obj_pkey = PyObject_NEW(PyDapPkeyObject, &DapPkeyTypeObject_DapPkeyTypeObjectType); PyDapPkeyObject *obj_pkey = PyObject_NEW(PyDapPkeyObject, &DapPkeyTypeObject_DapPkeyTypeObjectType);
obj_pkey->pkey = ((PyDapChainTXPkeyObject*)self)->tx_pkey->pkey; obj_pkey->pkey = (dap_pkey_t *)((PyDapChainTXPkeyObject*)self)->tx_pkey->pkey;
return (PyObject*)obj_pkey; return (PyObject*)obj_pkey;
} }
\ No newline at end of file
...@@ -26,6 +26,7 @@ PyObject *wrapping_dap_chain_tx_receipt_get_value(PyObject *self, void *closure) ...@@ -26,6 +26,7 @@ PyObject *wrapping_dap_chain_tx_receipt_get_value(PyObject *self, void *closure)
return Py_BuildValue("k", ((PyDapChainTXReceiptObject*)self)->tx_receipt->receipt_info.value_datoshi); return Py_BuildValue("k", ((PyDapChainTXReceiptObject*)self)->tx_receipt->receipt_info.value_datoshi);
} }
PyObject *wrapping_dap_chain_tx_receipt_get_sig_provider(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_receipt_get_sig_provider(PyObject *self, void *closure){
(void)closure;
uint16_t l_exts_size = ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_size; uint16_t l_exts_size = ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_size;
if (l_exts_size == sizeof(dap_sign_t) + sizeof(dap_sign_t) || l_exts_size == sizeof(dap_sign_t)){ if (l_exts_size == sizeof(dap_sign_t) + sizeof(dap_sign_t) || l_exts_size == sizeof(dap_sign_t)){
PyObject *obj_sign_provider = _PyObject_New(&DapSignObject_DapSignObjectType); PyObject *obj_sign_provider = _PyObject_New(&DapSignObject_DapSignObjectType);
...@@ -36,11 +37,12 @@ PyObject *wrapping_dap_chain_tx_receipt_get_sig_provider(PyObject *self, void *c ...@@ -36,11 +37,12 @@ PyObject *wrapping_dap_chain_tx_receipt_get_sig_provider(PyObject *self, void *c
((PyDapSignObject*)obj_sign_provider)->sign, ((PyDapSignObject*)obj_sign_provider)->sign,
((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_n_signs, ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_n_signs,
sizeof(dap_sign_t)); sizeof(dap_sign_t));
} else { return obj_sign_provider;
return Py_None;
} }
return Py_None;
} }
PyObject *wrapping_dap_chain_tx_receipt_get_sig_client(PyObject *self, void *closure){ PyObject *wrapping_dap_chain_tx_receipt_get_sig_client(PyObject *self, void *closure){
(void)closure;
uint16_t l_exts_size = ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_size; uint16_t l_exts_size = ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_size;
if (l_exts_size == sizeof(dap_sign_t) + sizeof(dap_sign_t)){ if (l_exts_size == sizeof(dap_sign_t) + sizeof(dap_sign_t)){
PyObject *obj_sign_client = _PyObject_New(&DapSignObject_DapSignObjectType); PyObject *obj_sign_client = _PyObject_New(&DapSignObject_DapSignObjectType);
...@@ -51,7 +53,7 @@ PyObject *wrapping_dap_chain_tx_receipt_get_sig_client(PyObject *self, void *clo ...@@ -51,7 +53,7 @@ PyObject *wrapping_dap_chain_tx_receipt_get_sig_client(PyObject *self, void *clo
((PyDapSignObject*)obj_sign_client)->sign, ((PyDapSignObject*)obj_sign_client)->sign,
((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_n_signs + sizeof(dap_sign_t), ((PyDapChainTXReceiptObject*)self)->tx_receipt->exts_n_signs + sizeof(dap_sign_t),
sizeof(dap_sign_t)); sizeof(dap_sign_t));
} else { return obj_sign_client;
return Py_None;
} }
return Py_None;
} }
...@@ -164,7 +164,7 @@ PyObject *dap_chain_net_get_chain_by_chain_type_py(PyObject *self, PyObject *arg ...@@ -164,7 +164,7 @@ PyObject *dap_chain_net_get_chain_by_chain_type_py(PyObject *self, PyObject *arg
PyObject *dap_chain_net_get_ledger_py(PyObject *self, PyObject *args){ PyObject *dap_chain_net_get_ledger_py(PyObject *self, PyObject *args){
(void)args; (void)args;
PyObject *obj_ledger = PyObject_New(PyDapChainLedgerObject, &DapChainLedger_DapChainLedgerType); PyObject *obj_ledger = (PyObject *)PyObject_New(PyDapChainLedgerObject, &DapChainLedger_DapChainLedgerType);
PyObject_Dir(obj_ledger); PyObject_Dir(obj_ledger);
((PyDapChainLedgerObject*)obj_ledger)->ledger = ((PyDapChainNetObject*)self)->chain_net->pub.ledger; ((PyDapChainLedgerObject*)obj_ledger)->ledger = ((PyDapChainNetObject*)self)->chain_net->pub.ledger;
return obj_ledger; return obj_ledger;
......
...@@ -7,7 +7,7 @@ struct _w_json_rpc_handler *handlers = NULL; ...@@ -7,7 +7,7 @@ struct _w_json_rpc_handler *handlers = NULL;
void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_rpc_response_t *a_response, const char *a_method){ void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_rpc_response_t *a_response, const char *a_method){
int count_params = a_params->lenght; int count_params = a_params->lenght;
PyDapJSONRPCResponseObject *obj_response = PyObject_NEW(PyDapJSONRPCResponseObject, &DapJSONRPCResponse_DapJSONRPCResponseType); PyDapJSONRPCResponseObject *obj_response = PyObject_NEW(PyDapJSONRPCResponseObject, &DapJSONRPCResponse_DapJSONRPCResponseType);
obj_response = PyObject_Init((PyObject*)obj_response, &DapJSONRPCResponse_DapJSONRPCResponseType); obj_response = (PyDapJSONRPCResponseObject *)PyObject_Init((PyObject*)obj_response, &DapJSONRPCResponse_DapJSONRPCResponseType);
obj_response->response = a_response; obj_response->response = a_response;
PyObject *obj_params = PyList_New(count_params); PyObject *obj_params = PyList_New(count_params);
for (int i=0; i < count_params; i++) { for (int i=0; i < count_params; i++) {
...@@ -33,7 +33,7 @@ void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_r ...@@ -33,7 +33,7 @@ void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_r
tmp_string = (char *) a_params->params[i]->value_param; tmp_string = (char *) a_params->params[i]->value_param;
obj_ptr = PyUnicode_FromString(tmp_string); obj_ptr = PyUnicode_FromString(tmp_string);
break; break;
default: break;
} }
if (obj_ptr != NULL) { if (obj_ptr != NULL) {
PyList_SetItem(obj_params, i, obj_ptr); PyList_SetItem(obj_params, i, obj_ptr);
...@@ -53,14 +53,14 @@ void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_r ...@@ -53,14 +53,14 @@ void _w_dap_json_rpc_request_handler(dap_json_rpc_params_t *a_params, dap_json_r
if (!obj_result){ if (!obj_result){
log_it(L_ERROR, "Can't called method: %s", a_method); log_it(L_ERROR, "Can't called method: %s", a_method);
a_response->type_result = TYPE_RESPONSE_NULL; a_response->type_result = TYPE_RESPONSE_NULL;
a_response->error = dap_json_rpc_error_JSON_create(); a_response->error = DAP_NEW(dap_json_rpc_error_t);
a_response->error->code_error = 0xF1; a_response->error->code_error = 0xF1;
a_response->error->msg = "Can't called method"; a_response->error->msg = "Can't called method";
//a_response->error = dap_json_rpc_error_search_by_code(1); //a_response->error = dap_json_rpc_error_search_by_code(1);
return; return;
} }
} else { } else {
log_it(L_WARNING, "%s method can't be called, it is not in the python function call table."); log_it(L_WARNING, "%s method can't be called, it is not in the python function call table.", a_method);
a_response->type_result = TYPE_RESPONSE_NULL; a_response->type_result = TYPE_RESPONSE_NULL;
a_response->error = dap_json_rpc_error_search_by_code(1); a_response->error = dap_json_rpc_error_search_by_code(1);
} }
......
...@@ -55,9 +55,10 @@ PyObject *wrapping_json_rpc_response_get_result(PyObject *self, void *closure){ ...@@ -55,9 +55,10 @@ PyObject *wrapping_json_rpc_response_get_result(PyObject *self, void *closure){
return Py_BuildValue("s", l_resp->result_string); return Py_BuildValue("s", l_resp->result_string);
break; break;
case TYPE_RESPONSE_NULL: case TYPE_RESPONSE_NULL:
return Py_BuildValue("O", Py_None); default:
break; break;
} }
return Py_BuildValue("O", Py_None);
} }
PyObject *wrapping_json_rpc_response_get_error(PyObject *self, void *closure){ PyObject *wrapping_json_rpc_response_get_error(PyObject *self, void *closure){
UNUSED(closure); UNUSED(closure);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment