@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: 3165.82998812 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)) == 0xE442D5715E018D59561F3D57F8C755BE2AB54B86F6F974F5A615201DE6101326, 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: 0x00001AA1D43D1EBFF89538594F8C1119E8B29917ED8A1A0128AB55CE0CFCB3287ECF, amount: 3165.82998812 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
2DDABAE62BAD6EF23F3BEE7B896827E83BB2B0A66C4C97AAB0AC3A92500D7E77B3CD6BFE45E7AC35FC30E50B3BADD88D033A3A466245D45B139D715F
Authorized keys
- 000122A6CD9ED07E46835D6E88E5BD0BEE84C3F5E5DBF8E916AD9B2EC912C44AFEC2
-
Resolved 00002075...AF5Drequest_funds
[ 1731471000, 3165.82998812, "00001aa1d43d1ebff89538594f8c1119e8b29917ed8a1a0128ab55ce0cfcb3287ecf", "e442d5715e018d59561f3d57f8c755be2ab54b86f6f974f5a615201de6101326", "0x20c7ebc52ede8c6a11780955b0f775b4e205f5f989bd91df8de50f785ce112bb", "0xC8Acdb77Baa240fF97175cA904dBccD78e425c61", 1 ]
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 000091C3...2AF6At 2024-11-13 02:12:31 UTCAmount 0.58832004 UCO
Previous public key
00017696D1DD9F177C30356F914621ABAE51BDF9953178467702EFBE1DB9F9B3C1AE
Previous signature
63BF5BD2A5F26E933A9E4C4320B1E8920B84AA5319D01429CAB6D26810C4B8AA5E2A2000A3009803705937D8D17E00769C08DB2381F6977934DBCDD799569D06
Origin signature
3045022100A03FF163BE15AECB4BCF14EA4E73A6561C0BC4E73B7D7E9841E1909457BD4C6F02200E8973541C7B45B036207ED21F5521FE619C4534C8CF631D7E2ADDEF48683612
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00D47CD6DDBFD12A83374224A4EFDE55FC784B77DFD5F8FEDCD7EB293FE57BBE05
Coordinator signature
543A692A8EB303F4A7E5B692342BA4E85E77FA54DCB86D76D1D33F5C4907A7507023BA24077707E2351CB404FD0F28A160FCC51359415687DD8F91555EE5CF07
Validator #1 public key
0001DB2931DD86F1A21911FCCC695D31C6881B186EFA391295F3604318D8B72CE28D
Validator #1 signature
FF19C2246A3423F3C0F65905BCD30807DB12CE43EDDBC219C5CE87085E02D987F367322C31503BA72A264F79326537F9C025941DD0466F416A28C215069CC906
Validator #2 public key
00018A13A9C85FE66CE097EE273C6F1E612289BFB0B630C34AF60957E8DE880633E2
Validator #2 signature
D47023088BFF610CD5F3D20BB564DF7F7E0D801CDC34B2A674287E686F8203CE32D76726BA25B0FA06BD83D60BD6F21895A336FD83007423DAFC60E9AE2BD708