Skip to content

marlinprotocol/avail-prover-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Avail Prover Demo

Environment variables

Add the following details to your .env file.

PORT=5000

Instructions

To start the prover, use cargo run --release

Api calls for the prover

1. Test prover

curl --location --request GET 'http://localhost:3030/api/test'

Expected output:

{
    "message": "The Avail prover is running!!",
    "data": null
}

2. Benchmark prover

curl --location --request GET 'http://localhost:3030/api/benchmark'

Expected output:

{
    "message": "Proof generated, the proof generation time returned is in milliseconds",
    "data": "1861"
}

3. Generate proof for private market

curl --location --request POST 'http://localhost:3030/api/generateProof' \
--header 'Content-Type: application/json' \
--data-raw '{"ask": {
    "market_id": "1",
    "reward": "10",
    "expiry": "100",
    "time_taken_for_proof_generation": "1000000",
    "deadline": "100",
    "refund_address": "0x0469866e13cd7DF08f5482FBb127a72fF197365D",
    "prover_data": "0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000043175313600000000000000000000000000000000000000000000000000000000"
},
"private_input": [123, 10, 32, 32, 32, 32, 34, 97, 117, 116, 104, 34, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 113, 117, 101, 115, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 105, 103, 110, 101, 114, 34, 58, 32, 34, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 110, 101, 116, 119, 111, 114, 107, 34, 58, 32, 34, 49, 117, 49, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 114, 111, 103, 114, 97, 109, 34, 58, 32, 34, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 58, 32, 34, 116, 114, 97, 110, 115, 102, 101, 114, 95, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 95, 105, 100, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 52, 56, 55, 56, 56, 57, 49, 55, 52, 51, 53, 57, 48, 50, 49, 52, 53, 52, 54, 54, 52, 48, 49, 51, 50, 52, 53, 49, 52, 49, 56, 51, 49, 54, 57, 50, 49, 56, 51, 55, 51, 48, 51, 49, 50, 54, 52, 50, 57, 50, 50, 57, 54, 54, 52, 49, 48, 50, 57, 56, 50, 54, 52, 56, 54, 56, 52, 53, 51, 48, 51, 55, 48, 53, 51, 54, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 51, 56, 53, 54, 48, 49, 49, 49, 48, 55, 53, 54, 54, 52, 51, 51, 54, 51, 57, 55, 48, 57, 51, 50, 55, 57, 49, 49, 55, 48, 54, 51, 48, 57, 55, 56, 52, 52, 52, 50, 49, 57, 54, 53, 55, 51, 50, 57, 50, 54, 50, 54, 51, 51, 55, 57, 49, 48, 52, 57, 51, 51, 48, 54, 55, 55, 49, 53, 48, 52, 53, 54, 57, 49, 49, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 49, 48, 48, 48, 48, 48, 117, 54, 52, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 58, 32, 34, 115, 105, 103, 110, 49, 110, 120, 54, 52, 53, 51, 50, 107, 113, 108, 120, 48, 100, 110, 118, 110, 51, 104, 100, 116, 110, 106, 51, 104, 117, 51, 57, 97, 52, 110, 110, 55, 103, 100, 57, 113, 122, 50, 101, 114, 116, 97, 119, 54, 53, 55, 52, 120, 54, 117, 112, 54, 110, 118, 53, 102, 55, 100, 122, 109, 120, 117, 102, 103, 54, 103, 97, 109, 52, 120, 114, 110, 109, 52, 97, 110, 121, 115, 108, 55, 117, 108, 112, 99, 108, 119, 118, 109, 115, 56, 121, 117, 53, 102, 100, 118, 103, 117, 53, 97, 103, 113, 53, 54, 52, 103, 121, 122, 119, 117, 99, 51, 113, 48, 119, 112, 110, 57, 102, 113, 120, 54, 122, 120, 100, 114, 53, 122, 116, 115, 97, 54, 57, 51, 107, 104, 116, 122, 50, 52, 117, 122, 112, 48, 118, 116, 103, 97, 122, 121, 120, 52, 112, 97, 53, 116, 48, 100, 104, 99, 116, 103, 120, 48, 117, 54, 109, 104, 52, 116, 120, 52, 114, 107, 100, 56, 56, 121, 108, 109, 109, 112, 122, 55, 54, 107, 113, 48, 119, 54, 104, 118, 114, 53, 55, 121, 53, 103, 117, 97, 53, 53, 110, 113, 55, 118, 116, 101, 107, 113, 110, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 107, 95, 116, 97, 103, 34, 58, 32, 34, 54, 56, 55, 57, 54, 48, 55, 53, 56, 50, 52, 53, 52, 53, 52, 49, 49, 49, 51, 51, 53, 53, 48, 57, 57, 49, 53, 55, 48, 56, 49, 57, 57, 50, 52, 55, 51, 51, 48, 50, 51, 48, 50, 53, 51, 50, 52, 49, 48, 48, 50, 52, 57, 53, 56, 48, 57, 48, 57, 49, 56, 51, 49, 49, 56, 49, 54, 49, 54, 49, 55, 51, 53, 56, 57, 48, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 118, 107, 34, 58, 32, 34, 54, 49, 53, 55, 49, 51, 54, 48, 57, 48, 53, 53, 52, 51, 56, 53, 55, 54, 51, 57, 52, 52, 57, 49, 55, 50, 56, 51, 48, 51, 57, 57, 50, 52, 53, 48, 53, 54, 57, 55, 49, 49, 53, 52, 54, 52, 52, 52, 52, 49, 54, 50, 49, 52, 56, 54, 52, 49, 53, 49, 51, 48, 48, 51, 57, 57, 53, 49, 51, 57, 49, 48, 48, 54, 49, 53, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 99, 109, 34, 58, 32, 34, 52, 51, 53, 49, 52, 52, 55, 55, 56, 56, 57, 48, 51, 54, 50, 50, 53, 53, 48, 50, 50, 54, 52, 57, 54, 50, 56, 54, 54, 48, 52, 50, 48, 52, 52, 53, 50, 53, 52, 56, 50, 50, 54, 53, 52, 51, 56, 53, 52, 57, 56, 52, 55, 49, 57, 53, 56, 48, 50, 56, 55, 50, 56, 57, 49, 55, 56, 54, 48, 53, 50, 50, 54, 50, 57, 54, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 99, 109, 34, 58, 32, 34, 49, 56, 48, 52, 53, 51, 48, 51, 54, 48, 49, 57, 52, 51, 56, 48, 48, 52, 48, 49, 48, 57, 53, 50, 48, 55, 55, 50, 56, 49, 57, 53, 51, 51, 54, 57, 53, 49, 52, 55, 51, 51, 56, 51, 52, 56, 49, 54, 49, 57, 48, 57, 48, 49, 52, 57, 57, 49, 57, 52, 48, 48, 50, 50, 55, 56, 56, 48, 48, 54, 55, 48, 57, 51, 57, 52, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 97, 117, 49, 117, 48, 101, 99, 118, 112, 112, 110, 108, 103, 114, 104, 114, 116, 56, 110, 103, 48, 48, 115, 50, 122, 110, 55, 50, 109, 112, 110, 113, 122, 122, 102, 100, 103, 53, 55, 101, 119, 54, 99, 113, 119, 103, 112, 107, 119, 117, 114, 56, 121, 122, 115, 113, 55, 97, 101, 99, 48, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 114, 111, 103, 114, 97, 109, 34, 58, 32, 34, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 58, 32, 34, 116, 114, 97, 110, 115, 102, 101, 114, 95, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 52, 56, 55, 56, 56, 57, 49, 55, 52, 51, 53, 57, 48, 50, 49, 52, 53, 52, 54, 54, 52, 48, 49, 51, 50, 52, 53, 49, 52, 49, 56, 51, 49, 54, 57, 50, 49, 56, 51, 55, 51, 48, 51, 49, 50, 54, 52, 50, 57, 50, 50, 57, 54, 54, 52, 49, 48, 50, 57, 56, 50, 54, 52, 56, 54, 56, 52, 53, 51, 48, 51, 55, 48, 53, 51, 54, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 51, 56, 53, 54, 48, 49, 49, 49, 48, 55, 53, 54, 54, 52, 51, 51, 54, 51, 57, 55, 48, 57, 51, 50, 55, 57, 49, 49, 55, 48, 54, 51, 48, 57, 55, 56, 52, 52, 52, 50, 49, 57, 54, 53, 55, 51, 50, 57, 50, 54, 50, 54, 51, 51, 55, 57, 49, 48, 52, 57, 51, 51, 48, 54, 55, 55, 49, 53, 48, 52, 53, 54, 57, 49, 49, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 49, 48, 48, 48, 48, 48, 117, 54, 52, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 111, 117, 116, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 102, 117, 116, 117, 114, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 54, 52, 48, 52, 56, 54, 52, 50, 49, 52, 48, 50, 56, 56, 52, 55, 57, 52, 50, 48, 49, 50, 53, 48, 54, 53, 54, 54, 48, 54, 55, 54, 53, 51, 50, 49, 53, 57, 51, 51, 57, 55, 51, 54, 54, 51, 48, 49, 50, 52, 52, 55, 49, 50, 48, 52, 55, 48, 56, 56, 57, 57, 53, 52, 49, 57, 55, 56, 50, 54, 57, 52, 49, 57, 53, 48, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 123, 92, 110, 32, 32, 112, 114, 111, 103, 114, 97, 109, 95, 105, 100, 58, 32, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 44, 92, 110, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 95, 110, 97, 109, 101, 58, 32, 116, 114, 97, 110, 115, 102, 101, 114, 95, 112, 117, 98, 108, 105, 99, 44, 92, 110, 32, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 58, 32, 91, 92, 110, 32, 32, 32, 32, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 44, 92, 110, 32, 32, 32, 32, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 44, 92, 110, 32, 32, 32, 32, 49, 48, 48, 48, 48, 48, 117, 54, 52, 92, 110, 32, 32, 93, 92, 110, 125, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 112, 107, 34, 58, 32, 34, 55, 53, 57, 51, 49, 52, 48, 53, 56, 57, 55, 54, 57, 55, 52, 48, 56, 50, 56, 53, 53, 55, 51, 57, 50, 55, 56, 48, 54, 57, 48, 56, 56, 54, 51, 48, 57, 51, 52, 50, 51, 55, 48, 50, 55, 57, 55, 54, 51, 52, 52, 53, 51, 51, 57, 48, 57, 52, 49, 48, 52, 51, 49, 48, 52, 54, 54, 48, 53, 48, 57, 49, 50, 52, 49, 57, 103, 114, 111, 117, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 99, 109, 34, 58, 32, 34, 52, 51, 53, 49, 52, 52, 55, 55, 56, 56, 57, 48, 51, 54, 50, 50, 53, 53, 48, 50, 50, 54, 52, 57, 54, 50, 56, 54, 54, 48, 52, 50, 48, 52, 52, 53, 50, 53, 52, 56, 50, 50, 54, 53, 52, 51, 56, 53, 52, 57, 56, 52, 55, 49, 57, 53, 56, 48, 50, 56, 55, 50, 56, 57, 49, 55, 56, 54, 48, 53, 50, 50, 54, 50, 57, 54, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 99, 109, 34, 58, 32, 34, 49, 56, 48, 52, 53, 51, 48, 51, 54, 48, 49, 57, 52, 51, 56, 48, 48, 52, 48, 49, 48, 57, 53, 50, 48, 55, 55, 50, 56, 49, 57, 53, 51, 51, 54, 57, 53, 49, 52, 55, 51, 51, 56, 51, 52, 56, 49, 54, 49, 57, 48, 57, 48, 49, 52, 57, 57, 49, 57, 52, 48, 48, 50, 50, 55, 56, 56, 48, 48, 54, 55, 48, 57, 51, 57, 52, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 10, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 34, 102, 101, 101, 95, 97, 117, 116, 104, 34, 58, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 114, 101, 113, 117, 101, 115, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 105, 103, 110, 101, 114, 34, 58, 32, 34, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 110, 101, 116, 119, 111, 114, 107, 34, 58, 32, 34, 49, 117, 49, 54, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 114, 111, 103, 114, 97, 109, 34, 58, 32, 34, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 58, 32, 34, 102, 101, 101, 95, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 95, 105, 100, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 50, 51, 54, 51, 54, 57, 56, 54, 53, 48, 48, 53, 53, 54, 51, 48, 51, 53, 57, 57, 54, 54, 56, 49, 50, 48, 53, 50, 53, 54, 55, 48, 53, 54, 50, 51, 48, 55, 50, 56, 52, 55, 53, 56, 48, 49, 56, 52, 54, 57, 52, 51, 53, 49, 53, 52, 48, 48, 55, 56, 53, 54, 50, 52, 52, 53, 55, 50, 57, 53, 56, 55, 54, 55, 50, 50, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 51, 57, 53, 56, 56, 56, 50, 55, 50, 57, 50, 57, 50, 52, 54, 55, 55, 55, 52, 51, 48, 57, 55, 49, 50, 50, 57, 54, 49, 56, 54, 48, 52, 48, 53, 53, 49, 50, 52, 51, 48, 54, 55, 56, 50, 51, 54, 50, 55, 56, 57, 51, 48, 57, 53, 56, 52, 53, 54, 52, 50, 57, 51, 49, 51, 53, 53, 48, 57, 52, 57, 52, 53, 48, 57, 49, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 52, 56, 57, 52, 57, 51, 51, 53, 50, 52, 53, 53, 53, 51, 49, 48, 49, 53, 51, 51, 50, 56, 52, 56, 52, 49, 51, 50, 56, 54, 53, 54, 55, 57, 54, 51, 51, 51, 51, 53, 49, 54, 49, 56, 52, 50, 49, 55, 51, 55, 54, 57, 57, 55, 49, 49, 53, 48, 49, 50, 57, 57, 57, 53, 53, 54, 51, 52, 55, 48, 48, 57, 50, 56, 50, 50, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 50, 57, 55, 48, 48, 48, 117, 54, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 50, 57, 55, 48, 48, 48, 117, 54, 52, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 49, 50, 55, 50, 56, 55, 50, 57, 56, 49, 50, 55, 49, 48, 49, 51, 50, 56, 57, 53, 56, 56, 50, 48, 53, 52, 54, 49, 48, 53, 55, 55, 57, 55, 54, 50, 56, 48, 54, 56, 49, 48, 50, 57, 48, 48, 52, 49, 55, 52, 54, 57, 54, 52, 51, 51, 48, 57, 53, 48, 49, 53, 55, 57, 50, 54, 55, 49, 50, 54, 56, 54, 56, 53, 57, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 105, 103, 110, 97, 116, 117, 114, 101, 34, 58, 32, 34, 115, 105, 103, 110, 49, 52, 97, 107, 51, 56, 50, 48, 103, 48, 102, 119, 119, 54, 103, 110, 52, 110, 103, 106, 114, 116, 116, 99, 55, 112, 113, 109, 117, 53, 99, 115, 55, 54, 55, 102, 48, 106, 54, 120, 112, 55, 104, 114, 48, 103, 54, 97, 117, 107, 118, 113, 119, 121, 101, 104, 112, 54, 52, 102, 51, 114, 118, 48, 118, 53, 113, 106, 109, 116, 53, 103, 102, 53, 99, 122, 103, 97, 55, 101, 113, 112, 56, 53, 118, 101, 114, 54, 115, 121, 122, 108, 57, 122, 102, 110, 56, 55, 121, 115, 97, 50, 113, 118, 54, 52, 103, 121, 122, 119, 117, 99, 51, 113, 48, 119, 112, 110, 57, 102, 113, 120, 54, 122, 120, 100, 114, 53, 122, 116, 115, 97, 54, 57, 51, 107, 104, 116, 122, 50, 52, 117, 122, 112, 48, 118, 116, 103, 97, 122, 121, 120, 52, 112, 97, 53, 116, 48, 100, 104, 99, 116, 103, 120, 48, 117, 54, 109, 104, 52, 116, 120, 52, 114, 107, 100, 56, 56, 121, 108, 109, 109, 112, 122, 55, 54, 107, 113, 48, 119, 54, 104, 118, 114, 53, 55, 121, 53, 103, 117, 97, 53, 53, 110, 113, 55, 122, 50, 101, 53, 107, 55, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 107, 95, 116, 97, 103, 34, 58, 32, 34, 54, 56, 55, 57, 54, 48, 55, 53, 56, 50, 52, 53, 52, 53, 52, 49, 49, 49, 51, 51, 53, 53, 48, 57, 57, 49, 53, 55, 48, 56, 49, 57, 57, 50, 52, 55, 51, 51, 48, 50, 51, 48, 50, 53, 51, 50, 52, 49, 48, 48, 50, 52, 57, 53, 56, 48, 57, 48, 57, 49, 56, 51, 49, 49, 56, 49, 54, 49, 54, 49, 55, 51, 53, 56, 57, 48, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 118, 107, 34, 58, 32, 34, 55, 57, 48, 49, 49, 53, 49, 48, 51, 51, 48, 57, 49, 52, 50, 51, 50, 54, 50, 54, 50, 51, 53, 57, 56, 51, 51, 57, 50, 52, 50, 57, 54, 51, 54, 56, 48, 52, 49, 57, 50, 56, 56, 48, 51, 49, 54, 54, 50, 50, 53, 57, 55, 49, 54, 50, 52, 56, 55, 50, 51, 54, 51, 55, 55, 48, 50, 53, 56, 50, 49, 50, 53, 50, 48, 56, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 99, 109, 34, 58, 32, 34, 55, 48, 53, 49, 54, 48, 49, 57, 50, 48, 51, 56, 56, 56, 55, 53, 54, 48, 53, 57, 52, 48, 49, 52, 57, 50, 51, 54, 50, 49, 57, 49, 55, 51, 50, 49, 49, 54, 57, 56, 49, 50, 56, 55, 57, 53, 51, 53, 48, 50, 49, 50, 56, 48, 57, 56, 50, 56, 49, 50, 56, 52, 50, 51, 53, 49, 56, 56, 48, 52, 54, 51, 49, 56, 56, 52, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 99, 109, 34, 58, 32, 34, 49, 54, 50, 55, 56, 57, 54, 54, 49, 52, 57, 55, 50, 53, 57, 57, 57, 52, 56, 50, 48, 56, 52, 57, 55, 53, 55, 48, 56, 48, 57, 49, 52, 48, 54, 51, 54, 57, 50, 54, 56, 50, 52, 55, 52, 53, 53, 53, 48, 50, 48, 50, 55, 56, 55, 57, 57, 50, 50, 51, 55, 57, 49, 51, 50, 48, 53, 56, 51, 48, 54, 51, 49, 50, 53, 48, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 114, 97, 110, 115, 105, 116, 105, 111, 110, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 97, 117, 49, 100, 104, 54, 122, 54, 120, 118, 115, 104, 114, 108, 57, 112, 116, 119, 107, 55, 101, 101, 99, 52, 101, 51, 112, 56, 117, 121, 101, 102, 57, 104, 106, 57, 119, 54, 112, 99, 107, 116, 55, 109, 107, 118, 119, 101, 122, 115, 99, 114, 118, 57, 115, 117, 121, 110, 100, 109, 117, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 112, 114, 111, 103, 114, 97, 109, 34, 58, 32, 34, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 102, 117, 110, 99, 116, 105, 111, 110, 34, 58, 32, 34, 102, 101, 101, 95, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 110, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 50, 51, 54, 51, 54, 57, 56, 54, 53, 48, 48, 53, 53, 54, 51, 48, 51, 53, 57, 57, 54, 54, 56, 49, 50, 48, 53, 50, 53, 54, 55, 48, 53, 54, 50, 51, 48, 55, 50, 56, 52, 55, 53, 56, 48, 49, 56, 52, 54, 57, 52, 51, 53, 49, 53, 52, 48, 48, 55, 56, 53, 54, 50, 52, 52, 53, 55, 50, 57, 53, 56, 55, 54, 55, 50, 50, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 50, 57, 55, 48, 48, 48, 117, 54, 52, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 51, 57, 53, 56, 56, 56, 50, 55, 50, 57, 50, 57, 50, 52, 54, 55, 55, 55, 52, 51, 48, 57, 55, 49, 50, 50, 57, 54, 49, 56, 54, 48, 52, 48, 53, 53, 49, 50, 52, 51, 48, 54, 55, 56, 50, 51, 54, 50, 55, 56, 57, 51, 48, 57, 53, 56, 52, 53, 54, 52, 50, 57, 51, 49, 51, 53, 53, 48, 57, 52, 57, 52, 53, 48, 57, 49, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 50, 57, 55, 48, 48, 48, 117, 54, 52, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 112, 117, 98, 108, 105, 99, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 52, 56, 57, 52, 57, 51, 51, 53, 50, 52, 53, 53, 53, 51, 49, 48, 49, 53, 51, 51, 50, 56, 52, 56, 52, 49, 51, 50, 56, 54, 53, 54, 55, 57, 54, 51, 51, 51, 51, 53, 49, 54, 49, 56, 52, 50, 49, 55, 51, 55, 54, 57, 57, 55, 49, 49, 53, 48, 49, 50, 57, 57, 57, 53, 53, 54, 51, 52, 55, 48, 48, 57, 50, 56, 50, 50, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 49, 50, 55, 50, 56, 55, 50, 57, 56, 49, 50, 55, 49, 48, 49, 51, 50, 56, 57, 53, 56, 56, 50, 48, 53, 52, 54, 49, 48, 53, 55, 55, 57, 55, 54, 50, 56, 48, 54, 56, 49, 48, 50, 57, 48, 48, 52, 49, 55, 52, 54, 57, 54, 52, 51, 51, 48, 57, 53, 48, 49, 53, 55, 57, 50, 54, 55, 49, 50, 54, 56, 54, 56, 53, 57, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 111, 117, 116, 112, 117, 116, 115, 34, 58, 32, 91, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 123, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 121, 112, 101, 34, 58, 32, 34, 102, 117, 116, 117, 114, 101, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 105, 100, 34, 58, 32, 34, 52, 54, 57, 49, 50, 54, 55, 56, 55, 48, 56, 48, 57, 54, 56, 48, 49, 57, 54, 48, 56, 50, 48, 56, 49, 54, 51, 57, 54, 51, 50, 53, 53, 50, 55, 48, 57, 56, 48, 50, 57, 51, 55, 54, 50, 49, 56, 51, 54, 52, 56, 52, 48, 49, 50, 54, 51, 52, 55, 56, 53, 51, 57, 50, 56, 55, 55, 52, 49, 51, 48, 51, 54, 54, 56, 49, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 118, 97, 108, 117, 101, 34, 58, 32, 34, 123, 92, 110, 32, 32, 112, 114, 111, 103, 114, 97, 109, 95, 105, 100, 58, 32, 99, 114, 101, 100, 105, 116, 115, 46, 97, 108, 101, 111, 44, 92, 110, 32, 32, 102, 117, 110, 99, 116, 105, 111, 110, 95, 110, 97, 109, 101, 58, 32, 102, 101, 101, 95, 112, 117, 98, 108, 105, 99, 44, 92, 110, 32, 32, 97, 114, 103, 117, 109, 101, 110, 116, 115, 58, 32, 91, 92, 110, 32, 32, 32, 32, 97, 108, 101, 111, 49, 110, 117, 104, 51, 48, 116, 107, 102, 102, 113, 99, 118, 109, 101, 48, 54, 51, 51, 117, 112, 104, 122, 118, 50, 104, 120, 118, 48, 54, 115, 114, 51, 54, 113, 115, 54, 113, 103, 102, 57, 122, 109, 52, 97, 115, 107, 116, 102, 121, 121, 57, 113, 103, 109, 120, 119, 119, 109, 44, 92, 110, 32, 32, 32, 32, 53, 57, 52, 48, 48, 48, 117, 54, 52, 92, 110, 32, 32, 93, 92, 110, 125, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 93, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 112, 107, 34, 58, 32, 34, 56, 51, 52, 54, 55, 54, 54, 50, 52, 55, 51, 51, 53, 54, 56, 49, 49, 48, 51, 54, 57, 50, 55, 49, 54, 52, 49, 48, 51, 54, 56, 52, 50, 48, 53, 51, 48, 53, 54, 50, 51, 52, 49, 54, 57, 55, 55, 57, 48, 52, 49, 57, 52, 56, 54, 52, 52, 56, 51, 56, 57, 52, 51, 55, 49, 48, 57, 50, 48, 49, 49, 49, 52, 49, 50, 103, 114, 111, 117, 112, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 116, 99, 109, 34, 58, 32, 34, 55, 48, 53, 49, 54, 48, 49, 57, 50, 48, 51, 56, 56, 56, 55, 53, 54, 48, 53, 57, 52, 48, 49, 52, 57, 50, 51, 54, 50, 49, 57, 49, 55, 51, 50, 49, 49, 54, 57, 56, 49, 50, 56, 55, 57, 53, 51, 53, 48, 50, 49, 50, 56, 48, 57, 56, 50, 56, 49, 50, 56, 52, 50, 51, 53, 49, 56, 56, 48, 52, 54, 51, 49, 56, 56, 52, 102, 105, 101, 108, 100, 34, 44, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 34, 115, 99, 109, 34, 58, 32, 34, 49, 54, 50, 55, 56, 57, 54, 54, 49, 52, 57, 55, 50, 53, 57, 57, 57, 52, 56, 50, 48, 56, 52, 57, 55, 53, 55, 48, 56, 48, 57, 49, 52, 48, 54, 51, 54, 57, 50, 54, 56, 50, 52, 55, 52, 53, 53, 53, 48, 50, 48, 50, 55, 56, 55, 57, 57, 50, 50, 51, 55, 57, 49, 51, 50, 48, 53, 56, 51, 48, 54, 51, 49, 50, 53, 48, 102, 105, 101, 108, 100, 34, 10, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 125, 10, 32, 32, 32, 32, 32, 32, 32, 32, 93, 10, 32, 32, 32, 32, 125, 10, 125],
"ask_id": 10
}'

