@version 1 condition triggered_by: transaction, on: set_secret_hash(_secret_hash, _secret_hash_signature, _end_time), 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) == 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801 ) ] actions triggered_by: transaction, on: set_secret_hash(secret_hash, secret_hash_signature, end_time) do next_code = """ @version 1 # Automate the refunding after the given timestamp actions triggered_by: datetime, at: #{end_time} do Contract.set_type "transfer" # Send back the token to the user address Contract.add_uco_transfer to: 0x00000BC0EBA2DBCE4455B46F5E51AFAABA6EB4C7FBA1D4E2E6DABD55DC70F9A04D6F, amount: 1 Contract.set_code "" end condition triggered_by: transaction, on: refund(), as: [ timestamp: timestamp >= #{end_time} ] actions triggered_by: transaction, on: refund() do Contract.set_type "transfer" # Send back the token to the user address Contract.add_uco_transfer to: 0x00000BC0EBA2DBCE4455B46F5E51AFAABA6EB4C7FBA1D4E2E6DABD55DC70F9A04D6F, amount: 1 Contract.set_code "" end condition triggered_by: transaction, on: reveal_secret(secret, secret_signature), 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) == 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801 ), timestamp: transaction.timestamp < #{end_time}, content: Crypto.hash(String.to_hex(secret)) == 0x#{secret_hash} ] actions triggered_by: transaction, on: reveal_secret(secret, secret_signature) do next_code = """ @version 1 export fun get_secret() do [ secret: 0x\#{secret}, secret_signature: [ r: 0x\#{secret_signature.r}, s: 0x\#{secret_signature.s}, v: \#{secret_signature.v} ] ] end \""" Contract.set_type "transfer" Contract.add_uco_transfer to: 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801, amount: 0.997 Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 0.003 Contract.set_code next_code end export fun get_htlc_data() do [ amount: 0.997, end_time: #{end_time}, secret_hash: 0x#{secret_hash}, secret_hash_signature: [ r: 0x#{secret_hash_signature.r}, s: 0x#{secret_hash_signature.s}, v: #{secret_hash_signature.v} ] ] end """ Contract.set_code next_code end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
86A3870C0A232E7DE0467A1EF070F9E8EC8CF5014A088665EF3439D8F7AB48DAACDD57A047EBA061AB18D37AF729C98153D732BB20EDC8809036562C
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 00002D07...26EAAt 2023-11-21 20:13:07 UTCAmount 0.38421349 UCO
Previous public key
00016A459B896758315511F1CF382EF02BA8768A21C6E73D5165D54A4CB2BCDE72A6
Previous signature
7538A4A258549E1705194847FDEA09FC97504B8D4D6553D0F766F4062C5FE32E9E85173DAF77A4F0E0126C475F61A0D27F830CC0C2F9E999C8E96511A18E1C0B
Origin signature
30450221009A06B2A4BA7205F218B60ACB1F771550C321B3BD03DF93B2D5B13785449E6EEF02205DA234BEA6623AEB276A8DB58654F856E832EE30580BFE0F0E8CFE30AE214F4C
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
0019D075245C78373A6551D8EFB329C05BDFA65FC73905BA4AF8F728A6FC974EA0
Coordinator signature
2EC67B1C016EB8F4FB568DF8BBAFBFF4AAADAAA9CAA419498A60CDD203590D00F6A456915745A53B8C684B36E3F40CEDB9242FFBFAAE41096A5E257AD79AFC00
Validator #1 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #1 signature
A93E3D4097C27DA09D83C46F1213A341A33E316D2DF0D36E7E295083205B3CED0DD1496BF2437FE71A3120D229CB7B654A1AC4D7D84C27BD75AD48CE1D90EB02
Validator #2 public key
00011B58ED42235461734EAF253BD97A80B92899ABCC3BE680D44B6825DD2A88A947
Validator #2 signature
29B861F67ECA73A0E165688AAD0B708E1A4258B82395248874119E480BD3733D63C4D1834667322F6344DE2BFFE217684370091AE4CA9172B838B23425E3140C