@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: 0x000075B4824AC019AC2D0E94549FE870C80E9E7B5AA4B1973EA98A8CBBEB07FCB3BA, amount: 35
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: 0x000075B4824AC019AC2D0E94549FE870C80E9E7B5AA4B1973EA98A8CBBEB07FCB3BA, amount: 35
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: 34.895
Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 0.105
Contract.set_code next_code
end
export fun get_htlc_data() do
[
amount: 34.895,
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
FB811996F7529912ABE2321359297095758EEA46EDD1997716E4F82E660F2B02665D33DA23281CD3EECFB8C3F06CB6276D21CF71803A388AC63C0178
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 000039E6...0D24At 2023-12-10 12:09:39 UTCAmount 0.42781158 UCO
Previous public key
0001E89CA4347D5AD0D9F88B0B9EB1330FFE25727045024DBE70F1E9A936D8BCDEEF
Previous signature
1E24B2A75DCE3EC45CD0039CCFBD0FC6FCBC9A8A2EEBBFDA309F88DD5423648DBDB6BAEA331C2863A5908ECADEB08C07BECF9FD58355E5E1D99F364D7BC8F807
Origin signature
3045022100B541C7ECFC387179795288B3A6C186906883F8941E15AA9F944DACB35509D26C0220641D1E33DE124EE0278849924B71163F9C6E7FBD0D6714FFC070607E2E997A13
Proof of work
010104AB41291F847A601055AEDD1AF24FF76FA970D6441E2DCA3818A8319B004C96B27B8FEB1DA31A044BA0A4800B4353359735719EBB3A05F98393A9CC599C3FAFD6
Proof of integrity
00CB5C3553532F838A13DBC9087472F6C9BAF38ACB38BB18FFD90E031A6FD12ADC
Coordinator signature
9646471151F78062605E22D937556027388A5519BF8A1C690F9558DB4579DB0DB6D896CEE5E0DB96C8DFA80D3210450776D56FED4BC677C61A684A873F91B00A
Validator #1 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #1 signature
A99168209142871A9248EC1727F1C86DBF61490BAF8657E8469B2B506CAC98536587C298DB0B4AA2C83C0E2288FEAB420FD7F0FBB542C08E0381998489677505
Validator #2 public key
000151C124A6211CD402FD1CFE560C5DB51ED0CBEF44B09B21A41206028E7E5942BF
Validator #2 signature
EB093038742395B5F89E0720293A9565418490DFFEFCE46DDC857E13881FABD9CBFCC4B65F33517244AE7BD013DE1E30CEBAA4191FF4CE3E774EACD86A5E0B0D