Expected output

{
    "message":"Proof generated",
    "data":"0x0000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000016e00000000000000000000000000000000000000000000000000000000000000080000000000000000000000000000000000000000000000000000000000000002000000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000004327536340000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000015c07b22657865637574696f6e223a7b227472616e736974696f6e73223a5b7b226964223a22617531753065637670706e6c6772687274386e67303073327a6e37326d706e717a7a666467353765773663717767706b77757238797a73713761656330222c2270726f6772616d223a22637265646974732e616c656f222c2266756e6374696f6e223a227472616e736665725f7075626c6963222c22696e70757473223a5b7b2274797065223a227075626c6963222c226964223a22343837383839313734333539303231343534363634303133323435313431383331363932313833373330333132363432393232393636343130323938323634383638343533303337303533366669656c64222c2276616c7565223a22616c656f316e75683330746b66667163766d65303633337570687a7632687876303673723336717336716766397a6d3461736b746679793971676d7877776d227d2c7b2274797065223a227075626c6963222c226964223a223338353630313131303735363634333336333937303933323739313137303633303937383434343231393635373332393236323633333739313034393333303637373135303435363931316669656c64222c2276616c7565223a22313030303030753634227d5d2c226f757470757473223a5b7b2274797065223a22667574757265222c226964223a22363430343836343231343032383834373934323031323530363536363036373635333231353933333937333636333031323434373132303437303838393935343139373832363934313935306669656c64222c2276616c7565223a227b5c6e202070726f6772616d5f69643a20637265646974732e616c656f2c5c6e202066756e6374696f6e5f6e616d653a207472616e736665725f7075626c69632c5c6e2020617267756d656e74733a205b5c6e20202020616c656f316e75683330746b66667163766d65303633337570687a7632687876303673723336717336716766397a6d3461736b746679793971676d7877776d2c5c6e20202020616c656f316e75683330746b66667163766d65303633337570687a7632687876303673723336717336716766397a6d3461736b746679793971676d7877776d2c5c6e202020203130303030307536345c6e20205d5c6e7d227d5d2c2274706b223a223735393331343035383937363937343038323835353733393237383036393038383633303933343233373032373937363334343533333930393431303433313034363630353039313234313967726f7570222c2274636d223a22343335313434373738383930333632323535303232363439363238363630343230343435323534383232363534333835343938343731393538303238373238393137383630353232363239366669656c64222c2273636d223a22313830343533303336303139343338303034303130393532303737323831393533333639353134373333383334383136313930393031343939313934303032323738383030363730393339346669656c64227d5d2c22676c6f62616c5f73746174655f726f6f74223a22737231656b656573303663653433377a7972707933787279616c377770667377327a6c7376777272307272667633797763386568637273366d6a723274222c2270726f6f66223a2270726f6f66317179717371717171717171717171717071717171717171717171717a73667a616a3334653935767a617374396e786a7a77687a35716d3567337566676c6a637366356a797a3532746d636e353468336d70306a7a6c34386d73667a6835656c793332767567777570713832763873676c786a7968786178326e34616d73373866667a6c387933776c343374716477636c65383633736d377265676b686a7475743766716c32383563393478776e7a686a706d707a30717670756b65726d3735386c6778386e756c776578706d7a6c73686a393975346b357530777a78783673706a7a3839776b7370346d35746330357a7a68737564646c61767a7a7578737433397a7161326a33777a33747538646e6a35786776756b6a7a77706e36726b30347774756c7a61746d6471306664376c726b7073743767686e7666726e7635746872326d6778377261666e787572737671357968387a7130727861356e6872617536643733636d356a7138753465727732367164636d666d663974393035716a79373071743635307638386867393068617264386d667738746d6477637a75347a6a6b79326768617132786768336c783430306b34763230366564753773777635647672336470343661633530746b6e6e756c38367079653371363570356d356a3076786b6e71323071386c63786436703371667a726b71797677617a6a3737716e34636b74706a73656d6530343637786b72796c34776c6b387065727233327579676b3030656a7868713674726337643270383765717061376a6661637773676635346d686e78346777767a6e33773339307564736a77366361347366677738763464777472637461347071376a357a767075657572736b3577706a653071336d7971676d6c3472717233746c656e6366686733777a383239327665763064767a65703579706772746776303776757137617574346833757830726575647633636e72387071356e75656479666371717a7539723739646a6872797067616e71736571377a367561656e3565777879616e3765736566637136617871636b6c3274717168306736736a78716d796e6b686d6e74686e6b68303436737a61376133663061687a637830326d686e71363664323938727370716779353076736c7a64327033686e327361307437737a6b6e6836366d6a736c6c7539747172356b7764373877387638656d70336d77667168636c3834756478713865366a716b3230746837656b356e3532636c6b61686d66363979366b6b636b7938376d7136647a393736726771396a70376435776e3470376c6a667a6a77783068646c656a6335377170787833617a6879616c6e746e6730796c686a7a676572303265393034726773337733336838617133686c646a7a363538747a7a396c7939783335386c63776d6378786d63366d396a376e77727a6a3573386a79786b776d786c3779656d35643373686d613237647866386e6a7332613279717871336a6a77667a756e3335726836647639687533396b686e7837766e6a6b6e71386338656366736b6a68306e736d75336e613870666d367270326b7766757561616a346d6663736d7077373878763272716132783872786364613734386b6334736479737a37713979377964396a333536676d71727674393777377766653637656330707430716e766c77667a66747064706a3534326d37796764717671717171717171717171706e637832613074397634343278337171357a3673357a61787172757773686b37726c68397a72656d36387274366873336b3538396876383570396337703771366e7334763467673679667973717172616476307a6b787737647566743379337134746c783732773465713274673365387a7a6632636a32636530776b306b63306765366d7a336538323377753875347a3773366d64776b6e73717171786d7a6e7a7778757867766b71613373767672756c743364306379336435796b7238666736786c386665676d646e6479777273386a3937637567757935736879687935746e7534686879796e797768327568723368646e6778347165307275386e67336d637837343561793734647865683630367374727a76336d716b6163737171717665636c636d227d2c22666565223a7b227472616e736974696f6e223a7b226964223a226175316468367a3678767368726c397074776b3765656334653370387579656639686a39773670636b74376d6b7677657a73637276397375796e646d75222c2270726f6772616d223a22637265646974732e616c656f222c2266756e6374696f6e223a226665655f7075626c6963222c22696e70757473223a5b7b2274797065223a227075626c6963222c226964223a22323336333639383635303035353633303335393936363831323035323536373035363233303732383437353830313834363934333531353430303738353632343435373239353837363732326669656c64222c2276616c7565223a22323937303030753634227d2c7b2274797065223a227075626c6963222c226964223a22333935383838323732393239323436373737343330393731323239363138363034303535313234333036373832333632373839333039353834353634323933313335353039343934353039316669656c64222c2276616c7565223a22323937303030753634227d2c7b2274797065223a227075626c6963222c226964223a22343839343933333532343535353331303135333332383438343133323836353637393633333333353136313834323137333736393937313135303132393939353536333437303039323832326669656c64222c2276616c7565223a223132373238373239383132373130313332383935383832303534363130353737393736323830363831303239303034313734363936343333303935303135373932363731323638363835396669656c64227d5d2c226f757470757473223a5b7b2274797065223a22667574757265222c226964223a22343639313236373837303830393638303139363038323038313633393633323535323730393830323933373632313833363438343031323633343738353339323837373431333033363638316669656c64222c2276616c7565223a227b5c6e202070726f6772616d5f69643a20637265646974732e616c656f2c5c6e202066756e6374696f6e5f6e616d653a206665655f7075626c69632c5c6e2020617267756d656e74733a205b5c6e20202020616c656f316e75683330746b66667163766d65303633337570687a7632687876303673723336717336716766397a6d3461736b746679793971676d7877776d2c5c6e202020203539343030307536345c6e20205d5c6e7d227d5d2c2274706b223a2238333436373636323437333335363831313033363932373136343130333638343230353330353632333431363937373930343139343836343438333839343337313039323031313134313267726f7570222c2274636d223a22373035313630313932303338383837353630353934303134393233363231393137333231313639383132383739353335303231323830393832383132383432333531383830343633313838346669656c64222c2273636d223a22313632373839363631343937323539393934383230383439373537303830393134303633363932363832343734353535303230323738373939323233373931333230353833303633313235306669656c64227d2c22676c6f62616c5f73746174655f726f6f74223a22737231656b656573303663653433377a7972707933787279616c377770667377327a6c7376777272307272667633797763386568637273366d6a723274222c2270726f6f66223a2270726f6f66317179717371717171717171717171717071717171717171717171717761396a7a387879797139643772667970657a64326a7176666d366c34786133736c636c68616635366c7537796b666465647773726e3973326d6377667661353064343870787868337675757171396b723476686539713637683376616468393933736378753263726e6c713530326a7137386e396b776c7a76746479636b6b35736a327774387a64773664657363336835783832363665686371677370617932347935763234646865733567613579656372707970367973766d6b737266616a303079386c7966787175676b766a677236376e756739793339787567643763676777636b673771357768336864766639666b3263796d7a73756d79687030663668646c617a616a677478767a657230747875677632706a786766713964766877323975326476756d6772343864337a34366d79707a3367363636736d6e3635616d78796b376e656a78337568736c61366d6e73383635363072636b727337367268667278793667656d38636b77786479356e746361726e6879397266396736637a3437793338796865383666646a636c3632786c6a6538323967617668373572663066646c3774396563386e366361376835766137387568737879797a797478726a6438763965746e72736873796d636a306d6376743439757665677733356e38673564796b65673777367061643465777776353530757a6e3371726d7478746e6b7a687232676b636878656c35386837777a6e766a716c687178703271786174773437666a7a376778653676347a67667377307972756635676d6b786767737a776d39637275307336386437377361306577723036306338747a6767366c6a76757364687971663367367a643079387a61387561347773723461686d383365363364387335646479787764746c677367736667647a6d6a386730686d65396e666d7767303665327a63397837706a6676657570386e766833366a743672387276306768673767636e71666630797176397a6e32776a6673616d7765776532706577366466637179793572663265796e6530336e756a756b676b3637763773686d6638666b7865747961397177756e666730633563327a64777034636e6b616c746776386b70786d637533736e30763038756e377276793767756a383766746573346d35786479367971786c7a3964357a3671646b7868616a7378616a7a656665397037363664776b3636746a726e673961303439357973346c396a703361736d7366653436363978703776357237617278737272303736386b75707337386e777971727776776d7730773235656861353371307175687877386b356e75716436377978326d376635617534336b3034356830336b7a71377836393067737a7972686c70307567347264786c6c61686b3774346d35716372716b6a74336e7430656b6166736c6b7463747a386e366b33347865733834686a6a70613073336b6c727630616a7036727338683338366d763336646e71336b747a356168736c7675737761656b6c73307478723270326633336e356b63366c6c33303533327836737165343078746e7437366d3973337675743764756a63386d3771676365617933706b6e667675743034793974613261306164756661726a6c6d386a77746c6e3967393338677764716b747a3675396e3530737133717671717171717171717171706a306b6c797a6a6e377a677835797537636b727432677a73786c6a72707975343538676a3664366863736161686138707a357335383874337a77716c7166716d39736c786e7032717a34717171717a6a67716a707337793335656466676567376e78326d6e336c73367a6a6130793736776368787a686138327a66777a6c7a34667873367134356d346e3468756a337734306636717677336871717139713668366e32733570763238637a7a647435643035347a3267717a386a61757a796d3261676b706d6139656e366b65736e736c7a39776c766c613066616174663966647a7965656b786e6663726865616d36333361687261703635356d38797830777376713064797530327834747938387a3772376e707138726d346a3371717171767932663568227d7d0000000000000000000000000000000000000000000000000000000000000041600b86babc083b6744737673a238fdf54d77fa74e5c1fae0113c441c864d8ce0419c0e680901c64e937f01651d344ef464a671ae9c2973c213df9cf57325a5021b00000000000000000000000000000000000000000000000000000000000000"
}

