@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: 9002.65917407 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)) == 0x4754744825DB05D68310D7DFDA9BDF9EEE940C81BC1EFF491DDEA477F5359B14, 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: 0x00003A9BF8993DDA960F950A7C0706C299557B822FDE912A41D70F63611A98927B47, amount: 9002.65917407 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
115412807420B5E0FD258C4EB1FCC4E1878FF1E9B2C572CE6DBBF3FEBB67C155DAD1258C27D63F30E2A2E14D6A28B81BCD5740E62A8B69F8ABBD09F3
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1730801220, 9002.65917407, "00003a9bf8993dda960f950a7c0706c299557b822fde912a41d70f63611a98927b47", "4754744825db05d68310d7dfda9bdf9eee940c81bc1eff491ddea477f5359b14", "0x83b5f1ad00b23a6c3ac1b6e4d5a424707008aea2374e405eda678492a209ea4c", "0xdA3B8E27685a468B27b74C1ea724Fa98E77B0146", 1 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000F5E2...C90CAt 2024-11-05 08:08:23 UTCAmount 0.88259151 UCO
Previous public key
0001B1E1B40B9CB6533B6AF530AA76023398CAE9A9F89251930B6D117AEE0FD6738C
Previous signature
2D4CD75696899C5A844191F3F9BEA0B25D54F5291DC2CFA6816624E7C601A076154E86B49DEAE50CA4FB887FF05109FF46B1A8E863AC4063714FC028BCF21F09
Origin signature
3045022100A459F0C8DC30DA8F5101E19D827CC45C97520837A91F86ACF331CB2A77F1A495022004EAD4ED2C5B34E871258AB932D3865C874A6EFFE94771889330946CF314B002
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00AA5543C55029BC4ECD75D3E85B76994C73339BB8C452CA9A913D04ED7404055F
Coordinator signature
8278D406764E41D5F91FBBA049FE0D215F3448BCB079A7B4BDE7583694A9594B649752B24C66942384CA1A8635960FA56DC266B4D78101E1393F900855E6B80A
Validator #1 public key
0001B9E2941895A3951F10CE0D7978DD083C3D8A19ACE27F4F98798DF04045B11181
Validator #1 signature
712AE9D5AE417F44258D3C3CC55622632042AAF841E656003C84EC588B9E0BEEA21C1956DA4B66B764A09F6B9DBE2E6561D5E3DCD3CFE51329AE8C64D519CF04
Validator #2 public key
0001E6A3BEAAF28031AE2072301E3083DF3DDBA10A2CAAD30163F01D007BA76A122D
Validator #2 signature
13F25F6CD2897F146C2BECAA120B19085939730AFD17DD2182E30EA350A8FC1167AF796D7921B49AA45E4B0771544AA6D152035408AF82EB60423D4F99760502