@version 1
condition triggered_by: transaction, on: provision(_evm_contract, _url), as: [
previous_public_key: (
# Transaction is not yet validated so we need to use previous address
# to get the genesis address
previous_address = Chain.get_previous_address()
Chain.get_genesis_address(previous_address) == 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801
)
]
actions triggered_by: transaction, on: provision(evm_contract, url) do
next_code = """
@version 1
# Automate the refunding after the given timestamp
actions triggered_by: datetime, at: 1702085580 do
Contract.set_type "transfer"
# Send back UCO to bridge pool
Contract.add_uco_transfer to: 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801, amount: 42.785
Contract.set_code ""
end
condition triggered_by: transaction, on: refund(), as: [
timestamp: timestamp >= 1702085580
]
actions triggered_by: transaction, on: refund() do
Contract.set_type "transfer"
# Send back UCO to bridge pool
Contract.add_uco_transfer to: 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801, amount: 42.785
Contract.set_code ""
end
condition triggered_by: transaction, on: reveal_secret(secret), as: [
content: Crypto.hash(String.to_hex(secret)) == 0x74DFFB8B6BC92F51AA401B23F85A6C285F863B0C4538412EA1BD8631B58BE9F6,
address: (
valid? = false
abi_data = Evm.abi_encode("status()")
tx = [to: "#{evm_contract}", data: "0x\#{abi_data}"]
request = [jsonrpc: "2.0", id: "1", method: "eth_call", params: [tx, "latest"]]
headers = ["Content-Type": "application/json"]
body = Json.to_string(request)
res = Http.request("#{url}", "POST", headers, body)
if res.status == 200 && Json.is_valid?(res.body) do
response = Json.parse(res.body)
result = Map.get(response, "result")
if result != nil do
decoded_abi = Evm.abi_decode("(uint)", result)
# Withdrawn status is 1
valid? = List.at(decoded_abi, 0) == 1
end
end
valid?
)
]
actions triggered_by: transaction, on: reveal_secret(secret) do
Contract.set_type "transfer"
Contract.add_uco_transfer to: 0x00001DCF526FF46682AFCA9984CA510CE777EAE927C82DCAD6986E77FB867AEFA48A, amount: 42.656645
Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 0.128355
Contract.set_code ""
end
"""
Contract.set_code next_code
end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
088A6FF458580DBDF8361A6674AA876FC279CE850EB1AADDBF7D5E14352D02EE1EDB589EA0BBB748DEBD9060B8F2F29E4F3F4E19C42AB10010FD3FC2
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
-
Resolved 00004CA7...435Frequest_funds
[ 1702085580, 42.785, "00001dcf526ff46682afca9984ca510ce777eae927c82dcad6986e77fb867aefa48a", "74dffb8b6bc92f51aa401b23f85a6c285f863b0c4538412ea1bd8631b58be9f6", "0x49e4f05d617ed7e7a84908cbe182a68ed7fd15f3c9c68d53a8ab366598b03da2", "0x05296ca8ffe03702cd4e2f3044cfa2755a507538", 80001 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000AD94...DD52At 2023-12-08 23:33:48 UTCAmount 0.25752937 UCO
Previous public key
00015062D3043AC8C264AEE7B765CB6DD8B19EECB17C0CB0226A4796803094D648EE
Previous signature
02C0A31C5976E7BEA5AE12567100C836EFD27345A8DBBBF5B4AC499BA9659C0DA226FB6EE2EA53266347558F6A9EE910501FE577DF4C7EEEFC64156A079F9706
Origin signature
3045022100F5633C1C890A16C61AC3D8CADF49005A818087C075EFD0CD357933EF585186EB022070B493384479D14A22E498D02881BAD6D13439C5DF90C150C55A2588AA787E45
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
0015D1001CA58D34EB527F480DAD075F1E85AA79849AC53620B02E296EDAA4FEBC
Coordinator signature
6427E0F53B2DEDA95F552C94280975B6FBF92EB3046E132E099EEEFA630E24BBC3B1BB00F43199383F62D16EF45973E322950E4D2E60D97D4AB686F7D8C87402
Validator #1 public key
000151C124A6211CD402FD1CFE560C5DB51ED0CBEF44B09B21A41206028E7E5942BF
Validator #1 signature
FD41FB569B3692F788861F224C93A3F0E73966795EB8E5567D79A9208600005E399CFC8455603C433BF2AF9099075C5FFB7043C9BA009E176E7856ED4DBF8E08
Validator #2 public key
00011B58ED42235461734EAF253BD97A80B92899ABCC3BE680D44B6825DD2A88A947
Validator #2 signature
C06FAD39CFC450CF1F422E7767DEF45FCC19813F532CE2824A1D3B7539C86C70D4779DECB82B540B5CC95F7E12BD6951FA0A474BE73C5B0E3BFEB0F1D635F30C