From 73341ff6ca08094578630bc9fdcb3ffe94c42450 Mon Sep 17 00:00:00 2001 From: yHSJ Date: Mon, 12 Aug 2024 12:25:27 -0400 Subject: [PATCH] chore: include teleporting in datum parsing and creation --- src/main.rs | 4 ++-- src/model/game_state.rs | 21 +++++++++++++++++++++ 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/src/main.rs b/src/main.rs index 3113795..281e348 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,8 +26,8 @@ mod model; mod routes; // this is a temporary way to store the script address -pub const SCRIPT_ADDRESS: &str = "addr_test1wzsnjc7cyustpvx9mcaw02dxgtlgxsvsm42cffq97mu8rasx0yy8u"; -pub const SCRIPT_CBOR: &str = "5914ce01000033232323232323232323232322322323232323232323232232322533301453301549010d48656c6c6f2c20576f726c64210013232323232323232533301c3014301e3754016264a66603a602a603e6ea80044cc00800cdd7181198101baa001153301e49013c65787065637420566572696669636174696f6e4b657943726564656e7469616c287061796d656e745f63726564656e7469616c29203d2061646d696e0016302230233023301f375402a264a66603a6024603e6ea80204c8c8c8c94ccc084c064c08cdd5000899192999811980d98129baa00113253330243370e900218131baa0011323232323253330293021302b3754002264a666054646464646464646464646464646464646464646464646464646464a66608aa66608a66e21200030473754609601e294454ccc114ccc114cdd78058022504a229444ccc114cdd78068032504a229404cc88c8c94cc12924010a6d61705f6368616e676500153304a30183330490034c0103d87a80004c0103d87980001533304900314a22646464a6660986088609c6ea80044c94cc138c070dd40008a99827180e1ba833704010090266e20004cdc10040241bad3052304f37540022a6609a92013c65787065637420536f6d6528646966666572656e636529203d206d6174682e737172742864785f73717561726564202b2064795f7371756172656429001632533304c3371000290000a60103d87a80001533304c33712002900109817998289ba80014bd7009817998289ba8323330010010023370666e000092002480108894ccc13ccdc48010008801099980180180099b833370000266e0c01000520044bd7019b8033018337026eb4c144004dd69828801240086603066e04dd6982898290009bad3051305200248010c134dd5182818269baa002304c3754609e60986ea8008c138c13cc12cdd50029826982718251baa00b30100293330453375e01000294128982518259825982580118248009824801182380098238011822800982298209baa01930433044304430440023042001304200230400013040002303e001303e0013039375405e600200244a66607400229000099b8048008cc008008c0f4004c0040048894ccc0d4cdc4000a4000290000a99981a98168008a40042a6466606c605c66e1800920041333004004300100333706004900209800999802002180080199b83300800248010dc100111b99330020014881003001001222533333303a00213232323232323300c0020013371491010128000025333036337100069007099b80483c80400c54ccc0d8cdc4001a410004266e00cdc0241002800690068a9981ba4929576861742061726520796f7520646f696e673f204e6f2049206d65616e2c20736572696f75736c792e001653330390011337149101035b5d2900004133714911035b5f2000375c6076607866601000266074980102415d003303a375266e2922010129000044bd70111981e26103422c20003303c375266601001000466e28dd7180c0009bae30100014bd701bac3037002375a606a0026466ec0dd4181a8009ba730360013754004264a66606e002266e292201027b7d00002133714911037b5f2000375c6072607464646600200200644a6660740022006266446607a98103422c20003303d3752666012012607400466e292201023a2000333009009303b002337146eb8c064004dd71808800a5eb80c0f0004cc008008c0f4004cc0e13010342207d0033038375200497ae03756004264a66606e002266e29221025b5d00002133714911035b5f2000375c6072607466600c00266070980102415d0033038375200497ae0223303a4c0103422c20003303a375266600c00c00466e28dd7180b0009bae300e0014bd701bac002133006375a0040022646466e2922102682700001323330010013006371a00466e292201012700003222533303633710004900008008991919199803003180580299b8b33700004a66607266e2000920141481805206e3371666e000054ccc0e4cdc4000a4028290300a40dc00866e18009202033706002901019b8e004002375c0046e0120012223233001001004225333036001100413300330380013300200230390012232330010010032253330303028001133714910101300000315333030337100029000099b8a489012d003300200233702900000089980299b8400148050cdc599b803370a002900a240c00066002002444a66605a66e2400920001001133300300333708004900a19b8b3370066e140092014481800044cc03c0400045281bae302f302c37540022a6605492014665787065637420566572696669636174696f6e4b657943726564656e7469616c287061796d656e745f63726564656e7469616c29203d206f6c645f646174756d2e6f776e657200163001302b37540424605c605e00266030002046a66666605a00220022a6604c0442c2a6604c0442c2a6604c0442c2a6604c0442c6054604e6ea800454cc0952412765787065637420496e6c696e65446174756d286461746129203d206f75747075745f646174756d00163029302a302a302637546052604c6ea800454cc09124016a65787065637420536f6d65287363726970745f6f757470757429203d0a202020202020202020206c6973742e66696e64286f7574707574732c20666e286f757470757429207b206f75747075742e61646472657373203d3d207363726970745f61646472657373207d2900163300400923375e6008604c6ea8004008c09cc090dd51813981418121baa3027302437540022a660449214365787065637420536f6d65287363726970745f696e70757429203d207472616e73616374696f6e2e66696e645f696e70757428696e707574732c206f75745f726566290016323300300a23375e6006604a6ea8004008c098c08cdd5005918130009119198008008019129998130008a60103d87a8000132325333024300500213007330290024bd70099802002000981500118140009ba54800054cc0792411f657870656374205370656e64286f75745f72656629203d20707572706f7365001637586044603e6ea802c88c8cc00400400c894ccc08c004528099299981019b8f375c604c00400829444cc00c00c004c098004dd618101810981098109810981098108011bac301f001301f301f0023758603a00260326ea8c070008c06cc070004c05cdd50008a4c2a6602a9211856616c696461746f722072657475726e65642066616c73650013656325333013300b00115333017301637540042930a9980a0088b0a9998099804000899299980c0008a9980a8090b099299980c980e00109924c66010002464a66602e601e60326ea80044c94ccc07000454cc064058584c8c94ccc07800454cc06c060584c8c94ccc08000454cc074068584c8c94ccc08800454cc07c070584c8c94ccc09000454cc084078584c8c94ccc09800454cc08c080584c8c94ccc0a000454cc094088584c8c94ccc0a800454cc09c090584c8c94ccc0b000454cc0a4098584c8c94ccc0b800454cc0ac0a0584c94ccc0bcc0c8008526153302c02916325333333033001153302c02916153302c02916153302c029161375a0022a660580522c6060002606000464a6666660620022a6605404e2c2a6605404e2c2a6605404e2c26eb400454cc0a809c58c0b8004c0b8008c94cccccc0bc00454cc0a00945854cc0a00945854cc0a0094584dd68008a998140128b181600098160011929999998168008a998130118b0a998130118b0a998130118b09bad001153302602316302a001302a00232533333302b0011533024021161533024021161533024021161375a0022a660480422c6050002605000464a6666660520022a6604403e2c2a6604403e2c2a6604403e2c26eb400454cc08807c58c098004c098008c94cccccc09c00454cc0800745854cc0800745854cc080074584dd68008a9981000e8b181200098120011929999998128008a9980f00d8b0a9980f00d8b0a9980f00d8b09bad001153301e01b1630220013022002325333333023001153301c01916153301c01916153301c019161375a0022a660380322c6040002604000464a6666660420022a6603402e2c2a6603402e2c2a6603402e2c26eb400454cc06805c58c078004c068dd50008a9980c00a8b299999980f00088008a9980b80a0b0a9980b80a0b0a9980b80a0b0a9980b80a0b0a9980b0098b19299999980e8008a9980b0098b0a9980b0098b09bac001153301601316153301601316301a001301637540042a660280222c60286ea80054cccccc064004400454cc04803c5854cc04803c5854cc04803c5854cc04803c58cc004020038894ccc040c020c048dd5001099299980a8008a998090010b09919299980b8008a9980a0020b09919299980c8008a9980b0030b09919299980d8008a9980c0040b09919299980e8008a9980d0050b09919299980f8008a9980e0060b0991929998108008a9980f0070b09929998111812801099191919191924ca6660466036604a6ea80184c94ccc0a000454cc094054584c8c94ccc0a800454cc09c05c584c8c94ccc0b000454cc0a4064584c8c94ccc0b800454cc0ac06c584c94ccc0bcc0c8008526153302c01c163253333330330011325333030302f0011533302c3021302e00114a22a6660586048605c002294054cc0b40745854cc0b407458dd50008a9981600e0b0a9981600e0b0a9981600e0b0a9981600e0b181800098180011929999998188008a9981500d0b0a9981500d0b0a9981500d0b09bad001153302a01a16302e001302e00232533333302f0011533028018161533028018161533028018161375a0022a660500302c6058002605800464a66666605a0022a6604c02c2c2a6604c02c2c2a6604c02c2c26eb400454cc09805858c0a8004c098dd50030a9981200a0b1980a803929999998158008a9981200a0b0a9981200a0b0a9981200a0b09bad00115330240141633014008233018533333302a00110011533023013161533023013161533023013161533023013160135333020301830223754012264a66604a0022a660440242c26464a66604e0022a660480282c26464a6660520022a6604c02c2c26464a6660560022a660500302c26464a66605a0022a660540342c264a66605c6062004264646464931981200300f1981180380e9981080400e19299981598118008a99981798171baa00a149854cc0b00705854ccc0acc08000454ccc0bcc0b8dd50050a4c2a660580382c2a66605666e1d20040011533302f302e37540142930a9981600e0b0a9981600e0b18161baa009153302b01b16325333333032001153302b01b16153302b01b16153302b01b161375a0022a660560362c605e002605e00464a66666606000220022a660520322c2a660520322c2a660520322c2a660520322c605a002605a00464a66666605c00220022a6604e02e2c2a6604e02e2c2a6604e02e2c2a6604e02e2c6056002605600464a66666605800220022a6604a02a2c2a6604a02a2c2a6604a02a2c2a6604a02a2c6052002605200464a66666605400220022a660460262c2a660460262c2a660460262c2a660460262c604e00260466ea802454cc08404458cc04c028040cc04802c03c54cc07c03c58c94cccccc098004400454cc07c03c5854cc07c03c5854cc07c03c5854cc07c03c58c08c004c08c008c94cccccc09000454cc0740345854cc074034584dd60008a9980e8068b0a9980e8068b181080098108011929999998110008a9980d8058b0a9980d8058b09bac001153301b00b16153301b00b16301f001301f0023253333330200011001153301900916153301900916153301900916153301900916301d001301d00232533333301e0011001153301700716153301700716153301700716153301700716301b001301b00232533333301c00110011533015005161533015005161533015005161533015005163019001301900232533333301a00113253330173016001153330133008301500114a22a6660266016602a002294054cc0500105854cc05001058dd50008a998098018b0a998098018b0a998098018b0a998098018b180b80098099baa00215330110011622323300100100322533301500114984c8cc00c00cc064008c00cc05c00488c94ccc03cc01c0044c94ccc05000454cc04400c584c94ccc054c0600085261533012004163253333330190011533012004161533012004161533012004161533012004161375c002602c00260246ea800c54ccc03cc0100044c94ccc05000454cc04400c584c94ccc054c0600085261533012004163253333330190011533012004161533012004161533012004161533012004161375c002602c00260246ea800c54cc04000858c040dd50011b8748008894ccc030c010c038dd500109929998088008a998070010b0991929998098008a998080020b099299980a180b80109924ca666020601060246ea800c4c94ccc05400454cc048018584c8c94ccc05c00454cc050020584c8c94ccc06400454cc058028584c94ccc068c074008526153301700b1632533333301e001153301700b16153301700b16153301700b161375a0022a6602e0162c6036002603600464a6666660380022a6602a0122c2a6602a0122c2a6602a0122c26eb400454cc05402458c064004c064008c94cccccc06800454cc04c01c5854cc04c01c5854cc04c01c584dd68008a998098038b180b80098099baa0031533011005161533011005163253333330180011533011005161533011005161533011005161375a0022a6602200a2c602a002602a00464a66666602c00220022a6601e0062c2a6601e0062c2a6601e0062c2a6601e0062c6026002601e6ea800854cc03400458894ccc02cc00cc034dd500109929998080008a998068010b0991929998090008a998078020b09919299980a0008a998088030b099299980a980c0010a4c2a6602400e2c64a6666660320022a6602400e2c2a6602400e2c2a6602400e2c26eb400454cc04801c58c058004c058008c94cccccc05c00454cc0400145854cc0400145854cc040014584dd68008a998080028b180a000980a00119299999980a8008a998070018b0a998070018b0a998070018b09bad001153300e003163012001300e37540042a660180022c6e1d2000533333300f0011001153300800616153300800616153300800616153300800616375a00292121657870656374206e65775f646174756d3a2047616d6544617461203d20646174610049011272656465656d65723a2052656465656d6572004901136f6c645f646174756d3a2047616d6544617461005734ae7155ceaab9e5573eae815d0aba25748981051a00da33600001"; +pub const SCRIPT_ADDRESS: &str = "addr_test1wzlfx944w3z2gzva8afmvuhuc27pfpae3ey55ttckcgrekq3ynvmt"; +pub const SCRIPT_CBOR: &str = "59151d01000033232323232323232323232322322323232323232323232232322533301453301549010d48656c6c6f2c20576f726c64210013232323232323232533301c3014301e3754016264a66603a602a603e6ea80044cc00800cdd7181198101baa001153301e49013c65787065637420566572696669636174696f6e4b657943726564656e7469616c287061796d656e745f63726564656e7469616c29203d2061646d696e0016302230233023301f375402a264a66603a6024603e6ea80204c8c8c8c94ccc084c064c08cdd5000899192999811980d98129baa00113253330243370e900218131baa0011323232323253330293021302b3754002264a6660546464646464646464646464646464646464646464646464646464646464a66608ea66608e66e21200030493754609a022294454ccc11cccc11ccdd78068032504a229444ccc11ccdd78078042504a229404c8c8c94ccc1294ccc128010528899982519baf00d0054a094452889919192999826982298279baa00113253304f301d37500022a6609e603a6ea0cdc1003824899b880013370400e0926eb4c14cc140dd50008a9982724813c65787065637420536f6d6528646966666572656e636529203d206d6174682e737172742864785f73717561726564202b2064795f7371756172656429001632533304d3371000290000a60103d87a80001533304d33712002900109818198291ba80014bd7009818198291ba8323330010010023370666e000092002480108894ccc140cdc48010008801099980180180099b833370000266e0c01000520044bd7019b8033019337026eb4c148004dd69829001240086603266e04dd6982918298009bad3052305300248010c138dd5182898271baa002304d375460a0609a6ea8008c13cc140c130dd50031827182798259baa00c301202b33710900018241baa304c304d002304b001304b304b304b0023049001304900230470013047002304500130453041375403260866088608860880046084002608400460800026080004607c002607c00260726ea80bcc004004894ccc0e800452000133700900119801001181e8009800800911299981a99b88001480005200015333035302d00114800854c8ccc0d8c0b8cdc3001240082666008008600200666e0c009200413001333004004300100333706601000490021b820022373266004002911003001001222533333303a00213232323232323300c0020013371491010128000025333036337100069007099b80483c80400c54ccc0d8cdc4001a410004266e00cdc0241002800690068a9981ba4929576861742061726520796f7520646f696e673f204e6f2049206d65616e2c20736572696f75736c792e001653330390011337149101035b5d2900004133714911035b5f2000375c6076607866601000266074980102415d003303a375266e2922010129000044bd70111981e26103422c20003303c375266601001000466e28dd7180c0009bae30100014bd701bac3037002375a606a0026466ec0dd4181a8009ba730360013754004264a66606e002266e292201027b7d00002133714911037b5f2000375c6072607464646600200200644a6660740022006266446607a98103422c20003303d3752666012012607400466e292201023a2000333009009303b002337146eb8c064004dd71808800a5eb80c0f0004cc008008c0f4004cc0e13010342207d0033038375200497ae03756004264a66606e002266e29221025b5d00002133714911035b5f2000375c6072607466600c00266070980102415d0033038375200497ae0223303a4c0103422c20003303a375266600c00c00466e28dd7180b0009bae300e0014bd701bac002133006375a0040022646466e2922102682700001323330010013006371a00466e292201012700003222533303633710004900008008991919199803003180580299b8b33700004a66607266e2000920141481805206e3371666e000054ccc0e4cdc4000a4028290300a40dc00866e18009202033706002901019b8e004002375c0046e0120012223233001001004225333036001100413300330380013300200230390012232330010010032253330303028001133714910101300000315333030337100029000099b8a489012d003300200233702900000089980299b8400148050cdc599b803370a002900a240c00066002002444a66605a66e2400920001001133300300333708004900a19b8b3370066e140092014481800044cc03c0400045281bae302f302c37540022a6605492014665787065637420566572696669636174696f6e4b657943726564656e7469616c287061796d656e745f63726564656e7469616c29203d206f6c645f646174756d2e6f776e657200163001302b37540424605c605e00266030002046a66666605a00220022a6604c0442c2a6604c0442c2a6604c0442c2a6604c0442c6054604e6ea800454cc0952412765787065637420496e6c696e65446174756d286461746129203d206f75747075745f646174756d00163029302a302a302637546052604c6ea800454cc09124016a65787065637420536f6d65287363726970745f6f757470757429203d0a202020202020202020206c6973742e66696e64286f7574707574732c20666e286f757470757429207b206f75747075742e61646472657373203d3d207363726970745f61646472657373207d2900163300400923375e6008604c6ea8004008c09cc090dd51813981418121baa3027302437540022a660449214365787065637420536f6d65287363726970745f696e70757429203d207472616e73616374696f6e2e66696e645f696e70757428696e707574732c206f75745f726566290016323300300a23375e6006604a6ea8004008c098c08cdd5005918130009119198008008019129998130008a60103d87a8000132325333024300500213007330290024bd70099802002000981500118140009ba54800054cc0792411f657870656374205370656e64286f75745f72656629203d20707572706f7365001637586044603e6ea802c88c8cc00400400c894ccc08c004528099299981019b8f375c604c00400829444cc00c00c004c098004dd618101810981098109810981098108011bac301f001301f301f0023758603a00260326ea8c070008c06cc070004c05cdd50008a4c2a6602a9211856616c696461746f722072657475726e65642066616c73650013656325333013300b00115333017301637540042930a9980a0088b0a9998099804000899299980c0008a9980a8090b099299980c980e00109924c66010002464a66602e601e60326ea80044c94ccc07000454cc064058584c8c94ccc07800454cc06c060584c8c94ccc08000454cc074068584c8c94ccc08800454cc07c070584c8c94ccc09000454cc084078584c8c94ccc09800454cc08c080584c8c94ccc0a000454cc094088584c8c94ccc0a800454cc09c090584c8c94ccc0b000454cc0a4098584c8c94ccc0b800454cc0ac0a0584c94ccc0bcc0c8008526153302c02916325333333033001153302c02916153302c02916153302c029161375a0022a660580522c6060002606000464a6666660620022a6605404e2c2a6605404e2c2a6605404e2c26eb400454cc0a809c58c0b8004c0b8008c94cccccc0bc00454cc0a00945854cc0a00945854cc0a0094584dd68008a998140128b181600098160011929999998168008a998130118b0a998130118b0a998130118b09bad001153302602316302a001302a00232533333302b0011533024021161533024021161533024021161375a0022a660480422c6050002605000464a6666660520022a6604403e2c2a6604403e2c2a6604403e2c26eb400454cc08807c58c098004c098008c94cccccc09c00454cc0800745854cc0800745854cc080074584dd68008a9981000e8b181200098120011929999998128008a9980f00d8b0a9980f00d8b0a9980f00d8b09bad001153301e01b1630220013022002325333333023001153301c01916153301c01916153301c019161375a0022a660380322c6040002604000464a6666660420022a6603402e2c2a6603402e2c2a6603402e2c26eb400454cc06805c58c078004c068dd50008a9980c00a8b299999980f00088008a9980b80a0b0a9980b80a0b0a9980b80a0b0a9980b80a0b0a9980b0098b19299999980e8008a9980b0098b0a9980b0098b09bac001153301601316153301601316301a001301637540042a660280222c60286ea80054cccccc064004400454cc04803c5854cc04803c5854cc04803c5854cc04803c58cc004020038894ccc040c020c048dd5001099299980a8008a998090010b09919299980b8008a9980a0020b09919299980c8008a9980b0030b09919299980d8008a9980c0040b09919299980e8008a9980d0050b09919299980f8008a9980e0060b0991929998108008a9980f0070b0991929998118008a998100080b09929998121813801099191919191924ca66604a603a604e6ea80204c94ccc0a800454cc09c05c584c8c94ccc0b000454cc0a4064584c8c94ccc0b800454cc0ac06c584c8c94ccc0c000454cc0b4074584c94ccc0c4c0d0008526153302e01e16325333333035001132533303230310011533302e3023303000114a22a66605c604c6060002294054cc0bc07c5854cc0bc07c58dd50008a9981700f0b0a9981700f0b0a9981700f0b0a9981700f0b181900098190011929999998198008a9981600e0b0a9981600e0b0a9981600e0b09bad001153302c01c1630300013030002325333333031001153302a01a16153302a01a16153302a01a161375a0022a660540342c605c002605c00464a66666605e0022a660500302c2a660500302c2a660500302c26eb400454cc0a006058c0b0004c0a0dd50040a9981300b0b1980b804929999998168008a9981300b0b0a9981300b0b0a9981300b0b09bad0011533026016163301600a23301a533333302c00110011533025015161533025015161533025015161533025015160155333022301a30243754016264a66604e0022a660480282c26464a6660520022a6604c02c2c26464a6660560022a660500302c26464a66605a0022a660540342c26464a66605e0022a660580382c264a666060606600426464646493198130030101981280380f9981180400f19299981698128008a99981898181baa00a149854cc0b80785854ccc0b4c08800454ccc0c4c0c0dd50050a4c2a6605c03c2c2a66605a66e1d200400115333031303037540142930a9981700f0b0a9981700f0b18171baa009153302d01d16325333333034001153302d01d16153302d01d16153302d01d161375a0022a6605a03a2c6062002606200464a66666606400220022a660560362c2a660560362c2a660560362c2a660560362c605e002605e00464a66666606000220022a660520322c2a660520322c2a660520322c2a660520322c605a002605a00464a66666605c00220022a6604e02e2c2a6604e02e2c2a6604e02e2c2a6604e02e2c6056002605600464a66666605800220022a6604a02a2c2a6604a02a2c2a6604a02a2c2a6604a02a2c6052002604a6ea802c54cc08c04c58cc054030048cc05003404454cc08404458c94cccccc0a00044c94ccc094c09000454ccc084c058c08c0045288a999810980c98118008a5015330220121615330220121637540022a660420222c2a660420222c2a660420222c2a660420222c604a002604a00464a66666604c00220022a6603e01e2c2a6603e01e2c2a6603e01e2c2a6603e01e2c6046002604600464a6666660480022a6603a01a2c2a6603a01a2c26eb000454cc0740345854cc07403458c084004c084008c94cccccc08800454cc06c02c5854cc06c02c584dd60008a9980d8058b0a9980d8058b180f800980f80119299999981000088008a9980c8048b0a9980c8048b0a9980c8048b0a9980c8048b180e800980e80119299999980f00088008a9980b8038b0a9980b8038b0a9980b8038b0a9980b8038b180d800980d80119299999980e00088008a9980a8028b0a9980a8028b0a9980a8028b0a9980a8028b180c800980c80119299999980d000899299980b980b0008a9998099804180a8008a5115333013300b301500114a02a660280082c2a660280082c6ea800454cc04c00c5854cc04c00c5854cc04c00c5854cc04c00c58c05c004c04cdd50010a998088008b11191980080080191299980a8008a4c2646600600660320046006602e0024464a66601e600e002264a6660280022a660220062c264a66602a60300042930a998090020b19299999980c8008a998090020b0a998090020b0a998090020b0a998090020b09bae0013016001301237540062a66601e6008002264a6660280022a660220062c264a66602a60300042930a998090020b19299999980c8008a998090020b0a998090020b0a998090020b0a998090020b09bae0013016001301237540062a660200042c60206ea8008dc3a400444a6660186008601c6ea80084c94ccc04400454cc038008584c8c94ccc04c00454cc040010584c94ccc050c05c0084c9265333010300830123754006264a66602a0022a6602400c2c26464a66602e0022a660280102c26464a6660320022a6602c0142c264a666034603a0042930a9980b8058b19299999980f0008a9980b8058b0a9980b8058b0a9980b8058b09bad001153301700b16301b001301b00232533333301c0011533015009161533015009161533015009161375a0022a6602a0122c6032002603200464a6666660340022a6602600e2c2a6602600e2c2a6602600e2c26eb400454cc04c01c58c05c004c04cdd50018a998088028b0a998088028b19299999980c0008a998088028b0a998088028b0a998088028b09bad001153301100516301500130150023253333330160011001153300f00316153300f00316153300f00316153300f003163013001300f37540042a6601a0022c44a6660166006601a6ea80084c94ccc04000454cc034008584c8c94ccc04800454cc03c010584c8c94ccc05000454cc044018584c94ccc054c0600085261533012007163253333330190011533012007161533012007161533012007161375a0022a6602400e2c602c002602c00464a66666602e0022a6602000a2c2a6602000a2c2a6602000a2c26eb400454cc04001458c050004c050008c94cccccc05400454cc03800c5854cc03800c5854cc03800c584dd68008a998070018b180900098071baa002153300c00116370e9000299999980780088008a998040030b0a998040030b0a998040030b0a998040030b1bad001490121657870656374206e65775f646174756d3a2047616d6544617461203d20646174610049011272656465656d65723a2052656465656d6572004901136f6c645f646174756d3a2047616d6544617461005734ae7155ceaab9e5573eae815d0aba25748981051a00da33600001"; struct MyState { state: HydraNodesState, } diff --git a/src/model/game_state.rs b/src/model/game_state.rs index 6cb3971..1cae67e 100644 --- a/src/model/game_state.rs +++ b/src/model/game_state.rs @@ -14,6 +14,7 @@ pub struct GameState { pub monsters: Vec, pub leveltime: Vec, pub level: LevelId, + pub teleporting: bool, } #[derive(Debug, Clone)] @@ -90,6 +91,12 @@ impl Into for GameState { fields: vec![PlutusData::BoundedBytes(admin_bytes)], }); + let teleporting = PlutusData::Constr(Constr { + tag: if self.teleporting { 122 } else { 121 }, + any_constructor: None, + fields: vec![], + }); + PlutusData::Constr(Constr { tag: 121, any_constructor: None, @@ -109,6 +116,7 @@ impl Into for GameState { .collect(), ), self.level.into(), + teleporting, ], }) } @@ -192,6 +200,17 @@ impl TryFrom for GameState { _ => bail!("Invalid level"), }; + let teleporting = match constr.fields[7].clone() { + PlutusData::Constr(constr) => { + if constr.tag == 122 { + true + } else { + false + } + } + _ => bail!("Invalid is_over"), + }; + Ok(GameState { is_over, owner, @@ -200,6 +219,7 @@ impl TryFrom for GameState { monsters, leveltime, level, + teleporting, }) } _ => Err(anyhow!("Invalid PlutusData variant")), @@ -217,6 +237,7 @@ impl GameState { monsters: Vec::new(), leveltime: Vec::new(), level: LevelId::default(), + teleporting: false, } } }