Smart Contract
BridgedAccountContract
A.255e789705fa8064.BridgedAccountContract
1
2import EVM from 0xe467b9dd11fa00df
3 import FlowToken from 0x1654653399040a61
4
5 access(all) contract BridgedAccountContract {
6 access(self) var acc: @EVM.CadenceOwnedAccount
7 access(all) event ContractDeployed(address: String)
8
9 access(all)
10 fun address() : EVM.EVMAddress {
11 return self.acc.address()
12 }
13
14 access(all)
15 fun call(
16 to: EVM.EVMAddress,
17 data: [UInt8],
18 gasLimit: UInt64,
19 value: EVM.Balance
20 ): EVM.Result {
21 let result = self.acc.call(
22 to: to,
23 data: data,
24 gasLimit: gasLimit,
25 value: value
26 )
27
28 if result.deployedContract != nil {
29 emit ContractDeployed(address: result.deployedContract!.toString())
30 }
31
32 return result
33 }
34
35 access(all)
36 fun deposit(from: @FlowToken.Vault) {
37 self.acc.deposit(from: <-from)
38 }
39
40 init() {
41 self.acc <- EVM.createCadenceOwnedAccount()
42 }
43 }
44