@@ -7,6 +7,7 @@ import { AssetData } from '../impl/asset'
77import { BlockData } from '../impl/block'
88import { GlobalData } from '../impl/global'
99import { GlobalStateCls } from '../impl/state'
10+ import { VoterData } from '../impl/voter-params'
1011import { asBigInt , asMaybeBytesCls , asMaybeUint64Cls , asUint64 , asUint64Cls , iterBigInt } from '../util'
1112
1213export class LedgerContext {
@@ -16,6 +17,7 @@ export class LedgerContext {
1617 appIdContractMap = new Uint64Map < BaseContract > ( )
1718 accountDataMap = new AccountMap < AccountData > ( )
1819 assetDataMap = new Uint64Map < AssetData > ( )
20+ voterDataMap = new AccountMap < VoterData > ( )
1921 blocks = new Uint64Map < BlockData > ( )
2022 globalData = new GlobalData ( )
2123
@@ -120,6 +122,14 @@ export class LedgerContext {
120122 } )
121123 }
122124
125+ patchVoterData ( account : Account , data : Partial < VoterData > ) {
126+ const voterData = this . voterDataMap . get ( account ) ?? new VoterData ( )
127+ this . voterDataMap . set ( account , {
128+ ...voterData ,
129+ ...data ,
130+ } )
131+ }
132+
123133 patchBlockData ( index : internal . primitives . StubUint64Compat , data : Partial < BlockData > ) : void {
124134 const i = asUint64 ( index )
125135 const blockData = this . blocks . get ( i ) ?? new BlockData ( )
0 commit comments