@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: 0x0000B05DE7312129A8F7C397BC359506896A90A87C88DC54C9023D23EFC9BF5A8773, amount: 2
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: 0x0000B05DE7312129A8F7C397BC359506896A90A87C88DC54C9023D23EFC9BF5A8773, amount: 2
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: 1.994
Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 0.006
Contract.set_code next_code
end
export fun get_htlc_data() do
[
amount: 1.994,
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
F336FEC2D1B23D5144157F3A84AF930AA41C71E2FB2EB3876A0044564253A6799870EE8256D5A5ADB15B788FCB4C77DA15B23FEE4FF8B703B8C95F22
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000A4A9...F7EDAt 2023-11-30 22:08:51 UTCAmount 0.41181542 UCO
Previous public key
0001D6193BA0ED4307570704AC7FB9023A4E204F1C784C1C8FED4C2BC59C369641B0
Previous signature
BE2ABA878472828D191FFD714EA3F75DA821B31B295CCAAAFDF10F49D9F4DBE1D973407F92F08D6D1D9333ADA213A097770A457A9E15D60927669C139A5F410C
Origin signature
304402202EFD2BDF9CACDC8244573F87BDEA8FFFA7E2C6DD1D939909852ECB347EB5F48B02200C044CFF83C323306895D1D96EF4ED27B3341BDB5B3A799439592F86BA2EA43D
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00D2963CEFC1D4AB752C8801E04BD71C62846FF91DE2AFBDDACFDCC53D367AF934
Coordinator signature
42F9309B3D28FBA37D358EFC3080E2BD1DBF84900C81ACCBAD03CBFE545D510F6F792257514EA9E6B6E01AD14320484F7BE529F9BAA37C2263C59425854CF504
Validator #1 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #1 signature
A2A2369723C4CD207433B2402F4E04E02606C0284F2BBDB991493A435D3EF560ABD8486A36EABBD395DEEA3886C3F7DF79907BB021A24B44E1B05533A4129B01
Validator #2 public key
00011B58ED42235461734EAF253BD97A80B92899ABCC3BE680D44B6825DD2A88A947
Validator #2 signature
A01BDC0E4FB6C7428F267E82D8A26252CCF7D66C7699E87D049504F684A19A56BDEFA7F6EE96BB70306322B5C04EB4516BACC74BACB78B1844B002E4F30D570E