Skip to content

Commit 69f2107

Browse files
committed
remove onBalanceMethod, add cleaners support
1 parent be7ea84 commit 69f2107

3 files changed

Lines changed: 21 additions & 20 deletions

File tree

src/info/sigma/zcoinEngineExtension.js

Lines changed: 1 addition & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -91,13 +91,6 @@ export class ZcoinEngineExtension implements CurrencyEngineExtension {
9191
}
9292
}
9393

94-
onBalanceChanged() {
95-
this.currencyEngine.callbacks.onBalanceChanged(
96-
this.currencyEngine.currencyCode,
97-
this.engineState.getBalance({ mintedBalance: true })
98-
)
99-
}
100-
10194
async saveTx(edgeTransaction: EdgeTransaction) {
10295
const { otherParams = {}, txid = '' } = edgeTransaction
10396
const {
@@ -146,7 +139,7 @@ export class ZcoinEngineExtension implements CurrencyEngineExtension {
146139

147140
const updated = await this.updateMintMetadata()
148141
if (updated) {
149-
this.onBalanceChanged()
142+
this.currencyEngine.onBalanceChanged()
150143
}
151144
}
152145

src/info/sigma/zcoinStateExtension.js

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,11 @@ import { EngineState } from '../../engine/engineState'
66
import { EngineStateExtension } from '../../engine/engineStateExtension'
77
import type { StratumTask } from '../../stratum/stratumConnection'
88
import { logger } from '../../utils/logger'
9-
import type { PrivateCoin } from '../zcoins'
10-
import { SIGMA_ENCRYPTED_FILE } from '../zcoins'
9+
import {
10+
type PrivateCoin,
11+
asPrivateCoinArray,
12+
SIGMA_ENCRYPTED_FILE
13+
} from '../zcoins'
1114
import { type SpendCoin } from './coinUtils'
1215
import {
1316
fetchTransactionVerbose,
@@ -353,7 +356,7 @@ export class ZcoinStateExtension implements EngineStateExtension {
353356
const jsonString = await this.encryptedLocalDisklet.getText(
354357
SIGMA_ENCRYPTED_FILE
355358
)
356-
mints = JSON.parse(jsonString)
359+
mints = asPrivateCoinArray(jsonString)
357360
} catch (e) {
358361
logger.error('something went wrong ', e)
359362
}

src/info/zcoins.js

Lines changed: 14 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// @flow
22

3+
import { asArray, asBoolean, asNumber, asObject, asString } from 'cleaners'
34
import { type EdgeCurrencyInfo } from 'edge-core-js/types'
45

56
import type { EngineCurrencyInfo } from '../engine/currencyEngine.js'
@@ -25,15 +26,19 @@ export const DENOMINATIONS = [
2526
'10000000000'
2627
]
2728

28-
export type PrivateCoin = {
29-
value: number,
30-
index: number,
31-
commitment: string,
32-
serialNumber: string,
33-
groupId: number,
34-
isSpend: boolean,
35-
spendTxId: string
36-
}
29+
export const asPrivateCoin = asObject({
30+
value: asNumber,
31+
index: asNumber,
32+
commitment: asString,
33+
serialNumber: asString,
34+
groupId: asNumber,
35+
isSpend: asBoolean,
36+
spendTxId: asString
37+
})
38+
39+
export const asPrivateCoinArray = asArray(asPrivateCoin)
40+
41+
export type PrivateCoin = $Call<typeof asPrivateCoin>
3742

3843
const bcoinInfo: BcoinCurrencyInfo = {
3944
type: 'zcoins',

0 commit comments

Comments
 (0)