add missing functionality from for cake's polyseed implementation

This commit is contained in:
Czarek Nakamoto
2024-04-22 12:49:17 +02:00
parent 90658235f6
commit 7e49b4ad69
14 changed files with 316 additions and 18 deletions

View File

@@ -127,6 +127,18 @@ const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const cha
return vectorToString(txid, std::string(separator));
}
const char* MONERO_PendingTransaction_hex(void* pendingTx_ptr, const char* separator) {
Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr);
std::vector<std::string> txid = pendingTx->hex();
return vectorToString(txid, std::string(separator));
}
const char* MONERO_PendingTransaction_txKey(void* pendingTx_ptr, const char* separator) {
Monero::PendingTransaction *pendingTx = reinterpret_cast<Monero::PendingTransaction*>(pendingTx_ptr);
std::vector<std::string> txid = pendingTx->txKey();
return vectorToString(txid, std::string(separator));
}
// UnsignedTransaction
int MONERO_UnsignedTransaction_status(void* unsignedTx_ptr) {
@@ -1553,6 +1565,22 @@ void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, const char* path,
return reinterpret_cast<void*>(wallet);
}
void* MONERO_WalletManager_createDeterministicWalletFromSpendKey(void* wm_ptr, const char* path, const char* password,
const char* language, int nettype, uint64_t restoreHeight,
const char* spendKeyString, uint64_t kdf_rounds) {
Monero::WalletManager *wm = reinterpret_cast<Monero::WalletManager*>(wm_ptr);
Monero::Wallet *wallet = wm->createDeterministicWalletFromSpendKey(
std::string(path),
std::string(password),
std::string(language),
static_cast<Monero::NetworkType>(nettype),
restoreHeight,
std::string(spendKeyString),
kdf_rounds
);
return reinterpret_cast<void*>(wallet);
}
void* MONERO_WalletManager_createWalletFromPolyseed(void* wm_ptr, const char* path, const char* password,
int nettype, const char* mnemonic, const char* passphrase,
bool newWallet, uint64_t restore_height, uint64_t kdf_rounds) {

View File

@@ -97,6 +97,10 @@ extern ADDAPI const char* MONERO_PendingTransaction_multisigSignData(void* pendi
extern ADDAPI void MONERO_PendingTransaction_signMultisigTx(void* pendingTx_ptr);
// virtual std::vector<std::string> signersKeys() const = 0;
extern ADDAPI const char* MONERO_PendingTransaction_signersKeys(void* pendingTx_ptr, const char* separator);
// virtual std::vector<std::string> hex() const = 0;
extern ADDAPI const char* MONERO_PendingTransaction_hex(void* pendingTx_ptr, const char* separator);
// virtual std::vector<std::string> txKey() const = 0;
extern ADDAPI const char* MONERO_PendingTransaction_txHex(void* pendingTx_ptr, const char* separator);
// };
// struct UnsignedTransaction
@@ -881,6 +885,16 @@ extern ADDAPI void* MONERO_WalletManager_createWalletFromKeys(void* wm_ptr, cons
// {
// return createWalletFromKeys(path, language, testnet ? TESTNET : MAINNET, restoreHeight, addressString, viewKeyString, spendKeyString);
// }
// virtual Wallet * createDeterministicWalletFromSpendKey(const std::string &path,
// const std::string &password,
// const std::string &language,
// NetworkType nettype,
// uint64_t restoreHeight,
// const std::string &spendKeyString,
// uint64_t kdf_rounds = 1) = 0;
extern ADDAPI void* MONERO_WalletManager_createDeterministicWalletFromSpendKey(void* wm_ptr, const char* path, const char* password,
const char* language, int nettype, uint64_t restoreHeight,
const char* spendKeyString, uint64_t kdf_rounds);
// virtual Wallet * createWalletFromDevice(const std::string &path,
// const std::string &password,
// NetworkType nettype,