@version 1 condition triggered_by: transaction, on: provision(_evm_contract, _endpoints, _signature, _evm_pool), 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) == 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D ) ] actions triggered_by: transaction, on: provision(evm_contract, endpoints, signature, evm_pool) do endpoints = Json.to_string(endpoints) Contract.set_code """ @version 1 condition triggered_by: transaction, on: refund(), as: [ content: ( 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) evm_responses = query_evm_apis(#{endpoints}, "POST", headers, body) for res in evm_responses do if !valid? && 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) # Refund status is 2 valid? = List.at(decoded_abi, 0) == 2 end end end valid? ) ] actions triggered_by: transaction, on: refund() do Contract.set_type "transfer" # Send back UCO to bridge pool Contract.add_uco_transfer to: 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D, amount: 367.05849464 Contract.set_code \""" @version 1 export fun info() do [ evm_contract: #{evm_contract}, evm_pool: #{evm_pool}, ae_pool: 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D, status: 2 # REFUNDED ] end \""" end condition triggered_by: transaction, on: reveal_secret(secret), as: [ content: Crypto.hash(String.to_hex(secret)) == 0x5E1598145700C30DE249C6691886627758DC51FBA136E23045654E552C844DB5, 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) responses = query_evm_apis(#{endpoints}, "POST", headers, body) for res in responses do if !valid? && 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 end valid? ) ] actions triggered_by: transaction, on: reveal_secret(secret) do Contract.set_type "transfer" Contract.add_uco_transfer to: 0x0000A4E8AAD6D7C5A7E98600D8ECA42D067CA9381AAD0CB1CD1C2B887FD3CF6DE9F9, amount: 365.95731916 Contract.add_uco_transfer to: 0x00007db8dc8dc7808c2e1f681b593a08ff8aa708447ae3a410b347ab15c562ec2126, amount: 1.10117548 Contract.set_code \""" @version 1 export fun info() do [ evm_contract: #{evm_contract}, evm_pool: #{evm_pool}, ae_pool: 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D, status: 1 # WITHDRAWN ] end \""" end fun query_evm_apis(endpoints, method, headers, body) do requests = [] for endpoint in endpoints do requests = List.append(requests, url: endpoint, method: method, headers: headers, body: body) end Http.request_many(requests, false) end export fun get_provision_signature() do [ r: 0x#{signature.r}, s: 0x#{signature.s}, v: #{signature.v} ] end export fun info() do [ evm_contract: #{evm_contract}, evm_pool: #{evm_pool}, ae_pool: 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D, status: 0 # PENDING ] end """ end export fun info() do [ ae_pool: 0x00002075E9FB5329C7F5149802EB75F925D79B5FEC5BFCF09DC81993CB9C39FEAF5D, status: 0 # PENDING ] end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
50112D424AE4968B15D6DF8234DD7317247DF58C77EF0F48ED849C47C6E4738C6A5E62A122C332645BC092423387E9BC85306CB806A7F53C3D8B14DF
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1718114220, 367.05849464, "0000a4e8aad6d7c5a7e98600d8eca42d067ca9381aad0cb1cd1c2b887fd3cf6de9f9", "5e1598145700c30de249c6691886627758dc51fba136e23045654e552c844db5", "0x6243b068192d05e252e9dfea3ed77d2f8001abf9843205f968ca6a49eae93b3d", "0x8b3f823431f5c6d1e07aeaa882f724d698c4c50b", 137 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 000029E7...D595At 2024-06-11 11:58:38 UTCAmount 0.67841388 UCO
Previous public key
0001452756BDE41F35E3205834CFF8AEE98C46EF089362DAE9CA8ACB582239BDECB9
Previous signature
234992FE0259726A0D4475D466214385B1469C862838691E2A6A9CDF781AF3CDE686624E142C824B24CFE6D90A2B70A9BC05438734575B950A7834D39AB71005
Origin signature
304502210087E57D63149EDC42E65E916A4384FE8FA53E0CE49D47C6C44CF023A105EE3A7402202215E9C156CCEC575FBBCB40E6FDE4AB52007D29E9515A17328340EC5A5F589A
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
004106C377A4694EF0B9DDFA01DAB91629B37B32D1AF6664657E34D15BA0F8B720
Coordinator signature
B63F103AE1F09D7E7D014BD63C0A9CF9470F5CEDEFB4B94D1614DAD80E0406DAE46306A36CC6090C85B794E7DADB43B8F1083DAEAC14631D43F3E25C28FE6205
Validator #1 public key
0001936CCE1295F6988DB49825C6CDE26CF96AC12657C56CA7AC06C1D4C98E99E9D4
Validator #1 signature
B9B534C303E2B3B949ED06D8825A5396F831E611ABBB30E2F764B9F9E5292E162CBBE7AFF6ACCD0436B4BF71A10919092D112968574E4720A6805272B1C3400C
Validator #2 public key
00012499D5C02B913F5E09D557D6DFF749FE1241084C18A999D39E365AB29F182AE7
Validator #2 signature
DCF8EB75760B66E5DE13F5A3D1D595B5A55C0DD0028C6F977F266C20FE30E1907BD6A9720DF838090644327F888A1C371190B583336DFDC70BDF0BA9C105100A