@version 1
# Automate the refunding after the given timestamp
actions triggered_by: datetime, at: 1703408820 do
Contract.set_type "transfer"
# Send back the token to the user address
Contract.add_uco_transfer to: 0x0000F25C3DF408399FD5CC26D5A53C4081F6D6600B04B5EF4E41836D384F8B84C772, amount: 12.0869394
Contract.set_code ""
end
condition triggered_by: transaction, on: refund(), as: [
timestamp: timestamp >= 1703408820
]
actions triggered_by: transaction, on: refund() do
Contract.set_type "transfer"
# Send back the token to the user address
Contract.add_uco_transfer to: 0x0000F25C3DF408399FD5CC26D5A53C4081F6D6600B04B5EF4E41836D384F8B84C772, amount: 12.0869394
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 < 1703408820,
content: Crypto.hash(String.to_hex(secret)) == 0xBE7EB2AB4CF094EEAFEECAF209F2D0EFEEA27FB5EFA142AF7BA58FFFA9FE3E05
]
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: 12.05067859
Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 0.03626081
Contract.set_code next_code
end
export fun get_htlc_data() do
[
amount: 12.05067859,
end_time: 1703408820,
secret_hash: 0xBE7EB2AB4CF094EEAFEECAF209F2D0EFEEA27FB5EFA142AF7BA58FFFA9FE3E05,
secret_hash_signature: [
r: 0x902357A705BFD3BC6646A106919ED9C8CF14F08C6A46C2B103CEFBCF234059C7,
s: 0x05F3796007664A556941605B2E2CA7C25B57092D20A2DF000E08DD709E07ED8C,
v: 27
]
]
end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
B4368B1929291FA69D7316292A42F1EEA4CF2E6D720F100629F59D1F25B6A6B448AC45DFCC603BB6789F2FFF10D44C708BCC5AD6AC6A36FBEED43770
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 00008902...188FAt 2023-12-24 07:07:59 UTCAmount 12.52100322 UCO
Previous public key
0001A91E2E5407C9A4F4725686006DFDDB3028BEDFB107D6575C9A1BEDEDACF8B874
Previous signature
2269C03D122A2CA2BD512BB2DD5ECDEF701A458DC062724B3B30D4E9BE5E39913FC3F343183E66A5AFE3DCC511DF8730C10BA67BCCA91F75F37C741F9772780E
Origin signature
3046022100BD561AC1B3355C95D68616C011B450F85D2E7D5E75BD114D894194DEF2CD8747022100F864502201E0B108E2658AD698E160B8746371F4BDA1006676340F13AE248A5D
Proof of work
010204D6052E0C6CA9244CDE5F3D664296BDFBA0090B330404C3C16B098758F27965DFEC0D3F25D1365F389C2B6C516195552F8779DEE0796C8C33F1A9C0404F4E3381
Proof of integrity
0017C3DFC16814E2EB171A393F24305934500BC0A06F06ED8D03E5DD7B10F41E73
Coordinator signature
90623D01CCEEAB0E49CBAB84532F33191B46F7972E6CB0AF926E97E10FC0F8FD1C34C1CA236703980A94556A7DAAD0CFCB992742DF5B941FD3B87A1409E83702
Validator #1 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #1 signature
2211838CB515D81313527C48C47E6FD429A402DB1E244732C92DF758EF48589366EEDDFAE5344515900E876A29C976EFA6CB0F3817EE061A6D9299393C1F9A03
Validator #2 public key
000151C124A6211CD402FD1CFE560C5DB51ED0CBEF44B09B21A41206028E7E5942BF
Validator #2 signature
EE48868850AF155B9A14C70175772B06A10F23AE682716316426539815F93BDA13003F71302F200B3FEFC7512B8DEF15328DD03A317F7B487166A0F19141E805