@version 1
# Automate the refunding after the given timestamp
actions triggered_by: datetime, at: 1700591040 do
Contract.set_type "transfer"
# Send back the token to the user address
Contract.add_uco_transfer to: 0x0000647409F94DE9798EA91E049B9AABA07B8CF3570A22056513B3437091C04B6807, amount: 1
Contract.set_code ""
end
condition triggered_by: transaction, on: refund(), as: [
timestamp: timestamp >= 1700591040
]
actions triggered_by: transaction, on: refund() do
Contract.set_type "transfer"
# Send back the token to the user address
Contract.add_uco_transfer to: 0x0000647409F94DE9798EA91E049B9AABA07B8CF3570A22056513B3437091C04B6807, 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 < 1700591040,
content: Crypto.hash(String.to_hex(secret)) == 0x48CBA3BBA465A785D7F44CE0805E09748AEA9EE151F7C55CEDBF8E22FC5E8CD3
]
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: 1700591040,
secret_hash: 0x48CBA3BBA465A785D7F44CE0805E09748AEA9EE151F7C55CEDBF8E22FC5E8CD3,
secret_hash_signature: [
r: 0xC0A342CA399D44C8F9A8C4D296662B2C2C8B5EE409DD4518EF741EAD73CDA135,
s: 0x042D96682254F9063FDD94D0AE5CE9333A8B0B3E1A2152845E10C4B64D42B445,
v: 28
]
]
end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
E75461804EF0C64F0CEFDA7E5D37D31F385B22913B6A89F67A2DAC18E1831F6CDE7DE6A0D6960235E65877391187F0220032E52910403C626A59386F
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 0000EA30...EBAFAt 2023-11-21 16:24:40 UTCAmount 1.38005512 UCO
Previous public key
00010556239411CC9CFCC8F1A685D67E8B130A4854E7EEED5D51FC45B24DDFBA21DA
Previous signature
BF4CEE466BC7A19A093A15C704B4DDFB4390E578EA1D91F70737E5F17CCCDF93B5D7837E7A3AD9A5FC5FE4CE08E917E61054954F6452D5418E7608E49E9F520A
Origin signature
30440220029CC3378D0D57E6773F28D56CDE8241FAE4AF304A0B2D1E6C4F64DA917273D8022013B47C4F67E7AC585DF9F173F5B6E9E64D106986E314AD8173A9B39D1FE6FAB6
Proof of work
010204D6052E0C6CA9244CDE5F3D664296BDFBA0090B330404C3C16B098758F27965DFEC0D3F25D1365F389C2B6C516195552F8779DEE0796C8C33F1A9C0404F4E3381
Proof of integrity
00D3DDA93A4CCA761D0D5E6ADDB37C941AFC3AB669DC5A2BA4AA2ED81ADE9A4844
Coordinator signature
E0940DF4E6C12696D70CAA251300D4B59B23C6634B3697C5B17B7A9CCC1336DAA927B49FB314113B2DF8D0E96A95F4C19175FB6E61C0B3F5F06CD198AD08D204
Validator #1 public key
00011B58ED42235461734EAF253BD97A80B92899ABCC3BE680D44B6825DD2A88A947
Validator #1 signature
CBFE9A2340EA5F41F6846EAA6C6D45387D95357366A7E973D53A8B93552CCF16BE23301B994A95293D9B0AC31F0E9A17721C1268D6E4780BA7D30B8E45384809
Validator #2 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #2 signature
9785E894F3F894045F6111FCD72F8928D6ADDFDA99186C27740683BC03BE12C0EABF2E9AC9CDD91FC48E46B8C524EF4D97917003278306D8DFABE809A1DA8C03