#include #include #include #include typedef struct CWallet { char *msg_key; char *master_key; char *second_key; char *backup_key; } CWallet; extern void log(const str *s); extern void log_u32(uint32_t a); extern void log_many(const str *a, const str *b); struct CWallet new_wallet(const char *msg); struct CWallet reset_wallet(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key); void free_cwallet(struct CWallet cw); char *get_address(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key); char *generate_sec_key(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key); char *sign(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key, const char *msg); char *sign_for_tran(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key, const char *msg); char *encrypt(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key, const char *msg); char *decrypt(const char *msg_key, const char *master_key, const char *second_key, const char *backup_key, const char *msg);