Type
CONTRACT
Validation date
2023-12-24 07:07:59 UTC
Fee
0 UCO

Code (877 B)

@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)

Movements (0)

Ownerships (1)

  • Secret shared with 1 key

    Encoded secret

    B4368B1929291FA69D7316292A42F1EEA4CF2E6D720F100629F59D1F25B6A6B448AC45DFCC603BB6789F2FFF10D44C708BCC5AD6AC6A36FBEED43770

    Authorized keys

    • 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F

Contract recipients (0)

Inputs (0)

Contract inputs (0)

Unspent outputs (1)

Proofs and signatures

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