/ tests / expectations / execution / complex_async_blocks.out
complex_async_blocks.out
  1  program zero_program.alpha;
  2  
  3  mapping counts:
  4      key as address.public;
  5      value as u64.public;
  6  
  7  function c:
  8      async c self.signer into r0;
  9      output r0 as zero_program.alpha/c.future;
 10  
 11  finalize c:
 12      input r0 as address.public;
 13      get.or_use counts[r0] 0u64 into r1;
 14      add r1 1u64 into r2;
 15      set r2 into counts[r0];
 16  
 17  constructor:
 18      assert.eq edition 0u16;
 19  // --- Next Program --- //
 20  program one_program.alpha;
 21  
 22  mapping counts:
 23      key as address.public;
 24      value as u64.public;
 25  
 26  function d:
 27      async d self.signer into r0;
 28      output r0 as one_program.alpha/d.future;
 29  
 30  finalize d:
 31      input r0 as address.public;
 32      get.or_use counts[r0] 0u64 into r1;
 33      add r1 1u64 into r2;
 34      set r2 into counts[r0];
 35  
 36  constructor:
 37      assert.eq edition 0u16;
 38  // --- Next Program --- //
 39  import zero_program.alpha;
 40  import one_program.alpha;
 41  program two_program.alpha;
 42  
 43  mapping counts:
 44      key as address.public;
 45      value as u64.public;
 46  
 47  function b:
 48      call zero_program.alpha/c into r0;
 49      call one_program.alpha/d into r1;
 50      async b r0 r1 self.signer into r2;
 51      output r2 as two_program.alpha/b.future;
 52  
 53  finalize b:
 54      input r0 as zero_program.alpha/c.future;
 55      input r1 as one_program.alpha/d.future;
 56      input r2 as address.public;
 57      await r0;
 58      await r1;
 59      get.or_use counts[r2] 0u64 into r3;
 60      add r3 1u64 into r4;
 61      set r4 into counts[r2];
 62  
 63  constructor:
 64      assert.eq edition 0u16;
 65  // --- Next Program --- //
 66  import zero_program.alpha;
 67  import one_program.alpha;
 68  import two_program.alpha;
 69  program three_program.alpha;
 70  
 71  mapping counts:
 72      key as address.public;
 73      value as u64.public;
 74  
 75  function e:
 76      call two_program.alpha/b into r0;
 77      call one_program.alpha/d into r1;
 78      call zero_program.alpha/c into r2;
 79      async e r0 r1 r2 self.signer into r3;
 80      output r3 as three_program.alpha/e.future;
 81  
 82  finalize e:
 83      input r0 as two_program.alpha/b.future;
 84      input r1 as one_program.alpha/d.future;
 85      input r2 as zero_program.alpha/c.future;
 86      input r3 as address.public;
 87      await r0;
 88      await r1;
 89      await r2;
 90      get.or_use counts[r3] 0u64 into r4;
 91      add r4 1u64 into r5;
 92      set r5 into counts[r3];
 93  
 94  constructor:
 95      assert.eq edition 0u16;
 96  // --- Next Program --- //
 97  import zero_program.alpha;
 98  import one_program.alpha;
 99  import two_program.alpha;
