@@ -20,8 +20,10 @@ use crate::{
20
20
output_to_js_value,
21
21
types:: native:: { FromBytes , ToBytes , TransactionNative , U64Native } ,
22
22
Address ,
23
+ Execution ,
23
24
Field ,
24
25
Group ,
26
+ Program ,
25
27
RecordCiphertext ,
26
28
RecordPlaintext ,
27
29
Signature ,
@@ -149,6 +151,22 @@ impl Transaction {
149
151
self . 0 . is_fee ( )
150
152
}
151
153
154
+ /// Returns the program deployed within the transaction if the transaction is a deployment
155
+ /// transaction.
156
+ ///
157
+ /// @returns {Program | undefined} The program deployed within the transaction.
158
+ #[ wasm_bindgen( js_name = deployedProgram) ]
159
+ pub fn deployed_program ( & self ) -> Option < Program > {
160
+ self . 0 . deployment ( ) . map ( |deployment| Program :: from ( deployment. program ( ) . clone ( ) ) )
161
+ }
162
+
163
+ /// Returns the execution within the transaction (if present).
164
+ ///
165
+ /// @returns {Execution | undefined} The execution within the transaction.
166
+ pub fn execution ( & self ) -> Option < Execution > {
167
+ self . 0 . execution ( ) . map ( |execution| Execution :: from ( execution. clone ( ) ) )
168
+ }
169
+
152
170
/// Get the record plaintext present in a transaction owned by a specific view key.
153
171
///
154
172
/// @param {ViewKey} view_key View key used to decrypt the ciphertext
@@ -333,11 +351,16 @@ impl Transaction {
333
351
}
334
352
335
353
/// Get the transitions in a transaction.
354
+ ///
355
+ /// @returns {Array<Transition>} Array of transition objects
336
356
pub fn transitions ( & self ) -> Array {
337
357
self . 0 . transitions ( ) . map ( |transition| JsValue :: from ( Transition :: from ( transition) ) ) . collect :: < Array > ( )
338
358
}
339
359
340
360
/// Get the verifying keys in a transaction.
361
+ ///
362
+ /// @returns {Array<Object>} Array of verifying keys.
363
+ #[ wasm_bindgen( js_name = verifyingKeys) ]
341
364
pub fn verifying_keys ( & self ) -> Array {
342
365
self . 0
343
366
. deployment ( )
@@ -411,6 +434,25 @@ mod tests {
411
434
const TRANSACTION_ID : & str = "at16gn574xqj5svyzeqxv25g93phr6rn7exzt75lxz94702rup23gfqu3sjsc" ;
412
435
const TRANSACTION_STRING : & str = r#"{"type":"execute","id":"at16gn574xqj5svyzeqxv25g93phr6rn7exzt75lxz94702rup23gfqu3sjsc","execution":{"transitions":[{"id":"au1xkthsz95cfzf5dpm35j8rfmqh7d55n5qaj32h04zuk94hgs9ysqqwd5y0t","program":"credits.aleo","function":"transfer_public","inputs":[{"type":"public","id":"4751135245718319934677221244600857477393936843410399077399851644790898074286field","value":"aleo1nde82xqshcyjq2r3qjel7pphk3zfs928w5dqhuc6g2ywquef7srsmrpjgr"},{"type":"public","id":"1879683531456735826402444579986765299787803396630464445477045553705002014280field","value":"925201u64"}],"outputs":[{"type":"future","id":"2994313978289013878278992580863624909125270283430786031571774165789697880797field","value":"{\n program_id: credits.aleo,\n function_name: transfer_public,\n arguments: [\n aleo12zlythl7htjdtjjjz3ahdj4vl6wk3zuzm37s80l86qpx8fyx95fqnxcn2f,\n aleo1nde82xqshcyjq2r3qjel7pphk3zfs928w5dqhuc6g2ywquef7srsmrpjgr,\n 925201u64\n ]\n}"}],"tpk":"8419054782389922523785643599671399767271074354181851447409278470077027626643group","tcm":"6974764911181620995275580693649999038426099390529716278259719011415424425408field","scm":"5706857385070162410502976527403449803156980745820557401650769519800215382444field"}],"global_state_root":"sr1cxx6uf72kla7hzu65m394fljpup39h3efe97xsn2wm2gl9apjgyqdr94ud","proof":"proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqvs2nmr0pnyufteq8wtf080x3vwfh5yk08d6pjmedl8j7gx6a42das2ul7rm9x6wn5tvars43nudvqq9gshva80utleuytjesa4vmkq4cv6kfcm6axn2pwf7klzk402gf9qn5t0ssz3mut0ycjcjwss4e76qrh46q8r8calfmrwmpmwj2j063rsgtvq4v85v8gzlyyy233f90pztncnx9pr65l28vuqwx86n0p2xqws3lw0a2qs4smanr5eq78rgn2t2vtvnfu07589676v86kjxdfc6nqdvmghjvc25zzh7qwj2jxmk5qtu5ecxd8mpx00mjs4q2sen68w57zk6c3e7xnm7jeelrqhuexaae9n8v9ddagrl27wwn8zg8vwv9srrar48d0aqslsmzt6lqnxq2mwn0y89zxtrsfs8uzphrc3geu9y5pn2m90k45s5cqt4ypw8rqea53qprslzcs0xpuhc6gc59lfxk0fz49wj70pxe4wczpnxcendf6f7ep49svrsamw2nn39y02dt3l85ztqr09hcxd6h9382cq2s3j890g6ezu2lktszy278dxhuxj47qmmjs2m2p78ud9s3m7pkrusrqwj65f6qv4h0spx0jsrs0vcyapz868egt4g6jf9zwmdkfn5d4966234td44gzcvzwghl2tcxxpl0vt70366upqd7se7pf8vmlvujalgwglgzu2tnrp474nmuvewflrd6eg8j6usg5c6l5vydrkjav4lqx8n4d83nre9qex57ut3nunlyccedx3npxuqzu4fk6293yxxd0sd05jrtxkjpckqrvaaxnng22j9dxnlrvxm24ql5880tdnd8mwsmhz9hf4tnwlrl65xu2x9tuqz5c4nsha95hqlksj3mapzmc5672md4hckakxfpt28znt0st8p3xwt05a3usl3remvc9e5ng8quakjgax4aquczfqvdxzwstm8et5tgdptkt84wnklwn5c8cy93ezx7rh4jve5dn2t8zcn32vph0d8sx583j6uqz6sg8mjs6upgdsf47d6ageygydpve89p3tsshx5vt98jzet9hnkfacky5hpxgqlgnm0dvchgylg3prq05gq7kzdu8narls66gg7nxml0hzqsrh0lqez38m40dzt9zzg985frap8m43ehfk5z9lpsazc7jx0fyp2qcrncdqvqqqqqqqqqqqkfq8j9ez9zl7gycv3wzsjez8amk3lkrptn62v0xp805dmckhl38k3hn0vc5v54wre6m0n8mcvz3qyq2fchjxd29juplmjywlrfz83zkq2ev6mxryx5dz43tcwneamnpa5m6ezycmqed4dsfrm342e3693qqq8gj3sheypdtugcnxfuvw5pqn5glpxc8hy8efn8z366lm6l46luqpfn0c6cv8jnfkqg8x0djhm97ex4w43ljp2q3p48puy5qg7plrl3082j669dptpvp62h8wrmvl4ggsyqqxqxmd4"},"fee":{"transition":{"id":"au16g35t6kzca6xuussmuzgj66lauha7zhelnzwffjn7yu6drxjeypsn4krsj","program":"credits.aleo","function":"fee_public","inputs":[{"type":"public","id":"3177838991993329157371463969436206958196792727562912766690990977845094638574field","value":"51060u64"},{"type":"public","id":"2627337663134718050564293263748856215620738953487067677249260721057439613985field","value":"0u64"},{"type":"public","id":"134393209519715768094240338334285854725427616329679089213660428639338330639field","value":"4485998228444633245424449325268791226620568930423610568011053349827561756688field"}],"outputs":[{"type":"future","id":"5836606895323199242961194308370430847063995678474974835973924196936593737068field","value":"{\n program_id: credits.aleo,\n function_name: fee_public,\n arguments: [\n aleo12zlythl7htjdtjjjz3ahdj4vl6wk3zuzm37s80l86qpx8fyx95fqnxcn2f,\n 51060u64\n ]\n}"}],"tpk":"5133974047416696841315369281389544483681028470433387841583387079449986330429group","tcm":"795609109724429421407275371955802534344227027480936262614604311690962025301field","scm":"3903849113674739385296398736730232388289952783409244858026975082444581569623field"},"global_state_root":"sr1cxx6uf72kla7hzu65m394fljpup39h3efe97xsn2wm2gl9apjgyqdr94ud","proof":"proof1qyqsqqqqqqqqqqqpqqqqqqqqqqqzlgwysc4ejcm695fnp8sc8akg23s5vkkqx80mp75q5trcc3rhasdnutvds5q5c9hpz8fy9k4z78upq9t8de7kznvtlfyzskqj3llaulq3t8ftglvrum67997m0su5gxe2cuxeqq7hfhfz00g223faxdzsgqwluw3czl4uyd5rt8505zm7c66tepzl97aytt968cwp0uhdlre6zhzz9kvp90d65r060n5h0n9nfsqs8tzc2nku5rtlz06vzze2e5rv2csj8l54jv8j54llan7gk84r9ar2azddr83hutd23yqz6u0wxlcpkrl6lppnca383fzgcwf532qnzsm4h7f5qvs2yv8gw07gtflfexmwhpg35prpfus0v9ajx50dwhnqqqn5k3cvx404ad8r35g97tps7z63rfdw8m6xynerct3t6nrc9l2kt4nc0eg3lw5vf4nxagygauk7qrt4gztxfuxgc5v5a3y6x3r22nzdwhx3p6y6my5w09r77ay3yv7lgxuvjh9zlv3ept5def0yu3z6eqv7ve3pr52xnhs5zrzdnnkagdhd6eljfpwvpqauupn4qqydswnfz0k4ktjng0xacpvp8jqv0rsyqjqfxfyn6fask9v8ax5dsr2a3az927aq5xmdg6p7xdjlen56gvaq07ne6gga2tsn6p9mzz2s72t5qlqpmrj2ntzqqv3psxs9f9k56vrt6qqxga72zzxanzaer04ncd0rnyxp9d5tt7nucf0284ssrdpdasade92u90u48mg6cxsetmf989xkvppv5aw5xecha00eegnz5u2jllyvps90vxf6dmjy6aftt4837up7qsccahs0gaeal3smnweqv29v82e9tss4evw46m3hccltmy2c24fq8dlgah06x4e8apewle5wtqvjrrvq30m8qsdhg2w6zwjktg2m22crru2wkukwy3rvgjmvyhz25y2v2l2ughz8v6w0vujvz8qu99wl0ugy9hgac8h9mz9j0nkt9t9sswa8ejucjvpe2t8v8psa3sg0wqnaxz4qmmqa00a97muulvgc8943nfmae2n5hlajgknuclm9rxvtrnutq7xtvu3pkkpuexdq907gndl3w5hy06puj6k4j4df63csswpwdlrq2dsut769f92v2qenkjwt6smwjxxzytvddz6vq3f7xnd47nsdgcc0qvqqqqqqqqqqphm8uwgdxz4vk0w5zpk646czf7jel0mq58d7kurvzuevwqk9uzzn3z8nd4mdf2hud65246my9j9asqq0q3a5qz6h0nyp9pcj6nfm0jx09k3jkcdtgsrryxpjldmyac9esg3fu33k72hu3n3l9ya7cg55clyqqy04gnxsq467zzf8s33k223jmefvsxxlangscwk29w9fanatgfksvzcr537fq7yvs3cgyq9gcrrw9jtwuk0dkwmqwprgvzplrfaf468x9l3u5l8m7hgmuyu5a987wkkhqqqqm4vu8k"}}"# ;
413
436
437
+ #[ wasm_bindgen_test]
438
+ fn test_deployed_program_method ( ) {
439
+ let transaction = Transaction :: from_string ( DEPLOYMENT_TRANSACTION_STRING ) . unwrap ( ) ;
440
+ let program = transaction. deployed_program ( ) . unwrap ( ) ;
441
+ assert_eq ! ( program. id( ) , "paleo_token.aleo" ) ;
442
+ }
443
+
444
+ #[ wasm_bindgen_test]
445
+ fn test_execution_method ( ) {
446
+ let transaction = Transaction :: from_string ( PRIVATE_TRANSACTION_STRING ) . unwrap ( ) ;
447
+ let execution = transaction. execution ( ) . unwrap ( ) ;
448
+ assert_eq ! ( execution. global_state_root( ) , "sr1cen7yug2hfywjg2kmkyteahnfau3mqu0u8675knpu7y2k6mx3vqqsx62s5" ) ;
449
+ assert_eq ! (
450
+ execution. proof( ) ,
451
+ "proof1qyxsqqqqqqqqqqqpqqqqqqqqqqqqzqqqqqqqqqqqqyqqqqqqqqqqqqgqqqqqqqqqqqqsqqqqqqqqqqqpqqqqqqqqqqqqgqqqqqqqqqqqqyqqqqqqqqqqqqgqqqqqqqqqqqqsqqqqqqqqqqqpqqqqqqqqqqqqzqqqqqqqqqqqqyqqqqqqqqqqqvxw9gtuqy2e47sm90uslq8xjzqcv89qga6jws0k2s6twd9k3gsqm5tjjlet968aqne2p7u4mr8cqrs2ax7vwervrmrakfgc3ycaztkrm32fx03kd978t9q4jnxj4krwv9epffz0ncaa8xuap453r5l63q2q8vxs85un30q7a5c9dhlhltnwrcjt2hwjnmehz9anc78fgmhzdfgucdvytuzp5xl08wee053d85q5gahtgcqr9gfh0zsy5tup3fk8r45jxgacnfmc5c5lpp8ejtkn8j7pnxfemfct4ys3x8qp8wmhtrgp7pwmutq2j0gvz3h7vndsq708vt38zrrlez58q735s9dtvtsa8lqmzsqa8jvssee9dr8gemh52vqspfjrtacntml8k8pmeeyts5usxjaquvapyvcfuvjxvp3q5dstwh5nstj8rzfcurxgete0xep5ltsgsq8cnrrayqqlfy68n5z0hk7ed5rq403j9n5x6w5tfvrczxp0twcx8l6llvk7ht2fmw6kc6f790dekq2jrvfwh6ys4r3q6m3y0tg0lhxvjl4hp4dew3wgyay9rv493ycf3l24lmfup8znea273ajtvkz7tqqe3pyum3x5x689xngp4uyydghy85fzepvdf6kn9t2dtzrgdnpv87tmkpa9v03s98aymqnrfxx650qqxhu4jqzxvgeqttmp3pgu2npwxe0hh20tzenv726jemjmd6x52ln40hds6qufeshskl8gqjlc7zzgpka6pvcu4jz08kjthurmkxkw5wly23t4xn29ady39akpmu0fcr4k74wzh3z76wv2g4nxtg9zpwm9qqwtw9smf09kpwgxvusr3sa9zffyjqdfpwqwgs8ak6jw8wcl5kspl0e7qsdzcmf4yx8s2yp7dahynqxwtvt5a8rl8zc4py8g9tucspxc9x6raehvkn98ys2562m57j4tvkexmhxjxd6nl6lx2w6uq4sg6uqttcsx5g07fk6r8ywtfhm8zah4y3twmzyrazm2qv2g02fwadgl2ht9sjsh3zwlhrxda3uqh6gkwluqygywll5g22ts2wwag5j04vzu9xx8apqy5t72qwywxkwxq6uqlln79vdv5yuuj8rvgzacfr03y6hcp3qrfd8exvtuve4uw6caa0fu3runn9vxvql4sq20zz3kfp23cjxjjqh3vvsufw36jh9qlqsja3jusyqexxkrta5k54tgsma35gs9ama85m9mg7yjk0jku8gvlalh6mww6uphrhyq78p9um0l2wzuyxv09l5q3qu2wpg25rrvcq0qya04zyx9rryyfrxkqwkwl9ae4gyyg0e25d6lsarssw5e6nx5fj6j4eue9krgqh642u24dyp4ys0tjaypcfjqsje6j7j5thmzyvg7qffj0snuxsylc2x3cz68xjfdqefw676h09aysr5r0q6zslp46rz0e3u78cdh0vv8we2rmpykkuyx84y07eymetvpxzq4ux6sv3vahtcrvaaj5wdyzq9ukhp8aejl5at24gmy6le0t2fpeqkp6p9aw99xhc76pkq4f09sg383pacungwmpn34c2fm25kkugq8g4dh50gzq2rxrs7c4ht34pkl674lxdmjnnxe30fs2lpsqhh35dd9lhq3nkfsexfj3tkh9ec8nnuqqsfw5jrlu8hvu2a6tjj69uttmcuxpq7qlmej9lw43r0lu4dv32f42msdap7urwjxw5wlzmntzr4cqcxd6g8zzq283z7urkc8uu5runwegnxfxxzwfjz8c5efq649urnw9jcd3w2gwa6g9fr506s4pae2sq78gne78lruta87mm6pev45v2r2a9frjtr9k2lpshqc9t6ehmfkllhqf5v4cq26ea68xw2djr9rgq0pad6ycckh744m4euj9vjuuptk8hpvasa32yxd88004w8ar3pvunn4afz8ms85sand0jcskhm8auqv96q7kn5maug4xs484v73wyr5grpavelqjq45p8k0dd8wwc8fm9uhpllx0j6x260v7htsl8za695qyz70e69azv25mcppnwg5xdhdxesedte0wyg2pqg272py2j7h5dsf7zlxlj8vks2dzzzaym046q4cqpnxf94uerrsaffrh80gc094etvz7hst2jaaaj50awfyfpzms2pjjw38uyl4a9lhljmwgg7fvhsesr02xugnc4rujdrw7rkj4h6nx665q7qa63q32q06jra200d78hg0cw7nrjecgc3r23g8vh8pczy30qwr2e8cuke68y9arkuwga72x6d7paud999zpawut6jmyezxje0y3rq0duc39374xvww0874nw0m0gqfcpperf7ld8jugm5ljqw3mr8qhlzuzed7rgzux490xpypjxuy6uymcqkg89g0qej9lfvcm86z0fypa7xvzpghp9mmtdcj3j754hq4l0f7zfkfcpxjpnfqfaaxt3ss255kqytugv8vmjrf648p074c5eyqqe30nkjzhf2hky464ljldyt4gwhrkltpd7mwlgqa8xwxjd8yu7z5v2736ykux3a40uuzdsp52qnuqpsv6jp4x2ywdw4jlzmmzwtancknmf2vcrkej7n7lxveumv93w2p4qnwc66fgmlpj8lqp8xtykn6hq07gdpur62uwkup0ap396fhq9g25hfd2sunz7z8pg9l3wep8zd3a680y55v3vg5pmnrms0v950jjjq7casa4yqtt7wrw2r5f7gtw7vqy8mqumhux848lwxgadqlp3axjtahw730pumwfy6525v4c5yksjsqp07u7p47xrkk780502nmfn5f7539he4ns2x5eh093g3e92esxqspqgr7e75dah2h63c2kwk48gqsp4rjnjhk36zv2dxrzp7426dphgq9ae4wkp4ezjsnuzxhs8h3d4j0u48vwuuwj3k5t89tdraskusuqqg52kh5c6jzdt45h43z9k7apvdt24j3pd0ujqjvy4zkvt4tjwzax3g8hdezv423z33nfkhpdffk9qdf4neg0celtg2ytajas43e579aczhym9kl8h2vrxc2wna8727u309rctdlxu4z7kmyywaucs2mf6qv2ctlt6z0q0ma5545j0ucpfzj88m8vrfdgu20pswcrxr34juwu9jwllzp64ng9hpf7sywe7z93ngqay6m6p75h8wuwwq8xkp4xjk980x927hhx43pj7233j3d0dx0rgausctkzm62qhya2hv204n6ayjcraeuaw0vcrv6g2l5lzwvxp5sm738gyh30aec8n8372n3qw3lh7uwmf49lnlypkzj3qzl999yfuzfsra8npt53d82w5v957t6ga6sv2j5sz6a2r8wwqhqs6tj7t5w3ng5v5snu4le54kl2zqsqe4v7ctutqyp6f8uqv0mnhcpynzny6hut8e7h93d7u9a4se3r9959c83ne9mdqu2hnzgxl68nc25l64gn45thzqfrlwwnmh5vv5xusds5hu6hq9vvv52y7yyz9d788mlm8j65tus5g84z8qm57ema530ex76eget28up3nnvahhnemeu5phze20e5z5ce2hnpqwa8935jdmj799umdpxc698n4nszm3de04yuf7dhsmprfjspyyn5ud99ktwmu55v8dukwwxvf89eph2h9ce8pp5pr7wpf78x9v5ztkfxxmffd0wjz80cjdc2u4vs9844aezanu597p8q0dx33s8fn0c8ahd444afjvn3j6hmsnwdhzztuk24t94ztnwr55hhqh964qqeqvez8fw45g05n50mdlmmj68sy8u3kvmprswhx35dfwg00cfmu8fzt39dl9hftch4kntd055azl27wq98253u53f46ws7qzhyyc9alyfk6979w2yxksje8lry7mzqfc4xkj9v68rne5m209kfcwxc4y4k8ypx8f6f6y7luk76ue25vt6ea6xexfsdrt5acff0uzrd4l36wwc4z3gy8gmysj4hzpe47yfn8vzjgqqqkysznfdz22q3dz9pw3vr2axqrsdclm24fzqqcmxcgdwk2xqkax9d7768ww79kqr6ez7erca9zgeq9vr3pufkheq3ss6p5mqpcaw6q45yr3wc77k5rxl6eeuxg95l0ljekd44a409jp9y6zuy2aekq9p8qpsv8h8qpyrkr4swswwphrcptfgye6uwk0g6az3dr9q49phku3mav6y32wa33x3mmqps5jeqvzz8kqr3dpcqqc2qs4tcqgw7mp2yya228qcqx73ypemhx6ykg9d38dkwnj80wtg448mvx5nemhpz5jpd75qnnqpf96jfwk9quvh6zp00ypa68zz3h7s0tr5nuw704w3gwkj4u5xvdw8c43hmjsv9w66mnwp0g5qqz9n5v0fxjxxgxpr0aqzzs4hguyawt080xclz2c0rtz76etulyah2hsakknsyr43v58rkdvm20knsz2asd0v7sjwpj8r2xsh0rvqh2mts7phlsavlxwurxekts50mllju5aheylexmtjqgwq4lglm70lnqq5aer0cezd0afu823qe3xhef379lw46z2rwncwhf5ryvz5zpknqcfe5ey5xy9syl3xvvrla9hfckvwax3e4vw6nzkkp7ygc3lhlhtsuatmdzms2zts4axjw4zhsqd4kjryr7klt453ww4xsx2kv27h3qqfd7t9q7ctktmm5nld2cx79h30lu97ccqx0jfjdfpk088ud77at5xnej0kx0fy42k6nww09cdzvhvqcjfvunpnpx2sn2syqtrrsefayzjq4qm7w5f0kxqxndl3gzgfpq4q76q9hjy7rawvqdzl75fzau3ypkxxd89a55wngwyrp0csdahy4lux5qq7yuk6la8fapygkuh45dcsq7d5jn8lmndnxzr72nmwd3qee23j7x028rxhdqynsmt7e947j9qzd8k8jk733lvx4f3nvpycdxz0t4ctgjs5h7m63skyxvh9ryhqfgzx6lsk24w5l57td0wg3p3k9tx4v6y7gcrqu98t5hw0yawvyd3qgpp2cguas5yk6f0x544dtly32sl98ay36uv8nrxrr90068ngvt7npzlas9nvuax0ct0ht3pjx62nsuy59ghw4q7kw8ggyxytzdhwxcnsmhw5njj8a77hd4zg2v7ycvx9mw7set8h9ayq3u7lzh7qvfjgljgz7v3dqxfwdy0yjtt92fwz6nf48e6xuxwgvage3up27a0vft586g97mgurwnfh9u6fhw30h29lz6m2ymqkp3r6m7ngk4yq2qpkgmf9jzseql6spy6gaf0uajy54246dynpyqh2ju538uw29qer7kt0w4twqm2nwacnx8zs6nj6jc432w4z57a8s39vkcusgjnj2jcp5ntjc9ksfznhfqt7f9krdgrrefv4tvtxwfjdfxra8972a2urkverznapvqgt6qd8fp7cueglse72d0huc06nv3n9rjepuj8azdlcgvuyy96a8gyqe6444gaakd4n3j96z7q4tl2cnx7jx7xcw9rujssqesd2qqk8ypd7s6kczfuxwe63tquxvhtghr7wtrdtnxp320uynxkc6420dd4ppjy5fydmz7n5kgjxyvfgzgm2565uzucnzhmgs5e9hzqlwrwevx2q5t0fch7f39zhtgxu9zwaejm7gfcsufxk09ga53kdwvkv76jtwfqpwkp960xwllnavxafxzhe49nh22am95r9py76qyw8zlc27jda0vg0sdqh0a65ycv5rqmxgntlae6zmj5du2dz7zac8j62hummc857vzw3eljkprvyzmc3nec5qg52s9u3at243h74njxguf5j3u6jeflhqqa9xqh08kjjrtaja8dxslfwy2dmd34h8gyk34egdxr9rg23xqzqk2awxnzl094dphvp6dqxu78qny24pvy78pzly6jle5cd9f6p92cr2w0e8g00spemvmzmj4yacsm3qjpff862pr8s694wf8xc9ed9r583jltg6qnz5catckd7pmlzwsvlmcwjmd370l4ldr84fea7h7qlzzra4377g9sywu5gwhl84yyenat7ufzd6uudz2lcyyygh27hp3xszr4mk6pa26a30ya2gqaqapr5z9gmzvj2qp8ammul3fpxqs8du63su46am3m8h8nvlvx4f2azts93td7rrws5vys4z03r98sfac2fsssznzj3exa30ald3y6xdgzn0yxcxtf4z4pqpr9jwcn6c6gf752a9gxqck6avalef2dcmxadn3xjsdulshd5sw37aqu0qv78z6shd9th5pc3c4z6xp38x6m675r6wruz0y3qsfe5p4pf9q0wu6n7qgyac747qc5uuv4jnzvlx6u74kmssu7kv740cd0gq2jg0ltq33m0skxfqkus4lvt8z2duaaldx9lrs90c7svk7zzhphemfkhqa87rzjcnj5evyc9ff3ssdxckvdapqdr46ah5cue0wdshsgpfdqcz4sp0hvgydd20sgz4m4h8h6euz8ecxn4ead76hygwt05ercnd38u8l37tzy6wh4nspk3etg4k5tw5hzcykwhv3a92n34qzcneemkleljxpakrqvzfqjmpz79zpxyypy8zpgvd67sdtq5602q88l36m44e08ud4mr986h0hzqv3xc6e2y23jx0pgu96h6hnw2fs3r40yphrs0mzta2qfgwjqkrecrchw077tc8mawwngxj63r0e360ux24ls5mz69z8mvxmjjefy32vy9cvku7n2wznrr0gxggfwjqmhjy4jqdzfzcnckvjqnea277saz2q2p04epfxzyfz0nt47am2q6mn37usd48nj25yctrsg2rg8u2g02pfmr04nefm7395cy7cqnc6etr565lphtcpuxzs0gw5dhshhw6mqsx5zr65hzrgyk9ttl8dek3mrzpssxgyauruml4c9tan42qxpheuc23fvlk2em7ckzh2y2uxyhvzt8njnh2lpwfdcf8est83w66l29fgfwkfcmh06twz2dfldywg8tzvegx7eph03lxf8wy8v9gd0q4y9jqzp3d9uqfwl8gfyptyxztsqvw60kvccq30kxjjccfvq35g4ykea5p47qtea0w7hwta5aqaqjzar2zaz3efl5n4thv2aeuj2khvxvxcss0dse58jvgy04ygw4fdezw5k2qxr53uerwyfqrpkd7ajnrjnljjsvxel7jrwtnpnxfphh9cmu2d3txts9zguf9lt3vfj0jlfm75r4zvyfzhesak44svgfnm4ew0mg99kg79npgds0yvxdd3ayz2pgkq68qp37qyh7d6p9ne0lmg4hza9ey0yzspdmr2axd22e6mgncxw36skdqee99u5ajx24k50wlcah3lppng39v55axx4j6ph0a3x65frrn55slegc9hvs0rz0ec8nz83fzy4vh0trqxrlmfz4s2fsq8q9pvlcg2gvl9rfrqaev305p6tyduvegk39tvuagjrp4v0eahrypx8wp5g6eszm4n8h5pmqgww5sccgx2ll23xwt3u0sfu6rgahr2xdecahsavfkqp0c37cmpflv3lqse45t2phej20tzcmsddn344tfpxn8ffcdlvkplqww408z8eg7tsvlkpdwx8yes9s92trgjju672kavu9sh7xaz8quw858a438qa3w64e0qn5dgmrdeymh07rjvrddsmtyghpnv3gfxg06hpjee65vgapnrv7ac4v9lx3vhphcz8s99uexr0xgg4xe4mrmgzz0n44ey3hvds0a4e72pay9dld0pfhnu5cp2w35vp2e7rjhd946qmjgfwajlmga7wygqxqz9t7h7ckzvyfdsrkc23t0v0talja49d7qmv9trfzlknx2fadw0a078slqaw2vxfza6cprzy70t26cc47pcy3rlxf5x5k00sy2g9tkp6cd7p7ksvsqxqu5dttt35ujhq2yl7qymc3jxw7e4vkz9unqueeujfsumlqza8gpzgqmgw4uqskmjssw9fsguy3fwruzcm6pxcpgnan5y5tcar9lavzer2qa9tdj825hj6h9uwwyzf3p4p9ahpxx689elf56t9ekkc7e4lk7hc4aelzxdxs2qcumy90q7msjtnlm9qg86f0nz8turp5kjlk3ldw44wc2zu9k87xsn9p0c0ssqmhfq0m42m0szj4j03kj8feqq8dkamrptxv5kx5z8c5tp2sqec2lhe57mm765j6svh5u8vad2g08yvl83qe3ndl9j2xtg76k8xqcqq0laxqjnfumr22rl9jchmd9gfvgvh6kuckkq67qccz5zjf2hfsjqxvm3xh3zfxk7lzhztxye7hl5qse76m00cxrq47rlau90wux4aqpqwyshh5vpw37mvhq5q2s0wwgcg62rf5jtdvcj9yy6rn4us5jm2sja5yahu6s2j5p2euvnmps62uzd4q6wea2zc60l7fjsl09gu33pstrmg9ejupgg6jqus4x097r4fy3a28l376wplz2gzme3nvxywewqy9a22ywq5je0pd89wlucypmhr2ry4elzghz2g0ajjwk92xmcgmgpwupdgkupn08jc52pz5h886gyn38fmk7gxwdjwzzgew9vq7tfu0q7c4wned3c3vtt7ga3u5ktquzha49yzwatjufsj6a45rpvmc35hpy9kaenwxdae7f6vgqg4wzhpxwe85xft4jxtqkz3vq35j9qux5pqx5798zt42rdarj6cf7ecrn0qzfclvxkle8alcqqqwca2dv56dcupj5qz6y2mwtah0e869jq405gcz62267hc2a2e5pu95sjgtyemkuzckvhpzhfhw3hx7rdwmvudjxyumanm5feucvwr0v84a5xxw3rpeqlzg2t34n4mpa7w3d0d7smlf8t6zgt3dhv8xanmg47atzvq929uq2kpp5rl45e48aclk8tzej0e6u0hfd945sxgfsfs808m8nuj7n9s3sgxmwa46g0qywpfc7ze7k0pze50kpekq774luapvsgjt3ytlvvpuaga8p70xnm76g2vneqnwv4xuqclyk975qn5d0pfy8xnhd7g5craslc77m94c7qq8yeu5llzwfkjvv9z0yds5l25zh26ffd6rv7repsav9mzar2ks0plg9nshesr65ggc5lh2mvtehsxh33eeewxnk5kqml5lrm8hhkydanqpekw25j6hhqawp8r6z0a2hyqsdnc68y533ec8vgd698aeeqj30jsfcvcc8ddwsjwckfzh4wnp3e0xd9rswxgwwgql6rhk5fed3rektrcg3qsete9an97kcqr9qmgylvkpahnyrqf3qp7645d56l49zuhu69d82ytelap7rclzkvq6ygrqteks3awxt8u5q4znv6u9ccl8q00rrrmqycr0qjgjr9f3p84ayjexgaldt5u83pzsxqsy0y40svqvfh9qjrxw0rje336usvl467r7qrgyaxxsa0jnzkqjgqdag486afxxpk2mp9vspuqnzypycz3vfrwswkyzu6yvh74qxc86kx5v03nvl7dutkm3u4r0j6d4mylyvc6uf7x0zuc52cn3fuy4upydf2emguaccafa7y9hmljezrtwrkpymhc7qsv6wpenk6qmwpuaqctegkm5attxv6v6943v3wjh5ky4x4k0tltmwgpu9ldscqdanrpqj2cscyxqz20hwxc2gr9f6ehdmzq79mq67nq2j8xv2hty8786qxqqrplwhqlh5897jsg9a2gqn2gm3t577j0cw45c7h0pgwsk5ew08y9uxwp2rmpa6f23l3vndzgsnxx2pla9mcq5jxya92rl9e2dqtv76p9mwh3h0emjl725ve4uccvs7tq8g62gzukg999h9367a0ygyzssqdr2pu02a9t3q6smgsekegandmflsclnhvgx00veswqwhx4q789qk5mnrg897eela90txue7jr35fcr9pwte07zdmdkc9x4d5anm5psqndx0400tdftsc2se6yccyxhhep490mnz2p89q902lejduhdzpuzsl8aphd2q0enjr0wykpt3crlhejvldl0mn7qz2gtjqwudqaqpkr70ykdg7ttnuqvfjz3u6sxecsn0upj43mfmf6q37s0ld0rf6vdqpfuzrka5zaw05n5cryaky7vfn0dtjy9u0j85mm0kwy3k2ksunt7skg3naj2v6ys4a0hqnqn2j4jhlv04l8cpx57fzrnanq5trf7krxstg084jss57m2t5mnh6v342d8h0zu2n0ym8prenpp5fhvdtzc3pu9lkgaq6jxndu7h6z5nj2wekhdzjgmqjs8sff0th9rwrpr8vemmzzwjpzxr8acc0zy6qtrtm5mxr55994lf3yvvse7fqn5cx4d5e757pr5ef84gqee4zftvz0khd6p5fhycu4dq23anqaf2zqg4r78gsksqrazjv9cu69zy856c2zzxwrhwr0cvpmmw4wwv24k0g2gxgyz7vmgykrky7qr9vdz5846ttzqe8u69x592qge62d829mdctj6n78d69sqqsnmyga5uapeemdafx9eeyvz9dvqnt6wpq05y34j4t98299rawq5l4ntq627j4yfqpehlhptrwz7sp7azv8ccme49f4jsheyrrlrhz92pg05n8jum9vmush4tgjmqfzvlq73zdeqtwq39caymev9fph5q7tnkxzhvamsawf920wpm2j3wjmzj6flmdatsrafv49ecvayqllgw5ewa6q5qmgev0dlqj4q9f9fd5nsk2tdheemfu5q263c6l33hp5qtdqqk2pvv2pgykgfeja9jaras5nn99crgr6ml3txkhupgvdt5wq8m5e6n9nug94s2vk7n94lzvfckx0wwppk4qu0gzsm4qt3k33lcqj5tmnl3q9uqgnalv8khevzj4mc407djg354h83l268ez3srs7msyqcqqqqqqqqqqz8rpjusfgacvxy57fp7gdl0zzq6nx9vngk8gs8agzgwn9unfz3l6qjhlplv2m0cyyerkzqwggj2uqqqsz77227930nz42pqzgy2yswhg8gtm9pmthzgwwvaypldcf8htshdk2hdrc9khg0t3ack7w6mxrccqq0sk8peulmynzmgpgget9nk550my2xghcgvky38yvehvnug0nujqmarmfscxhv7ufe57zmmd0hltgjutvxul6h9w4vrc7xdwzacf4vuk9lnpel8f2zzzehtpcjrfe2j4qgq6dxp86"
452
+ ) ;
453
+ assert_eq ! ( execution. transitions( ) . length( ) , 12 ) ;
454
+ }
455
+
414
456
#[ wasm_bindgen_test]
415
457
fn test_transaction_string_constructor_and_accessor_methods ( ) {
416
458
let transaction = Transaction :: from_string ( TRANSACTION_STRING ) . unwrap ( ) ;
0 commit comments