github.com/onflow/flow-go@v0.33.17/fvm/evm/types/tokenVault.go (about) 1 package types 2 3 // FLOWTokenVault holds a balance of flow token 4 type FLOWTokenVault struct { 5 balance Balance 6 } 7 8 func NewFlowTokenVault(balance Balance) *FLOWTokenVault { 9 return &FLOWTokenVault{balance: balance} 10 } 11 12 func (t *FLOWTokenVault) Balance() Balance { 13 return t.balance 14 } 15 16 func (t *FLOWTokenVault) Withdraw(b Balance) *FLOWTokenVault { 17 t.balance = t.balance.Sub(b) 18 return NewFlowTokenVault(b) 19 } 20 21 func (t *FLOWTokenVault) Deposit(inp *FLOWTokenVault) { 22 t.balance = t.balance.Add(inp.Balance()) 23 }