Skip to content

Commit 3bd89b8

Browse files
authored
Actually lock mn collateral (#513)
1 parent 8143e8f commit 3bd89b8

File tree

3 files changed

+25
-2
lines changed

3 files changed

+25
-2
lines changed

scripts/composables/use_masternode.js

+4-2
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,10 @@ export const useMasternode = defineStore('masternode', () => {
4040
await database.addMasternode(toRaw(masternode.value));
4141
});
4242

43-
fetchProposalsFromDatabase().then(() => {});
44-
fetchMasternodeFromDatabase().then(() => {});
43+
getEventEmitter().on('wallet-import', () => {
44+
fetchProposalsFromDatabase().then(() => {});
45+
fetchMasternodeFromDatabase().then(() => {});
46+
});
4547
getEventEmitter().on('toggle-network', () => {
4648
fetchProposalsFromDatabase().then(() => {});
4749
fetchMasternodeFromDatabase().then(() => {});

scripts/composables/use_wallet.js

+4
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,8 @@ export const useWallet = defineStore('wallet', () => {
137137
const isCreatingTransaction = () => createAndSendTransaction.isLocked();
138138
const getMasternodeUTXOs = () => wallet.getMasternodeUTXOs();
139139
const getPath = (script) => wallet.getPath(script);
140+
const lockCoin = (out) => wallet.lockCoin(out);
141+
const unlockCoin = (out) => wallet.unlockCoin(out);
140142

141143
getEventEmitter().on('toggle-network', async () => {
142144
isEncrypted.value = await hasEncryptedWallet();
@@ -198,5 +200,7 @@ export const useWallet = defineStore('wallet', () => {
198200
getMasternodeUTXOs,
199201
getPath,
200202
blockCount,
203+
lockCoin,
204+
unlockCoin,
201205
};
202206
});

scripts/masternode/Masternode.vue

+17
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ import { getNetwork } from '../network/network_manager.js';
1313
import { translation, ALERTS } from '../i18n.js';
1414
import { generateMasternodePrivkey, parseIpAddress } from '../misc';
1515
import { useAlerts } from '../composables/use_alerts.js';
16+
import { COutpoint } from '../transaction.js';
1617
1718
const { createAlert } = useAlerts();
1819
@@ -28,6 +29,22 @@ const masternodePrivKey = ref('');
2829
// Array of possible masternode UTXOs
2930
const possibleUTXOs = ref(wallet.getMasternodeUTXOs());
3031
32+
watch(masternode, (masternode, oldValue) => {
33+
if (oldValue?.collateralTxId) {
34+
wallet.unlockCoin(
35+
new COutpoint({ txid: oldValue.collateralTxId, n: oldValue.outidx })
36+
);
37+
}
38+
39+
if (masternode?.collateralTxId) {
40+
wallet.lockCoin(
41+
new COutpoint({
42+
txid: masternode.collateralTxId,
43+
n: masternode.outidx,
44+
})
45+
);
46+
}
47+
});
3148
function updatePossibleUTXOs() {
3249
possibleUTXOs.value = wallet.getMasternodeUTXOs();
3350
}

0 commit comments

Comments
 (0)