@version 1
# Automate the refunding after the given timestamp
actions triggered_by: datetime, at: 1701289980 do
Contract.set_type "transfer"
# Send back UCO to bridge pool
Contract.add_uco_transfer to: 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801, amount: 19900
Contract.set_code ""
end
condition triggered_by: transaction, on: refund(), as: [
timestamp: timestamp >= 1701289980
]
actions triggered_by: transaction, on: refund() do
Contract.set_type "transfer"
# Send back UCO to bridge pool
Contract.add_uco_transfer to: 0x000018D60115ECE0C7558A46B4693749BF6BEAB524FDDCCF9B10B910619E4EE08801, amount: 19900
Contract.set_code ""
end
condition triggered_by: transaction, on: reveal_secret(secret), as: [
content: Crypto.hash(String.to_hex(secret)) == 0x3302BE20008531551A54D0DCA5A9F85C5BD00CA203AE91E978C0DEE2D694B282,
address: (
valid? = false
abi_data = Evm.abi_encode("status()")
tx = [to: "0x376790cdc3485f0ac75140caeb302efe5aeca244", data: "0x#{abi_data}"]
request = [jsonrpc: "2.0", id: "1", method: "eth_call", params: [tx, "latest"]]
headers = ["Content-Type": "application/json"]
body = Json.to_string(request)
res = Http.request("https://polygon-mumbai.infura.io/v3/3a7a2dbdbec046a4961550ddf8c7d78a", "POST", headers, body)
if res.status == 200 && Json.is_valid?(res.body) do
response = Json.parse(res.body)
result = Map.get(response, "result")
if result != nil do
decoded_abi = Evm.abi_decode("(uint)", result)
# Withdrawn status is 1
valid? = List.at(decoded_abi, 0) == 1
end
end
valid?
)
]
actions triggered_by: transaction, on: reveal_secret(secret) do
Contract.set_type "transfer"
Contract.add_uco_transfer to: 0x000024EFC168359BBE0ABF897270CBFABBFF5784622EA02A463BA2EAF7C5219EAFD7, amount: 19840.3
Contract.add_uco_transfer to: 0x0000749d250560bf06c079832e0e9a24509b1e440a45c33bd9448b41b6a056fc6201, amount: 59.7
Contract.set_code ""
end
Content (0 B)
State (0 B)
-
Secret shared with 1 key
Encoded secret
AAB3D6175C3E2DEDF54BF2C08253FA6451CEAF78FBC4E0940F695CDA0279E90DAD63E2DF712D39692D8AE3C70754BC5849E923510D4F4326147B1F32
Authorized keys
- 00017877BCF4122095926A49489009649603AB129822A19EF9D573B8FD714911ED7F
Contract recipients (0)
Inputs (0)
Contract inputs (0)
Unspent outputs (1)
-
From 00003F59...2603At 2023-11-29 18:34:15 UTCAmount 19,900.25974542 UCO
Previous public key
00018E89A0E7508B2A1814AAF3DC729D05C1FCB5BE5BD6541A968A19C449D64B2617
Previous signature
4FF602B0F5D05CB5DC8BDBA1D03D69D6DC1F235359613CEA79CFB6D08A6EE9613F71E399A588FB6FD2454E856038004C729956D109B121BB40F0851B589B6A00
Origin signature
3046022100D58A9B819B9B5DDA00AF91E093A49B6963715636218BCAFB81B629E76C73E3FD022100AE92F582805B8B0F7BF1C2AAEA9D9C406E048763908D878A5A7583989CDD8C16
Proof of work
010204B3B2A53580086B9F36919CF40ABC55904729F78BF43673E216FAC1EB2451DD1E521879C6588F0CB09B150A103A39A73E2816B5ADF51F0721348BA3A66C33023B
Proof of integrity
00C45F35E6B923C8DA403D4EEF549A57FD9972A420453B1EAEFBB4691BE285418B
Coordinator signature
AB655C73140BF1A7A8820E6562680445A07253B49BDBC2295C7FB8502036F735DA32270FA49BFF7E35BACE8A8BBB11CA5C187FC3C1F367EA3452A6AF773E3B0C
Validator #1 public key
0001B0A94804BF8ECC9897075C6207FF63EF4D339F57A0349888E6B77CD47DB53EF3
Validator #1 signature
E1075E384E57A4BDCEA10C6BAD2F72281102563E685BB796948DA20D573ACFDD67E949294BC9A53FBA249DAFBF233AB995B3479101DDE3E45BF842227BB7A400
Validator #2 public key
00011B58ED42235461734EAF253BD97A80B92899ABCC3BE680D44B6825DD2A88A947
Validator #2 signature
E32F15292538B74743EF06551DE74116EEB3456A2F6335AE90FD3EB30DCDA3C38D04A1C724DA520486C93265DBE872B9663A2A8E9A91A7A135C190300349FF06