vault.pyPython
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
33
34
35
36
37
38
39
40
class="syntax-string">""class="syntax-string">" Secure Vault Contract Manages user deposits with ownership controls. "class="syntax-string">"" from tsukumogami import contract, entry, view from tsukumogami.types import Address, Uint256, Mapping, msg class="syntax-decorator">@contract class Vault: class="syntax-string">""class="syntax-string">"A secure multi-user vault."class="syntax-string">"" owner: Address total_deposits: Uint256 balances: Mapping[Address, Uint256] def __init__(self) -> None: self.owner = msg.sender self.total_deposits = Uint256(0) class="syntax-decorator">@entry def deposit(self, amount: Uint256) -> None: class="syntax-string">""class="syntax-string">"Deposit funds into the vault."class="syntax-string">"" assert amount > 0, class="syntax-string">"Amount must be positive" self.balances[msg.sender] += amount self.total_deposits += amount class="syntax-decorator">@entry def withdraw(self, amount: Uint256) -> None: class="syntax-string">""class="syntax-string">"Withdraw funds from the vault."class="syntax-string">"" assert self.balances[msg.sender] >= amount self.balances[msg.sender] -= amount self.total_deposits -= amount class="syntax-decorator">@view def get_balance(self, account: Address) -> Uint256: class="syntax-string">""class="syntax-string">"Query account balance."class="syntax-string">"" return self.balances[account]
No output yet
Click Transpile to generate code