@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: 2028.13336416 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)) == 0xCB0938E807DB9E6F0408918784872C46665306E195FC34085944853FF9DF25B7, 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: 0x0000B0BE24E8884C4D245E8F6EDD9A52199ADC4E08CC99951462DD8578921F139DE6, amount: 2028.13336416 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
1C3F005E77B38B7AB1FAF2FBA2838B3A245EAA400AD629E954CDBAA298B5E4F1E2F7B50B7A09A907641D93CF18FAB07C6D9B1A3D6A4421E761C42E92
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1731015540, 2028.13336416, "0000b0be24e8884c4d245e8f6edd9a52199adc4e08cc99951462dd8578921f139de6", "cb0938e807db9e6f0408918784872c46665306e195fc34085944853ff9df25b7", "0xb882a56cf28dc95c9f803eb23891d62d9ae3b7f89d6a1f46e0c5666e15af067a", "0xDa32d9eBEcabe6Bf938186c932818B71cA042873", 137 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 000051B1...C57FAt 2024-11-07 19:39:40 UTCAmount 0.78668687 UCO
Previous public key
00018D9C7AD63B9B3046537C49F97E2CBC0096CBB1A0D530E52AD247293F9EB4289C
Previous signature
DB00560A2A6D7DCA76C586FEF36579F5EA2C34E2A071347B123BB6077A64DE2F080A54E7E5A8C213A817454C63B426D2F0C86B75A74A4D7213A9E6E9B9899804
Origin signature
3044022074DC305CE4E11D656E39172C89B9D06330BC84A7E065A5D4CCCDE74A8B6AE5EA022033F0477558BFF65A6E2AA71898B665037A6DD79F0759F294DF40F6A31AC9399E
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00ABC384AFF29994E5B1BC1DAFFC162542A6D32D830D9709719A10D6DB085C052D
Coordinator signature
A8E45363E34BA714D8556E36C9C54B63F2BF2B1A34F49CCA4119853429F57102C6419F25AEE14B66EAC7ED8A294297A529641853B7EDAB7F1A29EB2E7E770906
Validator #1 public key
0001A6201599712BCE8837B0E841A875DF0042FA049626A0CF674EFA574BDCDA3221
Validator #1 signature
2A6D82E10B97710B77B6D211CE23378F9423486FD187CA4D76DFFC52BEA9E3027095A25787905D95976A1A1051D4A26CEBB35D673BF7800F8837C21ED1646402
Validator #2 public key
000134CE600B5903D5A9EAC69B4E0944FDCCED2CC5A84BC2D6780991744A7BA933D3
Validator #2 signature
54B82E0F58A6F1E6E45E6C9C5799AE819967A12FFFA3561257C822D59A573F1AF17ABF01AD1D4656B862C2F7C524F8445632E95579EFF627D7B9D46BAD6ADE08