@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: 6848.31443777 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)) == 0x05B3008E9C61C4591F173B6E626035EE2743F7D1D047930589BC43315824D621, 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: 0x0000B6B6495AD491BCA632FCD2F109CE62C0047B91586E2E4D582022D00F0A8ABFFD, amount: 6848.31443777 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
9290BB89A3F0B55D9AD8E0C6A47CCDF03CA4FCA61D072816821E279294B88AE7E6FC0D21BF759E89ACA4182C67AFD8EC10FBEF1DE52088AAEE03C8DF
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1730231940, 6848.31443777, "0000b6b6495ad491bca632fcd2f109ce62c0047b91586e2e4d582022d00f0a8abffd", "05b3008e9c61c4591f173b6e626035ee2743f7d1d047930589bc43315824d621", "0xc2ef55d879c152b5bef98fd2354a1dd5851cd7e54500110165fa2832eae26fdd", "0xe2619A156f4EB6e38ce3cbE6276E083Ef5E276E1", 56 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000D718...108AAt 2024-10-29 18:00:08 UTCAmount 0.92636913 UCO
Previous public key
00012BDC0C5570C086BD5A514DA3D6AE0B0885A20CFF34A40EA722E226B06B3399E0
Previous signature
3EA95167B5B2BDCE8C9457C2810FBA58A4E56633D80127E52E7FF2945B1DBB7A23D2480D57447F924C20374E4AAAFAB4A6F223E9C23BC2B6D1BE1AA423E7480E
Origin signature
3045022100982C0AF36049B43DDB606D220BA512DA2F9BC1A6E25AC24DAA0ABCF3F42958FC02200EEBFEC8B37A855414AEF1A496C9370337E70E48860ED7AA8E60D8996FE0EE7D
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
007AC18DF0737A1201712DB1BCBF5EF04F752301DE56B76B3405F74E50E9F41D8A
Coordinator signature
F6D104F3B7A5A1EC755D410C5800B8B0AE969EA289DA152F7474F7279CE6012A3E5DDF89459723D695CA850346DC8C3DCB13145E4E8F21E99EB862801F335C07
Validator #1 public key
0001E6A3BEAAF28031AE2072301E3083DF3DDBA10A2CAAD30163F01D007BA76A122D
Validator #1 signature
21805B799F897E99FED9E81AB6FF7A1E12B0F640B197C8ECDC938FCD9B144A64E937A4BF4422B049FD0B5EF4E8EC14D24C54A9AFC28B49DAC706B5F1140F7500
Validator #2 public key
0001AC6CA4DFE26954F8C8FB58EAED07DEDA6D0A6DAA84085CEA5607892BE39F541F
Validator #2 signature
80D41B9435772708060503C202E481D12DC616032B534DA286A3E6867289F6036FA05B0AC1A19291AC9F3A17F250B12444E23D28DF83D03A2F8251889C34E208