4. CheckInput

curl --location --request POST 'http://localhost:3030/api/checkInput' \
--header 'Content-Type: application/json' \
--data-raw '{
"public": "",
"secrets": "{\n    \"network\": \"1u16\",\n    \"auth\": {\n        \"requests\": [\n            {\n                \"signer\": \"aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm\",\n                \"network\": \"1u16\",\n                \"program\": \"credits.aleo\",\n                \"function\": \"transfer_public\",\n                \"input_ids\": [\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"4878891743590214546640132451418316921837303126429229664102982648684530370536field\"\n                    },\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"385601110756643363970932791170630978444219657329262633791049330677150456911field\"\n                    }\n                ],\n                \"inputs\": [\n                    \"aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm\",\n                    \"100000u64\"\n                ],\n                \"signature\": \"sign1nx64532kqlx0dnvn3hdtnj3hu39a4nn7gd9qz2ertaw6574x6up6nv5f7dzmxufg6gam4xrnm4anysl7ulpclwvms8yu5fdvgu5agq564gyzwuc3q0wpn9fqx6zxdr5ztsa693khtz24uzp0vtgazyx4pa5t0dhctgx0u6mh4tx4rkd88ylmmpz76kq0w6hvr57y5gua55nq7vtekqn\",\n                \"sk_tag\": \"6879607582454541113355099157081992473302302532410024958090918311816161735890field\",\n                \"tvk\": \"6157136090554385763944917283039924505697115464444162148641513003995139100615field\",\n                \"tcm\": \"4351447788903622550226496286604204452548226543854984719580287289178605226296field\",\n                \"scm\": \"1804530360194380040109520772819533695147338348161909014991940022788006709394field\"\n            }\n        ],\n        \"transitions\": [\n            {\n                \"id\": \"au1u0ecvppnlgrhrt8ng00s2zn72mpnqzzfdg57ew6cqwgpkwur8yzsq7aec0\",\n                \"program\": \"credits.aleo\",\n                \"function\": \"transfer_public\",\n                \"inputs\": [\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"4878891743590214546640132451418316921837303126429229664102982648684530370536field\",\n                        \"value\": \"aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm\"\n                    },\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"385601110756643363970932791170630978444219657329262633791049330677150456911field\",\n                        \"value\": \"100000u64\"\n                    }\n                ],\n                \"outputs\": [\n                    {\n                        \"type\": \"future\",\n                        \"id\": \"6404864214028847942012506566067653215933973663012447120470889954197826941950field\",\n                        \"value\": \"{\\n  program_id: credits.aleo,\\n  function_name: transfer_public,\\n  arguments: [\\n    aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm,\\n    aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm,\\n    100000u64\\n  ]\\n}\"\n                    }\n                ],\n                \"tpk\": \"7593140589769740828557392780690886309342370279763445339094104310466050912419group\",\n                \"tcm\": \"4351447788903622550226496286604204452548226543854984719580287289178605226296field\",\n                \"scm\": \"1804530360194380040109520772819533695147338348161909014991940022788006709394field\"\n            }\n        ]\n    }\n}"
}'