100  import three_program.alpha;
101  program four_program.alpha;
102  
103  mapping counts:
104      key as address.public;
105      value as u64.public;
106  
107  function a:
108      call two_program.alpha/b into r0;
109      call three_program.alpha/e into r1;
110      async a r0 r1 self.signer into r2;
111      output r2 as four_program.alpha/a.future;
112  
113  finalize a:
114      input r0 as two_program.alpha/b.future;
115      input r1 as three_program.alpha/e.future;
116      input r2 as address.public;
117      await r0;
118      await r1;
119      get.or_use counts[r2] 0u64 into r3;
120      add r3 1u64 into r4;
121      set r4 into counts[r2];
122  
123  constructor:
124      assert.eq edition 0u16;
125  verified: true
126  status: accepted
127  {
128    "transitions": [
129      {
130        "id": "au10f68f23zagze8pdzanjtr54729l8lkljukqyhf0d325n9097vyzq2mk9pe",
131        "program": "zero_program.alpha",
132        "function": "c",
133        "inputs": [],
134        "outputs": [
135          {
136            "type": "future",
137            "id": "6347099110677153843788911665947846003312726378697501947594924846885334985555field",
138            "value": "{\n  program_id: zero_program.alpha,\n  function_name: c,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
139          }
140        ],
141        "tpk": "5929858645505162724276059319499869604244031077503465573398156317852581268105group",
142        "tcm": "7121037105735941213416899970109159761809318412819968362414985527013766836031field",
143        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
144      },
145      {
146        "id": "au1k4fz3z8ywgnuyrr9gv27gmhcjd3t3p83qreklwagl9r4z65t6crq4rk0n7",
147        "program": "one_program.alpha",
148        "function": "d",
149        "inputs": [],
150        "outputs": [
151          {
152            "type": "future",
153            "id": "1353667311833313018795426137100000198501876485197404109442999534095489065627field",
154            "value": "{\n  program_id: one_program.alpha,\n  function_name: d,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
155          }
156        ],
157        "tpk": "5531427298773858210315065598021045527031870850356313029004895442091428660921group",
158        "tcm": "2997838624622453553275035040287082991665794756312492376169486116850092701953field",
159        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
160      },
161      {
162        "id": "au1rt85s3m90ycesv64pgesp3nhjparfy7fqj8kcztr279xeg9qzursfcru5n",
163        "program": "two_program.alpha",
164        "function": "b",
165        "inputs": [],
166        "outputs": [
167          {
168            "type": "future",
169            "id": "3783163897464446396256658432997241080752743851612645778925132367706096332913field",
170            "value": "{\n  program_id: two_program.alpha,\n  function_name: b,\n  arguments: [\n    {\n      program_id: zero_program.alpha,\n      function_name: c,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    {\n      program_id: one_program.alpha,\n      function_name: d,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
171          }
172        ],
173        "tpk": "5423259447063778820933371003248520418501910334831594104883895178115466012636group",
174        "tcm": "4910623374086645252775002356446961740240344167512793216366933896371513703016field",
175        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
176      },
177      {
178        "id": "au1ujnwec7n2tgmffms9sllpxwg4prljqzxcy6x5mz8376tr9vx9grsr9m7c6",
179        "program": "zero_program.alpha",
180        "function": "c",
181        "inputs": [],
182        "outputs": [
183          {
184            "type": "future",
185            "id": "2273325979187412034012182688628169015691120491413181261230304027966731782215field",
186            "value": "{\n  program_id: zero_program.alpha,\n  function_name: c,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
187          }
188        ],
189        "tpk": "1652994434157434414770095775703774727251115210687196041228895114220183740323group",
190        "tcm": "5566587727601039916959965277641078910700479893966922535568508899390202165817field",
191        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
192      },
193      {
194        "id": "au17aq583rplwqn0vtr20gfjjvqhaqtct4j9jes6lv6x22xwz6vysgqvf7rwn",
195        "program": "one_program.alpha",
196        "function": "d",
197        "inputs": [],
198        "outputs": [
199          {
200            "type": "future",
201            "id": "7692986208171226995349703927359367208004815167092526387957717646289586219840field",
202            "value": "{\n  program_id: one_program.alpha,\n  function_name: d,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
203          }
204        ],
205        "tpk": "5445811876053549980155993548576763547992437995587800251876689498977706541019group",
206        "tcm": "6412714051338336377593554079097078622883715575969918831450644337313891030334field",
207        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
208      },
209      {
210        "id": "au13vmdpv77s5v8lk7nma8apkpf3l6ecksy0yfa5jm3t0jq9a0l5vyqhjt0sh",
211        "program": "two_program.alpha",
212        "function": "b",
213        "inputs": [],
214        "outputs": [
215          {
216            "type": "future",
217            "id": "4593381353242610717705448810655221606001074018973687464742839556433830841326field",
218            "value": "{\n  program_id: two_program.alpha,\n  function_name: b,\n  arguments: [\n    {\n      program_id: zero_program.alpha,\n      function_name: c,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    {\n      program_id: one_program.alpha,\n      function_name: d,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
219          }
220        ],
221        "tpk": "4433815122489673852604600334813120095816754263648355535104516060469225716528group",
222        "tcm": "4205405522154086661903025204401052929051584848643455252565055876979205961417field",
223        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
224      },
225      {
226        "id": "au1edz2pmypyzdc29hhjj2flvm8jyr3e09fr78ust3j2nv8aw5pa5xstmtkk8",
227        "program": "one_program.alpha",
228        "function": "d",
229        "inputs": [],
230        "outputs": [
231          {
232            "type": "future",
233            "id": "1823751779487296913193625715206404981311822744950077318914224280682879442606field",
234            "value": "{\n  program_id: one_program.alpha,\n  function_name: d,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
235          }
236        ],
237        "tpk": "3413276262058275519044347964594414832431035494467498097055641010390043892597group",
238        "tcm": "3524300475413789688574713493649426109992235412612417301990563922343002904274field",
239        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
240      },
241      {
242        "id": "au176f08daf5kuum62z4ne455eyetdl6j3fmklnudky08x8uyq0e5xq8qstkk",
243        "program": "zero_program.alpha",
244        "function": "c",
245        "inputs": [],
246        "outputs": [
247          {
248            "type": "future",
249            "id": "2995874911375787242179459719041640309271985162677426431248659867043172395830field",
250            "value": "{\n  program_id: zero_program.alpha,\n  function_name: c,\n  arguments: [\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
251          }
252        ],
253        "tpk": "2110816586666171997281702300311193968209678270877924357881258650555568518275group",
254        "tcm": "5434356099280642151302752569797324393422660635478412811906456177388606778913field",
255        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
256      },
257      {
258        "id": "au1ypsch97l94200kfwdd3zpdegj66yarquq0q7k4emce82h8ycrygs72uupf",
259        "program": "three_program.alpha",
260        "function": "e",
261        "inputs": [],
262        "outputs": [
263          {
264            "type": "future",
265            "id": "387062779495277212856571224098039959757826455208521892758813275017320706757field",
266            "value": "{\n  program_id: three_program.alpha,\n  function_name: e,\n  arguments: [\n    {\n      program_id: two_program.alpha,\n      function_name: b,\n      arguments: [\n        {\n          program_id: zero_program.alpha,\n          function_name: c,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        {\n          program_id: one_program.alpha,\n          function_name: d,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    {\n      program_id: one_program.alpha,\n      function_name: d,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    {\n      program_id: zero_program.alpha,\n      function_name: c,\n      arguments: [\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
267          }
268        ],
269        "tpk": "6132126966069563890259136688078377397906488904925348290014151952313026491626group",
270        "tcm": "505455024818894493214183299837585250384377806174967716040543607684275258062field",
271        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
272      },
273      {
274        "id": "au1pruv6tct779zchqmld3wsxygvjvau8ecs8h5naqc9ysckspm8yzszltfmx",
275        "program": "four_program.alpha",
276        "function": "a",
277        "inputs": [],
278        "outputs": [
279          {
280            "type": "future",
281            "id": "8041538185891957493792766328691938527097587595225130422741890597933760872171field",
282            "value": "{\n  program_id: four_program.alpha,\n  function_name: a,\n  arguments: [\n    {\n      program_id: two_program.alpha,\n      function_name: b,\n      arguments: [\n        {\n          program_id: zero_program.alpha,\n          function_name: c,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        {\n          program_id: one_program.alpha,\n          function_name: d,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    {\n      program_id: three_program.alpha,\n      function_name: e,\n      arguments: [\n        {\n          program_id: two_program.alpha,\n          function_name: b,\n          arguments: [\n            {\n              program_id: zero_program.alpha,\n              function_name: c,\n              arguments: [\n                ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n              ]\n            },\n            {\n              program_id: one_program.alpha,\n              function_name: d,\n              arguments: [\n                ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n              ]\n            },\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        {\n          program_id: one_program.alpha,\n          function_name: d,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        {\n          program_id: zero_program.alpha,\n          function_name: c,\n          arguments: [\n            ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n          ]\n        },\n        ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n      ]\n    },\n    ax1rhgdu77hgyqd3xjj8ucu3jj9r2krwz6mnzyd80gncr5fxcwlh5rsvzp9px\n  ]\n}"
283          }
284        ],
285        "tpk": "2292653088609865252744826060695847193043452530164354819837270068443220940500group",
286        "tcm": "1456204266217426021615559031917114807295846036846994908044800965477591943499field",
287        "scm": "1721787293080464008794320832331581502227291351000150303066568928281478842138field"
288      }
289    ],
290    "global_state_root": "sr1qqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqq6gk0xu"
291  }
292