TransactionSEALED
■○░▒▫@█▪$◆?^&■$█╲□◆@◆?!$▪╳▪▒╲■^▪◆╳^◇╲▪~▒^◇◇@^○▓~~╱*▓**▒○%◆□○◆@%◇
Transaction ID
Execution Error
Error Code: 1007
error caused by: 1 error occurred:
Raw Error
[Error Code: 1007] error caused by: 1 error occurred: * checking sequence number failed: [Error Code: 1007] invalid proposal key: public key 6 on account f380b22ef386ac7e has sequence number 3227, but given 3226
Transaction Summary
TransactionScript Arguments
0toEVMAddressHexString
1amountUFix64
0.00000000
2data[UInt8]
[ "169", "5", "156", "187", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "59", "68", "241", "68", "185", "122", "4", "2", "192", "226", "6", "82", "44", "40", "5", "44", "16", "37", "168", "170", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "0", "10" ]
3gasLimitUInt64
30000000
Cadence Script
1import FungibleToken from 0xf233dcee88fe0abe
2import FlowToken from 0x1654653399040a61
3import EVM from 0xe467b9dd11fa00df
4
5/// Transfers $FLOW from the signer's account Cadence Flow balance to the recipient's hex-encoded EVM address.
6/// Note that a COA must have a $FLOW balance in EVM before transferring value to another EVM address.
7///
8transaction(toEVMAddressHex: String, amount: UFix64, data: [UInt8], gasLimit: UInt64) {
9
10 let coa: auth(EVM.Withdraw, EVM.Call) &EVM.CadenceOwnedAccount
11 let recipientEVMAddress: EVM.EVMAddress
12
13 prepare(signer: auth(BorrowValue, SaveValue) &Account) {
14 if signer.storage.type(at: /storage/evm) == nil {
15 signer.storage.save(<-EVM.createCadenceOwnedAccount(), to: /storage/evm)
16 }
17 self.coa = signer.storage.borrow<auth(EVM.Withdraw, EVM.Call) &EVM.CadenceOwnedAccount>(from: /storage/evm)
18 ?? panic("Could not borrow reference to the signer's bridged account")
19
20 self.recipientEVMAddress = EVM.addressFromString(toEVMAddressHex)
21 }
22
23 execute {
24 if self.recipientEVMAddress.bytes == self.coa.address().bytes {
25 return
26 }
27 let valueBalance = EVM.Balance(attoflow: 0)
28 valueBalance.setFLOW(flow: amount)
29 let txResult = self.coa.call(
30 to: self.recipientEVMAddress,
31 data: data,
32 gasLimit: gasLimit,
33 value: valueBalance
34 )
35 assert(
36 txResult.status == EVM.Status.failed || txResult.status == EVM.Status.successful,
37 message: "evm_error=".concat(txResult.errorMessage)
38 )
39 }
40}