Expected output

{
    "message":"Payload is valid",
    "data":null
}

5. Verify proof

curl --location --request POST 'http://localhost:3030/api/verifyInputsAndProof' \
--header 'Content-Type: application/json' \
--data-raw '{
    "private_input": "{\n    \"network\": \"1u16\",\n    \"execution\": {\n        \"transitions\": [\n            {\n                \"id\": \"au1u0ecvppnlgrhrt8ng00s2zn72mpnqzzfdg57ew6cqwgpkwur8yzsq7aec0\",\n                \"program\": \"credits.aleo\",\n                \"function\": \"transfer_public\",\n                \"inputs\": [\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"4878891743590214546640132451418316921837303126429229664102982648684530370536field\",\n                        \"value\": \"aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm\"\n                    },\n                    {\n                        \"type\": \"public\",\n                        \"id\": \"385601110756643363970932791170630978444219657329262633791049330677150456911field\",\n                        \"value\": \"100000u64\"\n                    }\n                ],\n                \"outputs\": [\n                    {\n                        \"type\": \"future\",\n                        \"id\": \"6404864214028847942012506566067653215933973663012447120470889954197826941950field\",\n                        \"value\": \"{\\n  program_id: credits.aleo,\\n  function_name: transfer_public,\\n  arguments: [\\n    aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm,\\n    aleo1nuh30tkffqcvme0633uphzv2hxv06sr36qs6qgf9zm4asktfyy9qgmxwwm,\\n    100000u64\\n  ]\\n}\"\n                    }\n                ],\n                \"tpk\": \"7593140589769740828557392780690886309342370279763445339094104310466050912419group\",\n                \"tcm\": \"4351447788903622550226496286604204452548226543854984719580287289178605226296field\",\n                \"scm\": \"1804530360194380040109520772819533695147338348161909014991940022788006709394field\"\n            }\n        ],\n        \"global_state_root\": \"sr1ekees06ce437zyrpy3xryal7wpfsw2zlsvwrr0rrfv3ywc8ehcrs6mjr2t\",\n        \"proof\": \"proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqz9rnkg2qysmtl6y5prw0c0s988js5yyshjm79cd6p2pjhhjv5707yag5rsfeyf577hmajnctcdfvpqx46pzvhvpm28jw3wq9wyq2j27gnz5crg2vmhwlnclnslp3mrpw33k5davlwg2yd97ykuldq2dcdcqxtdpqmsau5tr26yllznklkaj348qw4v9r4l20ghrj3vsmdp9mtahnwng2jj8l2w0wj5rruc0e2rxqtfswz60fuv7qlqzv08d296e7wk65zlhaw2wftfh0cmw0tascp4c4gx2jlegqgq3jne47r03h2hncqa09cuf3nqmg5nctpz9jv7c77ykzlufhqahlpvcqq4f56avn45utsxvc4y72shq66ayvqll9z570qpty28w9kng0s37k9u8same8arezlz738pqu3sd5fqm3rxvws3zzqt5047099k60k9ext4zy3kdgzqxnh5lxskjdgjyzeqnj2lh0yamfqs9lk2q7pljnnu5e40vgfpcq8ql8n7quz4uk9le95e92uggz9kq2ke2tfcuma6n5580h3pnnug507jp03vch4y9xr6758vrdcv0ptwa6x4d7uhex3jkydwvs44hs5x6qfhuwe4n2ujz2xe9j3wztx6zrckqfvnv776tfswfyxcczxdmcar9k8w0dkcjnddjmees625h4javcqmn295ldc7a0twzujwjezslj59uvskxrye4al8errka0fqk3l8upacx7hvspa2xkcenqngvfjh3dnlqumxjckcqr3faq9395297ucyp5pzszfrw0n0xrl2hsmx0ctf3m9ffuf8ykmnxpcke0vxn28s07up5n78k2rs6a7umepru54ajpqz89v2jqdhn6tx6gz47uryw9e8cjq0dsvw8zdtfh7y2gv78zsdv0lncjtqgkmc0yqhtj8zeems4ypfsqr30prp73st7xey5x54d4830tm5kpgrvlksddjfggey7lpz6faev904xgax3s3pt4940uah55y7pccfev4g93lscyeue4e3esladx9xygklfxt73j3tdvzfcanckd80kjzwfghxuqacc0awu8srgc24ytlqzt8uw60qr4n6dxqx3m4cl7csfntqxvss388fsfn84v88echwjysn2e7l0my3ctaz47eghe75956zrf8uzqj4rmav93nkpnmnyfwkdq9qvqqqqqqqqqqpng7tjzc94y85ng5zg83t0wx9w5dqxs7q4l77z72jxt9uuc66jflzptz2cgqr8fjqhmutv7fjjsqqqq07u75dx766jg4gczylp3x7qdqhm8x0l4qyx7j9u59fudn9fcsfam23jtx3vdu9p4vqluetwtquh5pqxwsp6vwazn3w0jnjpq3msw7k8fcj26seas7a49mhdvm8palkcgstp2c6zapxu7kp29cdxlnrf23qc5xxld6yjtt0s8p7a6ywvg29ex4tmvsp5px9plsd8hgzjutmv96qqqqnsp55g\"\n    }\n}",
    "proof": "Not required in this case"
}'

Expected output

{
    "message":"Generated proof is valid",
    "data":null
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published