@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: 9619.32783206 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)) == 0x5D9B610D50D4C38E27F1EF38A69C2E63E4E9745F3512DAF2AC19EAA1E9CFF38E, 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: 0x0000F54BBB10F1A95E8716780628CC538492E188DEAFB577C9EC7D687E7BAA4EE99A, amount: 9619.32783206 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
8BBBAE685BF15C5AFAC1E56DED1EAFA06DD8172E80B72C295651669CB299E4E75D390C31B0AF3A035AA076FC3A5676F5555EECF7671B9373F3E618C2
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1731149700, 9619.32783206, "0000f54bbb10f1a95e8716780628cc538492e188deafb577c9ec7d687e7baa4ee99a", "5d9b610d50d4c38e27f1ef38a69c2e63e4e9745f3512daf2ac19eaa1e9cff38e", "0xab988954cb5e0ec0dde18edda15f8f29adc619e0593354ea06541d03fa848006", "0xCA9b54382859a5B55a0b661fe391BED64a5bF81e", 1 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000602E...14CCAt 2024-11-09 08:56:52 UTCAmount 0.78908745 UCO
Previous public key
0001B475C50D2DAC96A790A4B3B785F25267076B306B7FD80A883BD12447FBF45D2C
Previous signature
0256AA7A94AF0CBCF6BE8015606B7D96D77D8466296CCA6B6B172407F8E68DE3F4BE5E83080E24E74F5CC2E3D3D64763E1DDE371E46AECB037410085B5178C05
Origin signature
3044022045E2C7142982FEF86737B65F303C2889BC1E08EE1540FA1CD4D245F7C2F7845D02203150131E378D7301E718C37D57FA3AADB113C53A9A017CB97EF5CA3B806E5BFD
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00D35E94B9FFB8A4ED772527F9B37E4149E57BD11A22F0B3D012BEFF240F6E6B00
Coordinator signature
6A1DDC025031BDBBD04569772255D215625F9A06D168484912D5AC8A472588A3403D07530E93487CBCA3577625F1F613912B203527D2790D34940FEBC4968B08
Validator #1 public key
0001DB2931DD86F1A21911FCCC695D31C6881B186EFA391295F3604318D8B72CE28D
Validator #1 signature
0119CD95AC4EEA22C74C7D0D2941FC268E679007A298AA5CAB36D75BC9196044BBE5CE3153486DB19953481D93E788177344AD4278DD2C1E93A96CB5AABC4B08
Validator #2 public key
0001B8800415E75326411D65020B8E3E306F22CB1D72BC5FF5929B3EB58CDA511327
Validator #2 signature
A17918973935717A40F513FD6A4EE4CC838431EFF0206372EE635E9991174ADDA48DF1A20FD402E8E25B152CC9B932D96073D9EA87934664A65C45AB19C17C01