forked from multiversx/mx-bridge-eth-go
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathKleverAccountsMock.go
More file actions
32 lines (26 loc) · 842 Bytes
/
KleverAccountsMock.go
File metadata and controls
32 lines (26 loc) · 842 Bytes
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
package mock
import (
"github.com/klever-io/klv-bridge-eth-go/clients/klever/blockchain/address"
"github.com/klever-io/klv-bridge-eth-go/clients/klever/proxy/models"
)
type kleverBlockchainAccountsMock struct {
accounts map[string]*models.Account
}
func newKleverBlockchainAccountsMock() *kleverBlockchainAccountsMock {
return &kleverBlockchainAccountsMock{
accounts: make(map[string]*models.Account),
}
}
func (mock *kleverBlockchainAccountsMock) getOrCreate(address address.Address) *models.Account {
addrAsString := string(address.Bytes())
acc, found := mock.accounts[addrAsString]
if !found {
acc = &models.Account{}
mock.accounts[addrAsString] = acc
}
return acc
}
func (mock *kleverBlockchainAccountsMock) updateNonce(address address.Address, nonce uint64) {
acc := mock.getOrCreate(address)
acc.Nonce = nonce
}